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 图把饱和的传导链条画出来了。看一遍就能记牢。
3.5 实际排查中的指标预警
说几个我平时一看到就怀疑饱和的指标特征:
- 眼高和压摆的比值异常。正常人眼高/压摆 ≈ 0.4~0.6。如果小于 0.2,大概率饱和。
- 浴盆曲线 BER 拐点后移。DJ 占比超过 60% 时,拐点会出现在 0.35 UI 之后,而不是正常 0.5 UI 附近。
- PRBS 7 与 PRBS 31 测得的 BER 差异超过 10 倍。饱和对长 0 长 1 序列更敏感,因为低频分量被过度压缩。
- 改变 CTLE 的 Boost 档位,但眼高几乎不变。说明增益已经限幅,调不动了。
别被「似乎能工作」骗了
饱和在低速率、短链路下可能完全看不出来。我记得有一回,112G PAM-4 项目在背板测试通过,但系统联调时就是断断续续。后来发现是 56G 模式下没问题,一旦跑到 112G,CTLE 就饱和。所以一定要在最高速率和最长链路下做饱和压力测试。
3.6 饱和与其它故障的区分
排查时别上来就咬死饱和。我有个快速逻辑:
| 现象 | 可能原因 | 快速验证 |
|---|---|---|
| 眼高降低 + 眼宽正常 | CTLE 饱和 | 减小输入幅度看眼高是否改善 |
| 眼高降低 + 眼宽也降 | 信道损耗过大或 DFE 饱和 | 增加 CTLE Boost 看眼宽是否恢复 |
| 眼高正常 + 抖动大 | 电源噪声或参考时钟 | 测抖动谱峰,看是否与开关频率相关 |
| 眼图有「台阶」 | 限幅放大器饱和 | 检查输入共模电压 |
其实区分饱和和信道损耗,最快的方法是用片内 debug 寄存器直接读 CTLE 的增益状态。现在很多 SerDes IP 都会暴露这个寄存器。我习惯在板卡上写个小脚本,把增益值 dump 出来,一看就明白。
好了,饱和影响的三个维度讲完了。误码率、眼图、抖动,这三个指标你盯紧了,饱和就无处藏身。下个章节咱们聊怎么快速找到饱和的根因——从寄存器和示波器两个方向下手。