Edit online

EPWM 动作控制模块

21 Nov 2024
Read time: 1 minute(s)

EPWM 动作控制模块,触发产生 EPWM 动作的信号为计数器功能模块产生的信号。所有的信号对 A、B 通道均有效。各信号描述如下:

  • EPWM_CNT_Z,计数器数值达到 0 时产生。
  • EPWM_CNT_PRD ,计数器数值达到 EPWM_CNT_PRDV 时产生。
  • EPWM_CNT_UA,计数器递增计数达到 EPWM_CNT_AV 时产生。
  • EPWM_CNT_DA,计数器递减计数达到 EPWM_CNT_AV 时产生。
  • EPWM_CNT_UB,计数器递增计数达到 EPWM_CNT_BV 时产生。
  • EPWM_CNT_DB,计数器递减计数达到 EPWM_CNT_BV 时产生。

EPWM_CNT_UB/ DB 所触发的动作为无动作时,控制器则跳过 CMPB 的动作控制,进行 EPWM_CNT_UA/DA 的动作控制。各信号触发的动作优先级见动作控制信号优先级

通过配置寄存器 EPWMA_ACT 和 EPWMB_ACT,可以在各信号上执行以下动作类型:

  • 置 1:EPWM 输出信号设置为高电平。
  • 置 0:EPWM 输出信号设置为低电平。
  • 翻转:EPWM 输出信号进行翻转,若当前信号为高,动作执行将 EPWM 信号设置为低电平。
  • 无操作:EPWM 输出信号无变化,维持现有的信号。

举例说明:假设 EPWM_CHA 动作满足以下条件,可以得出 EPWM 信号示例

  • 计数器递增计数,EPWM_CNT_BV = 0x2,EPWM_CNT_PRD = 0x6
  • EPWM_CHA 的动作设定:
    • EPWMA_ACT_CNTZ = 0x2:置 1
    • EPWMB_ACT_CNTUBV = 0x1:置 0
    • 其他的动作设定则为无动作

    EPWM 信号示例中,生成的占空比则为 2/7 ≈ 28.5%



    1. EPWM 信号示例

软件强制控制信号

软件强制控制信号分为两种:
  • 非持续的软件强制控制信号:信号非持续。若有下一个动作控制信号出现,则由下个控制信号控制 EPWM 的动作。
  • 持续的软件强制控制信号:信号持续。即使下一个动作控制信号出现,由于软件强制控制信号优先级最高且信号持续,所以屏蔽后续的控制信号,仍然由持续的软件强制控制信号控制 EPWM 的动作。
    • 控制 EPWM 动作的类型包括置 1、置 0。
    • 如需由其他信号控制 EPWM 的动作,则关闭此功能。

动作控制信号优先级

动作控制信号中,软件强制控制信号的优先级始终最高,其他信号的优先级在不同的计数模式下,排列会有所差异,动作控制信号优先级具体如下。当同时出现多个动作控制信号时,按照优先级最高的控制信号执行机制。

递增计数模式,优先级排列:

1. 动作控制信号优先级
优先级 递增阶段
1(最高) 软件强制控制信号
2 EPWM_CNT_UB/ EPWM_CNT_DB
3 EPWM_CNT_UA/ EPWM_CNT_DA
4 EPWM_CNT_PRD
5(最低) EPWM_CNT_Z
注: EPWM_CNT_BV 对应产生的 EPWM_CNT_UB/ EPWM_CNT_DB 信号会影响 EPWM_CNT_Z 或 EPWM_CNT_PRD 上本应该发生的动作,因此软件需尽量避免 EPWM_CNT_BV = 0 或 PRD 值的情况 。