《USB及基于USB的数据同步传输问题》由会员分享,可在线阅读,更多相关《USB及基于USB的数据同步传输问题(23页珍藏版)》请在金锄头文库上搜索。
1、USB 及基于 USB 的数据同步传输问题李龙雨中国科学技术大学精密机械与精密仪器系合肥 230026 USB 是 Universal Serial Bus 的缩写,中文意思就是 “通用串行总线”。 这是近几年逐步在 PC 领域广 为应用的较新型接口技术 。一.USB 提出及背景:随着电脑应用的拓展,PC 机的外设越来越多,机箱后的插口也形形色色,其外接规格十分混乱,例如键盘要接 AT 规格的接孔,鼠标要接 COM 口或 PS/2 接口,Modem 要接另一个 COM 口、打印机要接 Parallel Port(并口),而摇杆则是要跟 MIDI 装置共抢 Game/MIDI 口,每个周边外设都
2、是单独与电脑连接,如果各位绕到电脑背后看看,一定可以看到一堆惨不忍睹的现象,这正是 USB 想解决的一个问题。 除了线路紊乱与安装模糊混淆外,这些线路都不是可以随意插拔的,必须在开机前装妥才能正常使用。按常规,用 户为 PC 增加一个新的外设往往有一套复杂的操作,至少需要做以下工作:1 打开机箱,安装新外设的接口插卡。2 为了避免资源占用冲突,用户必须重新设置跳线,为新的外设插卡选择合适的 IRQ、DMA 和 I/O 口地址。3 安装新的外设驱动程序。如果在电脑工作期间插上或拔出,虽然有时电脑还是可以继续工作,但大多数时候电脑会停止响应,或是插入的装置无法工作,甚至死机。 因此,简化外设扩充方
3、法,使之方便易行便成 为各个 PC 机厂家面临的重大研究课题。在这个背景下,USB 是由 Compaq(康柏 )、DEC、IBM、Intel、NEC、微软以及 Northern Telecom(北方电讯)等公司于 1994 年 11 月共同提出的二.USB 现状:2.1 USB 结构硬件结构:USB 采用四线电缆,其中两根用来做数据传输的串行通道,其余两根用来为下流(downstream )设备提供电源如图 一所示。图中 D、 D是串行数据通信线,VBUSH 和 GND 作为电源线。USB 是基于令牌的总线,类似于令牌环网络或 FDDI 基于令牌的总线,USB 主控制器广播令牌,总线上设备检测
4、令牌中的地址是否与自身相符,通过接收或发送数据给主机作响应,USB 主机通过支持悬挂/恢复操作来管理 USB 总线电源。USB 系统采用级联星行的拓扑结构如图二所示。总线上允许一次可同时连接多达 127 个设备,多达 6 级。但是 ,这是理论, 由于产品不够成熟,一般的USB 产品只能连接最多 56 部产品,即使是 COMDEX 98 的插拔大会,目前也只做到 111 个可同时工作而已,还没到 127 个。但实际上这个数字已非常够用,一般电脑也甚少接超过 10 个周边外设。该拓扑结构由三种元素组成:主机(host)、集线器(hub)和功能 设备(usb device)。它最多可以分为五层,第一
5、层是我们的电脑,第二层可以连接外设或 HUB,HUB 的中文名称为集线器,与以太网上用的集线器所起的作用是一样的,都是用作数据的集散处理和外设的分接装置。一个 HUB 可以多接几个外设,还可以串联 HUB,但向下串联不能超过三层。此外,USB 标准还规定,所有装置的连线不得超过 5 米,这样也就意味着所有外设向外的长度不能超过 20 米。图二 拓扑结构软件结构:如图三所示,USB 软件可分为三个主要模块, 在软件结构的最低层是通用主控制器驱动器(UHCD),由它来管理和控制USB 主控制器。USB 系统软件结构的第二个主要部分是 USB 驱动器(USBD )。USBD 提供设备驱动 器级 的接
6、口,满足现有设备驱动器设计的要求。USB 系统软件结构的第三个主要部分是 USBD 的客户软件, 负责处理特定 USB 设备驱动器.2.2 USB 技术传输方式USB 现阶段主要用于中低速外设与主机的连接,针对不同的外设提供了四种基本的数据传输模式: 控制传输(control transfer): 支持外设与主机之间的控制、状态、配置等信息的传输, 为外设与主机之 间提供一个控制通道。每种外设都支持控制传输类型,这样主机 PC 与外设之间 就可以传送配置和命令状 态信息。全速设备每次控制传输的最大有效负荷可为 64 个字节,而低速设备每次控制传输的最大有效负荷仅为 8 个字节。同步传输(Syn
7、chronization transfer): 支持有周期性、有限的时延(实时性)和带宽、且数据传输速率不 变的外设与主机间的数据传输。同步传输仅适用于全速/高速设备。该类型无差 错校验,故不能保证正确的数据传输,支持像计算机电话集成系统(CTI)和音频系统与主机的数据传输 。同步 传输每次传输的最大有效负荷可为 1023 个字节。中断传输(interrupt transfer): 支持像游戏棒、鼠标和键盘等人机输入设备,这些设备与主机间数据传输量小、无周期性,但对响 应时间敏感,要求 马上响应。全速设备的中断传输周期可为 1255ms,而低速 设备的中断 传输周期为10255ms。全速 设备
8、每次中断传输的最大有效负荷可为 64 个字节,而低速设备每次中断传输的最大有效负荷仅为 8 个字节。批量传输(bulk transfer ): 支持打印机、扫描仪、数字相机等外设,这些外设与主机间传输的数据量很大, USB 在满足带宽的情况下才进行该类型的数据传输。块 数据传输每次数据 传输的最大有效负荷可为 64 个字节。每种传输模式应用到具有相同名字的终端,具有不同的性质。2.3 USB 系统组成USB 系统主要由三部分组成,即 USB 宿主( host)、USB 设备(device)、USB 连接(主要于 USB2.0 中涉及)。在 USB 系统中,USB 宿主(HOST)主要用于产生并
9、管理控制信号流和数据流,检测并处理总线上各种活动的状态,并为总线上的 USB 设备提供能源。USB 设备用于完成特定的功能,它具有极 强的扩充性,能以一种星型级联的方式连接起来,USB 宿主可根据 USB 设备的动态增减,对其进行动态配置。USB 连接是指 USB 和 USB 主机连接并进行通信的方式。可以将存在于 USB 主机和 USB 设备之间得 USB 数据 传输模型描述为一个管道(pipe),USB 系统中的这种管道有两种: stream 和 message。其中, stream 的结构再 USB 中未被定义,而 message 则不同。 Stream 管道的作用在于可由系统的传输进度
10、动态控制,这样就保证了同步,并防止了由于使用握手包(handshake)应答信号而着成的硬件缓冲区的欠载和溢出以及由此造成的交换率下降。管道包含数据带宽、传输服务类型和端口特征(如方向和缓冲区大小)等信息。多数管道在USB 设备配置时就形成了。当 USB 设备加电时一个消息管道即默 认的控制管道就已经存在,这样可以获得配置的设置、状 态和控制信息。USB 宿主存在于主机系统中,它包括硬件、 软件部分。其中,硬件部分指的是 USB 宿主控制器,一般集成在主板上,受 USB 系统软件的控制;软件部分分为三部分(详见前面)。USB 设备分为两种,一种是功能块(function),它是实现某种具体功能
11、的硬件设备,如键盘、鼠标和摄像头是最常见的,扫描 仪、打印机现在也多了起来,游戏手柄、电视盒、软驱、CD-ROM、 CDRW、硬盘,甚至声卡、音箱、手机充 电器、说写电子板、网络卡都已经出现。 这些设备中有使用全速模式(FS :12Mb/s)和低速模式(LS :1.5Mb/s)。例如鼠标、键盘等交互式设备(Interactive Device)就是低速设备运行,而打印机、扫描仪就使用全速设备模式运行。另一种是集线器(hub),它负责为其他 USB 设备提供扩展端口, 还具有能源管理及端口连接状况检测等功能。功能块能够从总线上接受或发送数据和控制信号,每个功能块中都存储着描述其功能和资源需求的配
12、置信息,使用前由宿主完成对它的配置。功能块通常由总线接口,总线控制器和功能部件三部分组成,在某些情况下,几个功能部件也可集成在一起构成复合设备,它们共用一个总线接口。2.4 USB 技术特点优点:1 使用简单所用 USB 系统的接口一致,连线简单。系统可对设备进 行自动检测和配置,支持热插拔。新添加设备系统与主机相连时,USB 控制器可自动地识别所有的 USB 设备,并从主机获得指挥器正常运做的智能信息(包括相应高层驱动程序和配置参数)。这意味着不需要重新启动主机,即可动态完成对外设的配置,因此 USB 具有即插即用(plug and play)的特性。2 应用范围广USB 系统数据报文附加信
13、息少,带宽利用率高,可同时支持同步传输和异步传输两种传输方式。USB 设备的带宽可从几 Kbps 到几 Mbps(在 USB2.0 版本,最高可达几百 Mbps)。一个 USB 系统可同时支持不同速率的设备,如低速的 键盘、鼠标 ,全速的 ISDN、语音,高速的磁 盘、图像等 (仅 USB2.0 版本支持高速设备)。同时 USB 允许在同一根 电缆上传输实时的非 实时数据,且允 许多个外设同时操作,并支持复合设备。(3)较强的纠错能力USB 系统可实时地管理设备插拔。在 USB 协议中包含了传输错误管理、错误恢复等功能,同时根据不同的传输类型来处理传输错误。在中高速数据传输过程中,数据容易受外
14、界干扰而出错, USB 协议规定在每个数据包中加入 CRC 检验,通过校验算法检测传输过程中出现的差错,并通过纠错算法尽可能地恢复出错数据。(4)总线供电USB 总线可为连接在其上的设备提供 5V 电压 /100mA 电流的供电,最大可提供 500mA 的电流。USB 设备也可采用自供电方式,或者两者结合的方式。(5)低成本USB 接口电路简单,易于 实现,特别是低速设备。USB 系统接口/ 电缆也比较简单,成本比串口/并口低。(6)强大的外设连接能力一个 USB 系统能够以菊链(daisy-chaining )的形式将多个外设连接到同一系统上,最多可支持 127 个物理设备,且各种外 设均采
15、用同一的 USB 接口标准的连接器,这极大的简化了安装过程。(7)USB 支持节约电力的挂机和续接模式缺点:(1)USB 技术还不是很成熟,特别是高速设备。(2)USB 周边芯片过于昂贵 除了 USB 产品开发延缓外,USB 周边芯片的价格在初期也是颇高的,以千颗批发价来算,可能一颗 USB 周边芯片的成本是 5 美元,但是一个传统鼠标的制造成本可能只有 3 美元,芯片比整个产品成本还贵,因此 USB 鼠标就比较不容易推广开来。市场上现有的 USB 设备价格都比较昂贵,但随着 USB 技术的日益成熟,设备的不断增加和广泛应用,其价格将会有所降低。(3)USB 文件观念过于抽象 因为部分规格观念
16、过于抽象,使得 USB 的实际产品开发进度缓慢,首先是USB 芯片开 发缓慢,其次是周 边设备,至于驱动程序、操作系统支持和应用软件的开发就更迟缓了。(4)USB 周边外设与传统周边外设无明显差异 这是最主要的一个原因,因为传统键盘是键盘,USB 键盘也是键盘,使用者并不会因为换了 USB 键盘 ,而加快打字的速度。同样的,其他 USB 装置都只是传统装置的“Bus 规格转变”而已,没有明显的提升效应 。2.5 USB2.0 协议USB 2.0 接口标准与其上一代版本最大的区别就是传输速度上的跨跃。USB 2.0 在 2000 年推出的第一个测试 版本的数据传输率已经达到了120Mbps(bit per second,位 /秒),比现行的 USB 1.1 标准快出 10 倍以上,而 2001年推出的最终版 USB 2.0 接口,其传输速度更是达到 480Mbps,整整比 USB 1.1超出 40 倍之多。同时, USB 2.0 将拥有向前及向后的兼容性,数据电缆与接口与旧作完全相同