RM0400
Periph request
Trigger
DMA request
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 it has been set up, the SPI will request 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, including resolution, range of
values, and so on, may be found in the periodic interrupt timer section.
20.4.2
DMA channels with no triggering capability
The other channels of the DMAMUX provide the normal routing functionality as described in
Section 20.1.3, Modes of
20.4.3
Always-enabled DMA sources
In addition to the peripherals that can be used as DMA sources, there are six additional
DMA sources that are always enabled. Unlike the peripheral DMA sources, where the
peripheral controls the flow of data during DMA transfers, the sources that are always
Figure 160. DMAMUX channel triggering: ignored trigger
operation.
DocID027809 Rev 4
Direct Memory Access Multiplexer (DMAMUX)
455/2058
460
Need help?
Do you have a question about the SPC572L series and is the answer not in the manual?