3. 饱和的影响:误码率上升、眼图闭合、抖动用尽

CTLE 一饱和,麻烦就来了。不是说信号质量变差一点,是整套链路直接崩给你看。

我最早遇到 CTLE 饱和是在一块背板测试板上,信号跑 28Gbps,眼图死活睁不开。当时查了半个月,换芯片、改 PCB 走线、调电源纹波,全试过。最后是示波器工程师点了我一句:「你看看 CTLE 是不是饱和了?」一量,乖乖,直流增益已经被压到头了。

饱和到底造成了什么后果?三个字概括:误、闭、尽。

  • 误码率上升——接收器判 0 判 1 糊里糊涂。
  • 眼图闭合——信号幅度和时序窗口一起缩水。
  • 抖动用尽——系统容忍的抖动预算全被吃掉。

下面一个一个说。

3.1 误码率上升:判决精度崩了

CTLE 的本质是高频提升 + 直流压缩。饱和状态下,直流分量已经被压到最低,但信号幅度还在往下掉。

你想想看,接收器的比较器需要看到明确的 0/1 电平差。饱和之后,眼高只剩原来的一半,甚至更少。判决点附近噪声和码间干扰(ISI)的相对占比就上去了。

我习惯用一个数字来量化:噪声裕度。假设正常眼高 400mV,CTLE 饱和压缩到 200mV,而放大器等效输入噪声还是 20mV 没变,那信噪比就从 26dB 掉到 20dB。对于 PAM-4 信号来说,这 6dB 意味着误码率可能从 1e-12 跳到 1e-6 甚至更高。

警惕「软误码」

饱和导致的误码不是全坏,而是随机的、间歇性的。可能跑 10 秒正常,然后突然爆发一批。我碰到过一次,客户投诉某批次板子误码率高,查了三天发现是温度变化让 CTLE 偏置点漂进了饱和区。

3.2 眼图闭合:眼高眼宽一起缩

眼图是最直观的体检报告。

饱和之后,眼高首先是受害者。你示波器上一看,以前那只「大眼睛」变成了一条扁缝。更麻烦的是,眼图交叉点也会变化——由于非线性导致的谐波失真,抖动会映射到眼图上,让垂直和水平方向同时恶化。

眼图参数 正常状态 CTLE 饱和 变化
眼高(mV) 300 120 ↓ 60%
眼宽(UI) 0.65 0.35 ↓ 46%
交叉点(%) 50 62 偏移 12%
浴盆曲线 BER 1e-12 0.45 UI 0.15 UI ↓ 67%

有一次我调一个 56G 长距背板,眼宽一直做不上 0.3 UI。后来发现是接收端的 CTLE 在低频增益上就已经饱和了,导致高频提升器根本没法工作。调小前级衰减器后,眼宽瞬间回到 0.5 UI。你想想看,如果当时没往饱和方向想,不知道要在 PCB 走线、连接器上浪费多少时间。

一眼判断饱和的眼图特征

眼图打开位置的上下沿不是平的,而是呈现「洋葱头」状内凹。因为饱和让限幅效应提前发生,眼图中间被「夹」住了。这是我的经验之谈,百试百灵。

3.3 抖动用尽:预算全吃掉

抖动这是第三个坑,也是最容易被忽略的。

饱和会引入额外的确定性抖动(DJ)。为什么?因为 CTLE 是线性均衡器,它的频率响应是固定的。一旦进入饱和,输入信号幅度不同的码元受到的增益不均匀——弱的码元被提升多一些,强的码元被压缩更多。这种幅度非线性的映射在时域上就变成了码间干扰(ISI)形式的抖动。

我习惯把系统总抖动预算(Tj)拆成两部分:

  • 系统固有抖动:PLL、参考时钟、电源噪声带来的。
  • 信号相关抖动:ISI、串扰、CTLE 非线性。

饱和会让信号相关抖动从 0.15 UI 暴增到 0.45 UI。整个抖动预算一下子就见底了。

举个例子,某个项目要求总抖动不超过 0.6 UI。正常情况固有抖动占 0.2 UI,信号相关占 0.25 UI,还剩 0.15 UI 余量。一旦饱和,信号相关飙升到 0.45 UI,已经超出 0.6 UI 总额度了。那就算接收器 CDR 再牛,也没办法把误码率降到 1e-12。

记一个快速判断法

如果你测量浴盆曲线时发现 BER 从 1e-7 到 1e-12 这一段的斜率特别平,就有可能是饱和导致的 DJ 占比过高。我曾经靠这个规律定位过一例 25G 光模块的饱和问题。

3.4 三条链路的影响——用一张图理清

下面这 SVG 图把饱和的传导链条画出来了。看一遍就能记牢。

CTLE 饱和影响传导链路 CTLE 饱和 → 三种主要影响 CTLE 饱和 误码率上升 眼图闭合 抖动用尽 判决裕度不足 BER > 1e-12 眼高 < 150mV 眼宽 < 0.3 UI Tj 超出预算 CDR 无法跟踪 链路失效 系统无法稳定工作

3.5 实际排查中的指标预警

说几个我平时一看到就怀疑饱和的指标特征:

  1. 眼高和压摆的比值异常。正常人眼高/压摆 ≈ 0.4~0.6。如果小于 0.2,大概率饱和。
  2. 浴盆曲线 BER 拐点后移。DJ 占比超过 60% 时,拐点会出现在 0.35 UI 之后,而不是正常 0.5 UI 附近。
  3. PRBS 7 与 PRBS 31 测得的 BER 差异超过 10 倍。饱和对长 0 长 1 序列更敏感,因为低频分量被过度压缩。
  4. 改变 CTLE 的 Boost 档位,但眼高几乎不变。说明增益已经限幅,调不动了。

别被「似乎能工作」骗了

饱和在低速率、短链路下可能完全看不出来。我记得有一回,112G PAM-4 项目在背板测试通过,但系统联调时就是断断续续。后来发现是 56G 模式下没问题,一旦跑到 112G,CTLE 就饱和。所以一定要在最高速率和最长链路下做饱和压力测试。

3.6 饱和与其它故障的区分

排查时别上来就咬死饱和。我有个快速逻辑:

现象 可能原因 快速验证
眼高降低 + 眼宽正常 CTLE 饱和 减小输入幅度看眼高是否改善
眼高降低 + 眼宽也降 信道损耗过大或 DFE 饱和 增加 CTLE Boost 看眼宽是否恢复
眼高正常 + 抖动大 电源噪声或参考时钟 测抖动谱峰,看是否与开关频率相关
眼图有「台阶」 限幅放大器饱和 检查输入共模电压

其实区分饱和和信道损耗,最快的方法是用片内 debug 寄存器直接读 CTLE 的增益状态。现在很多 SerDes IP 都会暴露这个寄存器。我习惯在板卡上写个小脚本,把增益值 dump 出来,一看就明白。

好了,饱和影响的三个维度讲完了。误码率、眼图、抖动,这三个指标你盯紧了,饱和就无处藏身。下个章节咱们聊怎么快速找到饱和的根因——从寄存器和示波器两个方向下手。