
1. 从“锁不住”到“锁得干净”PLL环路带宽设计的核心矛盾做锁相环设计的人几乎都经历过这样一个阶段环路参数算出来仿真也能锁但一上板子就发现输出频谱上这里鼓一个包、那里冒一根刺相位噪声在某些频偏处明显翘起来。这时候再去翻书发现书上讲的都是理想二阶环的公式而实际电路里电荷泵有泄漏、鉴相器有死区、VCO调谐端会引入噪声、电源地上还串着各种干扰。环路带宽到底取多少滤波器到底用几阶这两个问题不解决后面所有调试都是盲人摸象。这篇内容围绕PLL环路带宽设计中的两个硬骨头展开杂散抑制和滤波器阶数选择同时把仿真工具在其中的实际用法讲透。适合已经了解PLL基本锁相原理、能看懂开环增益波特图、但一到具体参数取舍就犯难的工程师。我会从环路带宽与杂散的定量关系讲起把二阶、三阶、四阶滤波器的适用边界拆开揉碎再结合仿真工具的实际操作给出可以直接复现的流程和参数。全文不堆公式但关键的计算逻辑和取舍依据都会说清楚让你在下次定环路带宽时心里有底手里有数。2. 环路带宽与杂散抑制的定量拉扯2.1 杂散从哪里来先分清参考杂散和小数杂散PLL输出频谱上的杂散按来源大致分两类。一类是参考杂散出现在参考频率的整数倍频偏处根源是鉴相器/电荷泵的非理想性——电荷泵上下电流失配、鉴相器死区、电荷泵泄漏电流这些都会在鉴相频率处产生周期性扰动经过环路低通滤波后调制VCO形成杂散。另一类是小数杂散出现在小数分频器的量化噪声相关频偏处根源是ΔΣ调制器的周期性行为。这两类杂散的抑制手段不同。参考杂散主要靠环路滤波器在鉴相频率处的衰减来压制而小数杂散更多依赖ΔΣ调制器阶数、分频比选择和环路带宽的配合。很多人一上来就把环路带宽压得很低以为这样杂散就小了结果发现锁定时间变得无法接受而且VCO噪声在带内的贡献反而变大。所以环路带宽的选择本质上是在杂散抑制、锁定时间、带内相位噪声三者之间找平衡点。2.2 环路带宽和参考杂散衰减的定量关系对于参考杂散关键要看环路增益在鉴相频率处的衰减量。一个N阶环路的开环传递函数在鉴相频率处的幅度衰减决定了杂散被压制多少。经验上如果环路带宽为fc鉴相频率为fref那么参考杂散在输出端的衰减大致按每倍频程20dB二阶环到40dB三阶以上滚降。举个实际数字假设鉴相频率10MHz环路带宽取100kHz那么fref/fc100约6.6个倍频程。对于三阶环高频段滚降-40dB/dec理论上在10MHz处的衰减约为40×log10(100)≈80dB。但实际电路中电荷泵失配产生的杂散不会完全被环路滤波因为杂散源在环路内部滤波效果要打折扣。实测中100kHz带宽、10MHz鉴相频率下参考杂散通常能压到-70dBc以下但如果你把带宽放到500kHz同样的电荷泵失配下杂散可能只有-50dBc左右。这里有个容易忽略的点电荷泵失配引起的杂散其幅度和环路带宽的关系不是简单的单调关系。带宽太窄环路对杂散的抑制确实强但电荷泵泄漏电流在环路积分器上产生的相位误差会累积反而可能让杂散在某些条件下变差。所以窄带宽不是万能药得结合电荷泵的实际失配指标来定。2.3 锁定时间对带宽的硬约束锁定时间近似公式Tlock ≈ 4/(fc)这是针对二阶环、相位裕度约60度的粗略估计。实际中三阶环的锁定时间会更长一些大约按Tlock ≈ 5~8/(fc)估算。如果你要求锁定时间不超过100μs那么环路带宽至少得在50kHz以上。如果要求20μs锁定带宽就得往200kHz以上走。这就和杂散抑制产生了直接冲突。假设鉴相频率只有1MHz你为了杂散把带宽压到10kHz锁定时间就会到400μs以上很多应用根本等不起。所以实际设计中先根据锁定时间确定带宽下限再根据杂散要求确定带宽上限最后在这个区间里选一个折中值。如果区间是空的那就得换方案要么提高鉴相频率要么换电荷泵失配更好的芯片要么改用小数分频加dither。2.4 带内相位噪声对带宽的隐性要求环路带宽还决定了VCO噪声和参考噪声在输出端的贡献分界。带内fc以内以参考和分频器噪声为主带外fc以外以VCO噪声为主。如果VCO的近端噪声很差你把带宽压得很低VCO噪声就会在更宽的频偏范围内主导输出整体相位噪声反而恶化。反过来如果参考噪声很差带宽放太宽也会让参考噪声贡献变大。所以选带宽时最好把参考噪声、VCO噪声、分频器噪声的曲线都画出来找到它们相交的大致频偏环路带宽取在这个交点附近总相位噪声最优。这个交点通常在几十kHz到几百kHz量级具体取决于器件选型。仿真工具在这里的作用就体现出来了你可以扫带宽看总相位噪声积分值的变化快速找到最优区间。3. 滤波器阶数选择不是越高越好3.1 二阶环的适用边界与局限二阶环一个积分器加一个零极点是最基础的PLL环路滤波器结构传递函数简单稳定性分析容易。它的开环传递函数在低频段-20dB/dec零点之后回到-20dB/dec高频段保持-20dB/dec。这意味着它对鉴相频率处的杂散抑制只有-20dB/dec的滚降衰减能力有限。二阶环适合什么场景鉴相频率较高比如几十MHz、参考杂散要求不苛刻-60dBc左右、锁定时间要求宽松的场合。比如一些时钟净化电路鉴相频率高VCO噪声好二阶环就够用。但如果鉴相频率只有几MHz又要求参考杂散低于-70dBc二阶环就很难做到因为-20dB/dec的滚降意味着你需要把带宽压得非常低才能获得足够衰减而这样锁定时间又受不了。3.2 三阶环最常用的折中方案三阶环在二阶环基础上增加一个高频极点开环传递函数在高频段变成-40dB/dec滚降。这个额外极点通常放在环路带宽的5到10倍处用来压制鉴相频率处的杂散同时不影响环路稳定性。三阶环的设计关键是极点位置的选择。极点放得太近相位裕度损失大环路可能振荡放得太远杂散抑制效果又不够。经验做法是极点频率fp取环路带宽fc的5~10倍同时保证在fc处的相位裕度不低于45度最好在50~60度之间。如果鉴相频率和fc的比值较小比如小于20极点位置还要更仔细地优化因为极点可能落在鉴相频率附近影响杂散衰减的斜率。三阶环的另一个好处是它对电荷泵泄漏电流的抑制比二阶环好。泄漏电流在环路积分器上产生的相位误差经过三阶环的高频极点后会被进一步衰减所以参考杂散中的泄漏分量会明显降低。实测中同样100kHz带宽、10MHz鉴相频率三阶环比二阶环的参考杂散通常能好10~15dB。3.3 四阶环什么时候必须上四阶环在三阶基础上再加一个高频极点高频段滚降达到-60dB/dec。它主要用在两种场景一是鉴相频率很低比如几百kHz但杂散要求极高-80dBc以下二是需要额外滤除某个特定频率的干扰比如电源开关频率的谐波。但四阶环的代价也很明显相位裕度更难保证锁定时间更长对元件容差更敏感。每增加一个极点环路相位裕度就少一些你需要重新调整零点和极点位置来补偿。而且四阶环的锁定过程可能出现较长的“滑行”阶段实际锁定时间比公式估算的要长不少。我的经验是除非二阶和三阶都满足不了杂散要求否则不要轻易上四阶。很多情况下把鉴相频率提高一倍比加一个极点更有效。因为鉴相频率提高后同样的带宽下fref/fc比值翻倍杂散衰减直接多出十几dB而且锁定时间不变。所以选阶数之前先问自己鉴相频率能不能再高一点3.4 阶数选择与相位裕度的联动不管选几阶相位裕度都是硬指标。相位裕度低于45度环路阶跃响应会有明显过冲锁定时间反而变长低于30度可能直接不稳定。三阶环的相位裕度通常设计在50~60度四阶环建议不低于45度。相位裕度和滤波器元件值直接相关。以三阶无源滤波器为例它由两个电容和一个电阻组成C1、C2、R2有时再加一个电阻和电容R3、C3构成第四阶。元件值计算通常从环路带宽和相位裕度出发用工具或公式反推。这里有个实操细节电容C1和C2的比值会影响零点位置和相位裕度C2/C1越大零点越靠近原点相位裕度越大但杂散抑制会变差。所以调相位裕度时不能只看裕度数字还要看杂散指标是否还满足。4. 仿真工具在环路设计中的实际用法4.1 先明确仿真要解决什么问题仿真工具不是用来“跑个结果看看”的它要回答几个具体问题当前带宽和阶数下相位裕度够不够参考杂散能压到多少锁定时间多长带内相位噪声积分值是多少把这些指标在仿真里量化出来才能指导参数调整。常用的工具有两类一类是行为级仿真比如用ADS、Cadence的PLL模型或者专门的PLL设计软件另一类是电路级仿真比如用SPICE跑环路滤波器和电荷泵的瞬态。行为级仿真快适合扫参数电路级仿真准适合验证非理想效应。实际流程通常是先用行为级仿真确定带宽、阶数、元件值再用电路级仿真验证电荷泵失配、泄漏电流等影响。4.2 行为级仿真扫带宽看杂散和锁定时间行为级仿真的核心是搭建一个包含鉴相器、电荷泵、环路滤波器、VCO和分频器的模型。很多工具自带PLL模板你只需要填参数。关键设置包括鉴相频率、分频比、电荷泵电流、VCO增益、滤波器拓扑和元件值。扫带宽时固定其他参数只改滤波器元件值来改变fc然后看几个输出开环波特图的相位裕度、闭环阶跃响应的锁定时间、输出频谱在鉴相频率处的杂散幅度。把这几条曲线画在一起就能直观看到带宽对杂散和锁定时间的拉扯。这里有个实操技巧扫带宽时不要只扫fc还要同时看相位裕度的变化。因为改变fc时如果只调C1零点位置也会变相位裕度跟着变。正确做法是保持相位裕度不变同时缩放所有元件值来改变fc。比如把C1、C2、R2都乘以同一个系数fc会反比变化相位裕度基本不变。这样扫出来的杂散和锁定时间曲线才是干净的带宽影响。4.3 电路级仿真验证电荷泵非理想效应行为级仿真假设电荷泵是理想的但实际杂散主要来自电荷泵失配和泄漏。电路级仿真可以建一个带失配的电荷泵模型比如上下电流差1%或者加一个泄漏电流源然后跑瞬态看输出频谱上的杂散。具体做法在电荷泵输出节点加一个直流电流源模拟泄漏大小取芯片手册的典型值比如1nA到10nA。跑足够长的瞬态至少几百个鉴相周期然后做FFT看鉴相频率处的杂散幅度。对比理想情况就能量化泄漏对杂散的贡献。这个仿真跑起来比较慢但值得做因为它能告诉你在当前带宽和阶数下电荷泵泄漏会把杂散恶化多少。如果恶化后不满足要求你就得换更低泄漏的芯片或者调整带宽和阶数来补偿。4.4 相位噪声仿真把各噪声源分开看相位噪声仿真通常用行为级模型把参考噪声、分频器噪声、电荷泵噪声、VCO噪声分别加进去看各自对输出的贡献。工具会给出总相位噪声曲线也能给出各分量的曲线。关键看两个地方一是带内相位噪声平台主要由参考和分频器噪声决定二是带外滚降主要由VCO噪声决定。环路带宽取在两者相交的频偏附近总积分相位噪声最小。仿真时扫带宽看积分相位噪声比如10kHz到10MHz积分的变化找到最小值对应的带宽。这里有个容易踩的坑仿真里的VCO噪声模型往往偏乐观。实际VCO的近端噪声可能比手册曲线差因为手册是在特定条件下测的。所以仿真找到的最优带宽实际中可能要稍微往窄调一点给VCO噪声留余量。5. 从仿真到实测那些仿真不会告诉你的坑5.1 滤波器元件容差对杂散的影响仿真里电容电阻都是理想值实际元件有容差。C1和C2的容差会直接影响环路带宽和相位裕度。比如C1偏10%fc可能偏5%到8%相位裕度可能变化几度。如果相位裕度本来就只有45度偏几度就可能掉到40度以下锁定时间明显变长。更麻烦的是电容的容差还会影响零点位置进而影响杂散抑制。三阶环的零点由R2和C2决定如果R2偏10%零点频率偏10%在鉴相频率处的衰减可能差几dB。所以选元件时C1和C2建议用5%精度R2用1%精度。如果成本允许用可调电容或数字电位器在调试时微调。5.2 电荷泵失配的实测表现和仿真差异仿真里设1%失配杂散可能算出来-75dBc实测却只有-65dBc。差异来源有几个一是仿真模型没考虑电荷泵开关的时序失配实际中上下电流的开启时间不同等效失配更大二是PCB布局引入的寄生电容让电荷泵输出节点的瞬态波形变差三是电源噪声调制电荷泵电流。应对办法仿真时把失配设得比手册典型值大一些比如手册说1%仿真用2%到3%留余量。实测时如果杂散超标先查电荷泵电源是否干净再查环路滤波器接地是否合理。很多时候杂散不是环路参数问题而是电源或布局问题。5.3 锁定时间的实测值和仿真值对不上仿真锁定时间100μs实测可能150μs甚至200μs。原因通常是VCO调谐端有寄生电容让环路滤波器的实际带宽比设计值低或者电荷泵的建立时间有限在大频差时输出电流达不到设定值。调试时可以先测VCO调谐端的阶跃响应看实际环路带宽。方法是在调谐端注入一个小阶跃看输出频率的响应时间反推fc。如果实测fc比设计值低说明寄生电容在起作用需要减小滤波器电容或调整VCO耦合。5.4 杂散在频谱上的“漂移”现象有时候杂散不是固定在鉴相频率整数倍而是会缓慢漂移或者在某些条件下消失。这通常和电荷泵的周期性行为有关比如死区导致的周期性相位校正。如果鉴相器有死区电荷泵在每个鉴相周期内可能多打或少打一个脉冲产生低频调制杂散就会漂移。解决办法是加一个小的直流偏置电流让电荷泵始终有输出避免死区。或者换用带死区补偿的鉴相器。这个在仿真里很难复现因为死区模型依赖具体电路所以实测中遇到漂移杂散优先查鉴相器死区。6. 一套可复现的带宽与阶数确定流程6.1 第一步明确指标和约束先把指标列清楚鉴相频率、输出频率范围、锁定时间上限、参考杂散上限、带内相位噪声要求、VCO噪声曲线、电荷泵失配和泄漏指标。这些是设计的输入缺一不可。特别是VCO噪声曲线很多人忽略但它直接决定带宽下限。6.2 第二步用锁定时间定带宽下限按Tlock ≈ 5/fc估算取锁定时间上限的倒数乘以5得到带宽下限。比如锁定时间要求100μsfc下限约50kHz。如果这个下限已经高于杂散允许的带宽上限说明方案需要调整比如提高鉴相频率或换电荷泵。6.3 第三步用杂散要求定带宽上限和阶数根据鉴相频率和杂散要求估算需要的衰减量。参考杂散要求-70dBc电荷泵失配产生的杂散源幅度假设-40dBc那么需要30dB的衰减。二阶环-20dB/dec需要1.5个倍频程即fref/fc≥3fc≤fref/3。三阶环-40dB/dec需要0.75个倍频程fc≤fref/1.7。显然三阶环允许更宽的带宽更容易满足锁定时间。6.4 第四步仿真扫参数找最优在带宽上下限之间用行为级仿真扫fc同时保持相位裕度50~60度看杂散、锁定时间、相位噪声积分值。选一个三者都满足的fc然后确定阶数和元件值。再用电路级仿真验证电荷泵非理想效应留够余量。6.5 第五步实测微调板子回来后先测锁定时间和杂散对比仿真。如果锁定时间偏长查VCO调谐端寄生如果杂散超标查电荷泵电源和接地。微调时优先调R2影响零点和C2影响相位裕度这两个元件对杂散和稳定性最敏感。7. 几个容易被忽略的实操细节环路滤波器的接地。电荷泵输出和环路滤波器之间的走线要短接地要干净。如果地线上有数字噪声会直接调制VCO产生杂散。建议环路滤波器用独立的模拟地单点连接到主地。VCO调谐端的去耦。调谐端通常要加RC去耦但去耦电容太大会影响环路带宽。一般取几nF到几十nF配合小电阻截止频率设在环路带宽的10倍以上。电荷泵电流的选取。电荷泵电流越大环路增益越高带宽越宽但杂散也越大。在满足锁定时间的前提下尽量选小电流配合大电容这样杂散源幅度小滤波效果也好。分频比的影响。分频比N越大环路增益越高带宽越宽但带内噪声也越大。如果N很大可以适当降低电荷泵电流来补偿。温度对元件的影响。C0G电容温度系数小适合环路滤波器。X7R电容容值随温度变化大可能导致带宽漂移尽量不用。仿真步长的设置。瞬态仿真步长要小于鉴相周期的1/20否则会漏掉电荷泵的细节杂散算不准。但步长太小仿真时间会很长需要权衡。频谱仿真的窗函数。做FFT看杂散时窗函数选Hanning或Blackman避免频谱泄漏掩盖真实杂散。采样点数要足够至少覆盖几百个鉴相周期。锁定时间的测量方法。实测锁定时间时用频率计数器或示波器看调谐电压的稳定过程。注意区分“频率锁定”和“相位锁定”相位锁定通常比频率锁定晚一些。杂散的单位。杂散用dBc表示相对于载波。仿真里看的是绝对功率要减去载波功率才是dBc。别搞混了。相位裕度的仿真验证。行为级仿真里看开环波特图找增益穿越频率处的相位180度减去这个相位就是相位裕度。确保在50~60度之间。四阶环的额外极点位置。如果上四阶第二个高频极点放在鉴相频率的1/2到1/3处不要放在鉴相频率附近否则会严重影响鉴相频率处的衰减斜率。小数分频的dither。如果用小分频dither能打散小数杂散但会抬高带内噪声底。dither幅度要适中太大噪声差太小杂散压不住。锁定检测的阈值。锁定检测的窗口和计数要合理设置太紧会误判失锁太松会延迟锁定指示。一般窗口取鉴相周期的几倍计数取几十个周期。电源纹波对杂散的影响。电荷泵和VCO的电源纹波会直接调制输出产生杂散。电源纹波频率如果落在环路带宽内会被环路放大。所以电源滤波要针对环路带宽设计在fc处有足够衰减。PCB布局的对称性。电荷泵上下电流路径要对称走线长度和宽度一致减少失配。VCO和环路滤波器要远离数字电路避免耦合。调试时的顺序。先调锁定再调杂散最后调相位噪声。锁定都锁不住谈杂散没意义。调杂散时先查电源和接地再调环路参数。仿真模型的可信度。行为级模型只能看趋势不能当精确值。电路级模型依赖器件模型精度电荷泵模型尤其要准。实测才是最终标准仿真用来缩小调试范围。环路带宽的实测反推。如果怀疑实际带宽和设计不符可以在调谐端注入小信号测频率响应找-3dB点。这个方法比看锁定时间更准。杂散和相位噪声的权衡。有时候压杂散会把相位噪声搞差因为带宽压窄后VCO噪声贡献变大。要同时看两个指标不能只顾一头。元件值的标准化。算出来的电容电阻值要取标准值取整后重新仿真验证不要直接用计算值画板。多环路系统的相互影响。如果板上有多个PLL注意它们的鉴相频率不要成整数倍关系否则杂散会互相叠加。布局上也要隔离避免空间耦合。老化对元件的影响。高精度应用要考虑电容电阻的老化漂移选老化率低的元件或者留可调余地。测试环境的干净度。测杂散时频谱仪的底噪要足够低输入衰减要合适否则测到的可能是仪器底噪。参考时钟的杂散也要干净否则会混入被测PLL。锁定时间的定义。不同标准对锁定时间的定义不同有的从使能开始算有的从频率进入捕获范围算。仿真和实测要用同一定义否则对不上。电荷泵的建立时间。电荷泵从关断到输出稳定电流需要时间这个时间会影响高频段的环路增益。如果建立时间接近鉴相周期高频段增益会下降杂散抑制变差。选电荷泵时注意这个参数。VCO增益的线性度。VCO增益Kvco在整个调谐范围内不是常数两端可能差一倍。仿真时要用最差情况下的Kvco否则实际带宽可能偏大或偏小。分频器的相位噪声。分频器噪声在带内贡献很大尤其在高分频比时。选低噪声分频器或者用分频比小的方案。参考时钟的相位噪声。参考噪声在带内直接传递到输出按20logN放大。参考噪声差带内相位噪声就好不了。选参考时看近端噪声不要只看远端。环路滤波器的噪声。电阻热噪声在带内也有贡献尤其R2较大时。如果带内噪声要求极高要考虑电阻噪声选低阻值或低噪声电阻。仿真和实测的频偏范围要一致。仿真看10kHz到10MHz实测也看这个范围否则积分相位噪声对不上。杂散的谐波。参考杂散有时会出现在鉴相频率的谐波处尤其二次谐波。如果二次谐波杂散大可能是电荷泵上下电流失配的二次分量或者鉴相器的二次非线性。锁定后的相位误差。锁定后鉴相器仍有静态相位误差这个误差和电荷泵泄漏、环路增益有关。相位误差大会导致输出频率偏差也会影响杂散。温度对VCO的影响。VCO频率随温度漂移环路会跟踪但调谐电压会变。如果调谐电压接近电源轨环路可能失锁。设计时留够调谐范围。电源顺序。上电时各电源的先后顺序会影响PLL启动有时会导致锁定失败。按芯片手册的电源顺序上电或者加复位电路。仿真工具的版本差异。不同版本的仿真工具PLL模型可能不同结果会有差异。关键参数要交叉验证不要只信一个工具。实测数据的统计。杂散和相位噪声测一次不够要多次测量取平均看重复性。如果每次测的杂散位置不同说明有漂移源要查。环路带宽的温度稳定性。电容和电阻的温度系数会影响带宽C0G电容和低温漂电阻是首选。如果带宽随温度变化大杂散和锁定时间都会漂。电荷泵的匹配随温度变化。电荷泵上下电流的匹配度随温度可能变差杂散也会随温度变化。高温下杂散可能恶化设计时要留高温余量。VCO的推压效应。电源电压变化会推VCO频率环路会补偿但补偿过程中可能产生杂散。电源要稳VCO电源尤其要干净。分频器的分频比切换。如果分频比在锁定过程中切换会产生瞬态杂散。切换时机要避开敏感时刻或者用平滑切换。环路滤波器的布局。滤波器元件要靠近电荷泵和VCO走线短避免引入寄生。电容接地要就近打孔不要共用过孔。测试点的选择。测调谐电压时测试点要加缓冲否则探头电容会影响环路。用高阻探头或者加隔离电阻。杂散的单位换算。dBc和dBm要分清频谱仪上读的是dBm减去载波dBm才是dBc。载波功率要准确测量。锁定时间的温度依赖性。锁定时间随温度变化因为电荷泵电流和VCO增益都随温度变。高温下锁定时间可能变长设计时按最差温度算。仿真中的初始条件。瞬态仿真要设合理的初始条件比如VCO初始频率在捕获范围内否则仿真可能不锁。初始条件设得和实际启动情况一致。环路带宽的优化目标。如果杂散和锁定时间都满足带宽可以取宽一点这样带内相位噪声更好。如果都紧张取折中值优先满足硬指标。滤波器阶数的选择依据。二阶够用就不上三阶三阶够用就不上四阶。每加一阶调试复杂度增加元件敏感度增加锁定时间增加。先试二阶不行再三阶。仿真和实测的迭代。仿真指导设计实测修正仿真。每次实测后用实测结果反推仿真模型参数让仿真越来越准。迭代两三次仿真和实测就能对得上。文档记录。每次仿真和实测的参数、结果、调整过程都要记录方便回溯。PLL调试往往要试很多组参数没有记录很容易乱。团队协作。PLL设计涉及射频、电源、数字多个领域和同事对齐指标和接口避免各自为政。杂散问题有时是数字电路引起的要联合排查。时间预算。PLL调试很耗时留够时间。仿真可以快但实测和调试往往要几天甚至几周。提前规划避免赶工。心态。PLL调试遇到杂散和锁定问题很正常不要急。按流程排查从电源、接地、电荷泵、环路参数一步步来总能找到原因。每次解决问题都是经验积累。持续学习。PLL理论深实践性强多看文献多动手多总结。别人的经验可以参考但自己的实测数据最可靠。