码迷,mamicode.com
首页 > 其他好文 > 详细

DMA

时间:2018-03-17 14:18:11      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:解决   通过   time   目标地址   时钟周期   传输   类型   直接   串口   

DMA:如果将一串字符串通过串口传送到外设中去,用传统的方法,则CPU将不断的去扫描UTSTAT这个寄存器,在字符发送期间,CPU将不能做任何其他事情。为了解决这个问题,则在诞生了DMA

 

CPU只需要告诉DMA控制器,目标地址和目的地址就行了,其他事情就直接交由DMA去完成。

 

DMA控制器控制:
通道数

2440支持4channelDMA 通道

 

请求源

 

由上图说示,每一个通道支持6个请求源,所谓请求源就是指,哪些支持哪些通信去使用DMA

 

工作时序

 

由上图所示可以看出,DMA请求信号响应大约两个时钟周期后,响应信号开始响应,大约响应三个时钟周期后,将DMA正式接管总线

 

工作模式

请求模式(demand模式):如果DMA完成一次请求信号后,request信号任然有效,DMA就任务这是下一次请求信号,并继续下一次信息传输。

 

握手模式(handshake模式):DMA完成一次请求后,等待request信号无效,在等待下一次的请求信号有效后,再进行信息传输

 

DMA 源地址数据寄存器:

作用分析:

用于将告诉DMA 源数据的起始地址是多少,并将该地址写入其中

 

源地址控制寄存器:

作用分析:

用于决定数据传送通道使用什么通道,和数据源地址增长变化形式。

 

DMA目的地址数据寄存器:

作用分析:

用于将存放传送数据的目的地起始地址

 

DMA目的控制寄存器

作用分析:

用于存放目的地址的控制信息

 

控制字详情:

这里采用APB总线,又因为这里的目的地址就只有UTHX0所以INC0

 

DMA控制寄存器(该控制寄存器级别略大):

作用分析:

用于选择DMA源,中断源软件类型还是硬件类型,传输完成后是否继续传输,给定所传输数据的大小

 

控制字详情:

 

 

 

 

DMA开关寄存器

作用:用于使能DMA

 

控制字详情:

DMA

标签:解决   通过   time   目标地址   时钟周期   传输   类型   直接   串口   

原文地址:https://www.cnblogs.com/big-devil/p/8589399.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!