Lab 10: CLA Floating-Point FIR Filter
10 - 20 C2000 Microcontroller Workshop - Control Law Accelerator
interrupt to the CPU, which will store the filtered results to a circular buffer implemented in the
CLA ISR.
9. Remember that in Adc.c we commented out the code used to enable the ADCINT1
interrupt in PIE group 1. This is no longer being used. The CLA interrupt will be used
instead.
10. Using the “PIE Interrupt Assignment Table” find the location for the CLA Task 1
interrupt “CLA1_INT1” and fill in the following information:
PIE group #: # within group:
This information will be used in the next step.
11. Modify the end of Cla_10.c to do the following:
- Enable the “CLA1_INT1” interrupt in the PIE (Hint: use the PieCtrlRegs structure)
- Enable the appropriate core interrupt in the IER register
12. Open and inspect DefaultIsr_10_12.c. Notice that this file contains the CLA
interrupt service routine. Save and close all modified files.
Build and Load
13. Click the “Build” button and watch the tools run in the Console window. Check for
errors in the Problems window.
14. Click the “Debug” button (green bug). The “CCS Debug Perspective” view should
open, the program will load automatically, and you should now be at the start of
main(). If the device has been power cycled since the last lab exercise, be sure to
configure the boot mode to EMU_BOOT_SARAM using the Scripts menu.
Run the Code – Test the CLA Operation (Tasks in C)
Note: For the next step, check to be sure that the jumper wire connecting PWM1A (pin #
GPIO-00) to ADCINA0 (pin # ADC-A0) is in place on the Docking Station.
15. Run the code in real-time mode using the Script function: Scripts Realtime
Emulation Control Run_Realtime_with_Reset, and watch the memory
window update. Verify that the ADC result buffer contains updated values.
16. Setup a dual-time graph of the filtered and unfiltered ADC results buffer. Click:
Tools Graph Dual Time and set the following values: