The
CLA Type-2 is an independent, fully programmable,
32-bit floating-point math processor that brings
concurrent control-loop execution to the C28x
family. The low interrupt-latency of the CLA
allows it to read ADC samples "just-in-time." This
significantly reduces the ADC sample to output
delay to enable faster system response and higher
MHz control loops. By using the CLA to service
time-critical control loops, the main CPU is free
to perform other system tasks such as
communications and diagnostics.
The
control law accelerator extends the capabilities
of the C28x CPU by adding parallel processing.
Time-critical control loops serviced by the CLA
can achieve low ADC sample to output delay. Thus,
the CLA enables faster system response and higher
frequency control loops. Using the CLA for
time-critical tasks frees up the main CPU to
perform other system and communication functions
concurrently.
The
following is a list of major features of the CLA:
- C compilers are available for CLA software development
- Clocked at the same rate as the main CPU
(SYSCLKOUT).
- An independent architecture allowing CLA
algorithm execution independent of the main C28x
CPU.
- Complete bus architecture:
- Program Address Bus (PAB) and Program Data Bus
(PDB)
- Data Read Address Bus (DRAB), Data Read Data Bus
(DRDB), Data Write Address Bus (DWAB), and Data
Write Data Bus (DWDB)
- Independent 8-stage pipeline.
- 16-bit program counter (MPC)
- Four 32-bit result registers (MR0 to MR3)
- Two 16-bit auxiliary registers (MAR0, MAR1)
- Status register (MSTF)
- Instruction set includes:
- IEEE single-precision (32-bit) floating-point
math operations
- Floating-point math with parallel load or
store
- Floating-point multiply with parallel add or
subtract
- 1/X and 1/sqrt(X) estimations
- Data type conversions
- Conditional branch and call
- Data load/store operations
- The CLA program code can consist of up to eight
tasks or interrupt service routines, or seven
tasks and a main background task.
- The start address of each task is specified by
the MVECT registers.
- No limit on task size as long as the tasks fit
within the configurable CLA program memory
space.
- One task is serviced at a time until its
completion. There is no nesting of tasks.
- Upon task completion a task-specific interrupt is
flagged within the PIE.
- When a task finishes the next highest-priority
pending task is automatically started.
- The Type-2 CLA can have a main task that runs
continuously in the background, while other
high-priority events trigger a foreground
task.
- Task trigger mechanisms:
- C28x CPU through the IACK instruction
- Task1 to Task8: up to 256 possible trigger
sources from peripherals connected to the shared
bus on which the CLA assumes secondary
ownership.
- Task8 can be set to be the background task, while
Tasks 1 to 7 take peripheral triggers.
- Memory and Shared Peripherals:
- Two dedicated message RAMs for communication
between the CLA and the main CPU.
- The C28x CPU can map CLA program and data memory
to the main CPU space or CLA space.
- Two dedicated message RAMs for communication between the CLA and the DMA