第1章 USB 3.0概述:发展历程、速率对比、系统架构
大家好,我是你们这期课程的主讲。咱们今天聊的USB 3.0,说白了就是那个蓝色插口的"SuperSpeed"。你可能每天都在用,但它背后的链路协商和均衡参数调整,才是真正让高速信号跑稳的关键。
嗯,我先从基础说起。毕竟万丈高楼平地起,不懂USB 3.0的出身和骨架,后面讲调整参数你可能会发懵。我个人习惯,讲任何协议前,先看它从哪来,要干嘛。
1.1 发展历程:从USB 1.0到USB 4.0
USB 的进化史,其实是一部速度竞赛史。我当年做USB 2.0项目时,被那个"480 Mbps 理论峰值"坑过不少次,实际传输能有200 Mbps就算烧高香了。你想想看,那时候拷贝一部电影得等半天。
USB 3.0的诞生,就是来救场的。2008年发布,2010年左右设备普及。它最大的革新不是"更快",而是增加了 一对独立的超高速发送和接收差分对,实现了全双工通信。这在USB历史上是头一遭。
来,看这个进化表,重点关注红色字部分——我们这30章围绕的主角就在这里。
| 版本 | 发布年份 | 标称速率 | 编码方式 | 信号层 |
|---|---|---|---|---|
| USB 1.1 | 1998 | 12 Mbps | NRZI | 半双工 |
| USB 2.0 | 2000 | 480 Mbps | NRZI | 半双工 |
| 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 | 全双工(双通道) |
| USB4 | 2019 | 40 Gbps | 基于Thunderbolt 3 | 全双工 |
看到没?USB 3.0的5 Gbps在当时是质的飞跃。为什么会这样?因为从USB 2.0的广播式半双工,变成了点对点全双工。这就像从单车道变成了双车道双向通行,效率自然翻倍。
一个重要的技术分水岭: USB 3.0真正引入了链路层的概念。在此之前,USB 2.0只有包传输层,没有独立的链路训练和状态机。这也正是我们这门课要深入挖掘的核心——链路训练与均衡。
1.2 速率对比与线缆挑战
我问你个问题:5 Gbps的信号,在铜线上跑3米,你觉得信号还能看吗?
答案是:基本不能。USB 3.0的物理层规定了标准线缆长度最多3米。但实际项目中,我见过不少客户为了布线方便,硬拉5米线,结果眼图完全闭合,链路根本起不来。这就是典型的 均衡参数不匹配 问题。
咱们直接看数字对比,这样更直观:
| 参数 | USB 2.0 | USB 3.0 | 差异影响 |
|---|---|---|---|
| 比特率 | 480 Mbps | 5 Gbps | 提升了10倍,信号周期从2.08 ns缩短到200 ps |
| 上升时间 | ~300 ps | ~50 ps | 高速边沿更容易产生反射和串扰 |
| 差分阻抗 | 90 Ω ±15% | 85 Ω ±9% | 阻抗控制更严格,否则回损超标 |
| 电压摆幅 | 400 mV (峰值) | 800-1200 mV (差分峰值) | 摆幅更大,但受限于线缆损耗 |
| 去加重 | 无 | 3.5 dB 去加重 (发射端) | 这是补偿高频损耗的关键手段 |
嗯,这里要注意USB 3.0的 85 Ω差分阻抗。这和传统的90 Ω有大差别。我刚开始做USB 3.0板子时,习惯性按USB 2.0的90 Ω画线,结果链路训练经常失败。后来查规范才发现,SuperSpeed要求85 Ω ± 9%。你想想看,5%的阻抗偏差在5 GHz频率下的反射就够你受的了。
避坑指南: 我曾经在一个项目中,PCB走线阻抗控制到了84.5 Ω,按理说在误差范围内了。但实际测试发现眼高偏低。后来排查发现是连接器处的阻抗突变严重,虽然线缆段是85 Ω,但连接器内部只有78 Ω。这导致信号在连接器处回损严重。所以,不能只看线缆和PCB,连接器的阻抗一致性同样重要。
1.3 系统架构:主机、设备与物理层
USB 3.0的系统架构,说白了就是一层套一层。从最底层的信号电气特性,到最顶层的软件协议。我们关心的调整参数,主要落在物理层和链路层。
下面这张图,我建议你存下来。咱们每节课都会回到这个框架上,看具体调整哪个层级。
你从上往下看:
- 最上层:协议层。负责处理USB规范包的组装和解析。我一般不去动它,除非改固件。
- 中间层:链路层。这是我们做PHY调试时经常打交道的地方。它包含关键的 LTSSM(链路训练与状态状态机),以及流控逻辑。
- 最下层:物理层(PHY)。这里是你调整均衡、去加重、CTLE等等参数的主战场。链路层通过PIPE接口告诉PHY:"哥们,给点力!"
重要提醒: 很多新手工程师只盯着PHY调参数,忽视了链路层的状态机。其实有时候链路训练失败,不是因为信号差到收不到,而是因为 链路层状态机在超时后进入了Recovery或Reset状态。你明明调好了眼图,状态机却不肯Polling,那是白费功夫。所以,调PHY之前,先确保LTSSM跑对了。
1.4 链路训练的基础概念
说到这个,我必须提一嘴USB 3.0链接的"握手"过程。它不像USB 2.0那样插上去就有电就行。USB 3.0建立连接前,得先进行 电气特性协商。
我遇到过最典型的情况:客户拿来一个Type-C转接板,插上后在Windows里不识别设备。我用USB分析仪抓包,发现链路层在Polling阶段循环,就是进不了U0(工作状态)。为什么?因为两端的均衡参数没对齐。这就像两个人对话,一个讲四川话,一个讲广东话,互相听不懂。
USB 3.0的链路训练大致分这几步:
- 检测上拉/下拉电阻:物理连接是否建立。
- 轮询(Polling):发送训练序列TS1/TS2,开始频率锁定和比特对齐。
- 均衡后配置(EQ Phase):通过握手调整发送端去加重、接收端CTLE等参数。这节课后续的示例项目,主要就围绕这个阶段。
- 进入U0:所有参数协商完成,开始正常数据传输。
核心知识点: EQ阶段是 USB 3.0 独有的调整窗口。在这个阶段,接收端会测量信号质量,然后通过 备用错误计数 或者 眼图模板 判断,并通过链路层回送调整请求。我们课程后半部分的实战,就是手把手带你搞定这个流程。
好,关于概述就先到这。记住我们今天提到的三层架构:协议层、链路层、物理层。后续所有章节都将围绕这个框架展开,尤其是物理层的均衡和链路层的LTSSM。