4、数字电源基础:开关电源拓扑(Buck、Boost、Buck-Boost、LLC)工作原理、控制变量(电压、电流、功率)与性能指标

数字电源设计的本质,是将模拟环路中的误差放大器、PWM比较器、补偿网络等环节,用ADC采样、数字补偿器(如PID)和数字PWM发生器来替代。但无论控制环路是模拟还是数字,其物理基础始终是功率级拓扑。STM32G4系列之所以在数字电源领域备受青睐,正是因为它集成了高分辨率定时器(HRTIM,分辨率低至184ps)、高速ADC(12位,最高4Msps)以及CORDIC硬件加速器,能够高效执行各类拓扑的控制算法。本章将深入剖析四种最核心的开关电源拓扑——Buck、Boost、Buck-Boost与LLC,从工作原理、控制变量到性能指标,为后续在STM32G4上移植控制算法打下坚实的物理与数学基础。

开关电源拓扑与控制变量关系图 输入源 V_in, I_in Buck 降压 V_out = D × V_in CCM / DCM 电感电流连续/断续 Boost 升压 V_out = V_in/(1-D) 右半平面零点 RHPZ 限制带宽 Buck-Boost V_out = -D×V_in/(1-D) 反极性输出 四开关方案 LLC 谐振 PFM 变频控制 ZVS 软开关 高效率 核心控制变量 电压控制 输出电压采样 电压环补偿 电流控制 峰值/平均电流 过流保护 功率控制 最大功率点 功率限制 关键性能指标 效率 η P_out / P_in × 100% 纹波与噪声 V_ripple, I_ripple 动态响应 带宽、相位裕度 STM32G4 数字电源控制:ADC采样 → 数字补偿 → HRTIM PWM输出

上图清晰地展示了本章的知识框架:输入源经过不同拓扑的功率变换,受电压、电流、功率等控制变量的调节,最终以效率、纹波、动态响应等性能指标来衡量优劣。下面我们将逐一拆解每种拓扑的物理本质与控制要点。

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上实现数字电压模式控制:

  1. 硬件参数:选择L=10μH(饱和电流>6A),C_out=220μF(低ESR陶瓷电容),开关管采用同步整流方案(高边+低边MOSFET)。
  2. 采样配置:ADC1采样输出电压,采样率1Msps,使用定时器触发与PWM同步,确保在开关周期中点采样以减小纹波影响。
  3. 数字补偿器:设计双极点双零点PID,穿越频率设为开关频率的1/10(50kHz),相位裕度≥45°。在STM32G4中利用CORDIC加速器计算PID输出。
  4. 保护逻辑:设置过压保护(OVP)阈值3.6V,过流保护(OCP)阈值6A,通过HRTIM的故障输入引脚实现硬件级保护。
在数字Buck设计中,ADC采样时刻的选择至关重要。建议将采样点设置在PWM周期的中间(即电感电流平均值处),可有效减小开关噪声对采样精度的影响。STM32G4的定时器支持与ADC的硬件联动,可实现精确的延迟触发采样。

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;
Boost变换器在启动和负载突变时,电感电流可能迅速上升。务必在STM32G4中实现逐周期限流保护,利用HRTIM的比较器输出直接关断PWM,响应时间可控制在100ns以内,防止电感饱和或开关管损坏。

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_outQ1、Q2工作,Q3常开,Q4常闭V_out = D × V_in
Buck-Boost模式V_in ≈ V_outQ1、Q2和Q3、Q4交替工作V_out = D/(1-D) × V_in
Boost模式V_in < V_outQ3、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支持多通道联动,可在一个周期内精确控制四个开关管的时序。

在模式切换瞬间,建议在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支持周期寄存器实时更新,可实现精确的频率调节。控制流程为:

  1. ADC采样输出电压和原边电流(用于过流保护)。
  2. 数字补偿器计算所需的开关频率。
  3. 更新HRTIM的周期寄存器,调整开关频率。
  4. 监测谐振电流过零点,确保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中通过比较器中断实现。
LLC变换器在启动和短路时,谐振电流可能达到正常工作电流的5-10倍。必须在STM32G4中实现快速过流保护,建议使用HRTIM的故障输入引脚直接关断PWM输出,响应时间<200ns,同时启动软启动程序。

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μsHRTIM故障输入、比较器中断

4.5.2 数字控制对性能的影响

相比模拟控制,数字控制在性能指标上既有优势也有挑战:

  • 优势:可灵活实现非线性控制(如滑模控制、预测控制)、自适应补偿、远程监控和参数在线调整。
  • 挑战:ADC量化误差、采样延迟、PWM更新延迟会降低环路性能。在STM32G4中,通过合理配置ADC采样时刻、使用HRTIM的自动更新模式、优化PID计算流程,可最大限度减小这些影响。

4.5.3 设计流程与验证方法

在STM32G4上开发数字电源的推荐流程:

  1. 拓扑选型与参数设计:根据输入输出规格选择拓扑,计算关键元件参数。
  2. 控制策略选择:确定控制变量(电压/电流/功率)和控制模式(电压/电流/峰值/平均)。
  3. 数字补偿器设计:在MATLAB/Simulink中建模,设计PID参数,仿真验证稳定性。
  4. STM32G4代码实现:配置HRTIM、ADC、DAC,编写控制算法,实现保护逻辑。
  5. 硬件在环测试:使用示波器测量纹波、动态响应、效率,验证性能指标。
  6. 优化迭代:根据测试结果调整PID参数、采样策略、保护阈值。
在数字电源调试中,建议利用STM32G4的DAC输出将内部数字变量(如PID输出、采样值)转换为模拟信号,方便用示波器观察。这一技巧可大幅提升调试效率,快速定位算法问题。

4.5.4 常见误区与总结

误区一:盲目追求高开关频率。虽然STM32G4的HRTIM支持高达几MHz的开关频率,但高频会增大开关损耗和磁性元件损耗。应根据拓扑和功率等级合理选择频率,通常在100kHz-1MHz之间。

误区二:忽视数字控制的延迟影响。采样延迟、计算延迟和PWM更新延迟的总和可能达到数个开关周期,这会显著降低相位裕度。建议在PID设计中考虑延迟因素,或采用预测控制算法补偿延迟。

误区三:保护功能设计不足。数字电源的保护功能应充分利用STM32G4的硬件资源,如HRTIM故障输入、比较器、DAC阈值比较等,实现硬件级快速保护,而非仅依赖软件判断。

总结而言,四种拓扑各有其适用场景:Buck适合降压,Boost适合升压,Buck-Boost适合宽范围输入输出,LLC适合高效率隔离应用。在STM32G4上实现数字控制时,需深入理解每种拓扑的物理特性(如RHPZ、谐振特性