
这次我们完整走一遍 BUCK 降压电路的仿真流程。很多初学者看完 BUCK 原理图觉得自己懂了真正打开仿真软件却不知道从哪下手开关管怎么搭、PWM 信号怎么给、电感电容选多大、仿真出来怎么判断波形是否正常。这篇文章选一个最常见的场景——12V 转 5V、最大负载 2A从参数计算到 LTspice 仿真把整个流程串起来。本文适合三类读者正在学开关电源基础的学生刚接触电源仿真想快速上手的工程师以及想验证 BUCK 参数计算是否正确的硬件爱好者。全文按“工作原理 → 参数计算 → 仿真搭建 → 波形分析 → 问题排查”的顺序展开你可以直接照着操作也可以在文末拿到一套可复用的仿真验证思路。1. BUCK 电路核心能力与规格速览项目说明电路类型非隔离型降压开关电源输入输出关系Vout D × VinCCM 模式核心元件开关管MOSFET、续流器件、电感、输出电容、控制/驱动电路控制方式PWM 脉宽调制典型效率异步二极管续流80%~92%同步低侧 MOSFET90%~97%常见应用板级供电、电池充电、DDR/FPGA/GPU 核心电压、USB PD 输出电压变换常用仿真工具LTspice、Simplis、Multisim、PSIM是否隔离否。需要隔离时选反激、正激、半桥、全桥等隔离拓扑这里有两个关键点必须提前记住第一BUCK 是非隔离拓扑输入和输出共地这是它结构简单的根本原因第二它的核心公式是 Vout D × VinD 是占空比。后面所有计算、仿真、波形判断都围绕这两条来展开。2. BUCK 电路工作原理2.1 开关导通与关断两个状态BUCK 电路用 PWM 信号控制开关管周期性导通和关断把输入电压斩波成一个方波再通过 LC 滤波得到稳定的直流输出。开关管导通时输入电压 Vin 加到电感左端电感电流线性上升电感储能同时输入给负载供电、给输出电容充电。此时续流二极管反偏截止。开关管关断时电感电流不能突变电感左端电压被拉低续流二极管导通电感继续向负载和输出电容放电电感电流线性下降。输出电压就等于开关节点方波电压的平均值也就是 Vin × D。电感在这里既传递能量又平滑电流电容负责抑制输出电压纹波。2.2 CCM、DCM 与 BCM根据电感电流是否持续导通BUCK 工作在三种模式工作模式电感电流状态特点CCM 连续导通模式整个周期电感电流都大于 0常用设计目标输出纹波小控制环路好设计DCM 断续导通模式开关关断后电感电流降到 0轻载时常见效率不一定低但纹波和环路特性变化BCM 临界导通模式电感电流恰好降到 0介于 CCM 和 DCM 之间边界处需要关注工程上多数 BUCK 设计在额定负载下按 CCM 设计轻载时允许进入 DCM。仿真时如果你减小负载电阻会看到电感电流波形从连续三角波变成底部到零的断续波这是判断电路工作模式的直接方法。2.3 占空比为什么能决定输出电压CCM 模式下稳态时电感电流在一个周期内的上升量等于下降量也就是电感伏秒平衡。由此可以导出D Vout / Vin这就是“为什么修改占空比可以改变输出电压”的答案。在输入电压不变的前提下PWM 占空比越高开关节点方波平均电压越高输出电压也越高。实际电路通过反馈环路自动调节占空比来稳压负载变重导致 Vout 下降环路增大 D负载变轻导致 Vout 上升环路减小 D。3. BUCK 关键参数计算这一节用实际设计指标计算。设定设计目标参数数值输入电压 Vin12V输出电压 Vout5V最大负载电流 Iout2A开关频率 fsw100kHz输出纹波要求 ΔVout小于 30mV电感电流纹波 ΔIL取最大输出电流的 30%即 0.6A3.1 占空比计算CCM 模式下D Vout / Vin 5 / 12 ≈ 0.417这个 0.417 就是仿真时 PWM 驱动信号应该设置的占空比。如果考虑实际二极管压降或功率管压降占空比会略有变化例如异步 BUCK 的占空比近似为 (Vout Vd) / (Vin Vd - Vds)。仿真时先用理想值。3.2 电感计算电感电流纹波公式ΔIL (Vin - Vout) × D / (fsw × L)反推电感L (Vin - Vout) × D / (fsw × ΔIL)代入数值L (12 - 5) × 0.417 / (100000 × 0.6) ≈ 48.7μH实际取标称值 47μH。这个电感值对应约 0.6A 的电流纹波是最大输出电流的 30%属于比较常规的设计选择。电感取大纹波电流减小但体积和成本上升电感取小成本降低但纹波电流增大对输出电容和开关管的应力要求更高。3.3 输出电容计算输出纹波主要由电感纹波电流对电容充放电引起。忽略电容 ESR 时Cout ΔIL / (8 × fsw × ΔVout)代入数值Cout 0.6 / (8 × 100000 × 0.03) ≈ 25μF考虑陶瓷电容容值会随直流偏置下降实际取 47μF 到 100μF。同时还要关注电容的 ESRESR 过高会导致输出纹波尖峰明显增大。仿真时给电容串联一个几十毫欧的 ESR 电阻观察到的纹波会更接近实际。3.4 负载电阻取值最大负载 2A / 5V等效电阻R Vout / Iout 5 / 2 2.5Ω仿真时用 2.5Ω 电阻作为满载负载即可。如果你想看轻载 DCM 波形可以把负载电阻加大到 20Ω 甚至 50Ω 再跑一次。3.5 参数计算脚本参数计算可以用一段 Python 快速完成后面改设计指标时直接改变量# BUCK 参数计算示例 vin 12.0 vout 5.0 iout 2.0 fsw 100_000 d_il_ratio 0.30 d vout / vin delta_il iout * d_il_ratio l (vin - vout) * d / (fsw * delta_il) delta_vout 0.03 c delta_il / (8 * fsw * delta_vout) print(f占空比 D {d:.3f}) print(f电感纹波电流 ΔIL {delta_il:.3f} A) print(f电感量 L {l * 1e6:.2f} uH) print(f输出电容 C {c * 1e6:.2f} uF)输出结果占空比 D 0.417 电感纹波电流 ΔIL 0.600 A 电感量 L 48.61 uH 输出电容 C 25.00 uF计算完成后进入仿真验证环节。4. 同步 BUCK 与异步 BUCK 的区别热词里大量出现“同步 buck 和异步 buck 主要区别”这里单独展开。4.1 结构差异异步 BUCK 用二极管续流同步 BUCK 用低侧 MOSFET 续流。对比项异步 BUCK同步 BUCK续流器件肖特基二极管低侧 N-MOSFET驱动复杂度简单只需驱动高侧开关较复杂需要互补驱动和死区控制导通损耗二极管压降损耗较大MOSFET 导通电阻损耗较小效率满载效率低几个百分点满载效率可到 95% 以上成本较低较高轻载效率二极管反向恢复损耗小MOSFET 开关损耗不可忽视需注意死区时间4.2 为什么同步 BUCK 效率更高异步 BUCK 中续流二极管导通时有一个正向压降 VF。以肖特基二极管常见压降 0.4V 为例流过 2A 电流时功率损耗为 0.8W在 10W 输出功率里占 8%这个损耗对效率影响很大。同步 BUCK 用低侧 MOSFET 替代二极管导通压降变成 IDS × RDS(on)。如果 RDS(on) 只有 20mΩ2A 电流导通损耗只有 0.08W数量级差了很多。但同步 BUCK 有一个关键问题上下两个 MOSFET 不能同时导通否则输入直接短路。所以必须设置死区时间也就是低侧管关断后等待一小段时间再打开高侧管反之亦然。4.3 自举电路与驱动电路同步 BUCK 的高侧 N-MOSFET 源极连接开关节点要完全导通栅源电压 Vgs 必须有足够压差。当高侧管导通时源极电压接近 Vin栅极电压必须高于 Vin。实际电路常用自举电容和电荷泵电路实现这个高于输入电压的栅极驱动电压。仿真中如果只做原理级验证可以使用理想开关模型绕过驱动细节但如果做工程级仿真要把自举电容、驱动 IC 的死区逻辑放进去。5. LTspice 仿真环境准备5.1 工具选择LTspice 是 Analog Devices 提供的免费 SPICE 仿真工具支持 Windows 和 macOS对开关电源瞬态仿真支持不错而且内置了大量电源管理 IC 模型。这里用它做 BUCK 仿真演示。安装完成后界面主要分两块左侧是原理图编辑区下方是波形查看窗口。LTspice 使用 SPICE 指令控制仿真类型例如 .tran 指令做瞬态分析。5.2 仿真思路这一次用理想开关模型搭建 BUCK 主功率回路不纠缠于开关管的驱动细节核心是理解功率级的工作原理和参数影响。使用电压控制开关 SW 元件模拟 MOSFET 的开关行为用 PULSE 脉冲源产生 PWM 信号。这个方法的好处是参数直观不容易因为模型细节造成仿真不收敛。6. LTspice 完整仿真流程6.1 新建原理图与放置元件在 LTspice 中新建一个原理图依次放置以下元件元件放置路径参数输入电压源 V1放置 - 电压源DC 12V电压控制开关 SW放 置 - 元件 - sw需要添加 .model 指令续流二极管 D1放置 - 元件 - diode1N5819电感 L1放置 - 元件 - inductor47μH输出电容 C1放置 - 元件 - capacitor100μF负载电阻 R1放置 - 元件 - resistor2.5ΩPWM 脉冲源 V2放 置 - 电压源PULSE(0 5 0 50n 50n 4.17u 10u)PWM 源参数说明0V 到 5V延迟 0上升沿 50ns下降沿 50ns高电平时间 4.17μs周期 10μs。100kHz 频率对应周期 10μs占空比 0.417 对应高电平时间 4.17μs。6.2 设置开关模型参数在原理图上添加 SPICE 指令.model SW1 SW(Ron10m Roff1Meg Vt2.5 Vh-0.5)其中 Ron 是开关导通电阻 10mΩRoff 是关断电阻 1MΩVt 是阈值 2.5VVh 是滞回电压。电压控制开关在控制电压高于 Vt 且满足滞回条件时导通低于 Vt 时关断。PWM 源输出 0V 时开关断开输出 5V 时开关闭合。如果使用 MOS 管替代理想开关需要指定 MOSFET 模型并注意栅极驱动电压的幅度。对初学者来说理想开关更容易先跑通流程。6.3 设置瞬态仿真参数再添加一条 SPICE 指令.tran 0 5m 0 10n含义是瞬态仿真 5ms从 0 开始不保存初始时刻之前的波形指定最大步长 10ns。最大步长设小可以使波形更平滑尤其是在开关切换瞬间。如果仿真时间太长可以改成 2m 或 3m但至少覆盖 100 到 200 个开关周期才能看到稳定趋势。最终 netlist 参考* BUCK 12V to 5V Sim V1 IN 0 12 V2 GATE 0 PULSE(0 5 0 50n 50n 4.17u 10u) S1 SW IN GATE 0 SW1 D1 0 SW 1N5819 L1 SW OUT 47u C1 OUT 0 100u R1 OUT 0 2.5 .model SW1 SW(Ron10m Roff1Meg Vt2.5 Vh-0.5) .tran 0 5m 0 10n .backanno .end这个 netlist 可以在 LTspice 中直接打开运行。注意实际节点命名以你画图时连接的网络标签为准。6.4 运行仿真与观察波形点击 Run 按钮运行仿真。仿真结束后单击 OUT 网络标签可以查看输出电压波形单击 L1 可以查看电感电流波形单击 SW 节点可以查看开关节点电压波形。启动阶段输出电压会从 0V 逐渐上升经过超调后稳定在 5V 附近。电感电流会从 0 开始爬升逐步过渡到周期性三角波。如果输出电压过冲很大通常是因为没有软启动或电容过大如果输出电压稳定后纹波很大检查电容值和 ESR。7. 仿真结果分析与验收标准7.1 输出电压是否等于 D × Vin稳态后测量 V(out) 的平均值。理论输出 5V实际仿真结果应接近 5V偏差来自二极管压降和开关导通电阻压降。如果使用理想二极管模型输出更接近 5V使用 1N5819 肖特基模型输出会略低。判断标准稳态误差在 1% 到 3% 以内都属于正常。如果偏差大于 5%检查占空比设置和输出电压采样是否正确。7.2 电感电流纹波是否与计算一致理论上 ΔIL (Vin - Vout) × D / (fsw × L) ≈ 0.6A。如果电感取 47μH开关频率 100kHz仿真中的电感电流纹波应该在 0.6A 左右。对比方法在 LTspice 波形窗口中按住 Ctrl 单击 L1或者右键波形查看最大值和最小值两者之差就是电感电流纹波。如果纹波明显偏大很可能电感量偏小或频率偏低如果纹波明显偏小说明电感量偏大可以适当缩小电感来加快动态响应。7.3 是否进入 CCM满载 2A 条件下电感电流最低点应该大于 0A。如果电感电流底部到 0 且有一段持平说明电路进入了 DCM此时 Vo D × Vin 的关系不再成立需要减小负载电阻或增大电感量。把负载电阻从 2.5Ω 改成 20Ω 再仿真一次你就能直观看到 CCM 到 DCM 的切换过程这是理解两种工作模式最直接的方式。7.4 输出纹波判断测量稳态段的 V(out) 峰峰值。目标小于 30mV。如果纹波超过预期先减小电容 ESR再考虑增大输出电容容值。仿真中如果给电容添加了串联电阻纹波会明显变大这就是实际电路纹波偏高的主要原因之一。开关高频尖刺也需要关注它是开关节点电压跳变通过寄生参数耦合到输出造成的。LTspice 仿真中如果没有建模寄生电感尖刺可能不明显实际 PCB 中需要用示波器实测进行对比验证。8. 常见问题与排查方法问题现象可能原因排查方式解决方案输出电压远高于 5VPWM 占空比过大或输入电压过高查看 V(GATE) 波形确认占空比把 V2 高电平时间改为 4.17μs输出电压偏低二极管压降过大、负载过重、开关电阻过大查看输出电流和二极管压降换用理想二极管模型或改用同步 BUCK 架构电感电流断续负载过轻或电感量偏小查看电感电流最低点是否到 0减小负载电阻或增大电感纹波过大电容容值不足、ESR 过大、电感纹波偏大查看 I(L1) 纹波和 V(out) 纹波增大电容、降低 ESR或增大电感仿真不收敛SPICE 模型步长控制不当、模型参数冲突减小最大步长检查 .model 指令将 .tran 最大步长改为 5n 或 1n启动过冲大输出电容过大、无软启动查看 V(out) 启动段波形减小启动参考电压斜率或增加软启动电路开关节点波形异常开关控制电压设置不当、节点连接错误检查 GATE 节点波形确认 PULSE 源输出 0V/5VSW 的控制端连接正确仿真速度很慢仿真时间过长、最大步长过小查看日志耗时将 .tran 缩短到 2ms或把最大步长放宽到 100n排查时记住一个顺序先看输入和 PWM 驱动波形是否正确再看开关节点 SW 是否符合 BUCK 工作状态最后看 LC 滤波器输出。不要一开始就怀疑电容电感参数。9. BUCK 设计实战建议9.1 电感选择电感量选择要考虑满载纹波电流比例一般取输出电流的 20% 到 40%。选型时还要关注饱和电流峰值电感电流等于 Iout ΔIL / 2电感的饱和电流必须大于这个值否则电感量会骤降电路失去稳压能力。感值相同的情况下优先选择低 DCR 的电感DCR 过大会造成明显的满载效率损失。同时注意屏蔽电感对电磁干扰更友好但成本稍高。9.2 输出电容选择输出电容容值决定稳态纹波ESR 决定纹波尖峰。陶瓷电容 ESR 很低但容值会随直流偏置电压升高而下降。电解电容容值大但 ESR 高可以用多个电容并联组合一个大容量电解电容保证储能一个小容量陶瓷电容抑制高频纹波。9.3 控制环路与稳定性本次仿真只验证了功率级开环行为实际系统必须加入反馈环路。常用控制方式有电压模式控制和电流模式控制。电压模式简单但环路补偿相对复杂峰值电流模式有更快的瞬态响应但需要斜率补偿防止次谐波振荡。环路稳定性的核心指标是穿越频率和相位裕度。穿越频率一般取开关频率的五分之一到十分之一相位裕度要求至少 45 度工程上最好做到 50 到 70 度。这个需要借助频率响应分析或 Simplis 的 AC 仿真来验证。9.4 PCB 布局与测量规范BUCK 电路的主功率回路要尽量小输入端电容、开关管、续流二极管或同步低侧管、输出电感、输出电容这些元件之间的走线要短且粗。开关节点 SW 的大面积铜箔要控制在输出电感附近避免它与敏感信号线平行。示波器测量输出纹波时要用短地线弹簧接地直接夹在输出电容引脚两端不要用长接地线否则测量到的纹波大部分是探头地线环路感应出来的噪声而不是真实的输出纹波。这是新手最容易犯的错误。9.5 合法合规与安全边界开关电源仿真和实验涉及强电转换实验时必须使用隔离变压器或隔离电源并保证测试区域安全。对于自制的 BUCK 模块负载必须确认在电路额定范围内禁止随意短路测试或超压输入。涉及高压输入时要注意电气安全间距和防护措施避免触及带电部位。10. 总结与下一步这篇文章的核心价值是让你在一小时内跑通一个完整的 BUCK 仿真通过 LTspice 搭出 12V 转 5V 的 BUCK 主功率电路用理想开关加 PWM 驱动验证占空比公式、电感电流纹波、输出滤波和 CCM/DCM 切换。建议你先做下面三个验证把 PWM 占空比改为 0.3观察输出电压是否约等于 3.6V把负载电阻改为 20Ω观察电感电流是否进入 DCM把电感改小到 22μH观察电感电流纹波如何增 加输出纹波如何变化。这三个试验做完你对 BUCK 功率级的基本认识会比只看文档扎实得多。下一步可以继续探索把二极管换成低侧 MOSFET 搭同步 BUCK加入死区时间驱动给 BUCK 加入电压反馈环路和误差放大器在 Simplis 或 LTspice 中做 Bode 图分析环路稳定性再往上是反激、正激、半桥等隔离拓扑。这个系列下一部分可以接着展开同步 BUCK 完整驱动仿真流程建议先收藏本文动手跑完再继续。