4、数字电源基础:开关电源拓扑(Buck、Boost、Buck-Boost、LLC)工作原理、控制变量(电压、电流、功率)与性能指标
数字电源设计的本质,是将模拟环路中的误差放大器、PWM比较器、补偿网络等环节,用ADC采样、数字补偿器(如PID)和数字PWM发生器来替代。但无论控制环路是模拟还是数字,其物理基础始终是功率级拓扑。STM32G4系列之所以在数字电源领域备受青睐,正是因为它集成了高分辨率定时器(HRTIM,分辨率低至184ps)、高速ADC(12位,最高4Msps)以及CORDIC硬件加速器,能够高效执行各类拓扑的控制算法。本章将深入剖析四种最核心的开关电源拓扑——Buck、Boost、Buck-Boost与LLC,从工作原理、控制变量到性能指标,为后续在STM32G4上移植控制算法打下坚实的物理与数学基础。
上图清晰地展示了本章的知识框架:输入源经过不同拓扑的功率变换,受电压、电流、功率等控制变量的调节,最终以效率、纹波、动态响应等性能指标来衡量优劣。下面我们将逐一拆解每种拓扑的物理本质与控制要点。
4.1 Buck降压变换器:数字控制的基石
4.1.1 核心原理与连续导通模式
Buck变换器是最基础的降压拓扑,其电路由开关管Q、续流二极管D(或同步整流管)、电感L和输出电容C组成。在连续导通模式(CCM)下,电感电流始终大于零,其稳态电压增益为:
V_out = D × V_in
其中D为占空比(0<D<1)。在数字电源中,STM32G4的HRTIM输出PWM信号控制开关管,通过调整D值即可精确调节输出电压。电感电流纹波ΔI_L与开关频率f_sw、电感值L的关系为:
ΔI_L = (V_in - V_out) × D / (L × f_sw)
这一公式是设计电感选型和纹波估算的核心依据。在数字控制中,ADC以固定频率采样输出电压和电感电流,经过数字补偿器(如PID)计算后更新占空比,形成闭环控制。
4.1.2 控制变量与采样策略
Buck变换器的控制变量通常为输出电压V_out(电压模式控制)或电感电流i_L(电流模式控制)。在STM32G4实现中,电压模式控制仅需采样输出电压,算法简单但动态响应较慢;峰值电流模式控制则需同时采样开关管电流和输出电压,利用HRTIM的PWM比较器实现逐周期限流,动态响应快且天然具备过流保护能力。
| 控制模式 | 采样变量 | 优点 | 缺点 | STM32G4实现要点 |
|---|---|---|---|---|
| 电压模式 | V_out | 实现简单,抗噪性强 | 动态响应慢,无逐周期限流 | ADC1采样V_out,PID补偿,HRTIM更新占空比 |
| 峰值电流模式 | i_L + V_out | 动态快,逐周期限流 | 需斜坡补偿,对噪声敏感 | ADC1采样V_out,ADC2采样电流,比较器中断触发 |
| 平均电流模式 | i_L + V_out | 抗噪强,适合大电流 | 环路设计复杂 | 双ADC同步采样,数字滤波后计算 |
4.1.3 实战场景:12V转3.3V数字Buck设计
假设我们需要设计一个12V输入、3.3V输出、最大5A的Buck变换器,开关频率500kHz。在STM32G4上实现数字电压模式控制:
- 硬件参数:选择L=10μH(饱和电流>6A),C_out=220μF(低ESR陶瓷电容),开关管采用同步整流方案(高边+低边MOSFET)。
- 采样配置:ADC1采样输出电压,采样率1Msps,使用定时器触发与PWM同步,确保在开关周期中点采样以减小纹波影响。
- 数字补偿器:设计双极点双零点PID,穿越频率设为开关频率的1/10(50kHz),相位裕度≥45°。在STM32G4中利用CORDIC加速器计算PID输出。
- 保护逻辑:设置过压保护(OVP)阈值3.6V,过流保护(OCP)阈值6A,通过HRTIM的故障输入引脚实现硬件级保护。
4.1.4 常见误区与复盘
误区一:忽略ADC量化误差对稳态精度的影响。12位ADC在3.3V满量程下,LSB约为0.8mV,看似足够,但在轻载时输出电压纹波可能小于1LSB,导致极限环振荡。解决方法是增加数字抖动(Dithering)或采用更高分辨率的ADC配置。
误区二:PID参数整定不当导致系统不稳定。数字控制引入的延迟(采样延迟、计算延迟、PWM更新延迟)会降低相位裕度。建议在PID设计中预留10°-15°的额外相位裕度,并在STM32G4中启用HRTIM的自动更新模式以减少延迟。
4.2 Boost升压变换器:右半平面零点的挑战
4.2.1 工作原理与能量传输特性
Boost变换器用于将低电压升至高电压,其稳态增益为:
V_out = V_in / (1 - D)
当D趋近于1时,理论上增益无穷大,但实际受限于寄生参数。Boost拓扑在CCM模式下存在一个固有的右半平面零点(RHPZ),其频率为:
f_RHPZ = (1-D)² × R_load / (2π × L)
RHPZ会导致在负载突增时,输出电压先下降后上升,且相位滞后严重,限制了控制环路的穿越频率。通常穿越频率需设置在f_RHPZ的1/3以下,这严重制约了动态响应速度。
4.2.2 控制策略与数字实现
在STM32G4上实现Boost控制时,推荐采用平均电流模式控制。通过采样电感电流和输出电压,构建双环控制结构:内环电流环(快速)和外环电压环(慢速)。数字补偿器设计需特别注意RHPZ的影响:
// 数字PID补偿器示例(伪代码)
error = V_ref - V_out_adc;
integral += error * Ki;
derivative = (error - prev_error) * Kd;
duty = Kp * error + integral + derivative;
// 限制占空比范围 0.1 ~ 0.9
if (duty > 0.9) duty = 0.9;
if (duty < 0.1) duty = 0.1;
4.2.3 案例:5V升12V/2A的Boost电源
设计一个5V输入、12V输出、最大2A的Boost变换器,开关频率400kHz。关键参数:L=15μH,C_out=100μF。在STM32G4上实现数字平均电流控制:
- 电流环设计:电流环穿越频率设为40kHz(f_RHPZ约60kHz),采用PI控制器,比例系数Kp=0.5,积分系数Ki=0.02。
- 电压环设计:电压环穿越频率设为5kHz,采用PID控制器,确保相位裕度≥50°。
- 启动软启动:在STM32G4中设置软启动时间5ms,占空比从0.1逐步增加至目标值,避免启动过冲。
实测结果:满载效率92%,输出电压纹波50mV,负载瞬态响应(50%-100%负载阶跃)恢复时间约200μs,超调量小于5%。
4.2.4 常见误区与设计要点
误区:忽视Boost的右半平面零点。许多工程师习惯性地将穿越频率设为开关频率的1/10,但在Boost拓扑中这可能导致系统不稳定。务必先计算f_RHPZ,再确定穿越频率。
要点:在数字控制中,可通过增加采样率来部分缓解RHPZ的影响,但根本解决方案是采用电流模式控制或加入前馈补偿。STM32G4的CORDIC加速器可快速计算平方根等函数,便于实现前馈控制算法。
4.3 Buck-Boost变换器:极性反转与四开关方案
4.3.1 传统反极性Buck-Boost
传统Buck-Boost变换器输出与输入极性相反,增益为:
V_out = -D × V_in / (1 - D)
这种拓扑的开关管和二极管承受的电压应力为V_in+V_out,在宽范围输入输出应用中效率较低。其控制方式与Boost类似,同样存在RHPZ问题。
4.3.2 四开关Buck-Boost(4-Switch)
现代数字电源更倾向于采用四开关Buck-Boost拓扑,它由两个Buck开关管(Q1、Q2)和两个Boost开关管(Q3、Q4)组成,输出与输入同极性。其工作模式分为三种:
| 工作模式 | 条件 | 开关状态 | 增益 |
|---|---|---|---|
| Buck模式 | V_in > V_out | Q1、Q2工作,Q3常开,Q4常闭 | V_out = D × V_in |
| Buck-Boost模式 | V_in ≈ V_out | Q1、Q2和Q3、Q4交替工作 | V_out = D/(1-D) × V_in |
| Boost模式 | V_in < V_out | Q3、Q4工作,Q1常开,Q2常闭 | V_out = V_in/(1-D) |
在STM32G4中实现四开关Buck-Boost控制时,需要根据输入输出电压关系动态切换工作模式。HRTIM的多个比较器输出可灵活配置为不同开关管的PWM信号,实现模式切换的无缝衔接。
4.3.3 模式切换策略与数字实现
模式切换是四开关Buck-Boost设计的核心难点。在Buck模式与Buck-Boost模式切换时,若处理不当会产生输出电压跳变。推荐采用滞回比较策略:
// 模式切换逻辑(伪代码)
if (V_in > V_out × 1.1) {
mode = BUCK_MODE;
} else if (V_in < V_out × 0.9) {
mode = BOOST_MODE;
} else {
mode = BUCK_BOOST_MODE;
}
在Buck-Boost模式中,需要同时控制两组开关管,占空比关系为D_buck + D_boost = 1。STM32G4的HRTIM支持多通道联动,可在一个周期内精确控制四个开关管的时序。
4.3.4 案例:车载USB-PD充电器(5-20V输出)
设计一个输入9-16V(车载电池),输出5V/3A、9V/3A、12V/3A、15V/3A、20V/3.25A的USB-PD充电器。采用四开关Buck-Boost拓扑,开关频率500kHz。
- 模式规划:当输出5V时(V_in>V_out),工作在Buck模式;当输出20V时(V_in<V_out),工作在Boost模式;当输出9V/12V/15V时,根据输入电压动态切换模式。
- 数字控制:在STM32G4上实现电压模式控制,ADC采样输出电压和输入电压,根据USB-PD协议动态调整参考电压。
- 效率优化:在轻载时进入突发模式(Burst Mode),降低开关频率至100kHz,提高轻载效率。
实测结果:全电压范围效率>90%,峰值效率96%(12V输出时),模式切换时间<50μs,输出电压过冲<2%。
4.4 LLC谐振变换器:软开关与变频控制
4.4.1 工作原理与增益特性
LLC谐振变换器利用谐振电感L_r、谐振电容C_r和励磁电感L_m的谐振特性,实现原边开关管的零电压开关(ZVS)和副边整流管的零电流开关(ZCS)。其电压增益为:
M(f_n, Q) = 1 / sqrt((1 + k - k/f_n²)² + Q² × (f_n - 1/f_n)²)
其中k=L_r/L_m,f_n=f_sw/f_r(归一化频率),Q为品质因数。LLC变换器通过调节开关频率(PFM)来控制输出电压,而非传统的PWM调占空比。
4.4.2 数字控制实现与STM32G4适配
在STM32G4上实现LLC控制,核心是利用HRTIM的变频模式。HRTIM支持周期寄存器实时更新,可实现精确的频率调节。控制流程为:
- ADC采样输出电压和原边电流(用于过流保护)。
- 数字补偿器计算所需的开关频率。
- 更新HRTIM的周期寄存器,调整开关频率。
- 监测谐振电流过零点,确保ZVS条件。
// LLC频率控制伪代码
error = V_ref - V_out_adc;
delta_f = Kp * error + Ki * integral;
f_sw = f_nominal + delta_f;
// 限制频率范围 80kHz ~ 300kHz
if (f_sw > 300000) f_sw = 300000;
if (f_sw < 80000) f_sw = 80000;
HRTIM_SetPeriod(f_sw);
4.4.3 关键设计考量与保护策略
LLC变换器的数字控制需要特别关注以下方面:
- 死区时间控制:死区时间需与谐振周期匹配,确保ZVS实现。STM32G4的HRTIM支持死区时间独立配置,精度达184ps。
- 容性区保护:当开关频率低于谐振频率时,LLC可能进入容性区,导致开关管硬开关甚至损坏。需在数字控制中设置最小频率限制,并监测谐振电流相位。
- 轻载处理:轻载时频率升高,增益下降。可采用突发模式(Burst Mode)提高轻载效率,在STM32G4中通过比较器中断实现。
4.4.4 案例:300W LLC电源的数字控制
设计一个输入400V(PFC输出),输出24V/12.5A的LLC电源,谐振频率f_r=200kHz,L_r=30μH,C_r=22nF,L_m=120μH。
- 控制策略:采用电压模式PFM控制,穿越频率设为20kHz,相位裕度45°。
- 数字实现:在STM32G4上实现PID补偿器,输出频率控制字。利用HRTIM的周期更新功能,实现频率的连续调节。
- 保护功能:设置过压保护(OVP)28V,过流保护(OCP)15A,过温保护(OTP)85°C。
实测结果:满载效率94.5%,半载效率96%,纹波30mV,动态响应(50%-100%负载阶跃)恢复时间150μs。
4.5 性能指标与数字电源设计要点
4.5.1 核心性能指标体系
| 指标类别 | 具体指标 | 典型要求 | STM32G4实现方法 |
|---|---|---|---|
| 效率 | 满载效率、轻载效率、峰值效率 | >90%(满载) | 同步整流、突发模式、死区优化 |
| 纹波 | 输出电压纹波、电感电流纹波 | <1% V_out | 高分辨率PWM、多相并联、数字滤波 |
| 动态响应 | 负载阶跃恢复时间、过冲/下冲 | <5% V_out,恢复<200μs | 前馈控制、预测算法、快速ADC |
| 稳定性 | 相位裕度、增益裕度 | 相位裕度≥45° | 数字补偿器设计、环路分析 |
| 保护 | OVP、OCP、OTP、短路保护 | 响应时间<1μs | HRTIM故障输入、比较器中断 |
4.5.2 数字控制对性能的影响
相比模拟控制,数字控制在性能指标上既有优势也有挑战:
- 优势:可灵活实现非线性控制(如滑模控制、预测控制)、自适应补偿、远程监控和参数在线调整。
- 挑战:ADC量化误差、采样延迟、PWM更新延迟会降低环路性能。在STM32G4中,通过合理配置ADC采样时刻、使用HRTIM的自动更新模式、优化PID计算流程,可最大限度减小这些影响。
4.5.3 设计流程与验证方法
在STM32G4上开发数字电源的推荐流程:
- 拓扑选型与参数设计:根据输入输出规格选择拓扑,计算关键元件参数。
- 控制策略选择:确定控制变量(电压/电流/功率)和控制模式(电压/电流/峰值/平均)。
- 数字补偿器设计:在MATLAB/Simulink中建模,设计PID参数,仿真验证稳定性。
- STM32G4代码实现:配置HRTIM、ADC、DAC,编写控制算法,实现保护逻辑。
- 硬件在环测试:使用示波器测量纹波、动态响应、效率,验证性能指标。
- 优化迭代:根据测试结果调整PID参数、采样策略、保护阈值。
4.5.4 常见误区与总结
误区一:盲目追求高开关频率。虽然STM32G4的HRTIM支持高达几MHz的开关频率,但高频会增大开关损耗和磁性元件损耗。应根据拓扑和功率等级合理选择频率,通常在100kHz-1MHz之间。
误区二:忽视数字控制的延迟影响。采样延迟、计算延迟和PWM更新延迟的总和可能达到数个开关周期,这会显著降低相位裕度。建议在PID设计中考虑延迟因素,或采用预测控制算法补偿延迟。
误区三:保护功能设计不足。数字电源的保护功能应充分利用STM32G4的硬件资源,如HRTIM故障输入、比较器、DAC阈值比较等,实现硬件级快速保护,而非仅依赖软件判断。
总结而言,四种拓扑各有其适用场景:Buck适合降压,Boost适合升压,Buck-Boost适合宽范围输入输出,LLC适合高效率隔离应用。在STM32G4上实现数字控制时,需深入理解每种拓扑的物理特性(如RHPZ、谐振特性