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.

Bug in Event Manager

Other Parts Discussed in Thread: TMS320F2811

(ch3 PWM U, ch1 PWM Compare Value (7487 -> 7500). The channel 2 signal(blue) should remain high, but it turned off and on.

Hello,

The part # is TMS320F2811 which is used for motor control.

3 phase AC machine is controlled using synchronous PWM generated by Event Manager.

System Clock is 150MHz.

PWM clock is 75MHz. Carrier frequency is 5kHz.

PWM period counter is 7500.

I loaded PWM compare value 7487 and 7500 consecutively.

The PWM signal seems to be wrong after the compare value changed during the half PWM period(100us).

The phenomenon doesn't depend on the first value. So you can use any value other than 7487.

And if the final value is 7499(period minus 1), the phenomenon doesn't occur.

By equalling the PWM compare register value to PWM period register value, PWM full turn on/off functionality can be implemented.

But because of this bug, we need workaround for this.

  • Hi,

    Is your observation that you are not able to achieve 100% duty cycle?
    When are you changing the compare value? Are you using the shadow loading mode for compare registers?
    If so, on what event is the shadow->active loading configured for?
    What is the behavior on consecutive cycles when you keep the compare value at 7500?
    Does the PWM remain ON 100% or you see the dip?

    -Bharathi.
  • Hello,

    Is your observation that you are not able to achieve 100% duty cycle?

        Correct. The output mode I use is center-aligned complementary PWM. During the half PWM period, the output is wrong.


    When are you changing the compare value?

       I' changing the compare value in the PWM interrupt routine. 

    Are you using the shadow loading mode for compare registers?

        Yes.


    If so, on what event is the shadow->active loading configured for?

       The shadow->active loading is made on zero and period event. What I found in some experiment is that if I configured the loading event as ZERO, the problem is not shown.


    What is the behavior on consecutive cycles when you keep the compare value at 7500?

      After the first erroneous output in the PWM, the behavior is correct. The PWM output has 100% duty.


    Does the PWM remain ON 100% or you see the dip?

      After the first erroneous behavior, PWM remain ON 100%.The dip happens only once and does not repeat if I keep the compare value at 7500.

    Thank you for your interest and insightful question.