差分信号基础
大伙儿好,咱们今天聊聊PCIe Gen4差分信号的那些事儿。老实说,做了这么多年高速信号调试,我最深的感触就是:差分信号这事儿,看着简单,实际坑不少。尤其是到了Gen4的速率,稍不留神,skew问题就能把你折腾得够呛。
我是从PCIe Gen2时代开始玩差分对的。那时候2.5Gbps,走线长点短点影响不大。到了Gen3的8Gbps,就开始头疼了。Gen4直接干到16Gbps,眼图闭合速度比我泡面还快。所以,搞懂差分信号的基础,是所有调试工作的第一步。
1.1 差分信号原理
差分信号,说白了就是用两根线传一个信号。一根传正相(D+),一根传反相(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 差分对结构
差分对的结构核心就是两根传输线,长度相等,间距恒定,阻抗受控。我习惯从三个维度去理解它:
- 等长:D+和D-走线长度必须一致,否则产生intra-pair skew。
- 等距:间距突变会导致差分阻抗变化,引起反射。
- 参考平面:连续完整的GND参考平面,这是阻抗稳定的基础。
很多工程师只盯着等长,却忽略了等距。实际差分信号更在乎的是整个传输路径的阻抗连续性。间距每变化10%,差分阻抗可能波动5-8Ω。别小看这个,Gen4上这就是眼图从张开到闭合的差距。
1.4 核心知识框架
下图是我整理的本章知识体系。你把它记住,后面章节都会反复用到这些概念。
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调试的起点,尤其是差分对结构和时域参数,几乎每章都会用到。