AT32F435/437 EDMA使用指南
本帖最后由 hoop 于 2021-12-20 20:40 编辑AT32F435/437 EDMA使用指南
前言
AT32 的 EDMA 控制器功能比较强大,支持 8 个数据流通道且外设的 DMA 请求可映射到任意数据流上、数据的打包与拆包、FIFO 开启与关闭、burst 数据传输模式、存储器端的双 buffer 模式、可配置数据链传输、二维传输。本文主要就 EDMA 的基本功能进行讲解和案列解析。
支持型号
AT32F435xx
AT32F437xx
目录
1 EDMA 简介 ................................................ 6
2 DMAMUX 简介............................................ 7
3 EDMA 功能解析.......................................... 9
4 EDMA 配置解析.......................................... 17
5 案例 数据从 FLASH 传输到 SRAM................ 19
6 案例 EDMA 突发传输.................................. 22
7 案例 EDMA 双缓冲区.................................. 26
8 案例 EDMA 链接列表传输........................... 31
9 案例 EDMA 二维传输.................................. 35
10 文档版本历史 .......................................... 38
DMA 简介
EDMA 控制器的作用不仅在增强系统性能并减少处理器的中断生成,而且还针对 32 位 MCU 应用程序专门优化设计。EDMA 控制器为存储器到存储器,存储器到外设和外设到存储器的传输提供了八个数据流通道。每个通道都支持外设的 DMA 请求映射到任意数据流上、数据的打包与拆包、FIFO开启与关闭、burst 数据传输模式、存储器端的双 buffer 模式、可配置数据链传输、二维传输功能。基于复杂的总线矩阵架构,将功能强大的双 AHB 总线架构与独立的 FIFO 结合在一起,优化了系统的带宽。
DMAMUX 简介
对于如何将外设的 DMA 请求映射到任意的数据流通道上,就需要使用到 DMAMUX。DMAMUX 针对每个外设都设计了独有的 ID 号,使用者只需要将此 ID 号写入对应的寄存器中并打开 DMAMUX 功能即可。DMAMUX 的引入,使得 EDMA 相较于传统 DMA 控制器变得更加灵活,使用者可以随意的分配 8 个数据流通道的使用情况,不必再纠结与某个 IP 的 DMA 请求只能固定使用在某个或某几个通道上。
详细的功能介绍请参阅附件源文档。
页:
[1]