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.

LAUNCHXL-F28379D: ePWM jitter in HRPWM mode in example program hrpwm_deadband_sfo_v8.c

Part Number: LAUNCHXL-F28379D
Other Parts Discussed in Thread: C2000WARE

Hi.  I am studying how to use the HR mode in the F28379D.  I am looking at the example program hrpwm_deadband_sfo_v8.c in C2000Ware_2_01_00_00_Software.

When the HR mode is disabled (HR_ENABLED set to 0) I do not see jitter between ePWM1A and ePWM2A.

When the HR mode is enabled(HR_ENABLED set to 1) I see 60ns of jitter between ePWM1A and ePWM2A.

The only changes I made to the program were to set temp_PHS2 = 0 and temp_REM2 = 0, to eliminate the phase offset so I could make the jitter more easily captured on the scope.

I am designing a high speed switching device operating up to 10MHz (100 ns period), so 60ns of jitter is completely unworkable.  How can I keep multiple HRPWMs in sync, without jitter?

  • Correction:  There is 40ns of jitter (not 60ns), or +/- 2 cycles.  

    I did see this note in the tech manual:

    NOTE: When high-resolution period mode is enabled, an EPWMxSYNC pulse will introduce +/- 1 - 2
    cycle jitter to the PWM (+/- 1 cycle in up-count mode and +/- 2 cycle in up-down count
    mode). For this reason, TBCTL[SYNCOSEL] should not be set to 1 (CTR = 0 is
    EPWMxSYNCO source) or 2 (CTR = CMPB is EPWMxSYNCO source). Otherwise, the jitter
    will occur on every PWM cycle with the synchronization pulse.


    When TBCTL[SYNCOSEL] = 0 (EPWMxSYNCI is EPWMxSYNCO source), a software
    synchronization pulse should be issued only once during high-resolution period initialization.
    If a software sync pulse is applied while the PWM is running, the jitter will appear on the
    PWM output at the time of the sync pulse.

    How do you issue a software synchronization pulse?  Is there a code example that demonstrates this technique?

  • Yes. Dont sync on every period. Sync only once during initialization. Use the SW SYNC FORCE register/bit.

    Nima