Equalization基础概念:信号均衡的“还我漂漂拳”
好了,聊完了PCIe链路训练的大框架,咱们得深入一个核心环节——Equalization。这词翻译过来叫“信号均衡”,名字挺学术,但干的事特别接地气。
你想想看,PCIe Gen3跑在8GT/s,Gen4跑在16GT/s,Gen5更是飙到32GT/s。信号频率这么高,在PCB板子上走一小段,衰减就非常严重。波形本来方方正正的,跑一段路就变得圆头圆脑,这叫“码间干扰”(ISI)。
说白了,均衡就是一套补偿机制。发射端和接收端联手,把被信道“整容整歪了”的信号,再给它拉回原样。我在Gen3刚普及那几年,曾因为没搞懂均衡参数,联调死活过不去,最后发现就是预加重没配对。
一句话总结:信号均衡,就是发射端“预变形”+ 接收端“再矫正”,让最终进入采样器的波形尽量干净。
为什么非要搞均衡?
高频信号在传输线上的损耗很大。尤其你走FR4板材,介质损耗和趋肤效应会严重拉低信号的高频分量。
- 趋肤效应:电流只走导体表面,频率越高,有效截面越小,阻抗越大。
- 介质损耗:PCB板材会吸收部分电磁能量,频率越高越明显。
结果就是:上升沿变缓,眼图闭合,接收端很难判断“0”还是“1”。如果不开均衡,信号可能根本过不了PCB上30cm的走线。
经验之谈:在Gen3时代,链路长度超过25英寸(约63厘米)而不开均衡,眼图基本上就是一团泥巴。我实测过,不开均衡时眼高只有30mV,开了能达到180mV,差距巨大。
PCIe里的均衡三板斧
PCIe的Equalization分发射端和接收端两部分。发射端做“预加重/去加重”,接收端做“CTLE”和“DFE”。我画了个图,帮你把这些概念串起来。
发射端均衡:预加重与去加重
发射端均衡其实是个“反向操作”。信道对高频分量损耗大,那就在发射时把高频分量故意增强。但具体怎么增强?两种方式。
预加重 (Pre-emphasis)
就是“跳变的地方加把劲”。当信号从0变1或从1变0时,发射器多输出一点电压。持续不变的部分就保持正常幅度。
- 本质:提高信号跳变边沿的高频能量。
- 设置方式:PCIe Gen3里通过设置 Tx Preset 来控制。
- 影响:预加重过大,会导致过冲;过小,则无法补偿信道损耗。
去加重 (De-emphasis)
名字听起来相反,但效果一样。它不增强跳变位,而是降低非跳变位(连续相同电平的部分)的幅度。
- 本质:相对地凸显了跳变位的高频分量。
- PCIe规范:Gen1/Gen2里常说的 -3.5dB 去加重,就是非跳变位幅度比跳变位低 3.5dB。
- 背后原理:降低直流分量,让交流分量更突出。
我个人的习惯:调试时先看去加重值。如果链路跑不稳,我会先尝试把去加重从 -6dB 改成 -3.5dB。别小看这 2.5dB 的差距,经常就能把误码率从 1e-6 降到 1e-12。
接收端均衡:CTLE与DFE
信号经过信道后,已经被虐得不成样子了。接收端得负责“善后”。接收端均衡分两步走:CTLE是模拟的粗调,DFE是数字的精调。
CTLE (Continuous Time Linear Equalizer)
就是一个模拟高通滤波器。它放大信号的高频部分,同时压制低频噪声。
- 特点:连续时间、线性。不依赖时钟,实时处理。
- 参数:增益 (Peaking Gain) 和 零点/极点位置。
- 优点:不放大噪声,只放大信号中的高频分量。
- 缺点:增益太大,会放大串扰噪声。
DFE (Decision Feedback Equalizer)
它是数字域的处理。DFE 通过“判决-反馈”回路,把上一个已经判决出来的符号产生的干扰,从当前符号里减掉。
- 本质:消除后标符干扰 (Post-cursor ISI)。
- 实现:通常有 1~4 个 Tap。每个 Tap 对应一个不同的延时和系数。
- 和CTLE的关系:CTLE先做模拟预处理,把眼图稍微打开一点,DFE再去咬掉剩下的干扰。两者配合使用。
我曾经踩过的坑:DFE的Tap数看着多就好?不是。Tap数越多,DFE环路的延迟约束越严格,而且容易误收敛。我见过一个案例,DFE的Tap3系数调得太猛,结果本该收敛到正确值的环路,反而锁在了一个错误状态,导致链路无法建立。后来我是强制锁死DFE的初始系数,才绕过去的。
FFE(前馈均衡)
FFE其实和预加重是一回事,只是从不同的角度描述。预加重是站在时域看,FFE是站在数字滤波器角度看。FFE有多个Tap(通常3个),延迟相加后输出。
- Pre-cursor Tap:超前于主码。
- Main Cursor:当前判决的码。
- Post-cursor Tap:滞后于主码。
预加重/去加重其实就是调整这几个Tap的系数。PCIe Gen3规范里定义的Tx Preset,本质上就是预定义好的几组Tap系数。
术语速查表
| 术语 | 全称 | 所在位置 | 一句话作用 |
|---|---|---|---|
| Pre-emphasis | 预加重 | 发射端 | 增强跳变沿的高频分量 |
| De-emphasis | 去加重 | 发射端 | 降低非跳变位的直流分量 |
| CTLE | 连续时间线性均衡器 | 接收端 | 高频增益,模拟粗调 |
| DFE | 判决反馈均衡器 | 接收端 | 消除后标符干扰,数字精调 |
| FFE | 前馈均衡器 | 发射端 | 多Tap滤波器,实现预加重/去加重 |
| ISI | 码间干扰 | 信道 | 前后码符号相互影响的现象 |
避坑指南:CTLE和DFE的配置,强烈建议先看芯片的Application Note。不同厂家的SerDes,内部CTLE的零点位置和DFE的收敛算法差别很大。我曾经碰到过一个情况,某FPGA的CTLE增益范围是0~15dB,但实测超过12dB就开始狂噪,白费了我两天时间。
嗯,这些就是Equalization的基础概念。说白了,就是一套“我预判了你的预判”的补偿机制。记住每个角色干的活,后面讲它们怎么跟ASPM(主动电源管理)交互时,你才不会被绕晕。