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.

TMS320F280039C: Replacement for SYNCOSEL Directive in F28003x Series MCUs

Part Number: TMS320F280039C
Other Parts Discussed in Thread: CONTROLSUITE, C2000WARE, SYSCONFIG

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:

    • Opened a .syscfg file in a F28003x project.
    • Added an EPWM module
    • Modified the "Sync Out Pulse" option in the "EPWM Time Base" GUI.
    • Clicked on board.c in SysConfig to see what code changed
    • searched for the "EPWM_enableSyncOutPulseSource" function in the TRM using Ctrl F since this changed in board.c
    • Found the SYNCOUTEN register is modified by this function
    • Searched for SYNCOUTEN and found EPWMSYNCOUTEN in the TRM and found the corresponding bit that should be modified

    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