尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Buck电路CCM与DCM模式深度解析:从原理到选型避坑指南
1. 从一个电感波形说起为什么CCM和DCM值得单独拎出来讲做电源这行十几年我越来越觉得Buck电路里最容易被新手忽略、又最容易让老手翻车的不是环路补偿也不是MOS选型而是CCM和DCM这两个工作模式。很多人画完原理图、焊好板子、上电一测发现轻载时输出电压飘了、纹波大了、甚至啸叫了回头查半天最后发现是电路悄悄从CCM滑进了DCM而自己的电感和反馈参数根本没按DCM去校核。先把话说清楚Buck电路是最基础的降压型开关电源拓扑通过一个开关管上管、一个续流管下管或二极管、一个电感和一个输出电容把较高的输入电压斩波成较低的输出电压。而CCMContinuous Conduction Mode连续导通模式和DCMDiscontinuous Conduction Mode断续导通模式描述的是电感电流在一个开关周期内是否连续——CCM下电感电流始终大于零DCM下电感电流会在周期内某一段降到零并保持一段时间。这两个模式决定了什么决定了你的电感量怎么选、输出纹波多大、环路补偿怎么设计、轻载效率高不高、甚至会不会出现次谐波振荡。可以说不懂CCM和DCMBuck电路设计就是盲人摸象。这篇内容我打算把这两个模式从物理本质、数学推导、临界条件、实测波形到选型取舍完整地捋一遍适合刚入行的电源工程师、正在做DC-DC模块的硬件同学以及想把手撕Buck真正搞明白的爱好者。看完你至少能做到拿到一个Buck需求知道该让它工作在哪个模式电感该取多大以及为什么。2. 把电感电流拆开看CCM和DCM的物理本质与临界条件2.1 电感电流的三种形态其实是一条连续谱很多人把CCM和DCM当成两个对立的东西其实它们是一条连续谱上的两端。电感电流在一个开关周期内的波形本质上是直流分量 三角波纹波。当三角波的谷底还高于零就是CCM当谷底刚好触到零就是BCMBoundary Conduction Mode临界模式当谷底想往下走却被钳在零出现一段平直的零电流区就是DCM。我用一个生活化的类比想象一个水池进水口开关管导通时电感储能和出水口开关管关断时电感释能交替工作。CCM就像水池里始终有水进水和出水无缝衔接DCM就像水池在某个时段被抽干了得等下一轮进水才能继续出水。这个抽干的时段就是电感电流为零的死区。理解这一点很关键DCM不是故障而是一种正常的工作状态尤其在轻载时几乎无法避免。问题在于如果你的设计只按CCM算轻载进DCM后传递函数会变、增益会变、相位会变环路就可能不稳。2.2 临界电感CCM和DCM的分水岭怎么算判断电路处于哪个模式核心看一个量——临界电感Lc。推导过程我尽量讲透因为这是后面所有选型的根。设输入电压Vin输出电压Vout开关频率fsw开关周期T1/fsw占空比DVout/Vin理想Buck。电感电流的纹波峰峰值$$\Delta I_L \frac{(V_{in} - V_{out}) \cdot D \cdot T}{L} \frac{V_{out}(1-D)T}{L}$$这个公式的来历开关管导通时电感两端电压是Vin−Vout持续时间D·T根据VL·di/dt电流上升量就是(Vin−Vout)·D·T/L。关断时电感两端电压是−Vout持续时间(1−D)T电流下降量是Vout·(1−D)T/L两者相等这就是伏秒平衡。电感电流的平均值等于输出电流Iout因为电容平均电流为零。那么电流谷底值$$I_{valley} I_{out} - \frac{\Delta I_L}{2}$$当I_valley0时就是临界点。此时$$I_{out} \frac{\Delta I_L}{2} \frac{V_{out}(1-D)T}{2L}$$解出临界电感$$L_c \frac{V_{out}(1-D)T}{2 I_{out}} \frac{V_{out}(1-D)}{2 I_{out} f_{sw}}$$这个公式要背下来。它告诉你负载电流越小、开关频率越低、占空比越接近1临界电感就越大。换句话说同样的电感重载时在CCM轻载时就掉进DCM了。2.3 一个具体算例把数字代进去才有感觉假设Vin12VVout5Vfsw500kHz满载Iout2A。先算D5/12≈0.417T2μs。$$L_c \frac{5 \times (1-0.417)}{2 \times 2 \times 500000} \frac{5 \times 0.583}{2 \times 10^6} \frac{2.915}{2 \times 10^6} \approx 1.46 \mu H$$也就是说如果电感取1.46μH满载2A时刚好在临界点。取大于1.46μH满载进CCM取小于满载就是DCM。而如果负载降到0.2A临界电感变成14.6μH——你原来那个2.2μH的电感在0.2A时早就深陷DCM了。注意这里的D用的是理想值实际要考虑上下管的压降、电感的直流电阻DCR。低压大电流场合这些损耗会让实际占空比偏离理想值临界点也会偏移工程上要留20%余量。3. 两种模式下的传递函数差异为什么轻载会不稳3.1 CCM的传递函数一个标准的二阶系统CCM下Buck的功率级是一个典型的二阶LC滤波器控制到输出的传递函数以电压模式为例$$G_{vd}(s) V_{in} \cdot \frac{1 s R_C C}{1 s(R_L C \frac{L}{R}) s^2 LC}$$其中R是负载电阻R_C是输出电容的等效串联电阻ESRR_L是电感DCR。这个系统有两个极点频率在$$f_{p1,p2} \approx \frac{1}{2\pi\sqrt{LC}}$$还有一个由ESR引入的零点频率在1/(2πR_C·C)。CCM下这个模型是固定的环路补偿相对好做一个Type III补偿器基本能搞定。3.2 DCM的传递函数降成一阶但增益变了DCM下情况完全不同。因为电感电流有零区电感不再是一个连续储能的元件功率级从二阶降为一阶传递函数变成$$G_{vd}(s) \approx \frac{2 V_{out}}{D} \cdot \frac{1 s R_C C}{1 s R C / 2}$$注意几个变化主极点位置变了从1/(2π√LC)变成了2/(2πRC)跟负载强相关直流增益也变了跟D和负载都有关系。这意味着什么意味着负载从重变轻、模式从CCM切到DCM时系统的极点和增益会突变如果补偿网络是按CCM设计的DCM下相位裕度可能大幅下降出现振荡或响应变慢。我实测过一个案例一款12V转3.3V、满载3A的Buck电感取4.7μH满载CCM相位裕度65度很稳。负载降到0.3A进DCM后用频响分析仪一扫穿越频率从80kHz掉到20kHz相位裕度只剩30度动态响应明显变差负载跳变时过冲大了近一倍。后来把电感加大到10μH让DCM的边界往后推问题才缓解。3.3 模式切换时的抖动问题更麻烦的是模式切换点附近的抖动。当负载电流恰好在临界点附近波动时电路会在CCM和DCM之间反复横跳导致开关波形不稳定、输出纹波出现低频包络、甚至可听噪声。这在音频供电、传感器供电场合是致命的。解决办法有两个方向一是让设计远离临界点要么始终CCM电感取大要么始终DCM电感取小或用DCM专用控制芯片二是选用支持模式平滑切换的控制IC比如很多同步Buck芯片会在DCM时进入二极管仿真模式Diode Emulation让下管在电流过零时关断避免反向电流同时保证切换平滑。4. 电感、电容、频率怎么选CCM与DCM的工程取舍4.1 电感选型不是越大越好新手常有个误区觉得电感越大纹波越小越好。实际上电感大了体积大、成本高、DCR损耗大而且动态响应变慢。电感选型的核心逻辑是先确定你要工作在哪个模式再反推电感值。设计目标电感取值策略典型场景全负载范围CCML Lc(最小负载)大电流、对纹波敏感全负载范围DCML Lc(最大负载)小电流、低成本、轻载高效允许模式切换L介于两者之间宽负载范围通用设计追求轻载效率小电感二极管仿真电池供电、待机功耗敏感具体怎么算我一般按满载电流的20%~40%作为纹波电流来选电感这是行业里比较稳妥的经验值。即$$\Delta I_L (0.2 \sim 0.4) \times I_{out,max}$$然后$$L \frac{V_{out}(1-D)}{\Delta I_L \cdot f_{sw}}$$这样选出来的电感满载时纹波适中轻载时进DCM也不会太深。如果要求全负载CCM就把纹波系数压到0.2以下电感相应加大。4.2 输出电容CCM看纹波DCM看动态输出电容的选型在两个模式下侧重点不同。CCM下输出纹波主要由电感纹波电流在电容ESR上的压降决定$$\Delta V_{out} \approx \Delta I_L \cdot R_C$$所以选低ESR的电容如陶瓷电容、聚合物电容比单纯堆容量更有效。DCM下因为电感电流有零区输出电容要独自承担负载电流纹波公式变成$$\Delta V_{out} \approx \frac{I_{out}(1-D)}{f_{sw} C}$$这时候容量就很重要了。我通常的做法是先按CCM的ESR要求选电容类型再按DCM的容量要求校核取两者中更严的。4.3 开关频率高频化是把双刃剑提高fsw能减小电感和电容但会增加开关损耗和驱动损耗。在CCM下频率提高主要影响纹波和动态在DCM下频率提高会显著降低临界电感让电路更容易进DCM。所以高频化设计要特别注意轻载模式。我的经验是500kHz~1MHz是大多数消费类Buck的甜点区超过2MHz开关损耗开始主导效率掉得快低于200kHz电感和电容体积又下不来。具体选多少要结合MOS的Qg、驱动能力、散热条件综合权衡。实操心得选电感时除了电感量一定要看饱和电流Isat和温升电流Irms。DCM下峰值电流比CCM高同样平均电流下如果Isat不够电感会饱和电流飙升直接炸管。我见过太多因为电感饱和导致的炸机案例Isat至少要是峰值电流的1.3倍。5. 实测波形怎么看从示波器上分辨CCM和DCM5.1 测什么、怎么测判断工作模式最直接的方法是测电感电流波形。但电感电流不能直接测除非用电流探头串在电感回路里工程上常用两个替代方法一是测下管电流。同步Buck的下管在续流阶段导通其电流波形就是电感电流的下降段。用电流探头夹在下管源极到地的走线上或者用分流电阻采样。如果看到下管电流在关断前降到零并保持就是DCM。二是测开关节点电压SW节点。CCM下SW节点在每个周期都是规整的方波高电平Vin、低电平0或下管压降。DCM下当电感电流降到零后SW节点会出现振铃——因为电感和下管的寄生电容形成LC谐振SW电压会在Vout附近振荡。这个振铃是DCM的典型特征一眼就能认出来。5.2 波形特征对照表特征CCMDCM电感电流谷底00有零区SW节点波形规整方波电流过零后振铃输出纹波较小与ESR相关较大与容量相关开关损耗相对低过零振铃增加损耗轻载效率差开关损耗固定好降低开关频率EMI相对可控振铃带来高频噪声5.3 一个真实的调试记录去年调一款车载USB充电模块输入12V、输出5V/2.4A。空载时客户反馈有滋滋声示波器一看SW节点果然在振铃典型DCM。测电感电流零区占了周期的近一半。问题在于控制IC在DCM下没有降频开关损耗和振铃损耗叠加效率只有60%多还产生了可听噪声。解决过程分三步第一步把电感从3.3μH加大到6.8μH让空载时的零区缩短振铃幅度下降第二步换了一款支持**PFM脉冲频率调制**模式的控制IC轻载时自动降频开关次数减少效率提到80%以上第三步在SW节点加了一个RC吸收电路snubber把振铃的高频尖峰压下去EMI也过了。这三步下来噪声没了效率也达标了。这个案例说明DCM本身不是问题问题是你有没有针对DCM做优化。如果控制IC不支持DCM下的降频或二极管仿真硬让它工作在DCM效率和EMI都会很难看。6. 常见问题与排查技巧实录6.1 轻载输出电压偏高或偏低这是DCM下最常见的问题。原因通常是控制IC在DCM下的环路增益变了或者最小占空比受限。排查思路先测SW波形确认是否进DCM再测反馈电压是否在基准附近。如果是增益问题调整补偿网络如果是最小占空比问题比如IC有最小导通时间限制只能换IC或加大电感让电路回到CCM。6.2 模式切换时输出振荡前面提过这是CCM/DCM边界抖动导致的。排查时用电子负载做动态扫描从满载慢慢降到空载观察输出电压是否有低频波动。解决办法加大电感让切换点远离工作区或选用带平滑切换功能的IC。6.3 电感发热严重DCM下电感峰值电流高如果电感DCR大或Isat不足发热会很明显。用热像仪测电感表面温度超过80度就要警惕。选型时优先选一体成型电感DCR低、屏蔽好、Isat高。6.4 空载时SW节点振铃导致EMI超标DCM振铃是EMI的常见来源。除了加RC snubber还可以降低下管的开关速度如果驱动电阻可调、在SW节点加小电容几十pF到地、优化PCB布局缩短SW走线。我一般先加snubber实测有效再优化布局。6.5 常见问题速查表现象可能原因排查方法解决方向轻载输出飘DCM增益变化测SW波形调补偿或加大电感切换振荡模式边界抖动动态扫描换IC或改电感电感发热峰值电流高热像仪换低DCR高Isat电感EMI超标DCM振铃近场探头加snubber、优化布局效率低DCM开关损耗测效率曲线用PFM或二极管仿真避坑技巧调试DCM时一定要用电子负载的动态模式模拟真实负载跳变静态测试往往发现不了模式切换的问题。另外示波器探头的地线要尽量短否则SW节点的振铃测量会失真误判成更严重的问题。7. 同步与异步Buck在两种模式下的差异7.1 异步BuckDCM下二极管自然截止异步Buck用二极管做续流管DCM下电感电流降到零时二极管自然反偏截止不会出现反向电流所以异步Buck天然支持DCM不需要额外控制。缺点是二极管压降大效率低尤其低压输出时损耗占比高。7.2 同步BuckDCM下必须关断下管同步Buck用MOS代替二极管如果下管在电感电流过零后继续导通电流会反向流动电感电流变成负的电路进入强制CCMFCCM轻载效率极差。所以同步Buck要进DCM必须让控制IC在电流过零时关断下管这就是二极管仿真模式。很多IC通过检测下管电流或SW节点电压来判断过零。7.3 选型建议场景推荐方案理由大电流、效率优先同步Buck FCCM全负载CCM纹波小宽负载、轻载效率优先同步Buck 二极管仿真轻载进DCM降频低成本、小电流异步Buck简单可靠天然DCM高压输入异步Buck同步驱动复杂我个人的经验是输出电流大于3A优先同步Buck小于1A异步Buck更划算。中间地带看具体效率和成本要求。8. 从设计到验证一套完整的Buck模式校核流程8.1 设计阶段第一步明确需求Vin范围、Vout、Iout范围、效率目标、纹波要求、成本约束。第二步选控制IC确认它支持哪种模式FCCM、DCM、PFM。第三步按前面公式算临界电感结合纹波系数选电感值。第四步选输出电容按CCM的ESR和DCM的容量双重校核。第五步设计补偿网络CCM用Type IIIDCM用Type II并留足相位裕度。8.2 验证阶段上电后先测SW波形和电感电流确认实际工作模式。然后做全负载扫描从空载到满载分10个点测效率和纹波画出曲线。重点看模式切换点附近有没有异常。再做动态负载测试负载跳变幅度50%~100%观察过冲和恢复时间。最后做温升和EMI测试确认没有热点和超标频点。8.3 我的校核清单满载SW波形是否规整有无异常振铃空载是否进DCM零区占比多少模式切换点负载电流是多少是否在常用工作区全负载效率曲线是否平滑有无凹陷动态过冲是否在规格内电感峰值电流是否低于Isat的70%输出纹波在全负载范围是否达标EMI在DCM振铃频点是否有余量这套流程走下来基本能覆盖CCM/DCM相关的所有坑。我做过几十款Buck凡是按这个流程校核过的量产阶段几乎没有因为模式问题翻车的。9. 写在最后几个我踩过的坑和一点个人体会最后分享几个实打实的教训。第一个坑曾经为了省成本电感选了个Isat刚好等于峰值电流的结果高温下电感饱和批量炸了几十台。后来所有设计都要求Isat至少1.3倍余量高温降额还要再算。第二个坑一款IC标称支持DCM但实际过零检测有延迟轻载时下管还是会有短暂反向电流效率比手册低5个点。选IC一定要看实测数据别只看规格书。第三个坑DCM振铃的EMI问题一开始想靠加电容解决结果电容大了影响效率小了没用最后还是RC snubber最靠谱但电阻电容的值要实测调没有万能公式。我个人在实际操作中的体会是CCM和DCM没有优劣之分只有合不合适。大电流、低纹波、好补偿选CCM轻载高效、低成本、简单可靠选DCM。最怕的是设计时没想清楚让电路在两者之间反复横跳。所以每次动手前我都会先问自己一句这个负载范围我到底要它工作在哪个模式想清楚了后面的电感和补偿就都有方向了。如果你正在调一款Buck轻载有问题不妨先把SW波形抓出来看看是不是进了DCM。很多时候答案就在那一段振铃里。
RELATED

相关推荐

AI Agent从并发到多模态:主流架构选型与工程落地指南

AI Agent从并发到多模态:主流架构选型与工程落地指南

1. 这周的Agent圈,到底在吵什么2026年9月第三周,AI应用和AI Agent领域的讨论热度,明显比前几周上了一个台阶。我翻了下这段时间的技术社区、开源仓库和各个技术群里大家转的内容,发现几个关键词出现频率极高:"AI …

📅 2026/10/7 13:28:08
MOSFET开关过程深度解析:米勒效应、损耗计算与驱动设计实战

MOSFET开关过程深度解析:米勒效应、损耗计算与驱动设计实战

1. 从一个真实翻车案例说起:为什么必须吃透MOSFET的开关过程刚入行那会儿,我做过一款48V输入的同步Buck电源,样机跑起来效率只有87%,远低于设计目标的94%。示波器一挂,开关节点波形振铃严重,MOSFET温升高得…

📅 2026/10/7 13:28:08
JSP+SQL实验教学管理系统:从部署到Spring Boot迁移实战

JSP+SQL实验教学管理系统:从部署到Spring Boot迁移实战

简介:这是一套基于JavaWeb的JSPSQL实验教学管理系统实战项目,覆盖实验教学管理中的核心业务,适合Java学习者、高校在校生用于毕业设计、课程设计或项目实训。资源包约3.66MB,内部包含前后端源码、论文文档、数据库脚本及运行说明&…

📅 2026/10/7 13:28:08
MORE NEWS

更多资讯

📰

无源域适配遇上多变量时间序列?TERSE:同时建模时间与空间依赖

KDD 2025 上有一篇关于多变量时间序列无源域适配的工作,方法名叫 TERSE,标题写得很直白:破解多变量时间序列无源域适配难题,同时建模时间与空间依赖。如果你做过域适配,又恰好碰过传感器、能源、金融、医疗这类多变量时…

📰

Codex桌面版“无法加载组织设置”故障排查:清理缓存与重新登录完全指南

更新完 Codex 桌面版,点开图标后我盯着屏幕等了几秒,App 没有像往常一样进入对话界面,而是停在启动页,左下方弹出一行字:“无法加载组织设置”。再点一次,依然如此。强制退出重启,同一行字照旧。…

📰

ponytail 插件完全指南:从 skill 机制到动作链编排的效率实践

1. 从“ponytail”这个标题说起:它到底是什么第一次看到“ponytail”这个词,很多人脑子里浮现的是发型——马尾辫。但在技术圈和效率工具圈里,ponytail 早就不是发型那么简单了。它是一类轻量级任务聚合与快捷操作工具的代称,核心…

📰

ponytail插件与skill全解析:轻量收束机制、配置实操与避坑指南

1. 从“ponytail”这个热词说起:它到底指什么第一次看到“ponytail”被当成技术关键词来搜,我其实愣了一下。这个词本意是“马尾辫”,一个再日常不过的发型词,怎么就跟“skill”“插件”“如何使用”这些词绑在一起了?…

📰

Playwright安装失败排查指南:从impeccable误输到浏览器启动全链路解析

1. 项目概述:一个被误读的“完美”工具名,背后藏着开发者日常最痛的 CLI 体验断点 最近在多个技术社区和内部协作群中,频繁看到 impeccable 这个词被当作命令、工具名甚至包名反复提及——有人在问“impeccable 如何使用”,有人…

📰

agent-skills:用技能文件驯服Claude Code,实现TDD工作流

1. 从"agent-skills"这个标题能读出什么 第一次看到 agent-skills 这个仓库名,我的直觉是:这不是又一个"提示词大全",而是一套把 AI coding agent 当"新同事"来培养的技能体系。项目正文和关键词都是空的&am…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬