Digital Signal Processing Reference
In-Depth Information
continuously check the status of the SPCR. Fortunately, a program
(support file) has already been written to manage this. The details
of this program are explained in Chapter 7 , where a polling example
is implemented.
Interrupts
Interrupts are a way of handling asynchronous events on the DSP
chip and can be generated either internally through software or
externally by other components on the DSK. Handling (or servicing)
of interrupts requires extra hardware that operates autonomously
from the CPU. The C6711 chip is equipped with this hardware (timers,
McBSP, etc.) and is the preferred way to time events on the DSP chip.
By convention, a binary 0 is used for false and a binary 1 is used for
true. The bits in the SPCR are labeled from the point-of-view of the
DSP chip and not the peripheral with which it is communicating.
In the labs detailed in Chapter 7, we use interrupts to establish a
real-time communication link between the on-board codec and the
CPU via SP0. When interrupts are used to establish the real-time
link between the on-board codec and the CPU, the interrupt registers
in SP0 are configured to handle interrupts. Then, when the codec
sets the transmit-ready bit in the SPCR, the McBSP will generate an
interrupt. When an interrupt occurs, the following events happen:
the current program execution is halted; the current execution state
is saved (in a CPU register); the program branches to and processes
the interrupt; and upon completion of the interrupt, the execution
state is restored and the program continues executing.
On the 'C6711 DSP chip, there are 32 possible interrupt sources, but only 12
may be assigned by the programmer, namely INT4 through INT15. 5
These
12 interrupts are prioritized by the “Interrupt Selector” (see Figure E.2 ) . In these
labs, we use the SP0 transmit interrupt , which is labeled by the interrupt acro-
nym XINT0 in the TI literature. 5 Arbitrarily, we choose INT11 to handle this
interrupt. 4 Using interrupts requires that each one be mapped to an interrupt
service routine (ISR). This is done by a vectors file that, in our case, maps INT11
to the C-coded ISR c_int11(). In addition, INT11 must be selected to handle
interrupts from XINT0, and the DSP chip must be set up to accept programmer
assigned interrupts. 4 These tasks will be done by the C-coded function comm
intr().
E.5
TMS320C6711 Digital Signal Processing Starter Kit
The 'C6711 DSP Starter Kit, or DSK, provides system design engineers with
an easy-to-use, cost-effective way to take their high-performance
TMS320C6000 designs from concept to production. The new 'C6711 DSK not
Search WWH ::




Custom Search