1 / 19

JXARM9-2410 实验系统教案 5.3 DMA 实验

JXARM9-2410 实验系统教案 5.3 DMA 实验. 2014/8/25. 提纲. 实验目的. 1. 实验内容. 2. 预备知识. 3. 4. 实验设备. 5. 基础知识. 6. 实验过程. 7. 实验报告要求. 一 实验目的. 实验目的. 了解 DMA 传送原理 掌握 S3C2410 DMA 控制器的使用 掌握 DMA 软件编程方法. 二 实验内容. 实验内容. 编写单字节方式、双字节方式和四字节方式常规内存拷贝及时间检测程序 编写 DMA 方式内存拷贝及时间检测程序 比较 DMA 方式内存拷贝及常规内存拷贝的效率.

mimis
Download Presentation

JXARM9-2410 实验系统教案 5.3 DMA 实验

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JXARM9-2410实验系统教案5.3 DMA实验 2014/8/25

  2. 提纲 实验目的 1 实验内容 2 预备知识 3 4 实验设备 5 基础知识 6 实验过程 7 实验报告要求

  3. 一 实验目的 实验目的 • 了解DMA传送原理 • 掌握S3C2410 DMA控制器的使用 • 掌握DMA软件编程方法

  4. 二 实验内容 实验内容 • 编写单字节方式、双字节方式和四字节方式常规内存拷贝及时间检测程序 • 编写DMA方式内存拷贝及时间检测程序 • 比较DMA方式内存拷贝及常规内存拷贝的效率

  5. 三 预备知识 预备知识 • 了解ADT集成开发环境的基本功能 • 了解DMA的原理以及处理步骤

  6. 四 实验设备 实验设备 • JXARM9-2410教学实验箱 • ADT1000仿真器和ADT IDE集成开发环境 • 串口连接线

  7. 五 基础知识 直接数据存储 - DMA • DMA方式 • 当高速外设要与系统内存或者要在系统内存的不同区域之间,进行大量数据的快速传送时,查询方式和中断方式可能不能满足要求 • 直接存储器存取(DMA)就是为解决这个问题提出的 • 采用DMA方式,在一定时间段内,由DMA控制器取代CPU,获得总线控制权,来实现内存与外设或者内存的不同区域之间大量数据的快速传送

  8. 五 基础知识 典型的DMA控制器(以下简称DMAC)的工作电路

  9. 五 基础知识 DMA数据传送的工作过程 • 1) DMAC发出DMA传送请求 • 2) DMAC通过连接到CPU的HOLD信号向CPU提出DMA请求 • 3) CPU在完成当前总线操作后会立即对DMA请求做出响应,CPU的响应包括两个方面: • CPU将控制总线、数据总线和地址总线浮空,即放弃对这些总线的控制权 • CPU将有效的HLDA信号加到DMAC上,以通知DMAC CPU已经放弃了总线的控制权

  10. 五 基础知识 DMA数据传送的工作过程 • 4) CPU将总线浮空,即放弃了总线控制权后,由DMAC接管系统总线的控制权,并向外设送出DMA的应答信号 • 5) DMAC送出地址信号和控制信号,实现外设与内存或内存之间大量数据的快速传送 • 6) DMAC将规定的数据字节传送完之后,通过向CPU发HOLD信号,撤消对CPU的DMA请求。CPU收到此信号,一方面使HLDA无效,另一方面又重新开始控制总线,实现正常取指令、分析指令、执行指令的操作。

  11. 五 基础知识 DMA传送方式 • I/O接口到存储器 • 存储器到I/O接口 • 存储器到存储器

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

  13. 五 基础知识 存储器到I/O接口 • 与前一种情况类似,在进行这种传送时,DMAC送出存储器地址及控制信号,将选中的存储单元的内容读出放在数据总线D0~D7上,接着,DMAC送出控制信号,将数据写到规定的(预选中)端口中去,而后MDAC自动修改内部的地址及字节数寄存器的内容

  14. 五 基础知识 存储器到存储器 • 存储器到存储器的DMA数据传送采用数据块传送方式,首先送出内存源区域的地址和控制信号,将选中内存单元的的数据暂存,接着修改地址及字节数寄存器的值,然后输出内存目的区域的地址及控制信号,将暂存的数据,通过系统数据总线,写入到内存的目的区域中去,最后修改地址和字节数寄存器的内容,当字节计数器减到零或外部输入时可结束一次DMA传输过程

  15. 五 基础知识 S3C2410的DMA控制器 • S3C2410集成了4个通道的DMA控制器: • 源和目的都在系统总线上; • 源在系统总线而目的在外设总线上; • 源在外设总线而目的在系统总线上; • 源和目的都在外设总线上。

  16. 五 基础知识 实验说明 • 本实验通过DMA方式实现存储器到存储器间的数据传送,并将其与常规的内存拷贝操作进行比较

  17. 五 基础知识 拷贝动作的计时处理 • 采用定时器进行计时处理,采用函数Timer_Start启动计时处理,参数divider 表示定时时间间隔, • 0 : 16 us • 1 : 32 us • 2 : 64 us • 3 : 128 us • 操作完成时调用Timer_Stop停止定时器计数,其返回值为计数值,该值乘以时间间隔(128us)即为计时时间 Timer_Start(3); /* 128 us */ time=Timer_Stop(); /* 停止定时器 */

  18. 五 基础知识 常规的内存拷贝操作 • 字节拷贝 *(unsigned char*)(dstAddr) = *(unsigned char*)(srcAddr); • 双字节拷贝 *(unsigned short*)(dstAddr) = *(unsigned short*)(srcAddr); • 四字节拷贝 *(unsigned int*)(dstAddr) = *(unsigned int*)(srcAddr);

  19. 六 实验报告要求 实验报告要求 • 什么叫DMA传送方式?试说明DMA方式传送数据的主要步骤。 • 试比较DMA传输、查询式传输及中断方式传输之间的优缺点和适用场合?

More Related