1、引言
在《高精度定时器如何输出零占空比与满占空比 PWM 波形》一文中,我们分享了在高精度定时器中 PWM 输出零占空比和满占空比的方法,但是在实际的应用中还会存在零占空比和满占空比连续切换的情况,在原有的 PWM 发波方式上,若是采样 up-down count 模式的话要实现这种连续切换会存在一些问题,本文将分析相关问题,并给出更加合适的方案来实现 PWM 零-满占空比的连续切换。
2、Up count 模式下零-满占空比 PWM 切换
在 STM32G474 的高精度定时器中,up count 模式下,零-满占空比的输出方式以及连续切换可以直接实现,具体参考下图以及说明。注意以下的示例中,比较寄存器和周期寄存器的赋值都需要满足芯片用户手册中对赋值的限制,具体参见 RM0440 中 Period and compare registers min and max values 的说明。
2.1. 边沿对齐模式
PWM 发波配置:
- PWM Set source :PER event
- PWM Reset source:CMPx event (x=1 or 3)
PWM 发波动作:
- 占空比 0%: CMPx = 0
- 占空比 100%: CMPx > PER
- 其他占空比: CMPx = M
2.2. 非边沿对齐模式
PWM 发波配置:
- PWM Set source :CMPx event (x=1 or 3)
- PWM Reset source:CMPy event
PWM 发波动作:
- 占空比 0%:CMPx > PER,CMPy = 0
- 占空比 100%:CMPx = 0,CMPy > PER
- 其他占空比:CMPy - CMPx = M
阅读全文