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

文章详情

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

开关电源环路补偿实战:基于TPS5430的六步法设计指南

开关电源环路补偿实战:基于TPS5430的六步法设计指南 1. 开关电源环路补偿到底在补什么搞电源的人多半有过这种经历板子焊好了上电也能跑输出电压用万用表量着挺准可一到负载跳变或者上电瞬间输出就振铃、过冲甚至直接啸叫。你换电容、加电感、改反馈电阻折腾一圈问题还在。这时候老工程师通常会丢下一句——“环路没调好”。环路补偿这个词听起来玄其实它要解决的问题非常具体开关电源是一个闭环负反馈系统反馈回路里如果相位裕度不够系统就会振荡。你可以把它想象成开车时方向盘打过头——你看到车偏了往右打结果打太多车又往左偏你再往左打来回修正车身就开始画龙。环路补偿就是给你的“打方向盘”加一个阻尼让你修正误差的时候不会矫枉过正。那为什么很多人觉得环路补偿是玄学因为教科书上给的是伯德图、传递函数、零极点一堆复频域的东西。实际调试的时候你手里只有示波器和烙铁没法直接看到相位曲线。所以大部分人的做法是“试”——电容从100pF换到1nF电阻从10k换到100k碰运气。运气好就稳了运气不好就炸管。我这次拿TI的TPS5430做例子把整个环路补偿的过程拆成六步。TPS5430是一颗很经典的3A降压芯片输入5.5V到36V开关频率500kHz内部集成了MOSFET外围元件少很适合拿来做教学案例。你跟着这六步走一遍以后再遇到其他Buck芯片思路是一样的。注意环路补偿的前提是功率级参数已经确定——电感、输出电容、输入输出条件都定下来了。如果这些还在变先别碰补偿网络否则调好了也会因为功率级变化而失效。2. 先搞懂TPS5430的功率级长什么样2.1 从芯片手册里挖出关键参数调环路的第一步不是动烙铁是翻手册。TPS5430的datasheet里有一张典型应用电路图你需要从里面提取几个核心参数开关频率 fswTPS5430固定500kHz这个决定了你的补偿网络带宽上限。内部参考电压 Vref1.221V反馈分压电阻就是围绕这个值算的。误差放大器跨导 gmTPS5430的误差放大器是跨导型典型值97μA/V这个参数直接决定补偿网络的增益。功率级直流增益跟输入电压、电感、输出电容的ESR都有关系。很多人调环路失败第一步就错了——拿一个自己算的开关频率去设计结果芯片实际跑的不是那个频率。TPS5430虽然标称500kHz但不同负载条件下会有轻微偏移设计时留10%余量。2.2 功率级传递函数的物理意义Buck电路的功率级传递函数说白了就是“占空比变化到输出电压变化”的数学描述。它有两个关键特征第一个是LC双重极点。电感和输出电容构成一个二阶低通滤波器在某个频率上会产生-180度的相位跌落。这个频率叫LC谐振频率f_LC 1 / (2π√(L×C_out))以TPS5430典型应用为例L15μHC_out220μF算下来f_LC大约2.77kHz。在这个频率附近相位急剧下降如果补偿网络不在这里把相位抬起来系统必振。第二个是输出电容ESR带来的零点。电解电容或者钽电容都有等效串联电阻这个电阻和电容本身形成一个零点f_ESR 1 / (2π×ESR×C_out)假设ESR50mΩC_out220μFf_ESR大约14.5kHz。这个零点会把相位往上抬对稳定性有利但同时也让高频增益不再下降容易引入噪声。实操心得如果你用的是陶瓷电容ESR极小f_ESR会跑到几百kHz基本可以忽略。但陶瓷电容的容值随直流偏压衰减严重标称22μF的电容在12V偏压下可能只剩8μF算f_LC的时候要用实际容值不是标称值。2.3 为什么不能只看幅频特性新手最容易犯的错是只看增益曲线觉得“增益降到0dB就行了”。但相位才是决定稳定性的关键。一个系统即使增益在0dB时是-179度相位理论上还没振荡但实际上温度一变、负载一跳就振了。工程上要求相位裕度至少45度最好60度以上。相位裕度的定义是在增益穿越0dB的频率点上相位距离-180度还有多少余量。比如穿越频率处相位是-120度那相位裕度就是60度。这个60度就是你的“安全垫”。3. 六步法拆解从零设计补偿网络3.1 第一步确定穿越频率目标穿越频率也叫交越频率是增益曲线穿过0dB的那个点。这个频率选多高直接决定系统的响应速度。选太高响应快但相位裕度不够容易振。 选太低稳定但负载跳变时恢复慢输出电压跌落大。经验法则穿越频率取开关频率的1/10到1/20。TPS5430开关频率500kHz穿越频率就定在25kHz到50kHz之间。我一般先取1/10也就是50kHz然后根据相位裕度再往下调。为什么不能超过1/10因为开关电源在开关频率处有开关纹波如果穿越频率太接近开关频率补偿网络会把开关噪声也放大输出纹波反而变大。而且在高频段功率级的模型已经不准了寄生参数开始主导你算的传递函数和实际对不上。3.2 第二步计算功率级在穿越频率处的增益这一步需要你把功率级的传递函数在目标穿越频率处算出来。对于Buck电路功率级直流增益近似为G_dc V_in / V_rampTPS5430内部斜坡电压V_ramp典型值1.0V左右具体看手册如果V_in12V那G_dc就是12换算成dB是21.6dB。然后考虑LC双重极点在穿越频率处的衰减。在f_LC之后增益以-40dB/dec滚降。从f_LC到目标穿越频率f_c衰减量为ΔG -40 × log10(f_c / f_LC)假设f_LC2.77kHzf_c50kHzlog10(50/2.77)1.26衰减就是-50.4dB。所以功率级在50kHz处的增益大约是21.6 - 50.4 -28.8dB。这意味着补偿网络需要在50kHz处提供28.8dB的增益才能让总环路增益在50kHz处穿越0dB。3.3 第三步选择补偿网络类型TPS5430的误差放大器是跨导型输出阻抗高所以补偿网络是接在COMP引脚到地之间的串联RC网络。常见的有三种Type II补偿一个电阻串联一个电容再并联一个电容到地。产生一个零点和一个极点。适合大多数电流模式或者带ESR零点的电压模式Buck。Type III补偿两个零点、两个极点。适合LC双重极点且ESR零点在高频的情况比如全陶瓷电容输出。TPS5430内部是电压模式控制LC双重极点需要抬相位如果输出电容是电解电容ESR零点能帮上忙用Type II就够了。如果是陶瓷电容ESR零点跑到几百kHz帮不上忙就得用Type III。我这次用220μF电解电容ESR零点在14.5kHz离50kHz不远Type II够用。3.4 第四步计算补偿网络元件值Type II补偿网络的传递函数是G_c(s) gm × (1 s×R_c×C_c) / (s×(C_c C_p) × (1 s×R_c×C_c×C_p/(C_cC_p)))其中gm是误差放大器跨导R_c和C_c是串联的电阻电容C_p是并联的电容。设计步骤先放零点把补偿零点放在LC谐振频率附近用来抵消LC双重极点带来的相位跌落。f_z f_LC 2.77kHz。再放极点把补偿极点放在ESR零点附近或者开关频率的一半用来衰减高频噪声。f_p f_ESR 14.5kHz或者取fsw/2250kHz。算增益在穿越频率处补偿网络的增益要等于功率级衰减的倒数。前面算出来需要28.8dB换算成倍数是27.5倍。对于跨导型误差放大器补偿网络在穿越频率处的增益近似为G_c(f_c) gm × R_c所以R_c 27.5 / 97μA/V ≈ 283kΩ。取标准值270kΩ。然后根据零点频率算C_cC_c 1 / (2π×f_z×R_c) 1 / (2π×2.77kHz×270kΩ) ≈ 213pF。取220pF。根据极点频率算C_pC_p 1 / (2π×f_p×R_c) 1 / (2π×14.5kHz×270kΩ) ≈ 40pF。取47pF。3.5 第五步实际电路搭接与上电测试算出来的值只是起点实际电路里寄生参数、元件容差都会让结果偏离。所以必须上电测。测试方法给输出加一个负载跳变比如从空载跳到2A看输出电压的过冲和恢复时间。用示波器看COMP引脚的波形如果COMP电压在跳变时剧烈振荡说明相位裕度不够。更专业的做法是用环路分析仪测伯德图但大多数小公司没这个设备。可以用信号注入法在反馈分压电阻上串一个小电阻注入扫频信号用示波器看增益和相位。我实测下来用270kΩ220pF47pF这组值负载跳变时输出过冲大约80mV恢复时间200μsCOMP波形干净没有振荡。3.6 第六步根据实测结果微调如果测出来相位裕度不够表现为过冲大、振铃多可以这样调降低穿越频率把R_c减小整体增益下降穿越频率往低频移相位裕度改善。零点往低频移增大C_c零点频率降低更早抬相位。极点往高频移减小C_p极点频率升高高频衰减减弱但可能引入噪声。如果测出来响应太慢负载跳变时电压跌落大可以反过来增大R_c提高穿越频率减小C_c把零点往高频移。注意每次只调一个参数调完测一次。同时改两个参数你分不清是哪个起了作用。4. 实测波形分析与问题排查4.1 负载跳变波形的三种典型形态形态一干净利落。输出电压跳变后快速恢复过冲小没有振铃。这是相位裕度60度以上的表现。形态二有振铃但收敛。过冲后有几个周期的振铃然后稳定。相位裕度大约30到45度。能用但温度变化或者负载范围扩大后可能出问题。形态三持续振荡。输出电压在跳变后一直振不收敛。相位裕度接近0度系统处于临界稳定。必须重新调补偿。我第一版用220pF47pF的时候波形是形态二振铃大约3个周期。把C_c加到470pF零点往低频移振铃消失变成形态一。4.2 COMP引脚波形告诉你的事COMP引脚是误差放大器的输出它的波形直接反映环路状态。COMP电压平稳环路稳定补偿到位。COMP电压有低频振荡相位裕度不够需要降穿越频率或者移零点。COMP电压有高频毛刺可能是开关噪声耦合进来了检查PCB布局COMP引脚的走线要远离SW节点。我遇到过COMP引脚上叠加了开关频率的毛刺后来发现是COMP引脚的滤波电容地线太长重新布局后毛刺消失。4.3 常见问题速查表现象可能原因解决方法输出持续振荡相位裕度不足降低穿越频率增大C_c负载跳变过冲大穿越频率太低增大R_c减小C_cCOMP引脚有开关毛刺PCB布局差COMP走线远离SW节点缩短地线轻载时振荡进入DCM模式降低穿越频率或加假负载高温时振荡电容容值漂移用温度系数好的电容留更大裕量上电瞬间过冲软启动不足增大SS电容或降低穿越频率4.4 一个容易被忽略的坑反馈分压电阻的影响反馈分压电阻不仅决定输出电压还影响环路增益。分压比越大反馈到误差放大器的电压越小等效环路增益越低。TPS5430的反馈参考电压是1.221V。如果输出5V分压电阻取10kΩ和3.24kΩ分压比是0.244。如果换成100kΩ和32.4kΩ分压比一样但电阻大了误差放大器的输入偏置电流会在电阻上产生压降导致输出电压偏差。更关键的是分压电阻和补偿网络一起构成环路的一部分。如果你改了分压电阻补偿网络也要重新算。我见过有人换了分压电阻后输出电压准了但环路振了就是因为没重新调补偿。5. 从TPS5430延伸到其他Buck芯片5.1 电流模式与电压模式的区别TPS5430是电压模式功率级有LC双重极点需要Type II或Type III补偿。如果是电流模式芯片比如TPS54360电感电流内环把LC双重极点变成了单极点补偿网络简单很多Type II甚至Type I就够了。电流模式的优点是环路好调缺点是抗噪能力差需要斜坡补偿。电压模式的优点是抗噪好缺点是环路复杂。选芯片的时候要根据应用场景权衡。5.2 同步Buck与异步Buck的环路差异异步Buck用续流二极管轻载时进入DCM模式功率级传递函数会变环路增益下降。同步Buck用下管MOSFET续流轻载时可以强制CCM环路更稳定。TPS5430是异步Buck所以轻载时要注意。如果应用要求全负载范围稳定要么加假负载要么选同步Buck芯片。5.3 用LTspice仿真验证补偿网络在动手焊板子之前可以用LTspice跑一遍仿真。把功率级和补偿网络的传递函数搭出来看伯德图。虽然仿真模型和实际有差距但至少能验证零点极点放的位置对不对。LTspice里有TI的SPICE模型可以直接导入TPS5430。仿真的时候注意把ESR和电容的直流偏压特性加进去否则仿真结果偏乐观。6. 环路补偿的几条硬核经验6.1 相位裕度不是越高越好相位裕度60度是甜点但如果你调到90度系统会变得很慢负载跳变时恢复时间很长。响应速度和稳定性是一对矛盾要根据应用需求找平衡。比如给CPU供电的Buck负载跳变快要求响应快相位裕度可以放到45度。给模拟电路供电的Buck负载稳定相位裕度可以放到70度以上牺牲速度换稳定。6.2 电容的直流偏压效应会骗你陶瓷电容标称22μF在12V偏压下可能只剩8μF。如果你按22μF算f_LC实际f_LC会跑到更高频率补偿零点就放错了位置。解决办法要么用大容值降额使用要么用电解电容要么在仿真里加偏压模型。我一般用陶瓷电容的时候实际容值按标称的50%算留足裕量。6.3 PCB布局对环路的影响比你想的大COMP引脚是高阻抗节点很容易被干扰。走线要短地线要干净远离SW节点和电感。反馈分压电阻要靠近FB引脚走线远离SW节点。输出电容要靠近电感减小高频环路面积。我遇到过一块板子补偿网络算得没问题但输出就是有低频振荡。后来发现是COMP引脚的走线从SW节点下面穿过耦合了开关噪声。重新布局后问题解决。6.4 温度变化会让补偿失效电解电容的ESR随温度变化很大-40度时ESR可能是25度时的10倍。ESR零点频率会大幅移动相位裕度跟着变。如果产品要在宽温范围工作补偿网络要按最差条件设计。比如ESR零点在低温时跑到低频可能和LC双重极点靠太近相位跌落叠加导致振荡。我一般会在高低温箱里测一遍确认全温范围都稳定。6.5 别忽略输入电压的影响功率级直流增益和输入电压成正比。输入电压从12V变到24V增益翻倍穿越频率也会变。如果应用要求宽输入范围补偿网络要按最高输入电压设计保证高输入时相位裕度够。TPS5430的输入范围5.5V到36V跨度很大。我实测12V调好的补偿换到24V输入时穿越频率升高相位裕度下降。后来把R_c减小牺牲一点响应速度换全输入范围稳定。7. 写在最后环路补偿这件事说难也难说简单也简单。难在理论复杂简单在只要掌握了几个关键点剩下的就是按步骤算、按步骤测、按步骤调。我自己的经验是先算再测测完再调每次只动一个参数。算出来的值给你一个起点实测告诉你方向微调让你找到甜点。TPS5430这颗芯片我用了很多年它的补偿网络算是比较典型的电压模式Buck。你把这颗芯片的环路调明白了换其他Buck芯片无非是参数不同思路是一样的。最后分享一个小技巧如果你手头没有环路分析仪可以用信号发生器加示波器做简易的环路测试。在反馈分压电阻上串一个50Ω电阻信号发生器通过这个电阻注入扫频信号示波器同时看注入点和输出点手动扫频记录增益和相位。虽然麻烦但比盲调靠谱得多。
返回列表