LAT1047
Local Application Tips
LAT1047 Rev 1.0 Feb. 2022
高精度定时器 Push-Pull 模式输出逻
关键字:高精度定时器, Push-Pull 模式
1. 引言
STM32G474 中高精度定时器的 PWM 输出支持 Push-Pull 模式,该模式可以用于 Push-
Pull 拓扑或是 LLC 拓扑的驱动,在使用该模式时需要遵循 RM 手册中给出的准则,否则输
出的波形将会出现异常
2. 问题描述
使用高精度定时器 Push-Pull 模式产生 PWM 输出的过程中,发现定时器 PWM 输出通
CH1 CH2 输出先后顺序存在疑问,在定时器使能后,有时 CH1 通道先输出,有时
CH2 通道先输出,按照手册中给出的例子理解,应该是 CH1 先输出,然后再是 CH2
出,如下图所示。
1. Push-Pull 模式 PWM 输出
然而实际在不同的情况下,输出波形并非如此,这是为什么呢?
LAT1047
LAT1047 - Rev 1.0 page 2/6
2.1. 问题解释
2.1.1. Push-Pull 模式工作原理
Push-Pull 模式下,CH1 CH2 通道的输出都是来自 CrossBar 单元产生的波形,但是
波形输出到哪一个通道,是由定时器内部一个称作的 Push-Pull Logic 的单元来控制的,如
2 所示,
Push-Pull Logic 单元的输出为 1 时,CH1 通道输出 CrossBar 单元产生的波形
CH2 的电平保持在 inactive 状态;
Push-Pull Logic 单元的输出为 0 时,CH2 通道输出 CrossBar 单元产生的波形
CH1 的电平保持在 inactive 状态。
2. Push-Pull 模式原理框
Push-Pull Logic 单元的工作原理为:初始默认情况下 Push-Pull Logic 单元的输出为
低,当定时器的计数达到周期值(Roll-over event)或是定时器被外部事件复位(reset)时,
Push-Pull Logic 单元输出将出现翻转,从而实现 CH1 CH2 的交替输出。
2.1.2. Push-Pull 模式输出实例
通过以上的分析,Push-Pull 模式下的输出取决于两个方面
CrossBar 输出波形的产生方式
Push-Pull Logic 输出状态
下面通过两个实例说明
实例 1CH1 先输出,CH2 后输出,关键配置如下:
Timer A up count
TA1/TA2 独立输出
Push-Pull 模式使能
TA1 Set sourceTimer A Period 事件
TA1 Reset source Timer A CMP1 事件
TA2 Set sourceTimer A period 事件
TA2 Reset source Timer A CMP1 事件
CMP1 = 15000PER = 40000
实测波形如图 3 所示。C1/C2 分别代表 CH1 CH2C3 为某同步的固定输出波形,用
来作为参考比较 C1/C2 的输出时间。