www.ti.com

Action-Qualifier (AQ) Submodule

Example 2-3. Code Sample for Figure 2-22

//Initialization Time

//= = = = = = = = = = = = = = = = = = = = = = = =

EPwm1Regs.TBPRD = 600;

//

Period = 601 TBCLK counts

EPwm1Regs.CMPA.half.CMPA = 350;

//

Compare A = 350 TBCLK counts

EPwm1Regs.CMPB = 200;

//

Compare B = 200 TBCLK counts

EPwm1Regs.TBPHS = 0;

//

Set Phase register to zero

EPwm1Regs.TBCTR = 0;

//

clear TB counter

EPwm1Regs.TBCTL.bit.CTRMODE = TB_UP;

 

 

EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE;

//

Phase loading disabled

EPwm1Regs.TBCTL.bit.PRDLD = TB_SHADOW;

 

 

EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_DISABLE;

EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; //

TBCLK = SYSCLKOUT

EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV1;

 

 

EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;

 

EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;

 

EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; // load on TBCTR = Zero EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; // load on TBCTR = Zero EPwm1Regs.AQCTLA.bit.PRD = AQ_CLEAR;

EPwm1Regs.AQCTLA.bit.CAU = AQ_SET;

EPwm1Regs.AQCTLB.bit.PRD = AQ_CLEAR;

EPwm1Regs.AQCTLB.bit.CBU = AQ_SET;

//

//Run Time

//= = = = = = = = = = = = = = = = = = = = = = = =

EPwm1Regs.CMPA.half.CMPA

= Duty1A;

//

adjust

duty

for

output

EPWM1A

EPwm1Regs.CMPB = Duty1B;

 

//

adjust

duty

for

output

EPWM1B

Figure 2-23. Up-Count, Pulse Placement Asymmetric Waveform With Independent Modulation on

EPWMxA

TBCTR

TBPRD value

EPWMxA

Z

T

Z T

Z T

EPWMxB

APWM frequency = 1/( (TBPRD + 1 ) × TTBCLK )

BPulse can be placed anywhere within the PWM cycle (0000 - TBPRD)

CHigh time duty proportional to (CMPB - CMPA)

DEPWMxB can be used to generate a 50% duty square wave with frequency = 1/2 × ( (TBPRD + 1 ) × TBCLK )

Example 2-4contains a code sample showing initialization and run time for the waveforms Figure 2-23. Use the code in Example 2-1to define the headers.

SPRU791D–November 2004–Revised October 2007

ePWM Submodules

45

Submit Documentation Feedback

Page 45
Image 45
Texas Instruments 28xxx, TMS320x28xx manual Example 2-3. Code Sample for Figure, Tbclk = Sysclkout