Hi all TI experts,
I'm currently working on implementing EPWM synchronization using the AM2431 on my product board. I've successfully synchronized EPWM0/1/2, but I'm facing issues synchronizing EPWM3 with the preceding signals. According to the datasheet, EPWM0/1/2 can sync without additional settings, but EPWM3 requires configuration of the register CTRLMMR_EPWM3_CTRL[10-8] SYNCIN_SEL.

I've referred to the CTRLMMR_EPWM3_CTRL register and attempted to directly write values to it, but I haven't been successful in achieving synchronization for EPWM3.

uint32_t addr = CSL_MAIN_CTRL_MMR_CFG0_EPWM3_CTRL_PROXY; uint32_t value = 1; uint32_t registerValue = *(volatile uint32_t *) ((uintptr_t) addr); registerValue &= ~CSL_MAIN_CTRL_MMR_CFG0_EPWM3_CTRL_SYNCIN_SEL_MASK; registerValue |= ((value << CSL_MAIN_CTRL_MMR_CFG0_EPWM3_CTRL_SYNCIN_SEL_SHIFT) & CSL_MAIN_CTRL_MMR_CFG0_EPWM3_CTRL_SYNCIN_SEL_MASK); *(volatile uint32_t *) ((uintptr_t) addr) = registerValue;
Could someone assist in verifying where I might have made an error in my implementation?
Best regard,
Larry