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.

To generate Multi-phase Sychronized PWM signals (TMS320F2833x)

Other Parts Discussed in Thread: CONTROLSUITE

1. To syncronize multi-phase PWMs using TBCLKSYNC, PWM modules starts their own time base clock at the same time rather than using the same time base. Is there any cumulative phase shift if the PWM runs for a long time?

2. To syncronize multi-phase PWMs using SYNCI and SYNCO, how to configure the SYNCI for the first/master PWM module? F2833xPWM.H (see attached file), in the motor control driver library, sets all the PWM modules Sync flow-through (i.e. SyncOut connected to SyncIn). Is the SYNCI for PWM1 connected to an external trigger signal? I thought it should be either connected to an external trigger source or set the Master's SYNCOSEL to CTR = zero. The latter setting will results in all PWM modules loading their phase register (same value or 0) to time-base counter at ePWM1 time-base counter counts down to zero.

3.  Using the first method, can I set the PRDLD to IMMEDIATE LOAD? Any other setting conflict with PRDLD? The program cannot enter the only interrupt service routine for control, measurment and updating PWM duty cycles. It goes into the dead loop waiting for interrupt. But it works fine if I change the PRDLD from IMMEDIATE to SHADOW. Settings of PWM modules, please refer to PWM_INIT_MACRO(v) in the attached header file (TI DCM driver library).

0027.f2833xpwm.h

  • Dan Xiao,

    Check the example projects available in the control suite. That would help you.

    C:\ti\controlSUITE\device_support\f2833x\v133\DSP2833x_examples_ccsv4\epwm_timer_interrupts

    Regards,

    Abdullah

  • Dan,

    1)  The PWM outputs should not shift over time. 

    2)  Since we do not use EPWMSYNCI input in the motor control kit, I would recommend changing the lines, as you suggested, to the following:

    // ...
    EPwm1Regs.TBCTL.bit.SYNCOSEL = 0x1;      
    // ...
    EPwm1Regs.TBCTL.bit.PHSEN = 0x0;   
    // ...

    This makes PWM1 the master PWM which all the other PWMs will synch to.

    3)  Can you define what you mean by "first method"?


    Thank you,
    Brett