STM32F103ZET6---DMA簡介

wsq_666發表於2020-09-26

STM32 最多有 2 個 DMA 控制器(DMA2 僅存在大容量產品中), DMA1 有 7 個通道。 DMA2 有 5個通道。每個通道專門用來管理來自於一個或多個外設對儲存器訪問的請求。還有一個仲裁來協調各個 DMA 請求的優先權。
在這裡插入圖片描述
在這裡插入圖片描述
DMA主要特性
● 12個獨立的可配置的通道(請求): DMA1有7個通道, DMA2有5個通道
● 每個通道都直接連線專用的硬體DMA請求,每個通道都同樣支援軟體觸發。這些功能通過
軟體來配置。
● 在同一個DMA模組上,多個請求間的優先權可以通過軟體程式設計設定(共有四級:很高、高、
中等和低),優先權設定相等時由硬體決定(請求0優先於請求1,依此類推) 。
● 獨立資料來源和目標資料區的傳輸寬度(位元組、半字、全字),模擬打包和拆包的過程。源和目
標地址必須按資料傳輸寬度對齊。
● 支援迴圈的緩衝器管理
● 每個通道都有3個事件標誌(DMA半傳輸、 DMA傳輸完成和DMA傳輸出錯),這3個事件標誌
邏輯或成為一個單獨的中斷請求。
● 儲存器和儲存器間的傳輸
● 外設和儲存器、儲存器和外設之間的傳輸
● 快閃記憶體、 SRAM、外設的SRAM、 APB1、 APB2和AHB外設均可作為訪問的源和目標。
● 可程式設計的資料傳輸數目:最大為65535
在這裡插入圖片描述
DMA處理
在這裡插入圖片描述
仲裁器
在這裡插入圖片描述
迴圈模式
在這裡插入圖片描述

指標增量
在這裡插入圖片描述

中斷
在這裡插入圖片描述

配置過程
在這裡插入圖片描述