Zigbee-cc2530 笔记---DMA

直接存取访问( DMA)控制器可以用来减轻8051CPU内核传送数据操作的负担,从而实现在高效利用电源的条件下的高性能。 只需要CPU极少的干预, DMA控制器就可以将数据从诸如 ADC或RF收发器的外设单元传送到存储器。DMA控制器协调所有的 DMA传送,确保 DMA请求和CPU存储器访问之间按照优先等级协调、合理地进行。 DMA 控制器含有若干可编程的DMA通道,用来实现存储器-存储器的数据传送。DMA控制器控制整个 XDATA存储空间的数据传送。由于大多数 SFR寄存器映射到 DMA存储器空间,
这些灵活的DMA通道的操作能够以创新的方式减轻CPU 的负担,例如,从存储器传送数据到USART,或定
期在ADC和存储器之间传送数据样本,等等。使用DMA还可以保持CPU在低功耗模式下与外设单元之间传送数据 (见4.1.1节CPU低功耗模式) , 不需要唤醒, 这就降低了整个系统的功耗。 注意2.2.3节描述了哪个SFR寄存器映射到XDATA存储空间。
DMA 控制器的主要功能如下:
● 5个独立的 DMA通道
● 3个可以配置的 DMA通道优先级
● 32个可以配置的传送触发事件
● 源地址和目标地址的独立控制
● 单独传送、数据块传送和重复传送模式
● 支持传输数据的长域域,设置可变传输长度
● 既可以工作在字模式,又可以工作在字节模式

DMA工作流程
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

这里写图片描述
这里写图片描述
这里写图片描述
下面是源码实现的解析过程:
1.定义DMA结构体,相关配置的宏定义
这里写图片描述
这里写图片描述
2.初始化DMA配置,分别配置不同方向的DMA
这里写图片描述
这里写图片描述
这里写图片描述
2.采用轮询单字节发送与接收
这里写图片描述
这里写图片描述

猜你喜欢

转载自blog.csdn.net/P_xiaojia/article/details/79154938