二、PLL关键参数:相位噪声、锁定时间、抖动
做PLL设计,说白了就是在三个参数之间找平衡——相位噪声、锁定时间、抖动。这三个家伙互相牵扯,改一个就得看另外两个的脸色。我刚开始调PLL时,总想一股脑把相位噪声压到最低,结果锁定时间飙到几十微秒,系统根本没法用。所以,先搞清楚它们各自是什么,才能谈调优。
2.1 相位噪声:近端与远端的博弈
相位噪声,就是频域里看时钟信号的“干净程度”。理想情况下,频谱应该只有一根载频线;实际中总会有一圈“裙边”——功率谱密度偏离载频的分布。我习惯这么记:近端噪声看PLL环路带宽内的VCO噪声和参考时钟噪声贡献,远端噪声看VCO自由振荡的底噪。
环路带宽内的相位噪声
环路带宽以内的相噪,主要由鉴相器、电荷泵、参考时钟的噪声决定。带宽越窄,对VCO近端噪声的抑制越强,但参考时钟的近端噪声反而会被放大。这里有个经验公式:
S_phi(f) ≈ S_ref(f) · |N·H(f)|² + S_VCO(f) · |1-H(f)|²
其中 H(f) 是闭环传递函数。说白了,带宽内看参考和CP,带宽外看VCO自己。
环路带宽外的相位噪声
带宽以外,VCO的自由振荡相噪占主导。VCO的相噪通常符合一个-30dB/decade的斜率(由1/f³噪声)加上-20dB/decade(由热噪声)。我遇到过一颗VCO,本振在10kHz偏频处有个诡异的毛刺,查了半天发现是电源去耦电容没放对位置。嗯,电源走线产生的FM调制会直接加在VCO调谐端,形成非线性的相噪凸起。
| 偏频范围 | 主要噪声源 | 典型改善手段 |
|---|---|---|
| <1 kHz | 参考时钟相噪、1/f噪声 | 降低PFD噪声,选用低相噪晶振 |
| 1 kHz ~ 环路带宽 | 电荷泵、LPF电阻热噪声 | 优化CP电流,减小LPF电阻 |
| 环路带宽 ~ 100 kHz | VCO自由振荡相噪 | 提高VCO Q值,降低Kvco增益 |
| >1 MHz | 缓冲器、输出级噪声 | 增加后置滤波器,优化输出驱动 |
2.2 锁定时间:快与稳的取舍
锁定时间指的是PLL从频率跳变或重新使能后,输出频率稳定到目标频率一定误差范围内所需的时间。典型的锁定过程分为两个阶段:频率牵引和相位锁定。
- 频率牵引阶段:电荷泵大电流充放电,VCO频率快速向目标接近。这时候环路处于非线性状态,锁频时间主要由VCO的调谐斜率和电荷泵电流决定。
- 相位锁定阶段:进入线性区,小信号逐渐收敛。锁相时间由环路带宽ω_c决定,通常需要4~5个时间常数(τ = 1/ω_c)才能达到千分之几的频率精度。
我曾经做一个Wifi FEM的PLL,要求锁定时间小于5μs。刚开始环路带宽设得太窄(50kHz),锁了快20μs。后来咬牙把带宽放宽到200kHz,锁定时长压缩到3μs,但代价是带内相噪增加了3dB。你看,这就是典型的trade-off。
估算锁定时间的一个简单方法:
t_lock ≈ (1 / ω_c) × ln(F_step / ΔF_tol)
其中F_step是频率跳变步长,ΔF_tol是允许的频率误差。举个例子,100kHz的环路带宽,跳变10MHz,允许1kHz误差,
t_lock ≈ 1/(2π×100k) × ln(10M/1k) ≈ 1.59μs × 9.21 ≈ 14.6μs
这只是一个粗估值,实际还要考虑电荷泵电流、LPF零点位置等。
2.3 抖动:时域的“钟摆”不稳
抖动是相位噪声在时域的直接体现。简单说,就是时钟周期的边沿相对理想位置的随机偏移。分为周期抖动(Period Jitter)、周期到周期抖动(Cycle-to-Cycle Jitter)、和长时间累积抖动(Long-Term Jitter)。
- 周期抖动:每个周期长度的标准差。对PLL来说,主要受带衰减和VCO带外噪声影响。
- 周期到周期抖动:相邻周期长度差的RMS值。这个指标对高速串行接口很关键,因为它直接决定眼图的张开高度。
- 累积抖动:经过N个周期后,边沿位置相对于理想位置的漂移。低频相噪和参考时钟的漂移贡献最大。
抖动的频域 ↔ 时域换算
相位噪声谱和抖动的RMS值可以通过积分换算:
J_rms (s) = (1 / (2π·f_out)) × √(2 × ∫_{f1}^{f2} L(f) df)
其中L(f)是单边带相位噪声(dBc/Hz),积分区间通常取1kHz~20MHz(取决于应用)。我习惯在Matlab里写个积分脚本,仿真完相噪曲线直接拉抖动值,比手动算快多了。
三者关系:一张图说明
下面这张图把三个参数在PLL环路中的互锁关系画出来了。你看,环路带宽是核心枢纽——调带宽,相噪、锁定时间、抖动都得跟着动。
你看,带宽窄的时候,VCO的带内相噪被抑制得很好,但锁定时间拉长,同时VCO的带外噪声会直接变成累积抖动的来源。带宽宽的时候,锁得快,但带内参考相噪和CP噪声反而会进来,让相噪变差。我在一个项目中把带宽从100kHz调到200kHz,锁定时间从20μs降到10μs,但相噪在10kHz偏频处抬高了约3.5dB。除非系统对锁定时间有硬指标,否则我一般不推荐把带宽推过参考频率的1/10。
我曾经犯过一个错误:为了搞定锁定时间,把环路带宽提到300kHz,结果参考时钟的杂散(60Hz倍频)跟着混进来,在输出频谱上冒出好几个毛刺。后来老老实实降回150kHz,再加了个有源LPF的零点补偿,才把毛刺推平。所以,参数调优别光盯着仿真,上板测一测,才知道实际寄生和电源纹波有多“热情”。