DocID018909 Rev 11
309/1731
RM0090
DMA controller (DMA)
340
After an event, the peripheral sends a request signal to the DMA controller. The DMA
controller serves the request depending on the channel priorities. As soon as the DMA
controller accesses the peripheral, an Acknowledge signal is sent to the peripheral by the
DMA controller. The peripheral releases its request as soon as it gets the Acknowledge
signal from the DMA controller. Once the request has been deasserted by the peripheral,
the DMA controller releases the Acknowledge signal. If there are more requests, the
peripheral can initiate the next transaction.
10.3.3 Channel
selection
Each stream is associated with a DMA request that can be selected out of 8 possible
channel requests. The selection is controlled by the CHSEL[2:0] bits in the DMA_SxCR
register.
Figure 35. Channel selection
The 8 requests from the peripherals (TIM, ADC, SPI, I2C, etc.) are independently connected
to each channel and their connection depends on the product implementation.
See the following table(s) for examples of DMA request mappings.
REQ_
S
TREAMx
REQ_
S
TRx_CH7
REQ_
S
TRx_CH6
REQ_
S
TRx_CH5
REQ_
S
TRx_CH4
REQ_
S
TRx_CH
3
REQ_
S
TRx_CH2
REQ_
S
TRx_CH1
REQ_
S
TRx_CH0
CH
S
EL[2:0]
3
1
29
27
0
DMA_
S
xCR
a
i15947
Table 42. DMA1 request mapping
Peripheral
requests
Stream 0
Stream 1
Stream 2
Stream 3
Stream 4
Stream 5
Stream 6
Stream 7
Channel 0
SPI3_RX
SPI3_RX
SPI2_RX
SPI2_TX
SPI3_TX
SPI3_TX
Channel 1
I2C1_RX
TIM7_UP
TIM7_UP
I2C1_RX
I2C1_TX
I2C1_TX
Channel 2
TIM4_CH1
I2S3_EXT_
RX
TIM4_CH2
I2S2_EXT_
TX
I2S3_EXT_
TX
TIM4_UP
TIM4_CH3
Channel 3
I2S3_EXT_
RX
TIM2_UP
TIM2_CH3
I2C3_RX
I2S2_EXT_
RX
I2C3_TX
TIM2_CH1
TIM2_CH2
TIM2_CH4
TIM2_UP
TIM2_CH4
Channel 4
UART5_RX
USART3_RX
UART4_RX
USART3_TX
UART4_TX
USART2_RX
USART2_TX
UART5_TX
Channel 5
UART8_TX(1)
UART7_TX
TIM3_CH4
TIM3_UP
UART7_RX
TIM3_CH1
TIM3_TRIG
TIM3_CH2
UART8_RX
TIM3_CH3