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.
I'm migrating a project from F2803x to F28003x MCUs and encountered an issue with ePWM synchronization. The original MCU used `SYNCOSEL` with `TB_CTR_ZERO` for syncing ePWM modules at counter zero. This directive seems to be absent in F28003x (f28003x_epwm.h). the SYNCOSEL directive seems to have been replaced with "rsvd1" instead.
The F2803x uses the controlSUITE driver and the SYNCOSEL directives can be seen in the image below
The F28003x uses the C2000Ware driver, however, the SYNCOSEL directives seems to have been replaced with "rsvd1"
Could you advise on:
1. The equivalent feature in F28003x for ePWM module synchronization, especially for syncing at counter zero?
2. Any alternative methods or configurations recommended for this purpose?
Just for context, I am trying to convert this line of code from the old MCU to the new MCU
(*ePWM[n]).TBCTL.bit.SYNCOSEL = TB_CTR_ZERO; // Used to sync EPWM(n+1) "down-stream" - sends a sync output pulse at timer = 0
Thank you in advance!!
Hello Jin Chun Tan,
This is accomplished on F28003x using the EPWMSYNCOUTEN register, so your equivalent code would probably look like this:
(*ePWM[n]).EPWMSYNCOUTEN.bit.ZEROEN = 1;
I performed the following steps to figure this out:
You can perform a similar set of steps for most of your migration needs. Let me know if you have any additional questions.
Thank you,
Luke