第2章:差分信号基础——差分对、共模电压、摆幅

做高速信号测试,尤其是LVPECL和CML这类接口,你不把差分信号这关过了,后面看眼图基本就是瞎猜。我记得刚入行那几年,拿着示波器看一个PCIe信号,怎么调都觉得波形不对,后来师傅过来看了一眼,丢下一句“你共模电压都没设对,看什么眼图”。嗯,从那天起我就明白,差分信号不是“两根线传一个信号”这么简单。

一句话概括:差分信号的核心,是用两根线之间的电压差传信息,而不是看单根线对地的电压。

2.1 为什么高速信号都爱用差分?

其实原因很简单——抗干扰。单端信号你想想看,地平面一个抖动,接收端就可能误判0和1。差分对呢?两根线走同样路径,受到的干扰几乎一样,接收端只看差值,干扰就被抵消了。我在调第一块高速板的时候,就是因为没处理好地回流,单端时钟抖得跟心电图似的…换成差分之后,基线干净多了。

差分信号的几个天生优势:

  • 抗共模噪声:外界干扰同时耦合到P和N上,相减后抵消。
  • 更低的EMI:两根线的电流方向相反,磁场互相抵消。
  • 更高的电压摆率:摆幅虽小,但信号跳变更快。
  • 更好的共模抑制比(CMRR):接收端只认差值,不认电平。

你可能会问:“既然差分这么好,为啥不所有信号都用差分?”成本啊,兄弟。差分要两根线、要匹配、要共模稳定,板子面积和BOM都上去了。低速信号用单端,性价比高。

2.2 差分对结构——必须遵守的“对称美学”

差分对,说白了就是两根等长、等宽、紧耦合的走线,一个走正相(P),一个走反相(N)。我个人习惯在Layout阶段就把这两根线当作一根“差分大线”来看,而不是两条独立的单端线。

差分对的几个关键约束:

约束项 具体要求 为什么重要
线宽/线距 按阻抗要求计算,通常100Ω或90Ω 决定差分阻抗,直接影响反射和眼图质量
等长 对内等长误差≤5mil;对间≤50mil 不等长会产生共模分量,歪斜(skew)会吃掉眼图张开度
对称性 过孔、拐角、参考层必须对称 不对称会引入模式转换,把差分信号弄成共模噪声
紧耦合 线距尽量小,通常3倍线宽以内 紧耦合增强抗干扰能力,压低共模

我曾经踩过的一个坑:有一个12.5Gbps的CML链路,眼图总是闭合。查了三天,最后发现是差分对在BGA扇出区域的等长绕线没有对称,其中一根线多打了一个过孔。拆掉重做,眼图立刻打开。

2.3 共模电压——差分信号的“直流偏置锚点”

共模电压,英文叫Common-Mode Voltage,记成Vcm。数学定义很简单:

Vcm = (Vp + Vn) / 2

也就是两根线直流电平的平均值。它在差分信号里是个非常关键但经常被忽视的参数。

接口类型 典型Vcm 说明
LVPECL ≈ VCC - 1.3V 以电源轨为参考,Vcm随电源变化
CML ≈ VCC - 0.4V 以电源轨为参考,比LVPECL高得多
LVDS ≈ 1.2V 固定偏置,不随电源变化

测试的时候,共模电压如果不匹配,接收端会出现两种问题:饱和(信号跑到电源或地的轨上去)或者误码(阈值判断错位)。我建议,在测眼图之前,先用示波器的数学运算看一下Vcm波形——如果它在数据跳变期间有大的毛刺,说明你的测试环境或者PCB有共模噪声。我就见过有人说“眼图测出来老坏”,结果一看,Vcm上叠了一个200mV的振铃,显然不是信号问题,是测试设置没搞好。

2.4 摆幅——决定眼图“好吃”还是“难看”的硬指标

摆幅,英文叫Voltage Swing,记作Vswing。差分信号里的摆幅是指两根线之间的电压变化范围。

Vswing = Vp - Vn

信号从“1”跳到“0”,Vp从高变低,Vn从低变高,差值会变化两倍的单端幅度。

接口类型 典型单端摆幅 典型差分摆幅 特点
LVPECL 约 400mV — 600mV 约 800mV — 1200mV 摆幅大,驱动能力强,抖动优秀
CML 约 200mV — 400mV 约 400mV — 800mV 摆幅小,功耗低,适合高速率长距离

摆幅太小,眼图张开度不够,接收端误码率直接飙升;摆幅太大,EMI和功耗都会上去。你想想看,眼图的“眼睛”睁得有多大,很大程度上就是摆幅决定的。我调过一块板子,用的是LVPECL,眼图顶部和底部都有一个奇怪的“凹陷”,后来发现是摆幅太大把接收端的输入级推到非线性区了……把驱动电流调低一点,问题就没了。

这里还有一个概念要分清:摆幅和电压余量(Voltage Margin)的关系。摆幅是驱动端给你提供的电压变化范围,电压余量则是这个范围相对于接收端阈值的“富余空间”。测试的时候,我们不仅要看摆幅,还得看摆幅被损耗了多少。

2.5 差分信号的核心关系图

我把上面讲的内容串成了一幅图,方便你对照着理解——差分对、共模电压、摆幅在信号链路里的位置和影响。

差分信号知识框架 差分信号 差分对结构 共模电压 (Vcm) 摆幅 (Vswing) 等长 / 等宽 紧耦合 直流偏置 / CMRR 眼图张开度 测试关键点 • 差分对不对称 ⇒ 共模噪声增大 ⇒ 眼图闭合 • 共模电压不匹配 ⇒ 接收端饱和或误码 • 摆幅不足 ⇒ 眼高变小 ⇒ 误码率上升

2.6 测试中的几个关键提醒

个人习惯:拿到一块新板子,我先不看眼图,先用示波器看三个东西——差分的共模电压、单端摆幅是否一致、以及差分支路有没有明显的阻抗不连续。这三个量对了,眼图大概率是好的。

注意:带上主动探头测差分信号的时候,一定要确认探头的共模范围和差模范围。我曾经用了一根只能测±5V共模的探头去测CML信号(Vcm约等于VCC-0.4V,大约3.1V),结果探头饱和了,眼图直接变形成一条直线。换了高共模范围的探头,波形才真实。

总之,差分信号不是玄学,它就是一套严谨的“平衡艺术”。差分对结构保证了这个平衡的机械基础,共模电压决定了平衡点的位置,摆幅决定了这个平衡的强度。后面我们测眼图的时候,所有的异常表现——眼高不够、眼宽闭合、抖动增大——你都可以从这三个角度去反推原因。