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.

TMS320F28379D: Sysconfig EPWM settings for generating complementary output

Part Number: TMS320F28379D
Other Parts Discussed in Thread: SYSCONFIG, C2000WARE

I want to use the Sysconfig EPWM feature to generate complementary outputs with dead band. I have done settings according to my understanding but the output is not generated in the complementary mode although there is some dead band between the outputs. I have done settings for 20 KHz output with 2 uSec deadband for both rising edge and falling edge delay. The generated output on EPWM1A( Yellow) and EPWM1B(Blue) are shown below:

The settings from Sysconfig tool are as shown below:

Please let me know that what is wrong with the above configurations and how to fix it.

  • Are you trying to invert it using deadband or opposing Actions?

  • I want to use a safer approach because these will be driving half bridge so there should be no chance of having logic high on both outputs at the same time. Please advise the right approach.

  • Then I would use the EPWM DEADBAND module. that blocks the signal in HW from those scenarios.

    Can you look at the EPWM deadband example in the epwm folder?

    This is the example: dev.ti.com/.../node

  • Actually I intend to do it via sysconfig tool. Do you find something wrong in the settings that I sent?. I will look into your referred example when I get back to office tomorrow.

  • The example is BUILD ON TOP OF SYSCONFIG! It is in our latest SDK C2000WARE 4.01

  • Hi Nima Eskandari,

    In-fact I had explored the epwm_ex8_deadband before writing this issue on this portal. I had observed that in this example the time base, dead band mode and action qualifiers etc all have been programmed manually. There seems to be no settings done for EPWM Time Base, Counter Compare and Action Qualifiers etc  in that example via SysConfig tool. After studying the configurations in your code the following settings have been done to achieve dead band output. I have verified that the output is complementary with dead band. Kindly review if these settings are good to go. 

  • Your settings look good! 

    The only things is:

    Don't you want the falling edge delay input to be: "Input signal is the output of Rising Edge delay"?

    Nima

  • I get following error when trying your suggestion:

    Also in your example code ePWMA is set as the source for both rising edge delay and falling edge delay:

    void setupEPWMActiveHighComplementary(uint32_t base)
    {
        //
        // Use EPWMA as the input for both RED and FED
        //
        EPWM_setRisingEdgeDeadBandDelayInput(base, EPWM_DB_INPUT_EPWMA);
        EPWM_setFallingEdgeDeadBandDelayInput(base, EPWM_DB_INPUT_EPWMA);
    
        //
        // Set the RED and FED values
        //
        EPWM_setFallingEdgeDelayCount(base, 200);
        EPWM_setRisingEdgeDelayCount(base, 400);
    
        //
        // Invert only the Falling Edge delayed output (AHC)
        //
        EPWM_setDeadBandDelayPolarity(base, EPWM_DB_RED, EPWM_DB_POLARITY_ACTIVE_HIGH);
        EPWM_setDeadBandDelayPolarity(base, EPWM_DB_FED, EPWM_DB_POLARITY_ACTIVE_LOW);
    
        //
        // Use the delayed signals instead of the original signals
        //
        EPWM_setDeadBandDelayMode(base, EPWM_DB_RED, true);
        EPWM_setDeadBandDelayMode(base, EPWM_DB_FED, true);
    
        //
        // DO NOT Switch Output A with Output B
        //
        EPWM_setDeadBandOutputSwapMode(base, EPWM_DB_OUTPUT_A, false);
        EPWM_setDeadBandOutputSwapMode(base, EPWM_DB_OUTPUT_B, false);
    
    }
    
    

    I tried following the same settings via Sysconfig.

  • Your configuration is correct! I will check on the other one internally.