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.

  • Resolved

[FAQ] CLA: What can can trigger a task?

Guru 70215 points

Replies: 1

Views: 818

Q: What can trigger a task?

Which peripherals can trigger a CLA task?

Can the C28x trigger a task in software? 

Can a CLA task trigger another task?

Lori Heustess
C2000 Software Engineering

  • A:

    Configuration:

    The C28x configures the CLA.  Part of the configuration is specifying which interrupts trigger which tasks.  There are generally two registers used to configure the triggers for a task.  The trigger can be an interrupt or it can be the C28x CPU through software.

    • Older devices use the the MPISRCSEL1 register (i.e. 2803x, 2805x, 2806x).  
    • More recent devices use a system register CLA1TASKSRCSELx (2837xD/S).   

    Refer to the device-specific technical reference manual (TRM) for the options available.

    Device specific examples in C2000Ware illustrate how the CLA is configured.

    One thing that is very important to understand is the trigger source is just the mechanism by which the task is started.  The trigger source does not limit what the task can do or what registers it accesses.

    C28x

    The main CPU can flag an interrupt at any time by using the IACK #16bit instruction.  For example IACK 0x0003 would flag interrupt 1 and interrupt 2.  This is the same as setting bits in the force register (MIFRC).

    Another CLA Task:

    The CLA does not have access to the MIFRC register so it can not directly force another task to be flagged (refer to the related [FAQ] CLA: Which peripheral registers can the CLA access?).  There are a couple of options:

    1. Interrupt the C28x and force the task as part of the interrupt service routine.
    2. Write to the ePWM register to force an interrupt which in-turn forces a task to be flagged.

    Click here for more CLA FAQs and resources.

    Lori Heustess
    C2000 Software Engineering

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.