<< Chapter < Page | Chapter >> Page > |
As this is your first experience with the C environment, you will have the option to add most of the required code in C or assembly.A C skeleton will provide access to input samples, output samples, and interrupt handling code. You will add code to transfer theinputs and outputs (in blocks at a time), apply a hamming window, compute the magnitude-squared spectrum, and include a trigger pulse.After the hamming window is created, either an assembly or C module that bit reverses the input and performs an FFT calculation is called.
As your spectrum analyzer works on a block of samples at a
time, you will need to use interrupts to pause your processingwhile samples are transferred from/to the CODEC (A/D and D/A)
buffer. Fortunately, the interrupt handling routines havebeen written for you in a C shell program available at
v:\ece420\54x\dspclib\lab4main.c
and the core
code.
Interrupts are an essential part of the operation of any microprocessor. They are particularly important in embeddedapplications where DSPs are often used. Hardware interrupts provide a way for interacting with external devices whilethe processor executes code. For example, in a key entry system, a key press would generate a hardware interrupt.The system code would then jump to a specified location in program memory where a routine could process the key input.Interrupts provide an alternative to polling. Instead of checking for key presses at a predetermined rate (requires aclock), the system could be busy executing other code. On the TI-C54x DSP, interrupts provide a convenient way totransfer blocks of data to/from the CODEC in a timely fashion.
The
lab4main.c
code and the core code are intended
to make your interaction with the hardware much simpler. Asthere was a core file for working in the assembly environment
(Labs 0-3), there is a core file for the C environment(V:\ece420\54x\dspclib\core.asm) which handles the interrupts
from the CODEC (A/D and D/A) and the serial port. Here, wewill describe the important aspects of the core code necessary
to complete the assignment.
Notification Switch
Would you like to follow the 'Digital signal processing laboratory (ece 420)' conversation and receive update notifications?