USB 2.0 与 OTG 规范及开发指南 
目录 
第 1 章  术语和缩略词 ......................................................................................................................... 6 
第 2 章  绪论 ......................................................................................................................................... 9 
2.1    起因 ......................................................................................................................................... 9 
2.2    USB 规范的目标 .................................................................................................................... 9 
2.3    适用对象 ................................................................................................................................. 9 
2.4    本书结构 ................................................................................................................................. 9 
第 3 章  背景知识 ............................................................................................................................... 10 
3.1    USB 的设计目标 .................................................................................................................. 10 
3.2    使用的分类 ........................................................................................................................... 10 
3.3    特色 ....................................................................................................................................... 10 
第 4 章  体系结构概述 ....................................................................................................................... 12 
4.1    USB 系统的描述 .................................................................................................................. 12 
4.1.1    总线布局技术 ............................................................................................................ 12 
4.2    物理接口 ............................................................................................................................... 13 
4.2.1 电气特性 ....................................................................................................................... 13 
4.2.2    机械特性 .................................................................................................................... 13 
4.3    电源 ....................................................................................................................................... 13 
4.3.1    电源分配 .................................................................................................................... 13 
4.3.2    电源管理 .................................................................................................................... 14 
4.4    总线协议 ............................................................................................................................... 14 
4.5    健壮性 ................................................................................................................................... 14 
4.5.1    错误检测 .................................................................................................................... 14 
4.5.2    错误处理 .................................................................................................................... 14 
4.6    系统设置 ............................................................................................................................... 15 
4.6.1    USB 设备的安装 ....................................................................................................... 15 
4.6.2    USB 设备的拆卸 ....................................................................................................... 15 
4.6.3    总线标号 .................................................................................................................... 15 
4.7    数据流种类 ........................................................................................................................... 15 
4.7.1    控制数据传送 ............................................................................................................ 15 
4.7.2    批量数据传送 ............................................................................................................ 15 
4.7.3    中断数据传输 ............................................................................................................ 16 
4.7.4    同步传输 .................................................................................................................... 16 
4.7.5    指定 USB 带宽 .......................................................................................................... 16 
4.8    USB 设备 .............................................................................................................................. 16 
4.8.1    设备特性 .................................................................................................................... 16 
4.8.2    设备描述 .................................................................................................................... 17 
4.9    USB 主机:硬件和软件 ...................................................................................................... 18 
4.10    体系结构的扩充 ................................................................................................................. 18 
第五章 USB 数据流模型 ...................................................................................................................... 19 
5.1  实现者的视图 ......................................................................................................................... 19 
5.2  总线拓朴 ................................................................................................................................. 20 
5.2.1 USB 主机 ...................................................................................................................... 20 
5.2.2 USB 设备 ...................................................................................................................... 21 
5.2.3  总线的物理拓朴结构 .................................................................................................. 21 
5.2.4  总线逻辑拓朴结构 ...................................................................................................... 22 
5.2.5  客户软件层与应用层的关系 ...................................................................................... 22 
5.3 USB 通信流 ............................................................................................................................. 22 
5.3.1  设备端点 ...................................................................................................................... 24 
5.3.2  通道 .............................................................................................................................. 25 
5.4  传送类型 ................................................................................................................................. 26 
USB 2.0 与 OTG 规范及开发指南 
5.5  控制传送 ................................................................................................................................. 27 
5.5.1  控制传送类型的数据格式 .......................................................................................... 27 
5.5.2  控制传送的方向 .......................................................................................................... 27 
5.5.3  控制传送包的大小的限制 .......................................................................................... 27 
5.5.4  控制传送的总线访问的限制 ...................................................................................... 28 
5.5.5  控制传送的数据顺序 .................................................................................................. 29 
5.6  同步传送 ................................................................................................................................. 29 
5.6.1  同步传送的数据格式 .................................................................................................. 30 
5.6.2  同步传送的方向 .......................................................................................................... 30 
5.6.3  同步传送中包的大小的限制 ...................................................................................... 30 
5.6.4  同步传送的总线方向限制 .......................................................................................... 30 
5.6.5  同步传送的数据顺序 .................................................................................................. 31 
5.7  中断传送 ................................................................................................................................. 31 
5.7.1  中断传送的数据格式 .................................................................................................. 31 
5.7.2  中断传送的方向 .......................................................................................................... 31 
5.7.3  中断传送对包的长度的限制 ...................................................................................... 31 
5.7.4  中断传送对总线访问的限制 ...................................................................................... 32 
5.7.5  中断传送的数据顺序 .................................................................................................. 33 
5.8  批传送 ..................................................................................................................................... 33 
5.8.1  批传送的数据格式 ...................................................................................................... 33 
5.8.2  批传送的方向 .............................................................................................................. 33 
5.8.3  批传送对包长度的限制 .............................................................................................. 33 
5.8.4  批传送对总线访问的限制 .......................................................................................... 33 
5.8.5  批传送的数据顺序 ...................................................................................................... 34 
5.9  传送的总线访问 ..................................................................................................................... 34 
5.9.1  传送管理 ...................................................................................................................... 35 
5.9.2  事务的跟踪 .................................................................................................................. 36 
5.9.3  计算总线事务的时间 .................................................................................................. 38 
5.9.4  应用层及软件对缓冲区大小的计算 .......................................................................... 39 
5.9.5  总线带宽归还 .............................................................................................................. 39 
5.10  关于同步传送的一些特别考虑 ........................................................................................... 39 
5.10.1  典型的非 USB 同步应用 .......................................................................................... 40 
5.10.2 USB 时钟模型 ............................................................................................................ 41 
5.10.3  时钟同步 .................................................................................................................... 43 
5.10.4  同步设备 .................................................................................................................... 43 
5.10.5  数据预缓存 ................................................................................................................ 48 
5.10.6 SOF 跟踪 ..................................................................................................................... 49 
5.10.7  差错处理 .................................................................................................................... 49 
5.10.8  为匹配速率而做的缓冲 ............................................................................................ 50 
第七章 USB 的电气特性 ..................................................................................................................... 52 
7.1 USB 驱动器的特性及其使用 ................................................................................................. 52 
7.1.1 高速驱动器特性 ........................................................................................................... 52 
7.1.2 低速驱动器特性 ........................................................................................................... 52 
7.1.3 接收器特性 ................................................................................................................... 54 
7.1.4 输入特性 ....................................................................................................................... 54 
7.2 信号的发送标准 ...................................................................................................................... 54 
7.2.1  连结与中断信号的发送 .............................................................................................. 55 
7.3 数据的编码与解码 .................................................................................................................. 57 
7.4  数据信号的发送速率 ............................................................................................................. 59 
7.5  数据源的抖动 ......................................................................................................................... 59 
7.6  接收端数据的抖动 ................................................................................................................. 59 
7.7 电缆的延迟 .............................................................................................................................. 59 
7.8  电缆的信号衰减 ..................................................................................................................... 59 
USB 2.0 与 OTG 规范及开发指南 
7.9  电压分布 ................................................................................................................................. 60 
第八章  协议层 ...................................................................................................................................... 63 
8.1  位定序 ..................................................................................................................................... 63 
8.2 同步字段 .................................................................................................................................. 63 
8.3 包字段格式 .............................................................................................................................. 63 
8.3.1 包标识符字段 ............................................................................................................... 63 
8.3.2 地址字段 ....................................................................................................................... 64 
8.3.3 帧号字段 ....................................................................................................................... 65 
8.3.4 数据字段 ....................................................................................................................... 65 
8.3.5 循环冗余校验 ............................................................................................................... 65 
8.4 包格式 ...................................................................................................................................... 66 
8.4.1 标记包 ........................................................................................................................... 66 
8.4.2  帧开始(SOF,Start-of-Frame)包 .............................................................................. 66 
8.4.3 数据包 ........................................................................................................................... 66 
8.4.4 握手包 ........................................................................................................................... 67 
8.4.5 握手回答(Handshake Response) ............................................................................. 67 
8.5 事务格式 .................................................................................................................................. 68 
8.5.1 批处理事务 ................................................................................................................... 68 
8.5.2 控制传送 ....................................................................................................................... 70 
8.5.3 中断事务 ....................................................................................................................... 72 
8.5.4 同步事务 ....................................................................................................................... 72 
8.6 数据切换同步和重试 .............................................................................................................. 73 
8.6.1  通过建立标记初始化 .................................................................................................. 73 
8.6.2 成功的数据事务 ........................................................................................................... 73 
8.6.3 损坏,或者不被接受数据 ........................................................................................... 74 
8.6.4 损坏的 ACK 握手 ......................................................................................................... 74 
8.6.5 低速事务 ....................................................................................................................... 75 
8.7 错误检测和恢复 ...................................................................................................................... 76 
8.7.1 包错误种类 ................................................................................................................... 76 
8.7.2 总线周转(Turn-around)时间 ................................................................................... 76 
8.7.3 错误的 EOP................................................................................................................... 77 
8.7.4 超时干扰(Babble)和活动性丧失(Loss of Activity)的恢复 .............................. 77 
第九章    USB 设备架构 ....................................................................................................................... 78 
9.1    USB 设备状态 ...................................................................................................................... 78 
9.1.1    外置的设备状态 ........................................................................................................ 78 
9.1.2    Bus Enumeration 总线标号 ....................................................................................... 80 
9.2    通用 USB 设备操作(Generic USB Device Operations) ....................................................... 81 
9.2.1    动态插接与拔开 ........................................................................................................ 81 
9.2.2    地址分配 .................................................................................................................... 81 
9.2.3    配置 ............................................................................................................................ 81 
9.2.4    数据传送 .................................................................................................................... 82 
9.2.5    电源管理 .................................................................................................................... 82 
9.2.6    请求处理 .................................................................................................................... 82 
9.2.7    请求错误 .................................................................................................................... 83 
9.3    USB 设备请求 ...................................................................................................................... 83 
9.3.1    bmRequestType 域 ..................................................................................................... 84 
9.3.2    bRequest 域 ................................................................................................................ 84 
9.3.3    wValue 域 ................................................................................................................... 84 
9.3.4    wIndex 域 ................................................................................................................... 84 
9.3.5    wLength 域 ................................................................................................................. 84 
9.4    标准设惫请求 ....................................................................................................................... 84 
9.4.1    清除特性(ClearFeature()) .......................................................................................... 86 
9.4.2    取得配置(GetConfiguration()) ................................................................................... 86 
USB 2.0 与 OTG 规范及开发指南 
9.4.3    取得描述符 ................................................................................................................ 86 
9.4.4    取得接口设置(GetInterface()) ................................................................................... 86 
9.4.5    取得状态(GetStatus (    )) .......................................................................................... 87 
9.4.6    设置地址(SetAddress (    )) ........................................................................................ 88 
9.4.7    设置配置值(SetConfiguration(    )) ........................................................................... 88 
9.4.8    设置描述表(SetDescriptor (    )) ................................................................................ 88 
9.4.9    设置特性(SetFeature (    )) ......................................................................................... 88 
9.4.10    设置接口(SetInterface (    )) ..................................................................................... 89 
9.4.11    同步帧(SynchFrame (    )) ........................................................................................ 89 
9.5    描述表 ................................................................................................................................... 89 
9.6    标准描述表的定义 ............................................................................................................... 89 
9.6.1    设备 ............................................................................................................................ 90 
9.6.2    配置 ............................................................................................................................ 91 
9.6.3    接口 ............................................................................................................................ 92 
9.6.4    节点 ............................................................................................................................ 93 
9.6.5    字串 ............................................................................................................................ 94 
9.7    设备类定义 ........................................................................................................................... 95 
9.7.1    描述表 ........................................................................................................................ 95 
9.7.2    接口与结点的使用 .................................................................................................... 95 
9.7.3    请求 ............................................................................................................................ 95 
第十章    USB 主机:硬件与软件 ....................................................................................................... 96 
10.1    USB 主机概况 .................................................................................................................... 96 
10.1.1    概论 .......................................................................................................................... 96 
10.1.2  控制机构 .................................................................................................................... 98 
10.1.3    数据流 ...................................................................................................................... 98 
10.1.4    收集状态及活动统计数据 ...................................................................................... 98 
10.1.5    电气接口因素 .......................................................................................................... 98 
10.2    主机控制器功能 ................................................................................................................. 99 
10.2.1    状态处理 .................................................................................................................. 99 
10.2.2    串行化与反串行化 .................................................................................................. 99 
10.2.3    帧产生 ...................................................................................................................... 99 
10.2.4    数据处理 ................................................................................................................ 100 
10.2.5    协议引擎 ................................................................................................................ 100 
10.2.6    传输差错控制 ........................................................................................................ 100 
10.2.7    远程唤醒 ................................................................................................................ 100 
10.2.8    根集线器 ................................................................................................................ 100 
10.2.9    主机系统接口 ........................................................................................................ 101 
10.3    软件功能概论 ................................................................................................................... 101 
10.3.1    设备配置 ................................................................................................................ 101 
10.3.2    资源管理 ................................................................................................................ 102 
10.3.3    数据传输 ................................................................................................................ 103 
10.3.4    普通数据定义(Common Data Definition) ............................................................. 103 
10.4    主机控制器驱动器 ........................................................................................................... 103 
10.5    USBD ................................................................................................................................ 104 
10.5.1    USB 概况 ............................................................................................................... 104 
10.5.2    USBD 命令工具功能............................................................................................. 105 
10.5.3    USBD 通道设施 .................................................................................................... 107 
10.5.4    通过 USBD 设施管理 USB ................................................................................... 108 
10.5.5    将操作系统起动前 USB 的控制交给操作系统 ................................................... 109 
10.6    操作系统环境指南 ........................................................................................................... 110 
第十一章  集线器规范 ........................................................................................................................ 111 
11.1  概述 ..................................................................................................................................... 111 
11.2  集线器的帧/微型帧定时器 ................................................................................................ 111 
USB 2.0 与 OTG 规范及开发指南 
11.3  内部接口 ............................................................................................................................. 112 
11.4  下行接口 ............................................................................................................................. 113 
11.5  上行端口 ............................................................................................................................. 114 
11.6  转发中继器 ......................................................................................................................... 116 
11.7  总线状态的评估 ................................................................................................................. 117 
11.8  挂起和恢复 ......................................................................................................................... 118 
11.9  集线器的复位行为 ............................................................................................................. 118 
11.10  集线器端口的电源控制 ................................................................................................... 118 
11.10  端口的组成 ....................................................................................................................... 118 
11.10  端口变化信息的处理 ....................................................................................................... 118 
 
 
USB 2.0 与 OTG 规范及开发指南 
第1章 术语和缩略词 
ACK:确认信号 
Active Device:正在使用的设备 
Asynchronous Data:异步数据 
Asynchronous RA:异步自适应速率 
Asynchronous SRC: 异步抽样转换率 
Audio Device:音频设备 
AWG#(American Wire Gauge):美国电线标准 
Babble:帧传输中的总线动作 
Bandwidth:带宽 
Big Endian: 
Bit:比特 
Bit Stuffing:数据填充,以使 PLL 可以提取时钟信号 
b/s:每秒多少比特 
B/s:每秒多少字节 
Buffer:缓冲区 
Bulk Transfer:批量传送 
Bus Enumeration:总线标号 
Byte:  字节   
Capabilities:能力 
Characteristics:特征 
Client:客户 
Configuring Software:配置软件 
Control Endpoint:控制端口 
Control Pipe:控制通道 
Control Transfer:控制传送 
CTI:计算机电信组织 
Cyclic Redundancy Check(CRC):循环冗余校验 
Default Address:缺省地址 
Default Pipe:缺省通道 
Device:设备、器件 
Device Address:设备地址 
Device Endpoint:设备端口 
Device Resource:设备资源 
Device Software:设备软件 
Downstream:下行 
Driver:驱动 
DWORD:双字                                                       
Dynamic Insertion and Removal:动态插入与拆除 
Electrically Erasable Programmable Read Only Memory EEPROM:电擦写可编程只读存
储器                        
End User:终端用户 
Endpoint:端口 
Endpoint Address:端口地址 
Endpoint Direction:端口指向 
Endpoint Number:端口号 
EOF:帧结束 
EOP:包结束 
External Port:外设端口 
USB 2.0 与 OTG 规范及开发指南 
False EOP:错误的包结束标志 
Frame:帧 
Frame Pattern:帧结构 
Full-duplex:全双工 
Function:功能、功能部件 
Handshake Packet:握手包 
Host:主机 
Host Controller:主机控制器 
Host Controller Driver(HCD):主机控制驱动 
Host Resourses:主机资源 
Hub:集线器 
Hub Tier:Hub 层 
Interrupt Request(IRQ):中断请求 
Interrupt Transfer:中断传送 
I/O Request Packet(IRP): 输出/输入请求包 
Isochronous Data:同步数据 
Isochronous Device:同步设备 
Isochronous Sink Endpoint:同步接收端 
Isochronous Sourse Endpoint:同步源端 
Isochronous Transfer:同步传送 
Jiffer:抖动 
kb/s:传送速率每秒几千比特 
kB/s:传送速率每秒几千字节 
Little Endian: 
LOA:有始无终的总线传输 
LSb:最低比特 
LSB:最低字节 
Mb/s:传送速率每秒几兆比特 
MB/s:传送速率每秒几兆字节 
Message Pipe:消息通道 
MSb:最高比特 
MSB:最高字节 
NAK:不确认 
Non Return to Zero Invert(NRZI):非归零翻转码 
Object:对象 
Packet:数据包 
Packet Buffer:数据包缓冲区 
Packet ID(PID):数据包标示位 
Phase:时项、相位 
Phase Locked Loop(PLL):锁相环 
Physical Device:物理部件 
Pipe:通道 
Polling:查询 
Port:口、端口 
Power On Reset(POR):电源复位 
Programmable Data Rate:可编程数据速率 
Protocol:协议 
Rate Adaption(RA):自适应速率 
Request:请求、申请 
Retire:取消、终止 
Root Hub:根集线器、主机 Hub 
USB 2.0 与 OTG 规范及开发指南 
Root Port:根集线器的下游端口 
Sample:取样、抽样 
Sample Rate(Fs):抽样速率 
Sample Rate Conversion(SRC):抽样转换率 
Service:服务 
Sevice Interval:服务间隙 
Service Jitter:服务质量的抖动参数 
Sevice Rate:指定端口每单位时间的服务数目 
SOP:包开始 
Stage:控制传输的某个阶段 
Start-of-Frame(SOF):帧开始 
Stream Pipe:流通道 
Synchronization Type:同步类型 
Synchronous RA:同步的 RA 
Synchronous SRC:同步的 SRC 
Sysem Programming Interface(SPI):系统可编程接口 
Terminaton Time Division Multiplexing(TDM):时分复用 
Timeout:超时 
Token Packet:标志包 
Transaction:处理事务 
Transfer:传送 
Transfer Type:传送类型 
Turn-around Time:USB 传输中包与包之间的间隔时间,以防止传输冲突 
Universal Serial Bus Driver(USBD):USB 驱动器 
Univeral Serial Bus Resources:USB 提供的资源 
Upstream:上行 
Virtual Device:虚拟设备 
Word:字(16 位)