PCIe物理层电气规范归纳总结
物理层电气规范,说白了就是PCIe在铜线上怎么“说话”的规矩。电压多高、信号多快、眼图长什么样,全得按协议来。我刚开始接触Gen3时,总觉得电气参数是芯片设计的事,跟测试关系不大——直到第一次量到眼图闭合,才发现信号完整性这东西,真是一步错步步错。
差分信号基础
PCIe用的是差分对,D+和D-两根线互为参考。好处很明显:噪声会被差分接收器自动抵消,共模干扰根本不关心。
- 差分电压:Vdiff = (D+) - (D-),典型摆幅在800 mV ~ 1200 mV之间
- 差分阻抗:要求100 Ω ± 15%,设计板卡时走线一定要控制好,否则反射直接让眼图变差
- 共模电压:对地参考,通常为0 V附近,但不能超过 ±100 mV
记住:差分对必须等长、等距、同层走线。我自己验证过几块失败板子,基本都是这两点没做到位。
发送端电气参数
发送器(TX)负责把数据变成电信号。规范里明确了几个关键值:
| 参数 | Gen1/Gen2 | Gen3/Gen4 | 说明 |
|---|---|---|---|
| VTX差分摆幅 | 800 ~ 1200 mV | 800 ~ 1000 mV | Gen3后为了降低功耗,上限收窄了 |
| De-emphasis | -3.5 dB / -6 dB | 自适应 | Gen3后改为去加重动态调整,补偿信道损耗 |
| TX抖动(RMS) | < 0.15 UI | < 0.10 UI | 单位间隔,Gen4要求更严 |
嗯,去加重这块最容易踩坑。我曾经调试Gen3链路,发现眼图底部一直塌陷,最后定位到TX去加重系数没配对——协议要求自适应,但实际芯片有默认值,不改就出问题。
接收端电气参数
接收器(RX)肩负重担:要把被信道衰减后的微弱信号恢复出来。关键参数包括:
- RX敏度:最小差分信号幅度,Gen1约50 mV,Gen4需低至30 mV
- RX抖动容限:必须能在指定抖动下无误恢复数据
- CTLE & DFE:连续时间线性均衡器和判决反馈均衡器,是RX的“眼镜”
要注意:合规性测试里经常忽略RX端抖动容限测试。我在一次互操作性测试中,两家的板子分别通过单端测试,但连起来就不稳——分析发现是RX的CDR(时钟数据恢复)带宽不匹配。别只测TX就完事。
去加重与预加重
为什么需要去加重?高速下信道像低通滤波器,高频损耗大。发送时把低频分量压低(去加重),等价于预加重了高频。效果就是接收端看到更均衡的眼图。
// 举个例子:Gen1去加重比值
// -3.5 dB: 电压比约 0.67
// 正常位电压 = 1.0 → 去加重后 = 0.67
// 前一位翻转,当前位保持,去加重只影响非翻转位
实际测量时,用示波器抓差分波形,看跳变边沿的幅度差。我有个习惯:先测一根长走线的眼图,再去掉去加重,对比两次结果,你立刻能看出补偿效果。
抖动分类
抖动是物理层测试的核心。协议把抖动按来源分为两类:
- 随机抖动(RJ):不可预测,服从高斯分布,主要由热噪声引起
- 确定性抖动(DJ):可重复,包括占空比失真、符号间干扰、串扰等
测试时,会用示波器采集大量数据,然后通过算法分离总抖动(TJ)中的RJ和DJ。我建议你直接用夹具和配套软件算,别自己手写代码——分离算法很敏感,稍微调得不准结果就废了。
| 抖动类型 | 主因 | 测试方法 |
|---|---|---|
| 总抖动(TJ) | 所有来源叠加 | 直方图法,眼图闭合边界 |
| 随机抖动(RJ) | 热噪声 | 从直方图尾端拟合高斯分布 |
| 确定性抖动(DJ) | 信道缺陷、串扰 | 双峰直方图分离 |
眼图模板
合规性测试最终看眼图。规范给定了模板(mask),眼图必须完全避开模板区域。举个例子,Gen3的眼图模板是六边形:
- 水平方向:约 0.35 UI 的宽度限制
- 垂直方向:约 100 mV 的幅度限制
- 中心区域还有一块小菱形,表示RX采样点安全区
我常跟新人说:“眼图就像是信号的身份证,模板是公安系统的通缉令。你的信号要是进了模板区域,那就‘犯法’了。”
合规性测试要点
测试物理层电气规范,我一般按这个流程走:
- 环境校准:先测一段已知无差错的通道,确认夹具线缆正常
- 差分电压测试:示波器设置50 Ω端接,抓单端然后计算差分,或者直接用差分探头
- 眼图模板测试:设置模板,采集至少10^6个UI,看有无违规击中
- 抖动分析:用协议软件分离RJ/DJ,看TJ是否超限
- 去加重验证:比较带去加重和不带去加重两种情况下的眼图张开度
曾经有一块板子,眼图抖动一直偏大,排查了两天没结果。最后发现是示波器探头接地弹簧太长——看着是小事,但高频下接地电感引入额外抖动。所以,测试环境本身的SI(信号完整性)也得关注。
你想想看,物理层电气规范其实就是给信号一个明确的“性格”:振幅不能太小、抖动不能太大、眼图不能碰模板。把这些值记牢,测试时有针对性地量,问题基本藏不住。