ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Buck电路CCM与DCM模式深度解析:从原理到选型与调试

Buck电路CCM与DCM模式深度解析:从原理到选型与调试 Buck电路在轻载和重载下完全像是两个不同的东西这个感受相信每个调过开关电源的人都懂。重载时电感电流连续输出稳如磐石一旦负载掉到某个临界点以下电感电流开始断续传递函数突变环路响应跟着变脸原本调好的补偿网络可能直接失效。CCM和DCM这两种工作模式是Buck电路最核心也最容易被忽视的分水岭。很多新手调电源时只盯着满载效率结果样机一到轻载就出现输出电压飘高、纹波变大甚至啸叫根子往往就在这里。这篇内容围绕Buck电路的CCM与DCM展开从电感电流的波形本质讲起把两种模式的边界条件、传递函数差异、对环路补偿的影响、以及实际设计中怎么选、怎么调一层层拆开来说。不管你是刚接触开关电源的学生还是正在调板的硬件工程师都能从中找到可以直接用的判断方法和设计思路。1. 从电感电流波形看CCM与DCM的本质区别1.1 电感电流连续与断续的物理含义Buck电路的核心储能元件是电感。在开关管导通期间电感两端承受输入电压与输出电压之差电流线性上升开关管关断期间续流二极管或同步整流管导通电感两端承受输出电压的反向压降电流线性下降。这个上升和下降的过程就是电感在“充电”和“放电”。CCM即连续导通模式Continuous Conduction Mode指的是在一个开关周期内电感电流始终大于零从未降到零。电流波形是一个连续的三角波有明确的直流分量和交流纹波分量。DCM即断续导通模式Discontinuous Conduction Mode指的是在开关周期内某一段时间电感电流降到了零并且保持为零直到下一个周期开关管再次导通。此时电流波形不再是连续的三角波而是由上升段、下降段和零平台段三部分组成。理解这个区别用生活化的类比来说CCM就像一条始终有水流过的水管水流大小在波动但从不中断DCM就像一条间歇性供水的水管流一阵、停一阵停的那段时间水管里是空的。这个“空”的时间段就是DCM独有的特征。1.2 临界点是怎么出现的从CCM到DCM的转变本质上是负载电流减小导致的。负载电流越小电感电流的直流分量越小。当直流分量减小到等于电感纹波电流峰值的一半时电感电流的谷值刚好触到零这就是临界导通模式BCM或CrM。负载再轻一点电流谷值就降到零以下——当然实际不可能为负异步Buck中二极管阻止反向电流于是电流在零处“截断”进入DCM。这里有一个非常关键的公式需要记住。CCM下电感纹波电流峰峰值为ΔIL (Vout × (1 - D)) / (L × fsw)其中D Vout / Vin为占空比fsw为开关频率L为电感值。临界负载电流为Icrit ΔIL / 2 (Vout × (1 - D)) / (2 × L × fsw)这个公式告诉你几件事电感越大临界电流越小越容易保持在CCM开关频率越高临界电流也越小输入输出压差越大D越小临界电流越大越容易进入DCM。实际设计中这个公式是判断你的电路在什么负载范围内处于什么模式的第一把尺子。1.3 两种模式下关键波形的对比把CCM和DCM的关键波形放在一起对比差异一目了然。下面这张表总结了主要区别对比项CCMDCM电感电流谷值大于零等于零并保持一段时间占空比与负载关系基本不随负载变化随负载减小而减小传递函数二阶系统一阶系统近似右半平面零点无Buck无RHPZ无环路补偿难度较高需双极点补偿较低单极点补偿即可轻载效率较低开关损耗固定较高降低开关频率可进一步优化输出纹波较小较大EMI特性频谱较干净频谱谐波更丰富这张表里最值得注意的是传递函数的变化。CCM下Buck的功率级传递函数包含一对共轭复极点由L和C谐振产生需要设计者在补偿网络中放置两个零点来抵消否则相位裕度不够环路会振荡。而DCM下由于电感电流在每个周期都归零电感不再表现为一个独立的储能状态变量系统阶数降低传递函数近似为一阶补偿大大简化。这就是为什么很多芯片在轻载时会自动进入DCM——不仅效率高环路还更稳定。2. 为什么DCM下占空比会随负载变化2.1 从伏秒平衡推导DCM的占空比表达式很多人第一次发现DCM下占空比会随负载变化时觉得不可思议——CCM下占空比基本就是Vout/Vin怎么到了DCM就不一样了这背后的原因是伏秒平衡在DCM下的表现形式变了。CCM下电感电压在一个周期内的正伏秒等于负伏秒推导出Vout Vin × D占空比只取决于输入输出电压比。但DCM下电感电流在零平台期间不参与能量传递伏秒平衡依然成立但电流的峰值和下降斜率的关系变了。具体推导如下设开关管导通时间为Ton D × Tsw电感电流从零上升到峰值IpkIpk (Vin - Vout) × Ton / L关断期间电感电流从Ipk下降到零设关断时间为ToffIpk Vout × Toff / L由这两式相等可得Toff (Vin - Vout) × Ton / Vout输出电流Io等于电感电流的平均值。在DCM下电感电流波形是三角形平均值为Io (1/2) × Ipk × (Ton Toff) / Tsw把Ipk和Toff代入经过整理可以得到DCM下占空比与负载的关系D sqrt(2 × L × fsw × Io / (Vin × (Vin - Vout) / Vout))或者写成更常见的形式D sqrt(2 × L × fsw × Io × Vout / (Vin × (Vin - Vout)))这个公式清楚地表明DCM下占空比D与负载电流Io的平方根成正比。负载越小占空比越小。这和CCM下占空比几乎不变形成了鲜明对比。2.2 占空比变化对实际电路的影响占空比随负载变化这件事在实际调试中会带来几个直接后果。第一如果你用的是固定频率的PWM控制器轻载时占空比会自动缩小这是环路自动调节的结果本身没问题。但如果你在示波器上看开关节点波形会发现轻载时高电平脉冲变窄了这是正常现象不要误以为是芯片出了问题。第二DCM下占空比变小意味着开关管的导通时间缩短但开关频率不变所以开关损耗中的导通损耗会降低但开关损耗与频率相关不变。这也是为什么DCM轻载效率高的原因之一——导通损耗随负载减小而减小。第三如果你在DCM下测量输出电压发现它比CCM下略高或略低不要惊讶。DCM下由于寄生参数如二极管反向恢复、PCB寄生电感等的影响更显著输出电压的精度可能会略有下降。实际调试时建议在CCM和DCM两种模式下分别校准输出电压。2.3 一个容易踩的坑DCM下的次谐波振荡DCM下有一个容易被忽视的问题——次谐波振荡。虽然DCM的传递函数降为一阶补偿更容易但在某些条件下特别是电感值偏小、开关频率偏低时DCM下可能出现次谐波振荡表现为输出电压上叠加一个频率为开关频率一半的纹波。这个问题的根源在于DCM下电感电流归零后开关节点出现振铃。这个振铃如果被控制环路拾取可能干扰PWM比较器的正常工作。解决办法通常是在开关节点加一个小的RC吸收电路snubber或者在电流采样路径上加滤波。我在实际项目中遇到过这个问题当时调了半天环路都没用后来在开关节点并了一个10Ω1nF的RC吸收问题立刻消失。这个经验说明DCM下的问题不一定都在环路有时候要从功率级的寄生振荡入手。3. 两种模式对环路补偿的截然不同要求3.1 CCM下的双极点补偿策略CCM下Buck功率级的传递函数从控制到输出可以写成Gvd(s) Vin × (1 s/(ωz)) / (1 s/(Q×ω0) (s/ω0)^2)其中ω0 1/sqrt(L×C)为LC谐振角频率Q为品质因数ωz为输出电容ESR引入的零点。这个传递函数在谐振频率处有一对共轭复极点导致相位快速下降180度。如果不加补偿闭环系统在穿越频率处的相位裕度会严重不足。因此CCM下通常采用Type III补偿器它在原点有一个极点积分器在两个位置放置零点在两个位置放置极点。两个零点用来抵消LC谐振极点带来的相位下降两个极点用来衰减高频噪声。补偿器的设计需要保证穿越频率处相位裕度大于45度通常取60度左右。这里有一个实操经验CCM下穿越频率一般取开关频率的1/10到1/5。取得太高LC谐振的影响还没完全衰减环路容易振荡取得太低动态响应慢负载跳变时输出电压跌落大。我一般先取1/10然后根据负载跳变测试结果微调。3.2 DCM下的一阶补偿简化DCM下由于电感电流在每个周期归零电感不再是一个独立的储能状态功率级传递函数降为一阶Gvd(s) K / (1 s/ωp)其中ωp 2/(Rload×C)为主极点K为直流增益。这个传递函数只有一个极点相位最多下降90度。因此DCM下只需要Type II补偿器一个原点极点一个零点一个高频极点就能获得足够的相位裕度。这意味着什么意味着如果你的应用大部分时间工作在DCM比如轻载待机为主的设备你可以用更简单的补偿网络甚至有些集成芯片内部就固定了补偿参数不需要外部调整。但反过来如果你的应用需要在CCM和DCM之间切换比如负载范围很宽的通用电源补偿网络必须按照CCM的最差情况来设计否则在CCM下会不稳定。3.3 模式切换时的环路行为最棘手的情况是负载在CCM和DCM之间来回切换。这时候环路会经历传递函数的突变——从二阶变到一阶或者反过来。如果补偿网络是按照CCM设计的切换到DCM时相位裕度会变得更充裕一般不会出问题但如果补偿网络是按照DCM设计的切换到CCM时相位裕度可能不够导致振荡。所以设计原则很明确如果负载范围会跨越CCM/DCM边界补偿网络必须按照CCM条件设计。DCM下多出来的相位裕度是“白送”的不会有害。这个原则我在多个项目中验证过确实可靠。另外模式切换时输出电压可能会有短暂的扰动。如果这个扰动在允许范围内可以不管如果要求严格可以在输出端加一个前馈电容或者选择带有模式平滑切换功能的控制器芯片。有些芯片在检测到模式切换时会自动调整环路参数这类芯片用起来省心不少。4. 实际设计中CCM与DCM的选型判断4.1 什么场景该让电路工作在CCMCCM适合大电流、对输出纹波要求高、对动态响应要求快的场景。典型应用包括CPU供电、FPGA核心电压、大功率LED驱动、工业电源模块等。这些场景的共同特点是负载电流大且相对稳定输出纹波和动态响应是核心指标。在CCM下设计电感值需要足够大保证在最小负载电流时仍然保持CCM。根据前面的临界电流公式电感值应满足L Vout × (1 - D) / (2 × fsw × Iload_min)其中Iload_min是你希望保持CCM的最小负载电流。比如Vin12VVout3.3Vfsw500kHz希望在1A以上保持CCM则L 3.3 × (1 - 0.275) / (2 × 500000 × 1) 2.39μH实际选取时留一定裕量取3.3μH或4.7μH。电感大了纹波电流小输出纹波也小但电感的物理尺寸和成本会增加动态响应也会变慢。这是一个需要权衡的点。4.2 什么场景该让电路工作在DCMDCM适合轻载、待机功耗要求高、成本敏感的场景。典型应用包括待机电源、辅助供电、小功率适配器、电池供电设备等。这些场景的特点是负载电流小效率是首要指标。DCM下电感值可以取得较小因为不需要维持电流连续。小电感意味着更小的封装尺寸和更低的成本。同时DCM下由于电流归零二极管反向恢复损耗消失异步Buck开关损耗也降低轻载效率明显提升。但DCM也有代价输出纹波更大因为电感电流的峰值更高同样的平均电流下三角形波形的峰值比梯形波形高。另外DCM下EMI频谱更丰富因为电流波形不是连续的谐波成分更多。如果你的产品对EMI要求严格DCM可能需要额外的滤波措施。4.3 宽负载范围下的折中方案很多实际应用的负载范围很宽比如从几毫安到几安培。这种情况下单一模式无法覆盖全范围。常见的折中方案有几种第一种是“CCM设计DCM运行”。补偿网络按CCM设计保证重载稳定轻载时自然进入DCM效率提升环路也不会不稳定。这是最常用的方案简单可靠。第二种是“强制PWM模式”。有些芯片支持强制PWM即使在轻载下也保持CCM通过内部假负载或同步整流管反向导通。这种方案输出纹波小动态响应快但轻载效率低。适合对纹波和动态响应要求极高、对效率不敏感的场景。第三种是“模式自动切换”。有些芯片会根据负载自动在PWM和PFM或DCM之间切换兼顾重载效率和轻载效率。这种方案最理想但芯片成本较高且切换点需要仔细调试。下面这张表可以帮助你快速判断场景特征推荐模式理由负载电流大且稳定CCM纹波小动态响应快负载电流小效率优先DCM轻载效率高电感小负载范围宽CCM设计允许DCM运行兼顾稳定性和效率纹波要求极严强制CCM纹波最小成本极度敏感DCM电感小芯片可选简单型号EMI要求严格CCM频谱更干净5. 实测中判断工作模式的实用方法5.1 用示波器看电感电流波形最直接的方法是用电流探头夹在电感引脚上看电流波形。如果波形是连续的三角波谷值明显大于零就是CCM如果波形有零平台段就是DCM。这是最可靠的判断方法但需要电流探头不是每个人都有。如果没有电流探头可以用间接方法。在电感两端并一个小的RC网络比如100Ω100pF用示波器看RC节点电压这个电压正比于电感电流的积分可以间接反映电流波形。这个方法精度不高但判断CCM/DCM足够了。5.2 通过开关节点波形辅助判断开关节点SW节点的电压波形也能提供线索。CCM下SW节点在开关管关断期间基本保持在Vout忽略二极管压降波形比较干净。DCM下SW节点在电流归零后会出现振铃振铃频率由电感和开关节点寄生电容决定。如果你在SW节点看到明显的振铃而且振铃出现在电流应该归零的时刻那基本可以确定进入了DCM。这个方法的局限是CCM下也可能有振铃由寄生参数引起所以不能只看振铃有无还要看振铃出现的时机和持续时间。DCM下的振铃通常持续时间较长直到下一个周期开始。5.3 通过效率曲线拐点判断效率曲线也能反映模式切换。在CCM下随着负载减小导通损耗降低但开关损耗不变所以效率先升后降。当进入DCM后由于开关损耗可能降低某些芯片在DCM下会降低开关频率效率曲线会出现一个拐点。如果你在效率曲线上看到明显的拐点那个点很可能就是CCM/DCM的边界。这个方法不需要额外设备只需要一个电子负载和功率计。但要注意拐点不一定非常明显特别是当开关损耗占比较小时。我一般会结合前两种方法一起判断互相印证。5.4 一个真实的调试案例之前调过一个12V转5V/3A的Buck电路用的是一款常见的同步Buck控制器。满载3A时一切正常效率92%纹波30mV。但负载降到0.5A时输出电压开始飘高从5V慢慢升到5.15V而且纹波变大到80mV。用示波器看SW节点发现轻载时SW波形在关断期间有明显的振铃持续时间大约200ns。再用电感电流间接测量法确认电流波形确实有零平台段说明进入了DCM。问题根源是补偿网络是按照CCM设计的DCM下环路增益和相位发生了变化导致输出电压偏高。解决办法有两个一是在输出端加一个小的假负载比如100Ω让电路保持在CCM二是调整补偿网络增加低频增益。我选择了第二种方案在反馈分压电阻上并了一个小电容增加了积分器的低频增益输出电压立刻稳定在5V。这个案例说明DCM下的输出电压偏差不一定是功率级的问题很多时候是环路补偿没有覆盖DCM工况。6. 电感选型与模式控制的联动关系6.1 电感值如何决定模式边界电感值是决定CCM/DCM边界的首要参数。前面已经给出了临界电流公式这里再强调几个实操要点。电感值越大临界电流越小电路越容易保持在CCM。但电感大了物理尺寸大成本高直流电阻DCR也大导通损耗增加。而且电感大了动态响应变慢负载跳变时输出电压跌落和过冲都会增大。电感值越小临界电流越大电路越容易进入DCM。小电感的好处是尺寸小、成本低、动态响应快。但纹波电流大输出纹波也大EMI更差。实际选型时我一般先根据纹波电流的要求确定电感值的上限。通常希望纹波电流为额定负载电流的20%到40%。即ΔIL (0.2 ~ 0.4) × Iload_rated然后根据这个纹波电流反推电感值L Vout × (1 - D) / (ΔIL × fsw)再根据临界电流的要求确定电感值的下限确保在期望的最小负载以上保持CCM。最后在这个范围内选择一个标准值。6.2 电感饱和电流与RMS电流的校核选好电感值后必须校核饱和电流和RMS电流。饱和电流必须大于电感电流的峰值Ipeak Iload ΔIL/2对于DCM峰值电流更高因为同样的平均电流下三角形波形的峰值更大。DCM下的峰值电流为Ipeak_DCM sqrt(2 × Io × (Vin - Vout) × Vout / (L × fsw × Vin))这个公式说明DCM下峰值电流与负载电流的平方根成正比而不是线性关系。所以轻载时峰值电流下降得比CCM快但重载时如果进入DCM峰值电流会很高。选电感时一定要按最坏情况最大负载、最小电感、最高输入电压来校核饱和电流。RMS电流用于计算电感的铜损。CCM下RMS电流近似等于负载电流纹波较小时。DCM下RMS电流需要按三角形波形计算Irms_DCM Ipeak_DCM × sqrt(D/3)其中D为DCM下的占空比。这个值通常比CCM下的RMS电流小因为DCM下电流有零平台段平均值相同但有效值更低。6.3 电感DCR对效率的影响电感的直流电阻DCR直接决定导通损耗。DCR越大铜损越大效率越低。但DCR小的电感通常体积更大、成本更高。这是一个典型的权衡。我一般按DCR上的压降不超过输出电压的2%来选。比如5V输出DCR压降不超过100mV。在3A负载下DCR不超过33mΩ。这个要求对于小尺寸电感来说可能比较苛刻需要选择一体成型电感或金属合金粉芯电感。另外DCR随温度变化铜的电阻温度系数约为0.4%/°C。高温下DCR增大损耗增加。所以选型时要看电感规格书中的DCR是在多少温度下测的通常是在20°C或25°C。实际工作时电感温度可能到80°C甚至更高DCR会增加20%以上。这个细节很多新手会忽略导致实际效率比计算值低。7. 同步整流Buck中CCM/DCM的特殊表现7.1 同步整流管的反向导通问题同步Buck用MOSFET代替续流二极管导通损耗大大降低。但在DCM下同步整流管有一个特殊问题——反向导通。当电感电流降到零后如果同步整流管仍然导通电流会反向流过电感从输出端流向地导致电感电流变为负值。这不仅增加了损耗还可能导致输出电压异常。为了避免这个问题同步Buck控制器通常会在DCM下检测电感电流过零然后关断同步整流管。这个功能叫做“过零检测”或“DCM检测”。如果控制器没有这个功能或者检测阈值设置不当就可能出现反向导通。我在实际项目中遇到过这个问题一款同步Buck芯片在轻载时效率突然下降而且输出电压偏低。用示波器看电感电流发现电流在过零后继续下降到负值说明同步整流管没有及时关断。后来查芯片手册发现过零检测阈值可以通过外部电阻调整调整后问题解决。这个经验说明同步Buck在DCM下的表现很大程度上取决于控制器的过零检测功能选型时要特别关注这个参数。7.2 强制CCM模式下的效率代价有些同步Buck控制器支持强制CCM模式即无论负载多小同步整流管都保持导通电感电流允许反向。这种模式下输出纹波小动态响应快但轻载效率很低因为反向电流在电感和开关管上产生了额外的导通损耗。强制CCM的效率代价有多大举个例子12V转5Vfsw500kHzL2.2μH满载3A。在10mA负载下如果强制CCM电感纹波电流峰峰值约为ΔIL 5 × (1 - 0.417) / (2.2e-6 × 500000) 2.65A这意味着即使负载只有10mA电感电流仍在±1.3A左右摆动。这些电流在电感和开关管的寄生电阻上产生的损耗远大于10mA负载本身的功率。所以强制CCM在轻载下的效率可能只有50%甚至更低而DCM下可能达到80%以上。7.3 模式切换时的输出电压扰动同步Buck在CCM和DCM之间切换时输出电压可能会有扰动。这个扰动的大小取决于控制器的模式切换逻辑和环路带宽。如果切换逻辑平滑扰动很小如果切换逻辑粗糙可能出现明显的电压跌落或过冲。我实测过几款不同的同步Buck芯片模式切换时的输出电压扰动从20mV到100mV不等。对于3.3V或5V的输出100mV的扰动已经接近5%的误差限了。所以如果你的应用对输出电压精度要求高选型时要特别关注模式切换特性或者干脆选择强制CCM模式如果效率允许。另外模式切换时的扰动还可能触发下游电路的复位或误动作。比如给MCU供电时如果电压扰动超过MCU的复位阈值可能导致MCU意外复位。这种情况下可以在输出端加一个大的去耦电容或者选择模式切换更平滑的芯片。8. 从热词看大家最关心的几个实操问题8.1 buck电路元件选型中的模式考量热词里“buck电路元件选型”出现频率很高说明很多人卡在选型这一步。结合CCM/DCM的讨论选型时最核心的元件是电感、输出电容和开关管。电感选型前面已经详细说了核心是确定电感值、饱和电流和DCR。这里补充一点如果电路会在DCM下运行电感的磁芯损耗需要特别关注。DCM下电流纹波大磁芯损耗中的交流分量占比高磁芯损耗可能比CCM下更大。选择低损耗磁芯材料如铁硅铝、铁镍钼可以降低这部分损耗。输出电容选型要考虑纹波电流和ESR。CCM下输出纹波主要由电容ESR和电容值决定DCM下由于电流峰值更高纹波电流的RMS值也更大对电容的纹波电流承受能力要求更高。陶瓷电容的ESR低适合CCM电解电容的ESR高但容量大适合对纹波要求不高的DCM应用。开关管选型要考虑导通电阻Rds(on)和栅极电荷Qg。CCM下导通损耗占主导选Rds(on)小的管子DCM下开关损耗占比增加选Qg小的管子。同步Buck还要考虑死区时间和体二极管反向恢复。8.2 如何减少开关电源MOS打开时候的尖峰毛刺这个热词和CCM/DCM也有关系。MOS开通时的尖峰毛刺主要由寄生电感和寄生电容的谐振引起。在CCM下MOS开通时电感电流不为零开通瞬间电流变化率di/dt很大在寄生电感上产生电压尖峰。DCM下MOS开通时电感电流为零开通瞬间的电流变化率相对较小尖峰通常比CCM下低。减少尖峰毛刺的常用方法包括减小开关回路的面积优化PCB布局、在开关节点加RC吸收电路、选择寄生电容小的MOS、适当增加栅极驱动电阻以降低开关速度。其中PCB布局是最根本的开关回路面积越小寄生电感越小尖峰越低。我一般要求开关回路的面积控制在1cm²以内对于小功率电路甚至要求0.5cm²以内。8.3 buck电路PID闭环控制中的模式适配热词里“buck电路PID闭环控制”也是一个高频词。数字控制DSP或MCU实现PID在Buck中越来越常见。数字控制的一个优势是可以根据工作模式自动调整PID参数——CCM下用一组参数DCM下用另一组参数。这样可以兼顾两种模式的稳定性。实现方法是通过检测电感电流是否过零来判断当前模式然后切换PID参数表。CCM下的PID参数需要更强的积分作用来补偿LC谐振DCM下的PID参数可以弱一些因为系统本身是一阶的。切换时要加平滑过渡避免参数突变导致输出扰动。数字控制的另一个优势是可以实现非线性控制比如在负载跳变时临时增大比例增益加快动态响应。这在CCM下特别有用因为CCM的动态响应通常比DCM慢。8.4 手撕buck从分立元件搭建中理解模式“手撕buck”这个热词很有意思说明很多人想用分立元件搭Buck电路来学习。我的建议是如果你要手搭Buck一定要先想清楚你要观察什么。如果你想观察CCM和DCM的区别那就用一个可调负载从重载慢慢调到轻载同时用示波器看电感电流波形。你会清楚地看到电流波形从连续三角波变成带零平台的断续波。手搭Buck时电感可以选大一点比如100μH开关频率低一点比如50kHz这样波形更容易观察对示波器带宽的要求也低。MOS可以用常见的IRF540驱动用简单的图腾柱电路。反馈环路可以先不开环用固定占空比开环运行先观察功率级波形等功率级没问题了再加闭环。开环运行时要特别注意占空比不能太大否则输出电压可能超过输入电压Buck不能升压。一般从D0.3开始试慢慢增加。另外开环下没有反馈调节负载变化时输出电压会跟着变这是正常的。9. 几个容易混淆的概念澄清9.1 DCM不等于PFM很多人把DCM和PFM混为一谈其实它们是两个不同维度的概念。DCM描述的是电感电流的连续性PFM描述的是开关频率的调制方式。DCM下开关频率可以是固定的固定频率DCM也可以是变化的PFM。PFM下电路可能工作在DCM也可能工作在CCM如果频率变化范围不大。常见的组合是PWMCCM重载、PFMDCM轻载。但这不是唯一的组合。有些芯片在轻载下用PWMDCM频率不变只是占空比减小。有些芯片用PFMCCM频率降低但电流仍连续。理解这个区别有助于你读懂芯片手册中的模式描述。9.2 临界模式BCM不是独立模式BCMBoundary Conduction Mode是CCM和DCM的边界电感电流谷值刚好为零。严格来说BCM不是一种独立的工作模式而是CCM和DCM的过渡点。在实际电路中由于寄生参数和噪声的影响电路不会精确地停留在BCM而是在CCM和DCM之间快速切换。有些芯片专门设计为工作在BCM也叫CrMCritical Conduction Mode比如一些PFC控制器。BCM的好处是二极管反向恢复损耗为零因为电流刚好到零时开关管开通同时电感电流峰值比DCM低。但BCM下开关频率随负载变化EMI滤波器的设计比较麻烦。9.3 异步Buck的DCM没有反向导通问题异步Buck用二极管续流二极管天然具有单向导电性电流不能反向。所以异步Buck在DCM下不会出现反向导通问题这是它相对于同步Buck的一个优势。但二极管的导通压降大肖特基二极管约0.3V到0.5V导通损耗比同步整流管大所以异步Buck通常用在小功率或成本敏感的场景。异步Buck在DCM下的另一个特点是二极管在电流归零后自动关断不需要额外的过零检测电路。这简化了控制器的设计。但二极管的反向恢复特性在CCM下会影响效率所以异步Buck在CCM下通常需要选择反向恢复时间短的二极管如肖特基二极管。10. 从《开关电源设计(第三版)》看CCM/DCM的经典分析方法10.1 状态空间平均法的适用边界《开关电源设计(第三版)》是很多人的入门书书中对CCM和DCM的分析主要基于状态空间平均法。这个方法在CCM下非常有效因为电感电流连续可以用一个周期内的平均值来近似。但在DCM下状态空间平均法需要修正因为电感电流在零平台期间不参与状态方程。书中给出的处理方法是在DCM下将电感电流归零的阶段视为一个独立的状态分别列写三个阶段的方程然后加权平均。这样得到的平均模型仍然是一阶的与前面推导的结论一致。这个方法的精度在低频段远低于开关频率足够但在接近开关频率时误差较大。实际设计中我一般用状态空间平均法来初步确定补偿参数然后用仿真软件如LTspice、PSIM来验证。仿真可以更准确地反映DCM下的行为特别是模式切换时的瞬态响应。10.2 小信号模型的建立步骤建立Buck电路的小信号模型一般分几步先列写大信号方程然后在一个稳态工作点附近做线性化得到小信号传递函数。CCM下稳态工作点由占空比D决定DCM下稳态工作点由占空比D和负载电流Io共同决定。DCM下的小信号模型有一个特点控制到输出的传递函数中直流增益与负载电流有关。负载越小直流增益越低。这意味着DCM下环路的低频增益会随负载变化如果补偿器的积分增益不够轻载时输出电压精度会下降。这就是前面调试案例中输出电压飘高的根本原因。解决方法是增加补偿器的积分增益或者使用带有负载前馈的控制器。负载前馈可以根据负载电流调整占空比减轻环路的负担。有些芯片内部集成了负载前馈功能选型时可以关注这个特性。10.3 从书本到实际的差距书本上的分析都是理想化的实际电路中还有很多非理想因素电感的寄生电容、开关管的输出电容、PCB的寄生电感、二极管的结电容等。这些寄生参数在DCM下影响更显著因为DCM下电流和电压的跳变更剧烈。比如DCM下开关节点在电流归零后会出现振铃振铃频率由电感和开关节点总电容决定。如果振铃频率接近开关频率的整数倍可能产生EMI问题。实际调试时如果发现某个频点的EMI超标可以尝试调整开关频率或增加吸收电路避开振铃频率。另外书本上假设输出电容是理想的实际电容有ESR和ESL。ESR在CCM下引入一个零点可以改善相位裕度但在DCM下由于环路带宽通常较低ESR零点的影响较小。所以DCM下对电容ESR的要求没有CCM那么严格这也是DCM设计更简单的一个原因。11. 宽输入电压范围下的模式变化11.1 输入电压变化对模式边界的影响前面讨论的模式边界都是在固定输入电压下。实际应用中输入电压可能变化比如12V电池从10V到14V变化。输入电压变化会直接影响占空比D进而影响临界电流。根据临界电流公式Icrit Vout × (1 - D) / (2 × L × fsw)当输入电压升高时D减小(1-D)增大临界电流增大。这意味着输入电压越高越容易进入DCM。这个结论可能反直觉——输入电压高占空比小按理说应该更稳定才对。但实际上输入电压高时电感电流的下降斜率Vout/L不变但上升斜率(Vin-Vout)/L增大所以纹波电流增大临界电流也增大。实际设计中如果输入电压范围宽要按最高输入电压来校核CCM边界。比如12V电池应用要按14V来算临界电流确保在14V下仍然满足CCM要求如果设计要求CCM。11.2 输入电压跳变时的模式切换输入电压跳变时电路可能从CCM切换到DCM或者反过来。这个切换过程可能引起输出电压的扰动。如果输入电压跳变很快比如热插拔扰动可能很大。缓解这个扰动的方法有几种在输入端加TVS管或压敏电阻限制电压跳变幅度增加输入电容减缓电压变化率在控制环路中增加输入电压前馈提前调整占空比。其中输入电压前馈是最有效的很多现代Buck控制器都集成了这个功能。输入电压前馈的原理是将输入电压采样后直接加到PWM比较器的输入端这样输入电压变化时占空比立即调整不需要等环路响应。这大大加快了输入电压跳变时的响应速度减小了输出电压扰动。11.3 宽输入范围下的电感选型折中宽输入范围下电感选型需要在最高输入电压和最低输入电压之间折中。最高输入电压下纹波电流最大需要电感值大一些来限制纹波最低输入电压下占空比最大电感电流的直流分量最大需要电感饱和电流足够。我一般按最高输入电压来确定电感值限制纹波按最低输入电压来确定饱和电流限制峰值。如果这两个要求冲突比如最高输入电压下需要的电感值很大但最低输入电压下需要的饱和电流也很高可能需要选择更大尺寸的电感或者提高开关频率来减小电感值。提高开关频率可以减小电感值但会增加开关损耗。这是一个典型的权衡。对于宽输入范围的应用我通常选择500kHz到1MHz的开关频率既能减小电感尺寸又不至于开关损耗太大。12. 从实测波形反推电路工作状态12.1 开关节点波形的三种典型形态开关节点SW波形是判断电路工作状态最方便的窗口。CCM下SW波形是干净的方波高电平为Vin低电平为0或略低于0取决于二极管压降。DCM下SW波形在低电平期间会出现振铃振铃的幅度和持续时间与寄生参数有关。还有一种情况是BCMSW波形在低电平期间刚好没有振铃或者振铃非常小。这是因为电感电流刚好在开关管再次开通时归零没有多余的能量激发振铃。BCM下的SW波形介于CCM和DCM之间是判断临界点的好方法。实际调试时我一般先看SW波形。如果波形干净说明在CCM如果有振铃说明在DCM如果振铃刚好消失说明在BCM附近。这个方法不需要电流探头只需要一个普通的电压探头非常实用。12.2 输出电压纹波中的模式信息输出电压纹波也包含模式信息。CCM下输出纹波主要由电感纹波电流在输出电容ESR上的压降决定波形是三角波。DCM下输出纹波除了三角波分量外还有电感电流归零后LC谐振引起的振铃分量波形更复杂。如果你在输出纹波上看到高频振铃而且振铃频率与SW节点的振铃频率一致那基本可以确定电路在DCM。这个振铃的频率通常比开关频率高很多因为LC谐振频率通常远高于开关频率在示波器上表现为纹波上的“毛刺”。减少这个振铃的方法是在输出端加RC吸收电路或者增加输出电容的容量。但根本的解决办法是调整环路让电路在大部分工作范围内保持在CCM或者选择带有DCM振铃抑制功能的芯片。12.3 从效率曲线判断最优工作点效率曲线是最终判断电路工作是否优化的依据。一个设计良好的Buck电路效率曲线应该在整个负载范围内都比较平坦没有明显的低谷。如果效率曲线在某个负载点突然下降那可能是模式切换引起的。比如如果电路在CCM下效率92%进入DCM后效率降到85%那说明DCM下的损耗增加了。可能的原因包括开关频率没有降低DCM下如果频率不变开关损耗不变但导通损耗降低效率应该升高才对、过零检测阈值不当导致反向导通、或者DCM下的振铃引起了额外的损耗。通过效率曲线你可以反推电路的工作状态并针对性地优化。我一般会在0.1A到满载之间取10个点测效率画出曲线然后结合SW波形和电感电流波形综合判断。13. 个人实操中的几点体会调Buck电路这些年踩过的坑不少有几点体会特别深。第一不要迷信仿真。仿真在CCM下很准但在DCM下由于寄生参数难以准确建模仿真结果和实测往往有差距。我一般用仿真来确定大致方向然后用实测来微调。特别是模式切换点仿真给出的值和实测可能差20%以上。第二电感的选择比想象中重要。很多人选电感只看电感值和饱和电流忽略了DCR和磁芯损耗。实际上DCR对效率的影响在重载下非常显著磁芯损耗在DCM下非常显著。我现在的习惯是选电感时把DCR和磁芯损耗都算进去综合评估。第三模式切换点的调试需要耐心。如果你希望电路在某个负载点从CCM切换到DCM不要指望一次调好。我一般会在这个负载点附近反复测试观察输出电压、纹波、效率的变化然后微调电感值或补偿参数。有时候改变电感值比调整补偿更有效。第四示波器是最好用的工具。不管你的理论多扎实最终都要靠示波器来验证。SW波形、电感电流波形、输出纹波波形这三个波形结合起来基本可以判断电路的所有工作状态。我建议每个调电源的人都配一个好一点的示波器至少100MHz带宽最好带电流探头。第五DCM下的EMI问题不要忽视。DCM下电流波形更陡谐波更丰富EMI可能比CCM下更差。如果你的产品要过EMI认证DCM下的滤波措施要提前考虑不要等到测试不过再补救。我一般会在设计初期就预留EMI滤波器的位置方便后续调整。最后说一个细节DCM下输出电压的精度通常比CCM下差因为DCM下环路增益随负载变化。如果你的应用对输出电压精度要求高比如±1%要么让电路保持在CCM要么选择带有负载前馈的控制器。这个细节在芯片手册中通常不会强调但实际调试中非常关键。
返回列表