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%
软件强制控制信号
软件强制控制信号分为两种:
- 非持续的软件强制控制信号:信号非持续。若有下一个动作控制信号出现,则由下个控制信号控制 EPWM 的动作。
- 持续的软件强制控制信号:信号持续。即使下一个动作控制信号出现,由于软件强制控制信号优先级最高且信号持续,所以屏蔽后续的控制信号,仍然由持续的软件强制控制信号控制
EPWM 的动作。
- 控制 EPWM 动作的类型包括置 1、置 0。
- 如需由其他信号控制 EPWM 的动作,则关闭此功能。
动作控制信号优先级
动作控制信号中,软件强制控制信号的优先级始终最高,其他信号的优先级在不同的计数模式下,排列会有所差异,动作控制信号优先级具体如下。当同时出现多个动作控制信号时,按照优先级最高的控制信号执行机制。
递增计数模式,优先级排列:
优先级 | 递增阶段 |
---|---|
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 值的情况 。