☰
BUCK电路CCM/BCM/DCM模式详解:从原理到选型与调试
2026/10/7 20:57:57 网站建设 项目流程

看到有人问BUCK电路的CCM、BCM、DCM怎么选,我就想起早几年调一个POE供电模组的经历。12V转5V/3A,满载跑得好好的,负载降到100mA后电感电流波形变得断断续续,示波器里还能听到轻微的“嘶嘶”声。绝大多数教程只讲“BUCK就是把方波滤波成直流”,但真正上手后才知道,光一个工作模式就能决定板子的效率、纹波、EMI和环路稳定性,选错了轻则性能不达标,重则直接振荡啸叫。这篇就把BUCK电路三种工作模式CCM、BCM、DCM的物理过程、边界条件、选型计算和调试注意事项一次讲透,已经懂基础的可以直接跳到第3节看算例,刚入门建议从头往下看。

1. 三种工作模式的核心差异:先从物理本质说起

1.1 一个开关周期内电感电流的三种状态

BUCK电路的本质是一个快速的能量搬运系统,核心元件只有四个:高边开关管(同步BUCK里还有低边开关管)、电感L、输出电容C和负载。高边管以固定频率fsw开关,导通时间为Ton,周期为T,占空比D = Ton / T。高边管导通时,输入通过电感向输出供电,电感两端电压是Vin - Vout,电感电流线性上升;高边管关断后,电感续流路径导通(异步BUCK走二极管,同步BUCK走低边MOSFET),电感两端电压是-Vout,电流线性下降。

关键在于电感电流在开关周期结束时有没有回到零。如果还没降到零,下一个周期又从非零值开始爬升,就是连续导通模式CCM;如果刚好降到零,下一瞬间马上进入新的开关周期,就是临界导通模式BCM;如果降到零后要停一小段,等下一周期到来前电流始终是零,就是断续导通模式DCM。

这就像推一辆很重的推车。CCM是推车一直在往前走,你只在它还没停下来时继续推;BCM是推车刚好要停的那一刻你恰巧推了下一把;DCM是推车早就停下,你歇了一会儿才迈出下一步。推车的“速度”就是电感电流,推车“停下来”就是电感电流归零。

物理上电感电流不能突变,是因为电感储存的磁场能量不能瞬间消失。相同占空比下,电感值L越大,电流变化率越小,越难跌到零;负载电阻R越大(也就是输出电流越小),电感平均电流越小,也越容易跌到零。所以工作模式本质上由L、fsw、Vout、Iout这几个参数共同决定,而不是由芯片的“工作模式标志位”直接决定。很多芯片虽然标称支持DCM或CCM,但那只是控制策略上的选择,物理模式是由外部参数自然形成的。

1.2 边界条件与r参数:一个公式看懂临界

判断三种模式最实用的工具是电感电流纹波率r。定义如下:

r = ΔIL / IL_avg

其中ΔIL是电感电流的峰峰值纹波,IL_avg是电感电流平均值。稳态下输出电容的平均电流为零,所以电感电流平均值恰好等于负载电流Iout。

当r = 2时,ΔIL = 2 × Iout,意味着纹波的下沿正好等于0,这就是临界点。r < 2时,纹波下沿大于0,工作在CCM;r > 2时,纹波下沿小于0,实际物理上电感电流不可能反向(异步BUCK)或受负电流限制(同步BUCK),因此电流会被钳在0,工作在DCM。

把BUCK的电感电流纹波公式代进去:

ΔIL = (Vin - Vout) × D / (L × fsw)

再结合稳态关系 Vout = Vin × D,可以得到临界电感公式:

Lcrit = Vout × (1 - D) / (2 × fsw × Iout)

这个公式是设计选型时最常用的起点。注意这里的Iout是判断哪个负载点需要临界,如果你要保证满载时在CCM,就要把Iout_max代入算临界电感,然后取更大的值;如果你希望轻载时进入DCM,就把Iout_min代入算临界电感,然后取更小的值。同一颗电感在同一输入输出电压和频率下,临界负载电流Icrit = Vout × (1 - D) / (2 × fsw × L),负载超过Icrit就CCM,低于Icrit就DCM。

1.3 从波形特征快速识别三种模式

真正看波形比算公式更直观。用示波器电流探头测电感电流波形,三种模式一眼就能分辨。CCM的电感电流是一个完整的三角形波形,底边始终在零轴上方,上升沿和下降沿斜率分别由(Vin - Vout) / L和Vout / L决定;BCM的三角形波底边刚好落在零轴上,波形“尖顶触底”但没有平段;DCM在三角波之后有一段完全水平的零电流平台,这一段占整个周期的比例越大,DCM越深。

还有一个容易忽略的细节:异步BUCK在DCM下续流二极管不会导通,因为电感电流已经归零,此时输出完全由电容维持。同步BUCK如果芯片做过零检测并关闭低边管,同样会进入DCM;如果芯片允许负电流,电感电流会持续下降到负值,这属于CCM的一种非典型状态,叫“反向电流导通模式”,很多强制PWM芯片在轻载时就是这种状态,效率很低。

2. 三种模式各自的脾气秉性:优缺点与适用场景

2.1 CCM:大电流应用的常青树,纹波和效率都稳

CCM在中等以上负载时几乎是唯一合理的选择。电感电流连续,输出电容只需要处理一个三角形纹波电流而不是脉冲电流,输出纹波电压小;在同样的平均电流下,CCM的电流有效值比DCM低,铜损和导通损耗更小;控制上无论电压模式还是峰值电流模式,都有成熟的小信号模型和补偿设计流程。

但CCM有个天然短板:轻载效率差。固定的开关频率意味着开关损耗基本恒定,而负载电流很小时电感平均电流虽然小,续流路径的损耗和驱动损耗并没有按比例下降。更麻烦的是,CCM下如果使用二极管续流,二极管反向恢复电荷会在高边管导通瞬间产生尖峰电流,EMI和开关损耗都变大。所以大电流DCDC一般用同步整流替代二极管,目的就是降低续流损耗。CCM通常用于CPU供电、通信设备、工业电源这些满载时间长、瞬态响应要求高的地方。

我自己的体会是,CCM是“下限有保障”的模式,只要电感取值够大,波形不会乱,环路补偿参数也有一堆现成的设计工具,调试成本最低。如果你不想在模式切换上花太多精力,那就把整个负载范围都设计在CCM内,代价是电感和电容的体积会偏大。

2.2 BCM:临界点上的变频高手,效率和EMI的平衡

BCM严格说起来不是一种可以保持恒频工作的模式。当电感电流降到零时,新的开关周期必须立刻开始,否则就滑入了DCM。如果固定开关频率,BCM只存在于一个负载点;想要在整个负载范围内都保持BCM,就必须变频控制,负载变轻时频率下降,负载变重时频率上升。

BCM最大的优势是“零电流开通”。电感电流为零时打开高边管,理论上没有反向恢复和开通电流尖峰,开关损耗很小;配合谷值开关检测,还能实现准谐振效果,EMI明显改善。因此BCM经常用在临界模式PFC中,电感电流呈正弦包络三角波,功率因数高。在DCDC轻载优化中,很多芯片使用恒定导通时间COT控制,让系统在轻载时自然工作在BCM附近,既保持较小纹波又能提高效率。

BCM的缺点也很明显:频率随负载和输入电压变化,EMI滤波器要按最低频率设计,磁芯损耗在高频段可能激增,而且电感值必须精确匹配不同工况,设计余量不好把控。实际产品里,BCM往往不是主导模式,而是工作在一个比较窄的负载窗口,比如10%到30%额定负载之间,配合PFM控制实现效率曲线的峰点。

2.3 DCM:轻载场景的灵活选择,小功率动态响应快

DCM最吸引人的地方是轻载效率。电感电流从零开始增加,高边管的开通损耗小,芯片还可以进一步降低开关频率或采用脉冲串模式,待机功耗可以压得非常低。再加上DCM下电感中没有持续循环的磁场能量,负载突变时电感电流能迅速跟上,动态响应表现不错。

代价是纹波大。DCM下电感电流是脉冲串,输出电容必须独自维持一次充电之间的所有负载电流,输出纹波电压除了ESR压降还要加上电容充放电起伏,比CCM大一个量级。同时峰值电流高,会让电感磁芯更早饱和,EMI也更难看。还有一个很少提但很实际的问题:如果开关频率掉到20kHz以内,DCM下的脉冲周期可能落在音频范围,电感啸叫、陶瓷电容压电效应都会出来,消费者电子产品对这类“吱吱叫”极度反感。

所以DCM通常作为轻载辅助模式存在,比如手机快充适配器在低功率阶段、辅助电源待机模式、电池供电设备的待机状态。真正的设计难点在于模式切换,从DCM切到CCM或从CCM滑到DCM,需要避免环路震荡和啸叫,这部分我放在第4节具体讲。

3. 实操中到底怎么选:从需求到计算的完整思路

3.1 拿到设计需求后先别急着选IC

很多工程师一上来就打开选型手册挑芯片,这其实顺序反了。正确的做法是先列需求表,至少包括输入电压范围、输出电压、负载范围(重点是最小负载和最大负载)、允许的输出纹波、目标效率、是否要求低静态电流、工作环境温度、是否有EMI认证要求。这些参数决定工作模式的选择,而不是让芯片决定电路。

一个简单的判断逻辑是:如果负载范围很窄且满载时间长,比如通信设备电源,优先保证全程CCM,电感往大了取,强制PWM控制;如果负载范围跨度很大且强调轻载效率,比如电池供电设备,就要允许轻载DCM,芯片选带PFM或者轻载模式切换功能的;如果目标是功率因数校正,前面加一级临界模式PFC,后级BUCK固定CCM。

实际操作中还需要考虑是否支持异步还是同步。异步BUCK用肖特基二极管续流,DCM模式下没有反向恢复问题,成本低;同步BUCK的低边管在CCM下必须严格控制死区防止直通,但只要控制好了,效率比异步高不少。我的建议是2A以下可以用异步BUCK,2A以上尽量选同步BUCK,轻载效率表现会好很多。

3.2 电感值计算的完整推导与算例

用一个具体算例讲清楚整个过程。假设输入Vin = 12V,输出Vout = 5V,开关频率fsw = 500kHz,最大负载Iout_max = 2A,最小负载Iout_min = 0.1A,输出纹波要求小于20mV。

先算占空比:D = Vout / Vin = 5 / 12 ≈ 0.417。

再算满载时的临界电感。把Iout_max代入临界电感公式:

Lcrit_max = Vout × (1 - D) / (2 × fsw × Iout_max) = 5 × 0.583 / (2 × 500kHz × 2A)

算出来约1.46µH。这只是满载维持CCM的理论下限,工程上还要留余量。通常让满载时的纹波率r控制在0.3到0.5之间较为合理。取r = 0.4,则ΔIL = 0.4 × Iout_max = 0.8A。

根据纹波公式反推需要的电感:

L = (Vin - Vout) × D / (ΔIL × fsw) = 7 × 0.417 / (0.8 × 500kHz) ≈ 7.3µH。

这个电感值下,满载是CCM,纹波率0.4,纹波电流0.8A,输出纹波主要由输出电容ESR决定。但是轻载时会怎样呢?在0.1A负载下,电感电流平均值只有0.1A,而纹波电流还是0.8A,纹波率r = 0.8 / 0.1 = 8,远超2,所以0.1A时一定是DCM。实际临界负载电流为:

Icrit = (Vin - Vout) × D / (2 × fsw × L) = 7 × 0.417 / (2 × 500kHz × 7.3µH) ≈ 0.4A。

也就是说,负载大于0.4A时CCM,小于0.4A时DCM。如果你希望全程CCM,包括0.1A时也不断流,那么电感值需要:

Lcrit_min = Vout × (1 - D) / (2 × fsw × Iout_min) = 5 × 0.583 / (2 × 500kHz × 0.1A) ≈ 29.15µH。

这个电感体积会大很多,动态响应也变差。大部分设计不会这么干,而是允许轻载进入DCM,换取电感和体积的优势。

给一个快速经验值:如果选型不确定,先从满载纹波率r在0.3到0.5之间反推电感,然后计算临界负载电流,看它落在负载范围的什么位置;如果临界点太高,意味着大部分负载区间都在DCM,需要增大电感;如果临界点太低,意味着轻载DCM会很深,需要考虑最小负载时的输出电压纹波是否超标。按这个流程走一遍,电感基本就定下来了。

3.3 器件选型的连锁反应:从电感看到MOS管和电容

电感确定后,下一步不是直接下单买电感,而是算峰值电流和RMS电流,这些值会决定电感饱和电流、MOS管电流定额、输出电容ESR等一堆参数。

电感峰值电流:

IL_peak = Iout_max + ΔIL / 2。

以上面例子,2A + 0.4A = 2.4A。电感饱和电流至少留20%到30%余量,取3A以上比较安全。要注意饱和电流的测试条件,很多国产电感标称饱和电流对应的电感下降量是30%,这个余量要考虑进去。

开关管的电流定额主要看峰值电流和结温,还要注意高边管在DCM模式下每次开通都是从零电流开始,不存在体二极管反向恢复问题,但峰值电流大,导通损耗按RMS电流算:

IL_rms ≈ sqrt(D × (IL_peak² + IL_peak×ΔIL/3 + ΔIL²/12) + (1-D) × ...)。

实际工程中用示波器或仿真器看灌电流波形更直观,不需要手算这么详细。

输出电容的选择要分情况看。CCM下纹波电压主要由ESR决定,公式近似为ΔVout ≈ ΔIL × ESR,但还要叠加电容充放电的积分纹波;DCM下纹波由脉冲间隔内的电容放电决定,计算复杂很多,但ESR仍是主要部分。选电容时除了容值和耐压,要看纹波电流额定值,陶瓷电容和高分子钽电容在这方面表现好,普通铝电解在DCM大纹波下容易过热。

同步整流MOS管的死区时间也很关键。CCM下低边管导通时电流可能是负流向输入,如果死区过长,电流走体二极管,反向恢复损耗很大;死区太短又可能直通烧管。好在现代控制芯片内部都做了自适应死区,选型时确认最低工作电压下的死区时序不矛盾即可。

3.4 控制环路设计:CCM和DCM补的是两套逻辑

控制环路是很多人选完电感、电容之后才发现的问题。CCM下BUCK电路的小信号模型包含LC二阶极点,电压模式控制的传递函数有一个双极点,需要Type II或Type III补偿网络,单位增益带宽一般取开关频率的1/10到1/5。峰值电流模式会把电流环等效成一阶系统,补偿起来简单一些,但要注意次谐波振荡问题,一般需要斜坡补偿。

DCM下电感电流在每个周期从零开始,模式本质上是单极点系统,低增益、大相位裕量,环路更容易稳定,但并环频率点和CCM完全不同。麻烦的是电路中同时存在两种模式,满载时运行在CCM,轻载时进入DCM,如果补偿网络只按CCM设计,切到DCM后环路特性变化可能导致输出瞬态响应变差,严重时在模式切换点附近出现低频振荡。

解决思路有三种。第一种是强制PWM,通过芯片的FPWM模式让轻载时也保持CCM,牺牲轻载效率换来环路一致性;第二种是接受DCM,但补偿网络要在两种模式下都能稳定,最常用的方法是压低调零频率或者用COT控制芯片,让控制环路对模式不敏感;第三种是用变频控制芯片,DCM和BCM下环路特性天然简单,只在满载CCM附近稍微注意相位裕量。我实测下来,COT控制芯片在DCM/CCM切换时表现最省心,恒频PWM芯片则要花更多时间调环路参数。

4. 常见问题与排查技巧实录

4.1 模式判断的三个常见误区

第一个误区是只看电感电流平均值是否大于零就判断CCM。实际判断必须看纹波电流是否触及零轴,平均值大于零不代表整个周期内电流都大于零。最稳妥的办法是用电流探头直接观察电感电流波形,或者用带DC偏置的罗氏线圈配合示波器看。

第二个误区是认为同步BUCK一定工作在CCM。同步BUCK既可以通过过零检测进入DCM,也可以强制让续流管继续导通产生负电感电流,后者依然算CCM,但电流是双向的。很多新手在轻载调FPWM模式时看到电感电流有负向部分,以为电路出错了,实际上这是正常现象。

第三个误区是忽略启动阶段的模式变化。BUCK启动时输出电压很低,占空比饱和,电感电流很大,可能从DCM直接冲进CCM甚至过流保护,此时模式判断公式中稳态Vout关系不成立,不能拿正常工作时的公式去套启动波形。我建议用示波器在启动瞬间同时抓Vin、Vout、电感电流,防止启动尖峰把后级打坏。

4.2 从CCM滑入DCM背后的环路稳定性问题

这种问题最常见的场景是:设备满载稳定运行,突然把负载卸载到接近空载,然后输出出现周期性波动,或者听到啸叫。本质原因是模式切换点附近的环路增益和相位发生了剧烈变化,还可能叠加PFM脉冲串和环路带宽的相互作用。

排查时先确认是否真的滑入了DCM,用电流探头看电感电流波形,同时看开关节点SW的波形。如果SW波形出现“打嗝”式丢脉冲,说明已经触发轻载模式。然后看输出纹波是高频纹波还是低频振荡:高频纹波多半是PFM模式本身的特性,低频振荡才需要考虑环路补偿。解决低频振荡一般从三处入手:增大输出电容、降低环路带宽、或者开启强制PWM模式。如果是COT芯片,适当增大电感可以减小纹波电流,让临界负载点下移,也能缓解模式切换带来的扰动。

我曾经调试一块板卡,轻载下输出一直在5V上下波动,摆幅有80mV,查了半天发现是补偿网络里的零点电阻取值过小,导致模式切换后带宽升高,调节改大一倍后稳定了。那种情况下,加载到2A后方波加载测试完全正常,但空载就露馅,说明补偿参数要特别关注轻载工况。

4.3 模式切换点与音频噪声的实战处理

DCM模式下的音频噪声通常来自两类:电感磁致伸缩和陶瓷电容压电效应。模式切换点设计得好不好,直接决定轻载时会不会“吱吱叫”。一个非常实用的办法是在控制芯片允许的范围内调整模式切换阈值,让它高于音频频率范围对应的负载值,避免脉冲频率落在20Hz到20kHz之间。

另一个办法是给模式切换加滞回窗口。如果没有滞回,负载在切换点附近小范围波动时,系统会频繁进出DCM和CCM,可能引发周期性的脉冲群,正好落在音频带,听起来像呼吸灯一样循环叫。很多芯片的PFM电压阈值内部已经做了滞回,但外部电路也要避免在反馈分压电阻上并联过大电容,否则反馈延迟会让滞回失效。

如果上面办法都解决不了,还可以考虑使用非同步BUCK的肖特基二极管续流,它的正向压降能起一点钳位作用,DCM下电感电流归零后不会出现负电流振荡,听感上往往比同步BUCK更安静。当然,效率会有些损失,看产品定位取舍。

4.4 仿真和实测对照:电感电流波形怎么看才准

仿真阶段推荐用LTspice搭一个同步BUCK模型,MOSFET用理想开关模型加上死区时间,电感、电容用真实型号参数,输入BUS电容放在靠近板端的地方。观察电感电流波形时,把仿真时间设得足够长,等电路进入稳态再看单个开关周期,避免把启动瞬间的电流当成稳态波形。

实测时最容易出的问题来自测量环路。普通示波器探头的地线夹直接接到开关节点附近,会引入很大的地环路电感,测出来的纹波波形全是尖刺,根本看不出真实模式。测量SW节点电压用10×探头把接地弹簧夹到探针尖端,测量输出纹波用同轴电缆过隔直电容,或者用差分探头直接跨在输出电容两端。电流波形最好用电流探头,如果实验室没有,可以在电感引脚串一个小采样电阻,但要注意采样电阻的寄生电感在高频下会影响波形真实性。

仿真和实测对照时,要注意仿真模型里的ESR值。很多仿真库里的理想电容ESR是零,算出来的输出纹波会远小于实际值;输出电容的ESR要按器件手册输入具体值,才能让纹波波形和实测接近。把电感的DCR、电容ESR都补上,仿真和实测通常能对到大概80%的水平,剩下的差异一般来自PCB走线寄生参数。

最后再分享一个小技巧:拿到一颗BUCK IC,先看它的负载电流范围和推荐感值,再翻datasheet里关于轻载模式的部分,确认它是强制PWM还是自动PFM。根据产品需求确定要不要允许DCM,然后回过头用临界电感公式校验一遍绑定负载点和目标纹波。我在大量板上踩过坑之后形成的一个习惯是,把电感取值和模式切换点写在设计评审表的第一页,无论谁接手这板子,都能快速搞清楚当时的设计意图。

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

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

立即咨询