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.

TMS320F28377D: not getting calculated EPWM interrupt

Part Number: TMS320F28377D
Other Parts Discussed in Thread: TMS320F28379D,

Hi,

I have developed my Fimware for TMS320F28379D using launchpad kit with ysstem clock of 200Mhz, configured PWM12 in up-down mode, TBPRD is 27777.

void InitPwm12(void)
{
EALLOW;
EPwm12Regs.TBPRD = 27777; //
EPwm12Regs.TBPHS.bit.TBPHS = 0x0000; // Phase is 0
EPwm12Regs.TBCTR = 0x0000; // Clear counter

EPwm12Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN; // Count up and down
EPwm12Regs.TBCTL.bit.PHSEN = TB_ENABLE; // Disable phase loading
EPwm12Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; // Clock ratio to SYSCLKOUT
EPwm12Regs.TBCTL.bit.CLKDIV = TB_DIV1;

EPwm12Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;

EPwm12Regs.DBCTL.bit.IN_MODE = DBA_ALL;
EPwm12Regs.DBCTL.bit.POLSEL = DB_ACTV_HIC;
EPwm12Regs.DBCTL.bit.OUT_MODE = DB_FULL_ENABLE;

EPwm12Regs.DBFED.bit.DBFED= FED_TIME*SYSTEM_CLOCKOUT;
EPwm12Regs.DBRED.bit.DBRED= FED_TIME*SYSTEM_CLOCKOUT;

EPwm12Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
EPwm12Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
EPwm12Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO_PRD; // Load on Zero
EPwm12Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO_PRD;

#ifdef EPWM12_INT_ENABLE
EPwm12Regs.ETSEL.bit.INTSEL = ET_CTR_PRDZERO; // Select INT on Zero event
EPwm12Regs.ETSEL.bit.INTEN = 1; // Enable INT
EPwm12Regs.ETPS.bit.INTPRD = ET_1ST; // Generate INT on 3rd event*/
#endif
EDIS;
}

according to above setting interrupt should come on each zero and prd event, i.e.138.885usec which is i am getting on development kit.

we have designed our DSP board with TMS320F28377D. I loaded same firmware to this board and checked interrupt time it is 160uSec.

i compared system clock out on both my board and  launchpad, it is same 25Mhz(devided by 8 default division factor).

i also checked by changing TBPRD value to 55554 and according to that my interrupt time doubled to 320uSEc on my board and 280uSec on launchpad.

thanks in advance.

regard,

Nilesh