Hi,
I am trying to find a efficient way to change CLA tasks without the end of CLA task interrupt. As source for the CLA tasks I am using ePWM interrupts (all are triggered by EPWM1 interrupt). During different sections of the PWM, the CLA tasks shall execute different commands. Therefore, I was trying to give each PWM section an own CLA task to execute. The problem seems to be, that the necessary registers for changing the CLA task is not writeable by the CLA itself. Then I tried to use for all PWM sections together a single Task and execute portion of the code (so that the CLA task 1 owns the code of all other CLA task and depending to the PWM section a different portion of the CLA task 1 is executed). To decide which portion of code will be executed I tried to use if-statements and switch and case statements, but both increasing the execution time of the CLA task strongly. This makes the CLA task execution to long for its use.
My questions are:
Is there a way, to change CLA tasks of the same source dynamically by a CLA task itself without the CPU being involved?
Is there an efficient way to execute different sections of one CLA task, without slowing the CLA down immensely (several 100ns are too long)?
Thanks in advance!
Michael