差分信号基础

大伙儿好,咱们今天聊聊PCIe Gen4差分信号的那些事儿。老实说,做了这么多年高速信号调试,我最深的感触就是:差分信号这事儿,看着简单,实际坑不少。尤其是到了Gen4的速率,稍不留神,skew问题就能把你折腾得够呛。

我是从PCIe Gen2时代开始玩差分对的。那时候2.5Gbps,走线长点短点影响不大。到了Gen3的8Gbps,就开始头疼了。Gen4直接干到16Gbps,眼图闭合速度比我泡面还快。所以,搞懂差分信号的基础,是所有调试工作的第一步。

1.1 差分信号原理

差分信号,说白了就是用两根线传一个信号。一根传正相(D+),一根传反相(D-)。接收端看的是两根线上的电压差,而不是对地的电压。

为什么这样搞?因为它抗干扰。假设有外界噪声同时耦合到两根线上,电压差不变,这就是共模抑制。我在项目中遇到过,一个板子电源纹波大得离谱,单端信号废了,差分信号却稳如老狗。这就是差分的好处。

核心公式: V_diff = V(D+) - V(D-)

接收端只关心这个差值。发送端通常输出幅度约800mV-1.2V的差分摆幅,具体取决于协议和驱动配置。

1.2 PCIe Gen4物理层概述

PCIe Gen4的物理层(PHY)承担编码、发送、接收、均衡等任务。我一般把它拆成三块:

  • 逻辑子层:负责128b/130b编码、加扰、链路训练。
  • 电气子层:负责差分驱动、接收均衡、阻抗匹配。
  • 物理层介质相关(PMA):纯粹的模拟电路,包括SerDes、PLL、CDR。

Gen4速率是16 GT/s,单lane带宽约2 GB/s。物理层要求发射端差分输出阻抗100Ω(±15%),接收端也要求100Ω差分端接。嗯,这里要注意,PCB阻抗控制不好,回波损耗直接让你的眼图变成一团浆糊。

参数 Gen3 (8 GT/s) Gen4 (16 GT/s) 单位
编码方式 128b/130b 128b/130b —
单lane速率 8 16 GT/s
差分阻抗 100 100 Ω
回波损耗 -10 @ 4GHz -10 @ 8GHz dB
眼高最小值 175 175 mV

你想想看,Gen4频率翻倍,信号的上升沿更陡了,对PCB寄生参数也更敏感。我曾经调试一块板子,设计阶段完全照着Gen3规则走,结果Gen4根本link不上。最后发现是过孔残桩太长,导致高频损耗炸裂。

1.3 差分对结构

差分对的结构核心就是两根传输线,长度相等,间距恒定,阻抗受控。我习惯从三个维度去理解它:

  1. 等长:D+和D-走线长度必须一致,否则产生intra-pair skew。
  2. 等距:间距突变会导致差分阻抗变化,引起反射。
  3. 参考平面:连续完整的GND参考平面,这是阻抗稳定的基础。

很多工程师只盯着等长,却忽略了等距。实际差分信号更在乎的是整个传输路径的阻抗连续性。间距每变化10%,差分阻抗可能波动5-8Ω。别小看这个,Gen4上这就是眼图从张开到闭合的差距。

我的个人习惯:在layout阶段,我会要求每对差分线的组内长度差控制在5mil以内,间距在走线中保持±2mil的恒定。超出这个范围,我会打回重走。

1.4 核心知识框架

下图是我整理的本章知识体系。你把它记住,后面章节都会反复用到这些概念。

第1章 差分信号核心知识框架 差分信号基础 差分信号原理 PCIe Gen4物理层 差分对结构 共模抑制 · 差模信号 抗干扰 · 电压差检测 16 GT/s · 128b/130b编码 均衡 · 回波损耗 等长 · 等距 · 参考平面 阻抗控制 · intra-pair skew 共模拒绝比 (CMRR) 串扰 · 远端/近端 说明:差分信号基础是skew调试的根基,这三部分相互支撑,后面章节逐一展开。
避坑指南:我曾经有一个项目,工程师把差分对的等长做到了1mil以内,但间距在走线中途变了三次。结果眼图测试fail,debug一星期才发现是阻抗突变导致。后来我总结了一条经验:先控阻抗和间距,再碰等长。

1.5 差分对的关键时域参数

调试skew之前,你得先知道信号长什么样。差分信号在时域有几个关键指标:

  • 差分摆幅:V_diff峰值。
    Gen4典型值约800mV-1.2V。
  • 上升时间:20%-80% risetime。
    Gen4上一般在35ps-45ps。
  • 眼高:差分眼图垂直开度。
    Gen4规范要求≥175mV。
  • 眼宽:差分眼图水平开度。
    Gen4规范要求≥0.3UI(约18.75ps)。

为什么强调上升时间?因为skew对信号的影响,在上升沿最明显。如果D+和D-到达时间差超过上升时间的10%,眼图就开始变形了。你想想看,Gen4上升沿才40ps,skew超过4ps就得留意。这真的不是吹毛求疵。

好了,关于差分信号基础我们就先讲到这里。这三块内容是你后面理解skew调试的起点,尤其是差分对结构和时域参数,几乎每章都会用到。