1. USB 3.x 概述:从 3.0 到 4.0 的演进之路
大家好,我是老张。做硬件这行十几年了,跟 USB 打交道的时间占了多半。今天咱们开始聊 USB 3.x 物理层,第一节课,先搭个框架。
USB 3.x 这个系列,说白了就是高速有线传输的标杆。从 2008 年 USB 3.0 发布到现在,速度翻了 8 倍。但很多人只看到速率提升,没注意到物理层的变化才是根本。
1.1 USB 3.x 发展历史
先捋一下时间线。我个人习惯把 USB 3.x 分成四个阶段:
| 版本 | 发布时间 | 最高速率 | 编码方式 | 物理层核心变化 |
|---|---|---|---|---|
| USB 3.0 | 2008 | 5 Gbps | 8b/10b | 新增双差分对,独立收发 |
| USB 3.1 Gen 2 | 2013 | 10 Gbps | 128b/132b | 编码效率提升,时钟恢复更复杂 |
| USB 3.2 | 2017 | 20 Gbps | 128b/132b | 双通道复用,通道协商机制 |
| USB 4.0 | 2019 | 40 Gbps | 基于 Thunderbolt 3 | 隧道协议,物理层兼容 DP/PCIe |
这里有个坑,我当年就踩过。USB 3.0 刚出来时,很多人以为只是 USB 2.0 加了个高速模式。其实完全不是一回事。USB 3.0 的物理层是全新设计的,跟 USB 2.0 共用连接器,但信号路径完全独立。
核心要点:USB 3.x 物理层从 3.0 到 4.0,本质上是「速率翻倍 + 编码优化 + 通道扩展」的三重演进。每次版本升级,物理层的抖动容限、眼图模板、去加重要求都在变严。
1.2 物理层在协议栈中的位置
很多工程师只看协议栈的顶层,比如描述符、端点、传输类型。但信号出问题时,问题往往在物理层。你想想看,协议栈再完美,物理层眼图闭了,一切都是白搭。
USB 3.x 的协议栈分三层:
- 设备层(Device Layer):处理端点、管道、描述符。这是软件工程师的战场。
- 链路层(Link Layer):负责包传输、流量控制、链路训练。我建议硬件工程师也要懂,因为链路训练失败经常是物理层问题导致的。
- 物理层(PHY Layer):包括电气子层(Electrical Sub-block)和逻辑子层(Logical Sub-block)。这才是咱们的主场。
物理层具体干哪些活?我列一下:
- 串行化/解串行(SerDes)
- 时钟恢复(CDR)
- 均衡(Equalization)
- 去加重/预加重
- 信号检测(Rx Detection)
- 电气空闲(Electrical Idle)
嗯,这里要注意。物理层不是孤立的。链路层的训练状态机(LTSSM)跟物理层状态紧密耦合。我在项目中遇到过,板子 layout 没问题,但就是枚举失败。最后定位到是物理层的 Rx Detection 阈值设置不对,导致链路层一直卡在 Polling 状态。
实战建议:调试 USB 3.x 信号时,别急着看协议分析仪。先拿示波器看眼图,确认物理层没问题,再往上查。这个顺序能省你半天时间。
1.3 与 USB 2.0 物理层的核心差异
USB 2.0 物理层,说白了就是一对差分线,半双工通信。主机和设备轮流说话,谁先说靠总线握手。速率最高 480 Mbps,用的是 NRZI 编码加位填充。
USB 3.x 物理层呢?完全换了一套思路:
- 全双工 vs 半双工:USB 3.x 有两对差分线,一对发(SSTX),一对收(SSRX)。可以同时收发,不用等对方说完。
- 端接方式不同:USB 2.0 用 45Ω 对地端接,靠上拉/下拉电阻识别速度。USB 3.x 用 100Ω 差分端接,靠交流耦合电容隔离直流。
- 编码方式:USB 2.0 用 NRZI + 位填充,效率低。USB 3.0 用 8b/10b,3.1 以后用 128b/132b,效率从 80% 提升到 96.9%。
- 时钟架构:USB 2.0 用 480 MHz 时钟,数据跟时钟一起传。USB 3.x 用嵌入式时钟,接收端靠 CDR 恢复时钟。
- 信号幅度:USB 2.0 高速模式差分摆幅 400 mV。USB 3.0 只有 100-200 mV,对噪声更敏感。
为什么会这样?因为速率上去了,功耗和 EMI 必须控制。USB 3.0 的 5 Gbps 信号,如果还用 400 mV 摆幅,功耗和辐射都受不了。
避坑指南:我曾经帮一个客户排查 USB 3.0 眼图不合格的问题。他们用 USB 2.0 的 layout 经验,在 SSTX 和 SSRX 上加了共模扼流圈。结果眼图直接闭了。记住,USB 3.x 高速信号线不能加共模扼流圈,只能用交流耦合电容。
1.4 物理层核心知识体系
下面这张图是我自己整理的,把 USB 3.x 物理层的关键知识点串起来了。你看着它,就能知道咱们这门课要讲什么。
这张图里,电气特性是基础,编码与时序是核心,链路训练是桥梁,测试验证是保障,Layout 设计是落地。咱们这门课,就是把这五个模块一个一个讲透。
好了,第一章就到这里。记住一句话:USB 3.x 物理层,不是 USB 2.0 的升级版,而是全新的高速串行总线。后面咱们会深入每个细节,从眼图到抖动,从均衡到测试,一步步来。