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.

TIDM-1000: PWM logic of 3Ph Vienna PFC?

Part Number: TIDM-1000


Hi C2000 team,

I have some questions about the TIDM-1000 solution.

There are only PWM waveform of 1 phase in guide document.

I need PWM waveforms of 3 phases. 

I haven't found any documentation with the full PWM waveform of the 3ph vienna PFC.

Could you please provide this?

And although the phase shift function of PWM2 and PWM3 are enabled in the PWM settings (VIENNA_HAL_setupPWM in vienna_hal.c), the TBPHS value does not seem to be a meaningful value.


PWM_disablePhaseShiftLoad(base1);

EPWM_setSyncOutPulseMode(base1, EPWM_SYNC_OUT_PULSE_ON_COUNTER_ZERO);


EPWM_enablePhaseShiftLoad(base2);

EPWM_setSyncOutPulseMode(base2, EPWM_SYNC_OUT_PULSE_ON_SOFTWARE);


EPWM_setPhaseShift(base2, 2);
EPWM_setCountModeAfterSync(base2, EPWM_COUNT_MODE_UP_AFTER_SYNC);

EPWM_enablePhaseShiftLoad(base3);


EPWM_setSyncOutPulseMode(base3, EPWM_SYNC_OUT_PULSE_ON_SOFTWARE);


EPWM_setPhaseShift(base3, 2);
EPWM_setCountModeAfterSync(base3, EPWM_COUNT_MODE_UP_AFTER_SYNC);

How does the PWM logic in the 3Ph vienna PFC change the phase of each phase?

  • I haven't found any documentation with the full PWM waveform of the 3ph vienna PFC.

    Could you please provide this?

    no i cannot.

    How does the PWM logic in the 3Ph vienna PFC change the phase of each phase?

    Typically there are a few ways of doing this, 1 TBPHS(didnt seem to be used), 2 Modifying the CMPx values(didnt seem to be used), 3 modifying the deadband registers to move the pulse(again it didnt appear to be used).

    I didn't have an oscilloscope to verify, but I tested in the build 1 configuration for simplicity. I'll try to look at it again if I find a free moment over the next year or so.

    Regards,
    Cody