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

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

3天内不再提示

雅特力AT32F423 DMA使用指南

雅特力 AT32 MCU 2024-02-22 08:13 次阅读

DMA简介

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

DMAMUX简介

对于如何将外设的DMA请求映射到任意的数据流通道上,就需要使用到DMAMUX。DMAMUX针对每个外设都设计了独有的ID号,使用者只需要将此ID号写入对应的寄存器中并打开DMAMUX功能即可。DMAMUX的引入,使得DMA相较于传统DMA控制器变得更加灵活,使用者可以随意的分配7个通道的使用情况,不必再纠结与某个IP的DMA请求只能固定使用在某个或某几个通道上。各IP对应ID号如下表:表1. 各IP对应ID号列表43adf0d6-d117-11ee-9118-92fbcf53809c.png注:表格中“DMAMUX请求”为ID号;“来源”为各IP的DMA请求。

DMA功能解析

编程数据宽度

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

配置DMAMUX

在M2P与P2M模式下,必须配置DMAMUX,否则DMA不会响应外设DMA请求。DMAMUX的作用是为外设的DMA请求复用通道,即任何一个外设的DMA请求可以映射到DMA1/DMA2的任意通道,这大大增加了DMA通道分配的灵活性。配置DMAMUX比较简单,只需调用专门提供的两个接口函数即可:43d12f24-d117-11ee-9118-92fbcf53809c.png

配置请求生成器模块

在配置了DMAMUX时,可选择配置DMA请求生成器模块,模块一共有4个请求生成器通道。此模块无需任何传统外设(如TIMER、SPI等)提供DMA请求,可通过外部EXINT输入作为DMA请求源输入。配置请求生成器模块较为简单,只需调用专门提供的接口函数即可:43d53664-d117-11ee-9118-92fbcf53809c.png

配置请求同步模块

在配置了DMAMUX时,可选择配置DMA同步模块,模块一共有7个同步通道。使能此功能后,当外设产生DMA请求时,DMA不会马上响应并传输数据,而是要等待同步信号的到来,当接收到同步信号后,DMA才会根据配置传输数据;同步信号可由外部EXINT输入提供配置同步模块较为简单,只需调用专门提供的接口函数即可:43ebb2ae-d117-11ee-9118-92fbcf53809c.png

DMA配置解析

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

函数接口

表2. 通道配置函数列表43f024e2-d117-11ee-9118-92fbcf53809c.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寄存器的内容会恢复成初始值。
  • 使能DMAMUX(MUXSEL寄存器的TBL_SEL位)在非存储器到存储器(M2M)模式下时,需要使能DMAMUX功能,才能启动数据流响应外设的DMA请求。
  • 写入外设ID号(MUXCxCTRL寄存器的REQSEL)在非存储器到存储器(M2M)模式下时,需要将外设的DMA请求ID号写入,才能启动数据流响应外设的DMA请求。
  • 打开数据流(CxCTRL寄存器的CHEN位)

配置流程

  • 打开DMA时钟
  • 调用通道复位函数复位数据流;
  • 调用结构体初始化函数初始化通道配置结构体;
  • 调用初始化函数初始化通道;
  • 调用DMAMUX使能函数以及ID号写入函数配置DMAMUX相关内容;
  • 调用通道使能函数开启通道。

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

    关注

    112

    文章

    16332

    浏览量

    177803
  • dma
    dma
    +关注

    关注

    3

    文章

    560

    浏览量

    100544
  • 雅特力
    +关注

    关注

    0

    文章

    157

    浏览量

    8004
收藏 人收藏

    评论

    相关推荐

    AT32F423时钟配置入门指南

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

    AT32F423 DMA使用指南

    AT32F423 拥有 2 个 DMA 控制器(DMA1/DMA2),每个 DMA 支持 7 个通道且外设的
    发表于 10-26 06:51

    AT32F423入门使用指南

    AT32F423入门使用指南旨在让用户快速使用AT32F423xx 进行项目开发。
    发表于 10-26 06:37

    正式推出AT32F423系列超值型Cortex-M4F MCU

    AT32F423系列MCU最高主频为150MHz,提供多达256KB Flash和48KB SRAM,包含1个高阶外部储存器(XMC)扩展,兼容8080/6800模式作为LCD并口。
    发表于 04-21 10:47 386次阅读
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>正式推出<b class='flag-5'>AT32F423</b>系列超值型Cortex-M4<b class='flag-5'>F</b> MCU

    发布超值型AT32F423系列MCU,以高性价比抢攻高性能应用市场

    4月20日,正式推出AT32F423系列超值型Cortex-M4F MCU,内建单精度浮点运算单元(FPU),支持多管脚及封装选择,具
    的头像 发表于 04-21 11:05 1026次阅读
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>发布超值型<b class='flag-5'>AT32F423</b>系列MCU,以高性价比抢攻高性能应用市场

    发布超值型AT32F423系列MCU,以高性价比抢攻高性能应用市场

    4月20日,正式推出AT32F423系列超值型Cortex-M4F MCU,内建单精度浮点运算单元(FPU),支持多管脚及封装选择,具
    的头像 发表于 04-21 13:49 599次阅读
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>发布超值型<b class='flag-5'>AT32F423</b>系列MCU,以高性价比抢攻高性能应用市场

    力推出AT32F423系列超值型Cortex-M4F MCU

    AT32F423系列MCU最高主频为150MHz,提供多达256KB Flash和48KB SRAM,包含1个高阶外部储存器(XMC)扩展,兼容8080/6800模式作为LCD并口。
    发表于 04-23 14:25 357次阅读
    <b class='flag-5'>雅</b><b class='flag-5'>特</b>力推出<b class='flag-5'>AT32F423</b>系列超值型Cortex-M4<b class='flag-5'>F</b> MCU

    重磅!发布全新超值型AT32F423系列MCU,以高性价比抢攻高性能应用市场

    4月20日,正式推出AT32F423系列超值型Cortex-M4FMCU,内建单精度浮点运算单元(FPU),支持多管脚及封装选择,具备高效能、高集成和高性价比等特点,为AT32家
    的头像 发表于 04-25 11:44 1086次阅读
    重磅!<b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>发布全新超值型<b class='flag-5'>AT32F423</b>系列MCU,以高性价比抢攻高性能应用市场

    直播预告|超值型AT32F423新品发布,多管脚高性能满足多元市场需求

    随着工业自动化、物联网、5G等技术的不断发展,各类新兴智能终端设备的兴起带动MCU需求快速成长。全力打造高效能、高可靠性且具有竞争的AT32系列MCU产品,日前推出
    的头像 发表于 06-21 15:10 622次阅读
    直播预告|<b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>超值型<b class='flag-5'>AT32F423</b>新品发布,多管脚高性能满足多元市场需求

    AT32F423时钟配置入门指南

    电子发烧友网站提供《AT32F423时钟配置入门指南.pdf》资料免费下载
    发表于 01-31 09:37 1次下载
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32F423</b>时钟配置入门<b class='flag-5'>指南</b>

    AT32F423 I 2C使用指南

    电子发烧友网站提供《AT32F423 I 2C使用指南.pdf》资料免费下载
    发表于 02-01 09:30 0次下载
    <b class='flag-5'>AT32F423</b> I 2C<b class='flag-5'>使用指南</b>

    AT32F423 GPIO使用指南

    GPIO特性AT32F423支持多达86个双向I/O引脚,这些引脚分为6组,分别为PA0-PA15、PB0-PB15、PC0-PC15、PD0-PD15、PE0-PE15
    的头像 发表于 03-05 08:18 932次阅读
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32F423</b> GPIO<b class='flag-5'>使用指南</b>

    AT32F423 PWC使用指南

    关系电压调节器,电压调节器的几个工作状态省电模式,包括睡眠模式、深度睡眠模式、待机模式图1.电源域框图PWC基本功能解析供电方案功能介绍AT32F423MCU的供
    的头像 发表于 03-05 08:18 643次阅读
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32F423</b> PWC<b class='flag-5'>使用指南</b>

    AT32F423安全库应用笔记

    微控制器应用中一项很重要的课题。因为这一重要的需求,AT32F423系列提供了安全库区(SLIB)的功能,以防止重要的IP-Code被终端用户的程序做修改或读取,
    的头像 发表于 05-14 08:14 932次阅读
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32F423</b>安全库应用笔记

    AT32F423入门使用指南

    初步环境准备开发环境下载地址:
    的头像 发表于 05-14 08:15 1499次阅读
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32F423</b>入门<b class='flag-5'>使用指南</b>