Reset
Wait forTrigger
Idle
Hold CPU,
Transfer one word/byte
[+TriggerAND DMALEVEL= 0 ]
OR
[Trigger=1AND DMALEVEL=1]
DMAABORT = 0
Decrement DMAxSZ
Modify T_SourceAdd
Modify T_DestAdd
DMAxSZ > 0
[ENNMI = 1
AND NMI event]
OR
[DMALEVEL = 1
AND Trigger = 0]
[DMADT = {1}
AND DMAxSZ = 0]
OR
DMAEN = 0
DMAxSZ
T_Size
DMAxSA
T_SourceAdd
DMAxDA
T_DestAdd
→
→
→
DMAREQ = 0
T_Size
DMAxSZ
DMAxSA
T_SourceAdd
DMAxDA
T_DestAdd
→
→
→
DMADT = {5}
AND DMAxSZ = 0
AND DMAEN = 1
DMAEN = 0
DMAEN = 1
DMAEN = 0
DMAREQ = 0
T_Size
DMAxSZ
→
DMAABORT = 1
2 × MCLK
DMAEN = 0
DMA Operation
345
SLAU367P – October 2012 – Revised April 2020
Copyright © 2012–2020, Texas Instruments Incorporated
DMA Controller
Figure 11-4. DMA Block Transfer State Diagram