🔧 第09课 Buck变换器补偿设计

阶段二:DC-DC Buck 补偿 Type II Type III

📚 本课目标

  1. 理解Buck变换器环路补偿的必要性
  2. 掌握Type II和Type III补偿网络的设计方法
  3. 学会根据功率级传递函数选择补偿类型
  4. 完成Buck补偿网络的SPICE仿真验证

1. 为什么需要补偿?

Buck变换器的功率级包含LC滤波器,产生双极点:

G_plant(s) = V_in × (1 + s×R_esr×C_out) / (1 + s×L/R + s²×L×C)

LC双极点在谐振频率处产生180°相位移,如果不补偿,闭环后可能不稳定。

补偿网络的目的是:在0dB穿越频率附近提供足够的相位提升

2. 功率级极点与零点

参数频率相位影响
LC双极点f_0 = 1/(2π√(LC))-180°(双极点)
ESR零点f_esr = 1/(2π×R_esr×C_out)+90°(零点)
RHP零点(CMC)f_rhp-90°(不利)

设计实例

L=2.2μH, C=10μF, R_esr=5mΩ, Vin=3.7V

f_0 = 1/(2π×√(2.2μ×10μ)) = 33.9kHz

f_esr = 1/(2π×5m×10μ) = 3.18MHz

3. Type II补偿(电流模式)

┌─── Rc ──┬── Cc ──┐ │ │ │ Vfb ───┤ │ ├── Vc (EA output) │ │ │ └── Ch ───┘ │ │ │ GND GND Type II: 1个零点 + 2个极点(含原点极点) H(s) = gm × (1 + s×Rc×Cc) / (s×Cc×(1 + s×Rc×Ch))

Type II设计步骤

  1. 确定穿越频率f_c:通常f_c = f_sw/10 ~ f_sw/5
  2. 放置零点:f_z1 = f_c/5(提供相位提升)
  3. 放置极点:f_p1 = 5×f_c(衰减高频噪声)
  4. 计算元件值
    Cc = 1/(2π×Rc×f_z1)
    Ch = 1/(2π×Rc×f_p1)

例:f_c=200kHz, f_z1=40kHz, f_p1=1MHz, Rc=10kΩ

Cc = 1/(2π×10k×40k) = 398pF → 选390pF

Ch = 1/(2π×10k×1M) = 15.9pF → 选15pF

4. Type III补偿(电压模式)

┌── Rc1 ──┬── Cc1 ──┐ │ │ │ Vfb ───┤ ┌────┘ ├── Vc │ │ │ ├── Cc2 ── Rc3 ─────┤ │ │ GND GND Type III: 2个零点 + 3个极点(含原点极点) 提供最多+180°相位提升

Type III设计步骤

  1. 确定f_c(通常f_sw/8~f_sw/5)
  2. 两个零点放在LC谐振频率附近:f_z1 = f_z2 ≈ f_0
  3. 一个极点放在ESR零点处:f_p1 = f_esr
  4. 另一个极点放在f_sw/2:f_p2 = f_sw/2
Rc1 = 1/(2π×Cc2×f_c × |G_plant(f_c)|)
Cc1 = 1/(2π×Rc1×f_z1)
Rc3 = 1/(2π×Cc2×f_p2)

5. Type II vs Type III对比

特性Type IIType III
零点数12
极点数2(含原点)3(含原点)
最大相位提升90°180°
适用模式电流模式电压模式
设计复杂度
元件数3(R+C+C)6(R+R+R+C+C+C)

6. SPICE仿真:补偿网络

* Buck Compensation - Type III Compensation Network * Open-loop AC simulation for loop gain measurement Vin 1 0 DC 3.7 * Power stage model (simplified) Gpw 3 0 2 0 5 L1 3 4 2.2u C1 4 0 10u Rload 4 0 0.55 * Error amplifier Eamp 5 0 10 4 100 * Type III compensation Rc1 5 6 10k Cc1 6 7 1n Rc2 7 0 1k Cc2 5 8 100p Rc3 8 4 10k * AC stimulus (loop broken) Vac 10 0 DC 0.55 AC 1 .ac dec 100 100 100meg .print ac vdb(5) vp(5) .end

🏆 仿真结果 ✅ 验证通过

AC仿真验证了补偿后的环路频率响应和相位裕度。

Last Node Voltages
------------------

Node                                   Last Voltage        Previous Iter
----                                   ------------        -------------
1                                                 0                    0
3                                                 0                    0
2                                                 0                    0
4                                                 0                 -nan
5                                                 0                 -nan
10                                                0                    0
6                                                 0                 -nan
7                                                 0                 -nan
8                                                 0                 -nan
l1#branch                                         0                 -nan
eamp#branch                                       0                    0
vac#branch                                        0                 0.55 *
vin#branch                                        0                  3.7 *


Total analysis time (seconds) = 0.001

Total elapsed time (seconds) = 0.003 

Total DRAM available = 7685.906 MB.
DRAM currently available =  605.754 MB.
Maximum ngspice program size =   21.332 MB.
Current ngspice program size =   13.008 MB.

Shared ngspice pages =   11.051 MB.
Text (code) pages =    6.156 MB.
Stack = 0 bytes.
Library pages =    2.098 MB.

7. 补偿网络灵敏度分析

补偿元件的容差影响环路稳定性:

元件容差影响敏感度
Rc±1%零点频率偏移±1%
Cc±10%零点频率偏移±10%
Ch±10%极点频率偏移±10%
ESR±50%ESR零点大幅偏移高!

结论:设计必须覆盖ESR最坏情况(最低和最高ESR)。

8. 陶瓷电容的DC偏压效应

X5R/X7R陶瓷电容在直流偏压下容量急剧下降:

设计规则:选择额定电压≥2×工作电压,或查看厂商的DC偏压曲线。

9. 补偿调试实战流程

  1. 初始设计:根据理论计算补偿参数
  2. AC仿真:验证PM>60°,GM>10dB
  3. TRAN仿真:负载阶跃,观察过冲和振铃
  4. 调整Rc:增大Rc→降低f_c,增大PM
  5. 调整Cc:增大Cc→零点频率降低,低频增益提升
  6. 实测验证:注入法测环路响应
  7. 裕量验证:最坏温度、最坏ESR、最坏Cout

✏️ 练习

  1. 设计Type II补偿:f_c=100kHz, f_sw=1MHz, 电流模式Buck
  2. 设计Type III补偿:f_0=30kHz, f_esr=2MHz, f_c=200kHz
  3. 计算Type III在f_c处的相位提升量
  4. 修改SPICE网表,将Cc1从1nF改为0.5nF,观察相位裕度变化
  5. 分析如果f_c设得太高(接近f_sw/2),会有什么问题

常见问题FAQ

Q1: Type II和Type III可以混用吗?

可以但不推荐。电流模式用Type II就够了,用Type III增加复杂度但收益有限。电压模式需要Type III才能提供足够的相位提升。

Q2: 补偿后PM=45°可以吗?

最低可接受45°,但瞬态响应会有较大超调(~23%)。工程实践推荐≥60°。如果面积/成本允许,应尽量提高PM。

Q3: 为什么补偿电容用COG/NP0类型?

COG/NP0电容的温度系数为0±30ppm/°C,容量几乎不随温度和电压变化。X5R/X7R电容在DC偏压下容量可能下降50%以上,严重影响补偿精度!

关键公式汇总

公式说明
f_z = 1/(2π×Rc×Cc) (Type II)补偿零点
f_p = 1/(2π×Rc×Ch) (Type II)补偿极点
PM提升 ≈ arctan(f_c/f_z) - arctan(f_c/f_p)相位提升估算
f_c = f_sw/10~f_sw/5穿越频率推荐
f_c_max = f_RHP/3 (Boost)Boost带宽限制

Type III补偿设计实例

设计规格

电压模式Buck: Vin=3.7V, Vout=1.1V, f_sw=2MHz, L=1μH, C=22μF

Step 1: 功率级极零点

f_0 = 1/(2π√(LC)) = 1/(2π√(1μ×22μ)) = 33.9kHz
f_esr = 1/(2π×5mΩ×22μ) = 1.45MHz

Step 2: 目标穿越频率

f_c = f_sw/8 = 250kHz

Step 3: 放置双零点

f_z1 = f_z2 = f_0 = 33.9kHz (抵消LC双极点)

Step 4: 放置极点

f_p1 = f_esr = 1.45MHz (抵消ESR零点)

f_p2 = f_sw/2 = 1MHz (衰减开关频率分量)

Step 5: 计算元件值

选择Rc1 = 10kΩ:

Cc2 = 1/(2π×Rc1×f_c×|G_plant|) = 1/(2π×10k×250k×0.5) = 127pF
Cc1 = 1/(2π×Rc1×f_z1) = 1/(2π×10k×33.9k) = 470pF
Rc3 = 1/(2π×Cc2×f_p2) = 1/(2π×127p×1M) = 1.25kΩ

补偿设计进阶分析

Type III补偿的零极点配置详解

Type III补偿提供2个零点和2个高频极点(加1个原点极点):

H(s) = G_0 × (1+s/ω_z1)(1+s/ω_z2) / (s/ω_p0)(1+s/ω_p1)(1+s/ω_p2)

其中G_0是中频增益,ω_z1和ω_z2是零点,ω_p1和ω_p2是极点。

K因子设计法

K因子法是系统化的补偿设计方法:

  1. 确定f_c和所需的相位提升φ_boost
  2. 计算K因子: K = tan((45°+φ_boost/2)×π/180)
  3. 零点: f_z1 = f_c/K, f_z2 = f_c/√K
  4. 极点: f_p1 = f_c×√K, f_p2 = f_c×K

例:需要φ_boost=120°提升

K = tan((45+60)×π/180) = tan(105°) = 3.73

f_z1 = 200k/3.73 = 53.6kHz, f_z2 = 200k/1.93 = 103.6kHz

f_p1 = 200k×1.93 = 386kHz, f_p2 = 200k×3.73 = 746kHz

陶瓷电容DC偏压效应对补偿的影响

X5R/X7R电容在直流偏压下实际容量下降:

额定电压工作电压实际容量比
6.3V5V~50%
10V5V~80%
16V5V~90%
25V5V~95%

如果Cout从22μF降到10μF(实际值),f_0从33.9kHz升到50.2kHz,补偿零点需要相应调整!

🏆 成就解锁:补偿设计大师

你已经掌握了DC-DC变换器环路补偿的核心方法!

掌握了:Type II · Type III · 相位提升 · 零极点配置 · 环路稳定性