AT32F435/437 EDMA使用指南
前言
AT32 的 EDMA 控制器功能比较强大,支持 8 个数据流通道且外设的 DMA 请求可映射到任意数据流 上、数据的打包与拆包、FIFO 开启与关闭、burst 数据传输模式、存储器端的双 buffer 模式、可配置 数据链传输、二维传输。本文主要就 EDMA 的基本功能进行讲解和案列解析。
支持型号
AT32F435xx
AT32F437xx
目录
1 EDMA 简介 ................................................... 6
2 DMAMUX 简介............................................ 7
3 EDMA 功能解析........................................... 9
3.1 FIFO 功能.................................................... 9
3.1.1 功能介绍...................................................9
3.1.2 软件接口.................................................10
3.2 突发传输功能........................................... 10
3.2.1 功能介绍.................................................10
3.2.2 软件接口.................................................11
3.3 存储器端双缓存区功能.......................... 12
3.3.1 功能介绍................................................12
3.3.2 软件接口................................................12
3.4 链接列表传输功能.................................. 12
3.4.1 功能介绍................................................12
3.4.2 软件接口................................................13
3.5 二维处理功能.......................................... 14
3.5.1 功能介绍................................................14
3.5.2 软件接口................................................15
4 EDMA 配置解析....................................... 17
4.1 函数接口.................................................. 17
4.2 数据流配置 ............................................ 17
4.3 配置流程................................................. 18
5 案例 数据从 FLASH 传输到 SRAM.... 19
5.1 功能简介................................................. 19
5.2 资源准备................................................. 19
5.3 软件设计................................................. 19
5.4 实验效果................................................. 21
6 案例 EDMA 突发传输............................ 22
6.1 功能简介................................................. 22
6.2 资源准备................................................. 22
6.3 软件设计................................................. 22
6.4 实验效果................................................ 25
7 案例 EDMA 双缓冲区........................... 26
7.1 功能简介............................................... 26
7.2 资源准备............................................... 26
7.3 软件设计............................................... 26
7.4 实验效果............................................... 30
8 案例 EDMA 链接列表传输.................. 31
8.1 功能简介............................................... 31
8.2 资源准备............................................... 31
8.3 软件设计............................................... 31
8.4 实验效果............................................... 34
9 案例 EDMA 二维传输........................... 35
9.1 功能简介............................................... 35
9.2 资源准备............................................... 35
9.3 软件设计............................................... 35
9.4 实验效果............................................... 37
10 文档版本历史 ....................................... 38
EDMA 简介
EDMA 控制器的作用不仅在增强系统性能并减少处理器的中断生成,而且还针对 32 位 MCU 应用程 序专门优化设计。EDMA 控制器为存储器到存储器,存储器到外设和外设到存储器的传输提供了八 个数据流通道。每个通道都支持外设的 DMA 请求映射到任意数据流上、数据的打包与拆包、FIFO 开启与关闭、burst 数据传输模式、存储器端的双 buffer 模式、可配置数据链传输、二维传输功能。 基于复杂的总线矩阵架构,将功能强大的双 AHB 总线架构与独立的 FIFO 结合在一起,优化了系统 的带宽。
DMAMUX 简介
对于如何将外设的 DMA 请求映射到任意的数据流通道上,就需要使用到 DMAMUX。DMAMUX 针 对每个外设都设计了独有的 ID 号,使用者只需要将此 ID 号写入对应的寄存器中并打开 DMAMUX 功 能即可。DMAMUX 的引入,使得 EDMA 相较于传统 DMA 控制器变得更加灵活,使用者可以随意的 分配 8 个数据流通道的使用情况,不必再纠结与某个 IP 的 DMA 请求只能固定使用在某个或某几个 通道上。
详细的功能介绍请参考附件源文档。