USB 3.x SuperSpeed:独立差分对、8b/10b、PIPE 与 LTSSM
更新时间:2026-09-19。前置:SerDes 8b/10b、PCIe LTSSM、USB OTG。USB3 不是把 USB2 提速,而是在物理上新增一套独立的全双工串行链路,USB2 的 D+/D− 原样保留作回退。
一、物理层:USB2 与 SS 共存
USB3/SS 连接器比 USB2 多 5 个触点:
- USB2:D+/D− 半双工一对(480Mbps HS 及以下),完全独立保留(见 USB OTG)。
- SuperSpeed:SSTX+/−(发送差分对)+ SSRX+/−(接收差分对),两对、全双工,可同时收发(不再像 USB2 那样半双工协商)。
- 还有一个 GND。共屏蔽,SS 对与 USB2 对电气独立。
- 5Gbps(Gen1,USB3.0/3.1 Gen1)、10Gbps(Gen2,USB3.1/3.2 Gen2),更高 Gen 走更新编码。
- 插入后控制器先尝试 SS 链路;若 SS 训练失败/线缆不支持,回退到 USB2(两套链路独立检测)。Type-C 还要处理正反插翻转和 lane 映射(见 USB-C PD)。
二、线路编码与有序集合
- Gen1(5Gbps):8b/10b:每 8 位编成 10 位,保证 DC 平衡和跳变密度,含 K 字符和**有序集合(Ordered Set)**做链路管理。开销 20%,有效约 4Gbps(机制见 8b/10b)。
- Gen2(10Gbps):128b/132b:128 位数据加 4 位同步/块类型头,开销仅 ~3%,并加更强的 scrambling 和链路层保护;不再是 8b/10b。
- Scrambling(加扰):数据用伪随机多项式异或,避免长重复模式产生谱线和 EMI,接收解扰还原(不加密)。
- Ordered Set:训练序列 TS、电气空闲、链路能力、流控等带外/控制用特殊编码块,与数据包区分。
- 与 PCIe 物理/链路概念高度相似(对照 PCIe LTSSM),都基于高速 SerDes。
三、SerDes:时钟恢复与信号调理
SS 链路上没有独立时钟线,接收端 CDR 从数据跳变中恢复时钟(见 SerDes CDR/均衡):
- 8b/10b(Gen1)保证跳变;Gen2 靠同步头+加扰保证足够边沿。
- 高速下信道插损大:发送端用**去加重(de-emphasis,降低非首跳位幅度)**预补偿高频损耗,接收端用 CTLE/DFE 均衡张开眼图。
- 训练阶段交换能力、选择去加重档位和均衡参数;极性翻转(polarity inversion)可由链路自动纠正。
- **电气空闲(Electrical Idle)**与低频周期信令(LFPS,带外低频信号,用于唤醒、轮询信令,速率远低于 5G 因而能被普通检测电路识别)。
四、PIPE:MAC 与 PHY 的标准分界
控制器 IP 普遍按 Intel/SNPS 提出的 **PIPE(PHY Interface for PCI Express/SATA/USB)**接口划分:
Link/协议层(MAC/Controller)
▲ PIPE 标准接口: 8/16/32-bit @ 并行低速时钟 + 控制信号
│ (TxData/RxData、valid、detect、powerdown、rate、margin、de-emphasis、status...)
物理层(SerDes PHY, 常为第三方硬 IP): 串化/CDR/均衡/8b10b(部分)- PIPE 把复杂的模拟 SerDes 和数字链路/协议层解耦,同一 PHY IP 可服务 PCIe/SATA/USB(见 PCIe 物理),便于集成和换工艺。
- 控制器通过 PIPE 控制/读取:检测接收器(receiver detect)、电源状态(P0/P1/P2、电气空闲)、速率切换、去加重、极性、环回(loopback,做测试)、PHY 状态。
- 8b/10b 编解码可放在 PHY 也可在控制器侧,按 PIPE 配置划分。
五、链路初始化(SS LTSSM 概念)
类似 PCIe 的状态机(见 LTSSM),大致:
Reset → Rx.Detect(接收器检测/线缆)→ Polling(发训练有序集合、建立比特/字对齐、CDR 锁定)→ Configuration(交换链路参数/通道,单 lane 仍走此流程)→ Recovery(速率/均衡变化时重训)→ U0 正常工作 → U1/U2/U3 低功耗/挂起(LFPS 唤醒)
- Rx.Detect 靠检测接收端端接(差分对端接 50Ω)判断插入。
- Polling 连续发 TS 让对端锁定、对齐 8b/10b 符号/K 字符边界;成功后 Configuration 交换能力。
- 低功耗态 U1/U2(链路级,快速)、U3(挂起,最省电,恢复慢);进出靠 LFPS 和恢复序列。
- 速率从 Gen1 升 Gen2、或退出低功耗时走 Recovery 重新训练均衡。
六、常见的坑
- 当 USB2 提速理解:SS 是独立全双工两对线,调试要分别看,SS 失败会静默回退 USB2(表现为「变 480M」)。
- 去加重/均衡不匹配:长线缆/高插损下眼图闭合、误码、反复 Recovery;要按信道调 de-emphasis。
- 极性/翻转处理:Type-C 正反插需正确 lane 映射,SS 对不支持自动翻转到错对时不通(USB3 可纠正极性但不能交换 TX/RX,靠 MUX,见 USB-C)。
- CDR 失锁/参考时钟问题:SS 参考时钟(常见 25/100/125MHz、SSC)不稳或抖动大导致训练失败。
- SSC 不匹配:主机/设备展频时钟配置不一致引发误码。
- PIPE 宽度/时钟域 CDC 错:控制器与 PHY 的并行宽度、速率档、时钟不匹配,链路不进 U0。
- 忽略 LFPS 检测:低功耗唤醒靠低频 LFPS,检测阈值/时序错导致无法 resume。
- 电源状态机错:U1/U2/U3 进入退出时序、延迟配置不当,掉线或功耗不降。
- Scrambling/有序集合解析错:自实现链路层时 K 字符边界、TS 解析错。
- Gen1/Gen2 编码混用:Gen2 是 128b/132b,不能沿用 8b/10b 解码。
- 接收器检测失败:端接检测阈值或线缆问题导致一直 Rx.Detect。
- 环路测试没用好:PIPE/链路环回是定位 PHY vs 协议问题的关键,不用会误判。
相关与延伸
SerDes 底层见 8b/10b、CDR 与均衡;链路状态机对照见 PCIe LTSSM;连接器与角色见 USB-C PD、USB OTG。
总结
USB3 SuperSpeed 在保留 USB2 D+/D− 半双工链路的同时新增 SSTX/SSRX 两对独立、全双工差分线跑 5Gbps(Gen1,8b/10b 编码、20% 开销)或 10Gbps(Gen2,128b/132b、~3% 开销),链路上无独立时钟而靠 CDR 恢复并用加扰、发送去加重和接收 CTLE/DFE 均衡对抗高插损,用有序集合和 LFPS 做训练与低功耗唤醒;数字控制器与模拟 SerDes 之间通过标准 PIPE 接口解耦、可与 PCIe/SATA 共用 PHY,初始化走 Rx.Detect→Polling→Configuration→Recovery→U0 及 U1/U2/U3 的 LTSSM——把它当 USB2 提速、去加重/均衡不匹配、Type-C lane MUX 映射错和参考时钟/SSC 问题,是「掉回 480M」和反复重训最常见的四类根因。