2026/10/6 1:41:35

Buck环路补偿实战:普通运放与跨导运放的设计与选型

Buck环路补偿实战:普通运放与跨导运放的设计与选型 1. 环路补偿到底在补什么从Buck的传递函数说起搞电源的人都有一个共识Buck功率级本身是个“不听话”的家伙。你给它一个占空比指令它不会老老实实立刻输出对应电压而是先振荡几下、延迟一会儿才慢慢稳定下来。环路补偿要干的事就是给这个“不听话”的功率级配一个“管教方案”让整个闭环系统在动态响应和稳定性之间找到平衡点。1.1 为什么Buck功率级必须做补偿先看Buck在CCM模式下的功率级传递函数。以电压模式控制为例从控制到输出的传递函数大致是这样的形式Gvd(s) Vin * (1 s/(ω_esr)) / (1 s/(Q*ω_0) (s/ω_0)^2)这里面藏着两个关键信息。第一LC滤波器构成了一个双极点在频率ω_0 1/√(LC)处产生-40dB/dec的增益滚降同时相位急剧下降180度。第二输出电容的ESR带来一个左半平面零点在ω_esr 1/(R_esr*C)处把相位往回拉一点。问题就出在那个双极点上。当频率超过ω_0之后增益以-40dB/dec的速度往下掉相位已经接近-180度。如果这时候环路增益还没降到0dB以下系统必然振荡。更要命的是PWM调制器和采样保持还会引入额外的延迟进一步恶化相位。所以补偿网络的核心任务就两个在穿越频率附近把相位抬起来保证足够的相位裕度把低频增益做高保证直流精度和负载调整率。这两件事听起来简单做起来就是另一回事了。1.2 补偿网络的三种基本形态实际工程中补偿网络基本逃不出三种形态Type I补偿就是一个积分器纯电容反馈。低频增益无穷大但相位永远-90度只适合电流模式控制或者有足够相位余量的场合。Type II补偿一个极点、一个零点、一个原点极点。这是Buck最常用的补偿形式零点用来抵消LC双极点中的一个原点极点提供高直流增益。Type III补偿两个极点、两个零点、一个原点极点。适合电压模式控制中LC双极点都需要补偿的场合相位可以抬到-90度以上。Type II和Type III的区别本质上就是你需要补多少相位。电流模式控制下电感电流内环把LC双极点拆成了一个单极点所以Type II就够了。电压模式控制下双极点还在就得用Type III。注意很多新手一上来就抄Type III觉得“补得多肯定更稳”。实际上补偿过头会导致高频段增益太高开关噪声和ESR零点反而会引发高频振荡。补偿要的是“刚刚好”不是“越多越好”。1.3 穿越频率怎么定一个被低估的关键决策穿越频率也叫交越频率是整个补偿设计的锚点。它决定了系统的响应速度也决定了你能拿到多少相位裕度。经验法则大家都听过穿越频率取开关频率的1/10到1/5。但这个范围其实很宽具体取多少要看几个因素开关频率500kHz的Buck穿越频率可以做到50k到100kHz100kHz的Buck穿越频率可能只有10k到20kHz。输出电容的ESR零点如果ESR零点很低穿越频率不能超过它太多否则相位会掉。右半平面零点Boost和Buck-Boost有RHPZBuck在CCM下没有但如果是同步Buck工作在强制PWM模式轻载时可能进入DCM传递函数会变。采样延迟PWM比较器和采样保持引入的延迟大约是一个开关周期这个延迟在穿越频率处贡献的相位损失是360*fc/fsw度。如果fcfsw/10损失36度如果fcfsw/5损失72度。这就是为什么穿越频率不能取太高的根本原因。我个人的习惯是先用fsw/10做初步设计算完相位裕度再看能不能往上推。如果相位裕度有60度以上可以试着把fc提到fsw/8甚至fsw/6如果相位裕度只有45度左右就老老实实待在fsw/10。2. 普通运放做补偿电压型误差放大器的实战细节普通运放电压反馈型运放做补偿是教科书上最经典的方案。它的工作原理很简单运放的同相端接参考电压反相端接反馈分压输出经过RC网络反馈到反相端形成Type II或Type III补偿。2.1 电压型补偿网络的传递函数推导以Type II补偿为例电路结构是运放反相端通过R1接输出电压分压点反馈网络是R2和C1串联后再并联C2。传递函数推导过程如下Z_in R1 Z_fb (R2 1/(s*C1)) || (1/(s*C2)) (1 s*R2*C1) / (s*(C1C2) s^2*R2*C1*C2) Gc(s) -Z_fb/Z_in -(1 s*R2*C1) / (s*R1*(C1C2) s^2*R1*R2*C1*C2)整理成标准形式Gc(s) - (1 s/ω_z) / (s/ω_p0 * (1 s/ω_p1))其中原点极点ω_p0 1/(R1*(C1C2))零点ω_z 1/(R2*C1)高频极点ω_p1 (C1C2)/(R2C1C2)这个网络在低频段以-20dB/dec滚降在ω_z处转为平坦在ω_p1处再次以-20dB/dec滚降。相位在ω_z和ω_p1之间抬升最大相位提升大约70度左右。2.2 参数计算从目标相位裕度反推RC值假设一个实际案例Vin12VVout3.3VIout5Afsw500kHzL2.2μHCout47μFESR5mΩ。第一步算LC双极点ω_0 1/√(2.2e-6 * 47e-6) 1/√(1.034e-10) 98.3k rad/s f_0 15.6kHz第二步算ESR零点f_esr 1/(2π*5e-3*47e-6) 677kHz第三步定穿越频率。取fsw/1050kHz。在50kHz处LC双极点已经贡献了-40dB/dec的滚降功率级增益大约|Gvd(50kHz)| ≈ Vin / (ω_0^2 * L * C) * (ω_0/ω_c)^2这个公式展开比较麻烦实际用仿真或者Excel算更快。假设算出来功率级在50kHz处增益是-20dB那么补偿网络需要在50kHz处提供20dB增益。第四步配置Type II补偿。零点放在LC双极点附近取f_z15kHz高频极点放在ESR零点附近取f_p1500kHz。计算RC值取R110kΩ反馈分压上电阻兼顾功耗和噪声由f_z1/(2πR2C1)15kHz且f_p1(C1C2)/(2πR2C1*C2)500kHz先取C1C2则f_p1≈1/(2πR2C2)联立解得R2≈1/(2π15kC1)C2≈1/(2π500kR2)实际取值需要迭代几次因为C1和C2的比值会影响零点和极点的精确位置。我一般用Excel做个表格输入目标f_z和f_p1自动算出R2、C1、C2然后取标准值再验算。2.3 普通运放的选型要点不是随便拿个运放就能做补偿。电压型补偿对运放的要求主要有几条GBW增益带宽积至少是穿越频率的10倍以上。如果fc50kHzGBW至少500kHz实际建议1MHz以上。GBW不够会导致高频段相位额外下降。压摆率SR在负载瞬变时运放输出要快速摆动。SR不够会导致恢复时间变长甚至出现大信号振荡。一般要求SR 2πfcVout。输入失调电压Vos直接影响输出直流精度。Vos1mV在3.3V输出上就是0.03%的误差一般够用。如果要高精度选Vos100μV的。输入偏置电流Ib如果R1取得大Ib会在R1上产生额外压降。Ib10nAR110kΩ误差只有0.1mV可以忽略。但如果R11MΩ误差就是10mV不能忽略。实操心得我见过不少人用LM358做补偿结果负载瞬变时输出掉一大截。LM358的GBW只有1MHzSR只有0.3V/μs在50kHz穿越频率下勉强能用但动态响应很差。换成TLV9062或者OPA2376这种GBW10MHz、SR5V/μs以上的效果立竿见影。2.4 电压型补偿的PCB布局要点电压型补偿网络对噪声很敏感因为高阻抗节点运放反相端容易耦合噪声。PCB布局要注意补偿网络的RC尽量靠近运放反相端走线越短越好。反相端的走线要远离开关节点SW节点最好用地平面隔离。反馈分压电阻靠近运放分压点走线不要经过功率级下方。运放供电引脚要加去耦电容100nF1μF组合尽量靠近引脚。3. 跨导运放做补偿电流型误差放大器的不同玩法跨导运放OTAOperational Transconductance Amplifier和普通运放的本质区别在于普通运放是电压输入电压输出跨导运放是电压输入电流输出。它的输出电流与差分输入电压成正比比例系数就是跨导gm。3.1 跨导运放的工作原理与补偿网络结构跨导运放的符号和普通运放很像但输出端是一个电流源。它的传递函数是I_out gm * (V - V-)做补偿时跨导运放的输出电流直接灌入补偿网络通常是RC串联到地在补偿网络上产生电压这个电压再去和PWM比较器的斜坡比较。补偿网络的结构很简单一个电阻Rc和一个电容Cc串联再并联一个电容Cp。传递函数是Z_comp(s) (1 s*Rc*Cc) / (s*(CcCp) s^2*Rc*Cc*Cp)整体环路增益是T(s) gm * Z_comp(s) * Gvd(s) * (1/Vramp)其中Vramp是PWM斜坡幅度。3.2 跨导运放补偿的参数计算还是用上面的案例Vin12VVout3.3Vfsw500kHzL2.2μHCout47μF。跨导运放的gm通常是固定值比如100μS到1mS。假设gm200μSVramp1V。补偿网络的设计思路和电压型类似但计算方式不同。因为跨导运放的输出是电流补偿网络的阻抗直接决定了增益。在穿越频率fc50kHz处需要的环路增益为10dB。功率级在50kHz处的增益假设是-20dB0.1倍。那么gm * |Z_comp(50kHz)| * 0.1 / 1 1 |Z_comp(50kHz)| 1 / (0.2m * 0.1) 50kΩ所以补偿网络在50kHz处的阻抗模值要是50kΩ。然后根据零点和极点的位置分配Rc、Cc、Cp。零点放在15kHz极点放在500kHz在15kHz以下Z_comp≈1/(s*Cc)阻抗随频率下降在15kHz处零点起作用阻抗变平在500kHz处极点起作用阻抗再次下降计算Rc 50kΩ在平坦区的阻抗 Cc 1/(2π*15k*50k) 212pF Cp 1/(2π*500k*50k) 6.4pF实际取值Rc51kΩCc220pFCp6.8pF。3.3 跨导运放的优势与适用场景跨导运放做补偿有几个天然优势补偿网络简单不需要反馈电阻RC直接到地布局更紧凑。带宽要求低跨导运放的带宽通常不需要很高因为它的输出是电流补偿网络的阻抗在低频段很高增益自然就上去了。适合集成很多电源IC内部集成的误差放大器就是跨导型外部只需要接RC。抗噪声能力强补偿网络是低阻抗节点相对于电压型的高阻抗反相端噪声耦合更少。但跨导运放也有缺点gm随温度变化跨导值会随温度漂移导致环路增益变化。一般gm的温度系数在-0.3%/°C左右工业级温度范围内变化可能超过20%。输出摆幅受限跨导运放的输出电流有限补偿网络阻抗不能太大否则输出会饱和。直流精度依赖gm低频增益是gm*Rcgm不准会导致直流增益不准。注意跨导运放的gm通常有较大的初始误差±30%甚至更多设计时要留足余量。如果对直流精度要求高建议用电压型运放。3.4 跨导运放补偿的PCB布局要点跨导运放的补偿网络布局相对简单但有几个坑要注意补偿网络的RC要靠近跨导运放输出引脚走线尽量短。如果Cp很小几pF要注意PCB寄生电容的影响。走线长度每增加1mm寄生电容大约0.1pF如果Cp只有6.8pF走线长了会影响极点位置。跨导运放的输出是高阻抗节点要远离开关节点和电感。如果补偿网络的地线要单独走不要和功率地混在一起。4. 两种方案的正面对比什么时候用哪个普通运放和跨导运放做补偿没有绝对的优劣关键看应用场景和设计约束。4.1 关键参数对比对比项普通运放电压型跨导运放电流型补偿网络结构反馈式RC接在反相端和输出之间对地式RC接在输出和地之间传递函数由Z_fb/Z_in决定由gm*Z_comp决定低频增益由R2/R1决定可以很精确由gm*Rc决定gm误差大带宽要求GBW10*fc带宽要求低噪声敏感度高高阻抗节点低低阻抗节点温度稳定性好gm温漂影响增益布局复杂度较高较低适合场景高精度、高动态响应集成化、低成本、低噪声4.2 选型决策树我一般按这个逻辑来选如果电源IC内部已经集成了误差放大器看它是电压型还是跨导型。如果是跨导型外部只能接RC到地没得选。如果是电压型外部可以接反馈网络。如果自己搭分立补偿电路优先考虑电压型运放因为增益精度高、温度稳定性好。除非对布局空间有极端要求或者噪声环境特别恶劣。如果穿越频率要求很高fsw/6电压型运放更合适因为跨导运放的gm带宽可能不够。如果对成本极度敏感跨导运放通常更便宜而且外部元件少。如果对直流精度要求高1%电压型运放因为gm的初始误差和温漂会直接影响输出精度。4.3 混合方案的可行性有人问能不能用普通运放搭成跨导型理论上可以在运放输出串一个大电阻输出电流约等于Vout/R等效gm1/R。但这样做的缺点是等效gm由电阻决定精度高但温漂取决于电阻输出电流能力受运放输出摆幅限制需要额外的电阻增加成本和布局面积实际工程中这种混合方案很少用因为专门的跨导运放更简单、更便宜。5. 实操中踩过的坑与排查技巧补偿电路设计完了不代表就能稳定工作。实际调试中遇到的问题往往比理论计算复杂得多。5.1 常见问题速查表现象可能原因排查方法解决方法输出低频振荡几百Hz相位裕度不足穿越频率太低测环路增益看相位裕度增大Rc或减小Cc提高零点频率输出高频振荡几十kHz高频极点太远开关噪声耦合示波器看SW节点和输出减小Cp或增大Rc拉近高频极点负载瞬变恢复慢穿越频率太低测负载阶跃响应提高穿越频率减小Cc负载瞬变过冲大相位裕度不足测阶跃响应过冲量调整零点位置增加相位裕度输出直流误差大运放Vos大或gm误差大测直流输出电压换低Vos运放或校准gm温度变化后不稳定gm温漂或电容温漂高低温测试选温度系数好的元件留余量轻载时振荡进入DCM模式传递函数变化轻载下测环路增加假负载或调整补偿5.2 环路测试的实操方法测环路增益最常用的方法是注入法在反馈分压点和补偿网络之间注入一个小信号测注入点两端的电压比。具体操作在反馈分压电阻和运放反相端之间串一个10Ω电阻注入电阻。用频率响应分析仪或者带扫频功能的示波器在注入电阻两端加扫频信号。测注入电阻两端的电压V_inj和运放输出电压V_out。环路增益T V_out/V_inj注意方向。如果没有专业设备可以用信号发生器和示波器手动扫频但效率很低。我一般用Bode 100或者OMICRON Lab的Bode Analyzer配合注入变压器测起来很快。实操心得注入电阻不能太大否则会影响直流工作点也不能太小否则注入信号太弱。10Ω到50Ω是比较合适的范围。注入信号幅度也要控制一般10mV到50mV太大会导致运放非线性。5.3 相位裕度的快速估算没有频响分析仪的时候可以用阶跃响应来估算相位裕度过冲量5%相位裕度65度过冲量5%-10%相位裕度55-65度过冲量10%-20%相位裕度45-55度过冲量20%相位裕度45度需要重新补偿这个方法虽然不精确但能快速判断系统是否稳定。我一般在调试初期用这个方法快速迭代最后再用频响分析仪确认。5.4 PCB布局的避坑清单补偿网络的地线一定要单独走回到运放的地引脚不要和功率地混在一起。功率地上的开关噪声会通过地线耦合到补偿网络。反馈分压的走线远离电感和SW节点最好用地平面包起来。分压点的走线越长耦合的噪声越多。运放供电去耦100nF和1μF并联尽量靠近运放引脚。如果运放离电源IC远还要加10μF。补偿电容的选型C0G/NP0电容温度系数好但容量小X7R容量大但温度系数差。补偿网络里尽量用C0G如果容量不够可以并联。电阻的选型薄膜电阻比厚膜电阻温度系数好精度高。补偿网络里的电阻建议用1%精度的薄膜电阻。6. 从仿真到实测一个完整的补偿设计流程理论算完了仿真跑通了不代表实测就能过。我一般按这个流程走6.1 第一步用SIMPLIS或LTspice做环路仿真SIMPLIS做开关电源仿真速度快适合跑环路。LTspice免费但跑开关电源环路仿真比较慢。仿真时要注意用平均模型而不是开关模型速度快很多注入信号用AC扫描不要用瞬态仿真结果和实测会有差异主要是寄生参数和延迟6.2 第二步搭板实测第一版板子回来之后先不急着焊补偿网络先测功率级开环传递函数。具体做法断开补偿网络给一个固定的占空比在占空比上叠加一个小信号测输出电压扫频得到功率级传递函数然后根据实测的功率级传递函数重新计算补偿网络参数。这一步很关键因为仿真模型和实际电路总有差异。6.3 第三步闭环调试焊上补偿网络测环路增益和相位裕度。如果相位裕度不够按这个顺序调先调零点位置零点往低频移相位提升更早但低频增益会下降再调高频极点极点往低频移高频噪声抑制更好但相位裕度会下降最后调穿越频率如果相位裕度够可以适当提高穿越频率改善动态响应6.4 第四步全工况验证补偿网络调好之后要验证各种工况满载、半载、轻载输入电压最低、典型、最高高低温负载阶跃10%-90%、90%-10%输入阶跃每个工况都要测相位裕度和动态响应确保没有异常。实操心得我见过很多设计在常温满载下很稳一到低温轻载就振荡。原因是低温下电容容量下降、ESR上升零点频率变了轻载下进入DCM传递函数也变了。所以全工况验证不能省。7. 几个容易被忽略的细节7.1 运放输出摆幅的限制补偿网络的输出不能超过运放的输出摆幅。如果运放供电是3.3V输出摆幅可能只有0.1V到3.2V。在负载瞬变时运放输出要快速摆动如果摆幅不够恢复时间会变长。选运放时要看输出摆幅指标最好是Rail-to-Rail输出。如果做不到至少保证在最大负载变化时运放输出不会饱和。7.2 补偿网络的初始条件上电瞬间输出电容还没充电反馈电压为0运放输出会饱和到最高。这时候补偿网络的电容会被充电到某个电压影响软启动过程。解决方法加软启动电路让参考电压慢慢上升在补偿电容上并联一个二极管限制初始电压用带软启动功能的电源IC7.3 跨导运放的输出阻抗跨导运放的输出阻抗通常很高几十kΩ到几百kΩ这个阻抗和补偿网络并联会影响传递函数。如果输出阻抗不够高低频增益会下降。选跨导运放时要看输出阻抗指标一般要求100kΩ。如果不够可以在输出加一个缓冲器但会增加成本。7.4 电容的直流偏压效应X7R和X5R电容在直流偏压下容量会大幅下降。比如一个47μF的X7R电容在3.3V偏压下可能只有20μF。这会导致LC双极点频率上移补偿网络的零点位置就不对了。解决方法用C0G电容但容量小、成本高用聚合物电容偏压效应小降额使用选大一号的电容在仿真和计算时考虑偏压后的实际容量这个坑我踩过好几次尤其是输出电容用X7R的时候。后来养成习惯选电容先看偏压曲线再算实际容量。8. 写在最后Buck环路补偿这件事理论很重要但经验更重要。书本上的公式能帮你算出初始值但实际调试中的问题往往要靠经验来判断。普通运放和跨导运放的选择没有标准答案。我个人的习惯是如果电源IC内部集成了跨导运放就用跨导型外部RC调起来方便如果自己搭分立电路优先用电压型运放增益精度和温度稳定性更好。补偿网络调完之后一定要做全工况验证。常温满载稳不代表低温轻载也稳仿真通过不代表实测通过。多测几个工况多留一点余量比什么都重要。最后分享一个小技巧如果调试时发现相位裕度总是差一点可以试着把补偿网络的电阻换成电位器边调边测找到最佳值再换成固定电阻。这个方法虽然土但很有效。