USB 3.0 物理层:SS 信号、差分线、终端电阻与阻抗匹配
这一节我们聊聊 USB 3.0 最底层的那些事儿。说白了,就是信号怎么从芯片管脚飞进电缆,又怎么从电缆跑进另一端的芯片管脚。别小看这些物理细节,我见过太多 PCB 画得花里胡哨,结果 SS 信号就是不通,最后查来查去,问题出在阻抗没控制好。
SuperSpeed 信号:它不是高速 USB 2.0
USB 3.0 的 SuperSpeed(SS)信号,和 USB 2.0 完全是两码事。USB 2.0 用一对差分线(D+/D-),半双工,速率最高 480 Mbps。SS 呢?它用了四对差分线,全双工,每对跑 5 Gbps,加起来双向 10 Gbps。你想想看,这带宽差了 20 倍,物理层的难度根本不是同一个量级。
我个人习惯把 SS 信号拆成两组来看:
- SS-TX:发送差分对(SSTX+ / SSTX-)
- SS-RX:接收差分对(SSRX+ / SSRX-)
SS 信号的摆幅比 USB 2.0 小很多。USB 2.0 高速模式下差分摆幅约 400 mV,SS 只有 100–200 mV 差分摆幅。为什么?因为频率太高(5 GHz 基频),大摆幅意味着更大的 EMI 和更难的通道设计。小摆幅配合均衡技术,反而能在高频下传得更远。
差分线:为什么不用单端?
有人问:5 Gbps,为什么非要用差分线?用单端不行吗?
嗯,这里要注意。单端信号对外部噪声非常敏感。一根信号线走在 PCB 上,旁边随便来条时钟线串扰一下,接收端就可能误判。差分线呢?两根线靠得很近,走的电流方向相反,电磁场互相抵消。外部噪声同时作用在两根线上,接收端只看差值,噪声被当成共模分量滤掉了。
你在实际项目中要注意三点:
- 等长:SS-TX+ 和 SS-TX- 走线长度差控制在 5 mil 以内。我在一个项目里偷懒,差了 15 mil,结果眼图闭合了一大半。
- 紧耦合:两根线间距严格遵循差分阻抗约束,不要分开又并拢。
- 远离其他信号:SS 线旁边 3W 距离内不要跑高速时钟、开关电源走线。
终端电阻:不是随便焊个 50 欧姆
USB 3.0 的终端电阻设计,和 USB 2.0 不一样。USB 2.0 在 D+/D- 上各有一个 45 欧姆对地电阻,用来做高速终端和挂起检测。SS 呢?它用的是 交流耦合 + 片内终端。
具体来说:
- 发送端:差分对输出经过 0.1 μF 交流耦合电容 后再连到连接器。电容隔离了 TX 端的直流偏置,避免两端共模电压打架。
- 接收端:在芯片内部,SSRX+ 和 SSRX- 各自对地接一个 50 欧姆电阻(典型值)。这样差分阻抗就是 100 欧姆。
为什么不能用外部电阻?因为 5 Gbps 的信号,外部电阻的寄生电容和电感就会破坏信号质量。片内电阻可以做到非常靠近焊盘,寄生极小。
| 参数 | USB 2.0 HS | USB 3.0 SS |
|---|---|---|
| 差分线对 | 1 对(半双工) | 4 对(全双工) |
| 差分阻抗 | 90 Ω ±15% | 100 Ω ±5% |
| 终端电阻 | 45 Ω 对地(外部/内部) | 50 Ω 对地(内部) |
| 耦合方式 | 直流耦合 | 交流耦合(TX 侧 0.1 μF) |
| 信号摆幅 | 400 mV 差分 | 100–200 mV 差分 |
阻抗匹配:差分 100 欧姆是怎么来的
USB 3.0 规范明确要求差分阻抗为 100 Ω ±5%。这个值不是拍脑袋定的,它由电缆特性、连接器寄生和信号完整性共同决定。你想想看,如果 TX 输出阻抗是 100 Ω,PCB 走线也是 100 Ω,连接器也是 100 Ω,电缆也是 100 Ω,那信号从头到尾不受反射。一旦某个地方偏差大了,反射叠加到信号上,5 Gbps 的眼图瞬间就塌了。
实际在 PCB 设计时,你要通过调整线宽、线间距和参考层距离来控制差分阻抗。举个例子:常见的 4 层板,外层差分线用 5 mil 线宽、7 mil 间距,在 1.6 mm 板厚、核心层 0.2 mm 的叠层下,大概能跑出 100 Ω。但每个板厂的 PP 和 core 厚度不同,一定要让板厂帮你算。
差分阻抗 Z_diff = 100 Ω ±5%
单端对地阻抗 Z_se = 50 Ω ±5%
交流耦合电容:0.1 μF ±20%,X7R 或 C0G 材质,封装 0402 或 0603。
我曾经在量产前发现一批板子的 SS 信号眼高普遍偏低,测 TDR 才发现差分阻抗变成了 85 Ω。查下来是板厂换了不同批次的 PP 片,介电常数变了,但没通知我。从那以后,我每批板子都要求随附阻抗测试条,并且自己亲自看报告。
一张图看懂物理层信号链路
下面我把整个链路画成一张流程图,从 SoC 的 SS TX 管脚到另一端的 SS RX 管脚,包含了交流耦合电容、连接器、电缆、PCB 走线、终端电阻等关键节点。你对照着看,能更清楚阻抗匹配的位置。
再说说高频布局的那些小细节
嗯,这里还得提几个容易被忽略的点。
- 交流耦合电容的位置:必须靠近 TX 端放置,距离 SS_TX 管脚不超过 500 mil。我试过放在连接器旁边,结果信号反射剧烈,眼图不成形。
- 参考平面必须连续:SS 差分线下面必须是完整的地平面,不能有槽或分割。有一次我在 BGA 扇出区中间穿了一根电源线,没注意把地层割断了,信号绕了一大圈才回到地,阻抗直接崩了。
- 过孔尽量少:每个过孔都会带来阻抗不连续。我一般要求 SS 信号不超过两个过孔。如果非要换层,一定要在过孔旁边加地过孔回返。
小结一下(不是总结)
USB 3.0 的物理层,说白了就是控制好每段 100 欧姆、把差分线的耦合做到极致、再用交流电容隔开两端的直流。这些功夫做扎实了,枚举时 link training 才能顺利通过。反过来,你要是发现 USB 3.0 一直降级到 USB 2.0 运行,第一件事就是拿 TDR 扫一遍 SS 链路的阻抗,八成能找到问题。