打印
[信息]

【实战经验】STM32F334 应用于LLC+SR的高精度Timer波形产生

[复制链接]
5111|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 香水城 于 2017-8-16 15:04 编辑

STM32F334 应用于LLC+SR的高精度Timer波形产生

前言
LLC 谐振变换器优于常规串联谐振变换器和并联谐振变换器:在负载和输入变化较大时,频率变化仍很小,且全负载范围内切换可实现零电压开关(ZVS),越来越多的被使用,同时使用二次同步整流(SR)可以实现零电流开关(ZCS)。微控制器的使用带来体积更小,控制更灵活的产品, STM32F334 内部集成高精度Timer 高精度,高灵活性的PWM 波形产生不仅使控制变简单,同时对产品效率提升带来好处。

简要说明LLC以及SR原理
对于普通的拓扑而言,在开关管开关时,MOSFET 的D-S 间的电压与电流产生交叠,因此产生开关损耗,见下图示意:

为了减小开关时的交叠,人们提出了零电流开关(ZCS)和零电压开关(ZVS)两种软开关的方法。对于ZCS:使开关管的电流在开通时保持在零,在关断前使电流降到零。对于ZVS:使开关管的电压在开通前降到零,在关断时保持为零。
实际应用中一般是在变压器源边ZVS 打开,而在副边进行二次同步整流(SR--synchronous rectification)的ZCS 的关闭操作,下图为LLC + SR 基本硬件构图:
电感Lr,变压器电感Lm,电容Cr 构成LLC 网络。


控制波形
在变压器源边根据电路参数设定固定的死区时间,副边延迟时间则根据实际电路以及频率进行实时调整。
MOSFET 端控制波形如下:


STM32F334的HRTIM简介
STM32F334 内部集成高精度Timer(HRTIMER),时钟频率最高达到4.6GHz,同时各种波形控制机制,可以灵活配置波形产生,5 路Timer 单元,每个上面可以产生互补输出或者单独的PWM,同时可以使用Master Timer 进行同步操作,各种Fault 产生机制快速终止输出,下图为HRTIMER 框图:

如何产生波形以及机制
Timer A 互补输出(两路波形)作为变压器源边PWM 波形,死区时间根据电路参数调整,Timer B 其中一路波形作为SR 控制输出1,Timer C 其中一路波形作为SR 控制输出2;具体操作如下:
  • 设定Master Timer 做为Timer A,B,C 的同步信号
pTimerCfg.ResetTrigger = HRTIM_TIMRESETTRIGGER_MASTER_PER;




  •  设定Timer A 两路互补输出,死区时间可调,本例中死区时间为T1
pTimerCfg.DeadTimeInsertion = HRTIM_TIMDEADTIMEINSERTION_ENABLED;
pDeadTimeCfg.RisingValue = T1;
pDeadTimeCfg.FallingValue = T1;

  • 设定Timer A 的Set 源为TIMERA_Compare1, Reset 源是Master Timer 周期事件
pOutputCfg.SetSource = HRTIM_OUTPUTSET_TIMCMP1;
pOutputCfg.ResetSource = HRTIM_OUTPUTRESET_MASTERPER;





  • 设定Timer B 为单路输出,Set 源为TIMERB_Compare1,Reset 源是TIMERB_Compare2
pOutputCfg.SetSource = HRTIM_OUTPUTSET_TIMCMP1;
pOutputCfg.ResetSource = HRTIM_OUTPUTRESET_TIMCMP2;

  • 设定Timer C 为单路输出,Set 源为TIMERC_Compare1,Reset 源是TIMERC_Compare2
  • 设定TIMERB_Compare1 数据为半周期数据(Half period)+ T2,TIMERB_Compare2 数据为T3
__HAL_HRTIM_SetCompare(&hhrtim1, HRTIM_TIMERINDEX_TIMER_B, HRTIM_COMPAREUNIT_1,HALF_FRQUENCY+T2);
__HAL_HRTIM_SetCompare(&hhrtim1, HRTIM_TIMERINDEX_TIMER_B, HRTIM_COMPAREUNIT_2, T3);

  • 设定TIMERC_Compare1 数据为T2,TIMERB_Compare2 数据为半周期数据(Half period)+ T3
__HAL_HRTIM_SetCompare(&hhrtim1, HRTIM_TIMERINDEX_TIMER_C, HRTIM_COMPAREUNIT_1, T2);
__HAL_HRTIM_SetCompare(&hhrtim1, HRTIM_TIMERINDEX_TIMER_C, HRTIM_COMPAREUNIT_2,HALF_FRQUENCY+T3);

实测波形:
PWM 波形参数设定如下:
Timer 时钟:2.048GHz
PWM 频率:100KHz
T1:500ns
T2:1000ns
T3:300ns
Timer A 未加死区波形:


Timer A 加入死区时间波形:


对应的代码:STM32F334_LLC_SR
更多实战经验
请看:【ST MCU实战经验汇总贴】



沙发
mmuuss586| | 2015-9-10 19:38 | 只看该作者

做数字电源不错;

使用特权

评论回复
板凳
hitaowei| | 2015-9-13 16:55 | 只看该作者
版主你好,我在ST官网看到的这个评估板,STEVAL-ISA147V2 500 W fully digital AC-DC power supply (D-SMPS) based on STM32F334C8,电路图,用户手册什么的都能找得到,请问一下相关的代码是开源的吗?如果是请问在哪里下载。谢谢

使用特权

评论回复
地板
596142041| | 2015-9-13 22:02 | 只看该作者
同楼上,源代码开源不

使用特权

评论回复
5
殷佳俊| | 2020-8-19 14:55 | 只看该作者
怎么更新占空比

使用特权

评论回复
6
香水城|  楼主 | 2020-8-19 17:45 | 只看该作者

设置合适计数周期和比较值,在比较事件和周期事件时进行置1或清零输出实现占空比的调节。
这点跟STM32其它非高精度定时器的实现原理有点不一样。

使用特权

评论回复
7
zeshoufx| | 2020-8-20 09:19 | 只看该作者
谢谢分享【LLC+SR的高精度Timer波形产生】

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:意法半导体(中国)投资有限公司
简介:STM32技术专家

596

主题

17108

帖子

289

粉丝