控制模式与环路补偿 Control Modes & Loop Compensation
把功率级搭出来,输出端量到一个 5V,这不叫"设计完成"。真正的考验在三个时刻:上电瞬间、负载阶跃、输入电压跳变。这三件事都发生在闭环里,而闭环的行为由环路增益 T(s) 在频域的形状决定——尤其是它在 0dB 穿越点附近的斜率和相位。
开关电源原理与 Buck 降压 讲了怎么算电感、电容、损耗;Boost 升压与 Buck-Boost 讲了 RHP 零点为什么锁带宽。这一章解决最后一环:用什么控制模式、把穿越频率放在哪、补偿器的零极点放在哪、相位裕度怎么核。
1. 设计动机
开关电源的输出能稳住,靠的是负反馈:分压取样 → 与基准比较 → 误差放大 → 调占空比。但功率级里有一个电感和一个电容,它们在 1/(2\pi\sqrt{LC}) 附近构成一对共轭极点,相位在这里从 0° 一路跌向 -180^\circ。
如果补偿器什么都不做,把误差放大器直接接上去,就会出现下面这条链:
- 环路增益在某处穿越 0dB,而该处相位已经接近 -180^\circ;
- 负反馈的"负"被吃光了,扰动不再收敛;
- 输出上叠加一个几百 kHz 的持续振荡,电感开始啸叫,MOS 温升飙升。
这不是"芯片不稳定",是设计者没有把相位裕度算出来。 补偿器就是人为地往 T(s) 里加零点和极点,把穿越点附近的相位"掰"回 >45^\circ。这一步做对了,电源从"能亮"变成"能用";做错了,轻则纹波超标、瞬态拖沓,重则批量炸机。
环路问题的现象往往和"环路"两个字看不出关系,先把症状与根因对上:
| 现象 | 频域根因 | 该动哪里 |
|---|---|---|
| 输出持续振荡、电感啸叫 | 相位裕度 < 20°,接近自激 | 降低 f_c,把零点提前 |
| 负载阶跃后振铃 3~5 次才收敛 | 相位裕度 30°~45° | 零点靠近 f_0,或加大 C_c |
| 阶跃跌落深、恢复慢吞吞 | 相位裕度 > 70°,带宽不足 | 提高 f_c,减小 C_c |
| 轻载稳定、满载振荡 | Q 随负载变化,f_0 处增益尖峰变高 | 加大输出电容压低 Q |
| 输入电压跳变时输出"抽一下" | 电压模式没有输入前馈 | 改电流模式或加前馈 |
2. 定义与直观
2.1 一句话定义
环路增益 T(s) 是"从误差放大器输出绕一圈回到它自己的输入端"的传递函数;补偿设计就是让这个量在穿越 0dB 时仍有足够的相位余量。
这句话有三个关键词:
- 绕一圈:T(s) 包含补偿器、调制器、功率级、反馈分压四段,缺一不可。
- 穿越 0dB:|T|=1 的那个频率叫穿越频率 f_c(crossover frequency),它是闭环带宽的近似值。
- 相位余量:PM=180^\circ+\angle T(f_c)。它衡量"离自激还有多远"。
2.2 闭环结构
四段串成一个环:
T(s)=G_c(s)\cdot G_{pwm}(s)\cdot G_{vd}(s)\cdot H- G_c(s):补偿器(误差放大器 + 零极点网络),本章的主角。
- G_{pwm}(s):调制器,把控制电压换成占空比。电压模式下 G_{pwm}=1/V_{pp},V_{pp} 是锯齿波峰峰值(V);电流模式下这一环被电流内环"吸收",不再单独出现。
- G_{vd}(s):功率级,从占空比到输出电压。
- H:反馈分压比,H=V_{ref}/V_{out}(无量纲)。
闭环输出对扰动的抑制能力由 1/(1+T) 决定。|T| 越大,抑制越强;|T|=1 处就是"抑制开始变弱"的分界。所以 f_c 高意味着带宽宽、响应快,但高到相位不够就会振荡——这是一切补偿设计的核心矛盾。
2.3 类比:带惯性的恒温空调
把环路想成一台恒温空调。功率级是房间的热惯性(电感 + 电容决定温度变化的快慢),补偿器是温控器的反应性格。
- 温控器反应太猛(增益太高、带宽太宽):温度一到设定点就过冲,然后反向过冲,来回振荡——对应 PM 太小。
- 温控器反应太钝(增益太低、带宽太窄):温度慢慢爬,人已经冻着了才动作——对应 PM 太大、f_c 太低。
- 温控器的传感器离出风口太近(反馈取样点不对):测到的是局部温度,永远调不准。
类比的边界有两个:第一,空调不会自激,因为热系统几乎没有延迟;开关电源有半个到一个开关周期的传输延迟和采样效应,这是空调没有的。第二,空调只有一阶惯性,而 Buck 的 LC 是二阶系统,会谐振,谐振点的增益尖峰 Q 可能高达 10dB 以上,这是补偿器必须专门处理的。
2.4 三个判据
工程上用三个数字判断"这个环路行不行":
PM=180^\circ+\angle T(f_c)>45^\circ\qquad(\text{甜点 }50^\circ\sim 65^\circ)GM=-20\lg|T(f_{-180^\circ})|>6\ \text{dB}\left.\frac{\mathrm{d}|T|}{\mathrm{d}\lg f}\right|_{f_c}\approx-20\ \text{dB/dec}PM 是相位裕度(°),GM 是增益裕度(dB),f_{-180^\circ} 是相位达到 -180^\circ 的频率(Hz)。第三条的意思是:穿越点附近的幅频斜率最好是 -20dB/dec,斜率越陡(-40、-60)说明附近堆了更多极点,相位掉得越快。
3. 定量关系
3.1 功率级:Buck 在 CCM 下的双极点
电压模式下,Buck 的控制-输出传递函数是
G_{vd}(s)=V_{in}\cdot\frac{1}{1+\dfrac{s}{Q\omega_0}+\left(\dfrac{s}{\omega_0}\right)^2},\qquad \omega_0=\frac{1}{\sqrt{LC}},\quad Q=R\sqrt{\frac{C}{L}}V_{in} 是输入电压(V),L 是电感(H),C 是输出电容的有效容量(F),R=V_{out}/I_{out} 是负载电阻(\Omega)。直流增益就是 V_{in}——占空比每变 1%,输出变 V_{in} 的 1%。
三个特征量:
- 双极点频率 f_0=\dfrac{1}{2\pi\sqrt{LC}},相位在这里从 0° 快速跌向 -180^\circ。
- 品质因数 Q,决定 f_0 处的增益尖峰 20\lg Q。负载越轻(R 越大),Q 越高,尖峰越高,相位跌得越陡。
- ESR 零点 f_{ESR}=\dfrac{1}{2\pi\,ESR\cdot C},它是左半平面零点,把相位重新抬起来,对稳定性是帮忙的。
<>
Q=R\sqrt{C/L} 说明:负载越重(R 越小),Q 越低,f_0 处的尖峰越低,环路越好补。这解释了一个常见困惑——同一块板,满载稳定、空载啸叫。
原因不只是 Q 变大:轻载时 Buck 进入 DCM,功率级从二阶系统退化成一阶,f_0 这个双极点消失,补偿器的两个零点失去了抵消对象,反而在低频堆出一段额外的增益,把 f_c 推高、把相位吃掉。所以"按满载补偿"的设计在空载失稳是常态。
对策有三个:把输出电容加大(同时降低 Q 与 f_0)、让芯片在轻载切到 PFM(环路本质上被旁路)、或者干脆按最轻载的 DCM 工况复核一次 f_c 与 PM。
3.2 两种控制模式
电压模式(Voltage-Mode Control, VMC)只有一个外环,v_c 与锯齿波比较决定占空比。它的功率级是完整的 LC 双极点,相位跌落大,必须用 Type III 补偿才能把相位补回来。好处是抗噪声能力强(只看输出),缺点是输入电压扰动要等输出变化后才被纠正,且逐周期限流要另设。
峰值电流模式(Peak Current-Mode Control, CMC)在电压外环里再套一个电流内环:时钟置位开关,电感电流升到 v_c 设定的阈值时复位。内环把电感"拉直"成一个受控电流源,功率级从二阶退化成一阶:
G_{vd,cm}(s)=\frac{R}{R_i}\cdot\frac{1}{1+sRC}=\frac{G_{dc}}{1+s/\omega_p},\qquad \omega_p=\frac{1}{RC}R_i 是电流检测的等效跨阻(\Omega,把控制电压折算成峰值电流,典型量级 0.1~0.5 V/A,以芯片手册为准)。于是 G_{dc}=R/R_i,主极点 f_p=1/(2\pi RC)。
一阶系统只需要 Type II 补偿。两者的差异列成表:
| 维度 | 电压模式 VMC | 峰值电流模式 CMC |
|---|---|---|
| 取样对象 | 仅输出电压 | 输出电压 + 电感电流 |
| 功率级阶数 | 二阶(LC 双极点) | 一阶(近似单极点) |
| 补偿器 | Type III(2 零 2 极) | Type II(1 零 2 极) |
| 占空比 > 50% | 无额外问题 | 必须加斜率补偿,否则次谐波振荡 |
| 逐周期限流 | 需另设比较器 | 天然具备 |
| 多相均流 | 需外加均流环 | 自动均流 |
| 输入扰动响应 | 慢(等输出变化才纠正) | 快(电感电流立即反映) |
| 噪声敏感度 | 低 | 高(电流前沿噪声会被放大) |
| 轻载 DCM | 双极点退化为单极点,需重算 | 电流内环模型失效,需按 DCM 复核 |
3.3 补偿器:Type II 与 Type III 的零极点放置
Type II 由一个积分器、一个零点、一个高频极点构成,传递函数(gm 型误差放大器,C_p\ll C_c):
G_c(s)=G_m\cdot\frac{1+\dfrac{s}{\omega_z}}{s(C_c+C_p)\left(1+\dfrac{s}{\omega_p}\right)}f_z=\frac{1}{2\pi R_cC_c},\qquad f_p\approx\frac{1}{2\pi R_cC_p},\qquad G_{c,mid}=G_mR_cG_m 是误差放大器的跨导(S),R_c 是补偿电阻(\Omega),C_c 是零点电容(F),C_p 是高频极点电容(F),G_{c,mid} 是两个特征频率之间的中频增益(无量纲)。
如果是电压型(运放)误差放大器,把 G_mR_c 换成 R_c/R_1,R_1 是反馈分压上臂到反相输入端的电阻,零点与极点的式子不变。
放置规则只有两条,但要做到位:
- 零点对准功率级的主极点:f_z=f_p(CMC)或 f_z=f_0(VMC 单零点场合)。零点提供 +90^\circ 的相位提升,但位置越低、在穿越频率处的提升越接近满额(\arctan(f_c/f_z) 随 f_z 单调递减):f_z=f_p/10、f_c=3f_p 时提升 88.1°;反过来把零点放到 10f_p,只剩 16.7°,等于白放。
- 高频极点压在 f_{sw}/2 或 ESR 零点,取两者中较低的:f_p=\min(f_{ESR},f_{sw}/2)。它的作用是压掉开关噪声与输出纹波在误差放大器输入端的残余,防止把噪声放大成占空比抖动。用陶瓷输出电容时 f_{ESR} 常在 MHz 量级,所以实际取 f_{sw}/2。
Type III 在 Type II 的基础上再加一个零点、一个极点,专门对付 LC 双极点:
为什么两个零点都放在 f_0:一个双极点贡献 -180^\circ,一个零点只能补 +90^\circ,两个零点才能在 f_0 附近把相位顶回去。放在 f_0 的两侧(例如 0.7f_0 与 1.4f_0)比都放同一点更实用,因为实际 L、C 有容差,f_0 会漂移。
为什么 Type III 不能用于 Boost:Boost 的 RHP 零点不能靠零点抵消(§3.5)。Type III 的两个零点会把 RHP 零点附近的增益抬得更高,反而恶化。
3.4 穿越频率怎么选
这是整个补偿设计里最有"经验值"味道的一步。四条约束同时作用:
约束一:采样效应。 峰值电流模式在 f_{sw}/2 处有一对采样双极点(Ridley 模型),Q=2/\pi。它在穿越频率处贡献的滞后是
\varphi_{samp}=\arctan\frac{f_c/(Q f_n)}{1-(f_c/f_n)^2},\qquad f_n=\frac{f_{sw}}{2},\ Q=\frac{2}{\pi}代入 f_{sw}=500kHz:f_c=f_{sw}/10=50kHz 时 \varphi_{samp}=18.1^\circ;f_c=f_{sw}/5=100kHz 时涨到 36.8^\circ。仅仅把带宽提一倍,就多花 18.7° 的相位预算。
约束二:传输延迟。 比较器、驱动、MOS 开通加起来约 100ns(典型量级),相位滞后
\varphi_{d}=360^\circ\cdot f_c\cdot t_dt_d=100ns、f_c=50kHz 时只有 1.8^\circ,可以忽略;但 f_c=200kHz 时就是 7.2^\circ,开始变得重要。
约束三:输出纹波不能被放大成占空比抖动。 开关频率处的输出纹波如果被误差放大器放大到超过锯齿波幅度,PWM 就会"看见"自己的纹波,产生次谐波或抖动。这要求环路在 f_{sw} 处有足够的衰减,而衰减量正比于 (f_{sw}/f_c)^n。
约束四:瞬态响应。 负载阶跃的恢复时间约为 1/(2\pi f_c) 的量级。要 10µs 级恢复,f_c 至少 20kHz。
四条合起来,工程经验值是:
| 控制模式 | 推荐 f_c | 硬上限 | 理由 |
|---|---|---|---|
| 电压模式 | f_{sw}/10 | f_{sw}/6 | 双极点已吃掉大半相位,再高没有预算 |
| 峰值电流模式 | f_{sw}/10 | f_{sw}/5 | 一阶功率级省下相位,可略高 |
| 有 RHP 零点的拓扑 | \min(f_{sw}/10,\ f_{RHP}/3) | f_{RHP}/2 | RHP 零点比采样效应更早成为瓶颈 |
3.5 RHP 零点与相位裕度的相互作用
RHP 零点的幅频特性与普通零点相同(+20dB/dec),相频特性反号(滞后)。把它和 §3.4 的采样效应放在一起看,就能算出"Boost 为什么慢":
| f_c 相对 f_{RHP} | RHP 零点滞后 | 采样双极点滞后(f_{sw}=20f_{RHP}) | 两项合计 |
|---|---|---|---|
| f_{RHP}/3 | 18.4^\circ | 3.0^\circ | 21.4^\circ |
| f_{RHP}/2 | 26.6^\circ | 4.5^\circ | 31.1^\circ |
| f_{RHP} | 45.0^\circ | 9.0^\circ | 54.0^\circ |
| 2f_{RHP} | 63.4^\circ | 18.1^\circ | 81.5^\circ |
关键结论:RHP 零点把相位预算消耗掉的同时,还把增益抬高。 一般的极点用 -20dB/dec 的衰减"换取" -90^\circ 的滞后,是等价交换;RHP 零点是"付了相位还倒贴增益",所以它对稳定性的破坏比同频率的极点严重得多。
由此得到一条不能违反的规则:穿越频率必须低于 f_{RHP}/3。Boost 升压与 Buck-Boost 里 3.7V→12V 的算例把这个数字算到了 17.5kHz,带宽只能取 5.8kHz;同一块板如果做成 Buck,带宽可以取 50kHz。八倍的差距不是补偿技巧能弥补的。
3.6 模型的边界:什么时候公式不管用
- 双极点模型假设电感未饱和、电容是常数。电流接近 I_{sat} 或 MLCC 在直流偏置下容量腰斩时,f_0 会偏移 20%~50%。
- 平均模型在 f_{sw}/2 以上失效。超过这个频率的"环路增益"没有物理意义,仿真也会给出误导性的相位。
- 电流模式的单极点模型在 D>50\% 且没有斜率补偿时不成立,会出现次谐波振荡(§5.3)。
- 所有式子都假设负载是纯电阻。实际负载有容性(去耦电容)或恒功率特性(DC-DC 后级),恒功率负载会引入负阻,等效于降低阻尼,Q 变高。
4. 典型计算
4.1 算例一:12V→5V/3A/500kHz 的 CMC 环路补偿
第 0 步 · 功率级参数。 沿用 开关电源原理与 Buck 降压 的设计:V_{in}=12V、V_{out}=5V、I_{out}=3A、f_{sw}=500kHz、L=6.8\muH、C_{out}=2\times22\muF(5V 偏置下有效 30.8µF)。
R=\frac{5}{3}=1.667\ \Omega,\qquad f_p=\frac{1}{2\pi RC}=\frac{1}{2\pi\times1.667\times30.8\times10^{-6}}=3.10\ \text{kHz}第 1 步 · 控制模式与功率级增益。 选峰值电流模式,取电流检测等效跨阻 R_i=0.3 V/A(典型量级,以芯片手册为准):
G_{dc}=\frac{R}{R_i}=\frac{1.667}{0.3}=5.56\ (14.9\ \text{dB})反馈分压比 H=V_{ref}/V_{out}=0.8/5=0.16。
第 2 步 · 定穿越频率。 按 f_{sw}/10 取 f_c=50kHz。核对:Boost 那类有 RHP 零点的拓扑要另按 f_{RHP}/3 压,本例是 Buck,没有这个限制。
第 3 步 · 算需要的补偿器增益。
|G_{vd}(f_c)|=\frac{5.56}{\sqrt{1+(50/3.10)^2}}=\frac{5.56}{16.16}=0.344|G_c(f_c)|=\frac{1}{|G_{vd}(f_c)|\cdot H}=\frac{1}{0.344\times0.16}=18.2第 4 步 · 定补偿器元件。 取误差放大器跨导 G_m=200\muS(典型量级),由中频增益 G_mR_c=18.2:
R_c=\frac{18.2}{200\times10^{-6}}=91.0\ \text{k}\Omega\ \Rightarrow\ \text{取 }90.9\ \text{k}\Omega\ (\text{E96})零点对准主极点,f_z=f_p=3.10kHz:
C_c=\frac{1}{2\pi R_cf_z}=\frac{1}{2\pi\times90.9\times10^{3}\times3.10\times10^{3}}=\frac{1}{1.771\times10^{9}}=565\ \text{pF}\ \Rightarrow\ \text{取 }560\ \text{pF}取 560pF 后实际零点 f_z=1/(2\pi\times90.9\text{k}\times560\text{p})=3.13kHz,与目标差 1%,可忽略。
高频极点放在 f_{sw}/2=250kHz:
C_p=\frac{1}{2\pi R_cf_p}=\frac{1}{2\pi\times90.9\times10^{3}\times250\times10^{3}}=\frac{1}{1.428\times10^{11}}=7.0\ \text{pF}\ \Rightarrow\ \text{取 }6.8\ \text{pF}取 6.8pF 后实际极点 f_p=257kHz。这个电容只有几 pF,PCB 上 COMP 引脚的寄生电容(2~5pF)会明显改变它的位置,所以工程上更常见的做法是直接取 10pF:此时 f_p=1/(2\pi\times90.9\text{k}\times10\text{p})=175kHz,补偿器在高频的残差从 -11.0^\circ 变成 -15.9^\circ,PM 从 60.9° 降到 56.0°——仍然落在甜点区,却换来一个不寄生敏感的取值。
第 5 步 · 算相位裕度。 逐项列:
| 环节 | 相位表达式 | f_c=50kHz 处的值 |
|---|---|---|
| 补偿器积分 | -90^\circ | -90.0^\circ |
| 补偿器零点 | +\arctan(f_c/f_z) | +86.5^\circ |
| 补偿器高频极点 | -\arctan(f_c/f_p) | -11.0^\circ |
| 功率级主极点 | -\arctan(f_c/f_p) | -86.5^\circ |
| 采样双极点 | -\arctan\dfrac{f_c/(Qf_n)}{1-(f_c/f_n)^2} | -18.1^\circ |
| 合计 | \mathbf{-119.1^\circ} |
60.9^\circ 落在 50^\circ\sim65^\circ 的甜点区,设计成立。
第 6 步 · 算增益裕度。 相位到 -180^\circ 的位置在 150\sim160kHz 之间。取 155kHz:
|T(155\text{k})|=\frac{18.2\times0.16\times5.56}{\sqrt{1+(155/3.10)^2}}=\frac{16.19}{50.0}=0.324\ (-9.8\ \text{dB})GM=9.8\ \text{dB}>6\ \text{dB}\quad\checkmark第 7 步 · 核对低频增益。 100Hz 处补偿器已进入积分区:
|G_c(100\text{Hz})|=\frac{G_m}{2\pi f(C_c+C_p)}=\frac{200\times10^{-6}}{2\pi\times100\times566.8\times10^{-12}}=561|T(100\text{Hz})|=561\times5.56\times0.16=499\ (54\ \text{dB})也就是说 100Hz 的输入扰动被压到 1/(1+499)\approx0.2\%。这就是积分器的作用:低频增益足够高,稳态误差才小。
第 8 步 · 列出最终取值。
| 元件 | 取值 | 对应频率 | 作用 |
|---|---|---|---|
| R_c | 90.9kΩ(E96) | 设中频增益 18.2 | 决定 f_c |
| C_c | 560pF(E12) | f_z=3.13kHz | 提相位、对消主极点 |
| C_p | 6.8pF(E12) | f_p=257kHz | 压开关噪声 |
第 9 步 · 一致性检查。 把 §4.1 的 f_c=50kHz 与前表中的"CMC 硬上限 f_{sw}/5=100kHz"对比,还有一倍余量。若真把 f_c 提到 100kHz:采样效应涨到 36.8^\circ、功率级极点涨到 88.2^\circ、补偿器残差从 -11.0^\circ 恶化到 -23.0^\circ(高频极点开始发力),合计 -148.0^\circ,PM 只剩 32.0^\circ——这就是"带宽多一倍、裕度少一半"的定量版本。
4.2 算例二:同一功率级改用电压模式,Type III 要什么
把 §4.1 的功率级换成电压模式。此时功率级回到 LC 双极点,先算两个特征量(用 C=30.8\muF):
f_0=\frac{1}{2\pi\sqrt{LC}}=\frac{1}{2\pi\sqrt{6.8\times10^{-6}\times30.8\times10^{-6}}}=\frac{1}{2\pi\times1.447\times10^{-5}}=11.0\ \text{kHz}Q=R\sqrt{\frac{C}{L}}=1.667\times\sqrt{\frac{30.8}{6.8}}=1.667\times2.128=3.55f_0 处增益尖峰 20\lg 3.55=11.0dB,相位正好 -90^\circ。
穿越频率的选择和 CMC 完全不同。 在 f_0 之上,双极点的相位继续往 -180^\circ 走,Type III 的两个零点最多补回 +180^\circ,但补的速度跟不上。算三个点:
| f_c | \lvert G_{vd}\rvert | 功率级相位 | 需要的 \lvert G_c\rvert | 补偿器相位 | PM |
|---|---|---|---|---|---|
| 11.0kHz(f_0) | 42.6 | -90.0^\circ | 0.147 | -5.0^\circ | 85.0^\circ |
| 12.6kHz(1.15f_0) | 26.2 | -134.9^\circ | 0.238 | +2.2^\circ | 47.3^\circ |
| 16.5kHz(1.5f_0) | 9.09 | -161.3^\circ | 0.687 | +15.1^\circ | 33.8^\circ |
(f_0 一行按 |G_{vd}(f_0)|=V_{in}Q=12\times3.55=42.6;补偿器相位按双零点在 f_0、高频极点在 f_{sw}/2 算。)
读表:VMC 的 f_c 几乎不能超过 1.2f_0。 到 1.5f_0 时 PM 已经掉到 37.5°,而 CMC 在同样功率级上可以做到约 4.5f_0(50kHz 对 f_0=11kHz,PM 仍有 60.9°)。这就是"为什么现在大多数集成 Buck 是电流模式"的定量答案。
取 f_c=12.6kHz 做 Type III 设计:
- 需要的补偿器增益 0.238(-12.5dB)。电压型误差放大器用 R_c/R_1 设增益,取上臂 R_1=100kΩ:R_c=0.238\times100\ \text{k}=23.8\ \text{k}\Omega\ \Rightarrow\ \text{取 }23.7\ \text{k}\Omega
- 第一组零极点(R_c 与 C_c、C_p):C_c=\frac{1}{2\pi\times23.7\text{k}\times11.0\text{k}}=611\ \text{pF}\ \Rightarrow\ 620\ \text{pF}C_p=\frac{1}{2\pi\times23.7\text{k}\times250\text{k}}=26.9\ \text{pF}\ \Rightarrow\ 27\ \text{pF}
- 第二组零极点(R_2、C_2,跨接在反相输入端与地之间)的目标频率同样是 f_{z2}=f_0 与 f_{p1}=f_{sw}/2,按所选芯片数据手册的 Type III 公式代入这组频率求解即可。不同厂商对 Type III 的引脚定义与命名不同,照抄别家的 R/C 表是最常见的失败原因。
Type III 的三个注意点:
- 两个零点必须落在 f_0 的 \pm30\% 以内,否则补不到点子上。
- 高频极点 f_{p2}=f_{sw}/2 之后还要再受 C_p 与布线电容的限制,实测常在 150\sim200kHz 而不是 250kHz,PM 会相应下降几度。
- 用陶瓷输出电容时 f_{ESR} 常在 MHz 以上,远高于 f_{sw}/2,f_{p1}=f_{ESR} 这一项落在环路之外,Type III 的第二个高频极点就成了可选项——此时它的差别只在高频噪声衰减,不在相位提升上。
4.3 算例三:换成 Boost,RHP 零点怎么吃掉裕度
用 Boost 升压与 Buck-Boost 的 3.7V→12V/0.5A 算例:L=15\muH、R=24\Omega、D=0.738,则
f_{RHP}=\frac{(1-D)^2R}{2\pi L}=\frac{0.262^2\times24}{2\pi\times15\times10^{-6}}=17.5\ \text{kHz}假设设计者照抄 Buck 的经验取了 f_c=f_{sw}/10=50kHz——远超 f_{RHP},环路必然振荡。即使退到 f_c=f_{RHP}=17.5kHz,RHP 零点单独贡献 -45^\circ,加上主极点 -89.1^\circ、采样 -6.3^\circ、补偿器残差 -4.9^\circ,合计 -145.3^\circ,PM 只剩 34.7^\circ。
正确的做法是把 f_c 压到 f_{RHP}/3=5.8kHz,此时 RHP 零点只贡献 -18.4^\circ,PM 回到 68.1^\circ。代价是带宽从 50kHz 掉到 5.8kHz,负载阶跃的恢复时间从 3µs 量级变成 30µs 量级。
这张"带宽换稳定"的账,是 Boost 类拓扑无法回避的设计税。
两条曲线在 2kHz 附近几乎重合,越过 10kHz 后迅速分叉。分叉的位置就是 RHP 零点开始发力的位置。
5. 工程含义
5.1 数量级:调环路之前先有个数
| 量 | 数量级 | 12V→5V/3A 的实例 |
|---|---|---|
| f_0(LC 双极点) | 几 kHz ~ 几十 kHz | 11.0kHz |
| Q | 2~10(轻载更高) | 3.55 |
| f_p(CMC 主极点) | 几百 Hz ~ 几 kHz | 3.10kHz |
| f_c(穿越) | f_{sw}/10 | 50kHz |
| PM | 50^\circ\sim65^\circ | 60.9° |
| R_c(gm 型) | 十 kΩ ~ 百 kΩ | 90.9kΩ |
| C_c | 几百 pF ~ 几 nF | 560pF |
| C_p | 几 pF ~ 几十 pF | 6.8pF(计算值),工程取 10pF |
两个"一看就不对"的信号:C_c 落在 nF 以上,说明补偿器增益太低、f_c 被压得太狠;C_p 小于 5pF,说明高频极点已经接近寄生电容的地板,实际位置不受你控制。
5.2 内置补偿 vs 外置补偿
现代集成 Buck 大量采用内部固定补偿,芯片手册只给一组推荐的 L、C_{out} 与输出电容的 ESR 范围。这类芯片的优点是不用算、不容易错;缺点是换一个电感或电容就可能失稳:
- 把 10µH 换成 22µH,f_0 从 11kHz 掉到 7.4kHz,内部固定的两个零点就对不上;
- 把 2×22µF 换成 1×22µF,Q=R\sqrt{C/L} 随 \sqrt{C} 下降,从 3.55 降到 2.51,f_0 处尖峰从 11.0dB 降到 8.0dB;
- 用 MLCC 替代电解,ESR 零点从 300kHz 移到 6MHz,内部补偿的"高频极点对准 ESR 零点"这一条失效。
判断方法:把手册推荐的 L、C 代回本章的公式,看 f_0、Q、f_{ESR} 有没有变;变了就老老实实做一次 AC 扫描。
外置补偿的芯片灵活,但要把 §4.1 的九步走一遍,并对寄生电容做预留。
5.3 斜率补偿:占空比超过 50% 的必需品
峰值电流模式在 D>0.5 时有一个固有不稳定:扰动电流在每个周期的放大倍数是
\alpha=\frac{m_2-m_a}{m_1+m_a}m_1 是电感电流上升斜率(A/s),m_2 是下降斜率(A/s),m_a 是外加的斜率补偿斜坡(A/s,折算到电流检测信号上)。当 \alpha 的绝对值大于 1 时,扰动累积成次谐波振荡。工程上取 m_a\geq0.5\,m_2 可保证全占空比范围稳定。
用 §4.1 的 Buck 算:m_2=V_{out}/L=5/6.8\mu\text{H}=0.735 A/µs,于是
m_a\geq0.5\times0.735=0.368\ \text{A/}\mu\text{s}折算到电流检测电压(R_i=0.3 V/A):
S_e=m_aR_i=0.368\times0.3=0.110\ \text{V/}\mu\text{s}一个周期(2µs)内的补偿斜坡幅度是 0.110\times2=0.22V。这个值与芯片内部的锯齿波幅度同一量级,说明斜率补偿不是可有可无的小修正。
用示波器判断这件事有一个很直观的方法:看电感电流(或用电流探头看开关电流),如果每个周期的峰值交替一大一小,就是次谐波振荡,特征是频率为 f_{sw}/2 的包络。
5.4 测量:怎么知道补偿对不对
纸上算完必须实测。三种方法,可靠性依次上升:
- 负载阶跃看时域。 让负载在 0.5A 与 2.5A 之间跳变,用示波器看 V_{out}。1~2 次轻微振铃后收敛 = PM 适中;持续振荡 = PM 不足;没有过冲但恢复慢 = PM 太大。 过冲幅度与 PM 有近似关系:\Delta V_{pk}\approx\Delta I/(2\pi f_cC)\times(1+\text{过冲系数}),PM=45^\circ 时过冲系数约 0.4,PM=60^\circ 时约 0.15。
- 注入法测伯德图。 在反馈分压点串一只 10~50Ω 电阻,用注入变压器送入小正弦,扫 10Hz~1MHz,直接读出 |T| 与 \angle T。这是唯一能直接读出 f_c 与 PM 的方法,也是量产前必须做的一次。
- 看开关波形的抖动。 稳定但接近临界时,开关波形的占空比会出现低频抖动(几 kHz 的包络),这是相位裕度不足的早期征兆。
6. 常见坑
- 现象:Boost 样机上电后输出持续振荡(几十 kHz),负载阶跃后永远不收敛;把补偿电容加大一点会好些,但瞬态极慢。
- 原因:RHP 零点在 17.5kHz,而 f_c 取到了 20kHz 以上。RHP 零点在穿越频率处吃掉 45° 以上的相位,同时还抬 3dB 增益,两项叠加把 PM 压到 35° 以下。这不是补偿参数的问题,是拓扑给的上限。
- 解决:先算 f_{RHP}=(1-D)^2R/(2\pi L),把 f_c 压到 f_{RHP}/3;用 Type II 就够了,不要试图用零点去"抵消"RHP 零点——那会把增益抬得更高。
- 现象:按算出来的 6.8pF 装上,实测 f_c 比设计值低 30%,相位裕度反而变差;换成 10pF 后更糟。
- 原因:COMP 引脚与相邻网络的寄生电容典型 2~5pF,与 C_p 并联后把高频极点从 257kHz 拉到 150kHz 以下。极点位置对 C_p 是反比关系,寄生占比越大偏移越大。
- 解决:C_p 不要小于 10pF(宁可把 f_c 稍微降一点,让 C_p 有可用的取值);COMP 走线包地、远离 SW 节点;按实测的 f_p 反推有效电容再修正。
- 现象:原型稳定,改版时把 10µH 换成 22µH(为了降纹波),或把 2 颗 22µF 换成 1 颗,样机开始啸叫。
- 原因:内置补偿芯片的零极点是按推荐 L、C 固定的。L 翻倍使 f_0 从 11.0kHz 掉到 7.4kHz;C 减半使 Q 从 3.55 降到 2.51、f_0 处尖峰从 11.0dB 降到 8.0dB。两个变化都让零点对不上极点。
- 解决:任何 L、C 变更都要重算 f_0、Q、f_{ESR},并与补偿器的零极点对照;用外置补偿的芯片重新取值;至少做一次负载阶跃与 AC 扫描。
- 现象:负载阶跃看起来很干净,但在某些输入电压下会突然出现高频(几百 kHz)振荡。
- 原因:PM 只反映 0dB 穿越点附近的相位,而 GM 反映的是相位到 -180^\circ 时的增益余量。高频极点、采样双极点、传输延迟都在 f_c 之上,它们把相位推到 -180^\circ 时若增益还不够低,就会在那个频率自激。
- 解决:PM 与 GM 一起看,要求 GM>6dB;高频极点不要放得离 f_c 太近(至少 5 倍);必要时把 f_c 降一档。
- 现象:按标称 22µF 算出的 f_0=11.0kHz 与实际不符,实测 f_c 偏高、PM 偏低。
- 原因:MLCC 在 5V 偏置下实际只剩 70%,C 变小使 f_0 升高(f_0\propto1/\sqrt{C})。本例用 30.8µF 算得 11.0kHz,用标称 44µF 算得 9.20kHz,差 20%;Q 也随之变化。
- 解决:用偏置后的有效容量算 f_0 与 Q;把电容容差(X5R 通常 ±10%)与老化(每十年约 −5%)也算进去,按最坏组合复核一次 PM。有效容量的取法与电容的降额规则见 功率电感、电容、MOS 与二极管选型。
7. 自测题
为什么功率级的 LC 双极点会让环路不稳定?补偿器用什么去抵消它?
LC 双极点在 f_0 附近贡献将近 -180^\circ 的相位滞后,若它落在穿越频率附近,环路相位裕度被吃光,负反馈变成正反馈。电压模式用 Type III 的两个零点放在 f_0 附近提供 +180^\circ 的超前;电流模式则用电流内环把功率级"拉直"成一阶,双极点消失,只需 Type II 的一个零点。
12V→5V/3A、L=6.8\muH、C=30.8\muF,f_0 与 Q 各是多少?f_0 处的增益尖峰多少 dB?
f_0=1/(2\pi\sqrt{LC})=1/(2\pi\sqrt{6.8\mu\times30.8\mu})=11.0kHz。R=5/3=1.667\Omega,Q=R\sqrt{C/L}=1.667\times2.128=3.55。增益尖峰 20\lg Q=20\lg3.55=11.0dB。注意 C 必须用偏置后的有效值,用标称 44µF 会算出 9.20kHz 与 Q=4.24。
穿越频率为什么常取 f_{sw}/10?把它提到 f_{sw}/5 要付多少相位?
f_{sw}/10 是四条约束的交点:采样双极点(18.1°)、传输延迟(1.8°)、开关纹波抑制、瞬态响应(1/(2\pi f_c))。提到 f_{sw}/5 时,采样双极点的滞后从 18.1° 涨到 36.8°,多花 18.7°;功率级极点、补偿器残差也都变差,实测 PM 会从 60° 掉到 25° 附近,进入危险区。
RHP 零点与普通零点的幅频特性一样,为什么它更难对付?给出 f_c=f_{RHP} 时的相位代价。
幅频相同(+20dB/dec),但相频反号:普通零点超前 +45^\circ,RHP 零点滞后 -45^\circ。难对付的原因是它"滞后相位的同时抬高增益"——普通极点是"滞后换衰减",属于等价交换;RHP 零点是"付相位还倒贴增益"。f_c=f_{RHP} 时相位代价 -45^\circ、增益 +3dB,两项叠加通常直接把 PM 打到 35° 以下。
CMC 的 Type II 里,R_c=90.9kΩ、C_c=560pF、C_p=6.8pF,零极点各在哪?若 G_m=200\muS,中频增益多少 dB?
f_z=1/(2\pi R_cC_c)=1/(2\pi\times90.9\text{k}\times560\text{p})=3.13kHz;f_p=1/(2\pi R_cC_p)=1/(2\pi\times90.9\text{k}\times6.8\text{p})=257kHz。中频增益 G_mR_c=200\mu\times90.9\text{k}=18.2,即 20\lg18.2=25.2dB。
电压模式的 Buck 为什么 f_c 几乎不能超过 1.2f_0?用本算例的数字说明。
因为 LC 双极点的相位在 f_0 之后继续往 -180^\circ 走,Type III 的两个零点虽然能补 +180^\circ,但补的速度跟不上相位跌落的速度。本算例:f_c=f_0=11.0kHz 时 PM=87.5^\circ;1.15f_0=12.6kHz 时 PM=50.2^\circ;1.5f_0=16.5kHz 时 PM=37.5^\circ。相比之下同一功率级用电流模式可以做到 50kHz、PM=60.9^\circ。
斜率补偿不足会看到什么波形?m_2=0.735A/µs、R_i=0.3V/A 时需要多大的补偿斜坡?
会看到电感电流(或开关电流)的峰值每周期交替一大一小,包络频率为 f_{sw}/2,输出上叠加拍频纹波。需要的补偿斜坡 m_a\geq0.5m_2=0.368A/µs,折算到电流检测电压 S_e=m_aR_i=0.110V/µs,一个周期内累计 0.22V。
8. 参考资料
- TI SLVA477A Basic Calculation of a Buck Converter's Power Stage:功率级的占空比、纹波与输出电容式;本章 §4.1 的 L、C 取值与它一致。https://www.ti.com/lit/an/slva477a/slva477a.pdf
- Erickson & Maksimovic Fundamentals of Power Electronics(2nd ed.):平均开关模型与 CCM Buck 的 G_{vd}(s)、LC 双极点与 Q 的定义;本章 §3.1 的严格形式取自该书。
- Pressman / Billings / Morey Switching Power Supply Design(3rd ed.):Type II/III 补偿网络的零极点放置与 R/C 取值流程;本章 §3.3、§4.2 的方法与它一致。
- Sanjaya Maniktala Switching Power Supplies A-Z(2nd ed.):穿越频率经验值、斜率补偿的工程近似与"轻载更飘"的成因;本章 §3.4、§5.3 的口径按该书整理。
- ADI AN-149 Modeling and Loop Compensation Design of Switching-Mode Power Supplies:电压模式功率级小信号模型与补偿器设计流程;本章 §4.2 的 Type III 设计顺序与它对齐。https://www.analog.com/media/en/technical-documentation/application-notes/an149fa.pdf
- TI SLVA630A Loop Response Considerations in Peak Current Mode Buck Converter Design:峰值电流模式的功率级简化、Type II 取值与 f_c 选取;本章 §4.1 与之对照。
- R. B. Ridley A New Continuous-Time Model for Current-Mode Control(IEEE Trans. Power Electronics, 1991):采样双极点(f_{sw}/2、Q=2/\pi)与电流模式的高频修正;本章 §3.4 的采样相位式取自该模型。
- K. Venable The K-Factor — A New Mathematical Tool for Stability Analysis and Synthesis(Proc. Powercon 10, 1983):按所需相位提升量反推零极点间距;本章 §3.3 的"零点放在哪"的判断依据与该文一致。