• Flexible intra/inter channel synchronization at LLI level
• Programmable input control
• Request selection
• Trigger selection
• Trigger mode vs transfer granularity
• Data (block, 2D block, single/burst) or link
• Programmable output control
• Event generation vs transfer granularity
• Data (block, 2D block) or LLI or channel
• Transfer complete hardware signal generation
• Possibly used as trigger input of another channel
• No need to be cleared, unlike the flag
DMA transfer & input/output control
DMA_CxTR2
2
Channel 0
Reset
Trigger
= timer
Request
=SPI_rx
LLI0: Init LLI1: SPI RX
LLI2: I2C TX
Request
=I2C_tx
Transfer
complete
Half transfer
complete
The DMA_CxTR2 register defines the input control
(request, trigger events) and the output control (transfer
complete event) of the transfer handled by the channel x
at the LLI level.
This enables a flexible event-driven and hardware-based
scheduling of a transfer under the global control of the
software.
In the figure, a timer is used to trigger the transfer of the
data received by the SPI module. When this transfer
completes, a link to LLI2 is performed. The LLI2 handles
an I2C transmission.
When this transfer completes, a link is performed to
restore the settings related to the SPI receive transfer.
When the next timeout occurs, this sequence repeats.
The inputs of a DMA channel are:
2