☰
Buck电路振铃的成因、测量与抑制:从寄生参数到RC吸收实战
2026/9/29 5:00:24 网站建设 项目流程

搞开关电源的人,十个里有九个都被Buck电路的振铃折腾过,剩下那个说自己没遇到的,多半是示波器带宽不够没看出来。我刚接触Buck电路那会儿,第一次在开关节点上看到一长串衰减振荡,第一反应是环路补偿出了问题,改了半天的RC参数,结果该响还是响。后来才明白,振铃这东西,根源往往不在控制环路里,而在功率级的寄生参数和开关瞬态上。

这篇文章不聊虚的,就围绕我手里一块12V转3.3V的同步Buck板子,把振铃从产生到测量、从危害到抑制的完整过程记录下来。我会把我踩过的坑、试过的手段、实测的数据和最终的处理方案都摊开讲。适合正在做Buck电源设计、或者被EMI和过冲问题折磨的硬件工程师参考,也适合刚入行想搞懂振铃到底是怎么回事的朋友慢慢读。

1. 搞清振铃从哪来,才能谈怎么治

1.1 Buck开关动作天然就带着高频振荡的条件

Buck电路工作的时候,高边MOSFET以固定频率开关,电感和输出电容负责储能和滤波,低边开关管或续流二极管提供续流通道。看起来是个很干净的降压结构,但实际上,任何一次开关动作,本质上都是在把一个电压阶跃施加到一个由寄生电感和寄生电容组成的谐振回路上。

谐振条件的形成不需要多么复杂的机制:功率回路里一定存在寄生电感,也就是PCB走线电感和器件封装电感;开关管的输出电容Coss、二极管结电容、甚至MOSFET的栅极电容也都实实在在摆在电路里。寄生的L和C碰在一起,就是一个LC振荡回路,开关瞬态产生的电流变化会激励它,于是振铃就出现了。

这里有一个关键公式要先摆出来:谐振频率 f = 1 / (2π√(LC))。这个公式虽然基础,但它解释了很多现象。举个例子,如果寄生电感大约5nH,节点寄生电容大约100pF,算出来谐振频率大约是225MHz。这个频段已经远远超出几十kHz或几百kHz的开关频率本身,但又刚好处在几十MHz到两百多MHz之间,是传导和辐射EMI最容易超标的频段。

我用一个生活里的例子帮助理解:把电路寄生参数想象成一口井,开关动作是往井里丢一块石头,振铃就是水面荡起来的波纹。只要井壁够光滑、没有淤泥吸收能量,波纹就会来回反射很久。电路里如果没有足够的阻尼机制,能量就在寄生的电感和电容之间来回倒腾,表现为振铃波形。

1.2 寄生参数都藏在哪些地方

既然振铃的源头是寄生电感和寄生电容,那就要清楚它们具体分布在哪里。这块板的功率回路,从上管漏极到输入电容正极、从上管源极到下管漏极、再经过下管源极回到输入电容负极,这条回路上的每一寸走线都贡献寄生电感。一个0402封装的陶瓷电容,等效串联电感大约0.4nH到0.8nH;一颗DFN封装的MOSFET,源极引脚加上内部键合线也有1nH到3nH的寄生电感。这些看起来都是纳亨级别的"小数字",但在开关电流斜率接近1A/ns的Buck电路里,感值再小也扛不住这么大的di/dt。

寄生电容则主要集中在功率MOSFET的漏源极之间,也就是输出电容Coss,还有同步管的体二极管结电容。以一块3A负载能力的同步Buck板子为例,上管Coss可能是60pF到120pF,下管稍大一些。开关节点对地的寄生电容还包括了走线对地平面的分布电容,甚至焊盘的尺寸都会贡献几个皮法的电容。

这里要特别强调一个很容易被忽略的路径:开关节点对地的寄生电容和功率回路的寄生电感共同谐振。我们实际测到的开关节点振铃,就是这两者相互作用的结果。很多工程师试图通过改环路补偿参数来压制振铃,完全没有用,因为谐振回路根本不在控制环路的带宽范围内。

1.3 为什么振铃波形看起来是衰减正弦波

振铃波形的典型形态是:电压阶跃之后,紧跟着一个过冲尖峰,然后是一串幅度递减的高频振荡。这个波形的数学本质就是一阶欠阻尼系统的阶跃响应,或者说是一个RLC串联谐振回路在阶跃激励下的自然响应。

电阻的存在决定了衰减的快慢。电路里的电阻来自哪里?包括MOSFET的导通电阻RDS(on)、PCB走线的直流电阻、磁珠或snubber吸收电阻,更重要的是,回路里各种阻尼损耗。如果电阻过小,系统呈现欠阻尼状态,振铃就会拖得很长;如果电阻足够大,系统进入临界阻尼甚至过阻尼,振铃就会消失。

从能量角度看,开关管导通瞬间,寄生电感会储存磁场能量;当开关管关闭时,电感电流突变,储存在寄生电感里的能量需要释放路径,于是给寄生电容充电,电压被抬到远超输入电压的水平。电容充电后又反过来给电感放电,这就形成了能量的往复交换。每一次交换,一部分能量被回路电阻消耗掉,所以振幅越来越小。这就是为什么衰减的速度能反映回路阻尼的好坏。

在设计实验之前,我心里其实已经有一个预判:只要把功率回路的寄生电感和开关节点电容摸清楚,就能估算出振铃频率和理论过冲幅度。接下来的实验,就是要验证这个判断,并找到有效的抑制手段。

2. 实验设计与测量方法

2.1 实验平台搭建与器件选型

实验对象是一块我常用的同步Buck评估板,拓扑是标准的电压模式同步Buck。主控芯片选用了一颗内部集成驱动器的Buck控制器,高边和低边都是外置的分离式MOSFET。这样设计的好处是,我可以自由更换不同导通电荷、不同Coss的管子来观察振铃变化,灵活性比集成功率级的方案好很多。

具体的电路参数如下表,这些参数是经过初步计算确定的,不是随手拍的:

参数数值备注
输入电压12V直流稳压电源供电
输出电压3.3V
最大负载3A电子负载CC模式
开关频率500kHzRT电阻设定
输出电感4.7uH屏蔽功率电感,饱和电流6A
输出电容2 x 22uF陶瓷电容,X5R
输入电容2 x 10uF贴近高边管放置
上管NTMFS4C10NCoss约110pF
下管NTMFS4C05N低RDS(on),Coss约260pF
栅极电阻2.2Ω上下管各一个

为什么选500kHz的开关频率?这是板上控制器通过电阻配置出来的,相当于一个典型的平衡选择:太高了开关损耗大,太低了电感体积压不下去,500kHz在这个功率等级下比较常见。寄生电感和电容决定的振铃频率在100MHz以上,和500kHz的开关频率差出两个数量级,所以不存在两者直接叠加的问题。

2.2 示波器测量的关键设置

测量振铃,最忌讳的就是随便拿一根示波器探头接上去就测。探头本身的寄生电感会改变被测节点的谐振条件,更会引入假振铃。这一点我必须强调:你看到的振铃,有时候不一定是电路本身的振铃,很可能是探头地线太长造成的测量振铃。

常规探头标配的那根15cm长地线夹,在测量高频信号时相当于一个很大的寄生电感回路。我在实验前做了个对比:用长地线夹测开关节点波形,振铃频率落在80MHz附近,幅度看着很吓人;换成弹簧地线、把探头尖端和地线之间的距离缩短到毫米级之后,振铃频率变成了140MHz,幅度也明显降低。这说明之前的波形很大程度是测量方式引入的误差。

示波器设置方面,我建议打开带宽限制选项之后再做下一步判断。先用500MHz带宽的探头和1GHz采样率看全貌,记录下振铃频率和过冲幅度,然后打开示波器自带的20MHz或100MHz带宽限制开关,观察信号变化。我自己习惯的做法是:标准带宽下抓真实细节,带宽限制下看EMI测试视角里的样子,两个结果都心里有数。

还要注意示波器的采样率和存储深度。振铃频率如果是150MHz,按照奈奎斯特采样定理,采样率至少要到500MS/s才能勉强看到波形包络,但要看清波形细节,最好用1GS/s以上采样率。触发方式选择上升沿触发,触发电平设置在输入电压的一半附近,然后用单次触发模式抓取开关瞬间的波形。单次触发很关键,因为高频振铃在重复触发模式下显示会很杂乱,单次抓取可以看清每一次开关的完整瞬态。

2.3 探头的接线位置和地线技巧

功率回路的测量点主要看两个地方:一个是开关节点,也就是高边源极和低边漏极的连接点,这是振铃最明显的位置;另一个是输入电容两端或高边漏极对地,用于观察输入回路的振铃。

我把探头的地线通过弹簧线圈直接接在开关节点附近的测试铜箔上。这块测试铜箔不是随意画的,而是在PCB设计阶段就预留出来的,紧挨着开关节点,距离不超过3mm,背面没有铺地铜,避免引入额外的对地电容影响波形。

另外,我同时在开关节点和低边管漏极之间并了一根短铜线,用来测试吸收电路的效果。这根铜线本身也有寄生电感,但因为它和开关节点之间的距离极短,对测量结果的影响可以忽略。在分析振铃时,我始终提醒自己:所有的测量结果都包含测量系统本身的寄生参数,但通过统一测量方法,横向对比不同抑制方案的效果是有参考价值的。

3. 振铃波形实测与数据解读

3.1 上升沿和下降沿的振铃差异

空载、12V输入、3A负载条件下,把示波器时基调到100ns/div,可以看到非常明显的三段波形特征:高边管导通瞬间,开关节点电压从0V快速上升到12V,但上升过程并不是一步到位,而是先冲到大约17.5V,随后在12V附近以大约130MHz的频率衰减振荡,大约经过12到15个周期后衰减到可忽略的幅度。

高边管关闭瞬间,也就是下降沿,同样有一段振铃,但幅度比上升沿小,过冲大约到6V。为什么上升沿和下降沿的振铃表现不一样?这和电流方向以及开关管的寄生参数不同有关。开通瞬间,上管导通给电感充电,电流路径从上管经过,下管的体二极管处于反向恢复状态,Coss被快速充电;关断瞬间,电感续流压低下管体二极管,电流换向带来的瞬态比开通时平缓一些。

这段实测结果和我之前的估算基本吻合。用前面提到的公式,假设寄生电感量约5nH,开关节点对地电容约120pF,计算出的谐振频率约205MHz。实测130MHz的频率比理论值低,说明实际寄生电感或电容比估算值大,两者综合效应更明显。

3.2 振铃幅度随负载的变化规律

负载电流从0.5A逐步增加到3A,我记录了一组过冲数据。0.5A时上升沿过冲到15V,1A时16V,2A时17V,3A时升到17.5V。过冲随负载电流增加而升高的规律很好理解:寄生电感储存的能量与电流的平方成正比,电流越大,开关瞬间需要转移的能量越多,电压自然被抬得越高。

有趣的是,振铃频率基本不随负载变化,始终维持在125MHz到135MHz之间。这个现象也验证了我的判断:谐振频率由寄生电感和寄生电容决定,与负载电流无关。负载电流影响的是振铃的初始能量和幅度,不会改变谐振回路的固有频率。这一点很实用,如果你发现振铃频率随负载明显漂移,那就要考虑是不是发生了饱和或者其他非线性效应。

输入电压从8V调到20V,振铃频率同样基本不动,但幅度明显增加。20V输入时过冲到了27V左右,考虑到高边MOSFET的额定耐压是30V,这个余量已经不太乐观了。如果不处理振铃,一旦输入电压再往上调或者负载发生快速变化,管子很可能被击穿。这让我意识到,振铃不只是EMI问题,更是可靠性问题。

3.3 同步Buck和异步Buck的振铃差异

对比实验里,我把下管换成了一个肖特基二极管,组成了异步Buck结构。结果很有意思:异步Buck的振铃幅度在相同负载条件下略小于同步Buck,但振铃持续时间更长。原因在于肖特基二极管没有反向恢复电荷,开关节点电压的突变少了一个能量来源;但肖特基管的结电容比同步管更大,会拉低谐振频率,让振荡衰减得慢一些。

同步Buck里的低边MOSFET在死区时间内靠体二极管续流,这个体二极管是慢速PN结,反向恢复特性很差。高边管开通瞬间,体二极管还在导通状态,需要先经历反向恢复过程才能关断,这个过程中产生的反向恢复电流会加剧开关节点的振铃。这一点在选用同步管时尤其要留意,体二极管反向恢复电荷Qrr大的管子,即使RDS(on)再低,也可能因为振铃问题带来麻烦。

4. 振铃带来的麻烦,远不止EMI超标

4.1 开关节点振铃对传导和辐射EMI的影响

振铃频率落在100MHz到200MHz,这个频段有多麻烦?大部分电源产品的传导EMI测试从150kHz到30MHz,辐射EMI测试从30MHz到1GHz。振铃一旦落在30MHz以上,就会直接成为辐射发射的贡献源。开关节点和输出电感就是天然的辐射天线,振铃电流越大,辐射越强。

这块板子拿去做预测试,辐射EMI在133MHz左右有一个明显的尖峰,和实测振铃频率几乎一致。这个发现让我彻底明白了一个做事逻辑:如果EMI频谱上的超标频率点恰好和开关节点振铃频率重合,优先处理振铃,比堆滤波器件更有效。滤波器件只是在信号传播路径上做拦截,振铃本身还在,而且会通过其他路径继续辐射。

4.2 过冲对功率器件耐压的冲击

振铃的过冲直接叠加在直流输入电压上,加在高边管漏源两端。以这块板为例,12V输入时过冲到17.5V,实际承受的漏源电压是17.5V,和20V的降额使用电压已经接近。我平时设计习惯按80%降额,也就是说30V的管子,最理想是长期工作在24V以下,瞬时尖峰不超过24V。18V的过冲虽然还在范围内,但已经不值得庆幸。

如果系统输入端接的是汽车电池或宽压适配器,在抛负载或热插拔瞬间,输入电压可能冲到30V以上,这时候振铃过冲叠加上去,管子耐压余量会被瞬间打穿。这是我在实际项目里遇到过的事故,不是理论推导出来的。一个24V输入的工业电源,满载启动瞬间高边管直接击穿,示波器回放波形显示振铃过冲超过了MOSFET的绝对最大值。从那以后,我对振铃的容忍度变得很低。

4.3 振铃对环路稳定性和控制系统的影响

振铃频率远高于开关频率,也不会进入控制环路带宽,所以它不会直接导致环路震荡。但在某些情况下会带来间接问题。如果控制器使用峰值电流模式,开关节点上的高频振铃可能通过电流采样耦合到控制器内部,干扰电流比较器的判断,导致占空比抖动。

具体表现是,在某些负载点,输出纹波上会出现低频的间歇性抖动,负载调整率变差。这种问题排查起来非常隐蔽,因为示波器上看输出纹波并没有特别明显的高频成分,但听电感啸叫或者观察轻载波形,就会发现占空比在缓慢摆动。后来查下来,就是振铃通过采样电阻的寄生电感耦合进了电流检测引脚。所以,处理振铃不只是为了好看,它直接关系到系统稳定性。

5. 抑制振铃的几种手段,我挨个试了一遍

5.1 调整栅极驱动电阻,控制开关速度

我首先尝试的是增大栅极电阻。把上下管的栅极电阻从2.2Ω换成10Ω,开关节点振铃幅度从17.5V降到15V左右,过冲下降了约14%。效果确实有,但代价也很明显:开关损耗大幅上升,满载效率从92.6%降到了90.1%。高频开关电源对效率的要求通常很高,这个牺牲有些肉疼。

需要注意的是,增大栅极电阻本质上是降低电压转换速率,也就是减小di/dt,从而减小寄生电感上感应出的电压尖峰。这个方法的方向是对的,但它同时延长了开关管在线性区停留的时间,增加了开关损耗。在实际工程中,这是最常见的一个折中选择。在效率有余量或者开关频率不高的应用里,调驱动电阻往往是最低成本、最快见效的手段。

我建议通过驱动电阻的扫描实验来确定最优值,而不是拍脑袋选。用电子负载固定3A电流,从2.2Ω开始依次换到4.7Ω、10Ω和22Ω,记录每组电阻下的过冲和效率。3D坐标图或者表格一看就明白,过冲和效率是两个反向变化的量,选中间那个交叉点附近的值最划算。

5.2 RC吸收电路,给谐振回路增加阻尼

RC snubber是处理振铃最经典的手段之一,也是我这次实验的重点。在开关节点对地之间并联一个串联的电阻和电容,给高频振荡提供一个低阻抗泄放通路,本质上就是往谐振回路里注入额外的电阻损耗,把它从欠阻尼状态推向临界阻尼。

取值不是随便定的。我的习惯是先估算寄生电容Coss,本实验大约100pF左右,然后选择吸收电容值,通常取寄生电容的2到4倍,我选了330pF的C0G电容。吸收电阻的理论参考值是特征阻抗Z = √(L/C),估算L约5nH和C约430pF,算出Z约为3.4Ω。实际选择时从3.3Ω开始试,然后用示波器看波形微调。

实测效果非常理想:3.3Ω串联330pF的RC吸收并联到开关节点后,过冲从17.5V降到了13V,振铃幅度几乎小了三分之二,振铃持续时间从原来的约260ns缩短到80ns以内。代价是吸收电阻上会产生额外损耗,按公式P = C × V² × f计算,330pF电容在12V、500kHz工作频率下的理论损耗大约12mW,完全在可接受范围内。实际因为波形过冲,损耗还会稍高一些,但仍然属于划算的取舍。

RC吸收有两个需要注意的细节:一是吸收电阻不能选得过大,太大了振铃衰减慢;二是吸收电容最好用C0G或NP0材质,温度特性稳定,X7R电容在高压下容值会跌落,可能无法达到预期效果。

5.3 换管子,从源头上降低能量

既然振铃的源头是寄生电容和体二极管反向恢复,那更换器件就是一种更根本的手段。我做了两组实验:把上管换成Coss只有60pF的器件,过冲从17.5V降到了15.8V;把下管换成体二极管Qrr更小的器件,振铃持续时间也有明显改善。

但换器件不是万能的。低Coss的管子通常导通电阻更高,满载效率会损失一部分;低Qrr的同步管价格也更高。在设计阶段如果能预判振铃风险,器件选型阶段就把Coss、Qrr这些参数纳入考量,比板子做好之后再换器件的成本低得多。

5.4 优化PCB布局,从根本上减小寄生电感

这项手段在板子设计阶段就应该做,但为了实验对比,我还专门打了一版优化布局的板子。主要改动有两点:一是把输入电容尽量贴近高边MOSFET的漏极和低边MOSFET的源极,缩短功率回路的走线长度;二是把开关节点走线加宽,并直接放置在下管上方,减少对地覆铜的距离。

优化后的板子,功率回路寄生电感初步估算从原先的5nH左右降到2nH左右,实测振铃频率从130MHz上升到200MHz以上。虽然振铃幅度在起始瞬间依然存在,但衰减速度明显加快。这正是因为谐振回路的电感变小了,储存的能量也变小,对外的辐射能力下降。

PCB布局优化是四项手段里唯一不需要额外元件、不增加损耗的方案,但它的收益上限受制于布局空间和散热需求。在分立式Buck电路里,这是最值得花心思的方向。

5.5 对比实验数据总结

我把几种手段放在同一条件下做了对比,数据汇总如下,方便直观对比:

方案过冲电压振铃频率振铃衰减时间效率损失
原始方案17.5V130MHz约260ns基准
栅极电阻10Ω15.0V125MHz约200ns约2.5%
RC吸收3.3Ω+330pF13.0V128MHz约80ns约0.2%
更换低Coss上管15.8V145MHz约180ns约0.8%
优化PCB布局16.2V200MHz以上约120ns几乎无

可以看到,RC吸收在降低过冲和缩短振铃持续时间的综合效果最好,代价最小;优化布局在衰减速度上很出色,但对初始过冲的压缩不如RC吸收明显。最终这块实验板采用的实际方案是RC吸收加优化布局双管齐下:过冲压到12.6V,振铃衰减时间降到约60ns,EMI预测试的结果也比原方案好了不少。

这里要说明的是,这些数据是特定实验条件下的测量值,电路参数不同,结论可能有差异。但方案选择的思路是可复用的:先做布局优化降低能量,再用RC吸收或者增大驱动电阻提供阻尼,最后再考虑更换器件。

6. 排查振铃问题时的实用心得

6.1 先分辨是电路振铃还是测量假象

振铃排查的第一步永远不是找方案,而是确认你看到的波形是不是真实的。我建议用三个方法交叉验证:第一,换不同长度的探头地线测同一个点,如果振铃频率和幅度明显变化,说明测量环路引入了不该有的量;第二,关闭示波器带宽限制再测,观察振铃频率是否显著增大,如果是,说明原来的振铃可能被带宽限制滤掉了一部分真实信号;第三,用近场探头在板子上方扫一下,看辐射最强的位置是否和振铃节点一致。

如果三个验证都指向同一个结果,那基本能确定是真实的电路振铃。如果不是,先解决测量问题再谈电路问题,不然会走很多弯路。

6.2 从频率倒推寄生参数的实用技巧

排查工作里最实用的技能,是根据实测振铃频率反推寄生参数。已知公式 f = 1 / (2π√(LC)),再结合手边器件的资料手册查出Coss,就能估算出等效寄生电感。反过来,如果你知道PCB走线的寄生电感,也可以估算出等效寄生电容。

这个反推过程的价值在于,它能帮你判断振铃的根源到底在功率回路还是控制回路。如果反推出的寄生电感和功率回路走线的估算值差不多,那根源就在布局上;如果差很多,那就要检查是不是有其他电容或者内部寄生路径被忽略了。实测下来,我手里这块板的寄生电感反推值约为4nH到6nH,和最初设计估算基本一致,验证了振铃来源的判断。

6.3 我保留的一个调试习惯

调试振铃问题时,我习惯在PCB上预留RC吸收电路的位置。这个位置设计在开关节点和功率地之间,焊盘距离控制在2mm以内,并且在设计阶段就考虑到吸收元件散热的因素。很多工程师觉得RC吸收是最后补的,没必要预留,但我的经验恰恰相反。板子打样回来,如果EMI测试振铃超标,预留的焊盘可以让我十分钟内完成方案验证,而不用重新设计或者飞线,飞线本身又会引入新的寄生电感,干扰测试结果。

预留RC位置不会增加什么成本,就是一个电阻位和一个电容位的空间而已。但它带来的调试便利性和项目进度保障,是实打实的价值。对于量产产品而言,这个习惯能省下很多活在项目尾声做EMI整改的时间。

说实话,振铃不是一个"懂原理就能一次搞定"的问题,它涉及功率回路的设计、器件选型、PCB布局和调试手段的交叉配合。我见过很多方案因为在振铃上栽了跟头,反复改板好几个来回。但只要理解了振铃的物理本质,掌握了测量和抑制的系统方法,这个问题完全可控。这块板的实验到此也基本收官了,最终方案稳定跑了两周,各项指标都正常。如果后面有时间,我打算用LTspice把这套振铃过程完整仿真一遍,再把仿真和实测波形的对比整理出来,应该又是一篇值得写的内容。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询