Because of the holidays, TI E2E™ design support forum responses will be delayed from Dec. 25 through Jan. 2. Thank you for your patience.

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.

TMS320F28069: Phase shifted PWM pulse between ePWM1A and ePWM1B

Part Number: TMS320F28069

Hi TI experts,

My application needs to generate PWM pulses with 180 deg. phase shift between ePWMxA and ePWMxB.

I already generated PWMs which are phase shifted between ePWM1 and ePWM2  module.

But i don't know how to configure PWM between ePWMxA and ePWMxB

Pls provide some solution.

regards,

Ramesh P

  • Ramesh,

    If the phase relationship is locked at 180 deg, you could use a symmetrical time-base and configure the AQ module to invert one of the outputs.  The attachment shows how this might be done in a 2-phase boost PFC example.  Would this work for you?

    Regards,

    Richard

    boost PWM.pdf

  • Hi richard,
    Thanks for ur reply.
    Actually i have generated the PWM pulses using up-down counter logic.It is working.
    But it is bit complicated.I still want to try the same using phase shift between 1A and 1B.

    I have seen the attachment.I just want to get the reference code segment for ePWM register settings for my below requirement.
    Assume for a H bridge configuration,PWM 1A-1B for Top & Bottom devices for leg 1 ,PWM 2A-2B for Top & Bottom devices for leg 2.

    PWM 1B should be exactly following the duty of PWM 1A with 180 deg phase shift.
    Also PWM 2A should be exactly following the duty of PWM 2B with 180 deg phase shift.

    regards,
    Ramesh P
  • Hi Ramesh,

    Not sure I'm following exactly what you mean by "following the duty".  Are you looking for something like the standard inverter PWM patterns (attached)?

    Regards,

    Richard

    Inverter waveforms.pdf

  • dear ramesh,
    What you are telling 180 degree phase shift is said as "Active high complementary" in documentation.
    For your this requirement i would suggest you to read "Dead-Band Generator (DB) Submodule" from the device Technical reference manual.
    This should solve the query.
    Regards,
    Keyur
  • Hi richard,

    Following the duty means -

    The duty cycle of ePWM1B should be exactly same as that of ePWM1A.

    provided ePWM1B is phase shifted by 180 deg with respect to ePWM1A.

    In short,we can say the phase shift is fixed at 180 deg & duty is variable from 0 to 90%.

    This is not standard inverter configuration.The above PWM pulse is for boost application.

    I need PHASE SHIFTED PWMs within Module(i.e) between ePWM1A and ePWM1B. Not between ePWM modules.

    The expected waveforms attached below

    ch1 : ePWM1A ,ch2 : ePWM1B , ch3 : ePWM2A , ch4 : ePWM2B

    Total time period : 40 us for 25 kHz switching frequency

    I found similar query from the below link

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/p/382987/1351646#1351646

    But i need some better clarity about why PWM with more than 50% duty is not possible with up-down counter mode as specified in the above link.

    Kindly provide suggestions.

    -Ramesh P

  • Hi Ramesh,

    The post you mentioned was talking about 90 degree phase shift between A and B outputs in the same module.  This is possible only with the constraint your duty cycle is fixed at 50%, as indicated in that post.

    You said you wanted 180 degrees of phase shift between A and B outputs, in which case I really cannot see why the patterns I attached in my reply of April 1st are unsuitable.  To get the waveforms you showed in the scope trace, you configure PWM modules 1 and 2 in up-down mode at the same frequency and synchronise PWM2 timebase with zero degree phase shift.  You then adjust CMPA and CMPB in both modules to get whatever duty cycle you want.  Please can you explain what is missing?

    Regards,

    Richard

  • Hi Richard,

    Pls excuse for the delayed reply.
    The waveforms which you have attached is bit different from my requirement.
    I just want to make it more clear with the waveforms attached here & what is missing.
    For PWM1A,the duty cycle should vary from point A to Dmax & vice versa.
    For PWM1B,the duty cycle should vary from point B to Dmax & vice versa.
    The important point is that both the PWMs 1A and 1B should vary with respect to the points
    A,B respectively.This i need it for soft start operation.
    I am not able to use the solution which you have suggested using up-down count mode,since it is very
    difficult to attain the pattern which i require.I face challenges when it exceeds 50% duty for PWM 1B which has to proceed for consecutive cycle.
    But,I am sure that it is possible using Sawtooth carrier(up count) by phase shifting the
    CARRIER of PWM1B as shown in my attachment.
    Could you please share the sample PWM initialization code of the above as shown in my attachment?

    regards,
    Ramesh P

  • Dear keyur,
    Thanks for your reply.
    I tried with Dead band module also.But it does not serve my purpose because the edges A and B must be fixed as shown in recent post.Kindly go through it & suggest.

    regards,
    Ramesh P
  • Ramesh,

    Thank you for the additional information.

    Each PWM module on C2000 contains only one time-base.  Therefore I don't see a way to phase shift the A and B outputs exactly in the manner in your diagram.

    The only solution I can suggest is to use separate PWM modules and to synchronize their time-base phase.  

    Regards,

    Richard