ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

电荷泵电流失配如何影响PLL参考杂散?从原理到实测排查指南

2026/9/29 1:16:57 拓冰建站 浏览量
电荷泵电流失配如何影响PLL参考杂散?从原理到实测排查指南 上个月帮朋友调一块电荷泵型PLL锁相环环路带宽100kHz相位裕度60°锁定速度也正常可输出频谱上的参考杂散就是卡在-52dBc离-60dBc的指标差一口气。起初我把VCO电源、环路滤波器、分频器都过了一遍纹波和耦合都看了没毛病。最后把电荷泵单独拎出来做DC扫描才发现UP/DN两路的电流失配在Vctrl从0.3V扫到1.8V的过程中从0.5%一路漂到了6.2%。问题不在可见的环路而在电荷泵这个“看不见的秤”。这个场景可能很多人都有印象PLL锁相环明明锁住了指标却总是差那么几个dB。电荷泵电流失配就是那种最容易背锅、也最容易被漏掉的环节。这篇文章想把它的物理来源、危害链路、经典消除思路Jae-Shin Lee方案以及从仿真到实测的完整排查手法一次性讲清楚。1. 为什么环路锁定后杂散还是压不下去电流失配的破坏链路1.1 电荷泵在锁相环里的真实角色每周期搬运电荷的“精准天平”PLL的环路里电荷泵负责把PFD输出的相位差时间域信号转换成电流脉冲再交给环路滤波器变成电压去控制VCO。它的本质是一个“电荷天平”相位对齐时UP和DN两个开关应该完全对称一个往滤波器里灌电流一个往外抽电流平均下来净电荷为0Vctrl稳定不动。但这个天平一旦不对称——UP灌进来的电荷比DN抽走的多了1%或者少了1%——锁定状态下PFD为了维持净电荷平衡就只能改变比较点附近的时间位置也就是让分频器边沿主动偏离参考边沿。结果就是整条环路的静态相位误差从0变成一个非零值这个非零值再经过VCO调制就变成了输出频谱上的参考杂散。电荷泵失配不仅仅是电流源自己的事它会跨越整个环路最终落在输出频谱上。1.2 失配不是一个“小数点问题”杂散、抖动、锁定精度一起恶化很多人觉得1%的电流失配很小不值得紧张。但按工程经验50µA的电荷泵电流1%失配就是0.5µA的净电流误差。如果在参考周期内这个差值持续注入环路滤波器Vctrl上会产生一个和参考频率严格同频的纹波波纹幅度估算为ΔV ≈ ΔI × |ZLPF(f_ref)|如果环路滤波器在f_ref处还有几十kΩ的残余阻抗0.5µA就能产生几十mV的纹波。对一个Kvco为100MHz/V的VCO来说几十mV纹波意味着好几MHz的频率摆动参考杂散想压到-60dBc以下几乎不可能。除杂散外失配还会带来明显的抖动恶化。因为PFD需要持续产生一个非零的复位/关断脉宽来补偿失配这个脉宽在噪声环境下会放大VCO的相位扰动导致积分噪声上升。所以电荷泵失配从来不是“一个小数点问题”而是同时砸在参考杂散、输出抖动、锁定精度三块指标上。提示设计前期做指标拆解时建议参考杂散目标-60dBc左右的系统把电荷泵的静态失配预算直接定在1%以内如果目标是-70dBc就要往0.2%~0.3%以下走了。2. 三个物理根源沟道长度调制、电荷共享、时钟馈通2.1 沟道长度调制Vctrl一变电流就悄悄跟着漂先看最基本的。电荷泵里UP和DN两路电流分别来自PMOS电流源和NMOS电流源电流源的漏端电压Vds会受到Vctrl影响。在传统结构中当Vctrl从低压扫到高压NMOS电流源的Vds明显变化I_DN因此跟着漂。MOS管的输出特性告诉大家I_D ≈ I_D0 × (1 λ × Vds)λ是沟道长度调制系数L越短λ越大。失配率近似为ΔI/I ≈ λ × ΔVds。拿0.18µm工艺里的常规短沟道管来说λ做到0.1/V并不罕见Vds变化0.5V光这一项就能吃掉5%的失配。这也是为什么传统电荷泵在宽调谐范围VCO下参考杂散会随锁定频率不同而剧烈起伏。抑制手段有两个方向一个是用长沟道管或共源共栅结构把输出阻抗做大把λ压小另一个是像Jae-Shin Lee方案那样用运放把电流源漏端电压钉死在恒定值让Vctrl的变化根本映射不到Vds上。前者是“提高体质”后者是“釜底抽薪”。2.2 电荷共享开关切换瞬间的“漏电时刻”电荷共享比沟道长度调制更隐蔽因为它发生在开关切换的瞬间。传统电荷泵里开关管通常和电流源并联连接电流源管子一直导通开关管负责把电流引到输出或引到地/电源。开关导通和关断的瞬间电流源漏端下面那一堆寄生电容需要充电或放电。这些电荷从哪里来从输出节点或者电流源本身来于是产生一个与参考时钟边沿严格对齐的电流毛刺俗称update glitch。这个毛刺对杂散的影响很大。它不需要Vctrl变化即使锁定在同一个频率每个参考周期都会注入一个固定宽度和固定极性的电荷包。更麻烦的是当UP和DN的开关切换时间有微小差异时毛刺还会在输出端形成一个净电荷误差这个误差与直流失配没有直接关系但表现和失配一模一样。2.3 时钟馈通和动态失衡开关管的栅极信号通过Cgd耦合到输出节点同样会产生电荷注入。这些注入电荷的量取决于开关管尺寸、时钟摆幅和PFD输出的时序。当UP和DN的开关尺寸不一致、或者两条时钟路径长度差了几十微米时动态失配就来了。动态失配在DC扫描里是看不到的只有在开关切换的瞬间才会出现所以很多工程师用DC仿真验证失配收敛得很好一到实测就露馅。注意判断失配来源时先分清“静态失配”和“动态失配”。静态失配来自电流源本身和沟道长度调制动态失配来自开关切换过程中的电荷注入差异。两者处理手法完全不同。来源物理机制主要表现常规压制手段沟道长度调制I_D随Vds变化参考杂散随Vctrl明显变化长沟道、共源共栅电荷共享寄生电容充放电毛刺参考杂散平坦但整体偏高开关串联、钳位漏端时钟馈通Cgd耦合和时序差动态失配、锁定后仍有毛刺减小开关尺寸、等长布线3. Jae-Shin Lee方案的三个关键设计决策Jae-Shin Lee在2000年前后发表的那篇电荷泵结构核心思想用今天的话说就是“把传统方案里所有会导致失配的机制逐一从原理上掐断”。整套方案可以拆成三块开关串联、运放钳位、开关电容滤波。下面逐个讲。3.1 第一板斧开关与电流源串联掐断电荷共享路径传统电荷泵经常把开关管跨接在电流源和输出之间。这样电流源漏端的寄生电容会随开关状态一会儿接到输出、一会儿悬空电荷共享不可避免。Jae-Shin Lee结构的关键改动是把开关管从“并联旁路”改成“串联通路”让电流必须穿过开关管才能到达输出。这样不管开关导通还是关断电流源漏端的直流电位都被外部钳位不会出现悬空节点寄生电容没有机会参与充放电。串联开关也有代价开关管的导通电阻会落在电流通路上带来额外的电压余度和噪声。实际设计里要把开关管的宽长比做大让Ron压到几百欧姆甚至几十欧姆同时注意开关管本身的Vds很小噪声贡献一般可以接受。这里有个设计技巧开关管尽量用最小栅长宽度根据导通电阻预算来算别为了省面积把Ron做到1kΩ以上否则电荷泵输出摆幅会不够动态失配也会变大。3.2 第二板斧运放钳位漏端电位让沟道长度调制失效单靠串联开关还不够因为电流源漏端电压还会随Vctrl变化。Jae-Shin Lee方案在这里加了两个运放分别用于PMOS电流源和NMOS电流源的漏端电压钳位。运放的负反馈会让电流源漏端电压始终紧跟随参考电压即使开关切换或Vctrl变化漏端电压也纹丝不动。钳位带来的直接效果是电流源的Vds恒定沟道长度调制不再起作用。只要运放的环路增益足够高电流失配只取决于电流镜本身的几何匹配而这可以通过版图做到很小。不过运放本身也有输入失调所以这里引出了第三个决策。3.3 第三板斧开关电容滤波器给钳位电压做一次“净化”如果直接把含纹波的Vctrl拿来做钳位参考那么Vctrl上的参考杂散纹波就会通过运放变成电流扰动等于把输出杂散又引回输入端。Jae-Shin Lee方案的处理办法是用一个开关电容滤波器对Vctrl做动态平均得到干净稳定的钳位电压Vcp_ref。这个开关电容网络以参考频率为工作时钟在非交叠相里依次采样Vctrl并平均把周期性的纹波分量滤掉只保留直流量。开关电容滤波器看起来比简单RC低通复杂但在PLL应用里优势明显面积小、频率特性精确可控、和PFD时钟天然同步。实际实现时注意开关尺寸和时钟非交叠时序要仔细调否则采样电荷注入又会成为新的失配源。决策解决什么问题实现关键点开关串联电荷共享开关Ron足够低漏端无悬空运放钳位沟道长度调制运放增益要高漏端电压恒定开关电容滤波钳位参考电压上的纹波采样时序与PFD同步开关注入要小3.4 参数实例一个50µA电荷泵的元件级落地参考很多人看论文方案觉得原理清楚一到画电路就不知道管子取多少尺寸。我按一个0.18µm或0.13µm I/O器件、VDD3.3V、Icp50µA的例子给一组可参考的起点PMOS电流镜用共源共栅结构M1a/M1b单管尺寸取(W/L)(20µm/0.5µm)×4指共源共栅管取(20µm/0.35µm)×4指NMOS电流镜用(W/L)(8µm/0.5µm)×4指共源共栅管取(8µm/0.35µm)×4指串联开关管PMOS/NMOS都用(W/L)(2µm/0.18µm)×8指目标Ron做到200Ω以内钳位运放用两级米勒结构单位增益带宽做到10~30MHz即可输入管做PMOS差分对面积优先选大一点降低失调开关电容滤波器的采样电容Cs取100fF左右平均电容Cf取400fF工作时钟用f_ref的同频非交叠相。到手后先跑一遍DC失配扫描看看Vctrl全范围内失配曲线是不是一条“平线”。如果中间有塌陷多半是钳位运放进入饱和区了这时要检查运放输入输出共模范围是否覆盖Vctrl全范围。这个排错经验很值钱很多失配曲线在Vctrl中间范围内看起来很好一靠近轨压就崩根因往往是“组合管的输出摆幅不够”而不是电流镜匹配问题。4. 流片前不踩雷失配仿真与版图实操4.1 行为级模型先定失配预算在晶体管级动手之前先用Verilog-A或Simulink建一个带失配参数的电荷泵PLL行为级模型。在模型里把电荷泵失配设成变量仿真参考杂散和相位噪声随失配的变化曲线确定系统允许的最大失配。这一步很多人跳过结果到了晶体管级才发现1%失配根本满足不了-65dBc目标只能回头改架构。行为级模型跑得快可以扫几百组失配点比Cadence里跑PSS快几个数量级。4.2 晶体管级失配仿真的三种标准配置DC失配扫描在电荷泵输出接一个理想电压源模拟Vctrl扫描Vctrl从0.3V到1.8V分别测UP导通时注入滤波器的电流和DN导通时抽走的电流得到失配曲线。这个仿真不用跑蒙特卡洛先用典型工艺角看趋势。蒙特卡洛失配统计只开mismatch跑200个点统计I_UP和I_DN的分布以及ΔI/I的3σ值。注意NMOS和PMOS的失配参数来自不同器件要一起加进去。瞬态动态失配仿真给PFD加一个固定的微小相位差让电荷泵持续输出很窄的脉宽观察每个周期输出电流脉冲的宽度和幅度是否对称。这个仿真能暴露电荷共享和时钟馈通。建议配合PSS/PNOISE看参考杂散。给个Spectre里常见的蒙特卡洛写法示例跑之前记得把statistics模块带上statistics { mismatch { vary process } process { vary process distgauss std3 } } // 或者用ADE XL的Monte Carlo Sampling直接配跑完看三个数失配均值、3σ值、以及Vctrl全范围内的失配极差。三个数都达标再往下走。注意只跑典型工艺角、不做蒙特卡洛的电荷泵设计等于没验证失配。电流镜失配对工艺偏差的敏感度远高于你想象尤其是小面积管。4.3 版图匹配共质心、Dummy、屏蔽一项都不能省仿真再漂亮版图乱画一样白搭。电荷泵版图我总结了几条硬规矩电流镜必须共质心布局。PMOS源和NMOS源都按ABBA之类的对称结构摆放左右镜像而不是简单并列四周加dummy管保证边缘的刻蚀效应一致。dummy管的栅和源漏要接固定电位不能浮空时钟信号线UP/DN、开关驱动必须等长且尽量短不要跨越电流镜上方必要时加一层地屏蔽来隔离时钟馈通模拟地和数字地分开走在芯片Pad处单点汇合电荷泵的电源单独打一条线不要和数字逻辑共用电源走线如果工艺支持把NMOS电流源放进深N阱里加一圈保护环能明显降低衬底噪声和门锁风险。这些项没做到位常见症状是仿真失配0.3%实测失配直接变3%。版图寄生导致的问题仿真模型很多时候根本体现不出来。5. 实测信号里的失配“指纹”频谱仪与示波器诊断法5.1 参考杂散的谱线特征与工程估算芯片回来先别急着改电路先看频谱。锁定后输出频谱上参考杂散表现为 f_out ± n×f_ref 处的单根谱线n1时幅度最大。工程估算可以用这个式子Spur(dBc) ≈ 20 × log10( (ΔI × |ZLPF(f_ref)| × Kvco) / (2 × f_ref) )注意这是量级估算不是精确公式用来判断“是电荷泵失配主导还是其他原因主导”绰绰有余。如果估算值比实测差很多说明杂散可能来自电源耦合或衬底串扰不是电荷泵失配——方向找对了才好动手。5.2 从杂散随Vctrl的变化反推失配来源实测时把VCO调谐电压在不同锁定频率下测量参考杂散画一条杂散对Vctrl的曲线。不同失配来源在曲线上有不同指纹曲线随Vctrl明显起伏、出现驼峰沟道长度调制占主导考虑提高输出阻抗或检查钳位运放是否饱和曲线很平坦但整体偏高多半是电荷共享或时钟馈通重点查开关时序和版图耦合曲线有周期性台阶基本可以锁定是PFD输出脉宽/死区时间设置问题不是电荷泵本身失配。此外用高阻差分探头直接看Vctrl上的纹波波形也很有用。如果看到和f_ref同频的周期性台阶台阶高度随Vctrl变化那是静态失配如果波形有过冲尖刺那就是电荷共享和时钟馈通尖刺宽度往往就是开关切换时间那一小段。5.3 片内修调与最终调试经验如果流片批次失配普遍超标常见的补救手段是加修调DAC在电流镜偏置端并联一个5~6bit电流DAC用测试模式手动或自动扫一遍DAC码值找到杂散最小点。更高级一点的做法是做一个片上校准状态机复制一路电荷泵用比较器比较UP和DN电流SAR算法自动逼近匹配点。我个人经验是调试时先把所有测试点引出来比任何仿真手段都有用。把Vctrl、钳位电压、电流镜漏端电压都加一级buffer接到测试Pad上虽然会引入一点寄生但它在流片后能让你十分钟定位问题而不是靠猜。Charge pump这种模块量级很小但牵一发动全身第一次流片预留测试点、测出每个节点的真实电压比什么都重要。最后再分享一个小技巧锁相环参考杂散如果不达标别第一时间怀疑VCO或者电源先把电荷泵的失配指纹测一遍——这通常是最便宜、最直接的排查路径。