2、拓扑结构详解(一):Buck(降压)转换器的工作原理、连续导通模式(CCM)与断续导通模式(DCM)
各位同学,咱们今天来啃一块硬骨头——Buck降压转换器。这是DC-DC世界里最基础的拓扑,也是你入门开关电源的第一道坎。
说实话,我当年刚接触Buck时,总觉得它不就是个开关加个电感嘛,有啥难的?结果第一次调板子,输出纹波大得像心电图,效率还不到70%。嗯,后来才明白,这里面的门道深着呢。
2.1 Buck降压的基本原理
Buck电路说白了,就是把一个高的直流电压,变成低的直流电压。怎么变的?靠的是“斩波”。
你看这个基本结构:一个开关管(MOSFET)、一个续流二极管、一个电感和一个输出电容。开关管以高频(几百kHz甚至几MHz)不停地开和关,电感负责储存和释放能量,电容负责平滑输出电压。
我习惯把Buck的工作分成两个阶段:
- 开关导通阶段:MOSFET导通,输入电压通过电感给负载供电,同时电感储存磁能。这时候电感电流线性上升。
- 开关关断阶段:MOSFET关断,电感电流不能突变,于是通过续流二极管继续流动,电感释放能量。电流线性下降。
输出电压的大小,取决于开关管导通时间占整个周期的比例——也就是占空比D。对于理想Buck:
Vout = D × Vin
举个例子,输入12V,占空比50%,输出就是6V。简单吧?但实际中要考虑导通压降、电感电阻、开关损耗,公式会复杂一些。
2.2 连续导通模式(CCM)
CCM,全称Continuous Conduction Mode。什么意思呢?就是电感电流在整个开关周期内都没有降到零。
你想想看,电感电流像一条连绵不断的河流,始终有水流。这种模式下,Buck的工作状态比较稳定,纹波也相对较小。
CCM的关键参数是电感电流纹波ΔiL:
ΔiL = (Vin - Vout) × D × T / L
其中T是开关周期,L是电感值。这个公式你得记住,选电感时经常要用到。
我在项目中遇到过一个问题:客户要求输出纹波小于10mV,我按CCM模式算好了电感,结果实际测试纹波超标一倍。后来发现,是PCB布局导致寄生电感太大,影响了实际纹波。嗯,布局的坑后面再细讲。
CCM模式下,输出电压与负载电流的关系比较线性,适合大电流应用。但要注意,轻载时CCM效率会下降,因为开关损耗和导通损耗占比变大了。
2.3 断续导通模式(DCM)
DCM,Discontinuous Conduction Mode。说白了,就是电感电流在开关周期内有一段时间降到了零。
为什么会这样?当负载电流很小时,电感储存的能量在关断阶段就释放完了,电流归零。然后要等到下一个周期开关再次导通,电流才重新建立。
DCM模式下,电感电流波形像一个个小山峰,中间有断档。这种模式的特点:
- 输出电压与占空比的关系不再是简单的线性,还与负载有关
- 轻载效率比CCM高,因为开关管可以实现零电流开通
- 输出纹波比CCM大,因为电流不连续
我曾经做过一个低功耗IoT项目,待机电流只有几毫安。如果强制工作在CCM,效率不到60%。后来改用DCM,轻载效率直接提升到85%以上。这就是选对模式的好处。
2.4 CCM与DCM的对比
我整理了一个表格,方便你对比两种模式:
| 特性 | CCM | DCM |
|---|---|---|
| 电感电流 | 始终大于零 | 有零电流区间 |
| 输出电压与占空比关系 | 线性(Vout = D × Vin) | 非线性,与负载相关 |
| 轻载效率 | 较低 | 较高 |
| 输出纹波 | 较小 | 较大 |
| 适用场景 | 大电流、重载 | 轻载、待机 |
| 控制环路设计 | 相对简单(右半平面零点影响小) | 相对复杂(需要处理零电流检测) |
你可能会问:那我到底该选哪种模式?
我的建议是:如果负载变化范围大,从轻载到重载都有,那就选一个能自动切换模式的控制器。现在很多芯片都支持CCM/DCM自动切换,省心不少。
2.5 实际设计中的选择策略
好了,理论讲完了,咱们聊聊实际怎么选。
第一步,确定你的负载范围。如果最小负载电流大于临界电流的一半,那就用CCM。如果最小负载电流很小,那就考虑DCM或者混合模式。
第二步,算电感。我习惯先按CCM算一个电感值,然后根据实际测试调整。公式再贴一次:
L = (Vin - Vout) × D / (ΔiL × fsw)
其中fsw是开关频率,ΔiL一般取输出电流的20%-40%。
第三步,验证。用示波器看电感电流波形,确认是CCM还是DCM。如果发现波形有断档,说明进入了DCM。这时候要评估纹波和效率是否满足要求。
我记得有一次,一个同事设计的Buck在满载时纹波正常,但半载时纹波突然变大。我一看波形,原来是进入了DCM。后来把电感值加大了一倍,问题就解决了。
嗯,今天就先讲到这里。下一节咱们聊Boost升压转换器,那个更有意思。记住,Buck是基础,基础打牢了,后面的拓扑学起来就快了。