DMA Channel Mux (DMA_MUX)
MPC5510 Microcontroller Family Reference Manual, Rev. 1
Freescale Semiconductor
13-9
Preliminary
if a trigger is seen, but the peripheral is not requesting a transfer, that triggered will be ignored. This
situation is illustrated in
.
Figure 13-5. DMA_MUX Channel Triggering: Ignored Trigger
This triggering capability may be used with any peripheral that supports DMA transfers and is most useful
for two types of situations:
•
Periodically polling external devices on a particular bus. As an example, the transmit side of an SPI
is assigned to a DMA channel with a trigger, as described above. After setup, the SPI requests
DMA transfers (presumably from memory) as long as its transmit buffer is empty. By using a
trigger on this channel, the SPI transfers can be automatically performed every 5
μ
s (as an
example). On the receive side of the SPI, the SPI and DMA can be configured to transfer receive
data into memory, effectively implementing a method to periodically read data from external
devices and transfer the results into memory without processor intervention.
•
Using the GPIO ports to drive or sample waveforms. By configuring the DMA to transfer data to
one or more GPIO ports, it is possible to create complex waveforms using tabular data stored in
on-chip memory. Conversely, using the DMA to periodically transfer data from one or more GPIO
ports, it is possible to sample complex waveforms and store the results in tabular form in on-chip
memory.
A more detailed description of the capability of each trigger (i.e. resolution, range of values, etc.) may be
found in
Chapter 28, “Periodic Interrupt Timer and Real Time Interrupt (PIT_RTI)
.”
13.4.2
DMA Channels 8–15
Channels 8–15 of the DMA_MUX provide the normal routing functionality as described in
Periph Request
Trigger
DMA Request