差模与共模:信号完整性的根基
做 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。改完过孔结构,问题立刻消失。
差模 vs 共模:一张表说清楚
| 对比项 | 差模(Differential) | 共模(Common) |
|---|---|---|
| 定义 | Vp - Vn,大小相等方向相反 | (Vp + Vn)/2,大小相等方向相同 |
| 电流流向 | 一根流出,另一根流回 | 两根同时流出或流回 |
| 电磁场 | 相互抵消 → 低辐射 | 互相叠加 → 高辐射(EMI 源) |
| 对信号影响 | 携带有效数据,影响眼图 | 不携带数据,增加抖动和误码率 |
| 设计关注点 | 线宽线距、等长、阻抗控制 | 对称性、过孔匹配、共模扼流 |
| S 参数典型指标 | SDD11、SDD21 | SCC11、SCD21、SDC21 |
混合模式 S 参数:一块看懂四个象限
差分信号理论走到深处,必然要碰混合模式 S 参数。这里给个快速索引:
- SDD:差模到差模(我们最关心的传输和反射)
- SCC:共模到共模(共模回损,一般要求小于 -10 dB)
- SDC:共模转化为差模(共模干扰变成数据抖动的大忌)
- SCD:差模转化为共模(不对称设计导致有效信号以共模形式辐射出去)
你想想看,如果在 Gen5 的链路里 SDC21 太大,意味着共模噪声被接收端“翻译”成了差模数据。本来没信号的地方多出了抖动,接收端均衡器再厉害也救不回来。
SVG 图:差模与共模直观对比
好,差模与共模的理论基础就谈到这里。你可能会说“这些我都知道”,但当你在仿真报告里看到 SCC11 飙升的时候,回想到今天聊的这些细节,应该能更快定位问题根源。记住:差模是你的朋友,共模是你的暗敌。在 Gen5 这么高的频率下,暗敌随时可能跳出来咬你一口。