DMA简介

DMA :

Data Memory Access,直接存储器访问,主要功能是可以把数据从一个地方搬到另一个地方,而且不占用Cpu。两个DMA控制器有12个通道(DMA1有7个通道,DMA2有5个通道),每个通道专门用来管理来自
于一个或多个外设对存储器访问的请求。还有一个仲裁器来协调各个DMA请求的优先权。
DMA1:有7个通道,可以实现P->M,M->P,M->M;
DMA2:有5个通道,可以实现P->M,M->P,M->M;
DMA框图
DMA框图主要分成3部分:DMA请求,通道,仲裁器

问题1

多个DMA请求一起来,怎么办?

1.软件阶段,DMA_CCRx : PL[1:0]。
2.硬件阶段,通道编号小的优先级大,DMA1的优先级高于DMA2的优先级。

DMA初始化结构体

1.数据从哪里来,要到那里去?

1)外设地址,DMA_CPAR
2)存储器地址,DMA_CMAR
3)传输方向,DMA_CCR:DIR

2.数据要传多少,传的单位是什么?(SRC->DST)

1)传输数目,DMA_CNDTR
2)外设地址是否递增,DMA_CCRX:PINC
3)存储器地址是否递增,DMA_CCRX:MINC
4)外设宽度,DMA_CCRX:PSIZE
5)存储数据宽度,DMA_CCRX:MSIZE

3.什么时候传输结束?

1.模式选择,DMA——CCRX:CIRC
2.传输过半,传输完成,传输出错
DMA_ISR

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值