EasyManuals Logo

ST STM32F412 User Manual

ST STM32F412
1163 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #195 background imageLoading...
Page #195 background image
RM0402 Rev 6 195/1163
RM0402 Direct memory access controller (DMA)
230
9 Direct memory access controller (DMA)
9.1 DMA introduction
Direct memory access (DMA) is used in order to provide high-speed data transfer between
peripherals and memory and between memory and memory. Data can be quickly moved by
DMA without any CPU action. This keeps CPU resources free for other operations.
The DMA controller combines a powerful dual AHB master bus architecture with
independent FIFO to optimize the bandwidth of the system, based on a complex bus matrix
architecture.
The two DMA controllers (DMA1, DMA2) have 8 streams each, dedicated to managing
memory access requests from one or more peripherals.
Each stream can have up to 8 channels (requests) in total.
Each DMA controller has an arbiter for handling the priority between DMA requests.
9.2 DMA main features
The main DMA features are:
Dual AHB master bus architecture, one dedicated to memory accesses and one
dedicated to peripheral accesses
AHB slave programming interface supporting only 32-bit accesses
8 streams for each DMA controller, up to 8 channels (requests) per stream
Four-word depth 32 first-in, first-out memory buffers (FIFOs) per stream, that can be
used in FIFO mode or direct mode:
FIFO mode: with threshold level software selectable between 1/4, 1/2 or 3/4 of the
FIFO size
Direct mode: each DMA request immediately initiates a transfer from/to the
memory. When it is configured in direct mode (FIFO disabled), to transfer data in
memory-to-peripheral mode, the DMA preloads only one data from the memory to
the internal FIFO to ensure an immediate data transfer as soon as a DMA request
is triggered by a peripheral.
Each stream can be configured to be:
a regular channel that supports peripheral-to-memory, memory-to-peripheral and
memory-to-memory transfers
a double buffer channel that also supports double buffering on the memory side
Priorities between DMA stream requests are software-programmable (four levels
consisting of very high, high, medium, low) or hardware in case of equality (for
example, request 0 has priority over request 1)
Each stream also supports software trigger for memory-to-memory transfers (only
available for the DMA2 controller)
Each stream request can be selected among up to 8 possible channel requests. This
selection is software-configurable and allows several peripherals to initiate DMA
requests
The number of data items to be transferred can be managed either by the DMA
controller or by the peripheral:

Table of Contents

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the ST STM32F412 and is the answer not in the manual?

ST STM32F412 Specifications

General IconGeneral
BrandST
ModelSTM32F412
CategoryMicrocontrollers
LanguageEnglish

Related product manuals