第1章 绪论 1.1起因 Inte1公司开发的通用串行总线架构(USB)的目的主要基于以下三方面考虑: (一)计算机与电话之间的连接:显然用计算机来进行计算机通信将是下一代计算机基 本的应用。机器和人们的数据交互流动需要一个广泛而又便宜的连通网络。然而,由于目 前产业间的相互独立发展,尚未建立统一标准,而USB则可以广泛的连接计算机和电话。 (二)易用性:众所周知,P℃机的改装是极不灵活的。对用户友好的图形化接口和一些 软硬件机制的结合,加上新一代总线结构使得计算机的冲突大量减少,且易于改装。但以 终端用户的眼光来看,P℃机的输入/输出,如串行/并行端口、键盘、鼠标、操纵杆接口 等,均还没有达到即插即用的特性,USB正是在这种情况下问世的。 (三)端口扩充:外围设备的添加总是被相当有限的端口数目限制着。缺少一个双向、 价廉、与外设连接的中低速的总线,限制了外围设备(诸如电话/电传/调制解调器的适配 器、扫描仪、键盘、PDA)的开发。现有的连接只可对极少设备进行优化,对于PC机的新 的功能部件的添加需定义一个新的接口来满足上述需要,SB就应运而生。它是快速、双 向、同步、动态连接且价格低廉的串行接口,可以满足P℃机发展的现在和未来的需要。 1.2USB规范的目标 本书规范了USB的工业标准。该规范介绍了USB的总线特点、协议内容、事务种类、 总线管理、接口编程的设计,以及建立系统、制造外围设备所需的标准。 设计USB的目标就是使不同厂家所生产的设备可以在一个开放的体系下广泛的使用。 该规范改进了便携商务或家用电脑的现有体系结构,进而为系统生产商和外设开发商提供 了足够的空间来创造多功能的产品和开发广阔的市场,并不必使用陈旧的接口,害怕失去 兼容性。 1.3适用对象 ·该规范主要面向外设开发商和系统生产商。并且提供了许多有价值的信息给操作系 统/BIOS/设备驱动平台、IHVS/ISVS适配器,以及各种计算机生产厂家使用。 ·该USB版本的规范可以用来设计开发新产品,改进一些经典的模型,并开发相应的 软件。所有的产品都应遵循这个规范—USB1.1。 1.4本书结构 第一章至第四章为读者提供了一个纲要,第五章至第十章则提供了USB的所有的具体 技术细节。 ·外设厂家应着眼于第四章至第十章 ·USB的主机控制器应用主要参考第四章至第七章和第九、十章。 ·USB设备驱动厂家主要参考第四、七、九章 《Universal Serial Bus Device Class Specification》一书可以作为本书的补充 和参考。各种设备的规范是形形色色的,如有疑问,请与USB Implements Forum索要更 多细节。 读者也可以为向操作系统厂商索取关于USB的一些具体特性。 第2章 背景知识
第 1 章 绪论 1.1 起因 Intel 公司开发的通用串行总线架构(USB)的目的主要基于以下三方面考虑 (一)计算机与电话之间的连接 显然用计算机来进行计算机通信将是下一代计算机基 本的应用 机器和人们的数据交互流动需要一个广泛而又便宜的连通网络 然而 由于目 前产业间的相互独立发展,尚未建立统一标准,而 USB 则可以广泛的连接计算机和电话 (二)易用性 众所周知,PC 机的改装是极不灵活的 对用户友好的图形化接口和一些 软硬件机制的结合 加上新一代总线结构使得计算机的冲突大量减少 且易于改装 但以 终端用户的眼光来看 PC 机的输入/输出 如串行/并行端口 键盘 鼠标 操纵杆接口 等 均还没有达到即插即用的特性 USB 正是在这种情况下问世的 (三)端口扩充 外围设备的添加总是被相当有限的端口数目限制着 缺少一个双向 价廉 与外设连接的中低速的总线 限制了外围设备(诸如电话/电传/调制解调器的适配 器 扫描仪 键盘 PDA)的开发 现有的连接只可对极少设备进行优化 对于 PC 机的新 的功能部件的添加需定义一个新的接口来满足上述需要 USB 就应运而生 它是快速 双 向 同步 动态连接且价格低廉的串行接口 可以满足 PC 机发展的现在和未来的需要 1.2 USB 规范的目标 本书规范了 USB 的工业标准 该规范介绍了 USB 的总线特点 协议内容 事务种类 总线管理 接口编程的设计 以及建立系统 制造外围设备所需的标准 设计 USB 的目标就是使不同厂家所生产的设备可以在一个开放的体系下广泛的使用 该规范改进了便携商务或家用电脑的现有体系结构 进而为系统生产商和外设开发商提供 了足够的空间来创造多功能的产品和开发广阔的市场 并不必使用陈旧的接口 害怕失去 兼容性 1.3 适用对象 该规范主要面向外设开发商和系统生产商 并且提供了许多有价值的信息给操作系 统/BIOS/设备驱动平台 IHVS/ISVS 适配器 以及各种计算机生产厂家使用 该 USB 版本的规范可以用来设计开发新产品 改进一些经典的模型 并开发相应的 软件 所有的产品都应遵循这个规范——USB 1.1 1.4 本书结构 第一章至第四章为读者提供了一个纲要 第五章至第十章则提供了 USB 的所有的具体 技术细节 外设厂家应着眼于第四章至第十章 USB 的主机控制器应用主要参考第四章至第七章和第九 十章 USB 设备驱动厂家主要参考第四 七 九章 Universal Serial Bus Device Class Specification 一书可以作为本书的补充 和参考 各种设备的规范是形形色色的 如有疑问 请与 USB Implements Forum 索要更 多细节 读者也可以为向操作系统厂商索取关于 USB 的一些具体特性 第 2 章 背景知识
本章将对USB背景知识作简单描述,其中主要包括设计目标、总线特性,以及现行 技术特点。 2.1USB的设计目标 USB的工业标准是对PC机现有的体系结构的扩充。USB的设计主要遵循以下几个准 则: ·易于扩充多个外围设备: ·价格低廉,且支持12M比特率的数据传输; ·对声音音频和压缩视频等实时数据的充分支持: ·协议灵活,综合了同步和异步数据传输: ·兼容了不同设备的技术: ·综合了不同P℃机的结构和体系特点; ·提供一个标准接口,广泛接纳各种设备; ·赋予PC机新的功能,使之可以接纳许多新设备。 2.2使用的分类 表2-1按照数据传输率(UB可以达到)进行了分类。可以看到,12M比特率可以包括 中速和低速的情况。总的来说,中速的传输是同步的,低速的数据来自交互的设备,USB 设计的初衷是针对桌面电脑而不是应用于可移动的环境下的。软件体系通过对各种主机控 制器提供支持以保证将来对USB的扩充。 性能 应用 特性 低速 键盘、鼠标、游戏棒 低价格、热插拔、易用性 ·交互设备 ·10-20kb/s 中速 ISBN、PBX、POTS 低价格、易用性、动态插 ·电话、音频、压缩视频 拔、限定带宽和延迟 ·500kb/s-10Mb/s 高速 音频、磁盘 高带宽、限定延迟、易用性 ·音频、磁盘 ·25-500Mb/s 表2-1 2.3特色 USB的规范能针对不同的性能价格比要求提供不同的选择,以满足不同的系统和部件 及相应不同的功能,其主要特色可归结为以下几点: 终端用户的易用性: ·为接缆和连接头提供了单一模型: ·电气特性与用户无关; ·自我检测外设,自动地进行设备驱动、设置: ·动态连接,动态重置的外设。 广泛的应用性: ·适应不同设备,传输速率从几千比特率到几十兆比特率: ·在同一线上支持同步、异步两种传输模式: ·支持对多个设备的同时操作: ·可同时操作127个物理设备: ·在主机和设备之间可以传输多个数据和信息流: ·支持多功能的设备: ·利用低层协议,提高了总线利用率。 同步传输带宽: ·确定的带宽和低延迟适合电话系统和音频的应用;
本章将对 USB 背景知识作简单描述 其中主要包括设计目标 总线特性 以及现行 技术特点 2.1 USB 的设计目标 USB 的工业标准是对 PC 机现有的体系结构的扩充 USB 的设计主要遵循以下几个准 则 易于扩充多个外围设备 价格低廉 且支持 12M 比特率的数据传输 对声音音频和压缩视频等实时数据的充分支持 协议灵活 综合了同步和异步数据传输 兼容了不同设备的技术 综合了不同 PC 机的结构和体系特点 提供一个标准接口 广泛接纳各种设备 赋予 PC 机新的功能 使之可以接纳许多新设备 2.2 使用的分类 表 2-1 按照数据传输率(USB 可以达到)进行了分类 可以看到 12M 比特率可以包括 中速和低速的情况 总的来说 中速的传输是同步的 低速的数据来自交互的设备 USB 设计的初衷是针对桌面电脑而不是应用于可移动的环境下的 软件体系通过对各种主机控 制器提供支持以保证将来对 USB 的扩充 性能 应用 特性 低速 交互设备 10-20kb/s 键盘 鼠标 游戏棒 低价格 热插拔 易用性 中速 电话 音频 压缩视频 500kb/s-10Mb/s ISBN PBX POTS 低价格 易用性 动态插 拔 限定带宽和延迟 高速 音频 磁盘 25-500Mb/s 音频 磁盘 高带宽 限定延迟 易用性 表 2-1 2.3 特色 USB 的规范能针对不同的性能价格比要求提供不同的选择 以满足不同的系统和部件 及相应不同的功能 其主要特色可归结为以下几点 终端用户的易用性 为接缆和连接头提供了单一模型 电气特性与用户无关 自我检测外设 自动地进行设备驱动 设置 动态连接 动态重置的外设 广泛的应用性 适应不同设备 传输速率从几千比特率到几十兆比特率 在同一线上支持同步 异步两种传输模式 支持对多个设备的同时操作 可同时操作 127 个物理设备 在主机和设备之间可以传输多个数据和信息流 支持多功能的设备 利用低层协议 提高了总线利用率 同步传输带宽 确定的带宽和低延迟适合电话系统和音频的应用
·同步工作可以利用整个总线带宽。 灵活性: ·直接一系列大小的数据包,允许对设备缓冲器大小的选择; ·通过指定数据缓冲区大小和执行时间,支持各种数据传输率; ·通过协议对数据流进行缓冲处理。 健壮性: ·出错处理/差错恢复机制在协议中使用; ·对用户感觉而言,热插拔是完全实时的: ·可以对有缺陷设备进行认定。 与PC产业的一致性: ·协议的易实现性和完整性; ·与P℃机的即插即用的体系结构的一致; ·对现存操作系统接口的良好衔接。 价廉物美 ·以低廉的价格提供1.5兆比特率的子通道设施: ·将外设和主机硬件进行了最优化的集成; ·促进了低价格的外设的发展; ·廉价的电缆和连接头; ·运用了商业技术。 升级路径: ·体系结构的可升级性支持了在一个系统中可以有多个USB主机控制器。 第3章 体系结构概述 本章主要内容是关于USB的概述和一些关键的概念。USB是一种电缆总线,支持在主 机和各式各样的即插即用的外设之间进行数据传输。由主机预定的标准的协议使各种设备 分享USB带宽,当其它设备和主机在运行时,总线允许添加、设置、使用以及拆除外设。 后续章节将着重描述USB的细节。 3.1USB系统的描述 一个USB系统主要被定义为三个部分: ·USB的互连; ·USB的设备; ·USB的主机。 USB的互连是指USB设备与主机之间进行连接和通信的操作,主要包括以下几方面: ·总线的拓扑结构:USB设备与主机之间的各种连接方式; ·内部层次关系:根据性能叠置,USB的任务被分配到系统的每一个层次; ·数据流模式:描述了数据在系统中通过USB从产生方到使用方的流动方式: ·USB的调度:USB提供了一个共享的连接。对可以使用的连接进行了调度以支持同 步数据传输,并且避免的优先级判别的开销。 USB的设备及主机的细节将讲述于后。 3.1.1总线布局技术
同步工作可以利用整个总线带宽 灵活性 直接一系列大小的数据包 允许对设备缓冲器大小的选择 通过指定数据缓冲区大小和执行时间 支持各种数据传输率 通过协议对数据流进行缓冲处理 健壮性 出错处理/差错恢复机制在协议中使用 对用户感觉而言 热插拔是完全实时的 可以对有缺陷设备进行认定 与 PC 产业的一致性 协议的易实现性和完整性 与 PC 机的即插即用的体系结构的一致 对现存操作系统接口的良好衔接 价廉物美 以低廉的价格提供 1.5 兆比特率的子通道设施 将外设和主机硬件进行了最优化的集成 促进了低价格的外设的发展 廉价的电缆和连接头 运用了商业技术 升级路径 体系结构的可升级性支持了在一个系统中可以有多个 USB 主机控制器 第 3 章 体系结构概述 本章主要内容是关于 USB 的概述和一些关键的概念 USB 是一种电缆总线 支持在主 机和各式各样的即插即用的外设之间进行数据传输 由主机预定的标准的协议使各种设备 分享 USB 带宽 当其它设备和主机在运行时 总线允许添加 设置 使用以及拆除外设 后续章节将着重描述 USB 的细节 3.1 USB 系统的描述 一个 USB 系统主要被定义为三个部分 USB 的互连 USB 的设备 USB 的主机 USB 的互连是指 USB 设备与主机之间进行连接和通信的操作 主要包括以下几方面 总线的拓扑结构 USB 设备与主机之间的各种连接方式 内部层次关系 根据性能叠置 USB 的任务被分配到系统的每一个层次 数据流模式 描述了数据在系统中通过 USB 从产生方到使用方的流动方式 USB 的调度 USB 提供了一个共享的连接 对可以使用的连接进行了调度以支持同 步数据传输 并且避免的优先级判别的开销 USB 的设备及主机的细节将讲述于后 3.1.1 总线布局技术
USB连接了USB设备和USB主机,USB的物理连接是有层次性的星型结构。每个网络 集线器是在星型的中心,每条线段是点点连接。从主机到集线器或其功能部件,或从集线 器到集线器或其功能部件,从图3-1中可看出USB的拓扑结构。 3.1.1.1USB的主机 在任何USB系统中,只有一个主机。USB和主机系统的接口称作主机控制器,主机控 Host(Root Tier】 Tier 1 Tier 2 Tier 3 Node Tier 4 间o 图3一1总线的拓扑结构 制器可由硬件、固件和软件综合实现。根集线器是由主机系统整合的,用以提供更多的连 接点。关于主机更多的内容可参见4.9节和第9章。 4.1.1.2USB的设备 USB的设备如下所示: ·网络集线器,向SB提供了更多的连接点: ·功能器件:为系统提供具体功能,如ISD的连接,数字的游戏杆或扬声器。 USB设备提供的USB标准接口的主要依据: ·对USB协议的运用; ·对标准USB操作的反馈,如设置和复位; ·标准性能的描述性信息; 关于USB设备的更多信息请参见3.8节和第8章。 3.2物理接口 USB的物理接口的电气特性在第六章,机械特性在第五章详细介绍。 3.2.1电气特性 USB传送信号和电源是通过一种四线的电缆,图3-2中的两根线是用于发送信号。 存在两种数据传输率: VBUS VBUS D+ D+ D 000000 D- GND GND 图3-2USB的电缆 ·USB的高速信号的比特率定为12Mbps: ·低速信号传送的模式定为1.5Mbps;
USB 连接了 USB 设备和 USB 主机 USB 的物理连接是有层次性的星型结构 每个网络 集线器是在星型的中心 每条线段是点点连接 从主机到集线器或其功能部件 或从集线 器到集线器或其功能部件 从图 3-1 中可看出 USB 的拓扑结构 3.1.1.1 USB 的主机 在任何 USB 系统中 只有一个主机 USB 和主机系统的接口称作主机控制器 主机控 制器可由硬件 固件和软件综合实现 根集线器是由主机系统整合的 用以提供更多的连 接点 关于主机更多的内容可参见 4.9 节和第 9 章 图 3 1 总线的拓扑结构 4.1.1.2 USB 的设备 USB 的设备如下所示: 网络集线器 向 USB 提供了更多的连接点; 功能器件 为系统提供具体功能 如 ISDN 的连接 数字的游戏杆或扬声器 USB 设备提供的 USB 标准接口的主要依据 对 USB 协议的运用 对标准 USB 操作的反馈 如设置和复位 标准性能的描述性信息 关于 USB 设备的更多信息请参见 3.8 节和第 8 章 3.2 物理接口 USB 的物理接口的电气特性在第六章,机械特性在第五章详细介绍 3 2 1 电气特性 USB 传送信号和电源是通过一种四线的电缆 图 3-2 中的两根线是用于发送信号 存在两种数据传输率 图 3-2 USB 的电缆 USB 的高速信号的比特率定为 12Mbps 低速信号传送的模式定为 1.5Mbps
低速模式需要更少的I保护。两种模式可在用同一USB总线传输的情况下自动地动 态切换。因为过多的低速模式的使用将降低总线的利用率,所以该模式只支持有限个低带 宽的设备(如鼠标)。时钟被调制后与差分数据一同被传送出去,时钟信号被转换成NRZI 码,并填充了比特以保证转换的连续性,每一数据包中附有同步信号以使得收方可还原出 原时钟信号。 电缆中包括VBUS、GND二条线,向设备提供电源。VBUS使用+5V电源。USB对 电缆长度的要求很宽,最长可为几米。通过选择合适的导线长度以匹配指定的IR drop和 其它一些特性,如设备能源预算和电缆适应度。为了保证足够的输入电压和终端阻抗。重 要的终端设备应位于电缆的尾部。在每个端口都可检测终端是否连接或分离,并区分出高 速,或低速设备。 3.2.2机械特性 电缆和连接器的机械特性将在第5章详述。所有设备都有一个上行的连接。上行连接 器和下行连接器是不可简单的互换,这样就避免了集线器间的非法的循环往复的连接,电 缆中有四根导线:一对互相缠绕的标准规格线,一对符合标准的电源线,连接器有四个方 向,具有屏蔽层,以避免外界干扰,并有易拆装的特性。 3.3电源 主要包括两方面: ·电源分配:即USB的设备如何通过USB分配得到由主计算机提供的能源: ·电源管理:即通过电源管理系统,USB的系统软件和设备如何与主机协调工作。 3.3.1电源分配 每个USB单元通过电缆只能提供有限的能源。主机对那种直接相连的USB设备提供电 源供其使用。并且每个SB设备都可能有自己的电源。那些完全依靠电缆提供能源的设备 称作“总线供能”设备。相反,那些可选择能源来源的设备称作“自供电”设备。而且, 集线器也可由与之相连的US$设备提供电源。受一定布局限制的带有“总线供能”集线器 的体系结构将在第十章讨论。在图4-4(位于3.8)中,键盘,输入笔和鼠标均为“总线供 能”设备。 3.3.2电源管理 USB主机与USB系统有相互独立的电源管理系统。USB的系统软件可以与主机的能源 管理系统结合共同处理各种电源子件如挂起、唤醒,并且有特色的是,SB设备应用特有 的电源管理特性,可让系统软件和控制其电源管理。 USB的电源分配和电源管理特性使之可以被设计在电源传感系统中,如采用电池的笔 记本电脑。 3.4总线协议 USB总线属一种轮讯方式的总线,主机控制端口初始化所有的数据传输。 每一总线执行动作最多传送三个数据包。按照传输前制定好的原则,在每次传送开始 时,主机控制器发送一个描述传输运作的种类、方向,USB设备地址和终端号的USB数据 包,这个数据包通常称为标志包(token packet)。USB设备从解码后的数据包的适当位置 取出属于自己的数据。数据传输方向不是从主机到设备就是从设备到主机。在传输开始 时,由标志包来标志数据的传输方向,然后发送端开始发送包含信息的数据包或表明没有 数据传送。接收端也要相应发送一个握手的数据包表明是否传送成功。发送端和接收端之 间的USB数据传输,在主机和设备的端口之间,可视为一个通道。存在两种类型的通道: 流和消息。流的数据不像消息的数据,它没有SB所定义的结构,而且通道与数据带宽、 传送服务类型,端口特性(如方向和缓冲区大小)有关。多数通道在USB设备设置完成后 即存在。USB中有一个特殊的通道一缺省控制通道,它属于消息通道,当设备一启动即 存在,从而为设备的设置、查询状况和输入控制信息提供一个入口。 事务预处理允许对一些数据流的通道进行控制,从而在硬件级上防止了对缓冲区的高 估或低估,通过发送不确认握手信号从而阻塞了数据的传输速度。当不确认信号发过后
低速模式需要更少的 EMI 保护 两种模式可在用同一 USB 总线传输的情况下自动地动 态切换 因为过多的低速模式的使用将降低总线的利用率 所以该模式只支持有限个低带 宽的设备(如鼠标) 时钟被调制后与差分数据一同被传送出去 时钟信号被转换成 NRZI 码 并填充了比特以保证转换的连续性 每一数据包中附有同步信号以使得收方可还原出 原时钟信号 电缆中包括 VBUS GND 二条线 向设备提供电源 VBUS 使用+5V 电源 USB 对 电缆长度的要求很宽 最长可为几米 通过选择合适的导线长度以匹配指定的 IR drop 和 其它一些特性 如设备能源预算和电缆适应度 为了保证足够的输入电压和终端阻抗 重 要的终端设备应位于电缆的尾部 在每个端口都可检测终端是否连接或分离 并区分出高 速 或低速设备 3.2.2 机械特性 电缆和连接器的机械特性将在第 5 章详述 所有设备都有一个上行的连接 上行连接 器和下行连接器是不可简单的互换 这样就避免了集线器间的非法的循环往复的连接 电 缆中有四根导线 一对互相缠绕的标准规格线 一对符合标准的电源线 连接器有四个方 向 具有屏蔽层 以避免外界干扰 并有易拆装的特性 3.3 电源 主要包括两方面 电源分配 即 USB 的设备如何通过 USB 分配得到由主计算机提供的能源 电源管理 即通过电源管理系统 USB 的系统软件和设备如何与主机协调工作 3.3.1 电源分配 每个 USB 单元通过电缆只能提供有限的能源 主机对那种直接相连的 USB 设备提供电 源供其使用 并且每个 USB 设备都可能有自己的电源 那些完全依靠电缆提供能源的设备 称作 总线供能 设备 相反 那些可选择能源来源的设备称作 自供电 设备 而且 集线器也可由与之相连的 USB 设备提供电源 受一定布局限制的带有 总线供能 集线器 的体系结构将在第十章讨论 在图 4-4(位于 3.8)中 键盘 输入笔和鼠标均为 总线供 能 设备 3.3.2 电源管理 USB 主机与 USB 系统有相互独立的电源管理系统 USB 的系统软件可以与主机的能源 管理系统结合共同处理各种电源子件如挂起 唤醒 并且有特色的是 USB 设备应用特有 的电源管理特性 可让系统软件和控制其电源管理 USB 的电源分配和电源管理特性使之可以被设计在电源传感系统中 如采用电池的笔 记本电脑 3.4 总线协议 USB 总线属一种轮讯方式的总线 主机控制端口初始化所有的数据传输 每一总线执行动作最多传送三个数据包 按照传输前制定好的原则 在每次传送开始 时 主机控制器发送一个描述传输运作的种类 方向 USB 设备地址和终端号的 USB 数据 包 这个数据包通常称为标志包(token packet) USB 设备从解码后的数据包的适当位置 取出属于自己的数据 数据传输方向不是从主机到设备就是从设备到主机 在传输开始 时 由标志包来标志数据的传输方向 然后发送端开始发送包含信息的数据包或表明没有 数据传送 接收端也要相应发送一个握手的数据包表明是否传送成功 发送端和接收端之 间的 USB 数据传输 在主机和设备的端口之间 可视为一个通道 存在两种类型的通道 流和消息 流的数据不像消息的数据 它没有 USB 所定义的结构 而且通道与数据带宽 传送服务类型 端口特性 如方向和缓冲区大小 有关 多数通道在 USB 设备设置完成后 即存在 USB 中有一个特殊的通道——缺省控制通道 它属于消息通道 当设备一启动即 存在 从而为设备的设置 查询状况和输入控制信息提供一个入口 事务预处理允许对一些数据流的通道进行控制 从而在硬件级上防止了对缓冲区的高 估或低估 通过发送不确认握手信号从而阻塞了数据的传输速度 当不确认信号发过后
若总线有空闲,数据传输将再做一次。这种流控制机制允许灵活的任务安排,可使不同性 质的流通道同时正常工作,这样多种流通常可在不同间隔进行工作,传送不同大小的数据 包。 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 系统 软件与设备软件间有三种相互作用方式 设备编号和设置 同步数据传输 异步数据传输 电源管理