1. 轻载效率掉下来,先别急着换芯片:一次真实的DCM排查
1.1 Boost是怎么从CCM不知不觉滑进DCM的
去年调一个48W的Boost升压电源,输入12V,输出24V/2A,额定工况下效率能做到94%左右,一切正常。但一测轻载,比如输出0.2A时,效率直接掉到81%,带压差、带毛刺,电感还会发出轻微啸叫。一开始以为是控制芯片轻载性能不行,换了两个厂家的芯片,问题依旧。最后用示波器同时测了电感电流和MOS管Vds,才发现根源不在芯片,而是Boost电路的工作模式从CCM滑入了DCM。
这里要先说清楚两个基本概念。CCM(电感电流连续导通模式)指的是整个开关周期内电感电流都不为零;DCM(电感电流断续导通模式)则是一周之内有一段时间电感电流保持为零,负载电流完全由输出电容提供。很多工程师设计Boost时,习惯按额定功率算电感,保证满载时工作于CCM就够了,很少去验证轻载状态——结果轻载时电路悄悄进入DCM,效率曲线、环路的稳定性、输出纹波全都会跟着变。
DCM不是"故障",但如果不了解它的规律,很容易被它坑:增益不再只由占空比决定,环路补偿参数会失效,电感里的能量断断续续,输出电容承受的纹波电流变大,MOS管两端还会出现一段经典的阻尼振荡。所以轻载效率不好看,先别急着怀疑芯片,第一步是确认电路到底工作在什么模式。
1.2 一个参数快速判断CCM还是DCM:K与Kcrit
判断工作模式最直接的办法是看电感电流波形,但不能每次调试都扛着示波器,设计阶段就需要一个数学判据。电力电子里常用无量纲参数K来判断,定义如下:
K = 2L / (R × Ts)
其中L是电感量,R是等效负载电阻,Ts是开关周期。把Boost在CCM下的占空比D带进去,可以得到临界值Kcrit。对于Boost变换器,临界条件正好是:
Kcrit = D × (1 - D)^2
当K大于Kcrit时工作在CCM;当K小于Kcrit时进入DCM。
拿我之前那个48W样机算一下:L = 47μH,开关频率100kHz,所以Ts = 10μs。满载输出24V/2A,等效负载R = 12Ω,此时K = (2 × 47μH) / (12Ω × 10μs) ≈ 0.783。CCM下12V升24V,占空比D = 1 - Vin/Vout = 0.5,于是Kcrit = 0.5 × 0.5² = 0.125。K远大于Kcrit,满载稳定工作在CCM。
再看轻载0.2A,等效负载R = 120Ω,K = (2 × 47μH) / (120Ω × 10μs) ≈ 0.0783。Kcrit仍然是0.125(占空比没变,因为输出电压和输入电压没变),此时K小于Kcrit,电路进入DCM。这组数字非常直观:同一颗电感、同一个占空比,仅仅负载变了,工作模式就完全不同。
注意:这个判据用的是CCM占空比来算Kcrit,而电路进入DCM后占空比会动态变化。所以这个公式适合用来预判"设计目标会不会落在CCM里",而不是运行中实时追踪D值。实时判断还是要靠波形。
2. DCM下Boost的"三段式"工作节拍
2.1 充电、放电、躺平:电感电流的三个阶段
DCM模式下,一个开关周期被切成三段,跟CCM的两段式结构有明显区别。
第一阶段是开关管导通阶段,记作d1·Ts。MOS管导通,输入电源给电感充电,电流从零开始线性上升,一直升到峰值Ipeak。这个阶段二极管反偏,负载电流完全由输出电容提供。电感电流的上升斜率是Vin/L,所以峰值电流可以写成:
Ipeak = (Vin × d1 × Ts) / L
第二阶段是开关管关断、二极管导通阶段,记作d2·Ts。MOS管关断,电感电流不能突变,通过二极管继续向输出端流动,电感存储的能量转移到负载和输出电容。因为输出电压Vout高于输入Vin,所以电感两端电压反向,电流线性下降,斜率是(Vout - Vin)/L。这个阶段一直持续到电感电流降到零。
第三阶段是电感电流为零的"躺平"阶段,记作d3·Ts。这个阶段最容易被忽视,也最体现DCM的本质:电感既不储能也不放能,输出完全靠电容撑,二极管截止,MOS管的漏源电容和电感开始谐振,Vds波形上会出现一段衰减振铃。
三个时间段加起来等于整个周期:d1 + d2 + d3 = 1。d3越大,说明电流断续得越厉害,电路离CCM越远。
2.2 伏秒平衡:d1、d2、d3之间的硬约束
DCM下虽然电流断续了,但电感在一个完整开关周期内仍然满足伏秒平衡,也就是"充电期间的电压·时间总量"等于"放电期间的电压·时间总量":
Vin × d1 × Ts = (Vout - Vin) × d2 × Ts
整理一下:
d2 = d1 × Vin / (Vout - Vin)
这个关系式说明了一个重要事实:d1和d2是联动的。在12V升24V的例子里,Vout - Vin = 12V,于是d2 = d1。如果输入输出压差变了,比如输入18V升24V,那么Vin/(Vout - Vin) = 3,d2 = 3·d1,二极管导通时间会更长,这是因为电感放电的斜率(Vout-Vin)/L变小了,需要更长的时间把同样的能量放完。
很多人在纸上算DCM增益时只盯着d1,忽略了d2,结果算出来的关系和实测总是差一截。关键就是:DCM下必须把d1、d2一起解出来,因为输出电流本质上是"每周期转移了多少电荷"的问题,而这同时取决于峰值电流(由d1决定)和放电时间(由d2决定)。这为后面推导电压增益打下了基础。
3. 从mos管波形读出DCM的全部信息
3.1 Vds波形上的三大标志:尖峰、平台、振铃
把示波器探头夹在MOS管漏源两端,一台处于DCM的Boost会呈现一幅非常有辨识度的波形。
第一个标志是关断瞬间的电压尖峰。MOS管关断时,电感电流突然转移到二极管支路,这个电流切换过程中,PCB走线寄生电感和MOS管封装引脚电感会产生一个尖峰电压叠加在Vout上。尖峰的幅度反映了回路寄生电感的能量,尖峰越大,说明布局越需要优化,或者需要考虑加RC吸收。
第二个标志是关断后的主平台,Vds落在Vout附近,持续一段较平缓的区间。这段对应d2阶段,电感通过二极管放电,MOS管承受反向电压Vout。理想情况下这个平台应该是干净的水平线,实际会叠加一些小的开关噪声。
第三个标志也是最典型的DCM特征:电感电流降到零之后,Vds上会出现一串阻尼衰减振荡。这段振荡对应d3阶段,本质是电感L和MOS管漏源电容Coss构成LC谐振回路。振荡从接近Vout的位置开始,向Vin方向衰减,频率大约为:
f_ring ≈ 1 / (2π × √(L × Coss))
拿之前的电路估算:L = 47μH,Coss取常见MOS管的150pF,f_ring ≈ 1 / (2π × √(47μH × 150pF)) ≈ 1.9MHz。这个频率远高于开关频率100kHz,如果你的示波器带宽不够或者探头地线太长,很容易把这段振铃看成一团糊掉的噪声,从而错失关键信息。
CCM模式下,电感电流不会归零,这段LC振铃就不会出现,最多只有关断尖峰。所以"看到振铃"几乎可以直接判定电路处于DCM。
3.2 用振铃频率反推寄生参数,比拆板量参数更快
振铃虽然看起来碍眼,但它是免费的信息载体。我经常利用这段振铃来反推电路里的寄生参数。
测出振铃频率f_ring、已知电感L,就能估算出Coss附近的总电容:
C_total ≈ 1 / (4π² × f_ring² × L)
如果把这个电容量和MOSFET手册里的Coss对比,差值就是PCB漏源焊盘之间的寄生电容,以及二极管结电容的贡献。反过来,如果已知Coss,也可以反推实际电感量,特别适合电感套了磁屏蔽、外观标识看不清的情况。
另外,关断尖峰的振铃频率通常更高,因为那是寄生电感和Coss的局部谐振,频率往往在几十到上百MHz。对比两个振铃频率,可以快速判断"这个尖峰是版图寄生电感引起的,还是二极管反向恢复引起的",处理策略完全不同:前者需要缩短功率回路、减小环路面积;后者需要换反向恢复更快的二极管或改吸收电路。
3.3 测量细节:探头地线长度决定你看到的是真是假
这一节非常重要。很多人测MOS管Vds波形,习惯用那种带长地线夹子的示波器探头,结果发现波形上有一大堆"振铃",频率高达几十兆赫兹,还以为是电路有问题,其实那是测量环路自己串进来的噪声。
测量Vds一定要用探头的接地弹簧(短地线针脚),把地线环路减到最短。探头本身的寄生电感会造成谐振峰,地线越长,等效电感越大,测出来的振铃越夸张。另外,探头衰减比建议用10x,带宽设置在100MHz以上;如果想看尖峰的真实幅值,不要开带宽限制,否则尖端会被滤平。
还有一个细节:探头尖端到MOS管漏极引脚的连线也尽量短。我见过有人用一根五六厘米长的探针去勾MOS管引脚,结果在100MHz以上看到一个巨大的谐振峰,实际设计根本没这个问题。测量这套系统,本身就是高频电路的一部分,隔离它的影响是波形分析的第一步。
4. DCM电压增益推导:从能量守恒到工程设计
4.1 推导的起点:每个周期往输出端搬了多少电荷
DCM下Boost的电压增益不能直接套CCM的公式M = 1/(1-D),因为输出负载参与了增益的调节。推导的起点是"每个开关周期、输出电容和负载接收的平均电流等于负载电流"。
由前面的分析,二极管导通时间d2·Ts内,电感电流从Ipeak线性降到零。二极管电流等效为一个三角形脉冲,平均到整个开关周期后:
Iout = (1/2) × Ipeak × d2
再把Ipeak = Vin × d1 × Ts / L,以及伏秒平衡推出的d2 = d1 × Vin / (Vout - Vin) 代入:
Iout = Vin² × d1² × Ts / (2L × (Vout - Vin))
这就是DCM Boost的输入输出传递关系的核心表达式。你看,输出电流不仅仅跟占空比相关,还跟电感、开关周期、压差都相关,这就是DCM"负载相关"的数学根源。
4.2 解方程得到增益公式:M与d1、K的最终关系
把Iout = Vout/R代进去:
Vout / R = Vin² × d1² × Ts / (2L × (Vout - Vin))
两边整理,得到关于Vout/Vin的一元二次方程。设M = Vout/Vin,K = 2L/(R·Ts),化简后:
M(M - 1) = d1² / K
解这个方程,取正根:
M = (1 + √(1 + 4d1²/K)) / 2
这个公式就是DCM Boost电压增益的完整形式。跟CCM的M = 1/(1-D)对比一下,差异非常明显:DCM增益同时受占空比d1、负载R(通过K体现)、电感L和开关频率fs影响。
回到前面的例子验证。轻载0.2A时R = 120Ω,K ≈ 0.0783,输出24V所以M = 2。代入公式反解d1:
2 × (2-1) = d1² / 0.0783
d1² = 0.1566,d1 ≈ 0.396
也就是说,维持同样的输出电压,DCM下需要的占空比从CCM的0.5降到了约0.396。很多控制环路在轻载时出现输出电压偏高,本质就是控制器还在按CCM模型算占空比,实际DCM增益更高,输出电压压不住。
4.3 增益非线性给环路带来的实际麻烦
DCM增益公式里那个根号项,让增益对d1的变化率不再是一个常数。用刚才的公式对d1求导就能看出来:CCM下dM/d(d1)是常数,DCM下dM/d(d1)还包含d1/K项,在不同负载下差异很大。
这意味着什么?意味着轻载DCM区,环路增益随负载变化剧烈,用一套固定补偿参数很难在整个负载范围内都获得理想的相位裕度。实测中常见的现象是:满载CCM下环路稳定、动态响应良好,切到轻载DCM后出现低频振荡,或者负载阶跃时输出电压过冲变大。
解决思路有两种。一种是从控制入手,采用自适应补偿或直接按DCM增益模型做前馈修正;另一种是从拓扑入手,让电路尽量避开DCM区,比如增大电感、改变开关频率,这就是下一节要说的优化路径。
5. 电压增益优化:从器件选型到控制策略
5.1 电感值怎么选:不是越大越好,但BUCK和BOOST逻辑不同
从K = 2L/(R·Ts)可以看出,增大电感L可以抬高K值,让轻载工况离DCM边界更远。那是不是电感越大越好?不全对。
电感变大,L·di/dt不变的前提下,同样的d1和开关频率下峰值电流会增加吗?不对,Ipeak = Vin·d1·Ts/L,电感变大峰值电流反而变小,但电流上升速率也变小了。关键问题是:要维持同样的输出功率,你需要更大的平均电流,而峰值电流受限制时,占空比就需要调整。DCM下的增益公式里,K变大,同样的d1对应的增益变小,控制器需要更大的占空比来维持输出电压——这会挤压最大占空比裕量。
工程上选电感的合理逻辑是:先确定允许进入DCM的负载点。如果要求2A满载到0.5A都必须保持CCM,那就以0.5A对应的负载电阻去算Kcrit,反推最小电感量。再结合体积和成本,取一个1.2到1.5倍的裕量。如果对轻载效率要求特别高,反而可以考虑"让它在轻载时主动进DCM",配合PFM控制来提高效率,而不是死磕CCM。
5.2 轻载优化:PFM跳周期和恒定导通时间
既然DCM下电感电流有"躺平"阶段,那轻载时MOS管还在以固定频率不停地开关,每周期都有开关损耗,效率自然往下掉。有很多控制芯片在轻载时会主动进入PFM模式(脉冲频率调制),也就是拉长周期、减少开关次数,只在输出电压跌到阈值以下时给一次脉冲。
PFM的本质是让"每个脉冲传递多少能量"基本不变,通过改变脉冲的密度来调整输出。这和DCM的增益公式很契合:每次开关都让电感电流从零升到接近同一个峰值,然后完全释放,输出电压基本由脉冲密度调节。这样轻载时开关次数大幅减少,开关损耗随负载等比下降,效率曲线能保持平缓。
另一个方案是恒定导通时间COT控制。保持每个周期的导通时间d1·Ts固定,通过改变关闭时间来调整输出电压。COT在DCM下的动态响应很快,因为导通时间的起点可以紧跟输出电压跌落的那一瞬间,几乎无需复杂的补偿网络。我实测下来,COT搭配DCM在轻载动态响应上比传统电压模式PWM好不少,输出过冲能小一半。
5.3 二极管和同步整流:轻载损耗的另一半
DCM阶段电感电流是三角波,峰值电流比同样平均电流下的CCM要高。峰值电流流过二极管时,二极管的导通压降乘以电流,会产生较大的导通损耗。普通快恢复二极管Vf可能到0.9V以上,轻载时1A左右的峰值电流,每次导通损失不可忽视。
一个优化方向是换用肖特基二极管,Vf能做到0.3到0.5V,d2阶段的损耗能降一半。但肖特基的静态漏电流相对大,高压应用下要留意反向漏电流造成的损耗。
另一个更彻底的方案是同步整流:把二极管换成MOSFET,用控制器驱动它做反向同步。同步管导通电阻可以做到几毫欧到十几毫欧,导通损耗比二极管低一个数量级。轻载DCM下,同步管也可以设计成"只在d2阶段开通",其余时间关闭,既保住了DCM的轻载节能优势,又消除了二极管的导通压降损耗。我最近一个项目用了同步整流方案,轻载效率直接从81%拉到了87%左右。
6. 实测记录:48W样机的DCM调优前后
6.1 第一步:先采满波形再动手改电路
回到那个12V升24V/48W的样机。发现问题后,我没有立刻改参数,而是先把几个关键波形完整采下来:MOS管Vds、电感电流(用电流探头)、输出纹波。示波器同时显示这三路,时间轴拉到20μs/格(覆盖两个开关周期),电压探头用接地弹簧接好。
波形显示验证了前面的判断:轻载0.2A时,电感电流呈三角形,且有明显的电流为零平台;Vds在电感电流归零后出现约1.8MHz的衰减振铃,幅度从24V附近衰减,经过大约6到7个周期才稳定到12V。跟理论估算的振铃频率几乎吻合,说明Coss的实际值在预期的范围内,寄生参数没有异常超标。
6.2 第二步:按公式选型,不盲目加电感
根据5.1说的原则,我设定目标:输出电流0.5A以内允许DCM,0.5A以上保持CCM。0.5A对应的等效负载R = 48Ω,目标工作区K必须大于Kcrit = 0.125。由K = 2L/(R·Ts)反推:
L > 0.125 × R × Ts / 2 = 0.125 × 48 × 10μs / 2 = 30μH
原电感47μH已经满足这个条件,所以理论上不需要换大电感。问题出在占空比控制上。实测DCM轻载输出略偏高约2%,最后通过调整反馈分压电阻的阻值匹配、并微调环路补偿,让轻载和满载都能稳住24V。
如果盲目把电感从47μH加到100μH,满载峰值电流会更小,但DCM轻载区会进一步压缩,带来的好处有限,反而增加体积成本。公式的好处就在这里:它能帮你判断"要不要动电感"以及"动多大"。
6.3 第三步:加RC吸收,把1.8MHz振铃压下去
DCM振铃虽然不代表失控,但1.8MHz的振荡会通过辐射耦合到输入端,造成EMI测试超标。我的处理方式是在MOS管漏源之间加RC吸收电路(也叫snubber)。吸收电阻和电容的取值逻辑是:让RC的谐振频率大致等于振铃频率,用电阻消耗掉振荡能量。
通常先用示波器测出振铃频率f_ring和Coss估算值,然后选电容C_snubber为Coss的2到4倍,电阻按R_snubber ≈ 1/(2π·f_ring·C_snubber)初选,再微调。我这个项目选了C_snubber = 330pF、R_snubber = 270Ω,振铃幅度从最初超过6V的峰峰值压到了2V以内。代价是增加了轻微的额外损耗,但满载效率只掉了0.3%,完全可接受。
这里有个值得说的经验:不要在摸清振铃来源前盲目加吸收。我一开始想在二极管两端并联RC,结果振铃压下去一点,但效率掉了1.2%,因为吸收电阻在d2阶段一直吃能量。后来改在MOS管两端加,效果更好、损耗更小。原因是这段振铃的主要储能路径是电感和Coss,吸收回路放在MOS管上,正好消耗的是无效振荡能量,而不是电流导通的有效能量。
6.4 试过几次之后,我对DCM的态度
对DCM,很多人有个心理障碍,觉得它是"非理想状态",非要CCM不可。我现在的看法不一样:DCM在轻载下是物理常态,关键不是消除它,而是理解它、利用它。波形上的振铃是信息,增益公式是工具,PFM和RC吸收是手段。
做Boost设计时,我会习惯性地在项目早期就把CCM/DCM边界表列出来,标清楚每个负载点对应的K/Kcrit,再决定电感、频率、控制模式。这样到了样机调试阶段,很多"疑难杂症"在表格上就已经被预判掉了。最后再分享一个小工具层面的习惯:示波器的余晖模式(persistence)一定要开,叠加几十个周期的Vds波形,DCM振铃、CCM尖峰的规律和一致性一目了然,比单帧波形更容易看出潜在问题。