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.

CCS/TMS320F28027: PROBLEM WITH EPWM PULSES

Part Number: TMS320F28027

Tool/software: Code Composer Studio

hello sir,

I am currently working over PWM using ADC. I am trying to get the pulses to power full bridge dc/dc converter.

I am able to get the pulses for switches with deadband too. the main problem is that , when I am trying to implement pulse shutdown feature, one channel is getting shutdown and other channel is getting High.

I have found that I used PWM_deadbandpolarity() command, to get out of phase betwwen the two channels and this is causing the other channel not to get shutdown.

Is there any other way I can get out of phase between the two channels without using the above command

please help me

Thankyou

  • The dead time module should not be reconfigured during PWM operation.

    I configured EPwm so that I used A and B signals coming from Action Qualifier module into dead-time module.

    For enable/disable I then used continuous software force feature of Action Qualifier to force A and B signals to desired state

    This is an excerpt from my configuration:

    EPwm initialization:

        EPwm1Regs.AQCTLA.bit.CAU = AQ_SET;      // set output on CMPA_UP
        EPwm1Regs.AQCTLA.bit.CAD = AQ_CLEAR;    // clear output on CMPA_DOWN
        EPwm1Regs.AQCTLB.bit.CAU = AQ_SET;      // set output on CMPA_UP
        EPwm1Regs.AQCTLB.bit.CAD = AQ_CLEAR;    // clear output on CMPA_DOWN
        
        EPwm2Regs.AQCTLA.bit.CAU = AQ_SET;      // clear output on CMPA_UP
        EPwm2Regs.AQCTLA.bit.CAD = AQ_CLEAR;    // set output on CMPA_DOWN
        EPwm2Regs.AQCTLB.bit.CAU = AQ_SET;      // set output on CMPA_UP
        EPwm2Regs.AQCTLB.bit.CAD = AQ_CLEAR;    // clear output on CMPA_DOWN

        // Dead Time
        EPwm1Regs.DBCTL.bit.IN_MODE = 2;    //
        EPwm1Regs.DBCTL.bit.POLSEL = 2;     // active high complementary mode
        EPwm1Regs.DBCTL.bit.OUT_MODE = 3;   // dead band on both outputs

        EPwm2Regs.DBCTL.bit.IN_MODE = 2;    //
        EPwm2Regs.DBCTL.bit.POLSEL = 2;     // active high complementary mode
        EPwm2Regs.DBCTL.bit.OUT_MODE = 3;   // dead band on both outputs

    Software disable:
        EPwm1Regs.AQCSFRC.bit.CSFA = 1;
        EPwm1Regs.AQCSFRC.bit.CSFB = 2;
        EPwm2Regs.AQCSFRC.bit.CSFA = 1;
        EPwm2Regs.AQCSFRC.bit.CSFB = 2;

    Software enable:
        EPwm1Regs.AQCSFRC.bit.CSFA = 0;
        EPwm1Regs.AQCSFRC.bit.CSFB = 0;
        EPwm2Regs.AQCSFRC.bit.CSFA = 0;
        EPwm2Regs.AQCSFRC.bit.CSFB = 0;

    Best regards, Mitja