haodafeng_org / usb && 驱动 / 通用串行总线USB (好)

   

通用串行总线USB (好)

2011-07-21  haodafeng...
USB系统组成及其原理

  

  在早期的计算机系统上,常用串口或并口连接外设。每个接口都需要占用计算机的系统资源(如中断、I/O地址、DMA通道等)。无论是串口还是并口,都是点对点的连接,一个接口仅支持一个设备。因此每添加一个新的设备,就需要添加一个ISA或PCI卡来支持,同时系统需要重新启动才能驱动新的设备。

  USB(universal serial bus)总线是Intel, DEC, Microsoft, IBM等公司联合推出的一种新的串行总线标准,主要用于PC与外设的互连。

1.USB总线的功能特点

 (1)USB减轻了各个设备(像鼠标、调制解调器、键盘和打印机等)对目前PC中所有标准端口的需求,因而降低了硬件的复杂性和对端口的占用。整个USB系统只有一个端口,使用一个中断,节省了系统资源。

 (2)USB支持热插拔(hot plug)。也就是说在不关闭PC的情况下,可以安全地插上和断开USB设备,动态地加载驱动程序。

 (3)USB支持即插即用(plug and play,PnP)。当插入USB设备的时候,计算机系统检测该外设,并且自动加载相关驱动程序,对该设备进行配置,使其正常工作。

 (4)USB在设备供电方面提供了灵活性。USB接口不仅可以通过电缆为连接到USB集线器(hub)或主机(host)的设备供电,而且可以通过电池或者其他的电力设备为其供电,或使用两种供电方式的组合,并且支持节约能源的挂机和唤醒模式。

 (5)USB提供全速12MB/s、低速1.5MB/s和高速480MB/s(USB 2.0)三种速率来适应各种不同类型的外设。

 (6)为了适应各种不同类型外设的要求,USB提供了四种不同的数据传送类型。

 (7)USB具有很强的连接能力,最多可以以链接形式连接127个外设到同一系统,这对一般的计算机系统已经足够了。

 (8)USB具有很高的容错性能。因为在协议中规定了出错处理和差错恢复的机制,所以可以对有缺陷的设备进行认定,并对错误的数据进行恢复或报告。

  总之,作为计算机外设接口技术的重要变革,USB在传统的计算机组织结构的基础上,引入网络的拓扑结构思想。其具有终端用户的易用性、广泛的应用性、带宽的动态分配、优越的容错性能、较高的性能价格比等特点,方便了外设的添加,适应了现代计算机的多媒体功能拓展,已逐步成为计算机的主流接口。

2.USB系统的拓扑结构及其硬件组成

  USB系统采用级联星形拓扑结构,如图8.3所示。在任何USB系统中,只能有一个主机。USB和主机系统的接口称为主机控制器(host controller),它是由硬件和软件结合实现的。集线器用来提供附加连接点。

 和主控制器相连的集线器称为根集线器(root hub),一个USB系统中只能有一个根集线器。

             

             图8.3 典型USB系统拓扑结构

由此可见,USB系统中包含的硬件有:

 (1)USB主机控制器。它在主板芯片组里,用来控制整个USB设备。

 (2)USB根集线器。完成对传输的初始化和设备的接入。

 (3)USB集线器和USB设备。USB集线器为所有的USB设备提供端口,是USB所有动作的分配者。集线器采用一对多的方式连接外设,这样呈发射状的连接可以保证使用127个外设,因为USB使用7bit保存地址,27共有128个,而USB主机控制器必须保留一个,因此还有127个地址可以连接USB设备。USB设备是指采用USB总线的外设,如鼠标、键盘、打印机、扬声器等,为系统提供了具体功能。USB的协议实现了系统的协调。

3.USB系统的软件结构

 这里所讲的软件结构是针对主机系统而言的,USB设备也需要有自己的软件。USB系统的软件是基于模块化、用面向对象方法设计的,USB软件一般由三个主要模块组成,如图8.4所示


 

      图8.4 USB系统的软件结构

 (1)通用主控制器驱动程序UHCD(USB host controller driver)。位于低层,用来管理和控制USB主控制器。USB主控制器是一个可编程硬件接口,UHCD用来实现与主控制器通信及对其控制的一些细节。

 (2)USB驱动程序USBD(USB driver)。位于中间层,用来实现USB总线的驱动、带宽的分配、管道的建立和控制管道的管理等。通常操作系统已提供USBD支持。

 (3)USB设备驱动程序(又称客户驱动程序或客户软件),位于最上层,用来实现对特定USB设备的管理和驱动。USB设备驱动程序是USB系统软件和USB应用程序之间的接口。

  当软件采用分层结构时,位于下一层的软件应为上一层软件提供服务,确切地说,应设置一些供上一层调用的函数,这些函数的集合一般称为软件层之间的接口。

  如图8.4所示,USBDI和UHCDI便是这样的接口。

4.USB物理接口

 (1)USB设备
  USB设备有集线器和功能部件两类。在USB系统中,集线器也是一种设备,即集线器设备。集线器可内置于某个设备(如键盘、显示器等)中,这种集线器被看成设备的一种功能。集线器简化了USB互连的复杂性。集线器串接在集线器上,可让不同性质的更多设备连在USB接口上,其连接点称做端口,每个集线器的上行端口向主机方向进行连接,下行端口允许连接其他集线器或功能部件。集线器可检测每个下行端口设备的安装或拆卸,并可为下行端口的设备分配资源。每个下行端口可分辨出连接的是高速设备还是低速设备。在设备与设备之间是无法实现直接通信的,只有通过主机的管理与调节,才能实现数据的互相传送。

 (2)USB电缆
  USB通过一种四芯电缆传送信号和电源。USB 1.0提供了两种速率:低速1.5MB/s、全速12MB/s,这意味着USB全速的数据传输速度比普通的串口快了100倍,比普通并口也快10多倍。USB 2.0在USB 1.0的基础上增加了另一种数据传输速率:高速480MB/s。因为过多低速模式的使用将降低总线利用率,所以该模式只支持少量设备(如鼠标等)。如图8.5所示,USB电缆中包括VBUS,GND 两条电源线,用来向设备提供电源。VBUS的电压为+5V。为了保证足够的输入电压和终端阻抗,重要的终端设备应位于电缆尾部,每个端口都可检测终端是否连接或分离,并区分出高速或低速设备。电缆中还有两条互相缠绕的数据线。所有设备都有一个上行和下行的连接,上行连接器和下行连接器不可互换,因而避免了集线器间非法的、循环往复的连接。

     
              
图8.5 USB电缆
(3)USB电源
  主要包括电源分配和电源管理两方面的内容。

  电源分配是指USB如何分配计算机所提供的能源。需要主机提供电源的设备称为总线供能设备,如键盘、输入笔和鼠标等。而一些USB设备可能自带电源,该类设备称为自供能设备。

  USB主机有与USB设备相互独立的电源管理系统,系统软件可以与主机的电源管理系统结合,共同处理各种电源事件,如挂起、唤醒等。

  每个设备可以从总线上获得100mA的电流,如果有特殊情况向系统申请,最多可以获得500mA的电流,在挂机的状态下,电流只有500mA。
USB传输协议

1.总线协议

  USB是一种轮询方式的总线,主机控制器初始化所有的数据传输。

  每个总线执行动作按照传输前制定的原则,最多传输三个数据包。每次传输开始,主机控制器发送一个描述传输动作的种类、方向、USB设备地址和端口号的数据包,这个数据包通常称为标志包PID(packet ID),USB设备从解码后的数据包中取出属于自己的数据。

  传输开始时,由标志包来标志数据的传输方向,然后发送端发送数据包,接收端相应地发送一个握手的数据包,以表明传输是否成功。发送端和接收端之间的数据传输,可视为在主机和设备端口之间的一条通道中进行。

  通道可分为两类:流通道和消息通道。各通道之间的数据流动是相互独立的,一个USB设备可以有几条通道。例如,一个USB设备可建立向其他设备发送数据和从其他设备接收数据的两条通道。


2.USB的传输方式

  为了满足不同的通信要求,USB提供了四种传输方式:控制(control)方式传输,等时(isochronous)方式传输,中断(interrupt)方式传输及批(bulk)方式传输。每种传输模式应用到具有相同名字的终端时,具有不同的性质。

(1)控制方式传输

  控制传输是双向传输,数据量通常较小。控制传输类型支持外设与主机之间的控制、状态、配置等信息的传输,为外设与主机之间提供一条控制通道。每种外设都支持控制传输类型,这样,主机与外设之间就可以传输配置和命令/状态信息。

(2)等时方式传输

  等时传输提供了确定的带宽和间隔时间(latency)。它用于时间严格并具有较强容错性的流数据传输,或者用于要求恒定的数据传输速率和即时应用中。

  例如,在执行即时通话的网络电话应用中,使用等时传输模式是很好的选择。等时数据要求确定的带宽值和确定的最大传输次数,对于等时传输来说,即时数据传递比精度和数据的完整性更重要一些。

(3)中断方式传输

  中断方式传输主要用于定时查询设备是否有中断申请。这种传输方式的典型应用是在少量的、分散的、不可预测数据的传输方面,键盘、操纵杆和鼠标等就属于这一类型。这些设备与主机间的数据传输量小、无周期性,但对响应时间敏感,要求马上响应。中断方式传输是单向的,并且对于主机来说只有输入方式。

(4)批方式传输

  主要应用于大量传输数据又没有带宽和间隔时间要求的情况下,要求保证传输。打印机和扫描仪就属于这种类型,在满足带宽的情况下,才进行该类型的数据传输。

  USB采用分块带宽分配方案,若外设超过当前或潜在的带宽分配要求,则主机将拒绝与外设进行数据传输。等时和中断传输类型的终端保留带宽,并保证数据按一定的速率传输,集中和控制终端按可用的最佳带宽来传输数据。但是,10%的带宽为批传输和控制传输保留,数据块传输仅在带宽满足要求的情况下才会出现。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。如发现有害或侵权内容,请点击这里 或 拨打24小时举报电话:4000070609 与我们联系。

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多
    喜欢该文的人也喜欢 更多

    ×
    ×

    ¥.00

    微信或支付宝扫码支付:

    《个图VIP服务协议》

    全部>>