收藏 分享(赏)

基于modelsim的dma控制器的设计学士学位论文.doc

上传人:无敌 文档编号:633992 上传时间:2018-04-16 格式:DOC 页数:68 大小:1.08MB
下载 相关 举报
基于modelsim的dma控制器的设计学士学位论文.doc_第1页
第1页 / 共68页
基于modelsim的dma控制器的设计学士学位论文.doc_第2页
第2页 / 共68页
基于modelsim的dma控制器的设计学士学位论文.doc_第3页
第3页 / 共68页
基于modelsim的dma控制器的设计学士学位论文.doc_第4页
第4页 / 共68页
基于modelsim的dma控制器的设计学士学位论文.doc_第5页
第5页 / 共68页
点击查看更多>>
资源描述

1、理工大学学士学位论文I摘 要DMA 是直接存储器存取方式,即(Direct Memory Access)方式的缩写,存储器与I/O 设备之间的数据传送在 DMA 控制器(又称 DMAC)的管理下直接进行,而不经过CPU。 DMA 方式适用于高速传送成组数据。 DMA 控制器将向内存发出地址和控制信号,修改地址,对传送的字的个数计数,并且以中断方式向 CPU 报告传送操作的结束。DMA 方式的主要优点是传输速度快。由于 CPU 根本不参加传送操作,因此就省去了CPC 取指令、取数、送数等操作。目前由于大规模集成电路工艺发展,很多厂家直接生产大规模集成电路的 DMA 控制器,虽然 DMA 控制器复

2、杂程度差不多接近于CPU,但是用起来非常方便。 本文在基于 Verilog HDL 设计 DMA 控制器时,采用的是 Top-Down 的设计方法。DMA 控制器电路系统是由数据寄存器、地址产生器、状态控制器三个子模块组成,并且整个 DMA 控制器电路系统的编译、仿真是在对三个子模块分别进行编译、仿真的基础上完成的。关键词: DMA 控制器 ;Verilog ;Modelsim;仿真理工大学学士学位论文IIAbstractDMA is a direct memory access mode, namely (Direct Memory Access) the abbreviation, bet

3、ween the memory and I/O devices transmit data over the DMA controller (DMAC) under management directly, without passing through the CPU. DMA is suitable for high speed to transmit data. The DMA controller to the memory address and control signals, modify address, counting on the transfer of the word

4、, and in order to interrupt the report to CPU transfer operation. The main advantages of the DMA method is fast transmission speed. Because CPU does not participate in the transfer operation, thus eliminating the CPC instruction fetch, access, send a few operation. At present, due to the large scale

5、 integrated circuit technology development, the direct production of DMA controller LSI many manufacturers, although the DMA controller complexity almost close to CPU, but it is very easy to use.In this paper, the design of DMA controller based on Verilog HDL, using the Top-Down the design method. T

6、he DMA controller circuit system is composed of data register, address generator, state a controller composed of three modules, and the compiler, simulation of the entire DMA controller circuit system and are compiled, based on the simulation and synthesis of three sub-modules.Keywords: DMA controll

7、er ;Verilog ;Modelsim;simulation理工大学学士学位论文III目 录1 绪论 11.1 DMA 控制器的研究意义及背景 11.2 DMA 控制器国内外发展状况 11.3 本文所做的工作及主要内容 21.4 篇章结构 22 DMA 控制器的基本理论 42.1 基本的 DMA 控制器 42.1.1 DMA 控制器的基本功能 42.1.2 DMA 控制器的基本组成 52.1.3 DMA 控制器的传送方式 62.1.4 DMA 控制器的传送过程 82.1.5 DMA 控制器的传送状态 102.1.6 DMA 操作的基本方法 102.2 选择型和多路型 DMA 控制器 122

8、.2.1 选择型 DMA 控制器 122.2.2 多路型 DMA 控制器 132.3 DMA 控制器在现实 中的应用 143 DMA 控制器的行为级设计 173.1 设计方案 173.1.1 设计说明 173.1.2 运行环境及设计功能要求 183.1.3 DMA 控制器设计的相关组件 183.2 DMA 控制器功能模块划分 193.3 功能模块的行为级设计及 VERILOG HDL 描述 203.3.1 数据寄存器的行为级描述 203.3.2 地址产生器模块的行为级设计描述 233.3.3 状态控制器模块的行为级设计描述 26理工大学学士学位论文IV3.3.4 全电路的行为级描述 294 D

9、MAC 设计的编译和功能仿真 344.1 DMAC 设计的 VERILOG HDL 程序编译 344.2 DMAC 各模块设计的功能仿真 374.2.1 DRU 模块的 Sti 及仿真 374.2.2 AGU 模块的 Sti 及仿真 404.2.3 SCU 模块的 Sti 及仿真 424.3 DMAC 全电路的仿真结果及分析 454.3.1 DMAC 全电路设计中的 Sti 及代码 454.3.2 DMAC 全电路的仿真结果及分析 49结 论 50致 谢 51参考 文献 52附录 A 英 文原文 54附录 B 汉语翻译 60理工大学学士学位论文11 绪论1.1 DMA 控制器的研究意义及背景外

10、设与计算机内存之间的信息交换,可通过程序查询方式和中断方式进行。这两种方式都是在 CPU 的控制下,通过 CPU 执行指令来完成的。数据传送方向为外设CPU内存。这两种方式每传送一个字节都需要耗用较长时间。在程序查询方式时,CPU 要反复测试外设状态,在外设未准备好时,CPU 就处于等待状态,直到外设准备好,才进行数据传送。在中断方式下,每次实现一次数据传送,CPU 都要进行转入中断服务子程序、保护断点、现场保护、恢复现场、返回主程序等操作。显然对于高速的 I/O 设备以及大量数据交换的场合(如软、硬磁盘等),这两种传送方式就不能满足速度的要求了。对于这些高速外设,如果传送速度太慢,不仅降低传

11、送效率,还会造成数据丢失,导致传送出错。为此,提出了 DMA(直接存储器存取)传输方式。这种传送方式是不经过 CPU 干预,直接在外设与内存储器之间进行数据传送的方式。实现 DMA 传送,需要一个专用硬件 DMA 控制器(DMAC),在 DMA 传送期间,CPU 要让出对系统总线的控制权,交给DMA 控制。总线在 DMA 的控制下,数据直接在存储器和外设之间传送,而不经过CPU 干预,其传送速度大大提高,可接近于存储器的最快存取速度 12。这种传送方式适用于图像显示、磁盘存取、磁盘间数据传送和高速的数据采集等系统。1.2 DMA 控制器国内外发展状况自 DMA 技术出现以来,DMA 控制器在计

12、算机系统中获得了极大的应用。为了适应系统总线速度的不断加快,其工作速度和灵活性也不断提高。目前的 DMA 控制器设计一般采用可配置的通道化技术。可配置使得 DMA 不仅可以按照总线协议进行数据交换,而且可以编程设置多种功能。根据体系结构的变化以及系统应用的需求,DMA 控制器设计时在必备的目标起始地址、单元计数和变址模式基础上可添加额外的参数设置,使得数据传输更加灵活。TI 公司 TMS320C54x 系列 DSP 中 DMA 控制器有 6 个通道可以跟踪 6 个独立的块传输。每个通道含有 5 个通道寄存器,还有 10 个全局寄存器。CPU 通过寄存器子寻址理工大学学士学位论文2方式配置这些寄

13、存器,通过这些寄存器的配置,可以实现多帧传输、自动缓冲传输、可编程的优先级、可编程的地址、时间同步以及中断生成等功能 25。TI 公司 TMSC6000 系列 DSP 中 DMA 控制器有 4 个通道和一个支持 HPI 访问的辅助通道,每个通道都有 5 个通道寄存器还有一个全局辅助控制寄存器。该 DMA 控制器支持多帧传输、可编程地址、可编程的字长、自动初始化、单通道分割操作等 26。ADI 公司 ADSP-2106X 系列 DSP 中 DMA 控制器能够执行内部存储器和外部数据源或片外存储器之间的数据传输。该 DMA 控制器也支持多通道传输,一个通道对应一个 I/O 口或外设口缓冲区。一个

14、DMA 通道的建立是由写入一组内存缓冲区参数寄存器来完成的。每次 DMA 传递需要一个时钟周期,而通道之间的切换没有总传输量的损失 26。Motoroal 公司 DSP56362 支持需要数字音频压缩和解压缩、声场处理和其他数字音频算法的数字音频应用。DSP56362 的内部 DMA 控制器包含六个独立的 DMA 通道,支持片内与片外的存取,1、2、3 维的数据传输,块传输结束时中断,DMA 触发来自于中断线和所有外围器件 27。1.3 本文所做的工作及主要内容本文根据当前电子系统要求数据传输量大,性能要求高等特点,以 Verilog 为硬件描述语言和可编程逻辑器件(FPGA)为技术支撑,设计

15、了一个基于 Verilog 语言的 DMA控制器,并对其相应程序进行仿真。DMA 传输方式无需经过 CPU,而是在 DMA 控制器的管理下,存储器与 I/O 设备之间进行数据交换,使传输速率大大提高,具有相当的技术优势 4。仿真的结果表明,本设计工作稳定,工作速度快,且实际模拟运行较好。全文的主要工作及内容是对 DMA 控制器的的基本概念进行了阐述,介绍了 DMA 控制器的基本功能、组成,传送的方式、过程、状态等,同时确立 DMA 控制器的设计方案,对其源代码进行编写,最后对其模型进行仿真并得出结论。1.4 篇章结构本文共分为四个部分,内容如下:第一章主要分析了 DMA 的研究的背景以及课题的

16、重要意义,并简要介绍了 DMA控制器的发展历程和趋势,同时阐明了 DMA 的原理,最后介绍了本文所做的工作和理工大学学士学位论文3主要内容。第二章介绍了基本 DMA 控制器实现数据直接存取的工作原理,包括 DMA 控制器的基本功能、基本组成、传送方式、传送过程和 DMA 操作的基本方法等,同时也对两种同步 DMA 控制器进行了简单的介绍。并对 DMA 控制器在现实中的应用进行了介绍。第三章是本文的核心部分,在这一章中概述了 DMA 控制器的运行环境,及 DMA控制器与周边环境之间的相互作用,并在此基础上提出了设计 DMA 控制器的相关技术要求。同时,根据技术要求确定 DMA 控制器的设计方案

17、(顶层设计),借助于硬件描述语言 Verilog HDL 建立 DMA 控制器的行为模型。第四章为行为模型编写 Sti 程序代码,利用 ModelSim 对所建模型进行编译和仿真测试,检验是否达到设计要求。理工大学学士学位论文42 DMA 控制器的基本理论2.1 基本的 DMA 控制器2.1.1 DMA 控制器的基本功能DMA 控制器是内存储器同外设之间进行高速数据传送时的硬件控制电路,是一种实现直接数据传送的专用处理器,它必须能取代在程序控制传送中由 CPU 和软件所完成的各项功能;它的主要功能是:(1)DMAC 同外设之间有一对联络信号线外设的 DMA 请求信号 DREQ 以及 DMAC

18、向外设发出的 DMA 响应信号 DACK; (2)DMAC 在接收到 DREQ 后,同 CPU 之间也有一对联络信号线DMAC 向CPU 发出总线请求信号(HOLD 或 BUSRQ),CPU 在当前总线周期结束后向 DMAC 发出总线响应信号(HLDA 或 BUSAK),DMAC 接管对总线的控制权,进入 DMA 操作方式; (3)能发出地址信息,对存储器寻址,并修改地址指针,DMAC 内部必须有能自动加 1 或减 1 的地址寄存器;(4)能决定传送的字节数,并能判断 DMA 传送是否结束。 DMA 内部必须有能自动减 1 的字计数寄存器,计数结束产生终止计数信号;(5)能发出 DMA 结束信

19、号,释放总线,使 CPU 恢复总线控制权; (6)能发出读、写控制信号,包括存储器访问信号和 I/O 访问信号。DMAC 内部必须有时序和读写控制逻辑 78。 有些 DMAC 芯片和模块在这些基本功能的基础上还增加了一些新的功能。如:在DMA 传送结束时产生中断请求信号;在传送完一个字节数后输出一个脉冲信号,用于记录已传送的字节数、为外部提供周期性的脉冲序列;在一个数据块传送完后能自动装入新的起始地址和字节数,以便重复传送一个数据块或将几个数据块链接起来传送;产生两个存储器地址,从而实现存储器与存储器之间的传送以及能够对 I/O 设备寻址,实现 I/O 设备与 I/O 设备之间的传送以及能够在

20、传送过程中检索某一特定字节或者进行数据检验等等 13。理工大学学士学位论文52.1.2 DMA 控制器的基本组成一个 DMA 控制器,实际上是采用 DMA 方式的外围设备与系统总线之间的接口电路,这个接口电路是在中断接口的基础上再加 DMA 机构组成。习惯上将 DMA 方式的接口电路称为 DMA 控制器。图 2.1 给出了一个最简单的 DMA 控制器组成示意图 6。图 2.1 控制器的组成(1)内存地址计数器:用于存放内存中要交换的数据的地址。在 DMA 传送前,须通过程序将数据在内存中的起始位置(首地址)送到内存地址计数器。而当 DMA 传送时,每交换一次数据,将地址计数器加“1” ,从而以

21、增量方式给出内存中要交换的一批数据的地址。(2)字计数器:用于记录传送数据块的长度(多少字数)。其内容也是在数据传送之前由程序预置,交换的字数通常以补码形式表示。在 DMA 传送时,每传送一个字,字计数器就加“1”。当计数器溢出即最高位产生进位时,表示这批数据传送完毕,于是引起 DMA 控制器向 CPU 发出中断信号。(3)数据缓冲寄存器:用于暂存每次传送的数据(一个字)。当输入时,由设备(如磁盘)送往数据缓冲寄存器,再由缓冲寄存器通过数据总线送到内存。反之,输出时,由内存通过数据总线送到数据缓冲寄存器,然后再送到设备。(4)“DMA 请求” 标志:每当设备准备好一个数据字后给出一个控制信号,

22、使“DMA 请求”标志置 “1”。该标志置位后向“控制/状态”逻辑发出 DMA 请求,后者又向 CPU 发理工大学学士学位论文6出总线使用权的请求(HOLD),CPU 响应此请求后发回响应信号 HLDA, “控制/状态”逻辑接收此信号后发出 DMA 响应信号,使“DMA 请求”标志复位,为交换下一个字做好准备。(5)“控制/状态”逻辑:由控制和时序电路以及状态标志等组成,用于修改内存地址计数器和字计数器,指定传送类型(输入或输出),并对“DMA 请求”信号和 CPU 响应信号进行协调和同步。(6)中断机构:当字计数器溢出时,意味着一组数据交换完毕,由溢出信号触发中断机构,向 CPU 提出中断报

23、告 2224。2.1.3 DMA 控制器的传送方式(1)连续传送(块传送):DMAC 申请到总线后,将一块数据传送完后才释放总线,而不管中间 DREQ 是否有效。在连续操作方式中, DMAC 在获得总线控制权后连续传送数据字节,可以获得比单字节操作方式更高的数据传输率。但在此间 DMAC 一直占用总线,CPU 无法进行任何需要系统总线的操作,只能保持空闲。此方式的结束,可由 DMAC 中设置的字节计数器的计数结果决定(每操作一个字节,计数器减 1,直到产生终止计数信号) ,也可以由外部输入的过程结束信号决定。其原理如图 2.2 所示。(2)单次传送(每次传送一个字节) :每个 DMA 周期只传送一个字节就立即释放总线。这样 CPU 至少可以得到一个总线周期,并可进行有关的操作。如果需要进行下一个字节的传送,需要重新进行 DMA 的申请。其原理如图 2.3 所示。(3)按需传送(猝发传送):只要 I/O 接口的数据缓冲可用,就进行传送。 (I/O 接口需要有一定大小的 FIFO 缓冲 )。换句话说,采用猝发传送方式,通过控制 DMA 请求信号的有效或无效,可以把一个数据块分几次传送,而允许接口的数据没准备好时,暂时停止传送。其原理如图 2.4 所示 1315。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报