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: Synchronize ePWM1 with external signal connected at GPIO18

Part Number: TMS320F28379D


Tool/software:

Hi, 

I want to synchronize EPWM1A on external signal which I have given to GPIO18. But I am not able see synchronization between external signal and EPWM.

I am mapping GPIO18 to Inputxbar5 as below:

EALLOW;
InputXbarRegs.INPUT5SELECT = 0x12; // Map GPIO18 to INPUT5
GpioCtrlRegs.GPAMUX2.bit.GPIO18 = 0; // Set GPIO18 as GPIO
GpioCtrlRegs.GPADIR.bit.GPIO18 = 0; // configure as input
GpioCtrlRegs.GPAPUD.bit.GPIO18 = 0; // Disable pull-up
GpioCtrlRegs.GPAINV.bit.GPIO18 = 1; // Invert input
EDIS;

And I configuring EPWM1 in slave mode

EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; // Clock ratio to SYSCLKOUT
EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV1;
EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN; // Count up/down and down
EPwm1Regs.TBPRD = PQAB_TBPRD; // Set timer period

EPwm1Regs.TBCTL.bit.PHSEN = TB_ENABLE; // SLAVE, Enable phase SYNC
EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN; // Sync to external signal (GPIO18 I.E. SPICLK MAPPED TO INPUT5)
EPwm1Regs.TBPHS.bit.TBPHS = 0; // Phase is 0
EPwm1Regs.TBCTL.bit.PHSDIR = TB_UP;
EPwm1Regs.TBCTR = 0x0000; // Clear counter