SerDes关键电路:CML驱动器、T-coil技术、CTLE均衡器、DFE判决反馈均衡器、时钟数据恢复(CDR)原理
各位同学,今天我们来聊聊SerDes里那些真正决定性能的关键电路。说实话,做SerDes这么多年,我最大的感受就是——这些电路就像人的五官,各司其职,缺一不可。你想想看,信号从发送端到接收端,要经过PCB走线、连接器、背板,一路下来早就被损耗得不成样子了。没有这些电路,高速数据传输就是一句空话。
1. CML驱动器:发送端的"肌肉"
CML,全称是Current Mode Logic,电流模式逻辑。说白了,它就是用电流来代表信号。我个人习惯把CML驱动器看作是SerDes的"肌肉"——它负责把数字信号转换成足够强的模拟信号,推出去走线。
为什么大家都用CML?原因很简单:速度快、功耗可控、共模噪声抑制好。你看下面这个基本结构:
VDD
|
R
|
+---- Vout+
|
M1 M2
| |
+------+---- Vout-
|
Iss (尾电流源)
|
GND
两个NMOS管M1和M2构成差分对,尾电流源Iss提供偏置。输入信号控制M1和M2的导通状态,电流被分配到两条支路上,在负载电阻R上产生电压差。嗯,这里要注意:输出摆幅就是Iss × R。我建议摆幅控制在200-400mV之间,太小了信噪比不够,太大了功耗受不了。
关键设计参数:
- 尾电流Iss:决定了功耗和摆幅
- 负载电阻R:影响输出阻抗和带宽
- 晶体管尺寸:影响驱动能力和寄生电容
我在项目中遇到过一个问题:CML驱动器的输出共模电平对工艺角很敏感。后来怎么解决的?加了一个共模反馈环路,把输出共模稳定在VDD - Iss×R/2附近。这个技巧在很多高速接口里都能用上。
2. T-coil技术:带宽的"倍增器"
接下来聊T-coil。这玩意儿我第一次接触是在做28Gbps SerDes的时候,当时被带宽问题折磨得够呛。T-coil说白了就是一个电感网络,它能把电容的容性负载"中和"掉,从而拓展带宽。
你看这个结构:
L1
+--////--+
| |
+ +
| |
Cpad Cesd
| |
+--////--+
L2
T-coil由两个耦合电感L1和L2组成,中间接ESD电容和焊盘电容。它的神奇之处在于:通过电感和电容的谐振,把带宽拓展到原来的2倍甚至3倍。我建议在设计时注意耦合系数k,一般取0.3-0.5之间效果最好。
设计小技巧:
我曾经在16nm工艺上做过一个T-coil,发现电感Q值太低导致带宽提升不明显。后来改用厚金属层走线,Q值从8提升到了15,效果立竿见影。记住:T-coil的Q值至少要大于10才有实用价值。
3. CTLE均衡器:高频补偿的"第一道防线"
CTLE,Continuous Time Linear Equalizer,连续时间线性均衡器。它是接收端的第一道防线,负责补偿信道的高频损耗。
信道损耗有个特点:频率越高,衰减越大。CTLE做的就是"反其道而行之"——对高频信号多给一些增益,对低频信号少给一些增益。这样一高一低,就把信号拉回来了。
典型的CTLE传输函数:
H(s) = (1 + s/ωz) / (1 + s/ωp1) / (1 + s/ωp2)
其中ωz是零点,ωp1和ωp2是极点。零点负责提升高频,极点负责限制带宽。我建议零点频率设置在信道损耗拐点附近,一般取1-3GHz之间。
避坑指南:
我曾经在一个项目中把CTLE的增益调得太高,结果高频噪声也被放大了,眼图反而更差。记住:CTLE不是增益越大越好,要在补偿和噪声之间找平衡。一般CTLE的峰值增益控制在6-12dB就够了。
4. DFE判决反馈均衡器:消除码间干扰的"杀手锏"
CTLE搞不定的码间干扰(ISI),就得靠DFE了。DFE的原理很简单:把之前判决的符号反馈回来,抵消当前符号受到的干扰。
DFE的基本结构:
输入 → 加法器 → 判决器 → 输出
↑ |
| ↓
← 反馈滤波器 ←
反馈滤波器有多个抽头,每个抽头对应一个前一个符号的权重。比如第一抽头消除前一个符号的影响,第二抽头消除前两个符号的影响,以此类推。
我建议DFE的抽头数根据信道特性来定。对于背板信道,一般需要4-8个抽头。对于芯片到芯片的短距离互联,2-4个抽头就够了。
DFE设计要点:
- 抽头系数自适应:用LMS算法实时调整
- 时序收敛:反馈环路必须在1个UI内完成
- 误差传播:一个错误判决会导致后续一连串错误
说到误差传播,我吃过一次亏。当时DFE的抽头系数收敛得不够快,导致突发错误时系统崩溃。后来加了错误检测和系数重置机制,才算彻底解决。
5. 时钟数据恢复(CDR)原理
CDR,Clock and Data Recovery,时钟数据恢复。它是SerDes的"心脏"——没有它,接收端就不知道什么时候该采样数据。
CDR的核心任务有两个:
- 从数据流中提取时钟频率和相位
- 用恢复出来的时钟对数据进行重采样
最常见的CDR架构是PLL-based CDR:
数据输入 → 鉴相器 → 环路滤波器 → VCO → 恢复时钟
↑ |
+-------------------------+
鉴相器比较数据边沿和时钟边沿的相位差,环路滤波器平滑这个误差信号,VCO根据误差调整输出频率。嗯,这里要注意:环路带宽的选择很关键。带宽太宽,噪声抑制差;带宽太窄,跟踪速度慢。
我的经验:
环路带宽一般取数据速率的1/1000到1/100。比如10Gbps的数据,环路带宽设在10-100MHz之间。我曾经试过把带宽设到200MHz,结果抖动太大,眼图直接闭合了。
还有一种Bang-Bang CDR,它用二进制鉴相器,输出只有+1和-1。这种CDR结构简单、功耗低,但抖动性能不如线性CDR。我个人习惯在低功耗场景下用Bang-Bang CDR,高性能场景下用线性CDR。
知识体系总览
为了让大家更直观地理解这些电路之间的关系,我画了一张图:
从这张图可以看得很清楚:发送端的CML驱动器和T-coil负责把信号推出去并保证带宽,接收端的CTLE和DFE负责把被信道损坏的信号恢复回来,CDR则负责提供正确的采样时钟。这五个电路环环相扣,任何一个环节出问题,整个链路就废了。
好了,这一章的内容就到这里。记住:做SerDes设计,一定要从系统角度去理解这些电路,不能孤立地看每一个模块。它们之间的配合,才是真正的设计精髓。