2. 低速USB设备特性:定义、应用与电气信号

低速USB设备是USB 1.1规范中定义的最基础设备类别,其设计目标是以最低成本满足人机交互设备的通信需求。本章从定义、典型应用、电气特性与信号要求三个维度,系统剖析低速设备在UHCI调试环境下的行为特征。

2.1 低速设备定义(1.5 Mbps)

USB 1.1规范将设备分为全速(Full-Speed, 12 Mbps)和低速(Low-Speed, 1.5 Mbps)两种传输速率。低速设备具有以下核心定义:

  • 位速率:1.5 Mbps ± 0.25%,由主机控制器(UHCI)通过SOF帧起始包同步时钟。
  • 数据编码:采用NRZI(Non-Return-to-Zero Inverted)编码,配合位填充(Bit Stuffing)机制保证时钟同步。
  • 最大包长度:控制传输最大8字节,中断传输最大8字节。
  • 拓扑限制:低速设备必须通过集线器(Hub)连接到主机,且集线器端口需支持低速信号预分频(Pre-scale)。
调试要点:UHCI调试端口捕获低速事务时,需注意SOF帧间隔为1 ms,但低速设备的中断轮询周期最小为10 ms(即10个SOF帧)。若捕获到小于10 ms的中断IN事务,说明主机控制器配置异常。

2.2 典型应用:HID键盘/鼠标

低速设备最典型的应用场景是HID(Human Interface Device)类设备,包括键盘、鼠标、游戏手柄等。这些设备对实时性要求不高,但需要极低的成本和功耗。

设备类型 报告描述符长度 输入报告长度 轮询间隔 典型事务数/秒
USB键盘(低速) ≤ 64 字节 8 字节(按键状态) 10 ms 100
USB鼠标(低速) ≤ 64 字节 3~4 字节(X/Y/按键) 10 ms 100
游戏手柄(低速) ≤ 64 字节 4~8 字节(多轴+按键) 10~20 ms 50~100
协议分析技巧:在UHCI调试端口捕获低速HID事务时,重点关注IN事务的DATA0/DATA1切换序列。低速设备使用数据翻转(Data Toggle)位进行错误恢复,若连续捕获到两次相同的DATA PID(如DATA0后紧跟DATA0),说明发生了重传或主机NACK处理异常。

2.3 电气特性与信号要求

低速USB设备在电气层面与全速设备有显著差异,这些差异直接影响UHCI调试端口的信号捕获与解码。

2.3.1 差分信号电平

  • D+ / D- 静态电平:低速设备在空闲状态时,D-线被拉高至3.0~3.6 V,D+线被拉低至0~0.3 V(与全速设备相反)。
  • 差分信号幅度:低速设备驱动器的差分输出幅度为1.5~3.6 V(峰-峰值),接收器阈值范围为0.8~2.0 V。
  • 上升/下降时间:低速信号上升时间(10%~90%)为75~300 ns,下降时间为75~300 ns,远慢于全速设备(4~20 ns)。
调试陷阱:使用UHCI调试端口捕获低速信号时,若示波器探头带宽不足(如< 20 MHz),会导致上升沿变缓,使NRZI解码出现位错误。建议使用至少50 MHz带宽的差分探头,并开启信号滤波。

2.3.2 低速设备检测与挂起

主机通过集线器端口的D+和D-线电平状态检测低速设备插入:

  1. 设备插入:设备将D-线拉高(≥ 2.7 V),集线器检测到该状态后向主机报告端口状态变化。
  2. 复位(Reset):主机通过集线器将D+和D-同时拉低≥ 10 ms,设备检测到复位后进入默认地址状态。
  3. 挂起(Suspend):总线空闲≥ 3 ms后,设备进入挂起模式,此时D-线保持高电平,但驱动电流降至500 μA以下。
  4. 唤醒(Resume):设备通过驱动D-线低电平≥ 1 ms(或主机发送复位信号)唤醒总线。

2.3.3 低速信号时序参数

参数 最小值 典型值 最大值 单位
位时间(Bit Time) — 666.67 — ns
EOP宽度(End of Packet) 1.33 2.0 2.67 位时间
SE0持续时间(复位) 10 — 20 ms
空闲→挂起延迟 3 — — ms
唤醒信号宽度 1 — 15 ms

2.4 低速事务协议结构

低速设备的事务(Transaction)由三个阶段组成:令牌包(Token Packet)、数据包(Data Packet)和握手包(Handshake Packet)。UHCI调试端口捕获的原始位流需按以下结构解析:

低速事务格式(以IN事务为例):
+----------------+----------------+----------------+
|  令牌包 (Token) |  数据包 (Data) |  握手包 (Handshake) |
+----------------+----------------+----------------+
| SYNC | PID | ADDR | ENDP | CRC5 | SYNC | PID | DATA | CRC16 | SYNC | PID |
| 8位  | 8位 | 7位  | 4位  | 5位  | 8位  | 8位 | 0~8B | 16位  | 8位  | 8位  |
+----------------+----------------+----------------+

低速设备最大数据负载:8 字节
PID类型:
  - 令牌:OUT (0xE1), IN (0x69), SETUP (0x2D)
  - 数据:DATA0 (0xC3), DATA1 (0x4B)
  - 握手:ACK (0xD2), NAK (0x5A), STALL (0x1E)
UHCI捕获验证:在调试端口捕获低速事务时,检查SYNC字段(00000001)是否正确对齐。若SYNC后连续出现多个无效PID(如0x00或0xFF),说明位同步丢失或信号质量差,需检查电缆长度(≤ 3 m)和终端电阻(D+ 15 kΩ上拉,D- 15 kΩ下拉)。

2.5 低速设备电气特性SVG结构图

下图展示了低速USB设备在UHCI调试环境下的电气连接与信号路径,重点标注了D+/D-电平状态、集线器预分频器以及调试端口的捕获点。

低速USB设备电气特性与UHCI调试捕获结构 低速USB设备电气特性与UHCI调试捕获结构 UHCI 主机控制器 1.5 Mbps 时钟源 USB 集线器 (Hub) 低速端口预分频 低速 HID 设备 1.5 Mbps, D-上拉 全速总线 (12 Mbps) 低速总线 (1.5 Mbps) D+ / D- 差分信号路径与电平状态 D+ 线: 空闲: 0 V (低) 数据: 0~3.6 V D- 线: 空闲: 3.3 V (高) 数据: 0~3.6 V 低速设备空闲时 D- 上拉至 3.0~3.6 V D+ 通过 15 kΩ 下拉至 GND UHCI 调试端口捕获点 捕获位置:集线器与主机之间的全速总线(SOF帧内嵌低速事务) 捕获内容:NRZI编码位流 → PID解码 → 事务重组 → 协议分析 低速事务时序关键参数 位时间: 666.67 ns EOP: 2 位时间 (1.33 μs) 中断轮询: 10 ms 挂起: ≥ 3 ms

2.6 低速设备调试注意事项

  • 电缆长度:低速设备电缆长度不得超过3 m,否则信号衰减会导致位错误率上升。
  • 终端匹配:低速设备在D-线上需有1.5 kΩ ± 5%的上拉电阻至3.0~3.6 V,D+线上需有15 kΩ ± 5%的下拉电阻至GND。
  • 集线器兼容性:部分旧款集线器不支持低速设备预分频,会导致设备无法被枚举。调试时需确认集线器芯片支持低速事务拆分(Split Transaction)。
  • 电磁干扰:低速信号上升/下降时间较慢,对电磁干扰更敏感。在UHCI调试端口捕获时,建议使用屏蔽USB电缆并远离高频开关电源。
实战建议:在调试低速键盘/鼠标枚举失败问题时,优先使用UHCI调试端口捕获复位(Reset)阶段后的设备描述符请求。若捕获到设备返回STALL或超时,检查D-上拉电阻是否焊接正确,以及集线器端口是否已使能低速模式。