4. PCIe 电气特性:电压摆幅、去加重、预加重、均衡
讲完协议层和链路训练的逻辑,咱们得聊聊最底层的物理层了。说白了,PCIe 信号在铜线上跑的时候,不是理想方波,而是会衰减、会变形的。你在示波器上看到的眼图,就是电气特性的最终呈现。我当年调试 Gen3 主板时,眼图闭合得像条缝,最后发现是去加重力度没调对,折腾了两周。
4.1 电压摆幅:信号大小的玄机
PCIe 的发送端输出差分电压,通常用 VTX-DIFF-PP(峰峰值差分电压)衡量。Gen1/Gen2 固定摆幅,Gen3 之后支持可编程摆幅。给你个参考:
| PCIe 代际 | 典型摆幅 (VTX-DIFF-PP) | 备注 |
|---|---|---|
| Gen1 / Gen2 | 400 mV ~ 1200 mV | 通常用 800 mV 左右 |
| Gen3 / Gen4 | 800 mV ~ 1200 mV | 低功耗模式可降到 400 mV |
| Gen5 / Gen6 | 600 mV ~ 1000 mV | 更强调均衡补偿 |
摆幅大了,信号能量强,抗噪好,但功耗和电磁干扰也高。摆幅小了,省电,但信号可能被噪声淹没。我个人习惯:在做 PCB 设计初期,先按默认 800 mV 跑仿真,如果眼图裕量不够,再调高到 1000 mV,而不是一上来就开大。
4.2 去加重与预加重:补偿高频衰减
信号在传输线上高频分量衰减更严重。去加重(De-emphasis)和预加重(Pre-emphasis)是两种补偿方法。本质上都是在发送端对信号频谱做预整形。
4.2.1 去加重(Gen1/Gen2 常用)
它降低低频分量,保持高频不变。比如 Gen1 要求 -3.5 dB 去加重。怎么操作?就是让非跳变位的电压幅度减小,跳变位维持满幅。想象一下:连续两个相同 bit 时,第二个 bit 的电压会被压低 3.5 dB。这样在接收端,高频跳变部分相对更强。
4.2.2 预加重(Gen3 之后融入均衡流程)
预加重正好相反:提升高频跳变位,非跳变位保持正常。实际上 Gen3 之后不再单独提“预加重”,而是统一用 3-tap TX FIR 滤波器来实现。滤波器系数(前标 c-1、主标 c0、后标 c1)可以编程。我建议你记住这个公式:
Vout(n) = c(-1)*Vin(n-1) + c(0)*Vin(n) + c(+1)*Vin(n+1)
其中 c(0) 是主抽头,c(-1) 和 c(+1) 用于去加重或预加重。c(-1) 为正时做预加重,c(+1) 为正时做去加重。很多工程师搞混方向,其实看信号序列就知道:对 101 这种模式,预加重会让第一个“1”更大;去加重会让第二个“1”更小。
4.3 均衡:从发送到接收的全面补偿
单靠发送端的去加重/预加重还不够。Gen3 引入了一套完整的均衡流程,包括三个环节:TX EQ、RX EQ(CTLE + DFE)。
- TX EQ:发送端 3-tap FIR,调节前标、主标、后标。相当于精细刻画发送波形。
- RX CTLE(连续时间线性均衡器):模拟滤波器,放大高频,压制低频噪声。分为 Fixed / Adaptive 两种。
- RX DFE(判决反馈均衡器):数字均衡,消除码间干扰。一般有 1~2 个抽头,Gen4 之后可以更多。
这些均衡器在链路训练阶段(Phase 2 和 Phase 3)通过握手机制来优化。过程大致是:发送端发预置 pattern,接收端根据眼图质量请求调整 TX 系数,反复迭代直到锁定。
4.4 知识体系:一张图看懂 PCIe 电气链路
下面我把发送端去加重、接收端均衡以及整个信号通道画成一张 SVG 流程图:
这张图里,深蓝色是发送 FIR,橙色是信道(PCB 走线、过孔、连接器),紫色是接收端 CTLE+DFE。红色虚线是闭环反馈,接收端测量眼图后通知发送端调整系数。你想想看,如果信道损耗太大,接收端拼命让发送端增加预加重,但发送端已经到头了——那就会出现链路直接降速到 Gen2 甚至更慢。
4.5 实际调试需要关注的参数
我在板级调试时,会重点抓这几个参数:
- TP1(发送端测试点)眼图: 确认发送端输出符合规范,摆幅、去加重、抖动都在范围内。
- TP2(接收端测试点)眼图: 看经过整段信道后的眼图高度和宽度。Gen3 要求眼高 ≥ 25 mV,眼宽 ≥ 0.4 UI。
- 均衡系数协商结果: 读取 PCIe 配置空间的 Link Control 2 Register 中的 TX Equalization 字段,看协商了哪个 preset。
- 误码率: 长跑 PRBS 模式(比如 PRBS11 或 PRBS31),看是否出现错误计数。
好了,这一章把电压摆幅、去加重、预加重和均衡讲完了。你在实际项目中遇到链路问题,不要一头扎进协议栈,先回物理层看眼图。很多时候,一根设计不佳的走线会让后面所有努力白费。