USB2.0协议深入解读

上传人:小** 文档编号:77033619 上传时间:2022-04-19 格式:DOC 页数:438 大小:10.28MB
返回 下载 相关 举报
USB2.0协议深入解读_第1页
第1页 / 共438页
USB2.0协议深入解读_第2页
第2页 / 共438页
USB2.0协议深入解读_第3页
第3页 / 共438页
点击查看更多>>
资源描述
Pocevio中国晋天言未来普天I12013-8-16咎天佶息技术硏究院12013-8-16咎天佶息技术硏究院USB协议简介USB是一种协议总线,即主机与设备之间的通信需要遵循一系列约定。 协议内容较多,这里仅作一些简单介绍,深入学习,可参看USB规范 (WWW usb org)。为了理解协议中的名、称,先看图1, 32。、该图突出了主机上的客户软 件和USB逻弭设备(编程涉及的设蕃)之间的通倍流(Communication Flow), 该通信流跨越了USB驱动程序USBD、主控制器驱动程序UHCD、主控制 器等硬祥接口应其连接。端点(Endpoin是USB设备的權口识别的部分, 是主机和设备之间通信流的终点。每一个逻辑设备有若干个独立端点, 每一个端点在设计时被分配一个华二的由设备确定的标识符,称之为端 如图10. 32所示,将用于通信祷流$的通道称为管道(Pipe),这是忽略 了许多中间环节的很形象的称呼,对于理解USB系统中的信息传输很有 帮助。图中把3个端点看成了一个接口,关于接口的说明安排在后面。12013-8-16咎天佶息技术硏究院0*阳sn国IPocevio中国晋天(-)USB2.0的背景Busb2.o COMPAQ Hewlett Packard Intel、 Lucent Microsoft 、NEC和PHILIPS这7家厂商联合制定了USB 2.0接口标准USB2. 0规范是由USB1. 1规范演变而来的,USB 2. 0将设备 之间的数据传输速度增加到480Mbps,折算为MB为60MB/S, 比USB 1. 1标准快40倍左右.USB2. 0与USB1. 1可以互相兼容,USB2. 0设备可以工作在 USB1.1揍口上,USB1. 0设备也可以工作右USB2.0接口 , USB1. 1设备的速度不会因为安装在USB2. 0接口上而有任何 提高,同样安装在USB1. 1接口上的USB2. 0设备的速度也会 被限制在 12mbps (1. 5MB/S)以下.USB2. 0和USB 1. 1使用 的连接电缆及端口均相同r-Pocevio中国話天(二)USB2. 0协议规范目的USB2. 0规范描述了总线属性,协议定义,处理类型,总线管理和编程接口,以满足设计和构建符 合该标准的系统和外设的要求.USB2. 0规范的主要目标用户是外设开发者和系 统 OEM.USB2. 0规范的目标是使不同厂商的器件可以在开放的结构中相互操作2013-8-16咎天信好技术研究院PERFORMANCEAPPLICATIONSATTRIBUTESLOWSPEEDKeyboards MouseLowest Cost* Interactive DevicesStylus*E3ise-off-LlseGame PeripheralsDynamic Attach-DetachVirtual Reality Peripherals Multiple PeriphieralsWOUSB I規范的标总 符介USB 2.0规范的杯FULL-SPEED Phone, Audio.Compressed Video* 500 kbis 10 Mb?sPOTSBroadbanAiud ioMicrophoneLower CostEise-of UweDynamic Attach-Detach Multiple Periphie*railsi G uairanteBdi BLandwicith Guaranteed LatencyHIGH-SPEED Vicfeo. Storage* 25 400 Mb/sVi deo Storage Imaging BroadbandLow CostEase-of-UseDynamic Attach-Detach Multiple Peripherals Guaranteed Bandwidth Gixaranteecf Latency High Bandwidth言未来普天;Pocevio中国晋天(四)USB2.0的结构体系USB系统物理层接口电源总线协议健壮性系统配置数据流类型USB设备USB主机硬件和软件体系结构的扩展中国晋天USB2.0系统 USB2. 0系统主要被定义为三个部分:1. USB的互连;2. USB的设备;3. USB的主机USB的互连是指USB设备与主机之间进行连接和通信的操作,主要包括以F几 方面:1. 总线的拓扑结构:USB设备与主机之间的各种连接方式;2内部层次关系:根据性能叠置,USB的任务被分配到系统的每一个层 次;3. 数据流模式:描述了数据在系统中通过USB从产生方到使用方的流动 方式;4. USB的调度:USB提供了一个共享的连接。对可以使用的连接进行了调度以支持同 步数据传输,并且避免的优先级判别的开销2013-8-16普天信技术硏究院中国晋天1. USB2.0的主机在任何USB系统中,只有一个主机。USB和主机系统的接口称作主 机控制器,主机控制器可由硬件、固件和软件综合实现。根集线 器是由主机系统整合的,用以提供更多的连接点.2. USB2.0的设备USB的设备如下所示:1 网络集线器,向USB提供了更多的连接点;2功能器件,为系统提供具体功能,女口ISDN的连接,数字的游戏杆 或扬声器;USB设备捉供的USB标准接口的主要依据:1 对USB协议的运用;2对标准USB操作的反馈,如设置和复位;m m mPort Port Port、 #1#2 启Upstream HUB 卩誥Port Port PonI 7#6 $5 丿I1 ll I1普天信息技术研究F3. 标准性能的描述性信息;中国晋天 USB2. 0总线布局技术USB连接了USB设备和USB主机,USB的物理连接是有层次性的星型结构。每 个网络集线器是在星型的中心,每条线段是点点连接。从主机到集线器或 其功能部件,或从集线器到集线器或其功能部件.Tier 6Pocevio中国晋天USB2.0的物理接口USB的物理接口分为总线的电气规范和机械特性 1电气特性USB在一条4线的电缆上传输信号和电源信号在两条点对点连接线上传输.USB2. 0支持3种数据数率:USB高速信号位速率是480Mb/sUSB全速信号位速率是12Mb/sUSB低速信号位速率是1. 5Mb/sUSB2. 0主机控制器和集线器提供了一种性能,使全速和低速数据町以在主机控制器和 HUB之间高速传输,而HUB和设备之间以全速或低速传输,这种性能将全速和低速设备对 高速设备可用带宽的影响减到最小.低速模式用于支持例如鼠标等数量有限的低宽带设备,因为使用太多这种设备将降低总 线的利用率.时钟与差动数据一起编码传送,时钟是以带位填充的NRZI方式编码,以保证有足够的跳变 沿接收器用每个包前面的SYNC场同步它们的位恢复时钟.每段电缆还有向设备提供电源的Vbus和GND线Vbus在源极的标称值是+5V.通过选择适当的 导线规格来匹配指定的IR drop和其它一些特性,如设备能源预算和电缆适应度为了 保证足够的输入电压和终端阻抗。重要的终端设备应位于电缆的尾部。在每个端口都 可检测终端是否连接或分离,并区分出高速,或低速设备.102013-8-16醫天佶息技术硏究院Fignre 7-20. Full-speed D紀Cable nndFigure 7-21. Low-speed Device Cable and Resistor ConnectionsVbusD+DGNDUSB电缆VbusD-D-GNDUSB 1.1 HubUSB 2.0HubIII siFigure 2. Example Future USB 2.0 System ConfigurationPocevio中国晋天2. 机械特性电缆和连接器的机械特性将在机械特性章节详述。所有设备都有一个上行 的连接。上行连接器和下行连接器是不可简单的互换,这样就避免了集 线器间的非法的循环往复的连接,电缆中有四根导线:一对互相缠绕的 标准规格线,一对符合标准的电源线,连接器有四个方向,具有屏蔽层, 以避免外界干扰,并有易拆装的特性。Pocevio中国晋天言未来普天:USB2. 0电源王要包括两方面:电源分配:即USB的设备如何通过USB分配得到由主计算机提 供的能源;电源曾理:即通过电源管理系统,USB的系统软件和设备如何 与主机协调工作.1.电源分配每个USB单元通过电缆只能提供有限的能源。主机对那种直接 相连的USB设备提供电源供其使用。并且每个USB设备都可能有自 己的电源。那些完全依靠电缆提供能源的设备称作“总线供能” 设备相反,那些可选择能源來源的设备称作“自供电”设备而 且,集线器也可由与之相连的USB设备提供电源。受一定布局限制 的带有“总线供能”集线器的体系结构将在集线器部分讨论。在 图中,键盘,输入笔和鼠标均为“总线供能”设备.142013-9-16齊天信息技术硏究猛USBTYPICAL USB ARCHITECTU RALCONFIGURATIONHub/F unctionHub/FunctionHost/HubtHubtFunctiontFunctiontFunctionFunctionFunGtion中国晋天2.电源管理USB主机与USB系统有相互独立的电源管理系统。USB的系统软件可以与主 机的能源管理系统结合共同处理各种电源子件如挂起、唤醒,并且有特色 的是,USB设备应用特有的电源管理特性,可让系统软件和控制其电源管理.USB的电源分配和电源管理特性使之可以被设计在电源传感系统中,如 采用电池的笔记本电脑.lIf 卜.RenderSumnnairyFkJwJ /lirpLuLO-JlpulFlow;1 rz /LpX人JUSBInputC-orvrterJ典型USB外设的电源供应中国晋天USB2. 0总线协议USB总线属一种轮讯方式的总线,主机控制端口初始化所有的数据传输每一总 线执行动作最多传送三个数据包。按照传输前制定好的原则,在每次传送开始时, 主机控制器发送一个描述传输运作的种类、方向,USB设备地址和终端号的USB数据 包,这个数据包通常称为标志包(token packet) o USB设备从解码后的数据包的适 当位置取出属于自己的数据。数据传输方向不是从主机到设备就是从设备到主机。 在传输开始时,由标志包来标志数据的传输方向,然后发送端开始发送包含信息的 数据包或表明没有数据传送。接收端也要相应发送一个握手的数据包表明是否传送 成功。发送端和接收端之间的USB数据传输,在主机和设备的端口之间,对视为一 个通道。存在两种类型的通道:流和消息。流的数据不像消息的数据,它没有USB 所定义的结构,而且通道与数据带宽、传送服务类型,端口特性(如方向和缓冲区 大小)有关。多数通道在USB设备设置完成后即存在。USB中有一个特殊的通道 缺省控制通道,它属于消息通道,当设备一启动即存在,从而为设备的设置、查询 状况和输入控制信息提供一个入口。事务预处理允许对一些数据流的通道进行控制,从而在破件级上防止了对缓冲 区的高估或低估,通过发送不确认握手信号从而阻塞了数据的传输速度。当不确认 信号发过后,若总线有空闲,数据传输将再做一次。这种流控制机制允许灵活的任 务安排,町使不同性质的流通道同时正常工作,这样多种流通常町在不同间隔进行 工作,传送不同大小的数据包。172013-8-16普夭佶邑技术M I :-Pocevio中国晋天USB2. 0健壮性USB健壮性的特征在于:使用差分的驱动接收和防护,以保证信号完整性;在数据和控制信息上加了循环冗余码(CRC);对装卸的检测和系统级资源的设置;对丢失或损坏的数据包暂停传输、利用协议自我恢复;对流数据进行控制,以保证同步信号和硕件缓冲管理的安全;数据和控制通道的建立,使功能部件的相互不利的影响独立开,消除了负作用.1.错误检测USB传输介质产生的错误率是与自然界的异常现象的概率相吻合,是瞬时一现的,因 此就要在每个数据包屮加入检测位来发现这些瞬时的错误,并且提供了一系列破件和 软件设施来保证数据的正确性。协议中对每个包中的控制和数据位都提供了循坏冗余码校验,若出现了循坏冗余 码的错误则被认为是该数据包已被损坏,循坏冗余码吋对一位或两位的错误进行100% 的修复。2.错误处理协议在駛件或软件级上提供对错误的处理。駛件的错误处理包括汇报并重新进行上一 次失败的传输、传输中若遇到错误,USB主机控制器将重新进行传输,最多町再进行 三次。若错误依然存在,则对客户端软件报告错误,客户端软件可用一种特定的方法 进行处理182013-8-16咎天佶息技术硏究院Potevio中国晋天USB2.0系统配置USB设备町以随时的安装和折卸,因此,系统软件在物理的总线布局上必须支持这种 动态变化.1. USB设备的安装所有的USB设备都是通过端口接在USB上,网络集线器知道这些指定的USB 设备,集线器有一个状态指示器指明在其某个端口上,USB设备是否被安装 或拆除了,主机将所有的集线器排成队列以取回其状态指示。在USB设备安 装后,主机通过设备控制通道激活该端口并以预设的地址值给USB设备.主机对每个设备指定唯一的USB地址。并检测这种新装的USB设备是集线器 还是功能部件。主机为USB设备建立了控制通道,使用指定的USB的地址和零 号端口.如果安装的USB设备是集线器,并且USB设备连在其端口上,那上述过程对 每个USB设备的安装都要做一遍.如果安装的设备是功能部件,那么主机中关于该设备的软件将因设备的连 接而被引发.192013-8-16醫天佶息技术硏究院2. USB设备的拆卸当USB设备从集线器的端口拆除后,集线器关闭该端口,并且向 主机报告该设备已不存在。USB的系统软件将准确进行处理,如果 去除的USB设备上集线器,USB的系统软件将对集线器反连在其上 的所有设备进行处理3 总线标号总线标号就是对连接在总线上的设备指定唯一的地址的种动作, 因为USB允许USB设备在任何时刻从USB上安装或拆卸,所以总线标 号是USB的系统软件始终要作的动作,而且总线标号还包括对拆除 设备的检测和处理中国晋天数据流种类数据和控制信号在主机和USB设备间的交换存在两种通道:单向和双向。USB的 数据传送是在主机软件和一个USB设备的指定端口之间。这种主机软件和USB设备的 端口间的联系称作通道。总的来说,各通道之间的数据流动是相互独立的。一个指 定的USB设备町有许多通道。例如,一个USB设备存在一个端口,町建立一个向其它 USB设备的端口,发送数据的通道,它町建立一个从其它USB设备的端口接收数据的 通道.USB的结构包含四种基本的数据传输类型:控制数据传送:在设备连接时用來对设备进行设置,还可对指定设备进行 控制,如通道控制;批量数据传送:大批量产生并使用的数据,在传输约束下,具有很广的动 态范围;中断数据的传送:用來描述或匹呢人的感觉或对特征反应的回馈。同步数据的传送:由预先确定的传送延迟来填满预定的USB带宽。对于任何对定的设备进行设置时一种通道只能支持上述一种方式的数据 传输,数据流模式的更多细节在数据流模型章节中详述212013-8-16普天信技术研究院言未来普天;Pocevio中国晋天1控制数据传送当USB设备初次安装时,USB系统软件使用控制数据对设备进行设置,设备驱动程 序通过特定的方式使用控制数据来传送,数据传送是无损性的.2批量数据传送批量数据是由大量的数据组成,如使用打印机和扫描仪时,批量数据是连续的。 在碾件级上可使用错误检测可以保证可靠的数据传输,并在硕件级上引入了数据 的多次传送。此外根据其它一些总线动作,被大量数据占用的带宽可以相应的进 行改变.3中断数据传输中断数据是少量的,且其数据延迟时间也是有限范围的。这种数据可由设备在任 何时刻发送,并且以不慢于设备指定的速度在USB上传送。中断数据一般由事件通告,特征及座标号组成,只有一个或几个字节。匹配定点设备的座标即为一 例,虽然精确指定的传输率不必要,但USB必须对交互数据提供一个反应时间的最 低界限.222013-8-#醫天信好技术研究院言未来普天IPocevio中国晋天242013-8-16醫天佶息技术硏究院言未来普天IPocevio中国晋天242013-8-16醫天佶息技术硏究院言未来普天IPocevio中国晋天4同步传输同步数据的建立、传送和使用时是连续且实时的,同步数据是以稳定的 速率发送和接收实时的信息,同步数据要使接收者与发送者保持相同的 时间安排,除了传输速率,同步数据对传送延迟非常敏感。所以同步通 道的带宽的确定,必须满足对相关功能部件的取样特性。不可避免的信 号延迟与每个端口的可用缓冲区数有关。一个典型的同步数据的例子是语音,如果数据流的传送率不能保持, 数据流是否丢失将取决于缓冲区的大小和损坏的程度。即使数据在USB破 件上以合适的速率传送,软件造成的传送延迟将对那些如电话会议等实 时系统的应用造成损害。实时的传送同步数据肯定会发生潜在瞬时的数据流丢失现象,换句话 说,即使许多破件机制,如重传的引入也不能避免错误的产生。实际应 用中,USB的数据出错率小到几乎可以忽略不计。从USB的带宽中,给USB 同步数据流分配了专有的一部分以满足所想得到的传速率,USB还为同步 数据的传送设计了最少延迟时间5指定USB带宽USB的带宽分配给各个通道,当一个通道建立后,USB就分配给 它一定的带宽,USB设备需要提供一些数据缓冲区。若USB提供了 更多带宽,则需更多的缓冲区。USB的体系要保证缓冲引导的硬件 的延迟限定在几毫秒内。USB的带宽容量可以容纳多种不同的数据流,因此保证USB上可以 连接大量设备,如可以容纳从1B+D直到T1速率范围的电信设备。 同时USB支持在同一时刻不同设备具有不同比特率,并具有一个动 态变动的范围.USB规范对总线的每类转输规定的具体的原则.242013-8-16醫天佶息技术硏究院中noUSB设备USB设备分为诸如集线器、分配器或文本设备等种类。集线器类指的是一种 提供USB连接点的设备(详见USB集线器),USB设备需要提供自检和属性设置的 信息,USB设备必须在任何时刻执行与所定义的USB设备的状态相一致的动态. 1 设备特性当设备被连接、编号后,该设备就拥有一个唯一的USB地址。设备就是通过 该USB地址被操作的,每一个USB设备通过一个或多个通道与主机通讯。所有 USB设备必须在零号端口上有一指定的通道,每个USB设备的USB控制通道将与 之相连。通过此控制通道,所有的USB设备都列入一个共同的准入机制,以获 得控希y操作白勺信息o在零号端口7制通道中的信息应完整的描述USB设备、此类信息主要有 以下几类:标准信息:这类信息是对所有USB设备的共同性的定义,包括一些如厂商识 别、设备种类、电源管理等的项冃。设备设置、接口及终端的描述在此给出。 关于这些具体的描述信息在第九章给出;类别信息:此类信息给出了不同USB的设备类的定义,主要反映其不同点。USB厂商信息:USB设备的厂商可自由的提供各种有关信息,其格式不受该 规范制约。此外,每个USB设备均提供USB的控制和状态信息。252013-8-16醫天佶息技术硏究院中国晋天设备描述主要分为两种设备类:集线器和功能部件。只有集线器町以提供更多的USB的连 接点,功能部件为主机提供了具体的功能.1集线器在即插即用的USB的结构体系中,集线器是一种重要设备从用户的观点出发,集线 器极大简化了USB的互连复杂性,而且以很低的价格和高易用性提供了设备的健壮 性。集线器串接在集中器上,可让不同性质的设备连接在USB上,连接点称作端口。 每个集线器将一个连接点转化成许多的连接点。并且该体系结构支持多个集线器的 连接。每个集线器的上游端口向主机方向进行连接。每个集线器的下游端口允许连接 另外的集线器或功能部件,集线器可检测每个下游端口的设备的安装或拆卸,并对 对下游端口的设备分配能源,每个下游端口都具有独立的能力,不论高速或低速设 备均可连接。集线器可将低速和高速端口的信号分开。一个集线器包括两部分:集线控制器(Controller)和集线放大器(Repeater) o集线放大器是一种在上游端口和下游端口之间的协议控制开关。而且碾件上支持 复位、挂起、唤醒的信号。集线控制器提供了接口寄存器用于与主机之间的通信、 集线器允许主机对其特定状态和控制命令进行设置,并监视和控制其端口.Pocevio中国晋天言未来普天I功能部件功能部件是一种通过总线进行发送接收数据和控制信息的USB 设备,通过一根电缆连接在集线器的某个端口上,功能设备一般 是一种相互无关的外设。然而一个物理单元中可以有多个功能部 件和一个内置集线器,并利用一根USB电缆,这通常被称为复合设 备,即一个集线器连向主机,并有一个或多个不可拆卸的USB设备 连在其上。每个功能设备都包含设置信息,来描述该设备的性能和所需资 源。主机要在功能部件使用前对其进行设置。设置信息包括USB带 宽分配,选择设备的设置信息等。下机列举了一些功能部件:定位设备:如鼠标或光笔;输入设备:如键盘; 电信适配器:女口ISDN.272013-8-16咎天is SU术硏究战中国晋天USB主机:硬件和软件USB的主机通过主机控制器与USB设备进行交互。主机功能如下:检测USB设备的安装和拆卸管理在主机和USB设备之间的控制流;管理在主机和USB设备之间的数据流;收集状态和动作信息;提供能量给连接的USB设备。主机上USB的系统软件管理USB设备和主机上该设备软件之间的相互交互, USB系统软件与设备软件间有三种相互作用方式:设备编号和设置;同步数据传输;异步数据传输;电源管理设备和总线管理信息。只要可能,USB系统软件就会使用目前的主机软件接口来管理上述几种 方式.Pocevio中国晋天USB2.0体系结构的扩充USB的体系结构包含主机控制驱动器和USB驱动器之间的接口的扩展,使多 个主机控制器和主机控制驱动器的使用成为可能.292013-8-16息技术研究院天佶息技术研究院中国晋天(五)USB数据流模型USB提供了在一台主机和若干台附属的USB设备之间的通信功能,从终端用户的 角度看到的USB系统,可简单地用下图表示Figure 5-L Simple USB Host/Device ViewPocevio中国晋天言未来普天I实际上的USB通信分为以下四个部分:USB物理设备(USB Physical Device): USB上的一种硬件,可运行一些用 户程序。客户软件(client software):为一个特定的USB设备而在主机上运行的软 件。这种软件由USB设备的提供者提供,或由操作系统提供。USB系统软件(USB system software):此软件用于在特定的操作系统中支 持USB,它由操作系统提供。与具体的USB设备无关,也独立于客户软件。USB主机控制器(USB Host Controller):总线在主机方面的接口,是软件 和硬件的总和。用于支持USB设备通过USB连到主机上。这四个USB系统的组成部分在功能上存在相互重叠的部分。为了支持主机与 客户之间的坚固可靠的通信.USB的实际应用领域如下图所示:312013-8-16咎天佶息技术硏究院HostInter-connect P hysical DeviceUSB SystemUSB LogicalFunction LayerActual communication& flowUSB DeviceLayerUSB BusInterface LayerLogical commuriications flowImplementation Focus AreaFigure 5-2. USB Implementation Areas言未来普天;Potevio中国晋天USB2.0的总线拓扑总线拓朴结构包括四个重要的组成部分。 主机和设备:USB系统的基础组成部分。物理拓朴结构:描述USB系统中的各组成部分是如何连接起来 的。逻辑拓朴结构:描述USB系统中各种组成部分的地位和作用, 以及描述从主机和设备的角度观察到的USB系统。客户软件层与应用层的关系:描述从客户软件层看到的应用 层的情况,以及从应用层看到的客户软件层的情况。332013-8-16咎天is SU术硏究战Pocevio中国晋天主机莉丧窑1 主机主机的逻辑结构如图包括:USB主机控制器(USB Host Controller)USB系统软件集合:USB驱动程序,主 机控制器的驱动程序,主机软件客户软件USB主机在USB系统中是一个起协 调作用的实体,它不仅占有特殊的物 理位置,而且对于USB以及连到USB上 的设备来说,还负有特殊责任。主机 控制所有的对USB的访问。一个USB设 备想要访问总线必须由主机给予它使 用权。主机还负责监督USB的拓朴结构。342013-8-16HostHostHostHostClient SWHostHostHostHostUSB System SWHostHostHostHostUSB Host ControllerI IActual communications flowLogical communications flowPotevio中国晋天USB设备一个USB设备的逻辑结构如图所示,包 括USB总线接口USB逻辑设备应用层USB设备用于向主机提供一些额外的功 能。USB设备提供的功能是多种多样 的,但面向主机的接口却是一致的。 所以,对于所有这些设备,主机可以 用同样的方式来管理它们与USB有关 的部劳。为了帮助主机辨认及确定USB设备,这 些设备木身需要提供用于确认的信息。 在某一些方面的信息,所有设备都是 一样的;而另一些方面的信息,由这 些设备具体的功能决定。信息的具体 格式是不定的,由设备所处的设备级 决定.352013-8-16Physical DeviceI FunctionUSB LogicalDeviceUSB BusInterfaceActual communications flowLogical communications flowFigure 5-4. Physical Derice CompositionPocevio中国晋天总线的物理拓朴结构USB系统中的设备与主机的连接方式采用 的是星形连接,如图.图中的Hub是一类特 殊的USB设备,它是一组USB的连接点,主 机中有一个被嵌入的Hub叫根Hub (root Hub)o主机通过根Hub提供若干个连接点。 为了防止坏状连接,采用星形连接来体现 层次性,如图4-5。这种连接的形状很像一 棵树。用于提供具体功能的设备叫应用设 备。许多不同功能的设备放在一起被看作 一个整体,叫包。例如,键盘和轨迹球可 以被视作一个整体,在它的内部,提供具 体动能设審被永久地接却Hub上,而这 个Hub被接到USB上。所有这些设备及这个 Hub被看作一个复合设备,而这个Hub又被 看作这个复合设备的内部Hub。在主机看来, 这个复合设备和一个帶着若干设备的单独 Hub是一样的。图中也标出了一个复合设备.凰4-5 USB删,蝴制普天信息技术研究院Potevio中国晋天集线器在高速系统中扮演特 殊的角色,集线器将全速/低速的信 号环境和高速信号环境隔离开来. 如图所示的是支持高速设备,并在 高速卜工作的集线器集线器允许 连接和操作全速/低速卜的USB1.1 集线器和其他只能进行全速/低速 操作的设备主机控制器也直接支 持连接那些只能进行全速/低速操 作的设备每个高速运行的集线器 可增加一条(或多条)额外的全速/ 低速总线,即每个集线器都支持额 外的(任意多条)12Mb/s USB全速/ 低速宽带这允许连接更多全速/低 速总线,而不需要额外地增加主机 控制器尽管可以连接几条12MB/S 的全速/低速总线,但是一台主机控 制器最多只能连接127台USB设备.372013-8-16背天信息技术硏究猛Pocevio中国晋天USB逻辑总线的拓扑结构在物理结构上,设备通过 Hub连到主机上。但在逻辑上, 主机是直接与各个逻辑设备通信 的,就好像它们是直接被连到主 机上一样。这个逻辑关系如图5- 7所示。与之对应的物理结构就 是图4-5中的结构。Hub也是逻辑 设备,但在图5-7中,为了简化 起见,未被画出,虽然USB系统 中的工作都是从逻辑角度來看待 的,但主机必须对物理结构有个 了解。例如,在处理Hub被移去 的情况时,当一个Hub被移出, 通过它与主机相连的设备也应一 起被移去,这是由其物理结构决 定的.382013-8-16言未来普Figure 5-7. USB Logical Bus Topology普天信息技术研究院Potevio中国晋天客户软件层与应用层的关系USB系统的物理上、逻辑上的拓朴 结构反映了总线的共享性。操纵 USB应用设备的客户软件只关心设 备上与它相关的接口,客户软件必 须通过USB软件编程接口来操纵应 用设备。这与另一些总线如PCI, EISA, PCMCIA等不同,这些总线 是直接访问内存或I/O的。在运行中, 客户软件必须独立于USB上的其它 设备。这样,设备和客户软件的设 计者就可以只关心该设备与主机硬 件的相互作用和主机软件的相互作 用的细节问题。图58说明了在图57 的逻辑结构下,一个设备设计者看 到的客户软件与相应应用的关系的 视图.392013-8-16Hgure 5-8. Client Software-to-fuiction Relationships普天佰息技术研究院中国晋天USB总线的通信数据流USB是为主机软件和它的USB应用设备间的通信服务的,对客户与应用间不同的交互, USB设备对数据流有不同的耍求。USB为此提供了更好的overall总线使用,它允许各 种不同的数据流相互独立地进入一个USB设备。每种通信流都采取了某种总线访问方 法来完成主机上的软件与设备Z间的通信。每个通信都在设备上的某个端点结束不 同设备的不同端点用J:区分不同的通信流.图5-9是详尽地描述了USB系统,支持 了逻辑设备层和应用层间的通信流.主机控制器的驱动程序(HCD):它位于USB主机控制器与USB系统软件之间。 主机控制器可以有一系列不同的实现,而系统软件独立于任何一个具体实 现。一个驱动程序可以支持不同的控制器,而不必特别了解这个具体的控 制器。一个USB控制器的实现者必须提供一个支持它自己的控制器的主机控 制器驱动器(HCD)实现.USB驱动程序(USBD): USB系统软件与客户软件之间的接口,提供给客户软 件一些方便的使用USB设备的功能。一个USB逻辑设备对USB系统来说就是一个端点集合。端点町以根据它们实现 的接口来分类。USB系统软件通过一个缺省的控制通道来管理设备。而客户 软件用通道束管理接口。通道束的一端为端点,一端为缓冲区。客户软件 要求通信数据在主机上的一个缓冲和USB设备上的一个端点之间进行。主机 控制器或USB设备(取决于数据传送方向)将数据打包后在USB上传。由主机 控制器(HC)协调何时用总线访问在USB上传递数据.402013-8-16HostInterconnectPhysical DeviceHostInterconnectPhysical DeviceUSB Host(Cliaprer 10)Data transport mechanismGontro erSIEUSB WireDefault Pipe to Endpoint ZeroUSB FramedDataNo USB FormatData PerEndpointLTransfersUSBI FramedDataClient SWmanages an intorfsc色f-No USB FormatUSB System SWmanages devices31FramedBundle1Func tionInterface xa collection of1.1 41 1interfaces*Inte rf ace-specificUSB Bus InterfaceUSB Bus InterfacePipe: represenits connection abstraction between two* horizo-ntai entitiesUSB-relevant format -of transported dataMecliamcaLElectrical,Piotocol(Chapter 6. 7? S)Figure 5-9. USB Host/Device Detsiiled ViewFigure 5-10. USB Comniiinicatioii Flow中国晋天图5-10说明了数 据如何在主机侧 中的内存缓冲和 设备中的端点中 传送。在启面, 熔逐步介绍端点、 通道和通信流。主机上的软件通 过一系列的通信 流与逻辑设备进 行通信。这一系 列的通信流是由 USB设备的软件 和破件设计者选 择的,使设备能 传送由USB提供 的字符.422013-8-16鶴4站窗蘭觀瓢豁夭信息技术研究院Get DeuVend Re-qReq 0xA2 Value 0x0000 Index OxBEEF LengthIBDivIso TransPipe |l2: Endpoint 10 OUT 二Packets128Size 16Buffers pBulkTr-ansPipe S : Endpoint 6 OUT jjLength64Hex Btes |8ResetPip?FikT聞列| Pipe |i2: Endpoint 10 OUT |Get StringDcwnload.EEPROM.URB StatSt IFaceInterface 0AKSetting 1Set In.tez?f a.ce : Inten?f a.ce = 0 : Al tGet Fipelnfofit er f ace0Smt t inmPipe :Pipe :Pipe : Pipe :Pipe:Pipe Fipe:Pipe :Pipe :Pipe : Pipe:Pipe: Pipe :789101112Sise 27& Type: Type: Ty 口 亡: Type : Type : Type : Type: Type: Type?: Type : Type : Type: Type :INT BLK BLK BLK BLK BLK BLK ISO ISO ISO ISOISO ISOEndpoint: Endpoint: Endpoint: Endpoint: Endpoint: Endpoint: Endpoint: Endpoint: Endpoint: Endpoint: Endpoint: Endpoint: Endpoint:1010ININOUTINOUTIHOUTINOUTINOUTINOUTMaxFktSrze MaxFktSxze MaxPktSize MaxPktSize MaxPktSize MasPktSxze MaxPktSxze MaxPktSize MaxPktSize Ma.xPk tSiN 巳 MaxPktSize MaxPktSize MaxPktSize0x100x4 00x400x400x400k400x400k100x100x100x100k100x10432013-8-16 CYPRESS核管道端点设定界面讨天信息技术硏究院言未来普天:Potevio中国晋天USE设备端点一个端点是一个nJ唯一识别的USB设备的Portion,它是主机与设备间通信 流的一个结束点。一系列相互独立的端点在一起构成了USB逻辑设备。每 个逻辑设备有一个唯一的地址,这个地址是在设备连上主机时,由主机 分配的,而设备中的每个端点在设备内部有唯一的端点号。这个端点号 是在设备设计时被给定的。每个端点都是一个简单的连接点,或者支持 数据流进设备,或者支持其流出设备,两者不可得兼。一个端点的特性决定了它与客户软件进行的传送的类型。一个端点有以下 特性:端点的总线访问频率要求端点的总线延迟要求端点的带宽要求端点的端点号对错误处理的要求端点能接收或发送的包的最大长度端点的传送类型出端点与主机的数据传送方向端点号不为0的端点在被设置前处于未知状态,是不能被主机访问的.442013-8-16技术研5118中国晋天对0号端点的要求所有USB设备都需要实现一个缺省的控制方法。这种方法将端点0作为输入端点, 同时也将端点0作为输出端点。USB系统用这个缺省方法初始化及一般地使用逻辑设 备(即设置此设备)。缺省控制通道 支持了对控制的传送,一旦设备接上,并加电, 且又收到一个总线复位命令,端点0就是可访问的了.能在高速下工作的USB设备必须能在全速下工作,当设备连接到集线器并以全速工作 时,设备必须:1. 能成功地在全速下复位;2. 能成功地响应标准请求,如设备和配置描述符的 set_address, set_configuration, get_descriptor,并返回正确的信息高速设备在全速下运行时可能或不支持这种功能.对非0号端点的要求设备町以有除0以外的其它端点,这取决于这些设备的实现。低速设备在0号输入及 输出端点外,只能有2个额外的町选端点。而高速设备町具有的额外端点数仅受限 于协议的定义(协议中规定,最多15个额外的输入端点和最多15个额外的输出端点)。 除缺省控制通道的缺省端点外,其它端点只有在设备被设置后才可使用,对设备的 设置是设备设置过程的一部分.Pocevio中国晋天USB总线数据通道言未来普天;一个USB通道是设备上的一个端点和主机上软件之间的联系。体现了主 机上缓存和端点间传送数据的能力,有两不同的且互斥的通道通信格式。流(Stream):指不具有USB定义的格式的数据流。消息(Message):指具有某种USB定义的格式的数据流。USB不解释在通道中传送的数据的内容。消息通道要求数据组织USB定义 的格式,但它的内容,USB是不管的。特别地,有下列概念与通道相关:对USB总线访问的申请(claim),带宽的使用情况传送类型与通道相连的端点的特性,例如:端点的数据传送方向,最大数据净 负荷区的长度。数据净负荷是指在总线处理事务(transaction)中,数据 包中数据区的数据。由两个0号端点组成的通道叫缺省控制通道。一旦设 备加电并复位后,此通道即可使用。其它通道只在设备被设置后才存在。 USB系统软件在决定设备身份、设置要求和设置设备时使用缺省控制通道。 当设备被设置后,这个设备的特定软件还可使用该通道。USB系统软件保留 缺省控制通道的拥有权,协调其它客户软件对通道的使用。462013-8-16疋信息技术研究*Pocevio中国晋天一个客户软件一般都通过I/O请求包(IRP)来要求数据传送。然后,或者等待, 或者当传送完成后被通知。IRP的细节是由操作系统来指定的。客户软件提出与设 备上的端点建立某个方向的数据传送的请求,IRP就可简单地理解为这个请求。一 个客户软件可以要求一个通道回送所有的IRP。当关于IRP的总线传送结束时,无 论它是成功地完成,还是出现错误,客户软件都将获得通知说IRP完成了。如果通道上没有正在传送的数据,也没有数据想使用此通道,这个通道就处 于闲置状态。主机控制器对它不采取任何动作,也就是说,这个通道的端点会发 现没有任何的总线动作是冲它而来的。只有当有数据在通道上时,该通道才能发 现总线对它的动作.如果一个非同步通道遇到一个迫使它给主机发STALL的情况(参见第7章),或 者在任一个IRP中发现3个总线错误。这个IRP将被中止。其它所有突出的IRP也一 同被中止。通道不再接收任何IRP,直到客户软件从这个情况中恢复过来(恢复的 方式取决于软件的实现),而且承认这个中止或出现的错误,并发一个USBD Call 来表明它已承认。一个合适的状态信息将通知客户软件IRP的结果-一出错或中止。中国晋天一个IRP可能会需要多个数据净荷区來传递数据。这些数据区除最后一 个外,都具有数据净荷区的最大长度,最后一个数据区包含了这个IRP中剩 下的数据对这样的一个IRP,短包(也就是说未达到最大长度的数据区)在 数据输入时无法填完IRP数据缓冲区。这可能会有二种不同解释,它依赖于 客户软件的情况:如果该客户软件可以接受变长的IRP,那么,IRP数据缓冲区未被填满, 可以看作一个分限,说明一个IRP已成功结束,主机控制器可以准备接收下 一个 IRPTo如果该客户软件只收定长的IRP。那么,我们认为发生了一个错误,这 IRP将被中止,通道也会被阻塞,通道上的数据都中止。因为对这两种情况,主机控制器会有不同的反应,而且采取何种措施 不由控制器决定,所以对每个IRP都必须说明客户软件的具体要求。通道的端点可以用NAK信号來通知主机自己正忙,NAK不能作为向主机 反还IRP的中止条件。在一个给定的IRP处理过程中,可以遇到任意多个NAK ,NAK不构成错误,而且不作为上面所说的3种错误之一.482013-8-16普天信技术研究院言未来普天 Wevio-_醫一闕戕 向的。数据是流的形式,也就是该数据的内容不具有USB耍求的结构。数据从流通道 产与它们从流通道另一端流出时的顺序是一样的,流通道屮的通信流总是单方对丁在流通道中传送的数据,USB认为它来白同一个客户。USB系统软件不能够提供使用同 一流通道的多个客户的同步控制。在流通道中传送的数据遵循先进先出原则。流管流只能连到一个固定号码的端点上,或者流进,或者流出。(这个号码是由协议层决定 的)而具有这个号码的另一个方向的端点可以被分配给其它流通道。消息通道消息通道与端点的关系同
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!