嵌入式课程设计---DMA传送编程

  • 格式:doc
  • 大小:126.00 KB
  • 文档页数:18

下载文档原格式

  / 33
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

嵌入式课程设计---DMA传送编程

系别:计算机与通信工程学院

班级:通信工程08-1班

姓名:####

学号:33333333333

郑州轻工业学院

计算机与通信工程学院

2011年12月

郑州轻工业学院

课程设计任务书

题目 DMA传送编程

专业、班级通信工程08-1学号 3333333

姓名 333

主要内容、基本要求、主要参考文献等:

1、主要内容

(1) 编写单字节方式、双字节方式和四字节方式常规内存拷贝及时间检测程序

(2) 编写DMA方式内存拷贝及时间检测程序

(3) 比较DMA方式内存拷贝及常规内存拷贝的效率

2、基本要求

(1) 掌握S3C44B0 DMA控制器的使用

(2) 掌握DMA软件编程方法

3、主要参考文献

【1】马忠梅,马广云,徐英惠,田泽.ARM嵌入式处理器结构与应用基础.北京:北京航天航空大学出版社,2002 【2】田泽.嵌入式系统开发与应用实验教程.北京航空航天大学出版社,2004

【3】周立功.ARM微控制器基础与实战[M].北京航天航空大学出版社,2003 完成期限:

指导教师签名: 张涛张彦

课程负责人签名: 张涛张彦

- 2 -

目录

一、课程设计的基本任务----------------------------4

二、课程设计的基本要求----------------------------4

三、预备知识--------------------------------------------4 四、实验设备--------------------------------------------4 五、基础知识--------------------------------------------4 六、课程设计说明书----------------------------------7 七、程序代码-------------------------------------------8 - 3 -

DMA 传送编程.

一、课程设计的基本任务

了解DMA传送原理

掌握S3C44B0 DMA控制器的使用

掌握DMA软件编程方法

二、课程设计的基本要求

编写单字节方式、双字节方式和四字节方式常规内存拷贝及时间检测程序

编写DMA方式内存拷贝及时间检测程序

比较DMA方式内存拷贝及常规内存拷贝的效率三、预备知识了解ADT集成开发环境的基本功能

了解DMA的原理以及处理步骤

四、实验设备

JX44B0教学实验箱

ADT1000仿真器和ADT IDE集成开发环境

串口连接线

五、基础知识

直接数据存储 - DMA

DMA方式

当高速外设要与系统内存或者要在系统内存的不同区域

之间,进行大量数据的快速传送时,查询方式和中断方式可能不能满足要求

直接存储器存取(DMA)就是为解决这个问题提出的

采用DMA方式,在一定时间段内,由DMA控制器取

代CPU,获得总线控制权,来实现内存与外设或者内存的不同区域之间大量数据的快速传送典型的DMA控制器(以下

简称DMAC)的工作电路

- 4 -

DMA数据传送的工作过程

1) DMAC发出DMA传送请求

2) DMAC通过连接到CPU的HOLD信号向CPU提出DMA

请求

3) CPU在完成当前总线操作后会立即对DMA请求做出响应

CPU的响应包括两个方面:

CPU将控制总线、数据总线和地址总线浮空,即放弃对这

些总线的控制权

CPU将有效的HLDA信号加到DMAC上,以通知DMAC

CPU已经放弃了总线的控制权

4) CPU将总线浮空,即放弃了总线控制权后,由DMAC接管系统总线的控制权,并向外设送出DMA的应答信号

5) DMAC送出地址信号和控制信号,实现外设与内存或内存之间大量数据的快速传送

6) DMAC将规定的数据字节传送完之后,通过向CPU发HOLD信号,撤消对CPU 的DMA请求。CPU收到此信号,一方面使HLDA无效,另一方面又重新开始控制总线,实现正常取指令、分析指令、执行指令的操作。

DMA传送方式

I/O接口到存储器

存储器到I/O接口

存储器到存储器

I/O接口到存储器的传送

当进行由I/O接口到存储器的数据传送时,来自I/O接口的数据利用DMAC送出的控制信号,将数据输送到系统数据总线D0~D7上,同时,DMAC送出存储器单元地址及控制信号,将存在于D0~D7上的数据写入所选中的存储单元中。这样就完成了由I/O接口到存储器一个字节的传送。同时DMAC修改内部地址及字节数寄存器的内容。

存储器到I/O接口

与前一种情况类似,在进行这种传送时,DMAC送出存储器

地址及控制信号,将选中的存储单元的内容读出放在数据总线

D0~D7上,接着,DMAC送出控制信号,将数据写到规定的(预

选中)端口中去,而后MDAC自动修改内部的地址及字节数寄

存器的内容

S3C44B0的DMA控制器

- 5 -

S3C44B0集成了4个通道的DMA控制器:

, 两个ZDMA控制器ZDMA0/1:可以用于存储器到

存储器、储存器到I/O设备、I/O设备之间的DMA