你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

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

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

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

}DR9J}]I6NO(W(I%A%AQ4AG.png

为了减小开关时的交叠,人们提出了零电流开关(ZCS)和零电压开关(ZVS)两种软开关的方法。对于 ZCS:使开关管的电流在开通时保持在零,在关断前使电流降到零。对于 ZVS:使开关管的电压在开通前降到零,在关断时保持为零。

实际应用中一般是在变压器源边 ZVS 打开,而在副边进行二次同步整流(SR--synchronous rectification)的 ZCS 的关闭操作,下图为 LLC + SR 基本硬件构图:

`TV[9L@U3YQ1%~}{)UHNO`J.png

电感 Lr,变压器电感 Lm,电容 Cr 构成 LLC 网络。
重载工作时谐振频率:

69~{}DGC(EK6DJP7_3VKG4S.png

轻载工作时谐振频率:

7G3F11N[%W8~W6JB768KEE5.png

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

T8GR}$@B%I_ODY4VBOYSIZU.png


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

[7S27IAAYQE0V)S@F9X5H.png


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

设定 Timer A 两路互补输出,死区时间可调,本例中死区时间为 T1
  1. pTimerCfg.DeadTimeInsertion = HRTIM_TIMDEADTIMEINSERTION_ENABLED;
  2. pDeadTimeCfg.RisingValue = T1;
  3. pDeadTimeCfg.FallingValue = T1;
复制代码

设定 Timer A 的 Set 源为 TIMERA_Compare1, Reset 源是 Master Timer 周期事件
  1. pOutputCfg.SetSource = HRTIM_OUTPUTSET_TIMCMP1;
  2. pOutputCfg.ResetSource = HRTIM_OUTPUTRESET_MASTERPER;
复制代码

设定 Timer B 为单路输出,Set 源为 TIMERB_Compare1,Reset 源是 TIMERB_Compare2
  1. pOutputCfg.SetSource = HRTIM_OUTPUTSET_TIMCMP1;
  2. pOutputCfg.ResetSource = HRTIM_OUTPUTRESET_TIMCMP2;
复制代码

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

设定 TIMERC_Compare1 数据为 T2,TIMERB_Compare2 数据为半周期数据(Half period)+ T3
  1. __HAL_HRTIM_SetCompare(&hhrtim1, HRTIM_TIMERINDEX_TIMER_C, HRTIM_COMPAREUNIT_1, T2);
  2. __HAL_HRTIM_SetCompare(&hhrtim1, HRTIM_TIMERINDEX_TIMER_C, HRTIM_COMPAREUNIT_2,
  3. HALF_FRQUENCY+T3);
复制代码



收藏 评论0 发布时间:2022-2-24 21:06

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版