欢迎来到天天文库
浏览记录
ID:49219345
大小:832.50 KB
页数:19页
时间:2020-02-02
《ARM嵌入式软件开发3DMA实验.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、JXARM9-2410实验系统教案5.3DMA实验武汉创维特信息技术有限公司7/16/2021提纲13245基础知识实验目的实验内容预备知识实验设备6实验过程7实验报告要求2一实验目的实验目的了解DMA传送原理掌握S3C2410DMA控制器的使用掌握DMA软件编程方法3二实验内容实验内容编写单字节方式、双字节方式和四字节方式常规内存拷贝及时间检测程序编写DMA方式内存拷贝及时间检测程序比较DMA方式内存拷贝及常规内存拷贝的效率4三预备知识预备知识了解ADT集成开发环境的基本功能了解DMA的原理
2、以及处理步骤5四实验设备实验设备JXARM9-2410教学实验箱ADT1000仿真器和ADTIDE集成开发环境串口连接线6五基础知识直接数据存储-DMADMA方式当高速外设要与系统内存或者要在系统内存的不同区域之间,进行大量数据的快速传送时,查询方式和中断方式可能不能满足要求直接存储器存取(DMA)就是为解决这个问题提出的采用DMA方式,在一定时间段内,由DMA控制器取代CPU,获得总线控制权,来实现内存与外设或者内存的不同区域之间大量数据的快速传送7五基础知识典型的DMA控制器(以下简称DMA
3、C)的工作电路8五基础知识DMA数据传送的工作过程1)DMAC发出DMA传送请求2)DMAC通过连接到CPU的HOLD信号向CPU提出DMA请求3)CPU在完成当前总线操作后会立即对DMA请求做出响应,CPU的响应包括两个方面:CPU将控制总线、数据总线和地址总线浮空,即放弃对这些总线的控制权CPU将有效的HLDA信号加到DMAC上,以通知DMACCPU已经放弃了总线的控制权9五基础知识DMA数据传送的工作过程4)CPU将总线浮空,即放弃了总线控制权后,由DMAC接管系统总线的控制权,并向外设送
4、出DMA的应答信号5)DMAC送出地址信号和控制信号,实现外设与内存或内存之间大量数据的快速传送6)DMAC将规定的数据字节传送完之后,通过向CPU发HOLD信号,撤消对CPU的DMA请求。CPU收到此信号,一方面使HLDA无效,另一方面又重新开始控制总线,实现正常取指令、分析指令、执行指令的操作。10五基础知识DMA传送方式I/O接口到存储器存储器到I/O接口存储器到存储器11五基础知识I/O接口到存储器的传送当进行由I/O接口到存储器的数据传送时,来自I/O接口的数据利用DMAC送出的控制信
5、号,将数据输送到系统数据总线D0~D7上,同时,DMAC送出存储器单元地址及控制信号,将存在于D0~D7上的数据写入所选中的存储单元中。这样就完成了由I/O接口到存储器一个字节的传送。同时DMAC修改内部地址及字节数寄存器的内容。12五基础知识存储器到I/O接口与前一种情况类似,在进行这种传送时,DMAC送出存储器地址及控制信号,将选中的存储单元的内容读出放在数据总线D0~D7上,接着,DMAC送出控制信号,将数据写到规定的(预选中)端口中去,而后MDAC自动修改内部的地址及字节数寄存器的内容1
6、3五基础知识存储器到存储器存储器到存储器的DMA数据传送采用数据块传送方式,首先送出内存源区域的地址和控制信号,将选中内存单元的的数据暂存,接着修改地址及字节数寄存器的值,然后输出内存目的区域的地址及控制信号,将暂存的数据,通过系统数据总线,写入到内存的目的区域中去,最后修改地址和字节数寄存器的内容,当字节计数器减到零或外部输入时可结束一次DMA传输过程14五基础知识S3C2410的DMA控制器S3C2410集成了4个通道的DMA控制器:源和目的都在系统总线上;源在系统总线而目的在外设总线上;源
7、在外设总线而目的在系统总线上;源和目的都在外设总线上。15五基础知识实验说明本实验通过DMA方式实现存储器到存储器间的数据传送,并将其与常规的内存拷贝操作进行比较16五基础知识拷贝动作的计时处理采用定时器进行计时处理,采用函数Timer_Start启动计时处理,参数divider表示定时时间间隔,0:16us1:32us2:64us3:128us操作完成时调用Timer_Stop停止定时器计数,其返回值为计数值,该值乘以时间间隔(128us)即为计时时间Timer_Start(3);/*128u
8、s*/time=Timer_Stop();/*停止定时器*/17五基础知识常规的内存拷贝操作字节拷贝*(unsignedchar*)(dstAddr)=*(unsignedchar*)(srcAddr);双字节拷贝*(unsignedshort*)(dstAddr)=*(unsignedshort*)(srcAddr);四字节拷贝*(unsignedint*)(dstAddr)=*(unsignedint*)(srcAddr);18六实验报告要求实验报告要求什么叫DMA传送方式?试说明DMA方式
此文档下载收益归作者所有