第21章 DMA——直接存储器访问

21.1DMA简介

DMA:Direct Memory Access,直接存储器访问。主要功能是可以把数据从一个地方搬到另外一个地方,而且不占用CPU。

DMA1:有7个通道,可以实现 P->M,M->P, M->M

DMA2:有7个通道,可以实现 P->M,M->P,M->M

21.2DMA功能框图讲解

第21章 DMA——直接存储器访问

1-DMA请求

DMA有DMA1和DMA2两个控制器,DMA1有7个通道,DMA2有5个通道,不同DMA控制器的通道对应不同的外设请求,这决定了在软件编程上该怎么设置,具体的DMA请求映像表如下:

DMA1各个通道的请求映像:

第21章 DMA——直接存储器访问

DMA2各个通道的请求映像:

第21章 DMA——直接存储器访问

ADC3/SDIO/TIM8 的DMA请求只有大容量的单片机才有

2-通道

DMA具有12个独立可编程的通道,DMA1有7个通道,DMA2有5个通道,每个通道对应不同外设的DMA请求。虽然每个通道可以接收多个外设的请求,但是同一时间只能接收一个,不能同时接收多个。

3-仲裁器

仲裁器管理DMA请求分为两个阶段

软件阶段,DMA_CCRx:PL[1:0]。

硬件阶段,通道编号小的优先级大,DMA1的优先级高于DMA2的优先级。

21.3 DMA数据配置

1.从哪里来,到哪里去

2.要传多少,单位是什么

3.什么时候传输完成

21.4DMA初始化结构体

第21章 DMA——直接存储器访问