
1. 项目概述与核心价值在射频和数字通信系统的开发中锁相环频率合成器是生成稳定、精确时钟信号的核心模块。无论是无线收发信机中的本振源还是高速数字电路里的时钟分配网络其性能直接决定了整个系统的信噪比、误码率和稳定性。然而PLL的设计并非易事它涉及鉴相器、环路滤波器、压控振荡器等多个环节的协同工作参数之间耦合紧密理论计算往往只能提供一个起点实际电路的瞬态响应、稳定性裕度、相位噪声和杂散抑制都需要通过实验反复调试才能最终确定。传统的“面包板示波器频谱仪”调试方法不仅耗时耗力成本高昂而且很多深层问题如环路稳定性、极端温度下的参数漂移难以在早期发现。这时电路仿真软件的价值就凸显出来了。PSpice作为业界经典的仿真工具其强大的模拟行为建模能力允许我们为复杂的集成电路如MC145170这类PLL频率合成器芯片构建一个既精确又高效的“行为级”模型。这个模型不是去复刻芯片内部成千上万个晶体管而是用数学函数和受控源来抽象其输入输出特性从而让我们能在电脑上以极低的成本和极快的速度完成环路带宽设计、阶跃响应测试、相位噪声预估乃至杂散分析。我这次分享的就是基于MC145170这颗经典PLL芯片在PSpice中从零搭建其行为级模型并完成一个完整频率合成器设计与验证的全过程。你会发现通过合理的模型简化我们可以将仿真焦点集中在最关键的环路动态特性上避开不必要的计算负担让仿真真正成为设计的“加速器”而非“绊脚石”。无论你是正在学习PLL理论的在校学生还是需要快速验证方案的硬件工程师这套方法都能让你在动手焊接第一个元件之前就对电路的性能心中有数。2. 核心思路为什么是行为级建模拿到一颗像MC145170这样的集成PLL芯片数据手册会给出功能框图、时序图和电气参数。如果我们要在PSpice中进行晶体管级仿真理论上可以找到其CMOS工艺的SPICE模型文末附件也提供了但这样做几乎是“自找麻烦”。一个完整的数字PLL芯片内部包含串行通信接口、参考振荡器、分频器、鉴相器等多种数字和模拟模块进行全晶体管级瞬态仿真计算量会大到不切实际仿真时间可能以天计生成的数据文件也会庞大到难以分析。因此一个更聪明、更工程化的方法是行为级建模。其核心思想是我们只关心芯片在系统级表现出的外部特性而非其内部每一个晶体管的开关状态。对于PLL环路分析而言关键只有三部分鉴相器输入参考时钟和反馈时钟输出与相位差成比例的脉冲信号。环路滤波器这是一个无源或有源网络用于将鉴相器输出的脉冲平滑成直流电压并决定环路的带宽和稳定性。压控振荡器输入控制电压输出相应频率的周期信号。MC145170内部的串行接口、可编程分频器R计数器、N计数器都是用于设置频率字和配置模式的。在行为级仿真中我们可以将这些数字逻辑功能“内化”到模型参数里。例如将参考频率直接设置为Fref Fosc / R将VCO的输出频率建模为Fvco N * Fpd其中Fpd是鉴相器比较频率。这样仿真电路图就大大简化了只剩下鉴相器行为模型、环路滤波器和VCO行为模型这三个核心部分仿真速度和效率得到质的提升。注意行为级模型的准确性建立在芯片数据手册提供的典型参数之上。它非常适合进行系统级的环路稳定性、捕获过程、跟踪误差等动态分析。但对于研究芯片本身的电源噪声抑制、 substrate耦合等涉及内部具体实现的效应则需要更底层的模型。3. 鉴相器行为模型的构建与实现MC145170的鉴相器属于数字鉴频鉴相器它比较参考信号ΦR和反馈信号ΦV的上升沿。其输出并非简单的电压值而是两个脉冲信号PhiR和PhiV以及一个三态输出PDout。理解其时序是建模的关键当参考信号相位超前PhiR输出一个正脉冲宽度等于相位超前量PhiV输出一个极窄的“假脉冲”PDout输出高电平脉冲。当反馈信号相位超前PhiV输出一个正脉冲宽度等于相位超前量PhiR输出一个极窄的“假脉冲”PDout输出低电平脉冲。当相位锁定PhiR和PhiV均输出极窄的“假脉冲”典型值50nsPDout呈现高阻态其电压由环路滤波器的电容保持。3.1 模型架构拆解在PSpice中我们可以利用ABMAnalog Behavioral Modeling库中的受控源和逻辑器件来构建这个时序逻辑。核心思路如图3所示对应原文Figure 3边沿检测使用两个延迟元件如ABM中的DELAY或利用门电路构建与逻辑门组合分别在参考信号Ref和反馈信号In的上升沿产生一个极窄的触发脉冲。相位比较将Ref的触发脉冲与当前的In信号进行逻辑比较例如用与门如果Ref脉冲到来时In为低说明Ref领先则产生一个“置位”信号。同理用In的触发脉冲与Ref比较判断In是否领先。RS触发器保持上述“置位”信号送入一个RS触发器的S端。同时对方信号的边沿脉冲作为R端的“复位”信号。这样RS触发器的输出Q端就是一个脉宽等于相位差的正脉冲。我们需要两个这样的RS触发器分别对应PhiR和PhiV的产生。最小脉冲与三态输出为了模拟锁定时的最小脉冲需要在RS触发器的输出上用或门叠加一个由对方边沿脉冲产生的固定窄脉冲。对于PDout它实质上是PhiR和PhiV的“推挽”式输出PhiR导通上拉管PhiV导通下拉管。在行为模型中我们可以用一个受控电压源来模拟V(PDout) IF(V(PhiR) 0.5, VDD, IF(V(PhiV) 0.5, 0, 高阻态))。更精确的做法是引入简单的MOSFET模型来模拟这个推挽输出级。3.2 PSpice中的具体实现与关键参数在MicroSim PSpice中我们可以用E电压控制电压源或B任意行为源元件来实现逻辑函数。例如一个实现与门和反相器组合功能的ABM块其值可以定义为V IF( V(Delayed_In) 0.5 AND V(In) 0.5, 5, 0 )这会在输入In的上升沿产生一个窄脉冲。关键参数设置最小脉冲宽度由边沿检测电路中的延迟时间TD决定。根据MC145170数据手册典型值为50ns。在仿真中应将这个延迟参数设置为50ns。输出驱动能力如果需要更精确地模拟PDout引脚驱动环路滤波器的实际电流就需要在行为模型后级添加MOSFET输出级。这时需要根据数据手册设置晶体管的宽长比W/L参数。原文附件提供了Level 3的SPICE模型其中关键参数NRD和NRS漏/源区方块电阻需要根据版图信息设置。例如对于PDout驱动的NMOS使用NRDNRS4/66对于PMOS使用4/210。M因子并联器件数可以用来缩放驱动电流。实操心得在初步设计和环路稳定性分析时可以完全使用理想的ABM源输出忽略晶体管级细节这能极大加快仿真速度。只有在需要精确评估PDout引脚在驱动特定滤波器阻抗下的电压摆幅和上升时间时才需要引入MOSFET模型。另外PSpice评估版可能缺少某些原语逻辑模型可以用7400系列库中的器件替代比如用7407并修改其模型来充当延迟元件用7402作为RS触发器。4. 压控振荡器行为模型的构建VCO模型的目标是接受来自环路滤波器的控制电压V_cntl输出一个频率为Fout F_center K_vco * V_cntl的正弦波或方波。在PLL系统中我们更关心其相位积分特性。4.1 数学模型到电路实现VCO的本质是一个积分器输出相位θ_out是输入控制电压的积分。即d(θ_out)/dt 2π * (F_center K_vco * V_cntl)。 在PSpice中我们可以利用ABM的积分功能来实现。一个巧妙的建模方法如图10所示对应原文Figure 10频率控制电压生成使用一个G电压控制电流源元件其值设为I K_vco * V(cntl)。这个电流源对一个电容C_int充电电容两端的电压V(int)就是对控制电压的积分V(int) (1/C_int) * ∫ K_vco * V(cntl) dt。正弦波生成使用一个E或B元件作为正弦源其值定义为V sin( 2*PI* (F_center * time (K_vco/(2*PI)) * V(int) ) )。这里F_center是VCO的中心频率控制电压为0时的频率V(int)就是上一步积分得到的电压。(K_vco/(2*PI))这个系数是为了将VCO增益K_vco单位通常是Hz/V转换为弧度/秒/伏以便与相位积分对应。分频比N的融入注意在系统模型中VCO的实际输出频率是F_vco但送入鉴相器比较的是经过N分频后的频率F_vco/N。为了简化仿真我们可以直接在VCO模型内部完成这个分频。即让行为模型直接输出F_vco/N的频率给鉴相器。这样模型中的F_center应设置为F_vco_center / NK_vco应设置为K_vco_actual / N。波形整形与输出生成的正弦波幅度较小且是交流信号。通常后级会接一个比较器或放大器来整形成方波。在ABM模型中我们可以直接用LIMIT函数或一个高增益放大器加限幅来模拟V_square 5 * LIMIT( V_sine, 0, 1)得到一个0-5V的方波。4.2 模型参数计算与设置以一个实际设计为例目标VCO输出频率范围10MHz到12MHz中心频率11MHz调谐电压范围0-5V则实际K_vco_actual (12M - 10M) / 5 400 kHz/V。 如果环路中N分频器的值N100那么输入鉴相器的频率范围为100kHz到120kHz。因此在VCO行为模型中F_center_model 11MHz / 100 110 kHzK_vco_model 400 kHz/V / 100 4 kHz/V在PSpice的ABM源中公式应写为V sin( 6.2831853 * (110k * time 4k * V(int)) )其中V(int)是积分电容上的电压。注意事项积分电容C_int和并联的大电阻R1用于提供直流通路防止节点悬浮的值需要谨慎选择。C_int太小会导致积分电压变化太快可能超出仿真器的数值范围太大则响应迟钝。R1需要足够大例如1e9 Ohm以免分流G源输出的积分电流影响控制线性度。通常C_int取1uFR1取1GOhm是一个不错的起点。5. 完整环路设计与仿真实践现在我们将鉴相器模型、环路滤波器和VCO模型连接起来构成一个完整的二阶锁相环。我们设计一个目标生成10MHz到12MHz步进100kHz的频率合成器。参考频率Fref设定为100kHz。5.1 环路滤波器设计与计算环路滤波器是决定PLL动态性能锁定时间、稳定性、噪声抑制的核心。我们采用最常见的二阶无源比例积分滤波器其拓扑结构为串联R1、C再并联C2。 设计步骤如下确定系统参数鉴相器增益Kφ对于MC145170的PDoutKφ VDD / (4π)。假设VDD5V则Kφ ≈ 5 / (4*3.1416) ≈ 0.398 V/rad。VCO增益Kvco从VCO特性曲线如图12测得在10MHz附近ΔF/ΔV ≈ 2 MHz/V。因此Kvco 2π * 2e6 ≈ 1.257e7 rad/s/V。分频比N在输出10MHz时N Fvco / Fref 10e6 / 100e3 100。阻尼系数ζ通常取0.7~1.0以获得较快的响应和适当的过冲。这里取0.8。自然角频率ωn通常选择为参考频率的1/10到1/50以保证足够的相位裕度和杂散抑制。取ωn 2π * Fref / 50 2*3.1416*100k/50 ≈ 12566 rad/s。计算滤波器元件值 根据经典的二阶PLL传递函数有τ1 R1 * Cωn sqrt( (Kφ * Kvco) / (N * τ1) )ζ (τ2 / 2) * ωn其中τ2 R2 * C先选定电容C的值例如C 10 nF。 由ωn公式反推τ1τ1 (Kφ * Kvco) / (N * ωn^2) ≈ (0.398 * 1.257e7) / (100 * (12566)^2) ≈ 3.16e-4 s则R1 τ1 / C ≈ 3.16e-4 / 10e-9 ≈ 31.6 kΩ取标称值32kΩ。 由阻尼系数公式求τ2τ2 2ζ / ωn ≈ 2*0.8 / 12566 ≈ 1.273e-4 s则R2 τ2 / C ≈ 1.273e-4 / 10e-9 ≈ 12.7 kΩ取标称值12kΩ或13kΩ。 为了抑制高频纹波通常会在R2上并联一个小电容C2其值约为C2 C / 10到C / 20这里取C2 820 pF。5.2 PSpice仿真设置与瞬态分析在PSpice中绘制完整原理图连接鉴相器、环路滤波器和VCO模型。初始条件设置为了观察环路从失锁到锁定的捕获过程可以将环路滤波器电容上的初始电压即VCO控制电压设置为一个远离锁定值的电压例如0V或5V。也可以设置为接近锁定值以观察小信号响应。在PSpice中使用IC属性设置电容的初始电压。参考信号源使用VPULSE源生成100kHz的方波幅度0-5V上升/下降时间设为极短如1ns。瞬态分析设置运行时间需要足够长以观察锁定过程。对于带宽约2kHzωn/2π的环路锁定时间通常在几个毫秒量级。设置Run to time为5ms到10ms。为了准确捕捉波形最大步长Maximum step size应设为参考周期或VCO输出周期的十分之一左右例如100kHz的周期是10us步长可设为1us。对于需要做频谱分析的情况步长需要更小后文详述。仿真与观测仿真后主要观测以下几个点的波形VCO控制电压V_cntl这是最关键的波形。你会看到它从一个初始值开始经过一段时间的阻尼振荡最终稳定到一个直流值。这个稳定值对应着锁定的频率。通过测量稳定后的电压可以验证VCO模型是否准确输出了目标频率。鉴相器输出PDout在失锁时你会看到宽窄不一的脉冲。随着环路接近锁定脉冲会变得非常窄且均匀即最小脉冲宽度。锁定后PDout应为高阻态电压由滤波器电容保持恒定。VCO输出频率可以通过测量VCO输出方波的周期来间接计算瞬时频率。图16和图17对应原文展示了控制电压在频率阶跃如从10MHz切换到12MHz下的响应曲线可以看到典型的二阶系统阶跃响应最终稳定在新的电压值上。5.3 频谱纯度杂散分析PLL输出频谱中的杂散Spur主要来源于鉴相器泄漏和参考频率馈通。仿真评估杂散抑制比是高级设计的重要一环。仿真设置进行频谱分析需要高质量的时域波形数据。必须确保环路已完全进入锁定稳态。因此仿真总时间要足够长例如先仿真5ms让环路锁定然后使用Print Delay功能例如设置延迟2ms只保存稳态后的数据以减小文件体积和提高FFT精度。采样要求根据奈奎斯特采样定理采样频率至少是信号最高频率的两倍。为了获得较好的FFT效果通常需要更高的过采样率。对于12MHz的VCO输出建议每个周期采样4个点以上即仿真步长Tstep 1/(4*12e6) ≈ 20.8 ns。在PSpice瞬态分析设置中将Maximum step size设为20ns或更小。执行FFT在Probe波形查看器中选中VCO正弦输出的稳态时段电压波形然后选择Trace - Fourier或类似功能。将横轴调整为频率并设置为对数坐标。结果解读在频谱图上你会在载波频率如12MHz处看到主峰。在偏移参考频率100kHz及其谐波处如12.1MHz, 11.9MHz会看到杂散谱线。测量主峰幅度dBV或V和杂散幅度两者的差值即为杂散抑制比。如图18所示仿真得到了约66dB的抑制比这是一个相当不错的结果。避坑指南频谱仿真非常消耗计算资源和磁盘空间。务必使用Print Delay跳过瞬态过程并合理设置仿真时长和步长。仿真时间长度决定了FFT的频率分辨率Δf 1/T如果希望分辨1kHz的杂散仿真时长至少需要1ms。步长决定了无混叠的最高分析频率Fmax 1/(2*Tstep)。6. 模型精化与实际问题排查行为级模型是理想的但实际PCB板上的寄生参数会显著影响性能尤其是高频下的PLL。仿真与实测不符往往是模型不完整导致的。6.1 引入寄生参数图19是理想模型的鉴相器输出PDout波形而实际电路测量结果图21差异很大。主要原因在于PCB走线电感连接PDout引脚、环路滤波器元件和VCO输入端的走线即使很短在百kHz到MHz的频率下也会呈现不可忽略的感性阻抗。焊盘和过孔电容对地和对电源的寄生电容。测试探头负载示波器探头通常有10-15pF的输入电容和1MΩ并联电阻。为了在仿真中复现实测结果需要在原理图中添加这些寄生元件如图20所示在PDout输出端串联一个小电感L_trace如10-100nH模拟走线电感。在PDout节点到地之间并联一个电容C_stray如5-20pF模拟寄生电容和探头负载。在关键节点如滤波器电阻、电容的引脚处也添加小的对地电容。重新仿真后PDout的波形图21会变得更“圆滑”出现振铃这与实际用示波器观察到的波形更为接近。这个练习深刻地说明高频电路仿真中对寄生效应的建模至关重要。在最终版图完成后可以根据实际走线长度和宽度估算寄生参数代入仿真进行预验证。6.2 常见仿真问题与解决思路仿真不收敛原因PLL是一个非线性时变系统初始状态可能远离平衡点导致数值计算发散。解决给环路滤波器电容设置合理的初始电压接近预期的锁定电压。在瞬态分析设置中勾选Skip initial transient solution (SKIPBP)并尝试减小仿真初始步长Initial step size。锁定时间异常长或出现持续振荡原因环路带宽ωn设计得太窄或阻尼系数ζ太小0.5。解决重新计算环路滤波器参数确保ζ在0.7-1.0之间。检查VCO增益Kvco和鉴相器增益Kφ的取值是否准确。用.STEP参数扫描功能观察不同R、C值对阶跃响应的影响。控制电压有较大纹波即使锁定后原因鉴相器泄漏电流过大模型中未体现或环路滤波器对参考频率的抑制不足。解决在行为级模型中可以在鉴相器输出端并联一个高值电阻如1MΩ到地模拟实际的泄漏通路。检查并优化环路滤波器确保其转折频率远低于参考频率通常要求Fref / Loop BW 10。频谱分析中杂散电平过高原因仿真步长太大导致混叠或者仿真时长太短导致频率分辨率不足无法区分靠近载波的杂散。解决严格遵守采样定理减小仿真步长。增加稳态仿真时间以提高频率分辨率。确保在FFT分析前对时域波形进行了适当的窗函数处理PSpice Probe通常自动处理以减少频谱泄漏。7. 仿真资源管理与效率优化PSpice进行长时间的瞬态仿真尤其是高分辨率频谱分析对计算机资源消耗很大。CPU与内存使用多核处理器并确保PSpice设置中启用了多线程仿真。分配足够的内存避免使用硬盘交换文件否则速度会急剧下降。磁盘空间一次长达几十毫秒、步长纳秒级的仿真产生的数据文件可能达到数百MB甚至GB级。确保系统盘有充足空间。仿真完成后及时清理旧的.dat文件。仿真策略分而治之不要总是仿真整个系统。单独仿真鉴相器模型验证其逻辑单独仿真VCO模型验证其压控特性。善用.STEP和.PARAM将关键参数如R1 C Kvco设为变量用参数扫描分析来快速评估参数变化的影响而不是手动修改多次运行。简化模型在初期设计阶段使用最简化的理想模型。只有在需要验证最终性能时才引入晶体管输出级和寄生参数模型。经过这样一套从模型构建、参数计算、环路仿真到结果分析的全流程你基本上就能在电脑上“预演”整个PLL电路的行为。这不仅能大幅减少实验室调试的盲目性和反复次数更能让你深入理解各个参数对系统性能的定量影响。当仿真波形和频谱图与理论计算、最终实测结果都能很好地吻合时那种对设计完全掌控的信心是单纯凭经验调试无法比拟的。