差分信号基础:共模电压、摆幅、终端匹配

做高速信号调试,差分对是你天天打交道的玩意。LVPECL、CML 这些协议,说白了都是差分传输。但很多人一上来就盯着眼图、抖动,反而把最基本的三个参数搞混——共模电压、摆幅、终端匹配。我自己的经验是,这三个点只要有一个没算对,后面眼图闭合、误码率飙升,查半天都找不到原因。

这一章咱们就把它们彻底捋清楚。

共模电压:差分对的“直流地基”

共模电压就是两根线上直流电平的平均值。你想想看,差分信号走的是两根线,接收器看的其实是 Vp - Vn 的差值,但每根线对地的电压也得有个范围。

协议典型共模电压 (VCM)供电电压
LVPECL (3.3V)VCC - 1.3V ≈ 2.0V3.3V
LVPECL (2.5V)VCC - 1.3V ≈ 1.2V2.5V
CML (3.3V)VCC - 0.4V ≈ 2.9V3.3V
CML (1.8V)VCC - 0.4V ≈ 1.4V1.8V

我记得第一次调 LVPECL 电路时,板子上用的是 3.3V 供电,但接收端芯片只支持 1.2V 共模。直接连上去,直流偏置根本不对,接收端一直输出随机电平。后来加上 AC 耦合电容,再把偏置电阻焊上,才算搞定。

避坑指南: 共模电压必须落在接收器的输入共模范围内。AC 耦合虽然能隔掉直流,但接收器端必须自己重建共模,否则信号会被削顶或削底。我曾经在一块板上偷懒没加偏置电阻,结果眼图底部被削掉一块,误码率 10-3,查了两天才发现。

摆幅:信号的能量大小

摆幅就是差分电压的峰-峰值。LVPECL 的典型摆幅约 800mVpp,CML 约 400mVpp。别小看这个数字——它直接决定了你的信噪比和功耗。

  • LVPECL:输出级是射极跟随器,电流源约 14mA,终端电阻 50Ω 对 VCC-2V,单端摆幅约 400mV,差分就是 800mV。
  • CML:输出级是差分对,电流源约 16mA,负载 50Ω 对地,单端摆幅约 400mV,差分也是 800mV?等一下,注意 CML 的 400mV 是差分摆幅,不是单端。很多资料写单端 200mV,差分 400mV。我习惯用差分摆幅来沟通。

为什么 CML 摆幅更小?因为它靠电流切换,没有射极跟随器的电压降,功耗更低,适合高密度 SerDes 接口。但小摆幅对噪声更敏感,布线必须更小心。

调试小技巧: 用示波器测差分信号时,把两个探头接在正负端,用数学通道 A-B 看差分波形。这样可以直接读出摆幅。我曾经被探头地环干扰骗过,以为摆幅不够,其实是共模噪声把波形抬变形了。

终端匹配:信号完整性胜负手

终端匹配的目的只有一个——消灭反射。差分对的匹配分两种:差模匹配和共模匹配。很多新手只接了差模电阻,忘了共模回路,结果信号回流的返回路径出问题。

注意: LVPECL 和 CML 的终端方式完全不同,不能混用。我曾经见过一块板子,设计师把 LVPECL 输出直接配成 CML 的 100Ω 对地,结果输出级电流灌不进去,芯片烫到 80°C。

协议差模匹配共模匹配典型电路
LVPECL100Ω 跨接在 P/N 之间每个线对 VCC-2V 接 50Ω戴维南等效:上拉 130Ω 至 VCC,下拉 82Ω 至地
CML100Ω 跨接在 P/N 之间无,或通过 50Ω 至地(单端)直接 50Ω 对地或 100Ω 跨接(差分)

// LVPECL 3.3V 典型终端(戴维南等效)
// 实际用两个电阻实现:R1=130Ω→VCC, R2=82Ω→GND
// 每根线接一个分压网络
V_CM = VCC * R2 / (R1+R2) = 3.3 * 82 / (130+82) ≈ 1.28V
// 加上 AC 耦合后,接收端自己重建共模

实际调试中,我喜欢直接用 100Ω 跨在差分对上测直流电阻——如果读出来是 100Ω 左右,说明匹配正常。但要注意,有些芯片内部已经做了匹配,外部再加就会拉低信号幅度。

差分信号三要素关系图 共模电压 差模摆幅 终端匹配 VCC - 1.3V (LVPECL) VCC - 0.4V (CML) 800mVpp (LVPECL) 400mVpp (CML) 100Ω跨接 LVPECL比CML共模电压低约1V CML摆幅只有LVPECL的一半 两者终端电阻值相同但接法不同 共模电压由供电和偏置决定 摆幅由电流源和负载决定 匹配由协议和拓扑决定

上面这张图把三个要素的关系和典型值串起来了。记住一句话:共模定直流偏置,摆幅定信号能量,匹配定反射抑制。三个点独立又相互影响——比如匹配错了,共模和摆幅都会畸变。

实战小结

  • 拿万用表测差分线对地直流电压,算出共模值。如果不在芯片手册范围内(一般 ±10%),查终端电路。
  • 用示波器看差分摆幅。LVPECL 应该在 700–900mVpp,CML 在 350–450mVpp。偏低说明线损或匹配不对,偏高说明有反射叠加。
  • 确认终端电阻的功率。LVPECL 戴维南网络上的电阻功耗可能达到 0.1W,用 0603 会烫,我建议至少 0805。

再提醒一遍: 不要相信仿真里给的理想共模电压。实际PCB上 IR drop 会导致 VCC 下降,共模跟着变。我做过一块板,LVPECL 的 3.3V 电源远端掉了 0.2V,共模直接从 2.0V 降到 1.8V,好在接收器范围够宽,否则就要加电源调整。