Banerjee PLL附加主题
本文基于 Dean Banerjee PLL Performance Simulation and Design 深度解析 第 32-35 章提炼,涵盖 PLL 系统中的锁定检测、阻抗匹配、晶振/VCO 设计以及其他工程实践问题。
前后关系
前置知识:
- Banerjee PLL基础与系统概述 — PLL 基本操作
- 振荡器设计与相位噪声 — VCO 和晶振的相位噪声基础
本书内部链条:
- Ch.32-35(本文)= 全书的工程实务补充,将前 31 章的理论落实到 PCB 级设计
- ← Ch.11 (杂散) + Ch.14-15 (相位噪声) 的工程实现考虑
Ch.32: Lock Detect Circuit Construction and Analysis
锁定检测的重要性
锁定检测电路用于指示 PLL 是否已锁定到目标频率,在无线通信中系统只有在 PLL 锁定后才能开始收发数据。
模拟锁定检测
- 监测 PFD 输出的校正脉冲宽度
- 当脉冲宽度低于某阈值 → 认为锁定
- 优点:响应速度快( 个参考周期即可判定)
- 缺点:阈值设定困难,可能误判;对噪声敏感
积分器式模拟锁定检测
- 使用 RC 积分器对 PFD 输出脉冲进行积分
- 锁定阈值: 持续 → 判定锁定
- 时间常数 决定响应速度与抗噪能力的折衷
窗口比较器式
- 使用两个比较器设定 和 窗口
- PFD 脉冲幅度落在窗口内 → 认为已锁定
- 窗口宽度 决定锁定精度
数字锁定检测
- 定时器窗口法:在指定窗口内检测 PFD 输出的脉冲数量
- 窗口内无超过阈值的校正脉冲 → 认为锁定
- 优点:可靠性高、可编程、温度稳定性好
- 缺点:响应时间取决于窗口大小( 个参考周期)
计数器式数字锁定检测
- 启动窗口定时器()
- 窗口内对 PFD 输出的校正脉冲(UP/DOWN)计数
- 若计数值 → 判定锁定
- 否则 → 判定失锁,重置定时器
典型参数:,
窗口计数式
- 使用两个独立的计数器:一个计数参考周期数,另一个计数校正脉冲数
- 在 个参考周期内累计校正脉冲数 → 锁定
- 可编程的窗口长度和计数阈值提供灵活的抗噪能力
失锁检测
- 检测 PFD 输出持续高电平/低电平
- 用于触发系统级切换(如切换到备份 PLL)
- 典型响应时间: 个参考周期
锁定/失锁判定阈值
判定阈值的选择需要在误报(过早判定锁定)和延迟(实际已锁定但未判定)之间平衡。
| 参数 | 小阈值 | 大阈值 |
|---|---|---|
| 窗口长度 | 响应快,但误判率高 | 响应慢,但判定可靠 |
| 脉冲计数阈值 | 容易判定锁定(低误报率) | 难判定锁定(可能漏判) |
| 单脉冲宽度阈值 | 对噪声敏感 | 对微弱锁定信号不敏感 |
工程建议:
- 锁定检测使用较宽松的阈值 + 较长的确认时间(避免误报)
- 失锁检测使用较严格的阈值 + 较短的检测时间(快速响应)
- 两级锁定检测:粗判(快速)+ 精判(确认)
PLL 芯片锁定检测实现差异
| PLL 芯片 | 锁定检测类型 | 典型锁定时间 | 特点 |
|---|---|---|---|
| LMX2306 | 模拟 | s | 简单、响应快 |
| LMX2315 | 数字(计数器式) | s | 可靠、可编程 |
| LMX2325 | 数字(窗口式) | s | 抗噪强 |
| LMX2541 | 双模式(模拟+数字) | s | 两级判决,综合最优 |
锁定检测的检测概率与虚警概率分析
在实际系统中,锁定检测电路需要在噪声环境中做出锁定/失锁判定,涉及 检测概率(,Probability of Detection) 和 虚警概率(,Probability of False Alarm) 之间的根本权衡。
基本模型
考虑数字窗口计数器式锁定检测:设窗口长度为 个参考周期(),阈值计数为 。在每个参考周期内,PFD 产生校正脉冲的概率取决于相位误差 和噪声 。
每个参考周期内,校正脉冲出现(新相位误差 > 死区)的概率:
其中 是 PLL 中的累积噪声, 为等效死区。在锁定状态下,, 仅由噪声决定。
窗口计数器的统计判决
在 个参考周期内,校正脉冲计数 服从二项分布:
- 锁定判定条件: → 判定锁定
- 失锁判定条件: → 判定失锁
检测概率 和虚警概率
虚警概率(实际未锁定但判定锁定):
其中 是未锁状态下每周期出现校正脉冲的概率(通常接近 1,因相位误差大)。
检测概率(实际已锁定且判定锁定):
其中 是锁定状态下每周期出现校正脉冲的概率(通常很小,仅由噪声+死区导致)。
阈值优化
给定目标 和 ,最优阈值 由下式确定:
典型设计参数与性能:
| 16 | 2 | 0.01 | 0.95 | ||
| 16 | 3 | 0.01 | 0.95 | ||
| 32 | 2 | 0.01 | 0.95 | ||
| 32 | 4 | 0.01 | 0.95 | ||
| 64 | 4 | 0.01 | 0.95 |
工程规则:
- 窗口长度 每翻倍, 在相同 下提高约 10 倍
- 阈值 增加 1, 典型改善 5-10 倍,但 也会略降
- 设计推荐:、 作为起始点,根据系统需求迭代调整
噪声对 / 的影响
锁定状态下,PLL 的带内相位噪声直接影响 :
其中 为 RMS 相位抖动(rad)。 增大 → 增大 → 降低(更多噪声脉冲被误判为失锁)。
| 带内相噪 | (M=32, N_th=2) | 建议 | |
|---|---|---|---|
| rad | 极可靠 | ||
| rad | 良好 | ||
| rad | 需增大 M 至 64 | ||
| rad | 需重新设计 PLL(相噪过大) |
自适应阈值锁定检测
固定阈值 在高噪声条件下可能无法同时满足 和 要求。自适应阈值算法通过实时监测带内相位噪声调整判定参数:
自适应 算法:
- 在 PLL 锁定稳定后的 个参考周期内,统计校正脉冲计数的运行均值 和标准差
- 设定自适应阈值:,其中 为安全系数(典型 )
- 当 增大导致 上升时, 自动升高以维持恒定的
- 长期跟踪滤波器:,
自适应 窗口:
- 低噪声条件( rad):减小 至 16,加快锁定判定速度
- 中等噪声条件( rad):,标准配置
- 高噪声条件( rad):增大 至 64 或 128,提高判定可靠性
不同无线标准对锁定检测的要求
| 无线标准 | 最大允许锁定检测时间 | 典型 要求 | 典型 要求 | 推荐 |
|---|---|---|---|---|
| GSM | s(时隙切换) | 32/3(快速跳频) | ||
| WCDMA | s(频率切换) | 64/4(高可靠性) | ||
| LTE | s(SC-FDMA 跳频) | 32/4(平衡) | ||
| WLAN 802.11ac | s(极快跳频) | 16/2(速度优先) | ||
| Bluetooth LE | s(跳频) | 16/3(低功耗) |
工程规则:
- GSM/WLAN 类时隙敏感系统需要极快的锁定检测( s),可接受较低的 以换取速度
- WCDMA/LTE 类连续通信系统对可靠性要求更高,可忍受较长的检测时间
- 自适应方案的 和 随信道条件动态调整,可在 2-3 个参考周期内完成切换
锁定检测的 FPGA/数字验证实现
在 FPGA 原型验证中,锁定检测电路通常用计数器实现。以下是完整的工程设计方法。
数字计数器基本结构
参考时钟(F_comp)──→ [窗口计数器] ──→ k
校正脉冲 ↑ │
(PFD输出) ─────────────┘ ▼
[比较器] ──→ Lock/Unlock Flag
↑
阈值 N_th(可编程)
计数器位宽计算:
- 窗口计数器: bit
- 脉冲计数器: bit
- 阈值寄存器: bit
| (最大窗口长度) | 计数器位宽 | 硬件资源(LUT+FF) |
|---|---|---|
| 16 | 4 bit | |
| 32 | 5 bit | |
| 64 | 6 bit | |
| 256 | 8 bit | |
| 1024 | 10 bit |
阈值可编程接口设计
阈值 应通过 SPI/I2C 寄存器可编程,寄存器格式:
Bit [7:6]: 保留
Bit [5:3]: 窗口选择(000=M=16, 001=M=32, ..., 111=M=1024)
Bit [2:0]: 阈值偏移(000=默认, 001=+1, 010=+2, ..., 111=+7)
默认值选择:(在速度和可靠性间取得平衡)
滞后(Hysteresis)设计
为防止锁定/失锁状态在阈值附近振荡,设计两级滞后阈值:
| 滞后类型 | 效果 | ||
|---|---|---|---|
| 无滞后 | 2 | 2 | 频繁切换(抖动 即翻转) |
| 小滞后 | 1 | 3 | 减少 的无效翻转 |
| 大滞后 | 0 | 4 | 稳定但失锁检测延迟 s |
推荐配置:, ,滞后窗口 。
锁定检测时间预算
| 组件 | 时间 | 影响因素 |
|---|---|---|
| 窗口计数器 | 窗口长度(可编程) | |
| 数字滤波(去毛刺) | 时钟周期 | 时钟速率 |
| 标志传播 | 时钟周期 | 寄存器输出延迟 |
实例: kHz, → s
锁定检测电路的仿真验证方法
Banerjee Ch.32 的锁定检测分析以电路结构和概率理论为主。以下补充锁定检测电路的仿真验证方法,涵盖模拟锁定检测( 窗口比较器)和数字锁定检测(边沿计数)的仿真建模与验证。
模拟锁定检测( 窗口比较器)的仿真
仿真原理:模拟锁定检测器通过比较 电压是否在参考电压 范围内判定锁定。 是锁定状态下 的稳态值。
// 模拟锁定检测器仿真电路
% 窗口比较器模型
Vref_H (ref_hi 0) vsource dc=Vref+deltaV
Vref_L (ref_lo 0) vsource dc=Vref-deltaV
% 比较器(OpenSta Irwin 模型)
Xcomp_H (vtune ref_hi lock_hi) comparator model=ideal
Xcomp_L (vtune ref_lo lock_lo) comparator model=ideal
% 锁定输出 = (Vtune < Vref_H) & (Vtune > Vref_L)
Elock (lock_out 0) <+ V(lock_hi) & ~V(lock_lo)
% 瞬态仿真:观察锁定标志与 Vtune 的关系
.tran tstop=5000/Fc锁定判据验证脚本:
# Python:从 Vtune 瞬态仿真数据提取锁定检测时间
def detect_lock_sim(t, vtune, Fc, Kphi, Kvco, N):
"""
从 Vtune 波形提取锁定检测时间
"""
# Vtune 稳态值
vtune_final = np.mean(vtune[-int(100/Fc/dt):])
# 窗口宽度设置(基于相位误差 ±1° 对应的 Vtune 波动)
deltaV = Kphi * Kvco / (N * 2 * np.pi * Fc) * (np.pi / 180)
# 锁定检测:Vtune 首次进入 [vtune_final - deltaV, vtune_final + deltaV]
# 且后续不再逃逸(去毛刺处理)
in_window = (vtune >= vtune_final - deltaV) & (vtune <= vtune_final + deltaV)
# 去毛刺:连续 M 个采样点均判定锁定才确认为真锁定
M = int(Fcomp / Fc * 5) # 5 个参考周期
lock_mask = np.zeros_like(t, dtype=bool)
for i in range(M, len(t)):
if np.all(in_window[i-M:i]):
lock_mask[i:] = True
break
lock_time = t[np.where(lock_mask)[0][0]] if np.any(lock_mask) else None
return lock_time, deltaV数字锁定检测(边沿计数)的仿真
仿真原理:数字锁定检测器通过统计 个参考周期内的 PFD 输出脉冲宽度之和,若总和 则判定锁定。
// 数字锁定检测器 Verilog-A 模型
module digital_lock_detect(clk_ref, clk_div, rst, lock_out);
input clk_ref, clk_div, rst;
output lock_out;
electrical clk_ref, clk_div, rst, lock_out;
parameter integer M = 16; % 观测窗口长度(参考周期数)
parameter real theta_th = 0.05; % 锁定相位门限(UI)
integer pulse_sum;
real phi_error;
integer edge_count;
analog begin
// 相位误差检测
@(cross(V(clk_ref) - Vdd/2, 1))
phi_error = 0;
@(cross(V(clk_div) - Vdd/2, 1)) begin
phi_error = $abstime - t_ref_last;
// 相位误差 > 2π → Cycle Slip,跳过(不计入)
if (phi_error < 1.5/Fcomp) begin
pulse_sum = pulse_sum + phi_error;
end
end
// M 周期窗口统计
@(cross(V(clk_ref) - Vdd/2, 1)) begin
edge_count = edge_count + 1;
if (edge_count >= M) begin
// 判定锁定
if (pulse_sum / M < theta_th / Fcomp)
V(lock_out) <+ Vdd; % 锁定
else
V(lock_out) <+ 0; % 未锁定
// 重置
edge_count = 0;
pulse_sum = 0;
end
end
@(cross(V(rst) - Vdd/2, 1)) begin
edge_count = 0;
pulse_sum = 0;
V(lock_out) <+ 0;
end
end
endmodule锁定检测概率的 Monte Carlo 仿真
锁定检测电路存在两个关键概率指标——检测概率 (锁定正确检测概率)和虚警概率 (未锁定时误报锁定概率)。
Monte Carlo 仿真设置:
| 仿真角 | 噪声幅度(Vtune 抖动 RMS) | 预期 | |
|---|---|---|---|
| 无噪声理想 | 0 | ||
| 低噪声 | |||
| 中噪声 | |||
| 高噪声 |
; 锁定检测概率 Monte Carlo
mc_runs = 1000
P_D_count = 0
P_FA_count = 0
for(i 0 mc_runs-1
% 随机生成不同的噪声种子
desVar("noise_seed" i)
% 运行瞬态仿真
tranScript("tran_lock_detect")
% 提取锁定检测结果(锁定状态已知)
lock_detected = getLockDetectResult()
lock_actual = getTrueLockState()
if(lock_actual == 1 && lock_detected == 1)
P_D_count++
if(lock_actual == 0 && lock_detected == 1)
P_FA_count++
)
printf("P_D = %.1f\n" P_FA_count/mc_runs*100)锁定检测仿真验证清单
| 验证项 | 仿真方法 | 通过标准 |
|---|---|---|
| 检测延迟 | 瞬态 → 锁定标志时间 vs 进入窗口时间 | |
| 抗噪声能力 | Monte Carlo → , | , |
| PVT 鲁棒性 | 3 工艺角 × 3 温度 = 9 组仿真 | 全部温度/电压角通过 |
| 窗口 $ olerance | 改变 参数 → 观察 权衡曲线 | 选择在 与 的交集 |
Ch.33: Impedance Matching Issues and Techniques for PLLs
PLL 输入阻抗特性
PLL 的参考输入和 RF 输入具有特定的输入阻抗特性(通常是高阻抗或 50Ω)。
参考输入阻抗
- 典型的 PLL 参考输入阻抗:,
- 低频段( MHz):以高阻容性为主,匹配要求较低
- 高频段( MHz):需要考虑传输线效应,需匹配至 50Ω
RF 输入阻抗(RF_IN)
- 通常设计为 50Ω(与射频前端匹配)
- 实际阻抗受封装和片内 ESD 结构影响,频率相关
- 数据手册中通常提供 Smith 圆图或 S11 参数
50Ω 匹配
- 当 PLL 输入与信号源之间需要长传输线时,阻抗匹配至关重要
- 不匹配将导致反射、降低信号幅度、引入噪声
- 匹配目标: dB(典型), dB(严格)
匹配网络设计方程
L 型匹配网络(最简单):
- 若 :串联电感 + 并联电容
g_m > \frac{4 \cdot (2\pi f_0)^2 \cdot C_L^2 \cdot R_s}{1 + (2\pi f_0 \cdot C_L \cdot R_s)^2} \approx 4 \cdot (2\pi f_0)^2 \cdot C_L^2 \cdot R_s \quad (\text{当 } f_0 C_L R_s \ll 1)
其中 $C_L = C_1 \cdot C_2 / (C_1 + C_2) + C_{stray}$ 为负载电容,$R_s$ 为晶体的等效串联电阻。 **负载电容对频率的影响**(晶体牵引公式):\frac{\Delta f}{f_0} = \frac{C_m}{2(C_0 + C_L)} \cdot \frac{C_L - C_{L,\text{nom}}}{C_L} \quad [\text{ppm}]
其中 $C_m$ 为晶体的动生电容(motional capacitance),$C_0$ 为静电容,$C_{L,\text{nom}}$ 为标称负载电容。 **实例**:$C_m = 10\ \text{fF}$,$C_0 = 3\ \text{pF}$,$C_L = 12\ \text{pF}$,改变 $C_L$ 至 $15\ \text{pF}$ 可牵引频率 $\Delta f \approx +15$ ppm。 | 参数 | 典型值 | 对振荡器的影响 | |------|-------|-------------| | 负载电容 $C_L$ | $10-20$ pF | 决定振荡频率准确度 | | 反馈电阻 $R_f$ | $1-10$ MΩ | 过小→不振荡,过大→起振慢 | | 驱动电平 | $1-100$ μW | 过大会导致晶体老化加速 | | 等效串联电阻 $R_s$ | $10-100$ Ω | 决定起振裕量 | #### Overtone 振荡器 - 基频晶体的泛音工作模式(3rd/5th overtone) - 需要额外的 LC 谐振回路选择正确泛音 **LC 选频网络设计**: - 3rd overtone:串联 LC 谐振在基频和 3rd 之间(如 $10\text{MHz}$ 基频 → $30\text{MHz}$ 3rd overtone),将基频信号短路到地 - LC 谐振频率:$f_{LC} = 1/(2\pi\sqrt{L \cdot C})$,设定在 $\sim 1.5\times$ 基频和 $0.8\times$ overtone 之间 - 典型 Q 值要求:$Q_{LC} > 10$(陶瓷电容 + 绕线电感足够) #### Clapp 振荡器 - 串联型晶振拓扑,频率稳定性更好 - 适合对频率准确度要求严格的应用 - 与 Pierce 的主要区别:晶体与电容构成串联谐振,而非并联谐振 **设计方程**:f_{osc} = \frac{1}{2\pi} \sqrt{\frac{1}{L_m \cdot C_m} \cdot \frac{C_0 + C_3}{C_0 + C_3 + C_m} + \frac{1}{L \cdot (C_1 + C_3)}}
其中 $C_3$ 为串联电容,$C_1$ 为并联电容。 ### 参考晶振选择指南 #### 晶振类型对比 | 类型 | 频率稳定度 | 相位噪声 @ 10kHz | 成本 | 适用场景 | |------|----------|-----------------|------|---------| | 普通石英(AT-Cut) | $\pm 20$ ppm | $-145$ dBc/Hz | 低 | 消费电子、通用 PLL | | TCXO | $\pm 1-3$ ppm | $-140$ dBc/Hz | 中 | 移动通信、GPS | | OCXO | $\pm 0.1-0.5$ ppm | $-155$ dBc/Hz | 高 | 基站、测试设备 | | VCXO | 牵引 $\pm 100$ ppm | $-140$ dBc/Hz | 中 | 抖动衰减器、网络同步 | | MEMS 振荡器 | $\pm 50$ ppm | $-130$ dBc/Hz | 低 | 成本敏感、小尺寸 | #### 晶振选择对 PLL 相位噪声的影响 参考晶振的相位噪声是 PLL 带内噪声的底板:L_{\text{out,in-band}}(f) \approx L_{\text{xtal}}(f) + 20\log(N) \quad [\text{dBc/Hz}]
**实例**:$N = 4000$($F_{out}=2\text{GHz}$,$F_{comp}=500\text{kHz}$),各晶振的带内噪声贡献: | 晶振 | $L_{\text{xtal}}(10\text{kHz})$ | 带内 $L_{\text{out}}(10\text{kHz})$ | PLL 适用性 | |------|-------------------------------|-----------------------------------|-----------| | AT-Cut | $-145$ dBc/Hz | $-145 + 72 = -73$ dBc/Hz | 噪声不重要时可用 | | TCXO | $-140$ dBc/Hz | $-68$ dBc/Hz | 对噪声要求不高时 | | OCXO | $-155$ dBc/Hz | $-83$ dBc/Hz | **最优选择** | **规则**:晶振的相位噪声(加上 $20\log(N)$ 后)应至少低于目标带内噪声 $10$ dB,以使晶振贡献不成为瓶颈。 ### VCO 设计 #### VCO 基本参数 | 参数 | 描述 | 对系统影响 | |------|------|-----------| | 调谐范围(Tuning Range) | VCO 可覆盖的频率范围 | 决定了 PLL 的工作频段 | | VCO 增益(K<sub>vco</sub>) | 频率/电压转换增益 | 直接影响 PLL 环路增益 | | 相位噪声 | 近载波/远载波噪声性能 | 影响系统 SNR | | 调谐线性度 | 频率-电压曲线 | 影响环路一致性 | | 推频(Pushing) | 电源电压变化引起的频率偏移 | 影响电源抑制 | | 拉频(Pulling) | 负载阻抗变化引起的频率偏移 | 影响输出匹配 | #### VCO 拓扑 - LC VCO:最常用,MOSFET 交叉耦合对 + 电感谐振腔 - 环形 VCO:宽调谐范围但相位噪声差 - 片上 VCO:集成方便但品质因素限 #### VCO 推频与拉频的定量分析 **推频(Pushing)**:VCO 输出频率对电源电压 $V_{DD}$ 变化的敏感度:K_{\text{pushing}} = \frac{\partial f_{\text{out}}}{\partial V_{DD}} \quad [\text{MHz/V}]
- 典型值:$10-100$ MHz/V(LC VCO),$> 100$ MHz/V(环形 VCO) - 对 PLL 的影响:电源噪声通过 VCO 推频转化为相位噪声 $$L_{\text{pushing}}(f) \approx \left(\frac{K_{\text{pushing}}}{f} \cdot V_{\text{noise,PS}}(f) \cdot |E(s)|\right)^2- 滤波器设计应对:增大 降低 VCO 调谐端的电源噪声耦合
拉频(Pulling):输出负载阻抗幅度/相位变化引起的频率偏移:
其中 为负载反射系数, 为 VCO 谐振腔 Q 值。
对环路滤波器设计的反馈影响:
- 推频大的 VCO 需要更严格的电源去耦(Ch.35 电源去耦)
- 拉频大的 VCO 需要输出缓冲器隔离( dB 隔离度)
- 推频/拉频影响 最小值的约束——需确保 约束下 VCO 频率漂移不超出信道间隔的
相位噪声测量
Banerjee 讨论使用频谱仪直接测量 VCO 相位噪声的方法和注意事项。
频谱仪直接测量法:
- 设置 RBW 足够小( 关心的偏移频率)
- 测量载波功率 (dBm)
- 在偏移 处测量噪声功率 (dBm)
- dB(校正因子)
校正因子说明: dB 用于修正 RBW 滤波器的等效噪声带宽(典型高斯滤波器 dB)和频谱仪检波器对数平均的统计偏差。
测量限制:
- 频谱仪的相位噪声本底限制了可测量的最低噪声电平
- 近载波测量( kHz)需使用相噪测试仪或鉴相器法
晶振启动瞬态分析
晶振启动时间是系统级设计中常被忽略但重要的参数,影响 PLL 上电后到可用的总时间预算。
晶振启动时间常数:
其中 为晶振的负载品质因数(loaded Q), 为谐振频率。
启动时间定量估算:
| 晶振频率 | 典型 | 95% 幅度建立时间() | |
|---|---|---|---|
| 10 MHz | ms | ms | |
| 50 MHz | ms | ms | |
| 100 MHz | ms | s |
影响启动时间的因素:
- 反馈电阻 : 越小,负阻越大,启动越快但功耗增加
- 负载电容 : 越大,启动越慢(因等效 升高)
- 驱动电平:过驱动可加速启动但会加速晶体老化
- 温度:低温下晶体 ESR 增大,启动时间延长
系统设计考虑:
- 晶振启动时间应计入 PLL 总锁定时间预算()
- 对于快速跳频系统( s 要求),晶振应保持常开不关断
- 片内振荡器通常启动更快( 值低、 可调),但相位噪声较差
晶体老化模型与寿命估计
晶体老化是频率参考长期漂移的主要来源,影响 PLL 的频率准确度和系统寿命。Banerjee 在 Ch.34 中讨论了晶体老化的工程考虑。
晶体老化经验模型
晶体频率随时间的漂移遵循对数规律:
其中 为初始频率偏差(出厂校准后残余), 为老化速率常数(ppm/decade), 为时间常数。
不同晶体切型的老化特性:
| 晶体切型 | 典型 (ppm/decade) | 10 年总漂移 | 初始 | 用途 |
|---|---|---|---|---|
| AT-Cut(基频) | ppm | ppm | 通用频率参考 | |
| AT-Cut(泛音) | ppm | ppm | 高频参考 | |
| SC-Cut | ppm | ppm | 高稳 OCXO | |
| IT-Cut | ppm | ppm | 中间精度 | |
| MEMS | ppm | ppm | 消费级 |
驱动电平与老化率的关系
晶体老化加速度与驱动电平的平方成正比:
其中 为标称驱动电平(典型 W)。
驱动电平对老化率的定量影响:
| 驱动电平 | 相对老化率 | 10 年漂移(AT-Cut) | 适用场景 |
|---|---|---|---|
| W(保守) | ppm | 高可靠性应用 | |
| W(标准) | (基准) | ppm | 通用设计 |
| W(偏大) | ppm | 快速起振优先 | |
| W(危险) | ppm | ⚠️ 可能加速失效 |
驱动电平的测量方法:串联一个 采样电阻,用示波器测量 ,则 。
寿命估计方法
基于加速老化测试数据推算 25°C 下的长期漂移:
- 高温加速测试:在 C 下测量 小时的频率漂移
- Arrhenius 加速模型:
- 等效寿命:
| 测试温度 | 激活能 | 加速因子 | 1000h 测试等效 25°C 时间 |
|---|---|---|---|
| C | eV | 年 | |
| C | eV | 年 | |
| C | eV | 年 |
工程规则:
- 驱动电平应控制在 W 以保证 年的频率稳定度
- 系统设计中的频率准确度预算应分配 ppm 给晶体老化(10 年周期)
- 对于 年寿命要求的系统(通信基站),使用 SC-Cut 晶体或定期校准
- 晶体的 可通过系统上电后的自校准消除(若 PLL 有频率计数功能)
VCO 相位噪声的 Leeson 模型参数拟合
Banerjee 在 Ch.34 中讨论了 VCO 相位噪声与 Leeson 模型的关系。实际 VCO 数据手册通常提供 曲线,可以通过 Leeson 模型反推 VCO 的核心参数。
Leeson 模型:
其中 为载波频率, 为谐振腔 Q 值, 为有源器件噪声系数, 为信号功率, 为 噪声拐角频率。
从数据手册 反推 Leeson 参数:
- 在 区域选点: 和 ,其中 且
- 计算 Q 值:
V_{comp}(t) = -\frac{K_{pushing}}{K_{vco}} \cdot V_{noise,PS}(t) \cdot \frac{1}{1 + s/\omega_{comp}}
其中 $\omega_{comp}$ 为补偿电路的带宽(应 $\gg \omega_c$ 以避免影响环路响应)。 **补偿电路结构**: 1. **电源纹波检测**:使用高通 RC 网络($\tau_{sense} \approx 1/(2\pi F_c)$)提取电源上的交流纹波 2. **反相放大**:增益 $A_{comp} = -K_{pushing}/K_{vco}$ 的运放级 3. **叠加注入**:经 C1 或其他隔离方式将补偿电压注入 VCO 调谐端 **补偿效果**: | 补偿方式 | 典型 $K_{pushing}$ 降低 | 实现复杂度 | 带宽限制 | |---------|---------------------|----------|---------| | 无补偿 | 基准($10\!-\!100$ MHz/V) | 无 | — | | RC 前馈 | $3\!-\!10\times$ 降低 | 低(RC 网络) | $> 1$ MHz | | 运放有源补偿 | $10\!-\!50\times$ 降低 | 中(需运放) | $> 100$ kHz(运放 GBW 限制) | | 数字补偿(ADC+DAC) | $20\!-\!100\times$ 降低 | 高 | $< 1$ MHz(ADC 采样率限制) | **设计注意**:补偿电路自身的噪声和延迟若控制不当,可能劣化整体相噪性能。补偿电路的噪声贡献需满足 $L_{comp,out} < L_{VCO,out} - 10$ dB。 #### VCO 输出缓冲器设计准则 VCO 输出缓冲器用于隔离 VCO 谐振腔与负载,减少 **拉频(Pulling)** 效应。 **缓冲器关键指标**: | 指标 | 要求 | 设计参数 | |------|------|---------| | 反向隔离度(Reverse Isolation) | $> 20$ dB | 共源共栅(Cascode)级数 $\geq 2$ | | 输出功率 | 满足后续级要求(典型 $0\!-\!+10$ dBm) | 偏置电流和负载匹配 | | 噪声系数(NF) | $< 6$ dB | 输入匹配和器件尺寸 | | 输入阻抗 | 高阻(不影响 VCO 谐振腔 Q 值) | $C_{in} < 50$ fF | **拉频对闭环稳定性的定量影响**: 负载反射系数 $\Gamma_L$ 变化导致 VCO 等效输出频率偏移:\Delta f_{pull} \approx \frac{f_0}{2Q_{tank}} \cdot |\Gamma_L| \cdot \sin(\theta_\Gamma)
当 $\Delta f_{pull}$ 与 VCO 调谐端电压波动叠加时,等效 $K_{vco}$ 有效值变为:K_{vco,eff} = K_{vco} \cdot \left(1 + \frac{\partial f_{pull}}{\partial V_{tune}} \cdot \frac{1}{K_{vco}}\right)
导致环路带宽和相位裕度偏离设计值: | $|\Gamma_L|$ | $\Delta F_c/F_c$ | $\Delta \phi$ | 影响严重程度 | |-------------|----------------|-------------|------------| | $< 0.1$ | $< 2\%$ | $< 1°$ | 可忽略 | | $0.1\!-\!0.3$ | $2\!-\!8\%$ | $1\!-\!3°$ | 设计时需预留预算 | | $> 0.3$ | $> 8\%$ | $> 3°$ | 必须加缓冲器 | **经验规则**:二级级联缓冲器提供 $> 30$ dB 隔离度、$< 0.1$ dB 插入损耗时,拉频效应可降低至可忽略水平($|\Gamma_{L,eff}| < 0.05$)。 #### VCO 多频段选择与切换 现代宽带 PLL 通过多个 VCO 频段(或单一 VCO 的电容阵列切换)覆盖宽频率范围。Banerjee 在 Ch.34 中讨论了频段选择算法对锁定时间和可靠性的影响。 **频段划分方法**: 将整个频率范围划分为 $K$ 个重叠频段,每个频段覆盖 $\Delta f_{band}$:f_{VCO,k} = f_{min} + k \cdot \Delta f_{band}, \quad k = 0, 1, \ldots, K-1
Overlap = \frac{f_{max,k} - f_{min,k+1}}{\Delta f_{band}} \times 100% \geq 15%
$15\%$ 的重叠率为工艺和温度变化($K_{vco}$ 偏移 $\pm 10\%$,温度 $\pm 5\%$)提供安全余量。 **频段选择算法**: 1. **顺序搜索(Sequential Search)**: - 从最低频段 $k=0$ 开始,设置 N 值为目标频率对应值 - 测量 VCO 调谐端电压:若 $V_{tune} > V_{DD}/2$(偏高)→ 切换到更高频段;若 $V_{tune}$ 在锁定范围内 → 锁定此频段 - 时间复杂度:$O(K)$,最坏需 $K$ 次尝试 2. **二分搜索(Binary Search)**: ``` k_low = 0, k_high = K-1 while (k_high - k_low > 1): k_mid = (k_low + k_high) / 2 设置频段 k_mid,初始化 Vtune = VDD/2 测量 VCO 输出频率 f_vco if f_vco > f_target: k_high = k_mid else: k_low = k_mid 最终频段 = k_low(或精调确定) ``` - 时间复杂度:$O(\log_2 K)$,仅需 $\log_2 K$ 次尝试 | 频段数 $K$ | 顺序搜索最大尝试次数 | 二分搜索最大尝试次数 | 节省比例 | |----------|-----------------|-----------------|--------| | 8 | 8 | 3 | $62.5\%$ | | 16 | 16 | 4 | $75\%$ | | 32 | 32 | 5 | $84.4\%$ | | 64 | 64 | 6 | $90.6\%$ | **频段切换瞬态**: 切换频段时,VCO 输出频率发生瞬变,需 PLL 重新捕获:f_{VCO,k} \rightarrow f_{VCO,k+1} \quad \Rightarrow \quad \Delta f_{switch} = \Delta f_{band} - Overlap
切换过程中的锁定时间由三部分组成: 1. **频段选择时间**:算法执行时间(二分搜索:$\sim 5\!-\!10$ $\mu$s) 2. **VCO 稳频时间**:VCO 振荡频率稳定到新频段($\sim 10\!-\!30$ $\mu$s) 3. **PLL 锁定时间**:环路重新锁定(取决于 $F_c$,$\sim 100$ $\mu$s $\!-\! 1$ ms) **工艺和温度对频段边界的漂移**: | 影响因素 | VCO 频率漂移 | 对频段边界影响 | 设计对策 | |---------|------------|-------------|--------| | 温度 $-40$ 至 $+85^\circ$C | $\pm 2\!-\!5\%$ | 边界偏移 $\pm 2\!-\!5\%$ | 增大重叠率至 $> 20\%$ | | 工艺角(FF/SS) | $\pm 5\!-\!10\%$ | 边界偏移 $\pm 5\!-\!10\%$ | 使用工艺补偿 | | 老化(10 年) | $\pm 1\!-\!2\%$ | 边界缓慢漂移 | 定期校准 | **经验工程规则**: 1. 频段数 $K$ 不宜过多($< 32$),否则二分搜索的初始锁定时间过长 2. 上电后应执行一次全频段校准,检测各频段的边界范围并存入查找表 3. 频段切换时保持 VCO 调谐端电压不变,减少电荷泵的瞬态冲击 4. 温度变化 $> 30^\circ$C 后建议重新校准频段边界 --- ## Ch.35: Other PLL Design and Performance Issues ### 电源去耦(Power Supply Decoupling) - PLL 对电源噪声极其敏感 - 多级去耦:大电容(10μF)+ 中电容(0.1μF)+ 小电容(100pF)组合 - 每个电源引脚单独去耦 - 使用铁氧体磁珠隔离数字和模拟电源 #### 去耦网络设计 **宽带去耦的设计原则**: 1. 大电容($10-100\ \mu$F,钽/电解)→ 抑制 $< 100$ kHz 的低频噪声 2. 中电容($0.01-0.1\ \mu$F,MLCC)→ 抑制 $100$ kHz - $10$ MHz 中频噪声 3. 小电容($100-1000$ pF,NP0)→ 抑制 $> 10$ MHz 的高频噪声 **去耦电容的布局规则**(按优先级): 1. 每个电源引脚放置 $0.1\ \mu$F + $100$ pF,紧贴引脚放置($< 2$ mm 走线) 2. 大电容($10\ \mu$F)在电源入口处放置 3. 磁珠($\sim 100\ \Omega @ 100$ MHz)串联在模拟/数字电源之间 4. VCO 的电源去耦需额外注意——VCO 推频效应使电源噪声直接调制输出 #### 电源纹波对 PLL 的定量影响 VCO 调谐端的电源纹波幅度:\Delta V_{\text{tune,PS}} = V_{\text{ripple}} \cdot \frac{Z_{\text{filter}}(f_{\text{ripple}})}{Z_{\text{filter}}(f_{\text{ripple}}) + Z_{\text{decoup}}(f_{\text{ripple}})}
目标:$\Delta V_{\text{tune,PS}} < \Delta V_{\text{max}}$(由杂散指标决定的调谐电压波动上限)。 ### PCB 布局 **关键布局规则**: 1. **分离数字和模拟区域**:避免数字噪声耦合到模拟路径 2. **短走线**:尤其是参考输入和 VCO 输出 3. **地平面完整**:尽量不分割地平面,提供低阻抗回流路径 4. **环路滤波器远离热源**:电容值对温度敏感 5. **敏感信号屏蔽**:参考输入用 GND 包围 #### 详细布局规则 | 规则 | 详细说明 | 违反的后果 | |------|---------|-----------| | 模拟/数字分板 | 使用独立的 PCB 区域,或至少 > 5mm 间距 | 数字噪声耦合 → 杂散恶化 $5-15$ dB | | 单点接地 | 模拟地和数字地通过磁珠/0Ω 电阻在单点连接 | 地回路 → 低频噪声耦合 | | 滤波器件放置 | 环路滤波器元件紧贴 PLL 引脚排列($< 5$ mm) | 寄生电容/电感改变滤波器响应 | | VCO 调谐线屏蔽 | 使用地线包围(guard ring),上下层铺地 | 杂散耦合 → 参考杂散恶化 | | 电源走线宽度 | 模拟电源走线 > 0.5 mm(按电流需求) | IR drop → 电压灵敏度恶化 | #### 微带线/带状线阻抗控制设计 PLL PCB 设计中,参考输入、VCO 输出等射频信号走线需控制特征阻抗(典型 50Ω)。以下是阻抗计算的工程公式。 **微带线(Microstrip)特征阻抗**:Z_0 = \frac{87}{\sqrt{\epsilon_r + 1.41}} \ln\left(\frac{5.98 \cdot H}{0.8 \cdot W + T}\right) \quad [\Omega]
其中 $H$ 为介质厚度(信号层到参考地平面),$W$ 为线宽,$T$ 为铜箔厚度,$\epsilon_r$ 为介电常数。 **50Ω 微带线线宽计算**($T=35$ $\mu$m, $\epsilon_r=4.5$(FR4)): | 介质厚度 $H$(内层) | 50Ω 线宽 $W$ | 单位长度电容 | 典型应用 | |-------------------|------------|-----------|--------| | 0.1 mm(4 层板) | $\sim 0.17$ mm | $\sim 105$ pF/m | 紧凑型设计 | | 0.2 mm(标准 4 层) | $\sim 0.35$ mm | $\sim 90$ pF/m | 通用设计 | | 0.5 mm(2 层板) | $\sim 0.9$ mm | $\sim 70$ pF/m | 低成本双面板 | | 1.0 mm(厚板) | $\sim 1.8$ mm | $\sim 55$ pF/m | RF 性能优先 | **带状线(Stripline)特征阻抗**(内层信号,上下均为地平面):Z_0 = \frac{60}{\sqrt{\epsilon_r}} \ln\left(\frac{4H}{0.67\pi \cdot W(0.8 + T/W)}\right) \quad [\Omega]
L_{via} \approx \frac{h}{5} \cdot \left(1 + \ln\left(\frac{4h}{d}\right)\right) \quad [\text{nH}]
其中 $h$ 为过孔长度(mm),$d$ 为过孔直径(mm)。 | 过孔参数 | 电感值 | 建议 | |---------|-------|------| | h=1.6mm, d=0.3mm | $\sim 1.2$ nH | 标准 FR4 通孔 | | h=0.8mm, d=0.2mm | $\sim 0.6$ nH | 薄板设计 | | 多个过孔并联 | $L_{total} = L_{via}/n$ | 每个 RF 地节点至少 4 个过孔 | **PLL 布局地过孔工程规则**: 1. 每个 VCO 调谐端接地参考点至少 4 个过孔(降低地回路电感) 2. 环路滤波器电容接地端距过孔 $< 1$ mm 3. 参考晶振输入走线两侧各一排地过孔(间距 $< \lambda/20$) 4. 不同电源域(PLL_VDD, VCO_VDD, 数字_VDD)之间使用 $> 0.5$ mm 隔离槽 **阻抗控制布局检查清单**: - [ ] 信号走线阻抗计算 & 与 PCB 厂确认叠层结构 - [ ] 微带线下无其他信号层横穿(保持完整地参考平面) - [ ] 差分信号(如差分 VCO 输出)优先级:等长 $>$ 等宽 $>$ 间距 - [ ] 过孔数满足 RF 接地需求($\geq 4$ per node) - [ ] 50Ω 走线转角使用 45° 或圆弧(避免 90° 直角导致的阻抗突变) ### EMI/EMC 考虑 - 屏蔽罩可以减少辐射和接收干扰 - 输出缓冲器减少 VCO 信号对外辐射 - 展频技术(Spread Spectrum)降低峰值 EMI #### EMI 辐射源抑制 | 辐射源 | 辐射机理 | 抑制方法 | 预期改善 | |-------|---------|---------|---------| | VCO 输出($> 1$ GHz) | 谐波辐射 | 输出缓冲器 + π 型滤波器 + 屏蔽罩 | $> 20$ dB | | 参考晶振($10-100$ MHz) | 基频 + 谐波 | 展频调制 + 布局远离 I/O 连接器 | $> 10$ dB | | 数字控制线(SPI/并行) | 边沿陡峭、谐波丰富 | 串联电阻(22-33 Ω)慢化边沿 | $> 6$ dB | | 电源走线 | 开关噪声传导发射 | 磁珠 + 多级去耦 + 电源平面 | $> 15$ dB | ### 温度补偿 - 电容温度系数(TCR)影响滤波器特性 → 选 NP0/C0G - VCO 温度漂移 → 通过 PLL 闭环自动补偿(但超出调谐范围时失锁) - 系统级温度监测与校准 #### 全温范围设计验证 | 温度点 | $F_c$ 变化(NP0 电容 + 薄膜电阻) | $F_c$ 变化(X7R 电容 + 厚膜电阻) | 相位裕度变化 | |-------|--------------------------------|--------------------------------|------------| | $-40°$C | $< \pm 0.5\%$ | $-10$ 至 $-15\%$(电容值下降) | $-2$ 至 $-5°$ | | $+25°$C | $0\%$(基准) | $0\%$(基准) | $0°$(基准) | | $+85°$C | $< \pm 0.5\%$ | $+10$ 至 $+15\%$(电容值上升) | $+1$ 至 $+3°$ | **工程建议**:全温范围仿真确保最坏情况下仍满足 $\phi > 35°$。 ### 实际调试指南 Banerjee 提供工程调试的实践建议: - 首先验证晶振频率准确度 - 用高阻探针测量调谐电压判断锁定状态 - 逐步检查:参考路径 → 电荷泵电流 → 环路滤波器 → VCO - 问题诊断:通过改变单一变量隔离问题源 #### 调试流程详细步骤 1. **参考路径检查**: - 用示波器($\times 10$ 探头)测量晶振输出波形(幅度 > 0.5Vpp) - 确认频率准确度在 $\pm 50$ ppm 内 2. **电荷泵电流验证**: - 测量 CP 输出引脚在锁定状态下的平均电压 - 改变 $K_\phi$ 设置,确认调谐电压相应变化 3. **锁定状态诊断**: - 测量 VCO 调谐电压:稳定直流 → 锁定;周期性波动 → 杂散大 - 调谐电压接近电源轨 → VCO 调谐范围不足 4. **杂散排查**: - 改变 $K_\phi$:杂散水平不变 → VCO/电源杂散;随 $K_\phi$ 变化 → CP/PFD 路径 - 改变 $F_{comp}$:基频杂散偏移 → 参考杂散;不变 → VCO/电源杂散 5. **相噪优化**: - 增大 $F_c$ → VCO 相噪改善但 PFD 噪声恶化 → 找到交叉最优 #### 系统故障诊断决策流程图 以下综合 Banerjee 全书各章(Ch.11/Ch.13/Ch.14/Ch.16/Ch.35)的诊断方法,提供一个覆盖 10+ 种 PLL 常见故障的系统决策框架。 ``` ┌──────────────┐ │ PLL 故障征兆 │ └──────┬───────┘ │ ┌────────────┼────────────┐ ▼ ▼ ▼ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ 无法锁定 │ │ 杂散过大 │ │ 相噪恶化 │ └─────┬────┘ └─────┬────┘ └─────┬────┘ │ │ │ ▼ ▼ ▼ ┌────────────────┐ ┌────────────┐ ┌────────────┐ │①参考路径检查 │ │①改变 Kphi │ │①改变 Fc │ │ 晶振幅度>0.5V? │ │ 杂散变化? │ │ 带内相噪 │ ├─ 否→晶振/输入 │ ├─ 是→CP/PFD │ │ 变化? │ │ 是→检查R分频 │ └──────┬─────┘ ├─ 是→PFD路径│ ├────────────────┤ ①a 改变 │ └─────┬──────┘ │②Vtune电压检查 │ Fcomp? │ │ │ Vtune接近电源轨 │ ├─ 是→参考 │ ┌───────────┐ │ ├─ 是→频段错误 │ └─ 否→VCO/ │ │②测量VCO │ │ └─ 否→③VCO │ 电源杂散 │ │ 相噪(开环)│ │ 调谐范围 │ │ ├─ 差→VCO │ ├────────────────┤ ┌────────────┐ │ └─ 好→回看 │ │③SPI配置检查 │ │②电源纹波 │ │ 滤波器 │ │ N值/R值/CP电流 │ │ Vtune端 │ │ /参考 │ │ 是否正确? │ │ 示波器AC │ └────────────┘ └────────────────┘ │ 耦合测量 │ └────────────┘ ``` **10 种故障模式与排查路径**: | 故障模式 | 症状(示波器/频谱仪) | 排查步骤 | 最常见根因 | |---------|--------------------|---------|---------| | F-01 完全无法锁定 | $V_{tune}$ 固定在某电压不变化 | 1. 晶振波形 2. SPI 配置 3. CP 输出 4. VCO 电源 | SPI 写入错误或晶振未起振 | | F-02 锁定到错误频率 | $F_{out} \neq N \cdot F_{comp}$ | 1. 检查 N/R 值 2. 测 VCO 输出频率 3. 检查预分频器 | N 分频值超出合法范围 | | F-03 间歇性失锁 | $V_{tune}$ 周期性跳变,锁定检测周期性失效 | 1. 电源噪声 2. 温度变化 3. 数字串扰 4. SPI 干扰 | 电源去耦不足 | | F-04 参考杂散过大 | $F_{comp}$ 偏移处 $Spur > spec$ | 1. 检查去耦 2. 改变 $K_\phi$ 3. 检查 CP 电流失配 | CP 泄漏电流过大 | | F-05 分数杂散异常 | $f_{comp}/FDEN$ 偏移处杂散偏高 | 1. 检查 FNUM 值 2. Dither 配置 3. ΔΣ 阶数 | FNUM 导致 idle tone 或 dither 关闭 | | F-06 VCO 杂散 | 固定频率偏移(不随 $F_{comp}$ 变化) | 1. 开环测 VCO 2. 检查电源 3. 检查基板耦合 | VCO 电源去耦不足或基板串扰 | | F-07 带内相噪过高 | $L(f)$ 在 $F_c$ 以上正常,$< F_c$ 异常高 | 1. 检查 $N$ 值 2. 检查参考源 3. 测量 CP 噪声 | 分频比 N 过高或参考晶振质量差 | | F-08 带外相噪过高 | $L(f)$ 在 $> F_c$ 处异常 | 1. 开环测 VCO 2. 检查 VCO 电源 3. 检查 $F_c$ 设置 | VCO 自身相噪差或环路带宽太窄 | | F-09 锁定时间过长 | 跳频后 $V_{tune}$ 收敛极慢 | 1. 检查 $F_c$ 2. 检查 CSR 配置 3. Cycle Slip 计数 | $F_c$ 过低或 $A0$ 过大 | | F-10 温度相关故障 | 高/低温下性能劣化 | 1. 测量温度曲线 2. 检查电容类型 3. 检查 VCO 漂移 | X7R 电容或 VCO 频段漂移 | #### 快速定位矩阵 | 症状 \ 可能原因 | CP 失配 | 电源噪声 | 参考噪声 | VCO 问题 | 滤波器 | SPI 配置 | PCB 布局 | |-------------|---------|---------|---------|---------|-------|---------|--------| | 无法锁定 | ◐ | ◐ | ◐ | ● | ● | ● | ◐ | | 杂散过高 | ● | ● | ○ | ◐ | ● | ○ | ● | | 相噪过高 | ◐ | ● | ● | ● | ◐ | ◐ | ◐ | | 锁定时间过长 | ○ | ◐ | ○ | ○ | ● | ◐ | ○ | | 温度敏感 | ◐ | ○ | ○ | ● | ● | ○ | ◐ | > ● = 高可能性,◐ = 中等可能性,○ = 低可能性 **工程规则**: 1. 诊断时每次只改变一个变量(如只变 $K_\phi$ 或只变 $F_{comp}$),才能隔离根因 2. 优先检查最简单、最便宜的因素(SPI 配置、电源去耦),再排查复杂因素 3. 记录每次修改前后的频谱/波形快照,建立故障-修复对照表 4. 对于温度相关问题,在 $-40°C$、$+25°C$、$+85°C$ 三个温度点分别采集基线数据 --- ## 版图后仿寄生效应仿真方法 Banerjee Ch.35 讨论了 PCB 布局的工程规则(分离数字/模拟、短走线、地平面完整性),但未给出定量的寄生效应仿真验证方法。以下补充从版图提取寄生参数到 PLL 性能后仿真的完整流程。 ### 寄生提取流程 #### 版图寄生参数提取(Layout Parasitic Extraction, LPE) ``` ┌─ 完成 PLL/LF 版图 ─────────────────────────────┐ │ Virtuoso/Laker → 版图 DRC/LVS 干净 │ └──────────────────────────────────────────────────┘ ↓ ┌─ Step 1: 选择提取策略 ──────────────────────────┐ │ 全芯片 RC 提取(assura/qrc/starRC) │ │ 提取类型选择:C-only(快速)或 RC(精确) │ └──────────────────────────────────────────────────┘ ↓ ┌─ Step 2: 定义提取关键线网 ──────────────────────┐ │ - 环路滤波器电阻/电容互连线 │ │ - VCO 调谐端至滤波器输出 │ │ - PFD/CP 关键节点 │ │ - 参考输入/反馈路径 │ └──────────────────────────────────────────────────┘ ↓ ┌─ Step 3: 运行寄生提取 ──────────────────────────┐ │ 提取的寄生参数:R (互连线电阻), C (对地/交叉) │ │ 输出格式:DSPF/Spef/Spice netlist │ └──────────────────────────────────────────────────┘ ↓ ┌─ Step 4: 后仿真(含寄生) ──────────────────────┐ │ PSS+PAC → 对比前仿/后仿的 Fc, φ │ │ 瞬态 → 对比锁定时间变化 │ │ PNOISE → 对比相位噪声曲线 │ └──────────────────────────────────────────────────┘ ``` #### 关键路径寄生的定量影响 | 节点/路径 | 后仿典型寄生值 | 对性能的定量影响 | |----------|-------------|--------------| | Vtune 走线 | $R=1\!-\!10\,\Omega$, $C_{par}=0.1\!-\!1$ pF | $C_{par}$ 与 C1 并联 → $A_0$ 增加 → $F_c$ 降低 $2\!-\!10\%$ | | R1 电阻走线 | $R_{par}=0.5\!-\!2\,\Omega$ | 可忽略($< 0.1\%$ 的 $R_1$) | | CP_out 开关节点 | $C_{par}=20\!-\!100$ fF | 增加电荷共享效应 → 参考杂散恶化 $3\!-\!6$ dB | | 参考输入路径 | $C_{par}=0.5\!-\!2$ pF | 影响输入匹配 → $S_{11}$ 恶化 $3\!-\!5$ dB | | VCO 电源走线 | $R_{par}=0.1\!-\!1\,\Omega$, $L_{par}=0.5\!-\!2$ nH | 电源 IR drop 增加推频效应 → 相噪恶化 $2\!-\!5$ dB | ### 后仿 vs 前仿偏差分析与校正 #### 后仿结果的对比检查列表 | 参数 | 前仿值 | 后仿值 | 偏差容限 | 若超容限的处理 | |------|-------|-------|--------|-------------| | $F_c$ | 设计目标 $\pm 3\%$ | 后仿值 | $< \pm 10\%$ | 增加 A0 或调整 $K_\phi$ | | $\phi$ | 设计目标 $\pm 3°$ | 后仿值 | $< \pm 5°$ | 重新设计滤波器极点 | | 锁定时间 | 设计目标 $\pm 20\%$ | 后仿值 | $< \pm 30\%$ | 增大 $F_c$ 或调整 A0 | | 相噪 @10kHz | 预算值 | 后仿值 | $\pm 3$ dB | 检查 VCO 和 CP 路径寄生 | | 杂散 @$F_{comp}$ | 预算值 | 后仿值 | $\pm 5$ dB | 增加去耦或优化布局 | #### 后仿偏差的诊断与调试 ``` Fc 偏差过大(> 10%)的诊断流程: 检查 1: C1 相关的寄生电容 ├─ Vtune 走线对地电容 Cpar_Vtune │ → C1_eff = C1 + Cpar_Vtune + Cprobe(测试电路) │ → 若 Cpar_Vtune > 0.5 * C1 → 必须增大 C1 或缩短 Vtune 走线 └─ VCO 输入端电容 Cin_VCO → C1_eff = C1 + Cin_VCO(Ch.30 已讨论) → 在仿真中用 C1_eff 替换 C1 检查 2: R1 相关的寄生 ├─ R1 到地的寄生电容 → 引入额外极点 └─ R1 的 ESL → 引入高频零点(> 100MHz,通常可忽略) 检查 3: PCB 过孔相关的寄生电感 → 影响较小 ``` ### 典型 PLL 后仿检查清单 | 检查项 | 前仿要求 | 后仿/实测裕量 | |-------|---------|------------| | $F_c$ vs 设计值 | $\pm 3\%$ | $\pm 10\%$(含 PVT + 寄生) | | $\phi$ vs 设计值 | $\pm 3°$ | $\pm 10°$(含 PVT + 寄生) | | 锁定时间 | 规格值 $\times 1.0$ | 规格值 $\times 1.5$(含 PVT + 寄生) | | 相位噪声 | 预算值 | 预算值 $+3$ dB(含寄生) | | 参考杂散 | 预算值 | 预算值 $+6$ dB(含寄生) | | 电流/功耗 | $< 110\%$ 规格 | $< 120\%$ 规格 | **工程经验**: - PLL 后仿的 $F_c$ 通常比前仿低 $3\!-\!10\%$,应在前仿设计阶段预留 $5\%$ 的 $F_c$ 余量 - 后仿的相位裕度通常比前仿低 $2\!-\!5°$,应在前仿设计时目标值设为 $\ge 45°$ - 后仿的锁定时间通常比前仿长 $10\!-\!30\%$,应在前仿设计时目标值设为规格值的 $70\%$ --- ## Ch.10: PLL Applications Other Than a Signal Source(Banerjee 工程视角) > Banerjee 第 10 章专门讨论 PLL 作为信号源之外的工程应用,包括调制、解调、时钟恢复和抖动清洁。以下内容基于 Banerjee 的工程实践视角,与 Gardner 的系统理论分析形成互补。 ### 参考调制(Reference Modulation) 通过在参考路径注入调制信号,实现 VCO 输出的频率/相位调制。调制信号改变 R 分频值或参考频率:f_{out}(t) = \frac{N}{R(t)} \cdot f_{xtal} \approx \frac{N}{R_0} \cdot f_{xtal} - \frac{N \cdot \Delta R(t)}{R_0^2} \cdot f_{xtal}
**传递函数**:参考调制的有效调制增益为 $K_{mod} = F_{out} / R$,传递函数为 **低通** 特性(与参考噪声相同):H_{ref,mod}(s) = \frac{F_{out}}{R_0} \cdot \frac{G(s)}{1 + G(s) \cdot H}
**适用场景**:窄带 FM 调制($\Delta f \ll F_{comp}$),带宽受限于环路带宽 $F_c$。 ### VCO 调制(直接调谐电压调制) 调制信号直接叠加到 VCO 调谐端电压,$v_{tune}(t) = v_{LF}(t) + v_{mod}(t)$。VCO 输出频率为:f_{out}(t) = f_0 + K_{vco} \cdot [v_{LF}(t) + v_{mod}(t)]
H_{vco,mod}(s) = \frac{s}{s + \omega_c} \quad \text{(一阶高通近似)}
- 调制频率 $\gg \omega_c$:调制深度完全传递至输出 - 调制频率 $\ll \omega_c$:被 PLL 环路抑制(PLL 跟踪调制) **3 dB 高通截止频率** = $F_c$。因此 VCO 调制适合宽带 FM($\Delta f > F_c$),不适合窄带调制。 ### N 分频调制(反馈分频器调制) 通过改变反馈分频比 N(t) 实现调制,这是分数 N PLL 的自然延伸:f_{out}(t) = N(t) \cdot F_{comp}
H_{N,mod}(s) = F_{comp} \cdot \frac{G(s)}{1 + G(s) \cdot H}
**带宽限制**:N 调制速率受 $F_{comp}$ 限制(每参考周期只能更新一次 N 值),且受 ΔΣ 调制器的更新速率约束。 ### 双端口调制(Dual-Port Modulation) 同时使用 VCO 调制(高通)和参考/N 分频调制(低通),合成 **全通** 的调制传递函数:H_{dual}(s) = H_{vco}(s) + H_{ref}(s) = \frac{s}{s+\omega_c} + \frac{\omega_c}{s+\omega_c} = 1
**工程实现要点**: - 两路调制信号的增益必须精确匹配:$K_{vco} \cdot V_{mod,vco} = N \cdot F_{comp} \cdot \Delta N/N$ - 两路调制路径的延迟必须匹配($< F_c^{-1}/10$),否则出现频率响应陷波(notch) - 增益失配 $\epsilon$ 导致残余高通/低通特性:$H_{dual}(s) = 1 + \epsilon \cdot \frac{s-\omega_c}{s+\omega_c}$ | 增益失配 $\epsilon$ | 最大平坦度偏差 | 相位响应偏差 | |-------------------|--------------|------------| | $\pm 1\%$ | $< \pm 0.1$ dB | $< \pm 0.5°$ | | $\pm 5\%$ | $< \pm 0.5$ dB | $< \pm 3°$ | | $\pm 10\%$ | $< \pm 1$ dB | $< \pm 6°$ | ### PLL 解调器 PLL 可用作 FM/PM 解调器:VCO 调谐电压 $v_{tune}(t)$ 跟踪输入 FM 信号,在环路带宽内 $v_{tune}(t) \propto \int s(t) dt$。 **解调器设计参数**: - 环路带宽 $F_c$ 应 $>$ 调制信号带宽(确保跟踪) - 解调灵敏度:$S_{demod} = 1/K_{vco}$ [V/Hz] - 信噪比:$SNR_{demod} = (S/N)_{in} \cdot (F_c / B_{mod})$(PLL 环路带宽外的噪声被抑制) **设计权衡**: | 设计要求 | 宽 $F_c$ | 窄 $F_c$ | |---------|---------|---------| | 调制跟踪带宽 | 好 | 差 | | 解调输出噪声 | 高(噪声带宽大) | 低(噪声带宽小) | | 失真(THD) | 低 | 高(可能超出跟踪范围) | ### 时钟恢复与抖动清洁 PLL 用于从数据信号中恢复时钟(Clock Recovery)或降低时钟信号的抖动(Jitter Cleaning)。 **抖动清洁**:低通特性 $H_{jitter}(s) = G(s)/(1+G(s)\cdot H)$,$F_c$ 以下的抖动被跟踪,以上的抖动被抑制。J_{out,RMS} = J_{in,RMS} \cdot \sqrt{\int_0^{\infty} |H_{jitter}(2\pi f)|^2 \cdot S_{jitter}(f) , df}
**时钟恢复**:需要附加的频率检测机制(如 Gardner 的 Hogge 鉴相器、Alexander 鉴相器),Banerjee 讨论了 PLL 架构的适用性。 #### Hogge 鉴相器 Hogge 鉴相器是时钟恢复 PLL 中最常用的线性鉴相器,利用数据信号的跳变沿提取相位信息: ```plaintext Data_In ──┬──→ [DFF1] ──→ Q1 ──→ [XOR1] ──→ Phase_Error │ ↑ ↑ │ 恢复的时钟 │ │ │ │ └──→ [DFF2] ──→ Q2 ──────────┘ ↑ 恢复的时钟(反相) ``` **工作原理**: - DFF1 在时钟上升沿采样数据,XOR 比数据跳变和恢复时钟 - XOR 输出脉冲宽度正比于数据和时钟的相位差 - DFF2 产生参考脉冲用于归一化 **Hogge PD 的 S-曲线**:在 $\pm 0.5\ UI$ 范围内线性,增益 $K_{PD} \propto A_{data}/T_{bit}$ | 参数 | Hogge PD | Alexander PD | |------|---------|-------------| | 线性范围 | $\pm 0.5\ UI$ | $\pm 0.25\ UI$ | | S-曲线形状 | 三角波 | 锯齿波 | | 增益 $K_{PD}$ | $A/\pi$ [V/rad] | $2A/\pi$ [V/rad] | | 频率检测能力 | 无(需额外 FLL) | 无(需额外 FLL) | | 对数据抖动敏感度 | 中等 | 低(Bang-Bang 特性) | #### 时钟恢复锁定捕获过程 1. **频率捕获**:辅助 FLL(或宽带宽 PLL 模式)将 VCO 频率拉近到数据速率 2. **相位捕获**:启用 Hogge/Alexander PD,PLL 进入相位跟踪模式 3. **锁定指示**:Phase_Error 脉冲宽度降至 $< 0.05\ UI$,判定锁定 **设计关键**: - 初始频率误差需 $< F_{c,CDR}$,否则 PLL 无法锁定 - FLL 捕获带宽应 $\geq$ 晶振/VCO 总漂移(典型 $\pm 200$ ppm) - 从频率捕获切换到相位捕获时需防止环路瞬态冲击 ### 双端口调制路径增益校准流程 双端口调制的核心挑战是精确匹配两路调制路径的增益。Banerjee 在 Ch.10 中描述了一种工程校准方法,用于将增益失配控制在 $\epsilon < 1\%$ 以内。 #### 校准信号注入 1. **选择测试音频率**:$f_{test}$ 应选在 $F_c$ 附近(如 $f_{test} = F_c/2$),确保两路传递函数均有足够增益 2. **VCO 路径注入**:在 VCO 调谐端叠加测试音 $v_{test}(t) = A_{test} \cdot \sin(2\pi f_{test} t)$,测量输出频偏 $\Delta f_{vco}$ 3. **N 分频路径注入**:在 N 分频器中叠加等效测试序列 $N_{test}(t) = N_0 + \Delta N \cdot \sin(2\pi f_{test} t)$,测量输出频偏 $\Delta f_n$ 4. **增益失配计算**:\epsilon_{gain} = \frac{\Delta f_{vco} - \Delta f_n}{\Delta f_{vco} + \Delta f_n} \quad [\text{归一化失配}]
#### 迭代校准算法 采用 LMS 风格的迭代调谐,逐步减小增益失配:G_{vco,adj}[n+1] = G_{vco,adj}[n] - \mu \cdot \epsilon_{gain}[n]
其中 $\mu$ 为收敛步长(典型 $0.1\!-\!0.3$),$G_{vco,adj}$ 为 VCO 路径的可编程增益调整值。 **校准收敛过程**: | 迭代次数 $n$ | $\epsilon_{gain}$ | $G_{vco,adj}$ | 状态 | |------------|----------------|-------------|------| | 0 | $+15\%$ | 1.000(初始) | 失配显著 | | 1 | $+10\%$ | 0.850($\mu=0.3$) | 改善中 | | 2 | $+4\%$ | 0.820 | 接近目标 | | 3 | $+1.2\%$ | 0.808 | ✅ 满足 $< 2\%$ | | 4 | $+0.3\%$ | 0.805 | ✅ 满足 $< 1\%$ | | 5 | $+0.08\%$ | 0.805 | 收敛完成 | #### 温度补偿重校准触发 温度变化导致路径增益漂移,需定期重校准:\Delta \epsilon_{gain}(\Delta T) \approx \alpha_{\epsilon} \cdot \Delta T \quad [%/°C]
其中 $\alpha_{\epsilon} \approx 0.02\!-\!0.05\%/°C$(VCO 路径为主因)。 | 温度变化 $\Delta T$ | 预期增益漂移 | 重校准必要性 | |-------------------|------------|------------| | $< 10°$C | $< 0.5\%$ | 无需 | | $10\!-\!30°$C | $0.5\!-\!1.5\%$ | 建议重校准 | | $30\!-\!60°$C | $1.5\!-\!3\%$ | 必须重校准 | | $> 60°$C | $> 3\%$ | 需设计温度补偿电路 | #### SSCG 场合的完整实现 在 SSCG 应用中,双端口调制校准的时序如下: 1. **上电初始化**:执行 5 次迭代校准(耗时 $\sim 200$ $\mu$s) 2. **温度监测**:片上温度传感器每 $100$ ms 采样一次 3. **触发重校准**:$\Delta T > 15°$C 或 $\Delta \epsilon_{gain} > 1\%$ 时触发 4. **盲校模式**:在校准期间保持输出频率不变($\ll S_{SSCG}$ 时间尺度) **工程规则**: 1. 校准精度 $\epsilon_{gain} < 1\%$ 时,双端口调制传递函数平坦度 $< \pm 0.1$ dB 2. $\epsilon_{gain} < 5\%$ 适用于大多数 SSCG 应用(EMI 改善降低 $< 0.5$ dB) 3. 对 SSCG 调制波形质量要求高的场景(如 Hershey Kiss),建议 $\epsilon_{gain} < 0.5\%$ ### 扩频时钟生成(SSCG — Spread Spectrum Clock Generation) 扩频时钟生成是 PLL 在 EMI 抑制中的重要应用。Banerjee 在 Ch.10 中讨论了通过调制 PLL 频率来展宽频谱能量、降低峰值发射的基本原理。 **SSCG 基本原理**: 对 PLL 输出频率施加低频调制,将集中在载波和杂散处的能量展宽到更宽的频带:f_{out,SSCG}(t) = f_0 + \Delta f_{SSC} \cdot m(t)
其中 $m(t)$ 为归一化调制波形(峰峰值为 1),$\Delta f_{SSC}$ 为扩频幅度。 **EMI 改善量估算**:EMI_{reduction} \approx 10\log\left(\frac{f_{clk}}{2 \cdot \delta_{SSC} \cdot f_{mod}}\right) \quad [\text{dB}]
其中 $\delta_{SSC} = \Delta f_{SSC} / f_0$ 为扩频比例,$f_{mod}$ 为调制速率。 | 扩频比例 $\delta_{SSC}$ | 调制波形 | 典型 $f_{mod}$ | EMI 改善 | 适用标准 | |----------------------|---------|--------------|---------|---------| | $\pm 0.5\%$ | 三角波 | $30\!-\!33$ kHz | $7\!-\!10$ dB | FCC 15.107(ITE 设备) | | $\pm 1.0\%$ | 三角波 | $30\!-\!33$ kHz | $10\!-\!13$ dB | 消费电子(宽扩频) | | $\pm 0.25\%$ | Hershey Kiss | $30\!-\!33$ kHz | $4\!-\!7$ dB | 高速串行接口(SATA/PCIe) | | $\pm 1.5\%$ | 随机扩频 | $15\!-\!30$ kHz | $12\!-\!16$ dB | 低成本消费电子 | **调制波形的选择**: **三角波调制(Triangle Wave)**:最常用,功率谱密度均匀分布:S_{SSCG,tri}(f) = \frac{P_0}{\Delta f_{SSC}} \cdot \left(\text{sinc}\left(\pi \cdot \frac{f}{f_{mod}} \cdot \frac{\Delta f_{SSC}}{f_{mod}}\right)\right)
**Hershey Kiss 波形**:改进的三角波,两端平滑过渡以降低扩频噪声: - 相比三角波,边带峰值低 $3\!-\!5$ dB - 实现复杂度高(需波形查表或 DDS) **随机扩频(Random SSC)**:使用随机序列调制频率,不产生离散边带: - 峰值改善 $+3\!-\!6$ dB(相对三角波) - 但实现复杂,需要数字随机数发生器 **SSCG 对 PLL 性能的影响**: | 性能维度 | 影响 | 设计关注 | |---------|------|--------| | 锁定时间 | 调制信号追赶导致锁定时间变长 $10\!-\!20\%$ | 需确保 $f_{mod} \ll F_c/10$ | | 相位噪声 | 增加低频噪声分量(调制本身) | 接收机应用中需考虑 | | 调制器实现 | VCO 调制(高通)vs N 分频调制(低通) | 双端口调制在 SSCG 中最优 | | 输出时钟抖动 | 扩频增加确定性抖动(DJ)$\Delta J_{SSC} \propto \Delta f_{SSC}/{f_{mod}}$ | 时钟应用需限制 $\delta_{SSC} < 1\%$ | **SSCG 设计要点**: 1. **调制速率 $f_{mod}$**:典型 $30\!-\!100$ kHz,需低于 $F_c$ 的 $1/10$ 以避免干扰环路跟踪 2. **扩频方向**:下扩频(Down Spread,$f_0 \to f_0 - \Delta f_{SSC}$)最常用,中心扩频(Center Spread,$f_0 \pm \Delta f_{SSC}/2$)需更多频率预算 3. **调制注入点**:双端口调制(同时注入 VCO 调谐端和 N 分频器)提供最平坦的调制传递函数 #### DDS 调制波形生成器实现 SSCG 的调制波形由 DDS(直接数字合成)电路生成,其核心是一个相位累加器 + 波形查找表: **相位累加器**:\phi[n+1] = \phi[n] + \Delta\phi_{step} \quad (\text{模 } 2^N)
其中 $\Delta\phi_{step} = f_{mod} \cdot 2^N / F_{clk,DDS}$,$N$ 为累加器位宽。 **频率控制字计算**:FCW = \text{round}\left(\frac{f_{mod} \cdot 2^N}{F_{clk,DDS}}\right)
**波形生成参数**: | 波形类型 | 查找表大小(深度) | 谐波含量(THD) | 对 EMI 改善影响 | 实现复杂度 | |---------|----------------|--------------|--------------|---------| | 三角波 | 无需 LUT(累加器直接) | $-50$ dB(仅奇次) | 基准 | 最低 | | Hershey Kiss | $\sim 256$ 点 | $-65$ dB | $+3\!-\!5$ dB | 中等 | | 随机扩频 | $\sim 1024$ 点(PN 序列) | $-40$ dB | $+3\!-\!6$ dB | 高 | **DDS 设计参数选择**: - 累加器位宽 $N$:典型 24-32 bit(决定频率分辨率 $\Delta f_{mod} = F_{clk,DDS}/2^N$) - 频率分辨率需满足 $\Delta f_{mod} < f_{mod}/1000$,否则调制波形产生量化阶梯 - $F_{clk,DDS}$ 典型选择 $10\!-\!100$ MHz(由 SSCG 芯片的数字内核时钟提供) - Hershey Kiss 波形查表表的 LUT 深度 $\sim 256$,宽度 8-10 bit(足够达到 $-65$ dB THD) **Hershey Kiss 波形生成实例**($N=24$, $F_{clk,DDS}=50$ MHz, $f_{mod}=33$ kHz): - $FCW = \text{round}(33\text{kHz} \cdot 2^{24} / 50\text{MHz}) = 11076$ - 三角波幅值 LSB:$\Delta A_{tri} = 2 \cdot \delta_{SSC} / (2^{N-1}) \approx 0.024$ ppm/LSB(对于 $\delta_{SSC}=0.5\%$) - Hershey Kiss 查表输出通过 DAC 或 PWM 转换为模拟调制电压 --- ## PLL 调制/解调仿真方法 Banerjee Ch.10 详细讨论了 PLL 的调制/解调理论(参考调制、VCO 调制、双端口调制、SSCG、时钟恢复),但未给出这些调制场景的仿真验证方法。以下补充发射机(TX)调制链路和接收机(RX)解调链路的仿真方法。 ### 参考调制仿真 #### 仿真原理 参考调制通过在参考路径注入基带信号改变 PLL 输出频率。仿真的核心是**低通传递函数验证**和**调制失真分析**。 ```spectre // 参考调制仿真设置 % 调制信号源(基带正弦波) Vmod (mod_in 0) vsource type=sine \ ampl=0.5V \ freq=f_mod % 调制频率(应 < Fc/5) % 在 R 分频器控制端叠加调制 % 使用 VCVS 将调制电压转换为 R 分频值变化 E_Rmod (r_ctrl 0) <+ Vref_r + Kmod_scale * V(mod_in) % 瞬态仿真(观察输出频率的调制波形) tran tstop=100/f_mod \ maxstep=1/(20*Fout) \ modulation_monitor ``` #### 调制传递函数仿真(PAC 扫描) ```ocn ; 参考调制路径的传递函数提取 ; 在参考路径注入小信号 AC → 测量 VCO 输出端 FM 解调 % PAC 分析 pac start=100 stop=10M sweeptype=log points=200 \ inputsource=Vmod \ outputprobe=v("/vtune") % 提取调制增益 |H_mod_ref(jf)| % 与理论值 H_ref_mod(s) = Fout/R * G(s)/(1+G(s)*H) 对比 H_mod_sim = getData("/vtune") % V/Hz H_mod_theory = ... % 从传递函数公式计算 % 偏差分析 freq = xval(H_mod_sim) for(i 0 length(freq)-1 err_dB = dB(H_mod_sim[i]) - dB(H_mod_theory[i]) printf("f=%.2f kHz, err=%.1f dB\n", freq[i]/1e3, err_dB) ) ``` ### VCO 调制仿真 #### 仿真原理 VCO 调制的传递函数为高通特性。仿真的关键验证点是**截止频率 = F_c** 和**高频增益 = K_vco**。 ```spectre // VCO 调制仿真设置(调制信号叠加到 Vtune 端) % 调制信号源 Vmod_ac (mod_ac 0) vsource type=sine ampl=10mV freq=f_mod % 通过大电阻注入(不扰动 DC 工作点) Rbias (mod_ac vtune) resistor r=100K % 频谱分析 — 观察输出边带 % 在输出端测量 FM 边带(Bessel 函数法计算调制指数) % 调制指数 β = K_vco * A_mod / f_mod % 边带幅度比 = 20*log10(β/2) [dBc] @ ±f_mod ``` **VCO 调制仿真的验证检查表**: | 验证点 | 仿真方法 | 通过标准 | |-------|--------|--------| | 截止频率 $= F_c$ | PAC 扫描调制频率 → $-3$ dB 点频率 | $f_{-3dB} = F_c \pm 10\%$ | | 高频增益 $= K_{vco}$ | PAC $f_{mod} \gg F_c$ 处的增益 | $|H_{vco,mod}|_{f\gg F_c} = K_{vco} \pm 5\%$ | | 低频抑制 | PAC $f_{mod} \ll F_c$ 处的增益 | $< -20$ dB | | 调制失真(THD) | 瞬态 → 输出频率 FFT → 谐波分量 | THD $< 1\%$ | ### 双端口调制仿真 #### 增益匹配验证 双端口调制的核心是 **VCO 路径(高通)** 和 **N 分频路径(低通)** 的精确增益匹配: ```ocn ; 双端口调制增益失配仿真 ; 分别测量两路传递函数,计算失配 % 增益失配提取 % 1. 仅 VCO 路径调制 → H_vco(jf) % 2. 仅 N 分频路径调制 → H_n(jf) % 3. 总调制响应 = H_vco(jf) + H_n(jf) 应接近全通 % 失配计算 for(i 0 length(freq)-1 err_dB[i] = dB(H_vco[i] + H_n[i]) ) % 绘制平坦度曲线 % 理想全通 → err_dB = 0 dB 所有频率 % 增益失配导致频率响应起伏 printf("Max gain ripple: %.2f dB\n", max(err_dB) - min(err_dB)) ``` #### 延迟匹配验证 双端口调制的两路路径时延不同(VCO 路径为模拟延迟,N 分频路径为数字延迟),需验证时延匹配: ```verilog-a // 延迟线模型(用于匹配双端口路径时延) // VCO 路径延迟约为 0(模拟域) // N 分频路径延迟 = 1/Fcomp(数字域每个参考周期更新) module delay_match (in, out, delay_cycles); input in; output out; electrical in, out; parameter integer delay_cycles = 1; % 参考周期数 real shift_reg[0:delay_cycles-1]; integer i; analog begin @(cross(V(clk) - Vdd/2, 1)) begin for(i = delay_cycles-1; i > 0; i = i-1) shift_reg[i] = shift_reg[i-1]; shift_reg[0] = V(in); end V(out) <+ shift_reg[delay_cycles-1]; end endmodule ``` ### SSCG 展频仿真 #### 调制波形质量仿真 SSCG 的 EMI 改善效果取决于调制波形质量。仿真需验证三角波、Hershey Kiss 波形的频谱展宽效果: ```python # Python:SSCG 调制波形质量分析 import numpy as np def analyze_sscg_waveform(vtune_signal, fs, Fcomp, delta_f_ssc, f_mod): """ 分析 SSCG 调制波形质量 """ N = len(vtune_signal) # 提取调制波形(Vtune 的 AC 分量) vtune_ac = vtune_signal - np.mean(vtune_signal) # 频域分析 window = np.hanning(N) spectrum = np.fft.fft(vtune_ac * window) freq = np.fft.fftfreq(N, 1/fs) # 调制波形 THD 分析 harmonics = [] for k in range(1, 11): # 基波到 10 次谐波 f_harmonic = k * f_mod idx = np.argmin(np.abs(freq - f_harmonic)) harmonics.append((f_harmonic, 20*np.log10(np.abs(spectrum[idx])/N))) # EMI 改善量估算 # 峰值功率 vs 无扩频时 carrier_power = np.max(20*np.log10(np.abs(spectrum)/N)) # 扩频后峰值功率降低 emi_reduction = -carrier_power + harmonic_power_total return harmonics, emi_reduction ``` #### SSCG 验证检查清单 | 检查项 | 仿真方法 | 通过标准 | |-------|--------|--------| | 调制波形 THD | 瞬态 → FFT 分析 Vtune 调制分量 | $< -40$ dB(三角波),$< -60$ dB(Hershey Kiss) | | 扩频比例 | Vtune AC 幅度 → $\Delta f = K_{vco} \times V_{pp}$ | $\Delta f/f_0 = \delta_{SSC} \pm 5\%$ | | 双端口平坦度 | 两路分别 PAC 扫描 → 合成响应 | 波动 $< \pm 1$ dB($f_{mod}$ 到 $10 f_{mod}$) | | 输出抖动增量 | 带 SSCG 时 Jitter 计算 | $\Delta J_{SSC} < 0.1 \cdot UI$ | ### 时钟恢复 PLL 仿真 #### Hogge 鉴相器仿真模型 ```verilog-a // Hogge 鉴相器 Verilog-A 模型(用于时钟恢复 PLL 仿真) module hogge_pd (data, clk, error, reference); input data, clk; output error, reference; electrical data, clk, error, reference; real q1, q2; real error_out, ref_out; analog begin @(cross(V(clk) - Vdd/2, 1)) begin q1 = V(data) > Vdd/2 ? 1 : 0; end @(cross(V(clk) - Vdd/2, -1)) begin q2 = q1; error_out = q1 ^ q2; % 相位误差脉冲 ref_out = q2; % 参考脉冲 end V(error) <+ error_out * Vdd; V(reference) <+ ref_out * Vdd; end endmodule ``` #### 时钟恢复仿真设置 | 参数 | 推荐值 | 说明 | |------|-------|------| | 数据速率 $f_{data}$ | $10$ Gbps(示例) | NRZ 数据流 | | PLL $F_c$ | $f_{data} / 500$ | 典型 CDR 的 $F_c$ 为数据速率的 $0.2\%$ | | VCO 中心频率 | $f_{data}$ | 输出恢复时钟 | | 输入数据抖动 | $0.1\!-\!0.3\,UI_{pp}$ | 正弦抖动或 PRBS 抖动 | | PRBS 序列长度 | $2^7\!-\!2^{31}-1$ | 保证足够的码型跳变密度 | #### 时钟恢复验证指标 | 指标 | 仿真方法 | 目标值 | |-----|--------|-------| | 锁定时间 | 瞬态观察时钟相位对齐 | $< 10^5\,UI$ | | RMS 抖动 | 时钟过零时间统计 | $< 0.01\,UI$ | | 抖动容限 | 扫描正弦抖动的幅度 | 满足模板要求 | | 频率捕获范围 | 改变 $f_{VCO}$ 中心频率 | $\pm 500$ ppm | --- ## PLL 测试与表征方法 Banerjee 在全书多处(Ch.11/Ch.14/Ch.16/Ch.35)讨论了 PLL 性能参数的测试方法。以下系统化总结相位噪声、杂散和锁定时间的测试方案。 ### 相位噪声测量 #### 直接频谱法(Direct Spectrum Method) 最基础的相位噪声测量方法,使用频谱仪直接测量 PLL 输出信号的频谱: 1. 设置频谱仪:RBW $\leq 1$ kHz(近载波 $< 100$ Hz),VBW $\leq$ RBW/10,对数平均 2. 将光标置于载波频率处测量总功率 $P_{carrier}$(dBm) 3. 在目标偏移频率 $f_{offset}$ 处测量 $1$ Hz 归一化功率 $P_{1Hz} = P_{measured} - 10\log(RBW)$ 4. 计算:$\mathcal{L}(f_{offset}) = P_{1Hz} - P_{carrier}$ [dBc/Hz] **限制**:近载波($< 100$ Hz)受频谱仪本振相噪限制,远载波($> 10$ MHz)受频谱仪噪底限制。 | 偏移频率范围 | 推荐 RBW | 测量限制 | 适用仪器 | |------------|---------|---------|--------| | $< 100$ Hz | $1\!-\!10$ Hz | 频谱仪相噪噪底($\sim -100$ dBc/Hz @10Hz) | 需互相关法或鉴相器法 | | $100$ Hz $\!-\! 1$ MHz | $100$ Hz $\!-\! 10$ kHz | 基本无限制 | 中档频谱仪(R&S FSW, Keysight E5052B) | | $> 1$ MHz | $\geq 10$ kHz | 频谱仪噪底($\sim -150$ dBm/Hz) | 可选前置放大器 | #### 鉴相器法(Phase Detector Method / PLL Method) 使用一个低噪声参考 PLL 将待测 DUT 的相位噪声解调为基带电压: 1. DUT 和参考源经混频器进行正交鉴相 2. 混频器输出($\propto \sin(\Delta\phi) \approx \Delta\phi$)经低通滤波后测量基带噪声谱 3. 基带电压噪声谱经鉴相灵敏度 $K_d$ [V/rad] 转换回 $S_\phi(f)$\mathcal{L}{DUT}(f) = S{V,meas}(f) - 20\log(K_d) - 3\text{dB} \quad [\text{dBc/Hz}]
**优势**:近载波相噪可测至 $-160$ dBc/Hz @1Hz(取决于参考源质量) **劣势**:需参考源、混频器、低通滤波器和低噪声基带频谱仪,系统复杂 #### 互相关法(Cross-Correlation Method) 使用两套独立的鉴相器系统同时测量同一 DUT,两路噪声不相关部分被平均抑制:\mathcal{L}{meas}(f) = \mathcal{L}{DUT}(f) + \frac{\mathcal{L}{instr}(f)}{\sqrt{N{corr}}}
其中 $N_{corr}$ 为互相关次数,每 $10\times$ 相关次数可降低仪器噪底 $10$ dB。 | 相关次数 $N_{corr}$ | 噪底改善 | 典型测量时间 | 可实现最低噪底 @10kHz | |-------------------|---------|------------|-------------------| | 1(不相关) | 0 dB | $< 1$ s | $-150$ dBc/Hz | | 100 | 10 dB | $1\!-\!10$ s | $-160$ dBc/Hz | | 10,000 | 20 dB | $10\!-\!100$ s | $-170$ dBc/Hz | | 1,000,000 | 30 dB | $> 10$ min | $-180$ dBc/Hz | ### 杂散测量 PLL 杂散的测量方法: 1. **设置频谱仪**:RBW = $10$ Hz($> 1$ kHz 偏移)或 $1$ Hz($< 1$ kHz 偏移),VBW $\leq$ RBW 2. **频率范围**:扫描 $\pm F_{comp}$ 范围(参考杂散),扫描 $\pm 10F_{comp}$(额外杂散检查) 3. **标记杂散**:测量杂散功率 $P_{spur}$ 与载波功率 $P_{carrier}$ 的差值 4. **环境噪声排除**:关闭 PLL 电源测量本底,确保 $SNR_{spur} > 10$ dB **杂散源隔离的更换参数法**(来自 Banerjee Ch.11/13): | 改变参数 | 杂散变化模式 | 判定 | |---------|------------|------| | $K_\phi$ | $\Delta Spur \propto \Delta K_\phi$ | CP/PFD 路径杂散 | | $K_\phi$ | $\Delta Spur \approx 0$ | VCO/电源杂散 | | $F_{comp}$ | $\Delta f_{spur} \propto \Delta F_{comp}$ | 参考杂散 | | $F_{comp}$ | $\Delta f_{spur} = 0$ | VCO/电源固定频率杂散 | | N 值 | $\Delta Spur \propto 20\log(\Delta N)$ | 带内参考/PFD 噪声 | ### 锁定时间测量 #### 方法一:VCO 调谐电压瞬态法(最常用) 1. 在 VCO 调谐端(或环路滤波器输出端)连接高阻抗低电容探头($C_{probe} < 1$ pF) 2. 触发 PLL 的频率跳变(通过 SPI 写入新 N 值) 3. 使用数字示波器捕获 $V_{tune}(t)$ 波形 4. 定义锁定判据:$V_{tune}$ 进入 $V_{tune,final} \pm \Delta V_{tol}$ 范围且不再偏离\Delta V_{tol} = \frac{2\pi \cdot F_c \cdot N}{K_{vco}} \cdot \theta_{lock} \quad [\text{V}]
其中 $\theta_{lock}$ 为锁定判定相位误差门限(典型 $\pm 1° = 0.0175$ rad)。 #### 方法二:时间间隔分析法(最精确) 使用时间间隔分析仪(TIA)或频率计数器直接测量 PLL 输出频率 vs 时间: 1. 对 PLL 输出进行下变频(混频至低频如 $10$ MHz) 2. 用频率计数器测量每 $T_{gate}$ 时间内的平均频率 3. 绘制频率误差 $f_{meas}(t) - f_{target}$ 随时间收敛曲线 4. 锁定时间定义为 $|f_{meas} - f_{target}| < \Delta f_{tol}$ 的最早时刻 | 方法 | 精度 | 测量时间 | 设备需求 | 适用场景 | |------|------|---------|---------|--------| | $V_{tune}$ 瞬态法 | $\pm 10\!-\!20\%$ | 实时 | 示波器 + 探头 | 生产线快速测试 | | 时间间隔分析法 | $\pm 1\!-\!5\%$ | $> 10$ ms/点 | 频率计数器/TIA | 设计验证 | | 频谱法(零扫宽模式) | $\pm 15\!-\!25\%$ | 实时 | 频谱仪(零扫宽) | 定性快速检查 | **测试设置注意事项**: 1. 探头负载效应:$V_{tune}$ 探头的输入电容 $C_{probe}$ 与 C1 并联,改变环路特性。使用 $C_{probe} < C1/100$ 的探头 2. SPI 触发同步:确保触发信号与 N 值写入同步,延迟不确定性 $< 1$ $\mu$s 3. 温度控制:锁定时间对温度敏感,在生产测试中需在恒定温度($\pm 2^\circ$C)下测量 --- ## 与现有知识的联系 - [[振荡器设计与相位噪声]] — VCO 相位噪声模型的进一步展开 - [[PLL杂项应用]] — 广义 PLL 应用场景 - [[PLL调制器与解调器]] — PLL 调制解调技术(Gardner 视角) - [[Banerjee 环路滤波器优化与实现]] — Ch.30 实际元件非理想性与本文 Ch.35 设计实务互补 - [[Banerjee PLL基础与系统概述]] — PLL 基本操作 - [[Dean Banerjee PLL Performance Simulation and Design 深度解析]] — 来源页 --- ## 参考文献 - Banerjee, D. (2006). *PLL Performance, Simulation, and Design* (4th ed.), Ch.32-35.