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

上传人:白大夫 文档编号:3362292 上传时间:2019-08-18 格式:DOC 页数:2 大小:13.50KB
返回 下载 相关 举报
一文了解ATxmega的DMA功能使用教程.doc_第1页
第1页 / 共2页
亲,该文档总共2页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《一文了解ATxmega的DMA功能使用教程.doc》由会员分享,可在线阅读,更多相关《一文了解ATxmega的DMA功能使用教程.doc(2页珍藏版)》请在三一文库上搜索。

1、一文了解ATxmega的DMA功能使用教程atXmega相比atmega系列芯片,增加的一个比较显著的功能就是DMA控制器。DMA控制器可以直接将数据从一个外设寄存器移到内部或外部SRAM,也可在SRAM的不同地址间,甚至不同外设寄存器之间移动数据。当CPU数据总线空闲时,DMA控制器便会用它来完成内存和外设间的数据传输,无需使用CPU资源。采用DMA控制器的芯片,性能更好,功耗更低。DMA控制器有一个比较重要的概念,就是数据传输。里面又有Burst transfer【突发传输】和Block transfer【块传输】。Blocktransfer是有多个Burst transfer构成。DMA

2、 transaction可以由单个或者多个Blocktransfer构成。之所以要定义这些概念,是为了确定数据发送地址和数据目标地址的重载方式。这里我们用一个简单的例子来说明DMA的功能。ADC转换结果通过一个DMA通道传送到SRAM。即ADC转换结束触发DMA transaction,将AD值【CHnRES】传输到目标变量samples_00内。那么数据源发送地址就是CHnRESH和CHnRESL的地址,目标地址就是samples_00的地址,即samples_0咯。我们用最简单的传输方式,ADC转换结束,就采用一次Burst transfer(single slot)传送两个字节(CHnRESH和CHnRESL)。下面黄色部分是对single-slot传输的解释。下面贴程序,首先是DMA初始化设置。下面是ADC部分,启动ADC采样。ADC采样结束会把AD值自动传输给变量samples_00。传输完后,由于single-slot模式DMA传输通道使能会位被清零。如果需要再次使用DMA功能,需要重新将使能位置1(DMA_CH_ENABLE_bm)。采用DMA功能实现ADC采样,相比轮询和中断方式,可以极大的减少对CPU资源的占用。自己也是在上班之余,看了两个晚上的DMA功能和相关程序写出来的,程序是通过电路板验证过的。大家在理解的基础上,自己组织一下,就可以拿来用。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1