3、CTLE基础原理:连续时间线性均衡器的频域响应与零极点分析
各位同学,今天我们聊聊CTLE。连续时间线性均衡器,名字挺长,但说白了,它就是个模拟滤波器。我刚开始接触SerDes那会儿,总觉得这玩意儿玄乎,后来亲手调过几次,才发现它其实很直观。
CTLE的核心任务是什么?补偿信道损耗。高速信号在PCB走线上跑,高频分量衰减得厉害,低频分量相对完好。结果就是眼图闭合,码间干扰(ISI)严重。CTLE的作用,就是给高频分量“加把劲”,把信道衰减的坑填平。
3.1 从信道模型说起
先看信道。典型的PCB走线,可以建模成一个低通滤波器。它的传输函数大致是:
H_channel(s) = 1 / (1 + s/ωp)
其中ωp是主极点频率。频率越高,增益越小。我见过一个项目,走线长了30厘米,10GHz的信号衰减了快20dB。眼图完全闭合,像一条死鱼。
CTLE的传输函数,正好相反。它要提供一个“高通”特性:
H_CTLE(s) = A * (1 + s/ωz) / (1 + s/ωp)
这里ωz是零点,ωp是极点。A是直流增益。你想想看,零点提供高频提升,极点限制带宽防止噪声放大。一拉一扯,就平衡了。
3.2 零极点到底在干什么?
零点和极点,是理解CTLE的关键。我习惯用波特图来看,直观。
- 零点(ωz):在频率ωz处,增益开始以+20dB/dec的速度上升。说白了,就是给高频信号“加油”。
- 极点(ωp):在频率ωp处,增益开始以-20dB/dec的速度下降。这是为了防止高频噪声被过度放大。
CTLE的频域响应,就是这两个效应叠加的结果。在ωz和ωp之间,增益曲线是平坦的,形成一个“平台”。这个平台的高度,就是CTLE能提供的最大补偿量。
核心公式:CTLE的峰值增益 ≈ 20 * log10(ωp / ωz) dB
这个公式很实用。你设计CTLE时,先确定需要补偿多少dB,然后反推零极点比值。
我曾经调试过一个28Gbps的链路,信道损耗在奈奎斯特频率处有12dB。我一开始把零点设得太低,结果低频增益也被抬高了,导致信号摆幅过大,接收器饱和。后来把零点往高频推,才找到平衡点。
3.3 频域响应:波特图分析
我们画一下CTLE的波特图。假设直流增益A=1,零点在1GHz,极点在10GHz。
低频段(< 1GHz):增益 ≈ 0dB
中频段(1GHz ~ 10GHz):增益以+20dB/dec上升
高频段(> 10GHz):增益以-20dB/dec下降,最终回到0dB
注意,在10GHz处,增益达到最大值:20 * log10(10/1) = 20dB。这就是峰值增益。
实际设计中,峰值增益通常控制在6dB到15dB之间。太高了,噪声和串扰会被放大;太低了,补偿不够。
我的经验:CTLE的峰值频率,最好对准信道的奈奎斯特频率。比如数据率是28Gbps,奈奎斯特频率就是14GHz。把CTLE的极点放在14GHz附近,零点放在1/4到1/3奈奎斯特频率处,效果通常不错。
3.4 零极点位置对眼图的影响
零极点位置不是随便选的。我见过新手直接把零点放在直流附近,结果低频增益爆炸,信号直流分量被过度放大,眼图上下眼皮都撑破了。
正确的做法是:
- 先测信道:用VNA测S参数,得到信道的插入损耗曲线。
- 确定补偿量:在奈奎斯特频率处,信道衰减了多少dB?这就是CTLE需要提供的峰值增益。
- 计算零极点比:根据峰值增益公式,算出ωp/ωz的比值。
- 分配零极点:零点放在信道主极点附近,极点放在奈奎斯特频率附近。
举个例子。信道在14GHz处衰减了10dB。那么ωp/ωz = 10^(10/20) ≈ 3.16。如果极点放在14GHz,零点就在14/3.16 ≈ 4.43GHz。
注意:CTLE不是万能的。如果信道损耗超过20dB,单靠CTLE很难完全补偿。这时候需要配合DFE(判决反馈均衡器)一起使用。CTLE负责“粗调”,DFE负责“细调”。
3.5 实际电路实现
CTLE在电路层面,通常用源极退化差分对实现。结构很简单:一对差分晶体管,源极之间接一个电阻和电容的并联网络。
Vdd
|
R
|
+--- Vout+
|
M1 ---+--- M2
| |
Rs Rs
| |
+--Cs--+
|
Iss
|
GND
这个电路的传输函数,正好是CTLE的形式。Rs和Cs决定零点位置,负载电阻R和寄生电容决定极点位置。
零点频率:ωz = 1 / (Rs * Cs)
极点频率:ωp ≈ 1 / (R * C_load)
我调过一款28nm工艺的CTLE,Rs用了200欧姆,Cs用了200fF,零点就在4GHz左右。负载电阻R是500欧姆,寄生电容大概200fF,极点就在16GHz。峰值增益大约12dB,刚好补偿信道损耗。
3.6 自适应CTLE
实际系统中,信道长度、温度、电压都会变化。固定参数的CTLE不够灵活。所以现代SerDes都用自适应CTLE。
自适应算法通常基于眼图监测。芯片内部有个眼图张开度检测器,实时测量眼高和眼宽。如果眼图太小,就调整CTLE的零极点位置。
我记得有个项目,芯片在常温下工作正常,但温度升到85°C时,信道损耗增加了3dB。自适应CTLE检测到眼图变差,自动把零点往低频移了一点,峰值增益提高了3dB,眼图又张开了。
自适应策略:
- 眼高低于阈值 → 增加峰值增益(降低零点或提高极点)
- 眼高高于阈值但噪声大 → 降低峰值增益(提高零点或降低极点)
- 眼宽不足 → 调整带宽,可能涉及CTLE和CDR的联合优化
3.7 避坑指南
最后,分享几个我踩过的坑:
- 坑1:零点设得太低。低频增益过大,导致信号直流分量被放大,接收器线性范围不够。解决办法:零点至少放在信道主极点的2倍频率以上。
- 坑2:极点设得太高。高频噪声被放大,信噪比恶化。极点不要超过奈奎斯特频率的1.5倍。
- 坑3:忽略工艺角。TT corner下CTLE工作正常,但SS corner下Rs和Cs偏差20%,零点偏移,补偿效果变差。设计时一定要跑工艺角仿真。
- 坑4:CTLE和CDR不匹配。CTLE输出的信号相位噪声会影响CDR的锁定。我曾经遇到过CTLE增益调得太大,信号边沿变缓,CDR锁不住。后来在CTLE和CDR之间加了一级限幅放大器才解决。
嗯,CTLE的基础原理就讲到这里。记住,零极点是核心,频域响应是工具,眼图是最终检验标准。下次你们调CTLE时,先算清楚零极点比,再动手改电路,事半功倍。