打印
[应用相关]

AN0123—AT32F425 DMA使用指南

[复制链接]
839|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
AN, DM
本帖最后由 ArterySW 于 2022-2-22 19:02 编辑

AT32F425 DMA使用指南

前言
AT32F425 拥有1 个DMA 控制器(DMA1),支持7 个通道且外设的DMA 请求可映射到任意通道上。本文主要就DMA 的基本功能进行讲解和案列解析。


支持型号列表:
AT32F425xx

目录
1 DMA 简介 ................................................................................... 5
2 DMA 请求弹性映射简介 ............................................................. 6
3 DMA 功能解析 ........................................................................... 7
3.1 可编程数据宽度 .......................................................................... 7
3.2 配置DMA 弹性映射 .................................................................... 7
4 DMA 配置解析 ........................................................................... 8
4.1 函数接口 ..................................................................................... 8
4.2 数据流配置 ................................................................................. 8
4.3 配置流程 ..................................................................................... 9
5 案例 数据从FLASH 传输到SRAM ....................................... 10
5.1 功能简介 ................................................................................... 10
5.2 资源准备 ................................................................................... 10
5.3 软件设计 ................................................................................... 10
5.4 实验效果 .................................................................................... 11
6 案例 TMR 产生DMA 请求将数据从SRAM 传输到GPIO ....... 12
6.1 功能简介 ................................................................................... 12
6.2 资源准备 ................................................................................... 12
6.3 软件设计 ................................................................................... 12
6.4 实验效果 ................................................................................... 14
7 文档版本历史 ........................................................................... 15


1 DMA 简介
DMA 控制器的作用不仅在增强系统性能并减少处理器的中断生成,而且还针对32 位MCU 应用程序
专门优化设计。DMA 控制器为存储器到存储器,存储器到外设和外设到存储器的传输提供了7 个通
道。每个通道都支持外设的DMA 请求映射到任意通道上。
图1. DMA 控制器架构



2 DMA 请求弹性映射简介
在使用AT43F425xx 系列DMA 时,必须配置DMA 请求弹性映射功能,否则DMA 不会运作。DMA 请
求弹性映射可将任意一个外设产生的DMA 请求映射到通道1 到通道7 中的任意一个通道。
当设定弹性模式时(DMA_FLEX_EN = 1),每个通道的请求来源由CHx_SRC 来设定[x=1~7]。使用
例子: 假如DMA 通道1 指定成I2C1_TX,通道3 要指定成I2C1_RX,其他不使用,则设定上必须
是DMA_FLEX_EN=1,CH1_SRC=11,CH3_SRC=10,CH[2/4/5/6/7]_SRC=0。
CHx_SRC 设定值对应请求来源见下表:
各IP 对应ID 号如下表:
表1. 各IP 对应ID 号列表



3 DMA 功能解析
3.1 可编程数据宽度
DMA 控制器的通道可支持传输不同数据宽度,byte/halfword/word。通过DMA_CxCTRL 中的PWIDTH
和MWIDTH 位可以对源数据和目标数据的数据宽度进行编程,通常情况下需要设置PWIDTH 和
MWIDTH 位相等,当PWIDTH 不等于MWIDTH 时,会依据PWIDTH/ MWIDTH 设定将资料对齐。
图2. PWIDTH: byte, MWIDTH: half-word


图3. PWIDTH: half-word, MWIDTH: word


以上为内容简介,详细内容请参考附件:
AN0123_AT32F425_DMA_Application_Note_ZH_V2.0.0.pdf (452.71 KB)

使用特权

评论回复
沙发
robertesth| | 2022-3-3 22:30 | 只看该作者
支持7通道吗  

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

179

主题

274

帖子

10

粉丝