Task A
Request
Request
Task A: Primary, cycle_ctrl = b011, 2 = 4, N = 6
R
dma_done[C]
Task B
Request
Request
Task B: Alternate, cycle_ctrl = b011, 2 = 4, N = 12
R
dma_done[C]
Request
Task C
Request
Task C: Primary, cycle_ctrl = b011, 2 = 2, N = 2
R
dma_done[C]
Task D
Request
Request
Task D: Alternate, cycle_ctrl = b011, 2 = 4, N = 5
R
dma_done[C]
Task E
Request
Task E: Primary, cycle_ctrl = b011, 2 = 4, N = 7
R
dma_done[C]
End: Alternate, cycle_ctrl = b000
Invalid
Request
DMA Operation
632
SLAU356I – March 2015 – Revised June 2019
Copyright © 2015–2019, Texas Instruments Incorporated
DMA
Figure 11-5. Ping-Pong Example
In
Task A
1. The host processor configures the primary data structure for task A.
2. The host processor configures the alternate data structure for task. This enables the controller to
immediately switch to task B after task A completes, provided that a higher priority channel does not
require servicing.
3. The controller receives a request and performs four DMA transfers.
4. The controller arbitrates. After the controller receives a request for this channel, the flow continues if
the channel has the highest priority.
5. The controller performs the remaining two DMA transfers.
6. The controller sets
dma_done[C]
HIGH for one
hclk
cycle and enters the arbitration process. If the
channel is enabled for Interrupts, then the DMA interrupts the host processor according to the interrupt
configuration.