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.

TMS320F28P650DK: CLA DCL Parameter update on C2000

Part Number: TMS320F28P650DK


Tool/software:

Hi all,

I have recently completed a multi-control closed-loop system with two PI controllers and a feedforward mechanism. I am just working now on porting this over to the CLA and notice that the DCL_CLA_PID structure does not have a field for a shadow parameter set to safely update controller parameters during runtime. I was wondering if there was already a workaround for this or how TI recommends tuning controllers on the CLA.

I was thinking about replicating my own version of the SPS and halting the CLA control task until the parameters have been updated. We don't plan on running any adaptive control systems rather, this would just be for in-house tuning before we launch our product.

Thank you ahead for your time.

  • Hi Ayden,

    I have looped in the expert from the team. Please expect a response in the next 1-2 days.

    Best Regards,

    Delaney

  • Hi Ayden,

    My sincere apologies for the delay.This somehow slipped in my notification.

    Yes you can do that, or even simpler yet, since CLA is an interrupt based task, you can just directly update the DCL_CLA_PID parameters within either the same or different CLA interrupt task (if different, a higher priority task would be needed to ensure it won't be pre-empted) since no other CLA interrupt task would be running at the time of updating parameters.

    The SPS-like structure would come in handy if you wanted to calculate the PID parameters and arise semaphore from the CPU side. In this case, you would have a choice to either update SPS and let the controller CLA task update the parameters from the SPS, or also update PID parameters directly while controller CLA task is disabled.

    The important thing to note if you are using the above approach, the PID/SPS strctures would need to be in a memory range that is both accessible by CPU and CLA. Refer to your specific device on what memory range this is (LS_RAMs).

    Best,

    Sen Wang

  • Hi Sen,

    Thank you for the great response. I'll move my control task down to a lower CLA number and run the update parameter task in CLATask1

  • Awesome!

    I'll close this thread for now, but if you have further any questions please reach out to us.

    Best,

    Sen Wang