若总线有空闲,数据传输将再做一次。这种流控制机制允许灵活的任务安排,可使不同性 质的流通道同时正常工作,这样多种流通常可在不同间隔进行工作,传送不同大小的数据 包。 3.5健壮性 USB健壮性的特征在于: ·使用差分的驱动接收和防护,以保证信号完整性: ·在数据和控制信息上加了循环冗余码(CRC); ·对装卸的检测和系统级资源的设置: ·对丢失或损坏的数据包暂停传输、利用协议自我恢复: ·对流数据进行控制,以保证同步信号和硬件缓冲管理的安全: ·数据和控制通道的建立,使功能部件的相互不利的影响独立开,消除了负作用。 3.5.1错误检测 S$传输介质产生的错误率是与自然界的异常现象的概率相吻合,是瞬时一现的,因 此就要在每个数据包中加入检测位来发现这些瞬时的错误,并且提供了一系列硬件和软件 设施来保证数据的正确性。 协议中对每个包中的控制和数据位都提供了循环冗余码校验,若出现了循环冗余码的 错误则被认为是该数据包己被损坏,循环冗余码可对一位或两位的错误进行100%的修复。 3.5.2错误处理 协议在硬件或软件级上提供对错误的处理。硬件的错误处理包括汇报并重新进行上一 次失败的传输、传输中若遇到错误,USB主机控制器将重新进行传输,最多可再进行三 次。若错误依然存在,则对客户端软件报告错误,客户端软件可用一种特定的方法进行处 理。 3.6系统设置 USB设备可以随时的安装和折卸,因此,系统软件在物理的总线布局上必须支持这种 动态变化。 3.6.1USB设备的安装 所有的USB设备都是通过端口接在USB上,网络集线器知道这些指定的USB设备,集 线器有一个状态指示器指明在其某个端口上,SB设备是否被安装或拆除了,主机将所有 的集线器排成队列以取回其状态指示。在USB设备安装后,主机通过设备控制通道激活该 端口并以预设的地址值给USB设备。 主机对每个设备指定唯一的USB地址。并检测这种新装的USB设备是集线器还是功能 部件。主机为USB设备建立了控制通道,使用指定的USB的地址和零号端口。 如果安装的USB设备是集线器,并且USB设备连在其端口上,那上述过程对每个USB 设备的安装都要做一遍。 如果安装的设备是功能部件,那么主机中关于该设备的软件将因设备的连接而被引 发。 3.6.2USB设备的拆卸 当USB设备从集线器的端口拆除后,集线器关闭该端口,并且向主机报告该设备已不 存在。USB的系统软件将准确进行处理,如果去除的SB设备上集线器,USB的系统软件 将对集线器反连在其上的所有设备进行处理。 3.6.3总线标号 总线标号就是对连接在总线上的设备指定唯一的地址的一种动作,因为USB允许USB 设备在任何时刻从USB上安装或拆卸,所以总线标号是USB的系统软件始终要作的动作, 而且总线标号还包括对拆除设备的检测和处理。 3.7数据流种类 数据和控制信号在主机和USB设备间的交换存在两种通道:单向和双向。USB的数据 传送是在主机软件和一个USB设备的指定端口之间。这种主机软件和USB设备的端口间的 联系称作通道。总的来说,各通道之间的数据流动是相互独立的。一个指定的USB设备可
若总线有空闲 数据传输将再做一次 这种流控制机制允许灵活的任务安排 可使不同性 质的流通道同时正常工作 这样多种流通常可在不同间隔进行工作 传送不同大小的数据 包 3.5 健壮性 USB 健壮性的特征在于 使用差分的驱动接收和防护 以保证信号完整性 在数据和控制信息上加了循环冗余码(CRC) 对装卸的检测和系统级资源的设置 对丢失或损坏的数据包暂停传输 利用协议自我恢复 对流数据进行控制 以保证同步信号和硬件缓冲管理的安全 数据和控制通道的建立 使功能部件的相互不利的影响独立开 消除了负作用 3.5.1 错误检测 USB 传输介质产生的错误率是与自然界的异常现象的概率相吻合 是瞬时一现的 因 此就要在每个数据包中加入检测位来发现这些瞬时的错误 并且提供了一系列硬件和软件 设施来保证数据的正确性 协议中对每个包中的控制和数据位都提供了循环冗余码校验 若出现了循环冗余码的 错误则被认为是该数据包已被损坏 循环冗余码可对一位或两位的错误进行 100%的修复 3.5.2 错误处理 协议在硬件或软件级上提供对错误的处理 硬件的错误处理包括汇报并重新进行上一 次失败的传输 传输中若遇到错误 USB 主机控制器将重新进行传输 最多可再进行三 次 若错误依然存在 则对客户端软件报告错误 客户端软件可用一种特定的方法进行处 理 3.6 系统设置 USB 设备可以随时的安装和折卸 因此 系统软件在物理的总线布局上必须支持这种 动态变化 3.6.1 USB 设备的安装 所有的 USB 设备都是通过端口接在 USB 上 网络集线器知道这些指定的 USB 设备 集 线器有一个状态指示器指明在其某个端口上 USB 设备是否被安装或拆除了 主机将所有 的集线器排成队列以取回其状态指示 在 USB 设备安装后 主机通过设备控制通道激活该 端口并以预设的地址值给 USB 设备 主机对每个设备指定唯一的 USB 地址 并检测这种新装的 USB 设备是集线器还是功能 部件 主机为 USB 设备建立了控制通道 使用指定的 USB 的地址和零号端口 如果安装的 USB 设备是集线器 并且 USB 设备连在其端口上 那上述过程对每个 USB 设备的安装都要做一遍 如果安装的设备是功能部件 那么主机中关于该设备的软件将因设备的连接而被引 发 3.6.2 USB 设备的拆卸 当 USB 设备从集线器的端口拆除后 集线器关闭该端口 并且向主机报告该设备已不 存在 USB 的系统软件将准确进行处理 如果去除的 USB 设备上集线器 USB 的系统软件 将对集线器反连在其上的所有设备进行处理 3.6.3 总线标号 总线标号就是对连接在总线上的设备指定唯一的地址的一种动作 因为 USB 允许 USB 设备在任何时刻从 USB 上安装或拆卸 所以总线标号是 USB 的系统软件始终要作的动作 而且总线标号还包括对拆除设备的检测和处理 3.7 数据流种类 数据和控制信号在主机和 USB 设备间的交换存在两种通道 单向和双向 USB 的数据 传送是在主机软件和一个 USB 设备的指定端口之间 这种主机软件和 USB 设备的端口间的 联系称作通道 总的来说 各通道之间的数据流动是相互独立的 一个指定的 USB 设备可
有许多通道。例如,一个USB设备存在一个端口,可建立一个向其它USB设备的端口,发 送数据的通道,它可建立一个从其它USB设备的端口接收数据的通道。 USB的结构包含四种基本的数据传输类型: ·控制数据传送:在设备连接时用来对设备进行设置,还可对指定设备进行控制,如 通道控制: ·批量数据传送:大批量产生并使用的数据,在传输约束下,具有很广的动态范围: ·中断数据的传送:用来描述或匹配人的感觉或对特征反应的回馈。 ·同步数据的传送:由预先确定的传送延迟来填满预定的USB带宽。 对于任何对定的设备进行设置时一种通道只能支持上述一种方式的数据传输,数据流 模式的更多细节在第四章中详述。 3.7.1控制数据传送 当USB设备初次安装时,USB系统软件使用控制数据对设备进行设置,设备驱动程序 通过特定的方式使用控制数据来传送,数据传送是无损性的。 3.7.2批量数据传送 批量数据是由大量的数据组成,如使用打印机和扫描仪时,批量数据是连续的。在硬 件级上可使用错误检测可以保证可靠的数据传输,并在硬件级上引入了数据的多次传送。 此外根据其它一些总线动作,被大量数据占用的带宽可以相应的进行改变 3.7.3中断数据传输 中断数据是少量的,且其数据延迟时间也是有限范围的。这种数据可由设备在任何时 刻发送,并且以不慢于设备指定的速度在USB上传送。 中断数据一般由事件通告,特征及座标号组成,只有一个或几个字节。匹配定点设备 的座标即为一例,虽然精确指定的传输率不必要,但USB必须对交互数据提供一个反应时 间的最低界限。 3.7.4同步传输 同步数据的建立、传送和使用时是连续且实时的,同步数据是以稳定的速率发送和接 收实时的信息,同步数据要使接收者与发送者保持相同的时间安排,除了传输速率,同步 数据对传送延迟非常敏感。所以同步通道的带宽的确定,必须满足对相关功能部件的取样 特性。不可避免的信号延迟与每个端口的可用缓冲区数有关。 一个典型的同步数据的例子是语音,如果数据流的传送率不能保持,数据流是否丢失 将取决于缓冲区的大小和损坏的程度。即使数据在S$硬件上以合适的速率传送,软件造 成的传送延迟将对那些如电话会议等实时系统的应用造成损害。 实时的传送同步数据肯定会发生潜在瞬时的数据流丢失现象,换句话说,即使许多硬 件机制,如重传的引入也不能避免错误的产生。实际应用中,SB的数据出错率小到几乎 可以忽略不计。从USB的带宽中,给USB同步数据流分配了专有的一部分以满足所想得到 的传速率,USB还为同步数据的传送设计了最少延迟时间。 3.7.5指定USB带宽 USB的带宽分配给各个通道,当一个通道建立后,USB就分配给它一定的带宽,USB设 备需要提供一些数据缓冲区。若USB提供了更多带宽,则需更多的缓冲区。USB的体系要 保证缓冲引导的硬件的延迟限定在几毫秒内。 USB的带宽容量可以容纳多种不同的数据流,因此保证USB上可以连接大量设备,如 可以容纳从1B+D直到T1速率范围的电信设备。同时USB支持在同一时刻不同设备具有不 同比特率,并具有一个动态变动的范围。 USB规范对总线的每类转输规定的具体的原则。 3.8USB设备 USB设备分为诸如集线器、分配器或文本设备等种类。集线器类指的是一种提供USB 连接点的设备(详见第十章),USB设备需要提供自检和属性设置的信息,USB设备必须在 任何时刻执行与所定义的SB设备的状态相一致的动态。 3.8.1设备特性 当设备被连接、编号后,该设备就拥有一个唯一的USB地址。设备就是通过该USB地 址被操作的,每一个USB设备通过一个或多个通道与主机通讯。所有USB设备必须在零号
有许多通道 例如 一个 USB 设备存在一个端口 可建立一个向其它 USB 设备的端口 发 送数据的通道 它可建立一个从其它 USB 设备的端口接收数据的通道 USB 的结构包含四种基本的数据传输类型 控制数据传送 在设备连接时用来对设备进行设置 还可对指定设备进行控制 如 通道控制 批量数据传送 大批量产生并使用的数据 在传输约束下 具有很广的动态范围 中断数据的传送 用来描述或匹配人的感觉或对特征反应的回馈 同步数据的传送 由预先确定的传送延迟来填满预定的 USB 带宽 对于任何对定的设备进行设置时一种通道只能支持上述一种方式的数据传输 数据流 模式的更多细节在第四章中详述 3.7.1 控制数据传送 当 USB 设备初次安装时 USB 系统软件使用控制数据对设备进行设置 设备驱动程序 通过特定的方式使用控制数据来传送 数据传送是无损性的 3.7.2 批量数据传送 批量数据是由大量的数据组成 如使用打印机和扫描仪时 批量数据是连续的 在硬 件级上可使用错误检测可以保证可靠的数据传输 并在硬件级上引入了数据的多次传送 此外根据其它一些总线动作 被大量数据占用的带宽可以相应的进行改变 3.7.3 中断数据传输 中断数据是少量的 且其数据延迟时间也是有限范围的 这种数据可由设备在任何时 刻发送 并且以不慢于设备指定的速度在 USB 上传送 中断数据一般由事件通告 特征及座标号组成 只有一个或几个字节 匹配定点设备 的座标即为一例 虽然精确指定的传输率不必要 但 USB 必须对交互数据提供一个反应时 间的最低界限 3.7.4 同步传输 同步数据的建立 传送和使用时是连续且实时的 同步数据是以稳定的速率发送和接 收实时的信息 同步数据要使接收者与发送者保持相同的时间安排 除了传输速率 同步 数据对传送延迟非常敏感 所以同步通道的带宽的确定 必须满足对相关功能部件的取样 特性 不可避免的信号延迟与每个端口的可用缓冲区数有关 一个典型的同步数据的例子是语音 如果数据流的传送率不能保持 数据流是否丢失 将取决于缓冲区的大小和损坏的程度 即使数据在 USB 硬件上以合适的速率传送 软件造 成的传送延迟将对那些如电话会议等实时系统的应用造成损害 实时的传送同步数据肯定会发生潜在瞬时的数据流丢失现象 换句话说 即使许多硬 件机制 如重传的引入也不能避免错误的产生 实际应用中 USB 的数据出错率小到几乎 可以忽略不计 从 USB 的带宽中 给 USB 同步数据流分配了专有的一部分以满足所想得到 的传速率 USB 还为同步数据的传送设计了最少延迟时间 3.7.5 指定 USB 带宽 USB 的带宽分配给各个通道 当一个通道建立后 USB 就分配给它一定的带宽 USB 设 备需要提供一些数据缓冲区 若 USB 提供了更多带宽 则需更多的缓冲区 USB 的体系要 保证缓冲引导的硬件的延迟限定在几毫秒内 USB 的带宽容量可以容纳多种不同的数据流 因此保证 USB 上可以连接大量设备 如 可以容纳从 1B+D 直到 T1 速率范围的电信设备 同时 USB 支持在同一时刻不同设备具有不 同比特率 并具有一个动态变动的范围 USB 规范对总线的每类转输规定的具体的原则 3.8 USB 设备 USB 设备分为诸如集线器 分配器或文本设备等种类 集线器类指的是一种提供 USB 连接点的设备(详见第十章) USB 设备需要提供自检和属性设置的信息 USB 设备必须在 任何时刻执行与所定义的 USB 设备的状态相一致的动态 3.8.1 设备特性 当设备被连接 编号后 该设备就拥有一个唯一的 USB 地址 设备就是通过该 USB 地 址被操作的 每一个 USB 设备通过一个或多个通道与主机通讯 所有 USB 设备必须在零号
端口上有一指定的通道,每个USB设备的USB控制通道将与之相连。通过此控制通道,所 有的USB设备都列入一个共同的准入机制,以获得控制操作的信息。 在零号端口上,控制通道中的信息应完整的描述USB设备、此类信息主要有以下几 类: ·标准信息:这类信息是对所有USB设备的共同性的定义,包括一些如厂商识别、设 备种类、电源管理等的项目。设备设置、接口及终端的描述在此给出。关于这些具体的描 述信息在第九章给出; ·类别信息:此类信息给出了不同USB的设备类的定义,主要反映其不同点。 ·USB厂商信息:USB设备的厂商可自由的提供各种有关信息,其格式不受该规范制 约。此外,每个USB设备均提供USB的控制和状态信息。 3.8.2设备描述 主要分为两种设备类:集线器和功能部件。只有集线器可以提供更多的USB的连接 点,功能部件为主机提供了具体的功能。 3.8.2.1集线器 在即插即用的USB的结构体系中,集线器是一种重要设备。图3-3所示是 ▣ Port Port Port #1 #2 #3 Upstream HUB Port Port #4 Port Port Port #7 6 #5 图3-3典型集线器 一种典型的集线器。从用户的观点出发,集线器极大简化了USB的互连复杂性,而且以很 低的价格和高易用性提供了设备的健壮性。 集线器串接在集中器上,可让不同性质的设备连接在SB上,连接点称作端口。每 个集线器将一个连接点转化成许多的连接点。并且该体系结构支持多个集线器的连接。 每个集线器的上游端口向主机方向进行连接。每个集线器的下游端口允许连接另外的 集线器或功能部件,集线器可检测每个下游端口的设备的安装或拆卸,并可对下游端口的 设备分配能源,每个下游端口都具有独立的能力,不论高速或低速设备均可连接。集线器 可将低速和高速端口的信号分开。 一个集线器包括两部分:集线控制器(Controller)和集线放大器(Repeater)。集线 放大器是一种在上游端口和下游端口之间的协议控制开关。而且硬件上支持复位、挂起、 唤醒的信号。集线控制器提供了接口寄存器用于与主机之间的通信、集线器允许主机对其 特定状态和控制命令进行设置,并监视和控制其端口。 3.8.2.2功能部件
端口上有一指定的通道 每个 USB 设备的 USB 控制通道将与之相连 通过此控制通道 所 有的 USB 设备都列入一个共同的准入机制 以获得控制操作的信息 在零号端口上 控制通道中的信息应完整的描述 USB 设备 此类信息主要有以下几 类 标准信息 这类信息是对所有 USB 设备的共同性的定义 包括一些如厂商识别 设 备种类 电源管理等的项目 设备设置 接口及终端的描述在此给出 关于这些具体的描 述信息在第九章给出 类别信息 此类信息给出了不同 USB 的设备类的定义 主要反映其不同点 USB 厂商信息 USB 设备的厂商可自由的提供各种有关信息 其格式不受该规范制 约 此外 每个 USB 设备均提供 USB 的控制和状态信息 3.8.2 设备描述 主要分为两种设备类 集线器和功能部件 只有集线器可以提供更多的 USB 的连接 点 功能部件为主机提供了具体的功能 3.8.2.1 集线器 在即插即用的 USB 的结构体系中 集线器是一种重要设备 图 3-3 所示是 图 –3 典型集线器 一种典型的集线器 从用户的观点出发 集线器极大简化了 USB 的互连复杂性 而且以很 低的价格和高易用性提供了设备的健壮性 集线器串接在集中器上 可让不同性质的设备连接在 USB 上 连接点称作端口 每 个集线器将一个连接点转化成许多的连接点 并且该体系结构支持多个集线器的连接 每个集线器的上游端口向主机方向进行连接 每个集线器的下游端口允许连接另外的 集线器或功能部件 集线器可检测每个下游端口的设备的安装或拆卸 并可对下游端口的 设备分配能源 每个下游端口都具有独立的能力 不论高速或低速设备均可连接 集线器 可将低速和高速端口的信号分开 一个集线器包括两部分 集线控制器 Controller 和集线放大器(Repeater) 集线 放大器是一种在上游端口和下游端口之间的协议控制开关 而且硬件上支持复位 挂起 唤醒的信号 集线控制器提供了接口寄存器用于与主机之间的通信 集线器允许主机对其 特定状态和控制命令进行设置 并监视和控制其端口 3.8.2.2 功能部件
功能部件是一种通过总线进行发送接收数据和控制信息的USB设备,通过一根电缆连 接在集线器的某个端口上,功能设备一般是一种相互无关的外设。然而一个物理单元中可 以有多个功能部件和一个内置集线器,并利用一根USB电缆,这通常被称为复合设备,即 一个集线器连向主机,并有一个或多个不可拆卸的USB设备连在其上。 每个功能设备都包含设置信息,来描述该设备的性能和所需资源。主机要在功能部件 USB 典型的USB体系结构 Hub/Function Hub/Function Host/Hub Monitor ouse Function Function 图4-4台式机环境下的集线器 使用前对其进行设置。设置信息包括USB带宽分配,选择设备的设置信息等。 下机列举了一些功能部件: ·定位设备:如鼠标或光笔: ·输入设备:如键盘; ·电信适配器:如ISDN。 3.9USB主机:硬件和软件 USB的主机通过主机控制器与USB设备进行交互。主机功能如下: ·检测USB设备的安装和拆卸 ·管理在主机和USB设备之间的控制流: ·管理在主机和USB设备之间的数据流: ·收集状态和动作信息; ·提供能量给连接的USB设备。 主机上USB的系统软件管理USB设备和主机上该设备软件之间的相互交互,USB系统 软件与设备软件间有三种相互作用方式: ·设备编号和设置; ·同步数据传输: ·异步数据传输: ·电源管理
功能部件是一种通过总线进行发送接收数据和控制信息的 USB 设备 通过一根电缆连 接在集线器的某个端口上 功能设备一般是一种相互无关的外设 然而一个物理单元中可 以有多个功能部件和一个内置集线器 并利用一根 USB 电缆 这通常被称为复合设备 即 一个集线器连向主机 并有一个或多个不可拆卸的 USB 设备连在其上 每个功能设备都包含设置信息 来描述该设备的性能和所需资源 主机要在功能部件 使用前对其进行设置 设置信息包括 USB 带宽分配 选择设备的设置信息等 典型的 USB 体系结构 图 4 –4 台式机环境下的 集线器 下机列举了一些功能部件 定位设备 如鼠标或光笔 输入设备 如键盘 电信适配器 如 ISDN 3.9 USB 主机 硬件和软件 USB 的主机通过主机控制器与 USB 设备进行交互 主机功能如下 检测 USB 设备的安装和拆卸 管理在主机和 USB 设备之间的控制流 管理在主机和 USB 设备之间的数据流 收集状态和动作信息 提供能量给连接的 USB 设备 主机上 USB 的系统软件管理 USB 设备和主机上该设备软件之间的相互交互 USB 系统 软件与设备软件间有三种相互作用方式 设备编号和设置 同步数据传输 异步数据传输 电源管理
·设备和总线管理信息。 只要可能,USB系统软件就会使用目前的主机软件接口来管理上述几种方式。 3.10体系结构的扩充 USB的体系结构包含主机控制驱动器和USB驱动器之间的接口的扩展,使多个主机控 制器和主机控制驱动器的使用成为可能
设备和总线管理信息 只要可能 USB 系统软件就会使用目前的主机软件接口来管理上述几种方式 3.10 体系结构的扩充 USB 的体系结构包含主机控制驱动器和 USB 驱动器之间的接口的扩展 使多个主机控 制器和主机控制驱动器的使用成为可能