3. CTLE 基本原理:连续时间线性均衡器的拓扑与传递函数
做高速串行链路的朋友,对 CTLE 肯定不陌生。连续时间线性均衡器,说白了就是一个模拟滤波器,专门用来补偿信道对高频信号的衰减。我刚开始接触 25Gbps 以上的设计时,总以为靠数字域 DFE 就能搞定一切,结果发现没有 CTLE 在前面撑着,DFE 的抽头系数调得再准,误码率也下不来。
为什么?因为信道就像一根低通滤波器,高频分量被吃掉很多。CTLE 的作用就是反过来给高频加一把增益,让信号在进采样器之前恢复一部分高频能量。今天我们就从最基本的拓扑讲起,把传递函数掰开揉碎了聊。
3.1 经典拓扑:源极退化差分对
CTLE 最常用的电路结构是源极退化差分放大器。你去看任何一款 SerDes 芯片里的 CTLE,大概率长这样:
- 一对差分输入管 M1、M2
- 负载电阻 RL(有时并联电感或电容)
- 源极之间跨接一个电阻 Rs 与电容 Cs 的并联网络
- 尾电流源 Itail
注意,这里的 Rs 和 Cs 是核心。我个人习惯把这两个元件叫作“退化网络”。它们的位置决定了整个均衡器的零点与极点。
| 元件 | 作用 | 设计考量 |
|---|---|---|
| Rs | 控制低频段增益;Rs越大,低频增益越低 | 与尾电流一起决定线性度 |
| Cs | 产生零点;与 Rs 决定零点频率 | 通常用 MOS 电容或 MIM 电容实现 |
| RL | 决定整体增益带宽积 | 需要与后级负载电容权衡 |
我记得有一次调试 56Gbps PAM4 接收机,CTLE 的 Cs 尺寸没算准,零点位置偏了 2GHz,眼图怎么也睁不开。后来把 Cs 从 200fF 改到 280fF,眼高直接提升了 15%。
3.2 传递函数推导:从零极点看高频提升
咱们不搞太复杂的数学推导,但理解传递函数的形状是绕不开的。假设负载为纯电阻 RL 和电容 CL(包括下一级输入电容),小信号模型下,差分传输函数可以写成:
H(s) ≈ A₀ · (1 + s/ωz) / [ (1 + s/ωp1)(1 + s/ωp2) ]
其中:
A₀ = gm·RL / (1 + gm·Rs/2) (低频增益)
ωz = 1 / (Rs·Cs) (零点)
ωp1 = 1 / (RL·CL) (主极点,由输出节点决定)
ωp2 ≈ (1 + gm·Rs/2) / (Rs·Cs) (次极点,由源极退化网络引入)
你看,零点 ωz 来自 Rs 和 Cs 的串联路径。信号频率低时,Cs 阻抗很大,退化电阻 Rs 起主要作用,低频增益被压低。频率升高后,Cs 阻抗变小,退化网络被短路,等效源极阻抗下降,增益回升。这就是高频提升的物理本质。
核心结论:CTLE 的幅度响应是一只“高频翘起”的曲线。零点让增益从低频到中频逐渐爬升,极点则在高频处把增益压下来,避免噪声放大太多。
你想想看,如果只有零点没有极点,高频增益会一直涨,那噪声怎么说?所以实际设计中,极点 ωp2 通常放在零点后面 2~3 倍频程处,形成一个平坦的 peaking 区域。
3.3 参数设计:如何调出你想要的 peaking 值
实战中我们最关心的三个指标:低频增益、peaking 量(高频与低频的增益差)、3dB 带宽。它们与 Rs、Cs、RL 的关系如下:
| 参数 | 低频增益 | Peaking 量 | 带宽 |
|---|---|---|---|
| 增大 Rs | ↓ 降低 | ↑ 增加(因为低频压得更多) | ↓ 略微降低(次极点内移) |
| 增大 Cs | 无影响 | → 零点低频移,peaking 变宽 | ↓ 主极点附近可能受影响 |
| 增大 RL | ↑ 增加 | → 不变(但主极点降低) | ↓ 主极点前移 |
我曾经调一块 28Gbps 的板子,Rs 设得太大,低频增益几乎为零,信号幅度被压成小波浪,后面 DFE 再怎么努力也恢复不了。后来加了一档旁路开关,让低频增益回升到 -3dB 左右,问题才解决。
设计时一般先定目标 peaking 量(比如 6dB、10dB 还是 14dB),再反推 Rs/RL 比值。
比如想要 10dB peaking,那 Rs 要满足:
Peaking (dB) ≈ 20·log₁₀(1 + gm·Rs/2)
实际电路里 gm 会随工艺变化,我建议留 20% 的余量,用可调电容阵列做粗调,再用寄存器做细调。
3.4 CTLE 的局限性
- 线性度受限:源极退化虽然提高线性度,但尾电流固定时,输入摆幅太大还是会失真。
- 噪声:高频 peaking 会把带内噪声也放大,所以 peaking 不是越大越好。
- 功耗:要展宽带宽就需要更大的尾电流,功耗会上去。
说白了,CTLE 是个“粗均衡”环节,它处理不了长尾的 ISI。后续还需要 DFE 来处理残留的符号间干扰。这部分我们后面章节再细聊。
3.5 避坑指南:来自实战的教训
最后分享几个我踩过的坑:
- 别把零点设得太高。 我曾经为了省电容面积,把 Cs 做得特别小,零点推到 10GHz 以上。结果低频增益没压下去,peaking 效果很弱,高频补偿根本不够用。
- 注意工艺角变化。 Rs 和 Cs 会随工艺角漂移 +/–30%。如果你只按 TT corner 设计,遇到 FF corner 时 peaking 可能翻倍,造成过冲振荡。
- 后级负载电容不是固定的。 同一颗芯片里,CTLE 后面可能接不同长度的走线或不同输入电容的采样器。建议在 CTLE 输出加一个可调电容阵列,用来补偿负载变化。
我个人的设计基线:先确定信道最大损耗处频率(比如 0.75*Nyquist),然后让 CTLE 的零点放在该频率的 1/3 处,主极点放在 1.5 倍 Nyquist 处。这样既能拿到足够的 peaking,又不会让噪声飞得太高。
好了,CTLE 的基本原理就讲到这里。记住拓扑是骨架,传递函数是灵魂,Rs 和 Cs 是你手头的旋钮。调好了,信号就是柳暗花明;调不好,后面 DFE 再强也白搭。