随着AI技术的发展,对服务器的算力要求越来越高,对应供电系统的功率也越来越大,服务器电源单个功率模块的功率都开始由2~3KW向5.5KW和8.5KW发展,这也导致了功率拓扑的变化,之前DC/DC部分一般都是半桥或是全桥LLC+SR,到5.5KW之后客户都开始采用三相LLC+SR,本文介绍如何基于STM32G474产生适合三相LLC+SR控制的PWM方案。
02、三相LLC+SR拓扑结构

单独使用HRTIMER已经没法满足要求,因为STM32G474其最多提供12通道的PWM驱动,必须将HRTIMER与高级控制定时器ADTIMER联合使用,以产生18路PWM驱动 ADTIMER所产生的驱动必须能实现上升沿与下降沿都可以单独控制 定时器的同步,包括HRTIMER内部各定时器的同步,多个ADTIMER之间的同步,HRTIMER与ADTIMER之间的同步。
03、解决方案
按照前文的说明,为了产生18路PWM,需要使用HRTIMER和ADTIMER以及GPTIMER联合工作,多个定时器之间的协同工作关系如下:

TIM1做为整个系统的时基,TIM2/TIM3/HRTIMER_Master Timer都与TIM1的TRGO信号同步。TIM8/TIM20分别与TIM2/TIM3同步,实现TIM1/TIM8/TIM20三个高级控制定时器之间120°错相。而在HRTIMER内部,子定时器被分为三组,TimerA/B,TimerC/D,TimerE/F,分别与Mater Timer 的PER/CMP1/CMP2同步,相差120°。
TIM1/TIM8/TIM20分别产生两路PWM,每组之间移相120°,作为原边PWM驱动。TimerA/B,TimerC/D,TimerE/F每组产生4路PWM,每组之间移相120°,作为副边全桥同步整流的PWM驱动。
为了保证PWM的灵活性,要求每路PWM都能做到上升沿与下降沿可单独控制,这个要求对于HRTIMER中产生的PWM没有问题,因为子每个定时器(TimerA/B/C/DE/F)内部都包含有4个比较寄存器器,刚好用于两路PWM的独立控制。而高级控制定时器中需要使用Combined PWM模式实现PWM的双沿可控,具体方法可以参考文档《如何使用高级控制定时器产生双沿可调PWM驱动》。
在高级控制定时器中,以TIM1为例,PWM产生的设置如下:

TIM1_CH1和TIM1_CH3做为一对PWM,互补发波,死区软件可调 PWM1/PWM3工作方式为combined PWM mode 2(TIM1_oc1ref/TIM1_oc3ref) PWM2/PWM4工作方式为PWM mode 1(TIM1_oc2ref/TIM1_oc4ref) TIM1_CH1最终输出波形为TIM1_oc1ref“与”TIM1_oc2ref TIM1_CH3最终输出波形为TIM1_oc3ref“与”TIM1_oc4ref TIM1_CH1波形由CCR1(rising edge)和CCR2(falling edge)控制 TIM1_CH3波形由CCR3(rising edge)和CCR4(falling edge)控制
在高精度定时器中,以TimerA/B组为例,PWM产生的设置如下:

TimerA和TimerB计数完全同步,无相差 每个定时的两路PWM工作在independent mode,软件控制死区大小
Set source: TA_CMP1 Reset source: TA_CMP2
Set source: TA_CMP3 Reset source: TA_CMP4
Set source: TB_CMP1 Reset source: TB_CMP2
Set source: TB_CMP3 Reset source: TB_CMP4
按照以上的设计思想,基于CubeMx进行配置。
04、部分实测波形
1.原边三相驱动波形

2.原边驱动波形调频,低频到高频

3.原边驱动波形调频,高频到低频

4.原边驱动+副边同步整流波形,调频,低频到高频

5.原边驱动+副边同步整流波形,调频,高频到低频

05、小结
本文针对三相LLC+SR功率拓扑控制对PWM的需求,基于STM32G474的高精度定时器、高级控制定时器和通用定时器设计了一套PWM产生方案,并进行了实验验证。该方案的限制在于高级控制定时器所产生的6路PWM驱动的分辨率只能达到 5.88ns,对于谐振频率高且对分辨率要求高于达到ps级别的场合无法适用。
来源:STM32
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。