3. 均衡器基本原理:线性均衡与判决反馈均衡

说到均衡器,这算是高速串行链路调试中最核心的环节了。我入行那会儿,有次调一个10Gbps的背板链路,眼图完全是闭的,连数据能不能恢复都成问题。后来意识到,不是信号本身不行,是没加合适的均衡。从那以后,我对均衡器这东西就不再只是看理论,而是实打实地去摸它。

均衡器的本质,说白了就是对抗信道引起的码间干扰。你想想看,信号在走线或电缆里跑,高频分量衰减大,低频分量跑得快,结果一个bit拖到相邻的bit上去了。收端收到的是一堆叠加在一起的信号,不处理根本没法用。

这一章,咱们重点讲两种最基础的均衡器结构。一个是线性均衡,另一个是判决反馈均衡。我建议你先把这两种吃透,后面的自适应算法、CTLE、FFE什么的,学起来才不费劲。

3.1 线性均衡器

线性均衡器(Linear Equalizer, LE),结构简单,就是个横向滤波器。

接收信号先经过一组延迟单元,每个抽头上乘一个系数,最后把所有结果加起来。就这么一个东西,能补偿信道的幅度响应和相位响应。

具体来说,抽头系数可以用零迫零(Zero-Forcing, ZF)准则算,也可以用最小均方误差(Minimum Mean Square Error, MMSE)准则算。ZF的优点是不考虑噪声,直接把信道逆函数求出来,但噪声会被放大。MMSE则是在ISI和噪声之间取个平衡。

核心要点:线性均衡器的性能,完全依赖于抽头数量和系数更新速率。

  • 抽头数量:至少要覆盖信道的延迟扩散长度。比如信道拖尾持续10个UI,那你的线性均衡器至少需要10个抽头。
  • 系数精度:在硬件里,系数是量化值。精度不够,补偿效果也会打折。我见过有人用5bit量化去做一个8抽头的线性均衡器,眼图边缘就是张不开,后来改成6bit才搞定。

调试提示:我个人习惯在示波器上看到眼图是斜着闭的,或者有残留的预冲/过冲,先试试线性均衡。特别是前标和后标的ISI比较对称时,线性均衡效果很快。

3.2 判决反馈均衡器

判决反馈均衡器(Decision Feedback Equalizer, DFE)就不一样了。它把均衡分成两部分。

  • 前馈部分:处理信号的前标和部分后标。
  • 反馈部分:利用已经判决出来的符号,去抵消后标的影响。

为什么要这么干?因为DFE不放大噪声。前馈部分可能会放大一点噪声,但反馈部分用的是已判决的符号,全是数字信号,不存在放大噪声的问题。所以DFE在处理长拖尾信道时,效果比线性均衡好得多。

但DFE有个硬伤:错误传播。一旦判决错了,这个错误会通过反馈路径一直传递下去,导致后面一连串的符号都错。在信道条件突然恶化,或者信号本身BER比较高的场景下,DFE可能还不如线性均衡稳定。

避坑指南:我曾经在一条20米的电缆上测DFE,眼图一直张不开。排查很久发现,是反馈路径的延迟没对齐。DFE对反馈路径的时序要求极高。收端恢复的时钟,必须精确对准判决时刻。差了哪怕0.1个UI,性能直接崩。

3.3 线性均衡 vs 判决反馈均衡:选哪个?

很多人问我:“王工,到底用LE还是用DFE?”我一般会说:

  1. 看信道的后标结构:如果后标持续时间短,LE就够了。如果后标拖到5个UI以上,优先考虑DFE。
  2. 看BER要求:如果系统对BER要求极高(比如10^-12),DFE的自适应算法要非常小心地设计。LE虽然信噪比差一点,但不会出大问题。
  3. 看功耗预算:DFE需要添加乘法器和累加器,反馈路径的功耗比LE大很多。在低成本低功耗的场景下,LE是更经济的选择。

下面这个表格,整理了我实际调试中最关注的一些对比点。

对比维度 线性均衡器 (LE) 判决反馈均衡器 (DFE)
噪声放大 存在。ZF准则下会很严重。 基本无。反馈部分不放大噪声。
处理后标能力 弱。抽头数增加后,噪声放大更严重。 强。尤其擅长长拖尾信道。
错误传播 无。 有。高BER下会放大错误。
硬件复杂度 低。主要是延迟+乘法/累加。 稍高。需要加法器和判决器。
典型应用 背板、短距离电缆。 长距离电缆、光纤通信。

3.4 两张图的直观对比

为了让你更直观地理解,我用一张图总结了这两种均衡器的结构差异和权衡。

线性均衡器与判决反馈均衡器结构对比 线性均衡器 (LE) 输入 抽头延迟链 系数求和 输出 优点:结构简单 | 缺点:会放大噪声 判决反馈均衡器 (DFE) 输入 前馈均衡 判决器 反馈均衡 输出 优点:无噪声放大 | 缺点:错误传播

从上图可以很清楚地看出来,DFE比LE多了一个反馈环路。这个环路是性能的来源,也是麻烦的根源。

3.5 实践中的权衡:一个例子

拿一个具体场景说吧。一条8英寸的FR4背板,信号速率是12.5Gbps。我一开始用了一个7抽头的线性均衡器,结果信道拖尾太长,后标被放大了。后来换成3抽头前馈+4抽头反馈的DFE,眼图瞬间张开。

但是,DFE的自适应收敛很慢。尤其是在系统刚上电的时候,反馈路径里的系数全是0,判决器输出的初始符号又不准。我记得有一次,花了将近1秒才稳定。对于热插拔场景来说,这个时间太长了。

最后我的方案是:先跑一段线性均衡,等初步收敛了再切到DFE模式。这样既保证了收敛速度,又获得了DFE的性能优势。

调试小结:如果你在项目里遇到均衡器调不好的情况,别急着改抽头系数。先判断一下,你面临的是前标还是后标的问题。前标多用预加重或CTLE,后标多靠FFE或DFE。