第二章 差分信号与共模信号:掌握差分对的优势、共模噪声抑制原理及差分阻抗定义

做高速电路这些年,我越来越觉得,差分信号这东西就像“双胞胎一样的好搭档”。你看,单端信号就一条线,跑起来容易受干扰;而差分对呢,两条线走相反的电平变化,噪声一来,互相抵消。说白了,差分就是利用“平衡”两个字把信号保真度做上去。

这章我们聊聊差分信号与共模信号的底层逻辑。你学完就会明白:为什么LVPECL、CML这些高速接口都用差分对?共模噪声到底是怎么被压下去的?差分阻抗为什么是100Ω而不是50Ω?嗯,一个一个来。

2.1 差分信号与共模信号的定义

先看两个基本概念。

  • 差分信号 (Differential Signal):一对导体(D+、D-)上传输幅度相等、极性相反的两个信号。接收端只看两者之差 Vdiff = Vp – Vn。
  • 共模信号 (Common-Mode Signal):两个导体上同相变化的成分。一般定义为 Vcm = (Vp + Vn)/2,也就是两道信号的“平均值”。

在实际PCB走线中,差分对上的电压是这样的:

Vp = Vcm + Vdiff/2
Vn = Vcm – Vdiff/2

你想想看,如果差分对完美对称,那么外部干扰耦合到两条线上的噪声几乎相等,接收端做减法一减,就把共模噪声干掉了一大半。这就是差分信号抗干扰的核心机理。

💡 小经验: 我在调一块25Gbps的SerDes时,发现单端链路眼图已经糊了,切换到差分模式后眼图一下打开。差别就在这里——共模抑制。

2.2 差分对的三大优势

很多人问我:“为什么高速信号非要用差分?”其实就三个理由,简单又硬核。

  1. 更强的抗噪声能力:外界噪声、串扰、电源波动都会以共模形式出现在两条线上,而接收器只响应差分部分,对共模变化不敏感。一般差分接收器的共模抑制比(CMRR)能做到60dB以上。
  2. 更低的电磁辐射:差分对的电流方向相反,产生的磁场相互抵消。近场辐射可比单端低得多,这对EMC非常友好。
  3. 更低的信号摆幅:差分信号只需要很小的电压摆幅(比如CML只有400mV pp),就能驱动接收器,功耗更低,速度更快。

我记得有一次做LVPECL时钟分配,板子贴了屏蔽罩还是辐射超标。后来查原因:有一段差分对没等长,间距也没控好,共模转换量太大。调整后直接过EMC测试。这说明差分不是随便画就能发挥优势的,必须从结构上保证对称。

2.3 共模噪声抑制原理

共模噪声怎么来的?来源很多:相邻信号串扰、电源噪声通过耦合电容传递、参考平面不完整导致的回流噪声……但不管哪里来,只要差分对走线对称,这些噪声就能被彻底抑制掉。

关键在接收器的差分放大器:它输出的是 Vout = Ad·(Vp – Vn) + Acm·(Vp + Vn)/2。其中Ad是差模增益,Acm是共模增益。理想情况下,Acm → 0。

但实际中,不可能完全为零。共模抑制比CMRR = 20log(Ad / Acm)(单位dB)。优秀的设计能做到60dB以上,但在走线不对称、参考平面不连续时,CMRR会急剧下降。

⚠️ 我曾经踩过的坑: 一块PCIe gen3的板子,差分对的一端经过过孔换层,另一端没有,结果共模噪声比正常大了4倍,眼图闭合。后加对称过孔才解决。所以差分对过孔也必须成对出现。

2.4 差分阻抗的定义与控制

差分阻抗 Zdiff 并不是两个单端阻抗的简单串联。它的严格定义是:差分信号线上,差模电压 Vdiff 与差模电流 Idiff 的比值。

对于一对耦合传输线,差分阻抗可用下式计算(忽略损耗):

Zdiff = 2 × Z₀ × (1 – k) / √[1 – (1 – k²) × (C₀/Cₛ)]    (近似简化形式)

其中 Z₀ 是单端特性阻抗,k 是耦合系数。常见的高频标准:LVPECL 差分阻抗 100Ω,CML 也是 100Ω,LVDS 同样 100Ω。

那么,差分阻抗怎么在PCB上实现?核心三个参数:

参数作用典型值(4层板,微带线)
线宽 W影响单端阻抗0.12mm (对应50Ω)
线间距 S控制耦合度0.20mm (间距>线宽时耦合较弱)
介质厚度 H决定参考平面距离0.1mm (靠近地层)

我习惯先算出单端阻抗到50Ω,再通过改变间距微调差分阻抗。如果间距太小(<1.5W),耦合过强,Zdiff会明显小于2×Z₀。反之,间距很大时(>3W),耦合可忽略,Zdiff ≈ 2×Z₀。

🔧 实际经验: 用Polar SI9000或者HyperLynx仿真时,通常目标设Zdiff=100Ω,Z0=55~60Ω,因为耦合会让阻抗降低几欧姆。你要拉大间距,Z0就得往上调。
差分信号与共模信号知识体系 差分信号 vs 共模信号 三大优势 抗噪声 / 低辐射 / 低摆幅 共模噪声抑制 CMRR / 对称性 / 差分放大器 差分阻抗定义 Zdiff = 2Z₀(1-k)... 共模抑制比 ≥ 60dB 走线等长等距 差分放大器共模增益→0 不对称→CMRR下降 目标100Ω (LVPECL/CML) 线宽+间距+介质厚度 核心要点 差分对核心 = 对称 → 共模抑制 → 低辐射 差分阻抗控制 = 计算+仿真+加工误差预留

2.5 差分阻抗仿真验证

纸上算完,并不代表板上就能实现。我个人习惯:Layout送厂前一定要跑一个差分阻抗的S参数仿真。用HFSS或者SIwave提取一段差分线,看TDR曲线在目标阻抗附近抖动幅度。

举个实际例子,某次对一个4层板的CML链路做仿真,设计目标100Ω,实测仿真只有96Ω。排查后发现层叠结构里介质厚度H偏大。调整到更薄的核心层(0.08mm),Zdiff变100.5Ω。你看,误差0.5Ω就够了。

🛠 避坑建议: 差分阻抗的加工容差通常允许±10%。但你如果做25Gbps以上链路,最好控制在±5%以内。而且别忘了,via stub、connector、焊盘都会改变局部Zdiff,这些要用3D模型看全路径。

2.6 共模与差分的转换:一个常被忽视的问题

差分线跑着跑着,差分信号会部分变成共模噪声,这个过程叫模式转换(mode conversion)。产生原因:走线不等长、不等宽、参考平面不连续、拐角不对称等等。

模式转换用S参数衡量:Scd21 或 Sdc21。一个好的差分通道,Scd21 应该低于-20dB。如果超过-15dB,你就要检查等长公差是否过大,或者回流路径有跳跃。

我见过一块板子Scd21只有-10dB,连上FPGA后眼图直接塌了一个象限。后来发现D+和D-差了好几个毫米,还一个线宽0.12mm、另一个0.13mm。改版后问题消失。所以说,差分对不仅是两条线的组合,更是一对“镜像孪生兄弟”,任何不对称都是隐患。