摘 要:通用串行总线(USB)是一种简略的核算机外围接口规范。它具有即插即用、扩展便利等长处,已成为核算机必备的一个接口。本文扼要介绍USB总线的功用、拓朴结构及其数据传输进程,并举例说明USB接口的实践运用。
关键词:通用串行总线 USB接口 外围接口规范
一、USB接口布景
在前期的核算机体系上常用串口或并口衔接外围设备。每个接口都需求占用核算机的体系资源(如中止,I/O地址,DMA通道等)。无论是串口仍是并口都是点对点的衔接,一个接口仅支撑一个设备。因而每添加一个新的设备,就需求添加一个ISA/EISA 或PCI卡来支撑,一起体系需求重新启动才干驱动新的设备。
USB总线是INTEL、DEC、MICROSOFT、IBM等公司联合提出的一种新的串行总线规范,首要用于PC机与外围设备的互联。USB总线具有低本钱、运用简略、支撑即插即用、易于扩展等特色,已被广泛地用在PC机及嵌入式体系上。
二、USB总线优缺点
1.优 点
(1)运用简略
所用USB体系的接口共同,连线简略。体系可对设备进行自动检测和装备,支撑热插拔。新添加设备体系不需求重新启动。
(2)运用规模广
USB体系数据报文附加信息少,带宽利用率高,可一起支撑同步传输和异步传输两种传输方法。一个USB体系最多可支撑127个物理设备。USB设备的带宽可从几Kbps 到几Mbps (在USB2.0版别,最高可达几百Mbps)。一个USB体系可一起支撑不同速率的设备,如低速的键盘、鼠标,全速的ISDN、语音,高速的磁盘、图画等(仅USB2.0版别支撑高速设备)。
(3)较强的纠错才能
USB体系可实时地办理设备插拔。在USB协议中包括了传输过错办理、过错康复等功用,一起依据不同的传输类型来处理传输过错。
(4)总线供电
USB总线可为衔接在其上的设备供给5V电压/100mA电流的供电,最大可供给500mA的电流。USB设备也可采用自供电方法。
(5)低本钱
USB接口电路简略,易于完成,特别是低速设备。USB体系接口/电缆也比较简略,本钱比串口/并口低。
2.缺 点
USB技能还不是很老练,特别是高速设备。市场上现有的USB设备价格都比较贵重,但随着USB技能的日益老练,设备的不断添加和广泛运用,其价格将会有所下降。
三、USB体系拓扑结构
一个USB体系包括三类硬件设备: USB主机(USB HOST)、 USB设备(USB DEVICE)、USB集线器(USB HUB),如图1所示。
(1)USB HOST
在一个USB体系中,当且仅当有一个USB HOST时,USB HOST有以下功用:
◇ 办理USB体系;
◇ 每毫秒发生一帧数据;
◇ 发送装备恳求对USB设备进行装备操作;
◇ 对总线上的过错进行办理和康复。
(2)USB DEVICE
在一个USB体系中,USB DEVICE和USB HUB总数不能超越127个。USB DEVICE接纳USB总线上的一切数据包,经过数据包的地址域来判别是不是发给自己的数据包:若地址不符,则简略地丢掉该数据包;若地址相符,则经过呼应USB HOST的数据包与USB HOST进行数据传输。
(3)USB HUB
USB HUB用于设备扩展衔接,一切USB DEVICE都衔接在USB HUB的端口上。一个USB HOST总与一个根HUB (USB ROOT HUB)相连。USB HUB为其每个端口供给100mA电流供设备运用。一起,USB HUB能够经过端口的电气改变确诊出设备的插拔操作,并经过呼应USB HOST的数据包把端口状况报告给USB HOST。一般来说,USB设备与USB HUB间的连线长度不超越5m,USB体系的级联不能超越5级(包括ROOT HUB)。
四、USB总线数据传输
USB总线上数据传输的结构如图2所示。
从物理结构上,USB体系是一个星形结构;但在逻辑结构上,每个USB逻辑设备都是直接与USB HOST相连进行数据传输的。在USB总线上,每ms传输1帧数据。每帧数据可由多个数据包的传输进程组成。USB设备可依据数据包中的地址信息来判别是否呼应该数据传输。在USB规范1.1版别中,规则了4种传输方法以习惯不同的传输需求:
(1)操控传输(control transfer)
操控传输发送设备恳求信息,首要用于读取设备装备信息及设备状况、设置设备地址,设置设备特色、发送操控指令等功用。全速设备每次操控传输的最大有用负荷可为64个字节,而低速设备每次操控传输的最大有用负荷仅为8个字节。
(2)同步传输(isochronous transfer)
同步传输仅适用于全速/高速设备。同步传输每ms进行一次传输,有较大的带宽,常用于语音设备。同步传输每次传输的最大有用负荷可为1023个字节。
(3)中止传输(interrupt transfer)
中止传输用于支撑数据量少的周期性传输需求。全速设备的中止传输周期可为1~255ms,而低速设备的中止传输周期为10~255ms。全速设备每次中止传输的最大有用负荷可为64个字节,而低速设备每次中止传输的最大有用负荷仅为8个字节。
(4)块数据传输(bulk transfer)
块数据传输对错周期性的数据传输,仅全速/高速设备支撑块数据传输,一起,当且仅当总线带宽有用时才进行块数据传输。块数据传输每次数据传输的最大有用负荷可为64个字节。
五、典型运用
USB体系的典型运用如图3所示。
在图3所示体系中,显现器、Audio、Modem皆为全速设备,键盘、鼠标为低速设备。其数据传输为:
◇ USB HOST经过操控传输更改显现器特色。
◇ USB HOST经过块数据传输即将显现的数据送给显现器。
◇ USB HOST经过操控传输更改键盘、鼠标特色。
◇ USB HOST经过中止传输要求键盘、鼠标输入读入体系。
◇ USB HOST经过操控传输更改Audio特色。
◇ USB HOST经过同步传输与Audio设备传输数据。
◇ USB HOST经过操控传输更改Modem特色。
◇ USB HOST经过块数据传输与Modem设备传输数据。
六、一个USB HOST接口的软硬件规划
市场上现已有许多公司供给的USB接口器材,如PHILIPS的PDIUSBD11/PDIUSBD12,OKI的MSM60581,NATIONAL的USBN9602,LUCENT的USS-820/USS-620,SCANLOGIC的SL11,等等。
一起也有许多带USB接口的处理器,如CYPRESS的EZ-USB,AMD的AM186CC,ATMEL的AT43320,MOTOROLA的PPC823/PPC850,等等。下面给出用SCANLOG%&&&&&%的USB接口器材SL11HT完成嵌入式USB HOST的比如。
1.SL11HT特色
◇ 遵照USB1.1规范;
◇ 支撑全速/低速传输;
◇ 支撑主机/设备端两种形式;
◇ 3.3/5.0V供电;
◇ 片内包括256个字节的SRAM;
◇ 48MHz晶振输入。
当SL11HT被用作USB HOST接口时,对体系有以下要求:
◇ 由体系维护SOF帧数目;
◇ 由体系生成CRC5效验码;
◇ 要求体系中止潜伏期小于1.5μs。
2.SL11HT接口硬件框图
图4简略地给出了运用SL11HT扩展USB接口的框图,更具体的硬件连线图请见参考文献2,3。
3.USB HOST端软件结构
USB HOST端软件结构如图5所示。
(1)USB接口驱动程序
USB接口驱动程序需完成以下功用:
◇ USB接口器材的初始化;
◇ 核算上层数据包的效验和,发送上层的数据包;
◇ 发送SOF帧;
◇ 接纳从USB接口传送来的数据,并查看数据的有用性;
◇ 将接纳到的数据送往上层。
(2)USB协议栈驱动程序
USB协议栈驱动程序需完成以下功用:
◇ 供给与设备驱动程序的接口;
◇ 读取并解析USB设备描述符,装备描述符;
◇ 为USB设备分配仅有的地址;
◇ 运用默许的装备来装备设备;
◇ 支撑根本的USB指令恳求;
◇ 衔接设备与相应的驱动程序;
◇ 转发设备驱动程序的数据包。
(3)设备驱动程序
设备驱动程序需完成以下功用:
◇ 供给与运用程序的接口;
◇ 读取并解析USB设备特有的描述符,取得设备供给的传输通道;
◇ 发送设备特有的和根本的USB指令恳求;
◇ 经过设备供给的传输通道与设备进行数据传输;
◇ 经过USB指令恳求重新装备设备。
参考文献
1 Universal Serial Bus Specification Revision 1.1 http://www.usb.org
2 SL11H/T USB Host/Slave Controllers Technical Reference. http://www.scanlogic.com
3 SL11H Application Notes. http://www.scanlogic.com