CH9DMA控制器的编程结构及编程课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《CH9DMA控制器的编程结构及编程课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CH9DMA 控制器 编程 结构 课件
- 资源描述:
-
1、微型机原理与技术微型机原理与技术CH9 DMADMA控制器的编控制器的编程结构及编程程结构及编程主要内容DMA 控制器概要控制器概要DMA 控制器控制器8237的原理的原理8237A的工作方式和寄存器的工作方式和寄存器9.19.29.328237A各寄存器对应的端口地址各寄存器对应的端口地址9.48237A的编程和应用的编程和应用9.5DMA 传输的特点传输的特点9.0lDMAnDMA(Direct Memory Access):让存储器与高速外设直接进行数据交换而无需CPU的干预。l特点nDMA传送期间,DMA控制器(DMAC)接管了CPU对总线的控制权。nDMA方式中,内存地址的修改、传送
2、结束的判断都由硬件电路实现。即:用硬件控制硬件控制代替了软件控制。nDMA控制器控制器是实现DMA传送的核心器件。39.0 DMA传送的特点传送的特点l应用场合nDMA方式主要用于高速大批量传输数据的场合。如:硬盘和软盘外设;快速通信通道快速通信通道;多处理机和多程序数据块传送;图像处理中向CRC屏幕传送数据;快速数据采集快速数据采集;DRAM的刷新操作的刷新操作。49.0 DMA传送的特点传送的特点59.1 DMA控制器概要控制器概要lDMA的传送过程分5个阶段:1.1.初始化阶段初始化阶段6 要传送的数据字节数 数据在存储器中的起始地址 传送方向 DMAC的通道号 DMAC 9.1 DMA
3、控制器概要控制器概要2.2.申请阶段申请阶段当外设有DMA需求,并且已准备就绪,则向DMA控制器发出DMA请求信号DREQ。DMA控制器接收到DMA请求信号后,向CPU发出总线请求信号HRQ。该信号连接到CPU的HOLD信号。7 CPU DMAC 外部设备外部设备DREQHRQ9.1 DMA控制器概要控制器概要3.3.响应阶段响应阶段CPU收到DMA的HRQ请求后,若允许DMA传输,则在当前总线周期结束后,释放总线控制权,并向DMAC发HLDA信号,通知其CPU已交出总线。8CPU检测HRQHRQ有效且LOCK无效CPU交出总线CPU向DMAC发HLDAYNDMAC成为总线主控者成为总线主控者
4、 9.1 DMA控制器概要控制器概要4.4.数据传送阶段数据传送阶段DMA控制器获得总线的控制权,向外设发送应答信号DACK,通知外设可以进行DMA传输了。DMA控制器送出地址信号和控制信号,实现外设与内存的数据传输。9 外部设备 DMAC 存储器 DACK地址信号读写信号9.1 DMA控制器概要控制器概要5.5.传送结束阶段传送结束阶段DMAC向外设发送EOP信号,外设撤销DREQ请求,同时HRQ和HLDA信号 变 为 无 效,DMAC释放总线,CPU重获总线控制权。10CPU重获总线控制权重获总线控制权DMAC向外设发EOP信号外设撤消DREQ信号HRQ和HLDA变为无效DMAC交出总线控
5、制权9.1 DMA控制器概要控制器概要lDMA控制器8237A-5 的基本特点n8237A-5是一个高性能通用可编程可编程DMAC。n具有4个独立的通道,通过级联方式进行扩充。最多可扩展4个从片,即16个DMA通道。每个通道可传输的最大数据块均为64KB。n可实现内存到外设、外设到内存以及内存到内存之间的高速数据传输,最高数据传输速率可达1.6MB/s。n具有多种控制方式和操作类型。119.2 DMA控制器控制器8237A的原理的原理129.2 DMA控制器控制器8237A的原理的原理lDMA控制器的2种状态n主动工作态:主模块 在主动工作状态下,DMAC取代处理器CPU,获得了对系统总线的控
6、制权总线的控制权,成为系统总线的主控者,向存储器和外设发号施令发号施令。n被动工作态:从模块 在被动工作状态下,DMAC接受CPU对它的控制和指挥。例如:对DMAC进行初始化编程以及从DMAC读取状态等。1.8237A的编程结构l8237A-5外部特性n概况 40引脚双列直插封装。n引脚说明139.2 DMA控制器控制器8237A的原理的原理l8237A内部结构n4个DMA通道和一个公共控制部分。n每个DMA通道包括:基本地址寄存器、当前地址寄存器基字节寄存器、当前字节计数器n公共控制部分:工作方式寄存器、命令寄存器、状态寄存器请求寄存器、屏蔽寄存器、暂存寄存器149.2 DMA控制器控制器8
7、237A的原理的原理159.2 DMA控制器控制器8237A的原理的原理图图9.1 8237A9.1 8237A的编程结构和外部连接的编程结构和外部连接(1)请求与应答信号请求与应答信号DREQ3 DREQ0:DMA通道请求输入信号(由外设提供)。有效电平可高可低,由程序选定。优先级:DREQ0最高,DREQ3最低。DACK3 DACK0:DMA响应输出信号(外接外设)。有效电平可高可低,由程序选定。8237A在同一个时间,只能有一个DACK应答信号有效。HRQ:8237A-5向CPU发出的总线请求信号,高电平有效。HLDA:CPU发给8237A-5的总线请求响应信号。高电平有效。有效时表示C
8、PU已让出总线。16 外部设备外部设备 DMAC DREQ CPU HRQHLDADACK9.2 DMA控制器控制器8237A的原理的原理2.8237A的外部信号的外部信号 (2)地址信号线)地址信号线A3 A0:地址线,双向三态。l 被动状态下,为输入,作为CPU对8237A内部的16个寄存器与计数器寻址之用。l 主动状态下,为输出,作为20位存储器地址的最低4位。A7 A4:地址线,单向。l 主动状态下,为输出。作为访问20位存储器地址低8位中的高4位。179.2 DMA控制器控制器8237A的原理的原理2.8237A的外部信号的外部信号 (3)数据信号)数据信号DB7 DB0:地址数据复
9、用线,双向三态。l被动状态下,为双向数据线。用于CPU对8237A进行初始化,或DMA传输结束后传送状态。l主动状态下,分时复用分时复用作为访问存储器的高8位地址线和数据线。在存储器到存储器传送方式中,作为数据的输入输出端。189.2 DMA控制器控制器8237A的原理的原理2.8237A的外部信号的外部信号 (4)控制信号)控制信号CS:片选信号,低有效。被动状态下用于CPU对8237的寻址。CLK:控制芯片内部操作和数据传输。RESET:输入信号,复位8237A。IOR/IOW:读写控制信号。l被动状态下,为输入被动状态下,为输入。用于CPU向DMAC写命令或初始化参数,或CPU读取823
10、7A内部寄存器状态。l主动状态下,为输出主动状态下,为输出。对外设进行读写。MEMR/MEMW:存储器读/写信号,单向输出。当8237A为主动为主动工作状态时,对存储器进行读写。199.2 DMA控制器控制器8237A的原理的原理2.8237A的外部信号的外部信号ADSTB:地址选通信号。此信号有效时,DMA控制器的当前地址寄存器中的高8位地址通过DB0DB7送到外部锁存器。AEN:地址允许。使地址锁存器中的高8位地址送地址总线。READY:准备就绪信号。低电平时,8237A处于等待状态,高电平表示外设或存储器准备就绪。EOP:DMA传输过程结束信号。DMA传送过程结束,则从EOP输出一个低有
11、效脉冲。若从EOP输入低脉冲信号,则表明外部强制结束DMA传送。209.2 DMA控制器控制器8237A的原理的原理(4 4)控制信号)控制信号lDMA的传送类型n数据传送数据传送:把源地址的数据传送到目的地址去。DMA读:把数据由存储器传送到外设。DMA写:把外设输入的数据写入存储器。存储器与存储器之间的传递。读读/写操作均是针对存储器而言。写操作均是针对存储器而言。n数据校验数据校验:对数据块内的每个字节进行校验。n数据检索数据检索:在指定的内存区域内查找某个关键字节或某几个关键数据位是否存在,如果查到了,就停止检索。9.3 8237A的工作方式和方式寄存器的工作方式和方式寄存器n单字节传
12、送方式单字节传送方式每次传送一个字节,然后每次传送一个字节,然后释放总线控制权释放总线控制权。传送下一个字节时,重新申请使用总线。特点CPU在每个DMA周期结束后立即控制总线。对系统影响不大。CPU和DMAC轮流控制系统总线,传输效率低。229.3 8237A的工作方式和方式寄存器的工作方式和方式寄存器允许 DMADMAC发总线请求CPU响应DMA放弃总线DMAC控制传一个字节放弃总线中断请求NDMA放弃总线NYYDMA请求?块结束否?1.8237A的工作方式和方式寄存器的工作方式和方式寄存器8237A的四种工作方式的四种工作方式n数据块传送方式数据块传送方式只要DMA一启动,DMAC始终占用
13、总线始终占用总线,直到数据传送结束,或外部强制停止,才交出总线控制权。特点效率高。DMA传输期间CPU长时间不能控制总线。若一次传输的数据较多,对系统会有一定响应。23YNDMAC控制传一个字节放弃总线中断请求CPU 响应 DMA放弃总线DMAC发总线请求允许 DMADMA请求?块结束?8237A的四种工作方式的四种工作方式9.3 8237A的工作方式和方式寄存器的工作方式和方式寄存器1.8237A的工作方式和方式寄存器的工作方式和方式寄存器n请求传送方式请求传送方式当8237A检测到DREQ请求时就传输一字节,当DREQ 无效,或操作结束,或由外部送来结束信号EOP,DMAC都会释放总线,把
14、总线控制权交还CPU。具体实现:每传完一个字节,DMAC都会检测外设的DREQ请求。若若DREQ无效,则马上停止无效,则马上停止DMA传输传输,将总线控制权交给CPU。特点实现灵活,DMA操作可由外设用DREQ信号控制发送过程。248237A的四种工作方式的四种工作方式9.3 8237A的工作方式和方式寄存器的工作方式和方式寄存器1.8237A的工作方式和方式寄存器的工作方式和方式寄存器25允许DMADMAC发出总线请求CPU响应DMA放弃总线DMAC控制传一个字节放弃总线中断请求YY放弃总线NNYDMA请求?块结束?DMA请求?Nn级联传送方式级联传送方式将多个DMAC连在一起,一个为主,其
展开阅读全文