多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

BUCK电源环路计算与补偿:从传递函数到STB仿真的完整指南

BUCK电源环路计算与补偿:从传递函数到STB仿真的完整指南 简介这是一份面向开关电源研发工程师的BUCK电路环路设计专项PDF系统讲解环路计算、补偿参数选取与Saber仿真验证方法。内容从乃奎斯特稳定性判据入手清晰说明穿越频率、相位裕量与增益裕量的工程取值依据并结合-1/-2斜率穿越0dB线的对比阐释静态增益对输出误差的影响以及负载跳变下的动态响应权衡能帮助读者摆脱实验室调参的盲目性建立科学、可量化的环路设计思路。整个压缩包仅含1个PDF文档大小约982KB便于离线研读。目前已有580人学习下载适合具备一定电源基础、希望深入掌握环路补偿与稳定性分析的工程师参考。整份文档结构紧凑既有理论推导又有实例仿真验证可作为电源产品开发中环路设计的重要参考资料。1. 环路计算不是玄学BUCK 电源的稳定性到底卡在哪一关在 BUCK 电源设计流程里环路计算、补偿和仿真这三个词经常被放在一起说但真正从头到尾走通一遍的工程师不多。常见做法是照抄参考设计的反馈电阻或者用在线设计工具算几个值直接上板。表面看能用可一旦遇到负载瞬态振铃、输入电压拉偏或低温启动异常就得回头面对一个黑匣子为什么相位裕度显示够高实际却振荡为什么仿真里正常实物带不动载这篇文章按电源工程师最常用的路径把 BUCK 功率级传递函数、Type II/Type III 补偿参数计算和 STB 仿真验证串起来讲清楚。适合正在做 DC-DC 板级电源、遇到稳定性问题的硬件工程师也适合刚接触电源、想建立环路分析思路的学生。2. 先把功率级模型立住BUCK 传递函数和补偿器选型逻辑2.1 控制到输出传递函数 Gvd(s)从占空比到输出电压的增益怎么推任何 BUCK 型电路的环路设计第一张图都是功率级的控制到输出传递函数也就是 Gvd(s)。它描述的是占空比 d 的小信号扰动量会引起输出电压多大的变化。在同步 BUCK 型电路里续流管是 MOSFET 不是二极管功率级的寄生参数更接近理想模型传递函数形态也更有代表性所以下面的推导对同步整流和异步整流都适用只是 Q 值的取值稍有差异。在 CCM连续导通模式下忽略寄生电阻时BUCK 功率级传递函数可以写成标准的二阶形式Gvd(s) Vin × (1 s / ω_ESR) / (1 s/(Q·ω0) s²/ω0²)其中 ω0 1/√(L·C) 是 LC 滤波器的谐振角频率ω_ESR 1/(ESR·C) 是输出电容等效串联电阻引入的零点角频率Q 是品质因数取决于电感的 DCR、电容的 ESR 和负载电阻。把式子画成伯德图看低频段增益是一条水平线高度约等于 Vin过了 LC 双极点 ω0增益以 -40dB/dec 快速滚降同时相位从 0° 往 -180° 方向掉一直到 ESR 零点 ω_ESR 处增益斜率才收窄到 -20dB/dec相位也往回探约 90°。这套结论里有两个点值得展开。第一Gvd 的直流增益就是 Vin 本身不是数据手册里说的误差放大器增益。输入电压越高低频环路增益越高所以做宽输入范围设计时环路计算要用最高输入电压那一档否则补偿参数在低压输入端可能会欠增益。第二电压模式和电流模式在这里分道扬镳。峰值电流模式控制下的功率级因为电感电流变成了受控源LC 双极点被电流环推到高频段小信号模型从二阶降为一阶最大相位滞后只有约 -90°Type II 补偿就够用。电压模式没有这层反馈LC 双极点是实打实横在环路里的相位裕度的大头必须靠补偿网络里的两个零点去救。这也是很多电源工程师手撕 BUCK 时反复确认的第一件事先看芯片是电压模式还是电流模式再决定补偿拓扑。如果负载掉到 DCM断续导通模式上面的二阶模型就不成立了。DCM 下 BUCK 的功率级退化成单极点系统极点位置还随负载移动Gvd 的增益表达式也变了。所以环路计算前先确认工作模式要么把负载范围限制在 CCM要么针对 DCM 单独建模不要指望一组补偿参数通吃所有负载区间。2.2 补偿器三档Type I、Type II、Type III 适用在什么场合补偿网络在环路里的角色是把功率级缺失的增益和相位补回来。实际用到的补偿器可以归成三档Type I、Type II、Type III。Type I 就是一个积分器只有一个在原点处的极点增益以 -20dB/dec 贯穿全频段低频增益很高但没有任何相位提升能力一般只用在峰值电流模式这种功率级只有单极点的系统里或者作为运放内部密勒补偿以外的辅助环路。注意这里说的密勒补偿是芯片内部误差放大器的带宽控制手段和外部环路补偿网络是两回事别混在一起。Type II 在积分器基础上加了一个零点和一个高频极点能提供约 90° 的相位提升。零点通常放在 LC 双极点附近用来抵消功率级的一个极点造成的相位滞后让中频段相位回到 -90° 以内。Type II 用得最多的地方是电流模式 BUCK包括同步 BUCK 和两相交错 BUCK因为功率级是单极点的Type II 的零极点分配足够覆盖相位裕度需求。Type III 则在 Type II 基础上再加一个零点和一个极点构成两个零点、两个极点加一个原点极点的配置相位提升能力翻倍到约 180°专门用来对付电压模式 BUCK 里 LC 双极点造成的接近 -180° 的相位跌落。初次做电压模式补偿的工程师最容易犯的错是拿电流模式的 Type II 参考设计来套结果相位裕度怎么调都不够——不是参数算错是补偿拓扑少了一档。可以把三种补偿器的特征收敛成一张对比表后面选型直接比对着看补偿器极点配置零点配置典型控制模式中频段相位提升Type I原点极点 1 个无电流模式简易约 0°Type II原点极点 1 个 高频极点 1 个零点 1 个电流模式 BUCK至多约 90°Type III原点极点 1 个 高频极点 2 个零点 2 个电压模式 BUCK至多约 180°2.3 开环增益 T(s) 的判据穿越频率、相位裕度和增益裕度取多少把功率级传递函数 Gvd、补偿器传递函数 C(s) 和反馈分压网络 H(s) 串起来就得到环路开环增益 T(s) Gvd(s) × C(s) × H(s)。稳定性判据在伯德图上看非常直观增益曲线穿过 0dB 的频点叫穿越频率 fc该频点处相位距离 -180° 还有多少度就是相位裕度相位曲线到达 -180° 的频点处增益距离 0dB 还有多少 dB叫增益裕度。穿越频率是环路设计的第一个关键数字。它不能太高一旦接近开关频率控制环路会抓到开关纹波没法抑制噪声反而把纹波放大成周期性抖动也不能太低越低负载瞬态恢复越慢。工程惯例是取开关频率的 1/10 到 1/20比如 400kHz 的开关频率fc 定在 20kHz 到 40kHz 之间。输出电容比较大的同步 BUCK可以把 fc 略微取高瞬态响应更紧输出电容小、电感大的fc 就往低压。相位裕度 45° 是最低及格线实做我一般按 60° 设计留出元器件和温度漂移的余量。相位裕度低于 30° 的环路负载阶跃时波形会拖出明显振铃甚至等幅振荡高于 75° 之后系统变得很钝瞬态恢复时间拖长没必要。增益裕度按 10dB 以上控制电压模式 BUCK 尤其如此——它的相位曲线在 LC 双极点附近掉得很快不给增益裕度留余量只是相位裕度看着行实际带宽附近一丁点增益波动就可能触发振荡。这些经验值对 BUCK、BUCK-BOOST 都适用和具体拓扑无关。3. 手算补偿参数从穿越频率反推电阻电容值的完整流程3.1 计算前先把数据整理成一张表缺少一项都会返工手算补偿参数最忌讳边算边找数据。开始前我习惯把下面这张表填满缺哪一项就先去查数据手册或者用 LCR 表实测而不是拍脑袋写一个值。表格里的每一项都和后续推导直接相关尤其是 BUCK IC 的关键参数比如参考电压 Vref、误差放大器跨导 gm、电流检测增益这些在芯片手册里往往藏在较深的页码不提前挖出来算到一半会卡住。参数符号来源备注输入电压范围Vin_min / Vin_max系统需求环路计算用 Vin_max输出电压Vout系统需求决定反馈分压比最大负载电流Io_max系统需求决定电感和瞬态性能开关频率fsw芯片手册或设计选择穿越频率取 1/10~1/20电感值L按电流纹波设计确认 CCM/DCM 边界输出电容Cout按纹波和瞬态设计并联电容容量相加电容 ESRESR实测或规格书陶瓷电容注意频率特性参考电压Vref芯片手册决定分压电阻比例误差放大器 gmgm芯片手册决定补偿网络增益反馈分压电阻R_upper / R_lower自行设计用 E96 标准系列这里有两个参数特别容易翻车。一是 Cout 的有效容值X5R/X7R 陶瓷电容在直流偏压接近额定值时实际容值可能衰减到标称值的 30% 到 50%必须用偏置下的有效容值去算不然 LC 双极点频率算错补偿零点就放错了位置。二是 ESR同一个电容在 100kHz 下的 ESR 和 10kHz 下能差好几倍而 ESR 零点是环路里唯一靠电容自身特性拉相位的地方ESR 失真相位裕度就是空中楼阁。有条件的直接用阻抗分析仪测实际工作点的 ESR 曲线没有的话就按数据手册里的最差值算。3.2 Type II 补偿的反推步骤先定穿越频率再反解 R、C以电流模式同步 BUCK 为例很多芯片内部用的是 OTA 型误差放大器跨导 gm 以 μS 为单位输出端是高阻节点补偿网络接在这个节点和地之间。补偿器传递函数可以直接写成 C(s) gm × Z(s)其中 Z(s) 是外部补偿网络的阻抗。反推步骤通常是这样的。第一步确定穿越频率 fc。第二步写出功率级在 fc 处的增益 |Gvd(fc)| 和相位 ∠Gvd(fc)这两个值可以靠公式手算也可以画伯德图读。第三步要求在 fc 处整个环路增益为 1也就是 0dB。功率级增益已知、反馈分压比已知补偿器在 fc 处必须提供的增益就能算出来。第四步把零点放在 LC 双极点频率的 1/2 到 1 倍之间让它在 fc 前把相位拉回来。第五步把高频极点放在 fc 的 3 到 10 倍处压低开关频率附近的增益。第六步反解 R、C 数值。这六步里最容易出错的是第四步的零点位置。零点放得太靠前中频段相位提得太早穿越频率附近的增益曲线会多出一个隆起带宽变宽但相位裕度被压缩零点放得太靠后相位还没拉起来环路就已经穿越了补偿效果打折。零点放在 LC 双极点频率左近从工程经验看是兼顾带宽和裕度的稳妥位置。至于高频极点理论上是越远离 fc 越好但受限于运放带宽和布线寄生一般取 fc 的 5 倍左右再高就会引入额外相移反而得不偿失。3.3 实例5V/3A 同步整流 BUCK 的完整手算过程拿一个典型的电压模式同步整流 BUCK 参数走一遍完整流程。设计条件输入 12V 固定输出 5V/3A开关频率 400kHz电感 10μH输出电容用四颗 22μF 陶瓷电容并联偏置后的有效容值约 80μFESR 约 3mΩ参考电压 0.8V。反馈分压取 R_lower 10kΩ则 R_upper 10k × (5 - 0.8) / 0.8 52.5kΩ反馈分压比 H 0.8 / 5 0.16。import math # 设计输入参数 Vin 12.0 Vout 5.0 Io_max 3.0 fsw 400e3 # 开关频率 400kHz L 10e-6 # 电感 10uH Cout_eff 80e-6 # 陶瓷电容偏置后的有效容值 80uF esr 3e-3 # 等效串联电阻 3mOhm Vref 0.8 # 反馈分压网络 R_lower 10e3 R_upper R_lower * (Vout - Vref) / Vref H Vref / Vout print(f反馈分压电阻: R_upper{R_upper/1e3:.1f}kOhm, R_lower{R_lower/1e3:.1f}kOhm) print(f反馈分压比 H: {H:.3f}) # 功率级特征频率 f_lc 1 / (2 * math.pi * math.sqrt(L * Cout_eff)) f_esr 1 / (2 * math.pi * esr * Cout_eff) print(fLC 双极点频率: {f_lc/1e3:.2f} kHz) print(fESR 零点频率: {f_esr/1e3:.2f} kHz) # 穿越频率取 1/20 开关频率 fc fsw / 20 # 功率级增益在 fc 处低频增益 Vin, 过了 LC 双极点按 -40dB/dec 滚降 Gdc_db 20 * math.log10(Vin) G_fc_db Gdc_db - 40 * math.log10(fc / f_lc) T_fc_db G_fc_db 20 * math.log10(H) comp_gain_db -T_fc_db print(f穿越频率 fc: {fc/1e3:.1f} kHz) print(f功率级分压网络在 fc 的增益: {T_fc_db:.2f} dB) print(f补偿器需要在 fc 提供的增益: {comp_gain_db:.2f} dB) # Type III 零极点分配 fz1 0.5 * f_lc fz2 f_lc fp1 4 * fc fp2 0.5 * fsw print(f零点 fz1: {fz1/1e3:.2f} kHz, 零点 fz2: {fz2/1e3:.2f} kHz) print(f极点 fp1: {fp1/1e3:.2f} kHz, 极点 fp2: {fp2/1e3:.2f} kHz)这段代码把手算过程变成了可复现的脚本。前半段算反馈分压和功率级特征频率后半段做增益补偿计算和零极点分配。代码里最关键的是 G_fc_db 那一行它假设 fc 已经落在 LC 双极点之后的 -40dB/dec 段所以直接用 40 倍的十倍频程斜率去算衰减如果 fc 落在 LC 双极点之前这一行就要换成低频增益计算逻辑完全不同。跑出来的结果LC 双极点约 5.6kHzESR 零点约 663kHz 远高于穿越频率穿越频率 20kHz 处功率级加反馈分压的总增益约 -16.4dB补偿器需要在 fc 处提供约 16.4dB 增益也就是约 6.6 倍。按 Type III 配置两个零点放在 2.8kHz 和 5.6kHz两个极点放在 80kHz 和 200kHz。依据零极点频率和补偿器在 fc 处的增益需求选择 R2 20kΩ 作为补偿网络的基准电阻反推得到 C2 ≈ 2.8nF、C1 ≈ 1.4nF、R1 ≈ 12kΩ、C3 ≈ 100pF。用标准 E96 系列取整后C2 取 2.7nFC1 取 1.5nFR1 取 12kΩ。这里有一个通用检查方法把取整后的值代回公式重新算一遍 fc 处的增益和相位确认偏差在 ±2dB 以内、相位裕度不低于 55°再进仿真。这套流程就是常说的手撕 BUCK虽然现在工具多但手算一遍能让你对每个元件在环路里的角色有具体感觉后面看仿真和实测都有参照。4. 仿真验证不做等于白算STB 分析、探针位置与模型层次4.1 平均模型、理想开关还是 MOSFET 级模型仿真建模的三层选择手算补偿参数只是第一步真正让参数落地的环节是仿真。BUCK 电路的仿真建模有三个层次用途和成本差别很大。第一层是平均模型把开关网络等效成受控源仿真速度最快可以跑参数扫描和蒙特卡洛分析但看不到开关纹波适合验证环路的低频行为。第二层是理想开关模型用电压源和理想 MOS 管去模拟开关动作能看到纹波和瞬态行为仿真速度还可以适合做 STB 分析和负载瞬态仿真。第三层是带寄生参数的 MOSFET 模型比如 GaNFET 同步整流 BUCK 的仿真需要精确的驱动波形和寄生电容参数仿真速度慢适合做最终的效率验证和 EMI 排查不太适合摆在环路调试的第一步。我一般的做法是先用平均模型把补偿参数快速过一遍确认穿越频率和相位裕度都在目标范围内再用理想开关模型搭建完整闭环做 STB 分析和负载瞬态仿真到最后需要出样机前才在 Cadence 或 SPICE 里换上带寄生参数的 MOSFET 完整模型复核一次。这个顺序能帮你把参数问题从模型问题里剥离出来——如果平均模型下环路是稳的换到开关模型就不稳问题多出在采样保持效应和纹波注入而不是补偿参数本身。平均模型和开关模型之间还有一个容易忽略的差异PWM 比较器的延迟。平均模型里占空比随误差信号瞬时变化开关模型里 PWM 比较器有最小导通时间和关断延迟高频相位会有额外滞后。所以用平均模型算出来的相位裕度通常比开关模型要乐观一点如果平均模型下相位裕度只有 45°换成开关模型后很可能跌破 35%。这也是为什么很多工程师仿真做出来相位裕度 60°实测却发现振铃——模型层次不够不是计算错误。4.2 环路口在哪断开STB 仿真的探针放置与两种主流做法STB 仿真稳定性的工具名LTspice 里叫 Middlebrook 探针法Cadence 里叫 stbprobe的核心思想是在环路的某一点注入一个小信号测出该点的环路增益和相位。关键问题只有一个探针该放在哪里。一个常见的错误是把探针放在反馈分压电阻和 FB 引脚之间。FB 引脚是高阻节点阻抗极高探针的寄生电容会影响分压比而且该点信号摆幅极小注入信号稍大会把误差放大器推到非线性区测出来的增益曲线是歪的。另一个错误是把探针放在开关节点 SW 上——那里是方波信号频率成分极其丰富AC 分析里会混入大量开关谐波环路增益曲线在穿越频率附近会出现锯齿状的假峰。经验做法是LTspice 里在输出滤波电容之后、反馈分压网络之前串入一个 0V 电压源作为注入点用电压源的两端分别接输出和反馈网络。0V 电压源不会改变直流工作点AC 分析时配合 1 号交流信号源注入通过计算 V(out)/V(fb) 得到环路增益。这个位置阻抗适中、信号干净是调试时最不容易踩坑的选择。# LTspice 环路增益测量的探针连接示意netlist 片段 Vprobe FB_NET OUT 0 ; 0V 电压源作为注入点 R1 FB_NET FB 10k ; 反馈分压上电阻 R2 FB GND 10k ; 反馈分压下电阻 C2 FB_NET VCOMP 1.5n ; 补偿网络网络 .ac dec 200 100 10meg ; AC 扫描关注 100Hz 到 10MHz这段 netlist 的逻辑其实很清楚Vprobe 是一个 0V 的理想电压源在直流分析中相当于一根导线不影响工作点但在 AC 分析中它作为注入点把输出 OUT 和反馈网络分离开来。R1 和 R2 构成反馈分压C2 连接 FB 节点和补偿输出端。AC 扫描设置 200 个点每十倍频程从 100Hz 扫到 10MHz这个频率跨度已经能覆盖大多数 BUCK 电源的环路频率范围。如果芯片用的是跨导型误差放大器补偿网络是接在 COMP 引脚和地之间的探针位置就得移到 COMP 节点上。在 Cadence 里做同样的分析更简单直接在 Spectre 的 stb 分析里放置 iprobe 器件在环路断开点即可。iprobe 内部会自动注入交流小信号并测量返回信号不需要手动计算传递函数。要注意的是stb 分析要求环路必须是闭环的断开点两边要有直流通路否则工作点建立不起来仿真直接不收敛。遇到这种情况先检查断开点两端的直流偏置再决定是否需要加一个大电阻辅助建立直流工作点。4.3 仿真结果和手算对不上先怀疑这四个地方手算和仿真结果对不上几乎人人都会遇到。排错顺序很重要我一般按照下面四条逐一排查。第一陶瓷电容的直流偏置效应。手算时用了标称容值仿真里也用了标称容值但实际在 5V 输出下电容可能只剩 50% 容值LC 双极点频率比计算值高穿越频率和相位裕度全部偏移。解决方法是把偏置后的有效容值同时更新到计算表和模型里。第二MOSFET 驱动延迟。手算模型通常忽略栅极驱动器的传播延迟但实际驱动电路在开关频率 400kHz 时会有几十纳秒量级的延迟对应到相位上就是几度的滞后频率越高影响越明显。如果仿真用的 MOSFET 模型带栅极电阻这个延迟效应会被显式建模出来和手算结果自然会有差异。第三ESR 的频率特性。输出电容在手算时通常用一个固定 ESR 值但实际电容的 ESR 是频率的函数尤其是电解电容在低频段 ESR 明显偏高。LTspice 里可以给电容模型串联一个频率相关电阻或者直接导入厂商提供的 S 参数模型。作为替代至少要在仿真里显式设置 ESR 值而不是用默认的 0 值——ESR 设 0 会让 ESR 零点跑到无穷远环路在穿越频率附近直接少了 90° 相位仿真结果必然不正常。第四误差放大器的带宽限制。手算时把补偿器当理想运放实际芯片内部误差放大器有自己的带宽一般在 10MHz 到 30MHz 之间高频段增益会滚落。如果你的穿越频率设到了开关频率的 1/10 以上误差放大器带宽对相位裕度的影响就不可忽略。查数据手册里的误差放大器增益带宽积把它加到仿真模型的传递函数里是最快的修正方法。5. 环路补偿避坑手册五个电源工程现场的复盘点5.1 现象相位裕度算出来 60°负载瞬态却持续振铃这是我在调试一个 3.3V/2A 同步 BUCK 时遇到的情况。手算和仿真都显示相位裕度接近 60°但用电子负载做 0.5A 到 2A 的阶跃测试时输出电压振了三个周期才收敛频率大概是穿越频率的 2 到 3 倍。原因是输出电容的 ESR 实际值比计算值低了将近一个数量级ESR 零点位置向高频推移了几倍导致穿越频率附近失去了 ESR 零点提供的相位补偿实际相位裕度不足 35°。解决方法是把电容的交流 ESR 模型做实。我用阻抗分析仪在 10kHz 到 1MHz 范围测了那颗陶瓷电容的阻抗曲线发现它的 ESR 在 100kHz 附近确实只有数据手册标称值的一半不到。把实测 ESR 更新到仿真模型后重新算出来的相位裕度只有 42°和实测振铃现象吻合。之后在补偿网络里增加了一个零点放到 ESR 零点原位置附近瞬态波形恢复干净。这个案例给我的教训是仿真结果再漂亮ESR 参数不准就是白算。5.2 现象STB 仿真结果和手算差了 3 倍以上一次做 5V/3A 电压模式 BUCK 的环路仿真手算穿越频率是 25kHzSTB 仿真出来只有 8kHz一开始以为是计算公式有问题反复核了两遍也没找到错。后来发现是探针放错了位置——我把 0V 电压源放在了反馈分压电阻之后、FB 引脚之前那个节点的等效阻抗有几十千欧STB 注入信号在这个高阻节点上产生了额外的分压环路增益从 0dB 穿越点整体下移带宽被压缩了。把探针移到输出电容之后、反馈分压电阻之前的位置仿真结果和手算就基本对上了。检查 STB 仿真有没有放错探针的方法很简单看低频段的环路增益是不是和手算的直流增益一致。如果不一致先别急着怀疑计算大概率是探针位置或注入信号幅度出了问题。另外注入信号的幅度不要过大一般设 1V 到 100mV 之间太大的注入信号会把误差放大器推出线性区曲线在低频段会出现明显畸变。5.3 现象PFM/轻载跳频模式下环路伯德图是乱的轻载时芯片进入 PFM 或跳周期模式这是同步 BUCK 的常见省电策略。但很多工程师在这种模式下跑 STB 仿真得到一条又抖又乱的曲线穿越频率和相位裕度数值完全读不出来。原因是 PFM 模式是变频工作系统不是时不变的线性小信号模型在数学上根本不成立STB 仿真的 AC 分析前提就崩塌了。解决方法是加一个强制 PWM 模式的控制位。大多数 BUCK 芯片的 PFM 是可以关闭的要么通过 MODE 引脚拉高要么在寄存器里写配置。在强制 PWM 模式下做环路测试测出来的是芯片在 CCM 工作下的本征稳定性PFM 模式下环路线性模型不可用要判断稳不稳定只能看瞬态响应波形有没有持续振荡。我通常在 PFM 模式下用电子负载做非常小的负载阶跃比如 10mA 到 50mA观察输出电压振荡是否能在几个周期内衰减。如果衰减不掉即使强制 PWM 模式下相位裕度合格也要考虑在轻载下加最小负载让系统始终工作在 CCM。5.4 现象低温启动时输出电压振荡好几个毫秒才稳定产品做高低温测试-40℃ 冷启动时输出电压要振荡接近 5 毫秒才稳定下来常温下完全正常。热风枪加热后问题消失基本确定是温度相关的参数漂移。检查后发现两个根源一是输出电解电容的 ESR 在 -40℃ 时比常温高约 8 倍ESR 零点向低频移动了约一个数量级二是芯片内部误差放大器的 gm 随温度降低而下降补偿网络的低频增益不足穿越频率在低温下被压低。解决的思路是不要让补偿参数贴着功率级的边界走。我重新把补偿零点按 -40℃ 下 ESR 零点可能移动到的最高频率来设定同时把穿越频率从开关频率的 1/20 提高到 1/15给低温下 gm 衰减留出增益余量。改完后在恒温箱里做了三档温度-40℃、25℃、85℃的负载瞬态测试最恶劣的 -40℃ 下降振铃压到了 1 个周期以内。设计阶段就把全温度范围的 ESR 和 gm 参数纳入仿真比出了问题再补要省事得多。5.5 现象输出电容换上低 ESR 的 MLCC 后环路反而更容易振荡这是一次替换物料踩的坑。原设计用的是聚合物电解电容ESR 约 20mΩESR 零点在 100kHz 附近为了减小输出纹波把输出电容换成了大容量 MLCCESR 降到 3mΩ 左右纹波确实小了但负载瞬态时振铃变严重了。原因是 MLCC 的低 ESR 把 ESR 零点推到了 500kHz 以上在穿越频率附近少了一个相位提升来源相位裕度直接掉了 20 多度。解决方法是重新调整补偿网络的零点分配。既然 ESR 零点已经远离穿越频率就要把补偿器的一个零点从原来的 LC 双极点位置向后挪覆盖原本 ESR 零点所在的频段。更保险的做法是在补偿网络里额外增加一个零点专门用来应对不同批次电容 ESR 的离散性。这个案例说明了一个选型原则MLCC 的输出纹波性能好但不代表环路易做评估低 ESR 电容时一定要把环路补偿放在一起考量不能只看稳态纹波。6. 用负载瞬态波形反推环路健康度一个快速检验法仿真和计算都通过了最后一道关是实物验证。负载瞬态测试是检查环路稳定性的最直接手段不需要网络分析仪只需要一台带宽足够的示波器和一台支持动态负载的电子负载。测试方法是这样把电子负载设成方波模式低电流点取 10% 满载高电流点取 90% 满载上升沿和下降沿都设成 1A/μs 到 2A/μs频率在 1kHz 左右让环路有足够时间恢复。示波器探头接在输出电容两端用 AC 耦合把垂直刻度放大到 20mV/div 到 50mV/div。读取四个关键指标输出下冲幅度、过冲幅度、恢复时间、振铃次数。判断依据很直接恢复时间在几十微秒量级说明环路响应快下冲幅度不超过额定输出电压的 3% 到 5% 属于健康振铃次数是相位裕度的直观映射——0 到 1 次振铃对应相位裕度约 60° 以上2 到 3 次对应约 45°4 次以上基本就在 30° 以下需要处理。我多年调试养成的习惯是每次改完补偿参数不管仿真结果如何先跑一轮负载瞬态用示波器截图存档。如果振铃次数、恢复时间和仿真预期差距明显再回到仿真里找模型参数的偏差。这样做能让你积累起一套属于自己的“仿真到实物”的映射关系知道仿真里相位裕度做成多少度实物的瞬态波形大概是什么样的。早年我就吃过亏计算加仿真都通过就认为环路没问题结果在客户现场负载拉偏时看到明显的振铃那一次之后任何补偿改动都必须先跑负载瞬态再进产线。这套流程走完BUCK 环路计算、补偿、仿真和验证四个环节才算真正闭环。希望帮到你。本文还有配套的精品资源点击获取
返回列表