1. USB 2.0 协议概述
1.1 USB 2.0 体系结构
USB 2.0 采用分层星型拓扑结构,由主机控制器、根集线器、级联集线器和外围设备组成。整个系统在逻辑上分为三个层次:总线接口层、设备层和功能层,每一层承担不同的协议职责。
核心要点:USB 2.0 体系结构最多支持 127 个设备(含集线器)同时连接,物理拓扑最多允许 7 层集线器级联(含根集线器)。
1.2 速度等级与信号特征
USB 2.0 定义了三种速度等级,分别对应不同的传输速率、信号编码方式和应用场景:
| 速度等级 | 标称速率 | 信号编码 | 电缆最大长度 | 典型应用 |
|---|---|---|---|---|
| 低速(Low Speed) | 1.5 Mbps | NRZI + 位填充 | 5 m | 鼠标、键盘、游戏手柄 |
| 全速(Full Speed) | 12 Mbps | NRZI + 位填充 | 5 m | 音频设备、HID、打印机 |
| 高速(High Speed) | 480 Mbps | NRZI + 位填充 + 微帧 | 5 m | 存储设备、视频、网卡 |
全速设备的关键地位:全速(12 Mbps)是 USB 2.0 体系中最灵活的速度等级,既兼容低速设备的简单协议,又能承载高速设备的部分功能。事务翻译器(TT)的核心任务就是将高速总线上的事务转换为全速/低速设备可理解的格式。
1.3 主机与设备通信模型
USB 2.0 采用主机驱动的轮询模型,所有通信均由主机发起,设备不能主动发送数据。通信的基本单元是事务(Transaction),一个事务由以下阶段组成:
- 令牌阶段(Token Phase):主机发送令牌包,指定目标设备地址、端点号和传输方向。
- 数据阶段(Data Phase):数据发送方(主机或设备)发送数据包。
- 握手阶段(Handshake Phase):接收方返回握手包,确认传输结果。
1.4 传输类型与事务翻译器的关系
USB 2.0 定义了四种传输类型,每种类型对事务翻译器(TT)的调度策略和缓冲区管理有不同的影响:
| 传输类型 | 特点 | 带宽保证 | TT 处理要点 |
|---|---|---|---|
| 控制传输 | 双向、可靠、用于枚举和配置 | 10% 保留 | 必须保证枚举阶段无丢包 |
| 批量传输 | 可靠、非实时、利用剩余带宽 | 无保证 | TT 需处理大数据块的分割与重组 |
| 中断传输 | 可靠、低延迟、轮询间隔固定 | 有保证(≤90%) | TT 需维护轮询间隔定时器 |
| 同步传输 | 实时、无重传、固定带宽 | 有保证(≤80%) | TT 需精确计算微帧时间槽 |
全速设备事务翻译的关键挑战:高速总线以 125 µs 微帧为单位调度,而全速设备以 1 ms 帧为单位工作。TT 必须在高速微帧与全速帧之间进行时间映射和事务缓冲,这是性能调优的核心难点。
1.5 本章小结
- USB 2.0 体系结构采用分层星型拓扑,主机通过根集线器和级联集线器管理最多 127 个设备。
- 三种速度等级(低速 1.5 Mbps、全速 12 Mbps、高速 480 Mbps)共享同一物理总线,通过速度协商协议区分。
- 通信模型为主机驱动的轮询模型,事务由令牌、数据、握手三个阶段组成。
- 四种传输类型(控制、批量、中断、同步)对 TT 的调度策略、缓冲区管理和时间映射提出了不同要求。