
4-6
Optimizing DSP56300/DSP56600 Applications
MOTOROLA
Using the DMA
Servicing a Peripheral
;DAM[5:3]101
destination address post-increment
;DAM[2:0]000
source address: 2D with offset register 0
;DS[3:2]01
transfer destination: y memory.
;DS[1:0]01
transfer source: y memory.
movep
#$580285,x:M_DCR0;load control register.
;============ main program
...
bset
#23,x:M_DCR0
;trigger transfer
...
;============ interrupt definition
org
p:I_DMA0
jsr
<USE_COMPACT_DATA
4.4
SERVICING A PERIPHERAL
DMA transfers can be triggered by peripherals and can transfer data
to and from them, thus giving the user a powerful alternative for
driving peripherals. Examples for interrupt-driven core handling
were given earlier in
Section 3
. Using the DMA to handle
peripheral requests has the following advantages:
1. Saves core MIPS because the DMA is triggered
independently and transfers the data in parallel to the core
2. Frees core address registers that previously had to be
reserved as pointers to the data buffers to keep them
available for processing a fast interrupt
3. Decreases the latency between peripheral triggering and
actual handling by using the DMA (under the same
circumstances, i.e., no other triggers/interrupts with higher
priorities)
Содержание DSP56300
Страница 49: ...3 20 Optimizing DSP56300 DSP56600 Applications MOTOROLA Program Control Using Fast Interrupts ...
Страница 95: ...7 10 Optimizing DSP56300 DSP56600 Applications MOTOROLA Compact Opcode Use Special Instructions ...
Страница 99: ...A 4 Optimizing DSP56300 DSP56600 Applications MOTOROLA Saving Power Disabling Functional Blocks ...
Страница 103: ...B 4 Optimizing DSP56300 DSP56600 Applications MOTOROLA Debug and Test Support Address Tracing ...