UG-1262
Rev. B | Page 171 of 312
PRIMARY
ALTERNATE
REQUEST
TASK A
AUTOMATIC REQUESTS
TASK B
TASK C
TASK D
AUTOMATIC REQUESTS
AUTOMATIC REQUESTS
AUTOMATIC REQUESTS
AUTOMATIC REQUESTS
AUTOMATIC REQUESTS
AUTOMATIC REQUESTS
N = 4, 2
R
= 4
DMA_DONE[C]
N = 5, 2
R
= 8
N = 8, 2
R
= 2
N = 3, 2
R
= 4
AUTOMATIC REQUESTS
COPY FROM A
IN MEMORY TO
ALTERNATE
COPY FROM B
IN MEMORY TO
ALTERNATE
COPY FROM C
IN MEMORY TO
ALTERNATE
COPY FROM D
IN MEMORY TO
ALTERNATE
16
675
-240
Figure 46. Memory Scatter Gather DMA Transfer
Peripheral Scatter Gather (CHNL_CFG, Bits[2:0] = 110 or 111)
In peripheral scatter gather mode, the controller must be configured to use both the primary and alternate data structures. The controller
uses the primary data structure to program the control structure of the alternate data structure. The alternate data structure is used for
actual data transfers, and each transfer takes place using the alternate data structure with a basic DMA transfer. The controller does not
arbitrate after every primary transfer. This mode is used when there are multiple peripheral to memory DMA tasks to be performed. The
Cortex-M3 can configure all of the tasks simultaneously and does not need to intervene in between each task.
Peripheral scatter gather mode is very similar to memory scatter gather mode except for arbitration and request requirements. The MCU
generates the corresponding DMA_DONE channel interrupt in the NVIC when the entire scatter gather transaction completes using a
basic cycle.
In peripheral scatter gather mode, the controller receives an initial request from a peripheral and then performs four DMA transfers
using the primary data structure to program the alternate control data structure. The controller then immediately starts a DMA cycle
using the alternate data structure without rearbitrating.
After this cycle completes, the controller rearbitrates, and if it receives a request from the peripheral that has the highest priority, the
controller performs another four DMA transfers using the primary data structure. The controller then immediately starts a DMA cycle
using the alternate data structure without rearbitrating. The controller continues to alternate between using the primary and alternate
data structures until the processor configures the alternate data structure for a basic cycle, or the DMA reads an invalid data structure.
Table 195 lists the fields of the CHNL_CFG memory location for the primary data structure, which must be programmed with constant
values for the peripheral scatter gather mode. This mode is shown in Figure 47.