电荷泵基础:工作原理与基本结构

做 PLL 的都知道,电荷泵是连接数字域和模拟域的关键桥梁。我入行那会儿,第一次调锁相环,怎么调锁定时间都不对,后来发现是电荷泵输出阻抗不够,电流被环路滤波器电压“推偏”了。嗯,从那以后我才真正重视起电荷泵的每个细节。

电荷泵到底在干什么?

说白了,电荷泵就是一个受数字信号控制的充放电开关网络。它把鉴频鉴相器(PFD)输出的 UP 和 DN 脉冲,转换成流向环路滤波器(LF)的净电流。UP 有效就往 LF 里灌电流,DN 有效就往外抽电流。净电流积分成控制电压,再去调 VCO 的频率。

我个人习惯把电荷泵拆成三个核心部分来看:

  • 电流源:提供稳定的充放电电流 ICP。
  • 开关对:受 UP/DN 控制,决定电流流向。
  • 输出节点:连接到环路滤波器,电压被积分。

典型结构:单端电荷泵

最常用的就是单端电荷泵,结构简单,但坑也不少。下面这张图能帮你快速建立印象:

单端电荷泵基本结构 I_up 电流源 UP 开关 DN 开关 I_dn 电流源 Vcp → 环路滤波器 UP (来自 PFD) DN (来自 PFD) 当 UP=1, DN=0 时,I_up 通过开关向 Vcp 灌入电流,控制电压上升 当 UP=0, DN=1 时,I_dn 通过开关从 Vcp 抽取电流,控制电压下降

图里我故意把上电流源和下电流源画成不同颜色,其实它们理想情况下电流大小必须严格相等。你想想看,如果 I_up ≠ I_dn,锁定时 VCO 控制电压就会周期性地波动,产生参考杂散。

关键指标:电流匹配

参数 影响 典型要求
I_up / I_dn 失配 参考杂散、锁定频率偏移 < 1% (对高频 PLL)
开关导通时间差 电荷注入、时钟馈通 匹配到皮秒级
输出阻抗 电流随 Vcp 变化 理想无穷大
个人经验:我在一个 5GHz 的 PLL 项目中,一开始电荷泵用的简单电流镜,仿真匹配很好,但流片回来测,杂散大了 10dB。后来查原因是沟道长度调制效应导致的电流随输出压摆下降。解决办法——把电流源改成 cascode 结构,输出阻抗从 10kΩ 提高到 1MΩ 以上。

行为级模型:快速验证的好帮手

很多新手喜欢一上来就搭全晶体管电路,其实在系统级先把电荷泵行为模型跑通,能省很多时间。下面是我常用的 Verilog-A 描述,你可以在 Cadence 或 Spectre 里直接跑:

// 电荷泵行为模型
`include "disciplines.vams"
module cp_behav (out, up, dn, vdd, vss);
  inout out;
  input up, dn, vdd, vss;
  electrical out, vdd, vss;
  logic up, dn;

  parameter real Icp = 100e-6;       // 电荷泵电流 100uA
  parameter real Tout = 1e-9;        // 开关时间常数

  real i_src;

  analog begin
    @(cross( V(up) - 0.5V, +1 ) or 
      cross( V(dn) - 0.5V, +1 ) or
      cross( V(up) - 0.5V, -1 ) or 
      cross( V(dn) - 0.5V, -1 ))
    begin
      if (V(up) > 0.5V && V(dn) < 0.5V)
        i_src = Icp;                  // 充电
      else if (V(dn) > 0.5V && V(up) < 0.5V)
        i_src = -Icp;                 // 放电
      else
        i_src = 0.0;                  // 高阻
    end

    I(out) <+ transition(i_src, 0, Tout);
  end
endmodule

注意:行为级模型里我刻意忽略了电荷共享、时钟馈通等二阶效应。这些效应在晶体管级仿真中必须单独处理,但初期用行为模型锁定环路带宽、相位裕度,完全够用。

常见拓扑对比

除了单端结构,差分电荷泵也经常用在低噪声 PLL 中。我列个表帮你对比:

拓扑 优点 缺点 使用场景
单端电荷泵 结构简单、功耗低 对电源噪声敏感,匹配易受工艺影响 消费类、中低性能
差分电荷泵 共模抑制好,参考杂散低 面积大、静态功耗高 高速通信、射频 PLL
自适应偏置电荷泵 工作范围宽,匹配自动校准 需要数字校准逻辑 宽带 PLL、SoC
避坑指南:我曾经在一个低功耗项目里用了单端电荷泵,结果由于工艺角偏移,I_up 和 I_dn 差了 15%,锁相环锁定时控制电压纹波达到 30mV,输出频谱里出现明显杂散。那之后我在所有设计里至少留一个校准位,或者用运放做强制匹配。

设计中的“结”与“解”

你可能注意到,电荷泵的设计里充满了折衷。比如:

  • 电流越大,环路带宽越宽,但噪声贡献也变大。
  • 开关尺寸越小,寄生电容越小,但导通电阻变大,影响高速响应。
  • 使用 cascode 电流源能提高输出阻抗,但消耗的电压余度也大,在低压应用中会限制控制电压范围。

怎么破?我的思路是:先明确你的 VCO 调谐电压范围和锁相环锁定时间要求,反推电荷泵电流的最小值和输出阻抗要求。再根据工艺类型(比如 1.8V 还是 3.3V 器件)决定电流源结构。如果是深亚微米工艺,低压 cascode 或 regulated cascode 是常用选择。

嗯,这些内容已经够你搭起一个完整的电荷泵设计框架了。记住,电荷泵的“干净”程度直接决定了 PLL 的 jitter 和杂散性能。后面章节我们会具体看分频比和电荷泵电流的联合优化方法,到时候你会更理解为什么要在电流匹配上花这么多功夫。