1. USB 2.0 协议概述

1.1 USB 2.0 体系结构

USB 2.0 采用分层星型拓扑结构,由主机控制器、根集线器、级联集线器和外围设备组成。整个系统在逻辑上分为三个层次:总线接口层、设备层和功能层,每一层承担不同的协议职责。

核心要点:USB 2.0 体系结构最多支持 127 个设备(含集线器)同时连接,物理拓扑最多允许 7 层集线器级联(含根集线器)。
USB 2.0 分层星型拓扑结构 USB 主机(Host) 根集线器(Root Hub) 第1层集线器 第1层集线器 第2层集线器 第2层集线器 全速设备 低速设备 高速设备 最多 7 层级联 · 最多 127 个设备 · 每个集线器可连接不同速度等级的设备

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),一个事务由以下阶段组成:

  1. 令牌阶段(Token Phase):主机发送令牌包,指定目标设备地址、端点号和传输方向。
  2. 数据阶段(Data Phase):数据发送方(主机或设备)发送数据包。
  3. 握手阶段(Handshake Phase):接收方返回握手包,确认传输结果。
USB 事务通信模型(主机驱动轮询) 主机(Host) 设备(Device) 令牌包 数据包 握手包 主机驱动轮询:所有事务由主机发起,设备被动响应 事务类型:IN(设备→主机)、OUT(主机→设备)、SETUP(控制传输)

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 的调度策略、缓冲区管理和时间映射提出了不同要求。