AT32讲堂058 | 雅特力AT32F425 DMA使用指南

dma简介
idma控制器的作用不仅在增强系统性能并减少处理器的中断生成,而且还针对32位mcu应用程序专门优化设计。dma控制器为存储器到存储器,存储器到外设和外设到存储器的传输提供了7个通道。每个通道都支持外设的dma请求映射到任意通道上。图1. dma控制器架构
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号列表注:表格中“chx_src”为id号;“请求来源”为各ip的dma请求。
dma功能解析
可编程数据宽度
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
配置dma弹性映射
在m2p与p2m模式下,必须配置dma弹性映射,否则dma不会响应外设dma请求。dma弹性映射的作用是为外设的dma请求复用通道,即任何一个外设的dma请求可以映射到dma1的任意通道,这大大增加了dma通道分配的灵活性。配置dma弹性映射比较简单,只需调用专门提供的接口函数即可:
dma配置解析
以下对dma的配置接口及流程进行说明。
函数接口
表2. 通道配置函数列表
数据流配置
设置外设地址(cxpaddr寄存器)
数据传输的初始外设地址,在传输过程中不可被改变。
设置存储器地址(cxmaddr寄存器)
数据传输的初始内存地址,在传输过程中不可被改变。
配置数据传输量(cxdtcnt寄存器)
可编程的传输数据长度最大为65535。在传输过程中,该传输数据量的值会逐渐递减。
数据流配置(cxctrl寄存器)
包含通道优先级,数据传输的方向、宽度、地址增量模式、循环模式和中断方式。
优先级(chpl)
分为4个等级,最高优先级、高优先级、中等优先级和低优先级。
若有2个流优先级设定相同,则较低编号的流有较高的优先权。举例,通道1优先于通道2。
数据传输方向(dtd)
分为存储器到外设(m2p),外设到存储器(p2m)或存储器到存储器(m2m)传输。在存储器到存储器传输模式下不允许使用循环模式、双缓冲模式和直接模式。
数据传输宽度(pwidth/mwidth)
根据实际使用情景,可配置宽度为byte、halfword、word。
地址增量模式(pincm/mincm)
当通道配置设定为增量模式时,下一笔传输的地址将是前一笔传输地址加上传输宽度(pwidth/mwidth)。
循环模式(lm)
当流配置设定为循环模式时,在最后一次传输后cxdtcnt寄存器的内容会恢复成初始值。
配置dma弹性映射(dma_src_selx寄存器的chx_src)
在非存储器到存储器(m2m)模式下时,需要将外设的dma请求dma请求号写入,才能启动通道响应外设的dma请求。
打开通道(cxctrl寄存器的chen位)
配置流程
打开dma时钟;
调用通道复位函数复位数据流;
调用结构体初始化函数初始化通道配置结构体;
调用初始化函数初始化通道;
调用dma请求映射使能函数配置弹性映射功能;
调用通道使能函数开启通道。

准谐振反激转换器的峰值功率能力及如何处理峰值功率要求
注入现代化履责全新力量!德力西电气再获社会责任大会“奥纳奖”
大型原油储罐设计中主要安全问题探讨及对策
395MHz-455MHz Doherty放大器一种紧凑型实现方法
网络切片的成功定能带动整个5G业务和应用走向新的高峰
AT32讲堂058 | 雅特力AT32F425 DMA使用指南
怎样做好电动机起动前的准备工作?
明天发布?华为P10:曲面来袭,三星S7edge跟荣耀8的结合体?
nRF7002 Wi-Fi 6协同IC以及nRF7002开发套件
我们如何将AIoT融入工业应用以及它会给我们带来什么益处?
LED透明屏需求增长 有望为户外广告创造一片新的蓝海
移动设备的充电和电量计量
NFV和SDN之间的关系是什么
AD9649BCPZ-65 14位、20/40/65/80 MSPS、1.8 V模数转换器
自制简易捕鼠夹
因新款iPhone热销富士康9月收入增长超30% 将创下新高
安谋科技亮相ICCAD 2023:聚焦本土创新,拥抱智能计算芯时代
xSPI NOR Flash的“x”代表什么?
英伟达嵌入式计算平台让神经网络走进终端设备
M1 Mac运行win10的网卡、声卡和多款x86软件已正常运行