STMicroelectronics AN2548 STM32F101xx/STM32F103xx DMA Controller Application Note

This document describes how to use the DMA controller of STM32F101xx and STM32F103xx, including the main features of DMA and performance analysis. It also provides programming examples of using the DMA controller, including obtaining ADC continuous sampling data using SPI transmission and achieving fast data transfer with GPIO using DMA.


STMicroelectronics AN2548 STM32F101xx/STM32F103xx DMA Controller Application Note - cover page
Brand
STMicroelectronics
Category
microcontrollers
Document type
Application Note
Language
Chinese
Pages
9
File format
PDF
File size
142 KB
Published
07 August, 2012
Updated
29 September, 2023
Model
AN2548
MD5 checksum
0222AEEFF4D810F66979F8ED7FC1A791

About this manual

This application note describes how to use the Direct Memory Access (DMA) controller on STM32F101xx and STM32F103xx microcontrollers. It explains how the DMA controller, Cortex-M3 core, and AMBA bus architecture enable high data bandwidth and low-latency software development. The document also details how to fully utilize these features and ensure correct response times for different peripherals and subsystems.

The note covers the main characteristics of the DMA controller, including its seven channels, hardware and software priority settings, and support for various data transfer modes. It provides a performance analysis of the polling priority scheme, multi-level bus structures, and data bus bandwidth limitations. Finally, it includes programming examples for using DMA with SPI and ADC peripherals. This manual is written in Chinese.

What's inside

  • Introduction
  • DMA Controller Overview
  • Main DMA Features
  • Performance Analysis
  • Polling Priority Scheme
  • Multi-level Structure and Bus Arbitration
  • DMA Delay
  • Data Bus Bandwidth Limitations
  • Channel Priority Selection
  • DMA Programming Examples

Specifications

Number of DMA Channels7 channels (Channel 1 to 7)
Supported Transfer ModesMemory-to-Memory, Memory-to-Peripheral, Peripheral-to-Memory, Peripheral-to-Peripheral
Maximum Data Words per Transfer65536 data words
Bus Arbitration Time1 AHB clock cycle
Peripheral Access Time1 AHB clock cycle + 2 APB clock cycles + 1 AHB clock cycle
SRAM Read/Write Time1 AHB clock cycle (single operation) or 2 AHB clock cycles (read then write)

Frequently asked questions

What microcontrollers does this application note cover?

This application note covers the STM32F101xx and STM32F103xx series microcontrollers.

How many DMA channels are available on these microcontrollers?

There are 7 DMA channels available, numbered from Channel 1 to Channel 7.

What is the maximum number of data words that can be transferred in a single operation?

The DMA controller can transfer up to 65536 data words.

Can the DMA controller transfer data between two peripherals directly?

Yes, it supports Peripheral-to-Peripheral data transfer in addition to memory-based transfers.

Download PDF (142 KB)

More STMicroelectronics Manuals


View all STMicroelectronics manuals →