High Performance DMA Controller
UG0331 User Guide Revision 15.0
239
8.2.0.3
DMA Controller
The DMA controller controls and monitors transactions on the source and destination AHB master
interfaces.
When
a descriptor is configured, the DMA controller enables the write buffer controller to read
data from the appropriate source memory (AHB bus matrix or MSS DDR bridge) and transfer it into the
internal data buffer. In a similar way, the DMA controller enables read buffer controller to read the data
from the internal data buffer and transfers it to the destination memory. The following figure shows the
detailed DMA Controller flow.
Figure 123 •
DMA Controller Flow Chart
8.2.0.4
Write Buffer Controller
The write buffer controller enables the appropriate AHB master (AHB-M1 or AHB-M2) to read the data
from source memory. To initiate read transfers on the AHB bus, the write buffer controller provides the
read address and asserts the ready signal
.
The
AHB master acknowledges, and the write buffer
controller writes the source memory data to the internal data buffer.
If the data buffer is full, the write buffer controller initiates idle transfers on the AHB bus, and asserts
ready signal when at least one data buffer is available. The write buffer controller pauses the DMA
transfers when the descriptor pause bit is enabled, and resumes the transfers as soon as the pause bit is
disabled. When the last count value is reached, the AHB slave acknowledges the last transfer.
Reset
Is Descriptor
valid?
Data
Transfer
direction = 1
Enable write buffer
controller to read
data from MSS DDR
bridge and write to
internal data buffer
Transfer size
bytes are
transferred to
destination
memory
successfully
NO
YES
ERROR
YES
Enable Read
buffer controller
to send data from
internal data
buffer to
MSS DDR bridge
Enable write buffer
controller to read
data from AHB bus
matrix and write to
internal data buffer
NO
YES
NO
Enable read
buffer controller
to send data from
internal data buffer
to AHB bus matrix
Load Descriptor to
internal registers
Update DMA
Status and
Debug registers