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.

TMS320F28035: Trip Zone and ePWM interrupts nesting issue

Part Number: TMS320F28035

I am having an issue regarding to interrupt prioritization/nesting on the C2000 TMS320F28035 part.

I have both a ePWM and a Trip-Zone (TZ) interrupts enabled. From the Reference Manual the TZ interrupt should have higher priority:

However, I noticed that if a TZ interrupt happens while a ePWM interrupt is being proceeded the CPU first finishes the execution of the ePWM interrupt to then process the TZ interrupt.

To find that out I set a GPIO low in the begin of the ePWM interrupt handler logic and set the same GPIO high in the end of the ePWM interrupt and I did the same thing with another GPIO for the TZ interrupt handler:

Ch 4 (green) is low when the ePWM interrupt handler is processing, Ch 1 (yellow) is set low when TZ interrupt handler is processing. Ch 2 (cyan) goes low when a TZ event occurred.

Notice that the TZ interrupt handler waits the ePWM interrupt handler to be done to then execute the TZ interrupt logic. 

I just want to confirm that this is the normal/expected operation for the TMS320F28035 part.

Sincerely,

  • The interrupts by default do not preempt. Interrupt priority is defined as you mentioned above, and it is expected that the a lower priority interrupt would finish execution before a higher priority interrupt would start assuming that the nesting of interrupts is not enabled.

    Please note that the Trip-Zone actions on the PWM output will not wait for the interrupt handler to run, they will happen immediately on the event. 

    Regards,
    Cody