Control Law Accelerator (CLA)
TMS320F2837xD Microcontroller Workshop - Control Law Accelerator 9 - 5
is mapped to the CPU, where it can be initialized by the CPU before being shared with the CLA.
Once it is shared between the CPU and CLA it then can be configured to be either program
memory or data memory. When configured as program memory it contains the CLA program
code, and when configured as data memory it contains the variable and coefficients that are used
by the CLA program code. Additionally, dedicated message RAMs are used to pass data
between the CPU and CLA, and CLA and CPU.
CLA Tasks
CLA Tasks
A Task is similar to an interrupt service routine
CLA supports 8 Tasks (Task1-8)
A task is started by a peripheral interrupt trigger
Triggers are enabled in the CLA1TASKSRCSELx register
When a trigger occurs the CLA begins execution at
the associated task vector entry (MVECT1-8)
Once a task begins it runs to completion (no nesting)
MPERINT1-8
CLA_INT1-8
LVF, LUF
PIE
C28x
CPU
INT11
INT12
CLA
Control & Execution
Registers
Task Triggers
(Peripheral Interrupts)
Task1 Trigger
Task2 Trigger
Task3 Trigger
Task4 Trigger
Task5 Trigger
Task6 Trigger
Task7 Trigger
Task8 Trigger
Programming the CLA consists of initialization code, which is performed by the CPU, and tasks.
A task is similar to an interrupt service routine, and once started it runs to completion. Tasks can
be written in C or assembly code, where typically the user will use assembly code for high
performance time-critical tasks, and C for non-critical tasks. Each task is capable of being
triggered by a variety of peripherals without CPU intervention, which makes the CLA very efficient
since it does not use interrupts for hardware synchronization, nor must the CLA do any context
switching. Unlike the traditional interrupt-based scheme, the CLA approach becomes
deterministic. The CLA supports eight independent tasks and each is mapped back to an event
trigger. Since the CLA is a software programmable accelerator, it is very flexible and can be
modified for different applications.