DMA controller (DMA)
RM0090
306/1731
DocID018909 Rev 11
10.3
DMA functional description
10.3.1 General
description
shows the block diagram of a DMA.
Figure 32. DMA block diagram
The DMA controller performs direct memory transfer: as an AHB master, it can take the
control of the AHB bus matrix to initiate AHB transactions.
It can carry out the following transactions:
•
peripheral-to-memory
•
memory-to-peripheral
•
memory-to-memory
The DMA controller provides two AHB master ports: the
AHB memory port
, intended to be
connected to memories and the
AHB peripheral port
, intended to be connected to
peripherals. However, to allow memory-to-memory transfers, the
AHB peripheral port
must
also have access to the memories.
The AHB slave port is used to program the DMA controller (it supports only 32-bit
accesses).
See
for the implementation of the system of two DMA controllers.
AHB m
as
ter
Memory port
FIFO
AHB
m
as
te
r
Peripher
a
l port
S
TREAM 0
FIFO
S
TREAM 1
S
TR
EAM 0
S
TR
EAM 1
FIFO
S
TREAM 2
S
TR
EAM 2
FIFO
S
TREAM 7
S
TR
EAM 7
REQ_
S
TREAM0
REQ_
S
TR0_CH0
REQ_
S
TR0_CH1
DMA controller
FIFO
S
TREAM
3
S
TR
EAM
3
FIFO
S
TREAM 4
S
TR
EAM 4
FIFO
S
TREAM 5
S
TR
EAM 5
FIFO
S
TREAM 6
S
TR
EAM 6
Arbiter
REQ_
S
TREAM1
REQ_
S
TREAM2
REQ_
S
TREAM
3
REQ_
S
TREAM4
REQ_
S
TREAM5
REQ_
S
TREAM6
REQ_
S
TREAM7
REQ_
S
TR0_CH7
REQ_
S
TR1_CH0
REQ_
S
TR1_CH1
REQ_
S
TR1_CH7
REQ_
S
TR7_CH0
REQ_
S
TR7_CH1
REQ_
S
TR7_CH7
AHB
s
l
a
ve
progr
a
mming
interf
a
ce
Progr
a
mming port
Ch
a
nnel
s
election
a
i15945