本帖最后由 cr315 于 2023-11-8 09:51 编辑
1. 引言
在高精度定时器中,可以使用外部事件来对 PWM 输出进行封锁,然后可自动恢复;在
高级控制定时器中,可以使用 Break 或是 Clr_input 来对 PWM 输出进行封锁, 然后可自动恢
复,其中 Break 必须结合 AOE 置位来实现自动恢复。虽然都可以实现封波后的自动恢复,
但是在二者还是存在一些区别。
2. PWM 封波-自动恢复原理分析
在高精度定时器中,通过配置 PWM 的 Set 与 Reset 事件,当 Set/Reset 事件发生时,
PWM 输出做出对应的响应。要实现封波-自动恢复,只需配置合适的 Reset 事件,Reset 发
生时,触发 PWM 输出 inactive 电平,当 Reset 事件消失后,PWM 将在下个 Set 事件点重
新输出。
在高级控制定时器中,PWM 的工作方式有 PWM_Mode1 与 PWM_Mode2,基于定时
器比较器的值与当前 Counter 的值来结合 PWM 模式来确定输出电平的状态。要实现封波-
自动恢复,通过 Break(with AOE)或是 Clr_input 功能,当 Break 信号或是 Clr_input 信号电
平有效时,PWM 输出会被封锁,此时端口电平跟当时的 PWM 配置有关;当 Break 信号或
是 Clr_input 信号电平无效时,PWM 将在下个 UEV(更新事件)或是新的 PWM 的周期恢复输
出。
下面通过实际的测试与波形来详细说明。
3. 高精度定时器的 “封波-自动恢复”
使用的是外部事件 1(EEV1)关联外部过流故障信号,利用 EEV1 来封锁 PWM。配置
如下(测试中使用的配置是高电平触发事件):
使用以上配置时,只要故障信号持续高电平的时间和 PWM 的 Set 事件不重叠,那么定
时器在下个 PWM 周期能正常输出 PWM,如下图所示。
4. 高级控制定时器的“封波-自动恢复”
高级控制定时器中,break 为电平有效模式(测试中使用的配置是高电平触发 Break)。
当出现 Break 信号出现高电平时,PWM 封波,如果 Break 信号高电平未跨周期,那么
在下个周期 PWM 能正常输出,如下图所示
5. 小结
综上以上的分析与实验结果:
• 高精度定时器封波基于事件触发,封波后,只要故障消失,则在下个触发来临时就
可以立即生效,恢复 PWM 输出。
• 高级控制定时器封波后,即使故障消失后,也到等到下个 UEV 事件或是新的 PWM
周期才能恢复 PWM 输出
|