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

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

3天内不再提示

一文了解ATxmega的DMA功能使用教程

电子工程师 作者:工程师陈翠 2018-06-18 14:10 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

atXmega相比atmega系列芯片,增加的一个比较显著的功能就是DMA控制器

DMA控制器可以直接将数据从一个外设寄存器移到内部或外部SRAM,也可在SRAM的不同地址间,甚至不同外设寄存器之间移动数据。当CPU数据总线空闲时,DMA控制器便会用它来完成内存和外设间的数据传输,无需使用CPU资源。采用DMA控制器的芯片,性能更好,功耗更低。

DMA控制器有一个比较重要的概念,就是数据传输。里面又有Burst transfer【突发传输】和Block transfer【块传输】。Blocktransfer是有多个Burst transfer构成。DMA transaction可以由单个或者多个Blocktransfer构成。之所以要定义这些概念,是为了确定数据发送地址和数据目标地址的重载方式。

一文了解ATxmega的DMA功能使用教程

这里我们用一个简单的例子来说明DMA的功能。ADC转换结果通过一个DMA通道传送到SRAM。即ADC转换结束触发DMA transaction,将AD值【CHnRES】传输到目标变量samples_0[0]内。

那么数据源发送地址就是CHnRESH和CHnRESL的地址,目标地址就是samples_0[0]的地址,即samples_0咯。我们用最简单的传输方式,ADC转换结束,就采用一次Burst transfer(single slot)传送两个字节(CHnRESH和CHnRESL)。下面黄色部分是对single-slot传输的解释。

一文了解ATxmega的DMA功能使用教程

下面贴程序,首先是DMA初始化设置。

一文了解ATxmega的DMA功能使用教程

下面是ADC部分,启动ADC采样。

一文了解ATxmega的DMA功能使用教程

ADC采样结束会把AD值自动传输给变量samples_0[0]。传输完后,由于single-slot模式DMA传输通道使能会位被清零。如果需要再次使用DMA功能,需要重新将使能位置1(DMA_CH_ENABLE_bm)。

一文了解ATxmega的DMA功能使用教程

一文了解ATxmega的DMA功能使用教程

采用DMA功能实现ADC采样,相比轮询和中断方式,可以极大的减少对CPU资源的占用。

自己也是在上班之余,看了两个晚上的DMA功能和相关程序写出来的,程序是通过电路板验证过的。大家在理解的基础上,自己组织一下,就可以拿来用。

一文了解ATxmega的DMA功能使用教程

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

    关注

    17

    文章

    314

    浏览量

    110498
  • dma
    dma
    +关注

    关注

    3

    文章

    582

    浏览量

    106277
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    详解AXI DMA技术

    ,SG)功能还可以将数据移动任务从位于于处理器系统中的中央处理器(CPU)中卸载出来。可以通过个AXI4-Lite从接口访问初始化、状态和管理寄存器。如图4. 8展现了DMA IP的功能
    的头像 发表于 04-03 09:32 2706次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b>详解AXI <b class='flag-5'>DMA</b>技术

    DMA弹性映射功能

    DMA弹性映射功能 示例 目的:演示AT32F系列DMA弹性映射功能使用的方法。 支持型号:AT32F 系列、AT32F403Axx 主要使用外设: TMR、 GPIO、
    发表于 12-12 16:04

    转:ATxmega入门之六:ATxmage SPI模块介绍

    ATxmega的SPI与USART占用相同的资源,引脚也共用,所以使用了SPI功能,有个USART就不能使用了。Xmega16A4有两个SPI接口,具有相同的特性:全双工三线同步数据
    发表于 06-15 11:29

    AT32F系列DMA弹性映射功能使用的方法

    AT32F系列DMA弹性映射功能使用演示AT32F系列DMA弹性映射功能使用的方法。
    发表于 10-27 08:20

    EE-143:了解ADSP-TS101上的DMA

    EE-143:了解ADSP-TS101上的DMA
    发表于 04-24 11:29 7次下载
    EE-143:<b class='flag-5'>了解</b>ADSP-TS101上的<b class='flag-5'>DMA</b>

    STM32通(9) DMA

    . DMA简介DMA(Direct Memory Access,直接存储器访问) 传输将数据从个地址空间复制到另外个地址空间。而且不
    发表于 12-03 09:21 17次下载
    STM32<b class='flag-5'>一</b><b class='flag-5'>文</b>通(9) <b class='flag-5'>DMA</b>

    ATxmega256A3U中文资料解密

    ATxmega128A3U!ATxmega256A3U型号解密   ATxmega256A3U-AU ATxmega192A3U-AU ATxmeg
    的头像 发表于 04-13 14:25 4124次阅读

    详解DMA

    DMA传输将数据从个地址空间复制到另个地址空间,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。
    的头像 发表于 10-12 09:45 1.6w次阅读

    DMA485K电源载波总线数话同传模块发布

    针对数话同传功能推出DMA485K模块产品,DMA485K基于迪T5L0ASIC设计,采用485接口,支持在最远端点间距1500米以内
    的头像 发表于 02-24 20:00 2410次阅读
    迪<b class='flag-5'>文</b><b class='flag-5'>DMA</b>485K电源载波总线数话同传模块发布

    了解 PCB 的有效导热系数

    了解 PCB 的有效导热系数
    的头像 发表于 11-24 15:48 3999次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>了解</b> PCB 的有效导热系数

    了解刚柔结合制造过程

    了解刚柔结合制造过程
    的头像 发表于 12-04 16:22 2036次阅读

    带你了解 DAC

    了解 DAC
    的头像 发表于 12-07 15:10 1.4w次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b>带你<b class='flag-5'>了解</b> DAC

    Atmel ATxmega128B3/ATxmega64B3微控制器:高性能之选

    Atmel ATxmega128B3/ATxmega64B3微控制器:高性能之选 在当今电子技术飞速发展的时代,选择款合适的微控制器对于工程师们来说至关重要。Atmel的ATxmega
    的头像 发表于 04-06 16:05 1080次阅读

    Atmel ATxmega16C4/32C4微控制器深度剖析

    微控制器,凭借其高性能、低功耗以及丰富的外设功能,在众多应用场景中展现出强大的竞争力。接下来,我们将对这两款微控制器进行详细的剖析。 文件下载: ATXMEGA16C4-MN.pdf 、产品概述
    的头像 发表于 04-06 16:15 1089次阅读

    深入剖析ATxmega128A1U/ATxmega64A1U:特性、应用与设计要点

    128A1U和ATxmega64A1U这两款XMEGA A1U系列微控制器,凭借其卓越的性能和丰富的外设,在众多应用场景中展现出强大的竞争力。今天,我们就来深入了解下这两款微控制器的特点、应用以及设计过程中需要注意的要点
    的头像 发表于 04-07 09:15 132次阅读