3. 鉴频鉴相器(PFD)设计与仿真

鉴频鉴相器(Phase Frequency Detector,PFD)是电荷泵锁相环中决定环路“感知能力”的模块。它把参考时钟 REF 与反馈时钟 FB 之间的相位差和频率差同时转换成 UP、DN 两路脉冲信号,再由电荷泵把脉冲宽度翻译成注入环路滤波器的净电荷。与异或门鉴相器相比,PFD 的关键优势在于:即使两路输入频率不同,它也能给出方向正确的输出,从而把环路拉入锁定范围,而不是停在错误的锁定点上。

三态 PFD 的结构与工作机理

工程上最常用的是基于两个 D 触发器加一个复位门的“三态 PFD”。两个 DFF 的 D 端都接高电平 VDD,REF 上升沿把 UP 置 1,FB 上升沿把 DN 置 1,UP 与 DN 相与后产生复位信号 RST,同时清掉两个触发器。这样 UP、DN 就构成三种稳定状态:

  • UP=0, DN=0:两路时钟沿尚未到达或已复位,电荷泵不导通,输出高阻,环路保持。
  • UP=1, DN=0:REF 沿先到,表示参考相位超前,电荷泵向环路滤波器注入电流,抬高 VCO 控制电压。
  • UP=0, DN=1:FB 沿先到,表示反馈相位超前,电荷泵从环路滤波器抽取电流,降低控制电压。

当 REF 与 FB 频率不同时,两路沿的到达顺序会周期性变化,UP 或 DN 的脉冲宽度随之累积,形成低频的相位误差包络,这正是 PFD 能“鉴频”的原因。需要注意的是,UP 与 DN 同时为 1 的状态在理想情况下被复位立即清除,但在实际电路中会短暂存在,其宽度由复位路径延迟决定,这也是死区与盲区的根源。

三态 PFD 结构与时序关系 结构框图 DFF1 D=VDD DFF2 D=VDD AND 复位 REF FB RST UP DN 时序波形(REF 超前 FB) REF FB UP DN Δt 净电荷 ∝ (UP宽度 − DN宽度) REF 超前 → UP 脉冲更宽 → 注入正电荷 → Vctrl 上升 REF 滞后 → DN 脉冲更宽 → 抽取电荷 → Vctrl 下降 频率不同 → 相位差累积 → 形成低频包络 → 鉴频

死区与盲区问题

死区(dead zone)指的是当 REF 与 FB 的相位差小到一定程度时,UP 或 DN 的脉冲宽度不足以让电荷泵真正导通,环路增益骤降甚至为零,PLL 会在锁定点附近出现抖动或无法精确锁定。其物理原因是电荷泵开关管存在开启阈值和寄生电容,需要一定的脉冲宽度才能建立稳定的电流。典型情况下,若相位差对应的脉冲宽度小于约 100 ps~300 ps,电荷泵输出电流就会明显偏离设计值。

盲区(blind zone)则与复位路径有关。当复位延迟过长时,UP 与 DN 同时为 1 的时间窗口变宽,如果此时 REF 或 FB 的下一个沿已经到来,触发器可能无法正确响应,导致 PFD 丢失一个相位误差事件。盲区通常出现在高频输入或复位路径延迟接近输入周期的情况下。工程上需要在“复位足够快以消除盲区”和“复位足够慢以消除死区”之间折中,常见做法是在复位路径中插入可控延迟单元,使复位脉冲宽度略大于电荷泵的最小有效导通时间。

死区与盲区是一对矛盾:复位太快 → 死区变大;复位太慢 → 盲区变大。设计目标是把复位延迟调到“刚好让电荷泵可靠导通”的位置。

复位路径延迟优化

复位路径由 AND 门、反相器和连线组成,其延迟直接决定 UP/DN 同时为 1 的宽度。优化时可以从三个方向入手:

  1. 调整 AND 门尺寸:增大 AND 门输出级的驱动能力可以缩短复位延迟,但会增加功耗和面积。通常先按最小尺寸设计,再根据仿真结果微调。
  2. 插入延迟单元:在 RST 路径中串联反相器链或 MOS 电容,可以精确控制复位脉冲宽度。例如在 1 GHz 输入下,若希望复位宽度约为 150 ps,可插入 2~3 级反相器,每级延迟约 50 ps。
  3. 匹配 UP/DN 路径:UP 和 DN 从 DFF 输出到电荷泵的路径应尽量对称,避免因路径失配引入固定相位误差。版图阶段要注意两条路径的寄生电容和线长一致。

在 Virtuoso 中,可以先用理想行为模型验证逻辑功能,再替换为晶体管级电路进行延迟仿真。建议在复位路径上设置一个可调参数(如反相器级数或电容值),通过参数扫描观察死区和盲区的变化,找到最佳工作点。

在 Virtuoso 中搭建 PFD 原理图并验证鉴相特性

下面给出一个可复现的搭建与验证流程,示例参数基于 1 GHz 参考频率、1.2 V 电源的假设,实际值需根据工艺库调整。

第一步:建立原理图。在 Virtuoso Schematic Editor 中新建 cell view,从工艺库中调用两个 D 触发器(可用标准单元库中的 DFF 或自行搭建主从结构),D 端接 VDD,CLK 分别接 REF 和 FB。调用一个二输入 AND 门,输入接 UP 和 DN,输出接 RST,再反馈到两个 DFF 的复位端。UP 和 DN 引出到电荷泵输入。注意在 DFF 的复位端加缓冲器,避免负载效应影响复位速度。

第二步:设置仿真激励。使用 Analog Design Environment(ADE)搭建 testbench。REF 用 pulse 源,频率 1 GHz,上升时间 10 ps;FB 用另一个 pulse 源,初始频率设为 1.05 GHz,模拟频率差。两个源的幅度均为 1.2 V。在 UP、DN 和 RST 节点上放置电压探针,观察波形。

第三步:运行瞬态仿真。设置瞬态仿真时间为 200 ns,最大步长 1 ps,以保证能分辨 100 ps 量级的脉冲。运行后观察 UP 和 DN 的波形:当 REF 超前时,UP 脉冲应明显宽于 DN;当频率差存在时,UP 和 DN 的宽度差应周期性变化,形成拍频包络。

第四步:验证鉴相特性。将 FB 频率改为与 REF 相同,但引入固定相位差,例如 0°、45°、90°、135°、180°,分别仿真并测量 UP 和 DN 的脉冲宽度差。理想情况下,宽度差应与相位差成正比,且在 0° 和 360° 附近过零。若在 0° 附近出现宽度差恒为零的平坦区域,说明存在死区,需要调整复位延迟或电荷泵偏置。

第五步:检查盲区。将 REF 和 FB 频率提高到 2 GHz,保持复位路径不变,观察 UP 和 DN 是否出现异常窄脉冲或丢失脉冲。若发现某个周期内 UP 和 DN 均无输出,说明复位延迟过长导致盲区,应缩短复位路径或降低输入频率。

仿真时务必使用真实的晶体管级模型,理想行为模型无法反映死区和盲区。另外,探针的负载电容会影响高速节点波形,建议使用高阻探头或直接观察内部节点电流。

关键观察点与判断依据

观察对象 正常表现 异常表现与可能原因
UP/DN 脉冲宽度差 与相位差成正比,过零平滑 0°附近平坦 → 死区;脉冲丢失 → 盲区
RST 脉冲宽度 约 100~200 ps,稳定可测 过窄 → 死区;过宽 → 盲区
UP 与 DN 同时为 1 的时间 短暂且固定 过长 → 复位延迟过大;抖动大 → 路径失配
频率差下的包络 周期性拍频,方向正确 包络方向错误 → 触发器接反或复位逻辑错误

完成上述验证后,PFD 的鉴相特性就得到了基本确认。接下来可以把它与电荷泵、环路滤波器级联,观察控制电压的建立过程,进一步验证整个环路的锁定行为。