2. 1 USB系统的组成
PC上USB同其他PC组件一样,包括两大部分,即硬件与软件。硬件主要完成物理上的接口和实体功能,主要指USB主控制器与根HUB;软件负责管理硬件,完成数据流的传输,包括USB系统软件与用户软件[5]。
USB主控制器和根HUB是PC上的硬件,一般要USB主控制芯片、USBHUB控制芯片、USB端口连接及控制外围电路等组成。USB主控制芯片提供USB的收发物理层,实现USB电缆上差模信号与数字信号的转换,提供端点的物理存储机制,并且能根据USB的传输机制自动管理各个端点的存储与数据交换。
根HUB是USB的第一级HUB,提供USB的物理接口。一般USB主控制芯片都集成有根HUB,提供D+与D-两根引脚作为端口连接点,可以构成一个下行连接点,连接一个USB设备或HUB。HUB要完成的功能包括:通过检测USB信号线上的电平变化来管理并检测设备的连接与断开,并通知给主机;提供并管理设备的电源;传输主机与设备之间的数据;检测总线的错误并进行某些恢复。
USB系统软件主要由USB核心驱动程序和USB主控制器驱动程序组成。USB核心驱动程序是整个软件的核心部分,也起到了一个中间桥梁的作用,它解释USB设备类驱动程序发来的命令并将其划分为一系列的USB事务,然后发送给USB主控制器驱动程序,后者负责最底层的驱动任务,负责将串行数据发送到电缆上[6]。
2. 2 USB电气特性
USB的电气特性包含了很多内容,有差模信号的传输标准语编码、信号抖动的规定、电源管理等[7]。文献综述
USB的供电模式有两种,自供电和总线供电,区别在于自供电设备在工作时的功率不受USB协议的限制,但是增加了设备体积和成本。总线供电模式下,总线可以提供最大500mA的电流,但是只能为一个下行端口提供100mA的电流,可以看出,一般最多只能有5个下行端口,设计时最好不要超过4个;自供电模式下,设备同样能够得到总线的这些电流配置,同时又能得到其独立电源的供电,不受协议功率的限制。
USB的供电状态也有两种,正常状态与挂起状态。如果总线处于空闲状态,即总线供电设备在3ms内没有总线操作,设备就需要自动进入挂起状态。这时总线供电设备的电流功耗不超过280μA,是实现USB的低功耗的一个重要方面。在设备进入挂起状态后,可以通过唤醒操作来恢复到正常的工作状态。
主机系统能够自动检测到设备的接入并能自动配置该设备,也能够自动检测到设备的拔出,即USB的即插即用技术。USB主要通过信号线上的一些处理来实现这一技术,具体就是在D+于D-传输线上设置下拉电阻与上拉电源(包括上拉分压电阻),实现一根传输线在接通前后电平有0到接通电压的转换,形成一个电压脉冲,提供给系统检测[8]。
主机对设备的控制都依赖于这些电位变化,这些电位变化对系统是否能够实现预计的功能是很重要的。在设计USB系统时,要注意各个芯片之间的电位变化是否匹配,要对无法响应的电位变化及时作出调整,使系统能够正常运行。
2. 3 USB数据通信结构
底层数据通信结构是USB协议中最复杂的内容,包括了最基本的数据传输单元、数据传输类型、数据传输机制及数据交换流程等。“包”是USB最基本的数据单元,每一个包,基本上包含了一个完整的USB信息;以包为基础,USB定义了4种数据的传输类型:控制传输,中断传输,批量传输以及同步传输。USB数据是以串行二进制数传输的,USB总线上首先发送二进制数的最低有效位(LSB),最后发送的是最高有效位(MSB)。源.自/751·论\文'网·www.751com.cn/