2. PLL系统级架构与指标定义
在进入晶体管级设计之前,必须先回答一个系统级问题:这颗PLL到底要“长成什么样”。架构决定了分频方式、杂散来源和噪声整形手段;指标决定了环路带宽、相位裕度、锁定时间与抖动之间的取舍边界。本节围绕整数分频与小数分频两条主线,把架构选择、指标定义与Virtuoso行为级建模串成一条可执行的路径。
一、整数分频与小数分频:两种架构的本质差异
整数分频PLL的反馈分频比N为整数,输出频率只能是参考频率的整数倍,即 fout = N·fref。它的优点是结构简单、无量化噪声、参考杂散位置固定且易于滤波;缺点是频率分辨率等于fref,若想获得细步进就必须降低参考频率,而这会同时压缩环路带宽、恶化锁定时间与带内噪声。
小数分频PLL通过双模分频器在N与N+1之间切换,用时间平均实现非整数分频比N.F。例如参考频率fref=20 MHz,目标输出fout=2401.2 MHz,则分频比N.F=120.06。小数部分由Σ-Δ调制器(SDM)产生,把量化误差整形到高频,再由环路低通滤除。代价是引入了小数杂散与更高的带内噪声底,需要更精细的环路带宽与SDM阶数配合。
选择依据可以归纳为:若系统允许参考频率等于信道间隔,优先整数分频;若要求细步进同时保持高参考频率(低噪声、快锁定),则必须采用小数分频,并接受SDM带来的噪声与杂散代价。
二、环路带宽与相位裕度:稳定性的两个锚点
环路带宽fc(单位增益频率)决定了PLL对噪声的“分水岭”:低于fc的参考、分频器与电荷泵噪声被抑制,高于fc的VCO噪声被抑制。因此fc通常取在参考杂散与VCO噪声的交汇点附近,工程上常取fref/10~fref/20。带宽越宽,锁定越快,但参考杂散与SDM量化噪声抑制越弱。
相位裕度PM定义为环路增益穿越0 dB时,相位距-180°的余量。PM过小(<45°)会导致阶跃响应出现明显过冲与振铃,锁定时间反而变长;PM过大(>70°)则响应迟缓。典型设计目标为PM=55°~65°,对应二阶环路阻尼系数ζ≈0.7~0.9。
对于三阶无源环路滤波器(含一个极点对消零点),可用以下关系快速估算:设电荷泵电流ICP、VCO增益KVCO、分频比N,则fc≈(ICP·KVCO·R)/(2πN),零点fz=1/(2πRC1),第三极点fp3=1/(2πR3C3)。设计时先定fc与PM,再反推R、C1、C2、R3、C3。
三、锁定时间、抖动与杂散:三个必须同时看的指标
锁定时间tlock通常定义为频率误差进入目标频率±Δf窗口并保持所需的时间。对二阶环路,tlock≈-ln(ε·√(1-ζ²))/(ζ·ωn),其中ε为归一化频率误差。例如ζ=0.7、fc=1 MHz、要求误差<0.1 ppm,则tlock约为数微秒量级。注意:小数分频PLL的SDM会引入额外的低频噪声,实际锁定时间可能比理论值长。
抖动分为确定性抖动(DJ)与随机抖动(RJ)。参考杂散、电源耦合、SDM杂散属于DJ;热噪声与闪烁噪声属于RJ。积分相位抖动(RMS jitter)需在指定带宽内积分相位噪声谱密度L(f):σφ²=2∫f1f210L(f)/10df。工程上常用fs/2或10 MHz作为积分上限,下限取1 kHz或10 kHz。
杂散指标主要看参考杂散与小数杂散。参考杂散由PFD/CP的非理想(如电流失配、死区)引起,位于fref整数倍;小数杂散由SDM量化噪声与DAC失配引起,位于fref的分数倍附近。抑制手段包括:提高CP匹配度、增加环路滤波阶数、采用高阶SDM配合DAC校准。
四、在Virtuoso中搭建行为级模型
行为级建模的目的是在晶体管设计之前快速验证架构与指标。在Virtuoso中可用Verilog-A或Spectre行为模型实现。推荐流程如下:
- 用Verilog-A编写PFD/CP模型:输出电流与相位差成正比,可加入死区与失配参数。
- 用理想元件搭建环路滤波器:R、C、C2、R3、C3,先按计算值设置。
- VCO用受控振荡器模型:频率=KVCO·Vctrl,可加入1/f噪声与白噪声源。
- 分频器用Verilog-A计数器实现,整数分频直接÷N;小数分频加入SDM模块,用一阶或三阶MASH结构。
- 用Spectre的PSS+Pnoise分析相位噪声,用tran分析锁定时间与阶跃响应。
一个可复用的Verilog-A分频器核心片段如下:
`include "constants.vams"
`include "disciplines.vams"
module divider(in, out);
input in; voltage in;
output out; voltage out;
parameter integer N = 100;
integer count;
real vout;
analog begin
@(initial_step) count = 0;
@(cross(V(in) - 0.5, +1)) begin
count = count + 1;
if (count >= N) begin
count = 0;
vout = (vout > 0.5) ? 0.0 : 1.0;
end
end
V(out) <+ transition(vout, 0, 1e-12);
end
endmodule
仿真时重点观察:VCO控制电压的建立过程(判断锁定时间)、PFD输出的脉冲宽度(判断死区与失配)、相位噪声谱在fc附近的拐点(判断带宽与PM是否合理)。若相位噪声在带内出现明显凸起,通常是CP电流失配或SDM阶数不足;若阶跃响应过冲严重,则需增大PM或降低fc。
最后给出一个可填写的指标规划表,用于在行为级仿真前明确设计目标:
| 指标 | 符号 | 示例目标值 | 约束来源 |
|---|---|---|---|
| 输出频率 | fout | 2401.2 MHz | 系统信道规划 |
| 参考频率 | fref | 20 MHz | 晶振可用性 |
| 分频比 | N.F | 120.06 | fout/fref |
| 环路带宽 | fc | 1.0 MHz | fref/20,噪声折中 |
| 相位裕度 | PM | 60° | 稳定性与响应速度 |
| 锁定时间 | tlock | <10 μs | 跳频协议要求 |
| 积分抖动 | σφ | <1 ps RMS | ADC采样时钟需求 |
| 参考杂散 | Spurref | <-70 dBc | 接收机阻塞指标 |
把这张表填完,再进入Virtuoso行为级仿真,就能把“架构选择—指标定义—仿真验证”串成闭环。整数与小数分频的取舍、带宽与PM的折中、锁定时间与抖动的平衡,最终都体现在这张表的数值上。