差模与共模:信号完整性的根基

做 PCIe 设计这么多年,我见过不少工程师把差分对当成“两根平行线跑差分布线”就完事。其实理解差模与共模才是真正入门信号完整性的第一步。记得有一次评审一块 Gen3 的板子,别人问我“你这两根线搞这么对称干嘛,不就是跑个差分信号吗?”我说:“等你看到 Gen5 的接收端因为共模噪声太大导致链路训练失败,你就懂了。”

今天咱们就把差模和共模这两个概念彻底掰扯清楚。你不会再觉得它只是个理论术语,它直接决定了你 PCB 上那几寸铜箔能不能传好 32 Gbps 的信号。

差模信号:我们真正想传的东西

差分对的核心就是差模。简单说,差模就是两根线上大小相等、方向相反的信号。正端电压 Vp,负端电压 Vn,那么差模电压 Vdiff = Vp - Vn。接收端看的就是这个差值。

  • 电流流向:一根线流出,另一根线流回,构成完整回路。
  • 电磁场:两根线的磁场互相抵消,对外辐射极小。
  • 抗干扰:外部噪声同时耦合到两根线上,差模计算时会相减抵消,天然抗共模干扰。

说白了,差模就是我们精心设计的那 0.5V 摆幅、干净利落的蝶形眼图。PCIe Gen5 对差模失配极其敏感,哪怕只有几皮秒的 skew,眼图就会塌掉一半。我个人的习惯是在仿真时先看差模回损 SDD11 和差模插损 SDD21,这两个指标不过关,其他都免谈。

共模信号:让人头疼的隐形杀手

共模呢?两根线上出现大小相等、方向相同的信号。Vcom = (Vp + Vn)/2。理论上我们希望共模为零,但实际电路里总有各种原因产生共模分量:

  • 信号源不平衡(驱动端输出阻抗不匹配)
  • PCB 布线不对称(长度、过孔、耦合偏差)
  • 接收端端接电阻对地有差异

共模本身不携带有效数据,它只会带来 EMI 辐射和抖动。在 Gen5 这么高的速率下,共模噪声会直接耦合到电源层,再串扰到其他差分对,导致整个链路恶化。我曾经碰到过一个案例:一块 16 层的背板,Gen4 跑着没问题,一升级到 Gen5 就卡在链路训练。查了三天,发现有一对差分线的过孔反焊盘挖得不一致,导致共模转换参数 SDC21(差模转共模)飙到了 -15 dB。改完过孔结构,问题立刻消失。

⚠ 重要警告:在 PCIe Gen5 的仿真报告里,一定要检查混合模式 S 参数中的 SCC(共模回损)和 SCD / SDC(模式转换参数)。忽略共模指标等于埋雷,等板子回来测量发现 EMI 超标,就只能上共模扼流圈,甚至返工。

差模 vs 共模:一张表说清楚

对比项 差模(Differential) 共模(Common)
定义 Vp - Vn,大小相等方向相反 (Vp + Vn)/2,大小相等方向相同
电流流向 一根流出,另一根流回 两根同时流出或流回
电磁场 相互抵消 → 低辐射 互相叠加 → 高辐射(EMI 源)
对信号影响 携带有效数据,影响眼图 不携带数据,增加抖动和误码率
设计关注点 线宽线距、等长、阻抗控制 对称性、过孔匹配、共模扼流
S 参数典型指标 SDD11、SDD21 SCC11、SCD21、SDC21
💡 个人技巧:在仿真工具(如 Ansys HFSS 或 Keysight ADS)里设置混合模式端口时,记住把差分对的物理端口编号对应成差模和共模逻辑端口。我习惯用端口 1+2 映射为差模,端口 3+4 映射为共模,这样看 S 矩阵的四个象限更清晰。

混合模式 S 参数:一块看懂四个象限

差分信号理论走到深处,必然要碰混合模式 S 参数。这里给个快速索引:

  • SDD:差模到差模(我们最关心的传输和反射)
  • SCC:共模到共模(共模回损,一般要求小于 -10 dB)
  • SDC:共模转化为差模(共模干扰变成数据抖动的大忌)
  • SCD:差模转化为共模(不对称设计导致有效信号以共模形式辐射出去)

你想想看,如果在 Gen5 的链路里 SDC21 太大,意味着共模噪声被接收端“翻译”成了差模数据。本来没信号的地方多出了抖动,接收端均衡器再厉害也救不回来。

SVG 图:差模与共模直观对比

差模与共模信号示意 差模信号 Vp Vn 电流方向相反 → 磁场抵消 → 低辐射 V_diff = Vp - Vn 共模信号 Vp Vn 电流方向相同 → 磁场叠加 → EMI V_com = (Vp + Vn)/2 关键认知 • 差模 = 有用信号,共模 = 无用噪声(但不得不防) • PCB 设计不对称 → 产生共模 → 模式转换参数恶化 • Gen5 必须同时控制 SDD 和 SCC 指标,不能偏废 • 差模过孔优化不到位,共模会比差模更早亮红灯
✍ 工程师笔记:在 Gen5 设计阶段,我会先把差分对的共模回损 SCC11 定在 -15 dB 以下,SDC21 定在 -20 dB 以下。如果仿真发现 SDC21 超标,优先检查过孔反焊盘是否对称、参考层是否连续。这是我在多个项目里踩坑总结出来的红线。

好,差模与共模的理论基础就谈到这里。你可能会说“这些我都知道”,但当你在仿真报告里看到 SCC11 飙升的时候,回想到今天聊的这些细节,应该能更快定位问题根源。记住:差模是你的朋友,共模是你的暗敌。在 Gen5 这么高的频率下,暗敌随时可能跳出来咬你一口。