STM32F4系列DMA内部结构简介
DMA控制器数量
STM32F4系列微控制器有两个DMA控制器,分别为DMA控制器1和DMA控制器2。
DMA控制器端口
每个DMA控制器提供两个 AHB 主端口,AHB 存储器端口(用于连接存储器)和 AHB 外设端口 (用于连接外设)。
如果要执行存储器到存储器
的传输,AHB 外设端口必须也能访问存储器(F4系列仅DMA控制器2可以)。
DMA数据流
每个DMA控制器提供8个数据流,8 个 DMA 控制器数据流都能够提供源和目标之间的单向传输链路。
8 个 DMA 控制器数据流通过一个仲裁器进行DMA请求管理,以解决多个DMA同时请求的问题。
DMA通道
每个数据流都有8个通道可以选择,根据不同的产品需求,可以选择映射到8个通道中的一个。
FIFO(先进先出存储器缓冲区)
每个数据流有单独的四级32位先进先出存储器缓冲区 (FIFO)。
DMA控制器的系统实现
DMA1 控制器AHB 外设端口与 DMA2 控制器的情况不同,不连接到总线矩阵,因此,仅 DMA2 数据流能够执行存储器到存储器
的传输。
两个DMA控制器主要是通道映射、端口连接 和总线矩阵连接不同。