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.

TMS320F28377S: EPWM generating high pulse during DSP power up.

Part Number: TMS320F28377S
Other Parts Discussed in Thread: SYSCONFIG

We have experienced some transistors switches getting damaged during system power up. While investigating the reason we found that the EPWM output has a high pulse of around 500 mSec. This pulse is the most probable cause of the issue. Please refer to the below picture for the pulse captured on the EPWMB output of the EPWMB module that is configured on pin 163 of the device:

I think that this is happening since I am enabling the time base clock of the module some time after its initialization( The system needs to perform some checks before enabling the EPWMS).Till that time the outputs might be in some complementary state otherwise there should have been switching at the configured frequency of 16KHz. The question is then how to initialize the EPWM outputs in tripped state. I have configured the EPWMs using the SYSCONFIG tool. I am not aware if the SysConfig allows initializing the EPWMs in tripped condition. Or should I just enable the time base clock of the EPWM module before initialization and immediately force a software trip. What is the right approach?.

  • Hi Asad,

    I am not aware if the SysConfig allows initializing the EPWMs in tripped condition. Or should I just enable the time base clock of the EPWM module before initialization and immediately force a software trip. What is the right approach?.

    We don't have the ability to force a trip zone event through sysconfig, but I will suggest adding this functionality. You can always call the below lines in your main.c file before you call board_init() (where the pwm initialization occurs). This way the epwm outputs will always be low even when you configure your deadband in a complementary state. 

    EPWM_setTripZoneAction(myEPWM1, EPWM_TZ_ACTION_EVENT_TZA, EPWM_TZ_ACTION_LOW); 

    EPWM_setTripZoneAction(myEPWM1, EPWM_TZ_ACTION_EVENT_TZB, EPWM_TZ_ACTION_LOW); 
    EPWM_forceTripZoneEvent(myEPWM1, EPWM_TZ_FORCE_EVENT_CBC);
    * Please change the base within the function calls to match your base name. 
    Best Regards,
    Marlyn
  • As you have mentioned it will be useful if SysConfig allows initializations of EPWMS in tripped state. Thank you very much for your support.