• 资料介绍
  • 在线预览
  • 相关推荐
申请入驻 产业图谱

LAT1383 高精度定时器PWM输出零或满占空比话题

03/19 11:32
724
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

LAT1383 高精度定时器PWM输出零或满占空比话题

444.57 KB

引言

在数字能源产品的应用控制中,无论调频还是调宽方式,在有些情况下需要 PWM 输出零(0%)或是满(100%)占空比的波形,但使用 STM32G474 的高精度定时器时,由于对CMPx(x=1/2/3/4)的赋值有限制,CMPx 的值必须大于 3 个 fHRTIMclock 值且小于(定时器周期值-3*fHRTIMclock),导致有人误以为无法通过修改 CMP 而输出零或是满占空比波形,本文将介绍在 STM32G474 中如何应用高精度定时器实现零和满占空比波形的输出。

Up count 模式下 PWM 的输出

在 STM32G474 的高精度定时器中,CMP1 和 CMP3 是可写 0 的,在 up count 计数模式下,寄存器预加载使能,设定 PER 事件触发寄存器更新。

Up-down count 模式下 PWM 的输出

在 up-down count 计数模式下,寄存器预加载使能,设定 counter = 0 事件触发寄存器更新,可以通过如下方式实现零占空比。

软件控制 PWM 输出零/满占空比

在没有为 PWM 输出设置 SET 与 RESET 触发事件,或是 CMPx 的值大于 PER 值的情况下,将不会发生让 PWM 输出状态改变的硬件事件,那么完全可以通过软件触发方式来控制 PWM 的输出高或是低电平,对应的寄存器为 HRTIM_SETx1R(x = A to F)中的 SST 位和 HRTIM_RSTx1R (x = A to F)中的 SRT。

使用 SST/SRT 时,需要注意的是该位不能被预加载,置位后将立即生效,使 PWM 的电平发生变化,如果应用中对 PWM 翻转动作点有严格限制,比如必须在计数器为 0 的时刻发生变化,则使用该方法比较难以实现要求。

小结

本篇结合高精度定时器的 up 和 up-down 计数方式,分别给出了如何输出零占空比和满占空比 PWM 波形的方法,以及各种方法在应用时的注意事项。

在线预览

相关推荐