Sink侧EQ的作用:为什么Sink端需要均衡、接收端均衡器的角色

说起Sink侧EQ,很多人第一反应是“发射端做了预加重不就够了吗?”

我刚开始做高速SerDes调试时也这么想。直到有一次,一块板子在10Gbps链路下眼图完全闭合,发射端调了一圈也没用。后来加上接收端均衡,眼图瞬间打开了。那一刻我才明白——Sink侧的均衡,不是锦上添花,而是必不可少。

为什么Sink端需要均衡?

信号从发射端经过PCB走线、连接器、过孔,再到接收端,这个过程里有三样东西一直在“破坏”信号:

  • 频率相关的损耗——高频成分衰减得比低频厉害,信号上升沿变缓,码间干扰(ISI)出现。
  • 反射与阻抗不连续——过孔、换层、连接器,每一个点都在往回弹能量。
  • 串扰与噪声——邻近走线耦合过来,电源噪声叠加上去。

发射端的预加重或去加重只能补偿一部分信道特性。更关键的是,信道特性是未知且变化的。同一块板子,不同批次、不同温度下,损耗曲线能差好几个dB。你想想看,发射端调死了也追不上这种动态变化。

Sink侧均衡的好处在于:它能实时地、自适应地修复信号。接收端芯片内部有专门的模拟和数字均衡器,可以自动测量信道响应,反过来把被信道扭曲的波形拉回来。

我见过一个项目,Sink侧EQ没打开时,误码率是1e-5,打开后直接降到1e-12以下。说白了,没有接收均衡,高速链路基本跑不起来。

接收端均衡器的角色

接收端均衡器不是单个模块,而是一套组合拳。按处理域不同,分为三大类:

均衡器类型 处理方式 主要用途 我的一点经验
CTLE(连续时间线性均衡器) 模拟域,频域提升高频增益 补偿信道损耗,展宽眼图 CTLE的增益曲线要和信道插入损耗对齐,我一般先跑S参数再看
DFE(判决反馈均衡器) 数字域,时域消除后标ISI 消除长尾反射和残余ISI DFE阶数设少了会漏掉远端的后标,我曾经吃过这个亏
FFE(前馈均衡器) 数字域,时域消除前标ISI 配合DFE处理前标干扰 有些芯片只做CTLE+DFE,FFE在发射端完成

它们的分工就像这样:

  • CTLE先把大趋势的频域损耗拉平,相当于“粗调”。
  • DFE再针对采样点前后的残留干扰做“细调”。
  • FFE如果存在,就负责前标的残余分量。

角色定位很清晰:CTLE负责开眼,DFE负责洗眼,FFE负责擦眼框。

接收均衡在链路中的位置

下面这张图展示了一个典型的接收端均衡链路,信号从左到右依次经过各个模块:

接收端均衡链路与角色示意 信道输入 (来自TX) CTLE 频域粗调 FFE 前标均衡 DFE 后标消除 关键说明 • 信号先经过CTLE,补偿信道频域损耗; • 如果有FFE,放在CTLE之后或之前取决于芯片架构; • DFE在采样判决之后,用之前判决的符号反馈消除后标; • 实际链路中可能只有CTLE+DFE,或CTLE单挑。

这张图让我想起一次调试经历:我错以为FFE和DFE必须全上,结果功耗超标。后来发现对于短走线,CTLE单挑就够了。设计时一定要评估信道长度和损耗,不要盲目堆均衡。

实际项目中的经验教训

避坑指南:EQ阶数不是越大越好

我曾经在一个25Gbps项目里,DFE设了8阶。结果眼图没变好,反而因为反馈系数过多引入了额外抖动。后来才意识到,信道反射主要集中在前3个UI,后面5个阶基本在调噪声。

我的建议是:先用信道仿真扫一遍脉冲响应,看看后标的能量范围。在这个范围上再加1~2阶余量就够了。一般4~6阶DFE能覆盖90%以上的场景。

调试小技巧

CTLE有个调法被我称为“三眼法”:先用最小增益跑,看眼图是否全闭;然后逐步提升增益,每次看眼高和眼宽的变化。当你发现眼图不再明显改善时,再往上加增益只会放大高频噪声——这时候就该停止CTLE,开始调DFE了。

接收均衡器的自适应 vs 固定配置

现在的SerDes芯片大多支持自适应均衡,也就是芯片自己找到最优系数。但自适应不是万能的:

  • 自适应启动时需要一个参考训练序列(比如PCIe的Gen3 EQ训练)。
  • 如果信道有慢漂移(温度从25°C升到85°C),自适应可以跟踪。
  • 但如果是突发干扰或电源纹波,自适应来不及反应,只能靠固定配置。

我个人习惯在批量生产中用自适应模式,但调试阶段必须手动打固定系数。因为自适应把问题藏起来了,你根本不知道它调的哪个模块。手动固定能让你逐个排除问题。

总结一句话:Sink侧EQ的角色就是“信号修复师”。CTLE是调频响的,DFE是消灭回声的,FFE是清扫前障的。缺一个,你的眼图就可能垮掉。而阶数配置,需要基于信道特性理性选择,别贪多,也别少算。