您当前的位置:五五电子网电子知识单元电路接口电路USB/EPP转接系统的硬件设计与实现 正文
USB/EPP转接系统的硬件设计与实现

USB/EPP转接系统的硬件设计与实现

点击数:7961 次   录入时间:03-04 11:35:59   整理:http://www.55dianzi.com   接口电路

摘要:设计并实现了一个USB/EPP转接系统,给出其硬件设计方案并讨论了相关技术细节,使其实现USB接口到EPP接口的相互数据转发。使仅具有EPP接口的传统仪器设备借助于USB/EPP转接系统拥有USB总线所提供的即插即用和设备插架特性,方便其通过USB接口灵活接入同时拥有多个外设的计算机主机系统。
关键词:USB;EPP;转接系统

1. 引言
    在传统的I/O模式中,计算机外设通常映射为CPU中固定I/O地址,要求由主机分配一个指定的IRQ中断请求。由于PC机的端口和中断资源有限,因而使外设的可扩展性受到局限;同时,随着电脑应用的拓展,PC机的外设接口越来越多,外设对系统资源的独占性也容易导致系统资源冲突。由于各种外部设备不断增加,容易导致各种I/O冲突。
    由Intel、Compaq、MICroSOFt、IBM等厂商所提出的USB总线标准,基于即插即用和设备插架技术,设备接入时不影响应用程序的运行,具有良好的可扩充性和扩展的方便性。目前USB协议已经发展到了最新的2.0版本,可支持峰值传输速率为480Mbps的高速外设,可提供4~8个USB 2.0接口,同时通过USB集线器(HUB)的扩展还可以支持多达127个外设同时连接,基本上解决了各种外设同时存在同时使用的所有问题。基于USB接口的上述优点,目前的计算机,特别是笔记本计算机基本上都只配备USB接口,而取消了传统的串口和并口,这对那些以前购置的需要与计算机进行通信而只有串口或并口的各种仪器的继续使用造成了极大的障碍。
    针对传统的数字化仪器与计算机通信中存在的接口不足的问题,本文设计了一个USB/EPP转接系统,使其能够从计算机的USB接口接收数据,经过格式转换,从USB/EPP转接系统的并行接口EPP发送给传统的仪器设备;同时也能够从USB/EPP转接系统的并行接口EPP接收数据,将其转化为USB帧格式,并发送到计算机的USB接口。从而使仅具有EPP接口的传统仪器设备借助于USB/EPP转接系统,可以继续正常使用。

2.USB总线
2.1 USB系统描述及总线协议
    USB是一种电缆总线,支持在主机和各种即插即用外设之间进行数据传输。由主机预定的标准协议使各种设备分享USB带宽,当其它设备和主机在运行时,总线允许添加、设置、使用以及拆除外设,这为多个仪器设备共享同一个主计算机提供了可能。USB协议采用了管道模型的软硬件协议,摒弃了一般外设协议的端口映射方式,从而有效地避免了计算机应用系统I/O端口地址冲突。
    根据功能划分,一个USB系统由三个部分组成:即USB互连、USB主机和USB设备。图1给出了USB系统的通用拓扑结构。
 
图1  USB系统通用拓扑结构

2.2  USB互连
    USB互连描述USB设备和主机进行连接和通信的方式,主要包括以下几个方面:总线的拓扑结构,即USB设备和主机之间的连接模型,通过集线器(Hub)扩展,主机可外接多达127个外设;内部层析的联系,即在USB系统中各个层次完成的功能;数据流模型,即数据通过USB在提供者和使用者之间的移动方式;USB调度,即USB提供共享互连的方式。USB的电缆有4根线,VCC,Ground,D+, D- ,分别接5伏电源、地和一对差分数据线。功率不大的外设可以直接通过总线供电。USB总线最大可以提供5V 500mA电流,并支持节约能源的挂机和唤醒模式。
2.3  USB主机
    USB主机是USB通信模式的核心,是整个USB系统的管理者,负责控制和调度连接到主机USB端口的全部设备的活动。在任何USB系统中只有一个USB主机。USB主机包括:客户软件、USB系统软件和USB主机控制器3个层次。客户软件负责提供用户界面;USB系统软件包括驱动程序和USB主控制器驱动程序,分别用来驱动面向客户的主机界面和主机控制器;主机控制器是USB总线在主计算机系统上的接口,通过硬件、固件和软件来共同实现用于支持主机与设备之间的交互。
    在USB规范中定义了四种数据传输方式:控制传输方式、批量传输方式、中断传输方式和同步传输方式。
控制传输属于双向传输,数据量通常较小,它把非周期性的由主机软件发起的请求可靠地传送给USB设备,主要用来进行查询、配置和给设备发送通用的USB命令。控制传输恒定占用总线10%的带宽,每个控制数据包最大为64字节,带有CRC校验的功能。
    批量传输可以是单向或者双向的,特别适合非周期性大数据包的可靠传输,典型的应用是用来传输可以利用任何带宽的数据,而且当这些数据没有可用带宽时可以容忍等待。它对准确性要求较高,最大数据包为64字节,通常应用于绘图仪、打印机和可移动存储器中。
    中断传输方式主要用于定时查询设备是否有中断数据要传送,只传送或接收少量数据,而且并不经常传输;但它们通常有一个确定的服务周期,查询间隔在设备描述符中预先定义,对于低速设备,查询间隔为10ms~255ms。中断传输要求通道的最大服务周期能够得到保证,同时由错误引起的重发在下一服务周期进行。中断传输特别适合小规模数据、低速、低延迟的应用场合,常用于鼠标、键盘这类低速设备。
同步传输用于主机和设备之间周期性的、连续的通信,一般用于传送与时间相关的信息。同步传输的最大数据包可以为1024字节,它对实时性的要求超过对准确性的要求,适合数据采集和音频、视频传输的应用场合,如USB摄像头、VoIP电话终端等。
2.4  USB设备
    USB设备的逻辑结构包括:USB总线接口, USB逻辑设备和应用层3个层次。USB总线接口是USB总线在USB设备方面的接口,用来支持与主机的通信;端点是USB设备与USB总线的逻辑连接点,一系列相互独立的端点在一起构成了USB逻辑设备;功能相关的端点的组合称为接口,一系列接口的组合构成USB的一个配置。一个USB设备可以有多个配置,但一次只能有一个配置。管道实现了在主机的一个内存缓冲区与设备的端点之间的数据传输,主机与外设的数据在逻辑上就是通过管道来传输的。

3. 硬件设计
3.1 需求分析

    根据对实际应用环境的分析,USB/EPP转接系统需要完成以下功能:
    (1) 接收来自主机的USB 数据,将其转换为符合具体外设要求的EPP数据格式传输给外设;
    (2) 接收来自外设的EPP数据格式的数据,按照USB 协议要求打包后传递给主机。
3.2  USB/EPP转接系统硬件设计与实现
    在本文所论述的设计中,考虑到系统设计的方便性和未来升级的需要,选择了Cypress公司的AN2131SC芯片作为主要的核心器件,该控制器采用了增强型8051内核,其指令集与标准8051单片机完全兼容,但性能是标准8051的3~5倍。系统的硬件原理图如图2所示:
 
图2  USB/EPP转接系统硬件原理图

    由图2可见,该系统由USB控制处理器AN2131SC、电源供给及转换模块、USB控制处理器固件加载电路、USB设备外部唤醒电路、I/O口信号电平转换电路、以及USB总线及EPP总线接口等部分组成。
    (1)电源供给及转换模块
    在设计中采用通过USB接口直接供电的方式。PC机的一个USB接口可以为外设提供5V电压,最大500mA电流的电源。此外,还采用了一片线性稳压芯片MAX882完成5V到3.3V电压的转换,用于提供USB控制处理器芯片AN2131SC及串行存储器EEPROM 24LC01等芯片所需的3.3V工作电源。
    (2)USB控制处理器AN2131SC
    AN2131SC是内嵌有一个USB收发器,一个智能USB串行接口引擎(SIE),一个加强的8051内核,存放程序、数据的RAM存储器以及高性能I/O端口和I2C接口 (如图3 所示) 。
 
图3  AN2131SC片内功能结构
    图3中,USB收发器与USB总线的引脚D+和D-相连,串行接口引擎用来直接实现对串行数据编解码、错误校验、比特填充等USB总线所需的信号等级的细节,最终实现与USB总线接口的数据传输而无须外界干预。由于使用片内RAM作为程序代码和数据存储器,因此用户可以自行装载固件代码和数据来实现具体USB应用系统的设计功能。片内的SIE/USB接口负责处理USB总线的底层协议,简化了8051的代码编写工作。
    (3)USB控制处理器固件加载电路
    为了实现AN2131SC的枚举和重枚举,需用到AN2131SC中的I2C控制器。其过程是:在USB/EPP转接系统上电、主机枚举之前,AN2131SC自动通过I2C接口的串行EEPROM读取首字节,确定EZ-USB加载模式。在本系统中,设定EEPROM的首字节0xB0,确定EZ-USB加载模式为由EZ-USB提供描述符,EEPROM提供枚举所需的PID、VID、DID等数据,设置RENUM=0,然后主机操作系统加载与该PID/VID/DID匹配的驱动程序的具体方式。初始化枚举后,驱动程序下载固件程序代码和USB总线设备描述符数据到AN2131SC片内的RAM中,启动AN2131SC片内8051内核进行重枚举,由固件程序代码实现USB/EPP转接的功能。设计中选用串行EEPROM芯片24LC01B作为AN2131SC的I2C接口存储器,其容量为1kB。
    USB控制处理器AN2131SC由USBCS(USB控制和状态)寄存器中的DISCON、DISCOE和RENUM三个位控制固件加载的重枚举过程。为了模仿USB设备的断开,8051将00001010b写入USBCS寄存器,使得#DISCON引脚悬空,并提供一个内部DISCON信号给EZ-USB内核,触发断开事务处理过程。为了和USB总线连接,8051对USBCS写入00000110b,从而产生一个逻辑高电平到#DISCON引脚,并启动输出缓冲;同时设置RENUM位为1,表明正在控制USB传输。

[1] [2]  下一页


本文关键字:硬件  接口电路单元电路 - 接口电路