0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

雅特力AT32F425 DMA使用指南

0739hhbb 来源:AT32 MCU 雅特力科技 2023-06-15 09:52 次阅读

DMA简介

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

图1. DMA控制器架构

wKgZomSKbvaAKwkwAACjW59AFV4608.png

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号列表

wKgaomSKbvaAKj5EAAIR6QQuWdE605.png

注:表格中“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

wKgaomSKbvaAF6myAABdXVT_M-k959.png

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

wKgZomSKbvaAEeaUAABdIUQeCHo090.png

配置DMA弹性映射

在M2P与P2M模式下,必须配置DMA弹性映射,否则DMA不会响应外设DMA请求。DMA弹性映射的作用是为外设的DMA请求复用通道,即任何一个外设的DMA请求可以映射到DMA1的任意通道,这大大增加了DMA通道分配的灵活性。

配置DMA弹性映射比较简单,只需调用专门提供的接口函数即可:

wKgaomSKbvaAZ6X5AAA668WkwvE440.png

DMA配置解析

以下对DMA的配置接口及流程进行说明。

函数接口

表2. 通道配置函数列表

wKgZomSKbvaAFc_IAADSY0JXaLk604.png

数据流配置

设置外设地址(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请求映射使能函数配置弹性映射功能;

调用通道使能函数开启通道。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16191

    浏览量

    177369
  • 存储器
    +关注

    关注

    38

    文章

    7452

    浏览量

    163591
  • dma
    dma
    +关注

    关注

    3

    文章

    559

    浏览量

    100416
  • 雅特力
    +关注

    关注

    0

    文章

    156

    浏览量

    7974
  • AT32
    +关注

    关注

    1

    文章

    113

    浏览量

    2072

原文标题:AT32讲堂058 | 雅特力AT32F425 DMA使用指南

文章出处:【微信号:AT32 MCU 雅特力科技,微信公众号:AT32 MCU 雅特力科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    AT32F425时钟配置

    AT32F425时钟配置本应用入门指南主要介绍两部分内容:1、基于提供的V2.x.x 的板级支持包来进行时钟源码的配置及修改2、如何使
    发表于 10-25 07:49

    AT32F425 I2C使用指南

    AT32F425 I2C使用指南本文主要就I2C 总线接口的基本功能进行讲解和案例解析。
    发表于 10-25 07:39

    AT32F425 DMA使用指南

    AT32F425 DMA使用指南本文主要就DMA 的基本功能进行讲解和案列解析。
    发表于 10-25 07:52

    AT32F425 ADC使用指南

    AT32F425 ADC使用指南本文主要以ADC 的特色功能进行讲解和案列解析。
    发表于 10-25 08:29

    AT32F425入门使用指南

    AT32F425入门使用指南旨在让用户快速使用AT32F425xx 进行项目开发。
    发表于 10-26 07:46

    发布AT32F425系列Cortex®-M4 MCU

    1月18日,科技正式推出主频高达96MHz的AT32F425系列超值型微控制器新品。作为AT32 MCU家族的第三款超值型产品,AT32F42
    发表于 01-19 11:44 1062次阅读
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>发布<b class='flag-5'>AT32F425</b>系列Cortex®-M4 MCU

    AT32F425系列微控制器的简单介绍

    近日,AT32F425系列MCU在百佳泰测试认证实验室通过USB 2.0一致性测试,并取得“USB2.0 Test Report for Embedded Host”及“USB2
    的头像 发表于 03-28 11:14 5602次阅读

    科技正式推出主频高达96MHz的AT32F425系列

    AT32F425系列搭载了自行开发的sLib安全库(Security Library),可支持密码保护指定范围程序区,方案商烧录核心算法到此区域,提供给下游客户做二次开发,强化了
    的头像 发表于 08-18 14:52 1109次阅读

    USB OTG与CAN应用的开发首选 | 发布AT32F425系列超值型Cortex®-M4 MCU

    1月18日,科技正式推出主频高达96MHz的AT32F425系列超值型微控制器新品。作为AT32MCU家族的第三款超值型产品,AT32F425
    的头像 发表于 02-24 09:41 860次阅读
    USB OTG与CAN应用的开发首选 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>发布<b class='flag-5'>AT32F425</b>系列超值型Cortex®-M4 MCU

    AT32F425系列MCU获百佳泰实验室COMPLIANCE PROGRAM USB2.0测试认证

    近日,AT32F425系列MCU在百佳泰测试认证实验室通过USB2.0一致性测试,并取得“USB2.0TestReportforEmbeddedHost
    的头像 发表于 03-29 15:40 557次阅读
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32F425</b>系列MCU获百佳泰实验室COMPLIANCE PROGRAM USB2.0测试认证

    【1.18】USB OTG与CAN应用的开发首选 | 发布AT32F425系列超值型Cortex®-M4 MCU

    引言:AT32F425系列超值型Cortex-M4MCU,以超值性能、超值外设及超值价格为USBOTG应用提供高性价比入门之选,自2022年1月正式发布,产品公告发出后收到众多不
    的头像 发表于 08-19 09:48 884次阅读
    【1.18】USB OTG与CAN应用的开发首选 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>发布<b class='flag-5'>AT32F425</b>系列超值型Cortex®-M4 MCU

    AT32讲堂058 | AT32F425 DMA使用指南

    通道都支持外设的DMA请求映射到任意通道上。图1.DMA控制器架构DMA请求弹性映射简介在使用AT43F425xx系列DMA时,必须配置
    的头像 发表于 06-21 17:19 1338次阅读
    AT32讲堂058 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32F425</b> <b class='flag-5'>DMA</b><b class='flag-5'>使用指南</b>

    AT32F425 ADC使用指南

    电子发烧友网站提供《AT32F425 ADC使用指南.pdf》资料免费下载
    发表于 09-19 15:44 1次下载
    <b class='flag-5'>AT32F425</b> ADC<b class='flag-5'>使用指南</b>

    AT32F425入门使用指南

    搭建AT32开发环境一、调试工具及开发板目前AT32F425开发板都自带AT-Link-EZ调试工具,AT-Link-EZ如下图左边红框所示,它也可拆开后单独搭配其他电路板使用,支持IDE在线调试、在线烧录、USB转串口等功能。图1.AT32F425
    的头像 发表于 11-10 08:15 2435次阅读
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32F425</b>入门<b class='flag-5'>使用指南</b>

    AT32F425入门使用指南

    电子发烧友网站提供《AT32F425入门使用指南.pdf》资料免费下载
    发表于 12-18 11:14 6次下载
    <b class='flag-5'>AT32F425</b>入门<b class='flag-5'>使用指南</b>