This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F280039: EPWM的CBC保护配置,为什么保护触发后,还会有零散的一个驱动打出。恢复的时候也是,不连续恢复

Part Number: TMS320F280039

您好!这是一个H桥变换器拓扑,目前做电池到母线的降压放电。二通道是BUCK的主控驱动。电压采样连接到比较器的输入上。目前保护触发阈值是50V

如图所示,增加电压输出到52V之后,驱动脉宽先变窄,然后过了几十us后,又打出一个不完整的驱动,请问这是为什么?

将电压下降到49V后,恢复波形如图:

驱动的恢复也不是连贯的,请问这是为什么呢?

配置代码:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/* configure DigitalCompare SubModule. */
void InitEPWMDigitalCompare(uint16_t Index)
{
// select which trip sourse as the input of DC submodule. TRIP4 -> DCAH & TRIP4 -> DCBH
EPWM_enableDigitalCompareTripCombinationInput(EpwmBspCfg[Index].Base, EpwmBspCfg[Index].DCInputSig, EPWM_DC_TYPE_DCAH);
EPWM_enableDigitalCompareTripCombinationInput(EpwmBspCfg[Index].Base, EpwmBspCfg[Index].DCInputSig, EPWM_DC_TYPE_DCBH);
// Configure the DCA/DCB path to be unfiltered and asynchronous
EPWM_setDigitalCompareEventSource(EpwmBspCfg[Index].Base, EPWM_DC_MODULE_A, EPWM_DC_EVENT_2, EPWM_DC_EVENT_SOURCE_ORIG_SIGNAL);
EPWM_setDigitalCompareEventSource(EpwmBspCfg[Index].Base, EPWM_DC_MODULE_B, EPWM_DC_EVENT_2, EPWM_DC_EVENT_SOURCE_ORIG_SIGNAL);
}
/* configure TripZone SubModule */
void InitEPWMTripZone(uint16_t Index)
{
EPWM_enableTripZoneSignals(EpwmBspCfg[Index].Base, (EPWM_TZ_SIGNAL_DCAEVT2 | EPWM_TZ_SIGNAL_DCBEVT2));// // ePWMx Cycle-by-Cycle
// Trigger event when DCAH/DCBH is high
EPWM_setTripZoneDigitalCompareEventCondition(EpwmBspCfg[Index].Base, EPWM_TZ_DC_OUTPUT_A2, EPWM_TZ_EVENT_DCXH_HIGH); //A2 10.17A2
EPWM_setTripZoneDigitalCompareEventCondition(EpwmBspCfg[Index].Base, EPWM_TZ_DC_OUTPUT_B2, EPWM_TZ_EVENT_DCXH_HIGH); //
EPWM_setTripZoneAction(EpwmBspCfg[Index].Base, EPWM_TZ_ACTION_EVENT_DCAEVT2, EPWM_TZ_ACTION_LOW);// Configure ePWM1A to output LOW on TZA TRIP
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX