微机接口第09章(DMA).ppt
《微机接口第09章(DMA).ppt》由会员分享,可在线阅读,更多相关《微机接口第09章(DMA).ppt(67页珍藏版)》请在三一办公上搜索。
1、1,2,第9章 DMA控制接口,教学重点 8237A的工作方式 8237A寄存器组的作用 8237A寄存器组的编程,注意复习第6.5节,3,9.1 DMA控制器8237A,DMA控制器用于存储器的高速数据交换PC/XT使用1片8237APC/AT使用2片8237A(级连)每个8237A芯片有4个DMA通道,即4个独立的DMA控制器,可支持4路DMA操作各DMA通道优先权不同各DMA通道可以分别允许和禁止每个DMA通道有 4 种工作方式一次DMA传送的最大长度可达64KB多个8237A芯片可以级连,以扩展通道数目,4,DMA控制器的双重身份,在CPU控制总线时 DMA控制器为外设芯片,其地址线A
2、0A3、-IOR、-IOW均为输入,地址线,-IOR,-IOW,CPU,DMAC,数据线,5,DMA控制器的双重身份,DMAC控制总线时 DMA控制器为总线控制设备,其地址线A0A3、-IOR、-IOW、-MEMR、-MEMW等均为输出,地址线,-IOR,-IOW,CPU,DMAC,-MEMR,-MEMW,存储器,高速外设,数据线,对外设不寻址,对内存寻址,6,9.1.1 8237A的内部结构和引脚,内部结构和外部引脚都相对比较复杂应用观点,内部主要由两类寄存器组成通道寄存器控制和状态寄存器,首先分类展开外部引脚,7,1.请求与响应信号,DREQ0DREQ3:DMA通道请求。当外设需要请求DM
3、A服务时,将DREQ信号置成有效电平,并要保持到产生响应信号。HRQ:总线请求。8237A输出有效的HRQ高电平,向CPU申请使用系统总线。HLDA:总线响应。8237A接受来自CPU的响应信号HLDA,取得了总线的控制权。DACK0DACK3:DMA通道响应。8237A使请求服务的通道产生相应的DMA响应信号。,-MEMW,-IOR,数据总线,地址总线,输入设备,存储器,DMAC,CPU,HOLD,HLDA,DREQ,DACK,8,2.DMA传送时的控制信号,A0A7:地址线。输出低8位存储器地址。DB0DB7:数据线。输出高8位存储器地址;存贮器与存贮器的传送期间,用于数据传送。ADSTB
4、:地址选通。DMA传送开始时,输出高有效,把在DB0DB7上输出的高8位地址锁存在外部锁存器中(相当于CPU的ALE信号)。AEN:地址允许。输出高有效,将锁存的高8位地址送入系统总线,与芯片此时输出的低8位地址组成16位存储器地址。,9,2.DMA传送时的控制信号(续),-MEMR:存储器读,输出。有效将数据从存储器读出-MEMW:存储器写,输出。有效将数据写入存储器-IOR:I/O读,输出。有效将数据从外设读出-IOW:I/O写,输出。有效将数据写入外设READY:准备好。DMA传送的S3下降沿检测到为低时,插入等待状态Sw,直到READY为高才进入第4个时钟周期S4。-EOP:过程结束,
5、双向。DMA传送过程结束,输出一个低有效脉冲。外部输入低脉冲信号,则终结DMA传送。,10,3.与处理器的接口信号,DB0DB7:数据线。用于8237A与微处理器进行数据交换。A0A3:地址线。用以选择芯片内部寄存器。-CS:片选。低有效时,微处理器与8237A通过数据线通信,主要完成对8237A的编程。-IOR:I/O读,输入。CPU读8237A内部寄存器。-IOW:I/O写,输入。CPU写8237A内部寄存器。CLK:时钟。控制芯片内部操作和数据传输。RESET:复位。使8237A处于初始状态。,11,8237A的两种工作状态,8237A具有两种工作状态空闲周期:作为接口芯片,受CPU的控
6、制有效周期:作为DMA控制器控制系统总线,完成DMA传送(DMA读或DMA写),于是,有些引脚有两种作用,12,8237A引脚的两种作用,13,9.1.2 8237A的工作时序 空闲周期,8237A的所有通道都无DMA请求8237A由微处理器作为一个接口芯片来控制CPU可对8237A编程,或从8237A读取状态8237A不断采样选片信号-CS,该信号有效时,表示CPU要对8237A进行读/写操作8237A不断采样通道的请求输入信号DREQ,该信号有效时,8237A将进入有效周期,进入有效周期,14,9.1.2 8237A的工作时序 有效周期,8237A采样到外设有DMA请求,就脱离空闲周期进入
7、有效周期8237A作为系统总线的控制设备,控制DMA传送操作DMA传送需借用系统总线完成,其控制信号以及工作时序类似CPU总线周期,进入DMA传送时序,15,DMA传送时序,DB0DB7,DACK,ADSTB,HRQ,DREQ,CLK,S1,S0,S0,Si,Si,S3,S2,S4,S3,S2,Si,Si,S4,HLDA,AEN,A0A7,-MEMR(-IOR),-IOW(-MEMW),DMA总线周期,A8A15,A0A7,A0A7,扩展写,滞后写,16,DMA传送时序,S1状态输出16位存储器地址,AEN输出高电平,表示DMA送出的地址有效(CPU的地址无效)S2状态输出DMA响应信号和控制
8、信号,DMA读:-MEMR和-IOW有效DMA写:-IOR和-MEMW有效S3和Sw状态检测数据传送是否完成(READY),决定是否插入等待状态SwS4状态完成数据传送,17,9.1.3 8237A的工作方式,DMA传送方式单字节传送方式数据块传送方式请求传送方式(引脚有效)级连方式,DMA传送类型DMA读DMA写DMA检验,存储器,8237内部寄存器,存储器,经变通后亦可支持存储器到存储器的传送,DMA读,DMA写,18,1.DMA传送单字节方式,每次DMA传送时仅传送一个字节传送一个字节之后,字节数寄存器减1,地址寄存器加1或减1,HRQ变为无效8237A释放系统总线,将控制权还给CPU若
9、传送后使字节数从0减到FFFFH,则终结DMA传送或重新初始化特点:一次传送一个字节,效率略低DMA传送之间CPU有机会重新获取总线控制权,19,1.DMA传送数据块方式,DREQ请求后就连续传送数据,直到字节数寄存器从0减到FFFFH终止计数,或由外部输入有效信号-EOP终结DMA传送DREQ只需维持有效到DACK有效特点:一次请求可传送一个数据块,效率高整个DMA传送期间CPU长时间无法控制总线(无法响应其他DMA请求、无法处理中断等),20,1.DMA传送(引脚)请求方式,DRE引脚信号有效时就连续传送数据DREQ引脚信号无效时就停止传送(8237A释放总线,通道中的地址和字节数保持不变
10、),CPU可继续操作DREQ信号再次有效时,DMA传送将继续进行如果字节数寄存器从0减到FFFFH,或者由外部送来一个有效的信号,将计数将终止特点:DMA操作可由外设利用DREQ信号控制传送的过程,21,1.DMA传送级连方式,用多个8237A级连可扩展DMA通道第2级的HRQ和HLDA信号连到第一级某个通道的DREQ和DACK上第2级芯片的优先权等级与所连通道的优先权相对应级连时,第1级只起优先权网络的作用,实际的操作由第2级芯片完成8237A级连还可由第2级扩展到第3级,22,2.DMA传送类型,DMA读把数据由存储器传送到高速外设由-MEMR有效从存储器读出数据,由-IOW有效把这一数据
11、写入外设DMA写把高速外设输入的数据写入存储器由-IOR有效从外设输入数据,由-MEMW有效把这一数据写入存储器。DMA检验空操作8237A不进行任何检验可对8237A进行DMA校验存储器和I/O控制线保持无效,不进行传送,23,3.存储器到存储器的传送,固定使用通道0及通道1通道0的地址寄存器存源区地址,通道1的地址寄存器存目的区地址,通道1的字节数寄存器存传送的字节数传送通过对通道0的设置,软件启动每传送1字节需用8个时钟周期前4个时钟周期用通道0地址寄存器的地址从源区读数据送入8237A的临时寄存器后4个时钟周期用通道1地址寄存器的地址把临时寄存器中的数据写入目的区,24,4.DMA通道
12、的优先权方式,固定优先权方式优先权固定通道0优先权最高,通道3最低循环优先权方式优先权循环变化最近1次服务的通道在下次循环中变成最低优先权,其他通道的优先权依次轮流,DMA操作不嵌套,25,5.自动初始化方式,DMA过程的结束(-EOP的功能)每当DMA过程结束(计数从0变到FFFFH),则从-EOP引脚将输出有效信号当外部输入有效信号到-EOP引脚,可以终止内部的计数8237A在DMA结束时可选择自动初始化,其具体内容是:用基地址寄存器和基字节数寄存器的内容,使相应的现行寄存器恢复为初始值恢复屏蔽位允许DMA请求这样就为下一次DMA传送做好了准备,26,9.1.4 8237A的寄存器,823
13、7A共有4位地址,可寻址16个片内地址,其中:读操作可访问10个地址写操作可访问16个地址8237A共有10种内部寄存器(有些是16位的),可对它们进行读或写的操作,后面我们将分别描述它们此外,还有3个“软件命令”,这3个命令通过对3个特定地址的写操作来实现,写入内容可任意清除高/低触发器命令 A0A3=1100 写入值任意主清除命令 A0A3=1101 写入值任意清屏蔽寄存器命令 A0A3=1110 写入值任意,全部都用地址A0A3区分,27,8237A中的寄存器,通道03地址寄存器 4(只写,16位)通道03字节数寄存器4(只写,16位)通道03现行地址寄存器4(只读,16位)通道03现行
14、字节数寄存器4(只读,16位)命令寄存器1(只写,8位)请求寄存器1(只写,8位)方式寄存器1(只写,8位)屏蔽寄存器1(只写,8位,有2种写法)状态寄存器1(只读,8位)临时寄存器1(只读,8位),3个写命令清除高/低触发器命令主清除命令清屏蔽寄存器命令,单通道屏蔽字 4 通道屏蔽字,28,1.基地址/现行地址寄存器,现行地址寄存器(动态)保存DMAC寻址存储器的当前地址值每次传送后该寄存器的值可自动加1或减1在空闲周期该寄存器的值可由CPU读出,基地址寄存器(静态)在空闲周期CPU可将地址初值写入基地址寄存器,29,2.基字节数/现行字节数寄存器,现行字节数寄存器保存DMA传送任务中剩余的
15、字节数每次传送后,该寄存器的值将减1在空闲周期,这个寄存器的值可由CPU读出该寄存器的值减至0,再减1(从0减到FFFFH)时,计数将终止(写入FFFFH时实际可传送10000H个数据),基字节数寄存器(静态)在空闲周期,CPU可将计数初值写入基字节数寄存器要传送 N 个字节,其初始值应设为 N-1,30,读/写通道寄存器,通道寄存器包括:基地址寄存器/基字节数寄存器(各4个,只写)现行地址寄存器/现行字节数寄存器(各4个,只读)通道寄存器均为16位,而CPU访问8237A的总线宽度为8位,对通道寄存器的读/写需要操作两次8237A内有一个高/低字节触发器,可控制读、/写通道寄存器的高/低操作
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 接口 09 DMA
链接地址:https://www.31ppt.com/p-6572853.html