搜“LC滤波”资料的人很多,但真正能把“加了LC滤波之后的闭环系统为什么容易不稳、怎么稳下来”讲透的,确实不多。我见过太多次这样的场景:样机单独测纹波,波形干净得像一条直线;一接上反馈环路跑满载,输出电压就开始周期性地“呼吸”,示波器上的振荡频率既不是开关频率,也不是工频,而是几百赫兹到几万赫兹之间的某种“低频抽风”。拿环路分析仪一扫,0dB穿越点附近增益曲线异常陡峭,相位余量基本归零——问题就出在LC滤波器给系统引入了一对二阶极点,它像一台“放大器”,在某些频率上把增益顶起一大截,而闭环控制环路恰好在这个频段睁大了眼睛,于是振铃、啸叫、输出失真全来了。这篇文章我会从LC滤波的频响本质说起,拆解它为什么危险,再给出相位裕度、增益裕度、穿越频率这些判据的实际用法,以及补偿网络设计和仿真实测的完整路径。无论你是刚入门电源设计的学生,还是正在给后端负载加输出滤波的硬件工程师,这篇都能帮你少走几个大弯。
1. LC滤波器为什么是“天生的振荡嫌疑犯”
1.1 从时域里的“平滑”到频域里的“尖峰”
一个经典的输出LC滤波电路,就是一个电感L串联在输出回路中,电容C并联在负载端,本质上是一个二阶低通滤波器。它的作用是让电源的开关纹波在被幅频特性衰减之后才到达负载端,所以示波器上看输出会“平滑”。但代价是:它在频域里出现了一个谐振峰。
谐振频率公式是:
f_LC = 1 / (2π * sqrt(L * C))
在谐振频率附近,电感的感抗和电容的容抗在数值上相等、相位上相反,它们组成的串联/并联网络会对能量交换产生强烈的“共振”。幅频特性在这个频率上不是单调下降,而是先抬起来一个峰,然后以-40dB/dec斜率继续下降。这个峰有多高,由品质因数Q决定:
Q ≈ R_load * sqrt(C / L)
这个近似式很重要,它说明了三件事:负载电阻越大(轻载),Q越高,谐振峰越高;电容越大,储能越多,Q越高;电感越小,电流变化越快,Q也越高。Q高了之后,阻尼比ζ=1/(2Q)就会很低,系统在谐振频率上的“自发振荡趋势”非常明显。
我在实际调试中见过一些极端案例:一个5V/3A的Buck电源,输出电容470μF、电感10μH,负载切到空载时Q高达6以上,谐振峰比低频增益抬高了接近17dB。此时只要控制环路的带宽扫过这个频率附近,系统就像被人在秋千上猛推了一把,不晃才怪。
1.2 谐振峰是如何“吃掉”闭环稳定性的
闭环控制系统的稳定性,取决于环路增益T(s)的幅频和相频特性。LC滤波器给控制到输出的传递函数引入了一对共轭极点,这一对极点同时做了两件事:第一,在谐振频率附近把幅频特性抬高;第二,在从0.1倍到10倍谐振频率的区间内,相位从0°快速滑向-180°。
如果环路的穿越频率f_c设计在f_LC附近,或者干脆高于f_LC,那么LC双极点带来的相位滞后就会叠加到环路里。误差放大器虽然可以通过补偿网络提供相位提升,但补偿器能提供的相位提升是有上限的,一旦LC双极点的相位下滑速度超过了补偿器的“补血”速度,相位裕度就会很低,甚至为负。
这里说一个比较反直觉的点:很多人以为“LC滤波只是滤纹波,和环路的关联不大”。这种想法在开环或普通LDO的场合可以成立,但对开关电源的闭环系统来说,LC滤波元件的参数直接就是功率级传递函数的一部分,它们和误差放大器、PWM调制器是同一个闭环里的成员,谁也别想当“局外人”。
1.3 顺便说清楚:搜“二阶LC带通电路”的人,可能混淆了设计目标
我注意到很多相关搜索词都指向“二阶LC带通滤波电路图”。带通滤波器确实也用L和C,但它的设计目标和电源输出端的LC低通完全不同。带通滤波器关心的是中心频率、通带带宽、选择性,L和C的参数围绕“让某个频段通过”这一目标来定;而电源输出端的LC低通滤波器关心的是谐振频率是否远低于开关频率、是否有足够的阻尼,避免开关纹波被谐振峰放大。
最常见的错误是:按照带通滤波的思路去选电源输出端的L和C,把谐振频率调得很高,甚至靠近开关频率。结果开关频率分量不仅没被滤掉,反而被谐振峰放大了好几倍,纹波更大了。所以拿到一个LC电路图,先搞清楚上下文:这是信号处理电路,还是功率供电电路?两者的稳定裕度思路完全不同,后面接的负载和环路也完全不同。
2. 从拓扑到传递函数:把手算模型搭起来
2.1 Buck功率级的“控制到输出”传递函数长什么样
以电压模式控制的Buck变换器为例(连续导通模式,CCM),我们关心的是占空比d到输出电压v_out的传递函数,记作Gvd(s)。工程上常用的近似表达式是:
Gvd(s) = V_in * (1 + s / ω_esr) / (1 + s / (Q * ω_0) + s² / ω_0²)
其中:
ω_0 = 1 / sqrt(L * C),这对应的就是LC谐振角频率Q ≈ R_load / sqrt(L / C)(忽略寄生电阻时的工程近似)ω_esr = 1 / (R_ESR * C),这是电容ESR产生的零点
这个公式里藏着两个关键点。第一,LC双极点是功率级固有的,无论误差放大器怎么补偿,它都在那里。第二,ESR零点是一个“救命稻草”,它能把-40dB/dec的斜率重新扳回-20dB/dec,同时提供一定的相位提升。如果输出电容用的是低ESR的陶瓷电容,ESR零点跑到很高频,在穿越频率附近看不到这个零点,LC双极点的相位影响就会更加赤裸裸。
2.2 输出端再加一级LC滤波器,系统变成了几阶?
很多场景下,工程师嫌Buck自带输出的纹波还不够低,会再外挂一级LC滤波,比如给射频模块、音频Codec、高速ADC的模拟电源供电。这一级LC滤波看似只是“无源网络”,实际上它给控制到输出的传递函数又增加了一对共轭极点。
原本的功率级传递函数是二阶模型(一个二次项),外挂LC之后变成四阶模型(两个二次项相乘),两个谐振峰出现:一个来自主电感和主电容,一个来自外挂电感和外挂电容。如果这两个谐振频率比较接近,那么它们带来的相位下降会叠加,相位曲线几乎是以“跳水”的方式逼近-360°,误差放大器即使使用Type III补偿(理论上最大能提供180°相位提升)也很难救回来。
这里有一个非常重要的工程设计判断:外挂LC到底该放在反馈环路内部,还是放在环路外部?我的经验很明确——滤波级尽量放在主环路的外面,也就是反馈采样点取在主滤波电容之后、外挂LC之前。如果为了精确调节负载端的电压,非要把采样点放在外挂LC之后,那么整个四阶系统都被拉进环路里,补偿设计的难度会呈指数级上升,强烈建议这种情况下改用峰值电流模式控制,或者先把主环设计得带宽很低,再考虑外挂LC对动态响应的影响。
2.3 别忘了平均模型和开关模型之间的鸿沟
做稳定性分析时,大家习惯用平均模型去推传递函数,把开关管和二极管用一个等效受控源替代。平均模型在频域上的优势是计算快、物理意义清晰,适合手算和设计补偿网络。但它有一个明显的软肋:它不包含开关频率处的行为,也无法模拟PWM采样保持、比较器延迟、死区时间这些高频效应。
开关模型(比如SIMPLIS或PSIM中的周期平均模型,或者LTspice里的全开关模型)则保留了开关动作的细节,更贴近实际,但仿真速度慢,而且参数敏感性强,动不动就提示收敛失败。我的做法是:先用平均模型把补偿网络参数定个八九不离十,再放到开关模型里做时域阶跃和频域扫频验证。两条腿走路,效率和安全都顾到。
3. 闭环稳定性到底看什么:增益裕度、相位裕度和穿越频率
3.1 环路增益T(s)的构成与判据
一个典型的电压模式控制电源,反馈环路可以拆成这样几级:误差放大器增益G_EA(s)、PWM调制器增益G_PWM(s)、功率级传递函数G_power(s)、反馈分压系数β(s)。把它们串起来,就是环路增益:
T(s) = G_EA(s) * G_PWM(s) * G_power(s) * β(s)
稳定性判据不需要记住一堆高级数学,抓住两个点就行:在幅频特性穿越0dB的频率点f_c(即穿越频率)上,看相位离-180°还有多远,这个距离就是相位裕度;在相位到达-180°的频率点上,看幅频特性离0dB还有多远,这个距离就是增益裕度。工程上,相位裕度至少要有30°~45°才能保证系统不振荡,想获得良好动态响应和较小超调,60°左右是更舒服的目标。增益裕度一般要求大于6dB,如果追求稳健,放到10dB以上。
3.2 穿越频率与LC谐振频率的“相处之道”
穿越频率其实就是闭环带宽。带宽越高,负载瞬态响应越好,但稳定性越差。电压模式控制下,LC双极点在f_LC附近产生的相位下降非常剧烈,如果你把f_c设计在f_LC附近,哪怕补偿网络给了两个零点,能拉回来的相位也极其有限。最佳方案是:让f_c落在f_LC附近或略高于f_LC一点,但不要超过太多;如果系统里还有第二级外挂LC,那么保持f_c远比第二谐振峰低,甚至低于第一谐振峰的1/3,才是稳妥思路。
一个我常用的经验值:如果f_LC = 2.3kHz,电压模式控制下我会尝试把f_c放在20kHz~40kHz,用两个零点去对抗LC极点的相位下滑;如果f_c要提到80kHz以上,手算风险就很大了,我会直接用仿真工具扫几个参数组合,看增益裕度和相位裕度的趋势。
3.3 时域上的“面相判别法”
不是每个人都有环路分析仪,也不是每次调试都来得及搬出昂贵的仪器。时域法可以快速判断系统是否濒临不稳定:给负载加一个阶跃(比如从25%负载跳到75%),观察输出电压恢复波形。如果恢复曲线出现明显的多次衰减振荡,振铃超过五六次才安静,大概率相位裕度低于30°;如果一次到两次振荡就收敛,超调也不大,说明相位裕度可能在45°以上;如果出现等幅振荡甚至振荡发散的迹象,那就不是“裕度低”的问题了,而是已经完全失稳,必须停下来检查补偿参数或采样接线。
时域法虽然不能给出精确的相位度数,但它是指导调试方向的利器:看到振铃变多,就往“加零点提相位”的方向改补偿;看到带宽太低、恢复太慢,就往“提高穿越频率”的方向改。
4. 补偿网络设计:把相位“买”回来
4.1 电压模式 vs 电流模式的补偿策略差异
补偿网络的核心任务,是在LC双极点制造的相位低谷处“填”进足够的相位提升,同时把穿越频率控制在合理范围。这里的难点在于“既要又要”:提升相位需要零点,但零点同时也抬升高频增益,可能引入开关噪声;抑制高频噪声需要极点,但极点又削弱相位。所以补偿器本质是一笔“在相位和增益之间做交易”的账。
Type I只有积分极点,只适合单极点系统,用在LC双极点场合几乎没有招架之力。Type II有一个积分极点、一个零点、一个高频极点,适合电流模式控制——因为电流内环把电感变成了受控电流源,功率级近似成一阶,Type II已经够用。Type III则是在Type II的基础上加了一个零点和极点,最大能提供大约180°的相位提升,是电压模式控制中应对LC双零极点的标配。
我经常看到有人把Type III看成“万金油”,到处套。这是一个误区。Type III补偿网络对元件容差非常敏感,零极点位置一旦因为电容偏压、电感饱和偏差而漂移,相位提升点就会和LC谐振峰错位,稳定性自然大打折扣。对于可以换拓扑的场合,优先考虑峰值电流模式或滞环控制,让LC双极点在环路中“消失”,比用Type III去硬扛简单得多。
4.2 一个可以抄作业的电压模式算例
下面我用一个实际参数走一遍设计流程,这样比空谈公式更有参考价值。
假设一个Buck参数:
- 输入V_in = 24V,输出V_out = 5V
- 电感L = 10μH,输出电容C = 470μF,ESR = 5mΩ
- 负载R = 1Ω(5A输出)
- 开关频率f_sw = 300kHz,反馈参考V_ref = 0.8V
先算关键频率:
f_LC = 1/(2π*√(10μH*470μF)) ≈ 2.32kHzf_ESR = 1/(2π*0.005Ω*470μF) ≈ 67.7kHzQ ≈ 1Ω / √(10μH/470μF) ≈ 6.86
这意味着谐振峰在2.32kHz处约比低频段高20*log10(6.86) ≈ 16.7dB,相位在0.2kHz~20kHz之间快速下滑。
我把穿越频率目标定在40kHz。在40kHz处,功率级增益由LC双极点主导,大概估算为:
|Gvd| ≈ V_in * (f_LC / f_c)² = 24 * (2.32k / 40k)² ≈ 0.081
换算成dB是:
20*log10(0.081) ≈ -21.8dB
PWM调制器增益假设为-6dB(斜坡峰峰值2V),反馈分压系数β = 0.8/5 = 0.16,折合-15.9dB。三者相加,在40kHz处原本的环路增益只有:
-21.8 - 6 - 15.9 = -43.7dB
要让总环路增益在此处穿越0dB,误差放大器的补偿网络必须在40kHz处提供约+43.7dB的增益。这个值不小,但通过Type III的两个零点抬高增益是可以实现的。
零点怎么放?两个零点都放在f_LC附近,甚至可以放到略低于f_LC的频率,比如2kHz,给元件容差留余量。第一个高频极点放在f_ESR附近约70kHz,用于抵消ESR零点的影响;第二个极点放在f_sw/2=150kHz,用来压低开关频率处的增益,抑制开关噪声。
这样设计下来,仿真上基本能得到40kHz穿越、相位裕度45°~55°的结果。注意这只是手算初步值,实际PCB的寄生参数、电容偏压、采样电阻的相位延迟都会让数据漂移,最终要回到仿真扫频和实测中去修正。
4.3 采样网络中的相位延迟,容易被低估
补偿网络本身算得再好,采样环节拖后腿也是白搭。反馈分压电阻值如果选得太大,和误差放大器输入电容组成的极点可能落在穿越频率附近,白白吃掉几十度相位。光电耦合器在隔离电源中带来的相位延迟更不可小觑,尤其是传输延迟随温度变化时,环路余量会跟着漂。
我习惯把反馈电阻阻值控制在几十千欧级别而不是几百千欧,并在误差放大器输入端并联一个小电容(几十皮法级别),这个电容需要算进环路里,它和分压电阻形成的极点如果落在穿越频率附近,就是在帮倒忙。另一个工程细节是:如果反馈分压电阻阻值太大,比如超过200kΩ,PCB漏电流造成的误差就会变大,高温高湿环境下更明显。
5. 从仿真到实测:验证稳定性的两条腿
5.1 平均模型扫频的正确姿势
用SIMPLIS或PSIM做平均模型扫频,最大的好处是能快速得到环路增益T(s)的波特图。流程通常是:搭建功率级平均模型,加入误差放大器补偿网络、PWM调制器、反馈分压,在某一节点注入小信号正弦扰动,扫描频率,得到增益和相位。
这里我会反复强调几件事:输出电容ESR一定不能设成0,否则LC谐振峰的Q会无限大,相位曲线会直接朝-180°俯冲,与实际结果严重背离;陶瓷电容要设置直流偏压下的容量衰减,比如标称100μF的X5R,在12V偏压下实际可能只剩30~40μF,这会让f_LC从2.3kHz漂到3.5kHz以上;电感模型如果只设固定电感值而不考虑饱和,大电流工况下的仿真结果也会偏乐观。平均模型更适合做“参数趋势分析”,不适合用它来向老板打包票。
5.2 开关模型复验:千万别省这一步
平均模型给出补偿参数之后,我会切到开关电路做全细节仿真。重点看两个东西:一是满载启动波形,二是负载阶跃后的输出电压恢复波形。启动时如果输出电压出现长时间振荡,说明相位裕度比设计值差很多;启动时如果表现为单调上升或只有一次过冲,说明环路状态基本健康。
开关模型也可以做频域扫频,但要注意注入信号的幅值和频率范围,如果注入信号太大,会把系统推出小信号线性区,测出来的相位裕度就失真了。一般来说,注入幅值从10mV到几十mV RMS比较稳妥,先看时域波形确认系统工作点稳定,再扫频。
5.3 实测环路增益的操作要点
真刀真枪的实测,我用过和见过的方式有两类:环路分析仪扫频和负载阶跃观察。
环路分析仪扫频时,注入变压器要串在反馈路径中,通常选取在反馈分压电阻和误差放大器输入端之间。示波器探头接在注入变压器两端,测量从注入点到输出的增益相位。注意几件事:注入信号幅度要小,但也不能太小,否则会淹没在开关噪声里;测试要在额定负载、额定输入电压下进行,最好轻重载都测一遍;如果电源是隔离的,示波器和环路分析仪之间要注意接地处理,避免地环路噪声干扰测量。
负载阶跃测试更接地气。用电子负载或直接在输出端并联一个低阻值开关负载,产生25%~75%的阶跃,观察输出电压波形。波形振荡次数和衰减速度可以直接反映相位裕度大致区间。我把这个测试当成每次改板后的“例行体检”,哪怕设计文档上写着60°,实测定性如果出现长时间振铃,就必须重新审视补偿元件。
5.4 温度和环境带来的漂移
稳定性验证不能只在常温下做一次就收工。电解电容在低温时ESR会显著上升,ESR零点频率往下移,这会改变功率级在高频段的相位;陶瓷电容在温度变化时容值和ESR也会漂移。最好在-20°C、25°C、85°C三档温度下各测一次环路,如果条件不允许,至少要在最恶劣的低温工况下看一次负载阶跃曲线。
6. 工程中那些隐蔽的稳定性杀手:从假稳定到真翻车
6.1 外挂LC滤波器和反馈采样点的“三角关系”
在输出端外挂LC滤波器时,反馈采样点的选择是决定成败的关键。我见过一个射频功放供电电路,设计者为了精确调压,把反馈采样点放在外挂LC之后,LC主极点、外挂极点、采样点位置三重因素叠加,结果一加载就振荡。后来把采样点移回到主滤波电容附近,外挂LC变成“环路外”的负载滤波器,环路稳定性立刻正常。
这并不是说外挂LC一定不能放进环内,而是说放进环内之后,你必须认真计算多出来的极点。一个更稳妥的做法是:外挂LC的谐振频率设计得远离原始f_LC,并给它并联一个阻尼电阻,或者采用“先主环稳定,再加负载滤波并在负载端并联大电容”的思路,让负载端的瞬时电流需求主要由外挂大电容承担,外挂电感只承担抑制高频纹波的任务。
6.2 多电容并联导致低ESR陷阱
为了降低输出电容的ESR,把多个陶瓷电容并联很常见。好处是ESR降下来了,坏处是谐振峰的Q值也跟着上去了,相位在穿越频率附近下滑得更陡。设计时如果命名的“等效Q”里还按单个电容的ESR去估算,往往会高估稳定性。
我建议在做多并联设计时,统一按最恶劣工况算:取并联后最低的等效ESR、最轻的负载、最高的输入电压,看这几个条件下相位裕度是否还有40°以上。这样虽然看起来保守,但可以规避批次差异带来的批量稳定性问题。
6.3 数字控制器的链路延迟无法忽视
如果这是一台数字电源,那么环路里还要加上ADC采样延迟、计算延迟、DPWM调制延迟。这些延迟本质上是纯时间滞后,在高频时折算成相位下降非常快,可能把穿越频率附近仅剩的相位裕度一口吞掉。
数字补偿器的设计通常要比模拟补偿器更保守一些,极点不敢推得太靠近开关频率,零点位置也要留更多余量。我遇到过把模拟补偿的Phase Boost直接套到数字实现里,结果采样延迟吃掉20°相位,系统在温升后开始轻微振荡的案例。建议数字电源在实机测试前,先用还原模型把ADC采样、零阶保持器、计算延迟都加进传递函数里仿真一遍。
6.4 让“COMP脚”成为你的第二示波器通道
最后分享一个我用了很多年的调试习惯:调环路时,不单看输出电压波形,还要看误差放大器输出(COMP脚)的波形。COMP脚对环路状态的敏感度比输出电压更高,输出上的细小振荡在COMP脚可能已经放大到几百毫伏的“哆嗦”。如果COMP波形出现清晰的正弦抖动,且抖动频率和负载阶跃后输出振铃频率一致,说明补偿网络在对应频率的相位提升不足;如果COMP抖动频率和某个LC谐振频率吻合,可以快速定位是哪一级滤波在作怪。
这个方法的好处是:不用每次都动用环路分析仪,用示波器就能做初步判断。我习惯在每次改完补偿电阻电容后,用电子负载给一个小阶跃,同时抓COMP和输出电压波形,对比振铃次数和恢复速度,十分钟内就能判断改动方向是否有效。
写到这里,我又想起一个细节:LC滤波电源的闭环稳定性,说到底不是“算不出来的黑箱”,而是“模型算完、元件漂移、接线乱套”这三重现实叠加的结果。我自己的习惯是每次把实测的穿越频率和相位裕度记在一张Excel表里,接下来哪个批次的电容ESR变了、哪个批次的电感饱和特性变了,一对比数据就能提前发现风险。这个习惯帮我抓出过至少三次批次性的稳定性隐患,也帮我在组会上少挨了不少批。如果你也在调这类电路,建议从今天开始,把每次环路测量的数据留下来。