RM0033 Rev 9 179/1381
RM0033 DMA controller (DMA)
211
See Figure 22 for the implementation of the system of two DMA controllers.
Figure 22. System implementation of the two DMA controllers
1. The DMA1 controller AHB peripheral port is not connected to the bus matrix like DMA2 controller. As a result, only DMA2
streams are able to perform memory-to-memory transfers.
9.3.2 DMA transactions
A DMA transaction consists of a sequence of a given number of data transfers. The number
of data items to be transferred and their width (8-bit, 16-bit or 32-bit) are software-
programmable.
Each DMA transfer consists of three operations:
• A loading from the peripheral data register or a location in memory, addressed through
the DMA_SxPAR or DMA_SxM0AR register
• A storage of the data loaded to the peripheral data register or a location in memory
addressed through the DMA_SxPAR or DMA_SxM0AR register
• A post-decrement of the DMA_SxNDTR register, which contains the number of
transactions that still have to be performed
DMA controller 1
AHB periph
Arbiter
AHB memory
FIFO
DMA controller 2
AHB memory
Bus matrix
(AHB
Arbiter
AHB periph
MAPPING
FIFO
External memory
Flash
memory
112 KB SRAM
AHB2 peripherals
multilayer)
AHB-APB
bridge2
(dual AHB)
APB2
APB2
AHB-APB
bridge1
(dual AHB)
APB1
APB1
peripherals
AHB slave
AHB slave
portportportport
controller (FSMC)
DMA request
peripherals
ai15946b
16 KB SRAM
AHB1 peripherals
To AHB2
peripherals
To AHB2
peripherals