EPWM 保护模块
Read time: 2 minute(s)
EPWM 保护模块提供了以下几大功能:
EPWM 初始值配置
通过寄存器可以配置 EPWM 的输出信号EPWM0/1/.../11_A 以及 EPWM0/1/.../11_B 在 EPWM 功能未使能的情况下的初始值,表示 EPWM 功能未使能时的初始状态。
以 EPWM0_A 信号为例,在 EPWM0 模块未使能的情况下,可以有以下的情况:
- 若 EPWM_A_INIT = 0x0,EPWM 模块未使能,EPWM0_A 输出低电平。
- 若 EPWM_A_INIT = 0x1,EPWM 模块未使能,EPWM0_A 输出高电平。
- 若 EPWM_A_INIT = 0x2/3,EPWM 模块未使能,EPWM0_A 输出为高阻态。
计数器停止计数时,通过配置以下寄存器,选择初始值控制:
- PAUSE_INI_SRC_EN,使能初始值控制全通路。使能时,EPWM 模块可以在计数器停止运行时,根据配置的初始值控制逻辑来设置输出信号的状态。
- 0x0:停止计数时,初始值只控制输出。
- 0x1:停止计数时,初始值控制全通路。
- PAUSE_INI_OUT_EN,停止计数是否插入初始值。该寄存器用于控制当计数器停止运行时,是否将配置的初始值插入到 EPWM 输出信号中。
-
0x0:未使能。
-
0x1:使能,初始值控制最后的输出。
-
场景 | PAUSE_INI_SRC_EN | PAUSE_INI_OUT_EN | 初始值控制逻辑 |
---|---|---|---|
配置 1 | 0x0 | 0x0 | EPWM_A_INIT 和 EPWM_B_INIT 寄存器配置值不生效。 |
配置 2 | 0x0 | 0x1 | 计数器停止计数时,EPWM_A_INIT 和 EPWM_B_INIT 控制输出。 |
配置 3 | 0x1 | 0x0 | 计数器停止计数时,PWM 输出取决于初始值以及输出模式配置。 |
配置 4 | 0x1 | 0x1 | 计数器停止计数时,PWM 输出取决于初始值配置,但当计数器恢复正常计数时,PWM 输出取决于初始值以及输出模式配置,直到下一次动作发生。 |
故障模式
EPWM 保护模块可以同时支持两种类型的故障模式:
-
可恢复故障模式:
- 当 EPWM_RFLT_ALL 有效,EPWM 模块立即执行故障操作,如果有使能中断模式,则产生 EPWM_RC_FALT_INT 中断。
- 当计数器计数复位至 0,若 EPWM_RFLT_ALL 信号变回无效状态,EPWM 的故障操作解除,EPWM 可以继续正常工作。
-
不可恢复故障模式:
- 当 EPWM_NRFLT_ALL 有效,EPWM 模块立即执行故障操作,如果有使能中断模式,则产生 EPWM_NRC_FALT_INT 中断。
- 当出现不可恢复的故障时,EPWM
一直处于故障操作的状态,不能修改。
不可恢复故障的消除,只能通过软件写寄存器消除此状态,才可以使得 EPWM 再次正常工作。
故障指示输入
故障指示的输入源来自引脚
GPIO、内部比较模块
CPM 和内部 SDFM
模块ADC
看门狗输出信号。这类输入信号经过 OR 逻辑可以得到 EPWM_RFLT_ALL 和 EPWM_NRFLT_ALL
信号,分别触发进入可恢复故障模式和不可恢复故障模式。
注: CPM 的故障输入以及 SDFM
的故障输入信号,固定为高电平有效,不可配置。
故障指示输入包括:
- 可恢复故障指示输入
图 1. EPWM 可恢复故障指示输入 - 不可恢复故障指示输入:
图 2. EPWM 不可恢复故障指示输入
故障操作
当故障指示输入有效时,EPWM 强制执行故障操作,EPWM 输出信号的故障操作包括:
注: 通过配置寄存器,软件可以强制
EPWM 输出执行故障操作。
-
EPWM 强制输出高电平
-
EPWM 强制输出低电平
-
EPWM 强制输出高阻态
-
无操作
故障延迟操作
EPWMA 和 EPWMB 的输出保护均支持保护延迟的操作,通过寄存器 EPWMA/B_FLT_PRTCT_DLY 控制,可以独立配置延迟 1/2/3/.../15 us。
故障中断
故障中断,由可恢复故障中断 EPWM_RC_FALT_INT 与不可恢复中断 EPWM _NRC_FALT_INT 进行或逻辑所得 EPWM_FALT_INT 信号。