第四节:电荷泵(CP)设计——电荷泵拓扑、电流匹配、充放电电流失配的影响
电荷泵,说白了就是PLL里的“油门”和“刹车”。
鉴频鉴相器(PFD)判断出频率或相位是快是慢,然后告诉电荷泵:该充电还是放电。电荷泵就把这个数字信号,转成模拟的电流脉冲,去控制后面的环路滤波器。
我刚开始做PLL那会儿,总觉得电荷泵不就是几个开关加个电流源嘛,能有多难?后来被现实狠狠教育了一顿。嗯,这里面的门道,咱们今天好好聊聊。
一、电荷泵的基本拓扑
最常见的电荷泵结构,就是“电流源+电流阱”的经典架构。
它由两个电流源组成:一个给环路滤波器充电(拉电流,Source Current),一个从环路滤波器放电(灌电流,Sink Current)。两个开关分别由PFD的UP和DN信号控制。
// 理想电荷泵行为描述(Verilog-A 概念)
// 当 UP 有效时,Iup 向 Vctrl 节点注入电荷
// 当 DN 有效时,Idn 从 Vctrl 节点抽取电荷
// 理想情况:Iup == Idn == Icp
这个拓扑看着简单,但实际做起来,坑不少。
核心要点:电荷泵的核心是“电流源”和“开关”的配合。开关速度要快,电流源要稳。
除了这种单端结构,还有差分结构的电荷泵。差分结构对共模噪声抑制更好,但功耗和面积都会翻倍。我个人习惯,在低噪声、高精度的应用里,才会考虑差分方案。普通应用,单端结构调好了完全够用。
二、电流匹配——为什么它这么重要?
你想想看,如果充电电流是100μA,放电电流只有90μA。那PFD输出一个完全对称的UP和DN脉冲时,电荷泵实际上还是在往环路滤波器里“偷偷”充电。
这就导致了所谓的“静态相位误差”。
我在项目中遇到过这样一个情况:锁相环锁定后,输出频谱上总是有一个很明显的杂散。查了半天,最后发现是电荷泵的充放电电流差了5%。
电流匹配,通常用下面这个公式来衡量:
电流失配率 = |Iup - Idn| / ( (Iup + Idn) / 2 ) × 100%
一个好的电荷泵设计,电流失配率应该控制在1%以内。对于高性能应用,甚至要做到0.1%以下。
我的经验:电流匹配不光要看静态值,还要看输出电压变化时的匹配度。因为电流源的输出阻抗不是无穷大,Vctrl电压变化时,Iup和Idn的变化量可能不一样。
三、充放电电流失配的影响
电流失配带来的问题,主要有三个:
- 静态相位误差:锁相环锁定时,PFD的UP和DN脉冲宽度不再相等,用来补偿电流失配。这会导致VCO的控制电压上出现周期性纹波。
- 参考杂散:控制电压上的纹波,会调制VCO的输出频率,在频谱上产生位于参考频率整数倍处的杂散。杂散大了,会恶化系统的信噪比。
- 锁定时间变长:严重的电流失配,会让环路在锁定点附近来回振荡,难以稳定。
避坑指南:我曾经在一个多频段PLL项目中,忽略了电荷泵在不同输出电压下的匹配特性。结果低频段锁得好好的,高频段就出现杂散超标。后来在电荷泵输出端加了一个共源共栅(Cascode)结构,把输出阻抗提上去,问题才解决。
四、如何改善电流匹配?
改善电流匹配,有几个常用的招数:
- 使用Cascode电流源:提高输出阻抗,减小Vctrl电压变化对电流的影响。
- 增加电流源管的过驱动电压:让管子工作在饱和区深处,电流更稳定。
- 采用动态匹配技术:比如用DEM(动态元件匹配)技术,轮流切换多个电流源单元,把失配平均掉。
- 版图布局要对称:电流源管、开关管的版图要画得一模一样,减少工艺偏差带来的失配。
说白了,电流匹配就是一场和工艺偏差、电压变化、温度漂移的博弈。你每多考虑一个非理想因素,你的PLL就多一分稳健。
五、电荷泵设计中的其他细节
除了电流匹配,还有几个地方值得注意:
- 开关时序:UP和DN信号不能同时导通,否则会产生直流通路,浪费功耗。但也不能有太长的死区时间,否则会增加相位噪声。
- 电荷注入和时钟馈通:开关管的栅极信号变化时,会通过寄生电容耦合到输出节点。这会在Vctrl上产生毛刺。解决办法是用互补开关或者加dummy管。
- 输出摆幅:电荷泵的输出电压范围,要能覆盖VCO的调谐电压范围。如果摆幅不够,VCO可能调不到目标频率。
总结一下:电荷泵设计,就是要在电流匹配、开关速度、噪声、功耗和面积之间做权衡。没有完美的电荷泵,只有最适合你系统要求的电荷泵。
下面这张图,是我对电荷泵设计核心逻辑的梳理:
电荷泵的设计,说难不难,说简单也不简单。关键是要理解每个非理想因素是怎么来的,以及它对系统的影响有多大。有了这个底,你就能在设计时做出正确的取舍。
可可精品资料库