Functional Description
1155
SPRUH22I – April 2012 – Revised November 2019
Copyright © 2012–2019, Texas Instruments Incorporated
M3 Micro Direct Memory Access ( µDMA)
16.3.6.2 Basic Mode
In Basic mode, the µDMA controller performs transfers as long as there are more items to transfer, and a
transfer request is present. This mode is used with peripherals that assert a µDMA request signal
whenever the peripheral is ready for a data transfer. Basic mode should not be used in any situation
where the request is momentary even though the entire transfer should be completed. For example, a
software-initiated transfer creates a momentary request, and in Basic mode, only the number of transfers
specified by the ARBSIZE field in the DMA Channel Control Word (DMACHCTL) register is transferred on
a software request, even if there is more data to transfer.
When all of the items have been transferred using Basic mode, the µDMA controller sets the mode for that
channel to Stop.
16.3.6.3 Auto Mode
Auto mode is similar to Basic mode, except that once a transfer request is received, the transfer runs to
completion, even if the µDMA request is removed. This mode is suitable for software-triggered transfers.
Generally, Auto mode is not used with a peripheral.
When all the items have been transferred using Auto mode, the µDMA controller sets the mode for that
channel to Stop.
16.3.6.4 Ping-Pong
Ping-Pong mode is used to support a continuous data flow to or from a peripheral. To use Ping-Pong
mode, both the primary and alternate data structures must be implemented. Both structures are set up by
the processor for data transfer between memory and a peripheral. The transfer is started using the
primary control structure. When the transfer using the primary control structure is complete, the µDMA
controller reads the alternate control structure for that channel to continue the transfer. Each time this
happens, an interrupt is generated, and the processor can reload the control structure for the just-
completed transfer. Data flow can continue indefinitely this way, using the primary and alternate control
structures to switch back and forth between buffers as the data flows to or from the peripheral.
provides an example operation in Ping-Pong mode.