STMCU小助手
发布时间:2022-8-1 22:21
|
1. 引言 STM32G474 中高精度定时器的 PWM 输出支持 Push-Pull 模式,该模式可以用于 PushPull 拓扑或是 LLC 拓扑的驱动,在使用该模式时需要遵循 RM 手册中给出的准则,否则输出的波形将会出现异常。% W8 y2 _# m" m* ?8 [. S' b # j8 u- P2 M2 x$ n# d+ u , `* }1 w+ u5 v 2. 问题描述1 N' \+ [3 e( Y) x' R8 q 使用高精度定时器 Push-Pull 模式产生 PWM 输出的过程中,发现定时器 PWM 输出通道 CH1 与 CH2 输出先后顺序存在疑问,在定时器使能后,有时 CH1 通道先输出,有时CH2 通道先输出,按照手册中给出的例子理解,应该是 CH1 先输出,然后再是 CH2 输出,如下图所示。2 m+ M# A f: U5 N ! k$ s9 B& M6 n0 ^& p. d
) w( K3 h. e" C4 y6 y 然而实际在不同的情况下,输出波形并非如此,这是为什么呢? 2 v7 W% {5 q/ E( l' E & S4 j/ V" Z) ?4 l1 J. s 2.1. 问题解释 2.1.1. Push-Pull 模式工作原理3 c5 S) H% n- J1 {& T9 E* r) I( s Push-Pull 模式下,CH1 与 CH2 通道的输出都是来自 CrossBar 单元产生的波形,但是波形输出到哪一个通道,是由定时器内部一个称作的 Push-Pull Logic 的单元来控制的,如图 2 所示, ^9 i! u- q f8 p • 当 Push-Pull Logic 单元的输出为 1 时,CH1 通道输出 CrossBar 单元产生的波形,CH2 的电平保持在 inactive 状态;. ]- _% @4 M; S6 X# k7 h • 当 Push-Pull Logic 单元的输出为 0 时,CH2 通道输出 CrossBar 单元产生的波形,CH1 的电平保持在 inactive 状态。6 u" x" e9 e5 R 5 d4 H* c" s4 o
) ^# T: c# U: G/ p" W% y( F! B Push-Pull Logic 单元的工作原理为:初始默认情况下 Push-Pull Logic 单元的输出为低,当定时器的计数达到周期值(Roll-over event)或是定时器被外部事件复位(reset)时,Push-Pull Logic 单元输出将出现翻转,从而实现 CH1 与 CH2 的交替输出。 ) s2 i/ a. I* Q8 ]& M 4 q l$ W( {7 I 完整版请查看:附件; Q5 t. B( x' S% s & i: p! G1 t; h9 O3 W1 d ( t |/ Q# M7 X0 h# g |
LAT1047高精度定时器Push_Pull模式输出逻辑_v2.pdf
下载606.82 KB, 下载次数: 21
经验分享 | 利用TIMER定时和捕获功能实现编解码演示
STM32 LSE 不起振排查指南:五大核心原因与快速解决方案
我心中的ST中文论坛
经验分享 | 利用STM32 TIMER实现同频跟随输出示例
2025软件工具兔哥知道
经验分享 | 利用STM32 TIMER实现同频跟随输出示例
经验分享 | 一个基于TIMER事件的中断响应话题_续
经验分享 | 一个基于TIMER事件的中断响应话题
11张图学会STM32定时器!
经验分享 | STM32U5系列TIMER+DMA+DAC应用演示
微信公众号
手机版