2. PCIe Gen3 物理层电气参数:速率、电压摆幅、差分电平

做 PCIe Gen3 电气测试,有些基础参数你必须得心里有数。就像开车前得知道这车能跑多快、油门踩到底是什么感觉。这一章,我就把我这些年跟 Gen3 物理层打交道的经验摊开来聊聊。

说白了,电气参数就是信号在物理介质上传输时的“规矩”。你想想看,一根铜线上的电压跳变,要是没个标准,接收端根本分不清哪个是“1”、哪个是“0”。

核心要点: PCIe Gen3 的电气层,最关键的三个参数是 数据速率、发射端电压摆幅 和 差分电平。这三个参数决定了链路能不能稳定跑在 8 GT/s。

2.1 数据速率:8 GT/s 到底意味着什么?

Gen3 的速率是 8.0 GT/s,也就是每秒传输 8 Giga 个符号(Symbol)。注意,这里用的是 GT/s,不是 Gbps。在 Gen3 之前,每个 Symbol 只传 1 bit 数据,所以 GT/s 就等于 Gbps。但 Gen3 用了 128b/130b 编码,效率更高。

我记得有次跟一个刚入行的同事讨论,他总觉得 8 GT/s 这个数字很抽象。我给他打了个比方:一条 Gen3 的 Lane,8 GT/s 的原始速率,减去 130 位里那 2 位的编码开销,实际有效数据吞吐大概是 7.877 Gbps。

为什么会这样?我们来看计算:

  • 原始速率:8.0 GT/s
  • 编码效率:130/128 = 1.015625,所以实际有效 bit 率是 8 GT/s / 1.015625 ≈ 7.877 Gbps

嗯,这里要注意,测试的时候示波器抓到的眼图,是基于 8 GT/s 的符号率来做的。你设置的 UI (Unit Interval) 也就是 1/8.0e9 = 125 ps。这个 125 ps 是后面所有抖动分析、眼图模板测试的基础。

个人小技巧:在设置示波器时,我会先把参考时钟恢复的速率锁定在 8.0 GT/s 的整数倍上。很多时候示波器默认的速率搜索范围太宽,锁不准,眼图就糊了。手动锁一下,能省不少排查时间。

2.2 电压摆幅:信号到底“吼”多大声?

电压摆幅决定了信号的能量大小。Gen3 标准里给出了好几个摆幅档位,但最常用的还是低摆幅 (Low Swing) 和全摆幅 (Full Swing)。

我曾经在调试一块老旧的 Gen3 板卡时,发现链路就是不稳。拿示波器一看,发射端的全摆幅只有 700 mVpp。嗯,这在 Gen3 里是达标的,但已经接近下限了。再加上传输线上的损耗,到接收端就更惨了。

我把 Gen3 常见的发射端摆幅要求整理了一下:

参数 低摆幅 (Low Swing) 全摆幅 (Full Swing) 说明
差分输出电压 (Vpp) 0.4 V - 0.7 V 0.8 V - 1.2 V 通常测试时看峰峰值
摆幅档位标识 厂商自定义 标准模式 有些芯片叫 De-emphasis 模式
主要应用场景 短距离、低功耗 长距离、高损耗链路 台式机主板多用全摆幅

这里有个坑:低摆幅不是让你把电压调低就能用的。它的预加重和去加重系数也会变。我见过有人直接把全摆幅的去加重设置套在低摆幅上,结果眼图完全关上了。

2.3 差分电平:接收端到底在看什么?

不管是发射端吼多大声,接收端最终是通过两个引脚(D+ 和 D-)的差值来辨认信号的。这个差值就是差分电平。

差分电平的好处,说白了就是抗干扰。共模噪声会同时出现在 D+ 和 D-上,做减法时就抵消了。

Gen3 规范里,对接收端能接受的差分电平有个 “接收器灵敏度” 要求。简单说就是,信号到接收芯片引脚时,最小幅度不能低于 100 mV(差分)。低于这个值,接收器就瞎了。

警告: 别只看发射端的摆幅。你想想看,信号从芯片出来,走过 PCB 走线、过孔、连接器、金手指,一路的插损和反射会把信号打得七零八落。眼图闭合,很多时候就是差分电平在接收端不够了。

我之前测一个固态硬盘项目,眼图在测试点(测试夹具末端)看着还行。但插到主板上后,跑压力测试就报错。后来用探头扎到接收芯片引脚端去量,发现差分电压已经掉到 150 mV 了,裕量只有 50 mV。那之后,我就习惯在制定测试计划时,把“接收端波形测量”也加进去。

2.4 总结:三者之间的关系

我画了张图,把这节的逻辑串一下:

PCIe Gen3 物理层电气参数核心逻辑 数据速率 (8 GT/s) 发射端电压摆幅 接收端差分电平 电气合规测试 (眼图/抖动) 说明: 速率决定测试的时间基准(125ps UI) 发射摆幅 × 通道损耗 = 接收电平 三者共同决定合规测试能否通过

你看,从速率出发,它决定了你的时间精度。然后看发射端能输出多大的电压摆幅,信号经过通道衰减,最终在接收端还有足够的差分电平。任何一个环节掉了链子,最后的眼图测试和抖动测试就会失败。

我个人的习惯是:拿到一块新板子,先不看复杂的抖动分析。先量速率对不对,再量发射端摆幅够不够。这两步过了,再去看接收端的差分电平。这就好比打仗,先保证弹药充足,再考虑怎么瞄准。基础打牢了,后面调去加重、谈合规才有意义。