DocID018909 Rev 11
319/1731
RM0090
DMA controller (DMA)
340
10.3.12 FIFO
FIFO structure
The FIFO is used to temporarily store data coming from the source before transmitting them
to the destination.
Each stream has an independent 4-word FIFO and the threshold level is software-
configurable between 1/4, 1/2, 3/4 or full.
To enable the use of the FIFO threshold level, the direct mode must be disabled by setting
the DMDIS bit in the DMA_SxFCR register.
The structure of the FIFO differs depending on the source and destination data widths, and
is described in
.
Figure 39. FIFO structure
FIFO threshold and burst configuration
Caution is required when choosing the FIFO threshold (bits FTH[1:0] of the DMA_SxFCR
register) and the size of the memory burst (MBURST[1:0] of the DMA_SxCR register): The
content pointed by the FIFO threshold must exactly match to an integer number of memory
burst transfers. If this is not in the case, a FIFO error (flag FEIFx of the DMA_HISR or
DMA_LISR register) will be generated when the stream is enabled, then the stream will be
automatically disabled. The allowed and forbidden configurations are described in the
S
o
u
rce: byte
4 word
s
byte l
a
ne 0
byte l
a
ne 1
byte l
a
ne 2
byte l
a
ne
3
1/4
1/2
3
/4
F
u
ll
Empty
B0
B1
B2
B
3
B4
B5
B6
B7
B
8
B9
B10
B 11
B12
B1
3
B14
B15
De
s
tin
a
tion: word
S
o
u
rce: byte
De
s
tin
a
tion: h
a
lf-word
4 word
s
byte l
a
ne 0
byte l
a
ne 1
byte l
a
ne 2
byte l
a
ne
3
1/4
1/2
3
/4
F
u
ll
Empty
B0
B1
B2
B
3
B4
B5
B6
B7
B
8
B9
B10
B 11
B12
B1
3
B14
B15
W0
W1
W2
W
3
H0
H1
H2
H
3
H4
H5
H6
H7
S
o
u
rce: h
a
lf-word
De
s
tin
a
tion: word
4 word
s
byte l
a
ne 0
byte l
a
ne 1
byte l
a
ne 2
byte l
a
ne
3
1/4
1/2
3
/4
F
u
ll
Empty
H0
W0
W1
W2
W
3
H1
H2
H
3
H4
H5
H6
H7
B15 B14 B1
3
B12 B11 B10 B9 B
8
B7 B6 B5 B4 B
3
B2 B1 B0
B15 B14 B1
3
B12 B11 B10 B9 B
8
B7 B6 B5 B4 B
3
B2 B1 B0
H7 H6 H5 H4 H
3
H2 H1 H0
H7, H6, H5, H4, H
3
, H2, H1, H0
W
3
, W2, W1, W0
W
3
, W2, W1, W0
S
o
u
rce: h
a
lf-word
4-word
s
byte l
a
ne 0
byte l
a
ne 1
byte l
a
ne 2
byte l
a
ne
3
1/4
1/2
3
/4
F
u
ll
Empty
De
s
tin
a
tion: byte
H7 H6 H5 H4 H
3
H2 H1 H0
B0
B1
B2
B
3
B4
B5
B6
B7
B
8
B9
B10
B 11
B12
B1
3
B14
B15
H0
H1
H2
H
3
H4
H5
H6
H7
B15 B14 B1
3
B12 B11 B10 B9 B
8
B7 B6 B5 B4 B
3
B2 B1 B0
a
i15951