AT32讲堂049 | 雅特力AT32F435/437 DMA使用指南

dma简介
dma控制器的作用不仅在增强系统性能并减少处理器的中断生成,而且还针对32位mcu应用程序专门优化设计。dma控制器为存储器到存储器,存储器到外设和外设到存储器的传输提供了7个通道。每个通道都支持外设的dma请求映射到任意通道上。图1. dma控制器架构
dmamux简介
对于如何将外设的dma请求映射到任意的数据流通道上,就需要使用到dmamux。dmamux针对每个外设都设计了独有的id号,使用者只需要将此id号写入对应的寄存器中并打开dmamux功能即可。dmamux的引入,使得dma相较于传统dma控制器变得更加灵活,使用者可以随意的分配7个通道的使用情况,不必再纠结与某个ip的dma请求只能固定使用在某个或某几个通道上。
各ip对应id号如下表:
表1. 各ip对应id号列表注:表格中“dmamux请求”为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
配置dmamux
在m2p与p2m模式下,必须配置dmamux,否则dma不会响应外设dma请求。dmamux的作用是为外设的dma请求复用通道,即任何一个外设的dma请求可以映射到dma1/dma2的任意通道,这大大增加了dma通道分配的灵活性。
配置dmamux比较减到,只需调用专门提供的两个接口函数即可:
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寄存器的内容会恢复成初始值。
使能dmamux(muxsel寄存器的tbl_sel位)
在非存储器到存储器(m2m)模式下时,需要使能dmamux功能,才能启动数据流响应外设的dma请求。
写入外设id号(muxcxctrl寄存器的reqsel)
在非存储器到存储器(m2m)模式下时,需要将外设的dma请求id号写入,才能启动数据流响应外设的dma请求。
打开数据流(cxctrl寄存器的chen位)
配置流程
打开dma时钟;调用通道复位函数复位数据流;调用结构体初始化函数初始化通道配置结构体;调用初始化函数初始化通道;调用dmamux使能函数以及id号写入函数配置dmamux相关内容;调用通道使能函数开启通道。
关于雅特力雅特力科技于2016年成立,是一家致力于推动全球市场32位微控制器(mcu)创新趋势的芯片设计公司,专注于arm cortex-m4/m0+的32位微控制器研发与创新,全系列采用55nm先进工艺及arm cortex-m4高效能或m0+低功耗内核,缔造m4业界最高主频288mhz运算效能,并支持工业级别芯片工作温度范围(-40°~105°)。雅特力目前已累积相当多元的终端产品成功案例:如微型打印机、扫地机、光流无人机、热成像仪、激光雷达、工业缝纫机、伺服驱控、电竞周边市场、断路器、adas、t-box、数字电源、电动工具等终端设备应用,广泛地覆盖5g、物联网、消费、商务及工控等领域。

氧化硅刻蚀速率的提高方法
广州智能电网场景:5G技术+无人机=实时“天眼系统”
Intel公司的5G基带专利已经从拍卖市场撤出
传HTC可能反击苹果 收购威盛专利
关于微机消谐装置,它的主要优势都有哪些
AT32讲堂049 | 雅特力AT32F435/437 DMA使用指南
石墨出口管制对锂电池出口和负极材料出口影响几何?
霍尔电压传感器的优势及应用领域
高压差分探头TDP1000的测试步骤详解
EN62471光生物安全测试标准
4个PCB市场的未来发展方向
Facebook推了一项新计划 遭全球“围攻”
中国联通玩出5G新花样 将短视频引入彩铃设置
光子集成又一重大技术突破!光子电路放置纳米线成为现实
RECOM R-78XX系列低功耗电源转换器应用指南
自动化控制模块PLC免受瞬态浪涌的方案
电感如何选择与评估板相匹配的PCB封装
大族半导体第1000台LED芯片分选机正式交付
联想G450配置拆机揭秘:联想G450清灰详细教程
高通CEO雅各布斯:不排除自建芯片厂可能性