|
0 1 前言 随着AI技术的发展,对服务器的算力要求越来越高,对应供电系统的功率也越来越大,服务器电源单个功率模块的功率都开始由2~3KW向5.5KW和8.5KW发展,这也导致了功率拓扑的变化,之前DC/DC部分一般都是半桥或是全桥LLC+SR,到5.5KW之后客户都开始采用三相LLC+SR,本文介绍如何基于STM32G474产生适合三相LLC+SR控制的PWM方案。 0 2 三相LLC+SR拓扑结构 客户使用的三相LLC+SR的功率拓扑架构如下,原边功率器件组成三相全桥电路,副边针对每一相输出采用全桥电路实现同步整流。该架构下需要18路PWM驱动,且最好能实现每一路的PWM都能单独控制其上升沿与下降沿;原副边驱动之间可以实现同步和移相,以满足控制的需求。
针对该拓扑控制的需求,有以下问题需要解决:
0 3 解决方案 按照前文的说明,为了产生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产生的设置如下:
在高精度定时器中,以TimerA/B组为例,PWM产生的设置如下:
SR1_PWM1
SR1_PWM2
SR1_PWM3
SR1_PWM4
按照以上的设计思想,基于CubeMx进行配置。 0 4 部分实测波形 1.原边三相驱动波形
2.原边驱动波形调频,低频到高频
3.原边驱动波形调频,高频到低频
4.原边驱动+副边同步整流波形,调频,低频到高频
5.原边驱动+副边同步整流波形,调频,高频到低频
0 5 小结 本文针对三相LLC+SR功率拓扑控制对PWM的需求,基于STM32G474的高精度定时器、高级控制定时器和通用定时器设计了一套PWM产生方案,并进行了实验验证。该方案的限制在于高级控制定时器所产生的6路PWM驱动的分辨率只能达到 5.88ns,对于谐振频率高且对分辨率要求高于达到ps级别的场合无法适用。 |
STM32固件库分享,超全系列整理
经验分享 | STM32G4 双BANK Flash模式页擦除话题
经验分享 | STM32G4片内FLASH擦写实验笔记
经验分享 | STM32G4系列是否支持位带操作
STM32系列芯片之间相互移植注意事项
STM32如何成为现代科技的隐形引擎
大神都是怎么学习STM32的,我也跟着学
如果你解决了这些问题,就可以直接学STM32
经验分享 | 基于STM32G4芯片TIM+SPI+DMA应用示例
新手学几天STM32,为啥一脸茫然
微信公众号
手机版