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.

CCS/LAUNCHXL-F28377S: Phase shift control with multiple PWM modules

Part Number: LAUNCHXL-F28377S

Tool/software: Code Composer Studio

Dear all,

I have C2000 Delfino MCUs F28377S LaunchPad. I want to obtain two signals, vs1 and vs2, as it is shown in the picture. After reading datas from ADCs, the microcontroller will do some basic calculation, and it will adjust frequency, duty cycle, phase shift and number of pulses.

The max switching frequency of the first signal, vs1, is 250kHz. Number of pulses can be 1, 2, 3 or 4.

At first, I used PWM chopper, but minimum number of pulses was 4, and there was a phase jittering.

Secondly, I tried CPU timer to obtain vs2 signal, but there was a phase jittering, again, even if the switching frequency is 16 kHz.

At last, I decided to use multiple PWMs with "or gate" . Each pulse will be obtained by PWM module, and after it be summed by or gate. In order to obtain a signal vs2, which has 3 pulses, I used 3 PWMs for only this signal. However, after synchronization these 3 signal with the first signal vs1, I could not adjust the phase shift. My question: Is it possible to synchronize 4 or 5 PWMs with phase shift control? If it is possible, how?

Second question: I can synchronize 1.PWM with 2. PWM, and I can control the phase between 1.PWM and 2. PWM, but I could not control the phase between 3.PWM with 4.PWM, If I synchronize them. How can I synchronize them with phase control?

Thank you in advance

pwm signals

  • Hi Mert,

    You  can definitely synchronize all the ePWMs together.  For some modules, you may need to configure the mux selections here to get the desired sync. input source:

    The only caveat here is that you want to keep the length of a daisy chained sync path (module uses sync. in and then passes the sync signal through) to 4 ePWM modules.  

    The external OR gate solution will definitely be simple to program and will incur very little CPU BW, but will require external HW.

    I think it is probably possible to get the multi-pulse waveform out of ePWM2 only by switching the period at the first rising edge and then triggering an event after the nth period to switch back to synchronized with ePWM1.  I'm investigating exactly how this could work. 

  • Dear Devin,

    Thank you for your reply.

    I have already synchronized all PWMs like the picture.  PWM1 is master, and PWM2,3,4,5,6,7 are slaves. I can change the phase of  PWM 6, but I could not change the phase of PWM 7. When I want to shift the phases, the micro-controller does not produce the shifted phase PWM. Do I need to do extra things to control the phase shift?

    Do you know there is a document how I configure the mux selections?

    Regards,

  • Hi Mert, (edit: correct name!)

    I don't think it is possible to actually synchronize the ePWMs directly as shown in the diagram.  If you look at the diagram I linked above, I think you need to:

    • ePWM1 as master (produces a sync. out based on some event).
    • ePWM2 and 3 in a chain.  
      • ePWM2 sync from input, pass-through to output
      • ePWM3 sync from input (no need to output sync)

    • ePWM4,5,and 6 in a chain
      • ePWM4 sync in select mux to ePWM1 output
      • ePWM4 sync from input, pass-through to output
      • ePWM5 sync from input, pass-through to output
      • ePWM6 sync from input (no need to output sync)
    • ePWM7
      • ePWM7 sync in select mux to ePWM1 output
      • ePWM7 sync from input (no need to output sync)