开关电源DCM与CCM模式详解:从原理到实战设计与调试

发布时间:2026/7/30 10:32:41
开关电源DCM与CCM模式详解:从原理到实战设计与调试 1. 从“嗡嗡声”到“啸叫声”一个电源工程师的日常困惑如果你是一名硬件工程师或者经常和开关电源打交道那你一定对这两种声音不陌生一种是低沉、稳定的“嗡嗡”声另一种是尖锐、恼人的“啸叫”声。前者可能来自工频变压器而后者则常常是开关电源在特定工况下发出的“警报”。这两种声音背后对应着开关电源两种最核心、也最基础的工作模式断续导通模式和连续导通模式也就是我们常说的DCM和CCM。这不仅仅是两个枯燥的技术缩写。它们决定了你设计的电源效率是高是低、输出电压纹波是大是小、磁性元件的体积是胖是瘦甚至直接关系到整个系统能否稳定可靠地工作。选错了模式轻则效率低下、发热严重重则直接烧毁MOS管让项目一夜回到解放前。我见过太多新手工程师照着芯片数据手册的典型电路“抄作业”结果一上电就炸机排查半天才发现是工作模式没吃透电感量选得不对。今天我们就抛开那些复杂的公式推导从一个实战者的角度彻底搞懂DCM和CCM。我会结合自己踩过的坑讲清楚它们到底是什么、在电路里怎么“看”、如何根据你的需求去选择和设计以及那些数据手册里不会明说但实际调试中至关重要的“潜规则”。2. DCM与CCM的本质电流波形告诉你的故事要理解DCM和CCM最直观的方式就是看电感电流的波形。这里我们以最经典的Buck降压电路为例但原理对Boost、Buck-Boost等拓扑同样适用。想象一下电感就像一个大水库开关管MOSFET是控制水流的闸门。当闸门打开开关管导通电流从输入端涌向电感电感开始“蓄水”储存磁能电流线性上升当闸门关闭开关管关断电感为了维持电流不变会“放水”释放磁能电流通过续流二极管继续流向负载电流线性下降。### 2.1 连续导通模式电流永不归零在CCM模式下无论开关管是开还是关流过电感的电流始终大于零。它的波形像一个锯齿波在某个平均值即输出电流上下波动但最低点也不会触碰到零轴。为什么会出现CCM通常发生在负载较重输出电流大的情况下。电感储存的能量多释放得慢在下一个开关周期开始前还没来得及把电流放到零新的周期就又开始了。这就好比水库的水位一直保持在一定高度闸门周期性开合水流电流持续不断。CCM的核心特点与实战影响输出电流纹波小因为电流连续所以流过输出电容的电流变化相对平缓输出电压的纹波自然就小。这对于给模拟电路、精密ADC供电至关重要。峰值电流小对于相同的输出功率因为电流有底子所以开关管和电感需要承受的峰值电流相对较小。这降低了导通损耗和应力。对负载变化的响应慢由于电感电流不能突变当负载突然变轻时多余的能量需要多个周期才能释放掉输出电压可能会有一个向上的过冲。反之负载突然变重电压会有一个向下的跌落。控制模型简单平均电流模式在CCM下电感的伏秒平衡原理直接且稳定非常适合采用电压模式或平均电流模式控制环路补偿设计相对成熟。在实际项目中如果你需要一个纹波小、输出干净的电源并且负载电流比较大且稳定CCM通常是首选。例如给FPGA的核心电源、多路ADC的模拟供电部分我们都会刻意设计在CCM。### 2.2 断续导通模式电流有“休息”时间在DCM模式下电感电流在每个开关周期内会有一段时间下降到零并保持为零。它的波形像一个三角形脉冲后面跟着一段平坦的零电流区间。为什么会出现DCM通常发生在负载很轻输出电流小的情况下。电感储存的能量少释放得快在下一个开关周期开始前电流早就放到零了。这就好比每次闸门打开只放一点点水水库很快就见底了要等一段时间才会再次蓄水。DCM的核心特点与实战影响轻载效率高这是DCM最大的优势。当电流为零时续流二极管或同步整流管可以完全关断避免了在CCM下二极管反向恢复或同步管体二极管导通带来的损耗。很多芯片的“跳频模式”或“绿色模式”本质上就是让电路在轻载时进入DCM。对负载变化的响应快因为电流可以到零当负载突变时系统可以更快地调整占空比来响应动态性能好。峰值电流大为了传递相同的平均功率由于电流有为零的间隔其峰值电流必须比CCM时高得多。这会增加开关管的开关损耗和导通损耗同时要求电感的饱和电流余量要留得更大。输出纹波大电流不连续导致输出电容需要承受更大的脉冲电流输出电压纹波和噪声会显著增大。控制模型复杂需要斜坡补偿DCM下的小信号模型与CCM完全不同其传递函数自带一个右半平面零点环路稳定性设计更复杂通常需要芯片内部提供特殊的补偿。在实战中DCM常见于待机电源、电池供电设备的轻载工况或者对动态响应要求极高的场合。很多手机充电器在空载时你听到的细微“嗒嗒”声其实就是芯片在DCM/Burst模式下来回切换的声音。### 2.3 临界导通模式游走在边界上的“骑墙派”除了DCM和CCM还有一种特殊的模式叫临界导通模式或过渡模式。在这种模式下电感电流刚好在下一个周期开始时下降到零。它兼具了DCM和CCM的一些特点比如像DCM一样二极管没有反向恢复问题峰值电流又比纯DCM要低。一些PFC电路和LLC谐振变换器就工作在这种模式附近。但对于普通的PWM开关电源我们通常还是按DCM和CCM来划分和设计。注意判断一个电源工作在哪种模式不能只看芯片型号或电路图必须用示波器实测电感电流波形。负载变化、输入电压变化都会导致模式迁移。3. 如何设计与选型从需求反推电路参数知道了原理最关键的一步是如何应用到设计里。你不会希望做一个电源标称5V/2A结果负载一到1.5A就从CCM跳到了DCM导致纹波暴增。设计过程本质上就是根据你的性能需求去“锁定”电源的工作模式。### 3.1 第一步明确设计指标与模式选择在画原理图之前先问自己几个问题负载特性负载电流范围是多少最小电流和最大电流差多少负载是恒定的还是跳变的性能要求输出电压纹波要求多严动态响应速度要求多高效率在轻载和重载下分别有什么要求成本与体积对电感体积和成本是否敏感回答完这些问题模式选择就有了方向追求高效率、小体积、快响应且可以接受较大纹波- 可以考虑在宽范围负载下设计为DCM或使用具有DCM/CCM自动切换的芯片。追求低纹波、高电流、高稳定性- 应确保在最小负载电流时电路仍工作在CCM这需要计算一个足够大的电感。### 3.2 第二步核心计算——电感量的确定电感量是决定工作模式的核心参数。这里给出一个Buck电路在CCM边界即临界模式的电感计算公式这是工程上最常用的起点L (Vout * (Vin - Vout)) / (Vin * fsw * ΔIL)其中L: 所需电感量亨利HVout: 输出电压伏特VVin: 输入电压伏特V通常取最小值计算因为此时占空比最大对电感要求最严。fsw: 开关频率赫兹HzΔIL: 电感电流纹波峰峰值安培A。通常取输出额定电流Iout的20%~40%即ΔIL (0.2 ~ 0.4) * Iout。这个公式的实战解读假设你要设计一个12V转5V/2A的Buck电源开关频率500kHz输入电压范围12V-24V要求在全负载范围内尽量保持CCM。取最严苛条件Vin_min 12V。取纹波系数为30%则ΔIL 2A * 0.3 0.6A。代入公式L (5V * (12V - 5V)) / (12V * 500000Hz * 0.6A) ≈ 9.72μH。计算出来大约是9.7μH。但这只是理论值且是临界值。为了保证在最小负载比如0.1A时也能进入CCM我们通常需要选择比这个值更大的电感。在实际选型中我一般会选择一个接近的标准值比如10μH或15μH然后进行复核。复核方法计算临界负载电流Iout_critIout_crit ΔIL / 2用我们上面的参数如果选10μH重新计算ΔIL约为0.584A那么Iout_crit ≈ 0.292A。这意味着只要负载电流大于0.292A电路就工作在CCM小于这个值就会进入DCM。如果你的最小负载电流是0.1A那么轻载时就会是DCM。你需要评估这个DCM带来的纹波增大是否可接受。### 3.3 第三步电感选型的“魔鬼细节”选定了电感量去市场上找供应商你会发现同样10μH的电感有几十种规格。这里面的坑太多了饱和电流这是最重要的参数没有之一。你必须保证在最大负载电流加上一半的纹波电流时电感不能饱和。即Isat Iout_max ΔIL/2。饱和的电感量会骤降相当于短路瞬间产生巨大的峰值电流极易烧毁MOS管。我的经验是至少留出30%-50%的余量。温升电流指电感自身发热导致温度上升一定值通常是40°C时的电流。它决定了电感的长期可靠工作电流。这个值通常比饱和电流小。要保证你的最大输出电流小于温升电流。直流电阻DCR直接影响导通损耗和效率。在空间和成本允许的情况下选DCR小的。但要注意DCR小的电感体积往往更大。磁芯材料铁氧体、铁硅铝、合金粉末……不同材料频率特性、饱和特性、成本差异巨大。500kHz以下铁氧体是主流对于高频或大电流可能需要考虑合金粉末磁芯。封装与工艺屏蔽电感如一体成型电感磁泄漏小对周围电路干扰小但成本高非屏蔽电感如工字电感成本低但需要留出足够的距离防止干扰。一个真实的踩坑案例我曾用一个标称Isat为3A的6.8μH一体成型电感做一款3A输出的电源。测试时常温下满载一切正常。但做高温老化试验时运行半小时后芯片突然烧毁。排查发现高温下电感的饱和电流降额严重实际Isat可能已低于2.5A导致电感在高温满载时瞬间饱和。后来换用了Isat为5A的同规格电感问题解决。教训永远要考虑高温下的参数降额4. 模式切换、控制环路与实测调试现代很多电源管理芯片都非常智能它们会根据负载情况在CCM、DCM以及更轻载的“突发模式”之间自动切换以优化全负载范围的效率。但这给我们的调试带来了新的挑战。### 4.1 模式切换点的观测与影响你需要用示波器同时捕获输出电压或开关节点SW波形和电感电流波形。逐渐增加负载你会看到电流波形从DCM的三角脉冲带平台逐渐变成CCM的连续锯齿波。那个切换点对应的负载电流就是你前面计算的Iout_crit。模式切换时电源的控制环路特性会发生突变可能导致输出电压出现轻微的抖动或振荡。如果这个抖动在你系统的敏感频段内就可能引发问题。调试时需要确保在模式切换点附近环路的相位裕量仍然足够。### 4.2 CCM下的环路补偿要点在CCM下功率级传递函数是一个双极点系统。你需要用Type II或Type III补偿网络来提升低频增益改善负载调整率并提供一个相位提升保证稳定性。补偿元件的计算通常基于芯片数据手册提供的公式或工具。一个关键技巧用网络分析仪或频率响应分析仪实测环路的波特图是最可靠的方法。如果条件有限至少要通过负载瞬态测试来验证用一个电子负载在额定负载的25%-75%之间以一定频率方波切换观察输出电压的过冲和恢复时间。### 4.3 DCM下的特殊考量在DCM下功率级传递函数近似为一个单极点系统但其位置随负载和输入电压变化。更重要的是它引入了一个右半平面零点这个零点会带来相位滞后而不是提升对稳定性有害。因此很多专为DCM或宽范围模式设计的芯片内部已经集成了特殊的补偿网络或算法。对于外部补偿的芯片如果设计时预计会进入DCM那么补偿网络必须按照DCM的模型来设计或者按照最恶劣情况通常是轻载DCM来设计以确保在所有工况下都稳定。一个常见错误只按CCM满载设计补偿结果轻载时DCM环路振荡输出电压有叫声。### 4.4 实测中的“啸叫”问题排查电源啸叫是DCM/CCM话题下最经典的实战问题。啸叫通常不是芯片本身在叫而是电感或陶瓷电容在叫。电感啸叫在DCM或突发模式下电感电流是间歇性的脉冲这会导致磁芯在脉冲作用下发生微小的机械形变磁致伸缩效应如果这个脉冲的频率或谐波落在音频范围内20Hz-20kHz你就会听到“吱吱”声。开关频率本身通常超过20kHz人耳听不到但其低频边带或次谐波可能落入音频段。陶瓷电容啸叫MLCC陶瓷电容也存在类似的压电效应纹波电流导致电容体振动发声。解决方法改变开关频率稍微调整一下芯片的开关频率如果支持避开敏感的音频频段。优化电感选用磁致伸缩系数更低的磁芯材料或者采用一体成型等结构更坚固的电感。优化PCB布局减少开关回路的面积降低高频噪声辐射有时能间接改善。避免深DCM工作如果可能通过调整电感量或控制参数让电路在轻载时也不要进入电流过深的DCM或者让突发模式的频率高于20kHz。更换输出电容在输出端并联一些固态电容或电解电容它们没有压电效应可以吸收高频纹波减轻陶瓷电容的压力。5. 进阶话题与现代电源拓扑的关联理解了基本的DCM和CCM再看一些先进的拓扑就会豁然开朗。### 5.1 图腾柱无桥PFC中的CCM/DCM操作图腾柱PFC是高效服务器电源和高端适配器的标配。它的工作模式非常有趣在工频线电压过零点附近由于电压很低为了提升效率电路会工作在DCM或临界模式在线电压峰值附近则为CCM。控制器需要在这两种模式间平滑过渡这对控制算法提出了很高要求。设计这类电路时必须同时考虑两种模式下的器件应力和环路稳定性。### 5.2 LLC谐振变换器始终在“临界”附近跳舞LLC拓扑之所以能实现软开关和超高效率正是因为它巧妙地利用了谐振腔的特性让主开关管总是在电流过零时开通或关断ZVS/ZCS。你可以粗略地理解为其一次侧电流波形类似于临界导通模式但机理比普通的PWM变换器复杂得多。设计LLC时计算谐振腔参数Lr, Cr, Lm的核心目标之一就是在整个输入电压和负载范围内确保电路工作在增益曲线的合适区域实现软开关。### 5.3 多相交错并联对纹波与模式的再分配在大电流应用中如CPU/GPU的VRM常采用多相Buck并联。交错并联技术不仅将电流分摊到多个相位降低了单个电感的压力更巧妙的是它将总输出电流纹波的频率提高了N倍N为相数同时幅值大幅降低。从单相看每个相位可能工作在CCM或DCM但由于相位交错总输出纹波特性极佳。这允许我们可以使用更小的电感可能工作在更深的CCM或DCM边界同时获得比单相大电感CCM更好的动态响应。6. 仿真与工具让设计从经验走向精确在今天完全依靠手工计算和“试错”来设计电源已经不合时宜了。善用工具可以极大提升成功率和效率。LTspice/PSIM这类电路仿真软件是电源工程师的“数字实验室”。你可以在里面搭建准确的电路模型包括MOSFET、二极管的非线性特性以及电感的饱和曲线。轻松地扫描负载、输入电压观察工作模式的变化、器件的应力和损耗以及环路的稳定性。在投板前进行充分的仿真能避免很多低级错误。厂商设计工具TI的WEBENCHADI的LTpowerCADMPS的MPSmart等在线工具非常强大。你输入指标它能自动生成原理图、BOM、并给出关键元件如电感的选型建议甚至提供热仿真和环路补偿计算。对于快速原型设计非常有用。但要注意工具的结果是理想化的最终仍需结合实际器件参数和PCB布局进行调整。MathCAD/Matlab对于需要深度算法验证或复杂拓扑如LLC、移相全桥的参数计算这些数学工具必不可少。你可以编写脚本精确计算增益曲线、软开关范围、谐振参数等。我个人习惯的工作流是先用厂商工具快速得到一个可行方案和BOM然后用LTspice搭建详细模型进行功能、应力和效率仿真最后用MathCAD复核关键参数的计算。这样三层验证下来设计出来的电源十拿九稳。说到底DCM和CCM不是非此即彼的对立关系而是一个电源在不同工况下的自然表现。优秀的电源设计不是强行让它永远工作在某种模式而是深刻理解每种模式的特性根据产品最终的应用场景是全时高性能还是兼顾待机功耗做出最合理的折衷与设计。下次当你听到电源的“啸叫”或看到纹波异常时第一反应就应该是“拿出探头看看电流波形它现在工作在什么模式” 这个习惯能帮你解决一大半的电源疑难杂症。