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.

TMS320F28075 chopper synchronization

Other Parts Discussed in Thread: TMS320F28075

Hello,

I use the TMS320F28075 ControlCard to generate PWM signals with chopping. The configuration of the ePWM module is in up-down count so I can generate symmetric PWM.

I have some trouble with the synchronization of the chopper. I want to generate a stable chopping frequency. But the first impulsion is not synchronized with the other one. In fact, the period of the first chopping cycle is longer or shorter than the other according to the enable command of the chopper and the validation of the ePWM counter. As the first impulsion is asynchronous with the other chopper period, it produces a different first cycle.

When I stop and restart the target at the emulator, the first cycle changes : it is shorter or longer than the other one. The phase between the chopper and the PWM seems to change. As we don't have any access to the chopper clock or counter/divider, it is difficult to understand how to configure both time clock module and chopper module to synchronize each other.

Please, can you explain how I can synchronize the chopper with the PWM module to produce a synchronized chopping signal with the CMPX?

I thank you in anticipation for your help.

Aurélien

  • Hi Aurélien,
    We are looking into your question.

    Thank you,
    Brett

  • Hi Aurélien,

    We do not have a method of synchronizing the PWM chopper's clock to the time when TBCLK=0 (or some other type of event).  As a result, the first pulse in any sequence of chopped pulses may not necessarily be equal to the ones that follow it.  So what you are seeing is correct.  If this is unacceptable for your application, the PWM chopper module may not be useful for you.

    ===

    However, there are alternative approaches to generating a chopped PWM.  One thought follows - there are likely to be variants:

    Set ePWM1's TBPRD to be the slower main PWM frequency.  (0 when you want the PWM low, 1 when you want a chopped output)
    Set ePWM2's TBPRD to be the chopper frequency.  Set it to 50% duty cycle.
    Ensure that ePWM1's TBPRD = n * ePWM2's TBPRD (where n is an integer)
    Configure ePWM1 to generate a synchronization pulse every time its timer reaches 0. Configure ePWM2 to synch to that pulse.
    Configure the IO pin, that outputs PWM1, to also be an INPUTXBAR signal which has TZ functionality.
    Configure this TZ to flow into the Trip Zone submodule of ePWM2 and have it trip ePWM2 low using the cycle-by-cycle trip functionality.


    Thank you,
    Brett

  • Hi Brett,

    Yes, it's a solution but I need all the 12 ePwm modules. I think I'll use an external component to solve the problem. Or perhaps can I use an eCAP in APWM to generate the TZ signal to all ePWM modules.
    That's OK for me, I will work on this.

    Thank you very much for your answer.

    Aurélien