第2章 USB电气特性基础

这一章要聊的是USB物理层的“硬”东西——差分信号、电平规范、眼图模板、摆幅和上升时间。说白了,就是信号在线上到底怎么跑的,跑成什么样才算合格。我刚开始做USB验证那两年,总以为协议才是大头,结果板子回来眼图一塌糊涂,才明白电气特性不过关,协议层全是白忙。

2.1 差分信号:为什么两根线比一根线稳

USB使用一对差分线,D+和D-。发送端让这两根线电压大小相等、极性相反,接收端只关心它们的差值,不关心对地参考。

  • 共模抑制:外界噪声同时耦合到D+和D-,差值不受影响。你想想看,这比单端信号抗干扰强太多了。
  • 参考地不敏感:即便收发两端的GND有电位差,只要差分对保持摆幅一致,信号照样可靠。
  • 电磁辐射小:两线电流方向相反,磁场相互抵消,EMI自然低。

我做过一块板子,电源地处理得不太好,单端信号经常误码。换成USB差分传输后,通信直接正常了。差分对在PCB上必须等长、紧耦合,layout时别省这步。

2.2 D+ / D- 电平规范

USB有低速(1.5 Mbps)、全速(12 Mbps)、高速(480 Mbps)三种模式。它们的静态电压和驱动电平不一样,但底层都靠D+ / D-上的电压跳变来区分。

模式静态电压 (D+ / D-)驱动电压摆幅终端电阻
低速D+ = 0V, D- = 3.3V (空闲)0V ↔ 3.3V1.5 kΩ 上拉至 D-
全速D+ = 3.3V, D- = 0V (空闲)0V ↔ 3.3V1.5 kΩ 上拉至 D+
高速D+ = 400 mV (差分), D- = 0V (空闲)400 mV 差分峰峰值45 Ω 差分匹配

注意高速模式下,电压摆幅远小于全速/低速——只有400 mV左右。这能降低功耗和EMI,但对信号完整性要求更苛刻。我记得第一次测高速眼图时,发现信号摆幅只有350 mV,直接判fail。后来用示波器一查,是板上过孔阻抗不连续导致的。

2.3 眼图模板:眼睛是闭还是睁

眼图,就是把长时间的数据波形叠加到同一个时间窗口上。如果眼睛张开得够大,说明噪声、抖动都在容忍范围内;如果眼睛眯成一条线,基本就是信号质量不过关。

眼图模板关键参数:

  • 眼高(Eye Height):差分信号的垂直开度,代表噪声裕量。
  • 眼宽(Eye Width):水平开度,代表抖动裕量。
  • 掩码区域:模板中间六边形区域——信号不能碰到这里。

下面是USB规范里对各模式眼图模板的最低要求(我整理了常用值):

模式眼高最小值眼宽最小值掩码高度
全速 (12 Mbps)1.5 V66.7 ns (80% UI)1.0 V
高速 (480 Mbps)240 mV1.7 ns (80% UI)200 mV

为什么全速眼高那么大?因为全速是单端3.3V摆幅,而高速只有差分400mV。眼图分析最怕的是频率越高、电压越低、抖动越大。我曾经调试一块USB 3.0的板子,高速眼图眼宽只剩1.4 ns(标准要1.7 ns),查来查去发现差分对长度差了5 mm。重新等长后眼宽直接跳到1.9 ns,干干净净。

示波器测眼图时,记得用差分探头(带宽至少2倍信号频率),并且设置好50 Ω端接。别用单端探头去测D+和D-然后手动做减法——那样会引入共模噪声,眼图看上去永远不合格。我也干过这种傻事。

2.4 信号摆幅与上升时间

上升时间(Tr)决定了信号边沿多陡。太慢会超出眼图模板的时序要求,太快又会引起反射和过冲。USB规范给出了明确范围:

  • 全速: 上升时间 4 ns ~ 20 ns (20%-80%)
  • 高速: 上升时间 0.5 ns ~ 1.5 ns (20%-80%)

摆幅方面,全速/低速驱动器必须保证单端输出高电平大于2.8V,低电平小于0.3V。高速驱动器的差分摆幅在400 mV ± 10 %。如果摆幅偏低,光靠预加重也很难补救。

我遇到过一个案例:客户的USB高速波形上升时间只有0.35 ns,比下限还低。结果在长线缆上测到严重反射,眼图直接塌陷。解决办法是在驱动器端串一个22 Ω电阻,把上升沿缓一下——从0.35 ns拉到0.6 ns,眼图就过了。所以说,不是越快越好,匹配才是王道。

测量上升时间时,一定要用示波器的20%-80%自动测量功能,别自己数格子。做过一致性测试就知道,不同厂家的示波器算法略有差异,数据容易扯皮。我一般额外截一张眼图作为佐证。

2.5 电气特性知识体系一览

USB 电气特性知识体系 电气特性核心 差分信号 共模抑制 / 低EMI D+/- 电平规范 低速3.3V / 高速400mV 眼图模板 眼高 / 眼宽 / 掩码 摆幅 & 上升时间 驱动器参数 / 边沿斜率 四项基础决定信号完整性 差分对布局 → 电平匹配 → 眼图测试 → 上升时间调整 任何一环出问题,一致性测试都可能 FAIL

这张图把USB电气特性的四个核心框在了一起。从上到下看:中间是核心基础,四个分支分别对应我们刚讲过的内容。做一致性测试时,这四个方面一个都不能漏。我之前一份测试报告里漏了上升时间数据,客户硬是打回来让我重测,很尴尬。

2.6 实测避坑小记

  1. 探头阻抗要匹配:高速测试必须用有源差分探头,输入阻抗尽量高(一般25 kΩ)。我攒过一次笼统的测头,结果负载效应让眼高少了20 mV。
  2. 线缆不能忽略:测试夹具到示波器之间的线缆损耗会影响眼图,尤其3米以上的USB线。建议用规范的测试夹具,别省那点钱。
  3. 地弹噪声:D+ D-回流路径设计不好时,切换瞬间会产生地弹,在眼图上表现为睁开度变小。我曾通过增加去耦电容、缩小回流环路解决了问题。

别用USB供电给待测板!测电气特性时外部电源必须独立且稳定。板子上的电源纹波会直接串进信号,让你分不清是板子问题还是电源问题。我有一次就在这上面浪费了一个下午。

嗯,这一章内容不算多,但全是动手实践的“硬货”。下次上示波器测眼图之前,把差分对、电平、上升时间这些参数先在脑海中过一遍,调试效率能翻倍。