动作控制模块
动作控制模块,触发产生 动作的信号为计数器功能模块产生的信号。所有的信号对 A、B 通道均有效。各信号描述如下:
- _CNT_Z,计数器数值达到 0 时产生;
- _CNT_PRD ,计数器数值达到 _CNT_PRDV时产生;
- _CNT_UAV,计数器递增计数达到 _CNT_AV时产生;
- _CNT_DAV,计数器递减计数达到 _CNT_AV时产生;
- _CNT_UBV,计数器递增计数达到 _CNT_BV时产生;
- _CNT_DBV,计数器递减计数达到 _CNT_BV时产生。
在 _CNT_UBV/ DBV 所触发的动作为无动作时,控制器则跳过 CMPB 的动作控制,进行 _CNT_UAV/DAV 的动作控制。各信号触发的动作优先级如下:
- _CNT_UBV/DBV 所触发的动作优先级最高。
- _CNT_UAV/DAV 所触发的动作优先级其次。
通过配置寄存器 A_ACT、B_ACT,可以在各信号上执行以下动作类型:
- 置1: 输出信号设置为高电平;
- 置0: 输出信号设置为低电平;
- 翻转: 输出信号进行翻转,若当前信号为高,动作执行将 信号设置为低电平;
- 无操作: 输出信号无变化,维持现有的信号。
举例说明:假设 _CHA 动作满足以下条件,可以得出 信号示例:
- 计数器递增计数,_CNT_BV = 0x2,_CNT_PRD = 0x6;
- _CHA 的动作设定:
- A_ACT_CNTZ = 0x2:置1
- B_ACT_CNTUBV = 0x1:置0
- 其他的动作设定则为无动作。
中,生成的占空比则为2/7 ≈ 28.5%。
图 1. 信号示例
软件强制控制信号
软件强制控制信号分为两种:
- 非持续的软件强制控制信号:信号非持续。若有下一个动作控制信号出现,则由下个控制信号控制 EPWM 的动作。
- 持续的软件强制控制信号:信号持续。即使下一个动作控制信号出现,由于软件强制控制信号优先级最高,而且此信号为持续性的,所以屏蔽后续的控制信号,仍然由持续的软件强制控制信号控制
EPWM 的动作。
- 控制 动作的类型包括置1、置0。
- 如需由其他信号控制 的动作,则关闭此功能。
动作控制信号优先级
动作控制信号中,软件强制控制信号的优先级始终最高,其他信号的优先级在不同的计数模式下,排列会有所差异,具体动作控制信号优先级如下。当同时出现多个动作控制信号时,按照优先级最高的控制信号执行机制。
递增计数模式,优先级排列:
优先级 | 递增阶段 |
---|---|
1(最高) | 软件强制控制信号 |
2 | _CNT_UB/ _CNT_DB |
3 | _CNT_UA/ _CNT_DA |
4 | _CNT_PRD |
5(最低) | _CNT_Z |
注: _CNT_BV 对应产生的 _CNT_UB/ _CNT_DB 信号会影响 _CNT_Z 或 _CNT_PRD上本应该发生的动作,因此软件需尽量避免 _CNT_BV = 0 或 PRD 值的情况 。