第4章+DMA技术.ppt

上传人:hyn****60 文档编号:70747554 上传时间:2023-01-27 格式:PPT 页数:69 大小:1.22MB
返回 下载 相关 举报
第4章+DMA技术.ppt_第1页
第1页 / 共69页
第4章+DMA技术.ppt_第2页
第2页 / 共69页
点击查看更多>>
资源描述

《第4章+DMA技术.ppt》由会员分享,可在线阅读,更多相关《第4章+DMA技术.ppt(69页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、4 输入和输出及输入和输出及DMA技术技术CPU与外设传送数据的方式DMA技术概述可编程DMA控制器8237A本章学习目标本章学习目标v掌握CPU与外设传送数据的不同方式的特点及适用场合v掌握DMA的基本概念、DMA传送数据的4种方式及传送过程v理解8237A的引脚功能及内部结构v掌握8237A的初始化方法及编程应用返回本章首页返回本章首页4.1 CPU与外设传送数据的方式与外设传送数据的方式CPU与接口之间的数据传送,传送的方式不同,CPU对外设的控制方式也不同,从而使接口电路的结构及功能也不同。在微机中,传送数据一般有三种方式:程序方式、中断方式和DMA方式。4.1.1 无条件传送方式无条

2、件传送方式所谓无条件传送方式无条件传送方式是指CPU对外设接口的读写随时都可以进行,不需要等待某种条件的满足。无条件传送方式仅局限于外部控制过程的各种动作时间是固定且是已知的前提下,直接用IN或OUT指令与外设进行传送数据。优点:硬件和软件都达到最简单的状态缺点:外设必须随时处于待命状态,并且外设的处理速度必须跟上CPU的运行速度,否则会出错。适用:定时为已知且保持不变的低速I/O接口,或不需要等待时间的输入输出设备,如开关和数码显示。4.1.1 无条件传送方式无条件传送方式传送过程:应用条件:输入时外设必须已经准备好数据,输出时锁存器必须为空。4.1.2 程序查询方式程序查询方式程序控制下的

3、查询传送方式,又称条件传送方式或异步传送方式。在执行输入和输出操作之前,需要通过测试程序对外围设备的状态进行检查。当被选定的外设准备“就绪”时,才开始进行输入和输出操作。4.1.2 程序查询方式程序查询方式1.查询式输入查询式输入在输入信息时,CPU必须了解外设的状态,看其是否已准备好。所以,接口部分除了有数据传送到端口外,还必须有传送状态信号的端口。当输入设备数据准备好后,往接口电路送一个选通信号,一方面使要传送的数据锁存到输入数据锁存器中,另一方面使接口的D触发器的Q端输出为“1”,给出准备好(READY)信号,通知CPU,外设数据已准备好。CPU在执行输入数据指令之前,先执行读状态口指令

4、,检查数据是否准备好,若读到READY=“1”(数据准备好),执行输入数据命令读取数据,同时使状态信息清“0”,为下一次操作做好准备。4.1.2 程序查询方式程序查询方式读入数据是8位(可以是16位)的,而状态信息往往占1位(比如用D7位)。所以不同外设状态信息可以使用同一端口的不同位传送。4.1.2 程序查询方式程序查询方式设连接在数据总线上的D7位。其输入程序片段如下:CHECK:IN AL,STATUS_PROT;读状态端口 TEST AL,80H;检查数据是否准备就绪 JZ CHECK;未就绪,重新读状态端口 IN AL,DATA_PORT;已就绪,读取数据4.1.2 程序查询方式程序

5、查询方式2.查询式输出查询式输出当有信息输出时,若外设空闲,则执行输出指令,否则就继续查询,直至有空为止。当当CPU向外设传送向外设传送数据时:首先查询外设状态,若外设空闲,Q端输出为“0”,则执行输出指令,产生一个选通信号,一方面使总线上的数据锁存到输出数据锁存器中;另一方面使接口中D触发器Q端置“1”,为外设提供联络信号,Q端为“1”时表明输出数据锁存器中已准备好数据,同时Q端与状态信息缓冲器的BUSY相对应。当外设从输出数据锁存器中读取数据时,产生一个应答信号,使接口中D触发器复位,即Q端输出为“0”,通知CPU外设现已处在空闲状态。4.1.2 程序查询方式程序查询方式设查询输出数据为8

6、位,状态信息占1位。4.1.2 程序查询方式程序查询方式输出程序片段如下:输出程序片段如下:CHECK:IN AL,STATUS_PROT;读状态端口TEST AL,80H ;检查输出装置是否忙(D7=1)JNZ CHECK;忙,转至读状态端口 MOV AL,SI ;设备空闲,取出待输出的数据OUT DATA_PORT,AL;输出数据至数据口4.1.2 程序查询方式程序查询方式查询方式传送数据的优缺点:优缺点:优点:优点:I/O接口简单;缺点:缺点:CPU要不断地查询外设,当外设未准备好时,CPU必须等待,不能做其它的工作,这就浪费了CPU的时间,而且设备多时难以及时地实施控制和管理。4.1.

7、3 中断控制方式中断控制方式使用查询方式时,CPU读取状态寄存器并检测状态字,如设备未准备好,CPU不断地查询(读取状态寄存器并检测状态字),浪费了大量CPU时间。使用中断方式,CPU不查询设备状态,当设备准备好时,主动向CPU提出中断请求,CPU响应中断后,在中断处理程序中与设备交换信息。如果设备未准备好,CPU可以执行其他程序,大大提高了CPU的利用率(中断方式如右图所示)此种传送方式一般较适合于外设数量多,速度中等以下,数据量少的场合。4.1.3 中断控制方式中断控制方式中断方式输入的接口电路除了必须的输入锁存器和三态缓冲器外,还必须包含产生中断请求信号的电路,当CPU响应中断请求后,接

8、口电路应撤消中断请求。另外,在应用中,通常需要禁止某设备申请中断,因此,一般还要设计一个中断屏蔽触发器,当中断屏蔽触发器置1时,禁止该设备申请中断。4.1.3 中断控制方式中断控制方式输入设备中断请求DQ输入锁存器?端口译码中断屏蔽Q触发器地 址总线数 据总线三态缓冲器选通4.1.4 DMA方式方式DMA方式,即在外设与存储器直接传送数据时,不需要通过CPU中转,由专门的硬件装置DMA控制器(DMAController,DMAC)来完成。由于这种传送时在硬件的控制下完成,不需要CPU介入,故效率较高。优点:数据传输速度高,适用于高速传输批量数据的外围设备,如光驱。缺点:需要专门的DMA控制器,

9、运行成本较高。4.2 DMA技术概述技术概述4.2.1DMA基本概念4.2.2DMA控制器返回本章首页返回本章首页4.2.1 DMA基本概念基本概念 DMA方式(DirectMemoryAccess)就是直接存储器存取工作方式,为高速输入输出设备与读写存储器直接进行批量数据交换提供直接传输通道。在DMA方式下,外设通过DMA控制器向CPU提出接管总线控制权的总线要求,CPU在当前的总线周期结束后,响应DMA请求,并把总线控制权交给DMA控制器。在DMA控制器的管理下,外设和寄存器之间就可以直接进行数据交换。返回本节返回本节DMA传送的特点传送的特点DMA方式可以实现外部设备与存储器之间的数据高

10、速传输 DMA传送主要用于需要高速大批量数据传送的系统中,以提高数据的吞吐量 DMA传送方式的优点是以增加系统硬件的复杂性和成本为代价的 DMA传送虽然脱离CPU的控制,但并不是说DMA传送不需要进行控制和管理4.2.1 DMA基本概念基本概念1.DMA传送的概念DMA传送可以实现外部设备与存储器之间的直接传送。基本特点:CPU不参与数据的传送,在DMA传送期间,CPU停止工作,把总线的控制权让出来,在DMA控制器的管理下,供外设和内存使用。DMA传送可以解决传送过程中的速度问题。4.2.1 DMA基本概念基本概念l2.DMA传送的几种方式l单次传送模式 l每次DMA传送只传送数据一次,然后把

11、总线的控制权交还CPU,下次传送时,DMAC必须重新向CPU申请占用总线。即使是连续请求DMA操作,在两次传送中间也至少要有一个总线周期让CPU使用。l成组传送模式l把要传送的全部数据分成若干组。当DMA控制器请求并得到总线的控制权后,DMA传送便开始。l在传送的整个过程中,只要DMA传送一开始,DMAC始终占用总线,直到数据传送结束,才把总线控制权还给CPU。4.2.1 DMA基本概念基本概念l请求方式成组传送l也是一种成组传送方式。l不同的是,它要求在这一组的数据传送过程中,外设传来的DMA请求信号一直保持有效,如果无效则挂起,直到请求信号再次有效时,继续DMA传送,直至结束。l级联方式传

12、送l若干片8237A可以级联,构成主从式DMA系统,连接方式是把从片的HRQ端和主片DREQ端相连,将从片的HLDA端和主片的DACK端相连,而主片的HRQ和HLDA端连接系统总线。l组队可以有5个8237A构成两级DMA系统。4.2.2 DMA控制器控制器1.DMA传送的基本过程(1)外设通过DMA控制器向CPU提出DMA申请。(2)DMA控制器接受外设的DMA请求。(3)CPU响应。(4)DMA控制器的操作。2.DMA控制器的功能1)能够响应外设的DMA请求,使CPU暂停工作,接管总线的控制权。2)按节拍提供外设和存储器工作的各种信号。3)提供存储器地址。4)应是可编程的,使之能灵活运用。

13、4.2.2 DMA控制器控制器4.3 DMA控制器控制器8237A4.3.1 8237A的主要特性4.3.2 8237A的引脚及结构4.3.3 8237A工作时序4.3.4 8237A初始化编程4.4.4 8237A应用实例4.3.1 8237A的主要特性的主要特性三种基本传送方式,且一次DMA传送之后,可以自动预置为原设置状态,使之能够重复操作8237A工作时钟频率为3MHz主要技术特性:有4个完全独立的DMA通道,可以分别编程控制4个不同的DMA操作对象能够分别运行或禁止各个通道的DMA请求,能对通道的优先级进行排序。能够对存储器块进行初始化能进行存储器到存储器的数据传输存储器的寻址范围为

14、64KB,能够在传送一个字节后使地址自动加1或减14.3.1 8237A的主要特性的主要特性对于时钟频率为5MHz的8237A-5,其数据传输率高达1.6MBps。可采用级联的方法扩展DMA通道的数量有用于控制传送结束的外接过程结束控制信号输入端可以用软件设置DMA请求可以分别控制DREQ和DACK信号的有效极性。4.3.2 8237A的引脚及结构的引脚及结构DMA控制器一方面可以控制系统总线,这时称其为总线主模块;另一方面又可以和其他接口一样,接受CPU对它的读写操作,这时DMA控制器就成了总线从模块。8237A的外部引脚共有40个,如图所示。各引脚功能特性如下:1)与与DMA周期有关的引脚

15、周期有关的引脚CLK:时时钟钟频频率率,为为输输入入信信号号。它它控控制制DMA数数据据传传 送的速率及送的速率及8237A内部操作的定时。内部操作的定时。READY:准备就绪信号,为输入信号,高电平有效。:准备就绪信号,为输入信号,高电平有效。ADSTB:地址选通信号,为输出信号,高电平有效。:地址选通信号,为输出信号,高电平有效。AEN:地址允许信号,为输出信号,高电平有效。:地址允许信号,为输出信号,高电平有效。返回本节返回本节图图4-4 8237A引脚功能图引脚功能图DREQ:DMA请求信号,属输入信号,高电平有效。请求信号,属输入信号,高电平有效。4个通道个通道的的DMA请求可以安排

16、不同的优先级判定法,在固定方式下,请求可以安排不同的优先级判定法,在固定方式下,DERQ0具有最高的优先级。具有最高的优先级。DACK:DMA响应信号,属于输出信号,高电平有效。响应信号,属于输出信号,高电平有效。MEMR:寄寄存存器器读读信信号号,为为输输出出信信号号,低低电电平平有有效效。当当此此信信号有效时,被选中的寄存器单元的内容被读到数据总线上。号有效时,被选中的寄存器单元的内容被读到数据总线上。MEMW:寄寄存存器器写写信信号号,为为输输出出信信号号,低低电电平平有有效效。当当此此信信号为低电平时,数据总线上的内容被写入被选中的寄存器单元。号为低电平时,数据总线上的内容被写入被选中

17、的寄存器单元。EOP:DMA传输结束信号,双向信号,低电平有效。传输结束信号,双向信号,低电平有效。HRQ:总线请求信号,属于输出信号,高电平有效。:总线请求信号,属于输出信号,高电平有效。HLDA:总线响应信号,属于输入信号,高电平有效。:总线响应信号,属于输入信号,高电平有效。A7A4:高:高4位地址线,双向信号在进行位地址线,双向信号在进行DMA传输时提供高传输时提供高4位地址。位地址。DB7DB0:数据总线。在:数据总线。在DMA周期中,作为高周期中,作为高8位地址与数据位地址与数据的复用线。的复用线。2)与)与CPU读读/写有关的信号写有关的信号CS:片选信号,为输入信号。低电平有效

18、。:片选信号,为输入信号。低电平有效。RESET:复位信号,为输入信号,高电平有:复位信号,为输入信号,高电平有效效IOR:I/O设备读信号,为双向信号,低电平设备读信号,为双向信号,低电平有效。有效。IOW:I/O设备写信号,双向信号,低电平设备写信号,双向信号,低电平有效。有效。A3A0:低:低4位地址线,双向信号。位地址线,双向信号。DB7DB0:8位双向数据线。传送命令、状位双向数据线。传送命令、状态、数据的通路。态、数据的通路。2.内部结构1)地址寄存器地址寄存器、基地址寄存器、当前地址寄存器2)字节数寄存器字节数寄存器、基本字节寄存器、当前字节计数器返回本节返回本节8237A的结构

19、框图的结构框图l表4-18237A的内部寄存器名称名称位数位数数量数量CPU访问方式访问方式基地址寄存器基地址寄存器164只写只写基字节计数寄存器基字节计数寄存器164只写只写当前地址寄存器当前地址寄存器164可读可写可读可写当前字节计数寄存器当前字节计数寄存器164可读可写可读可写地址暂存器地址暂存器161不能访问不能访问字节计数寄存器字节计数寄存器161不能访问不能访问命令寄存器命令寄存器81只写只写工作方式寄存器工作方式寄存器64只写只写屏蔽寄存器屏蔽寄存器41只写只写请求寄存器请求寄存器41只写只写状态寄存器状态寄存器81只读只读暂存寄存器暂存寄存器81只读只读1)地址和字数寄存器主要

20、是表中的前4项,分别是基址寄存器、基本字数寄存器、当前地址寄存器和剩余字数寄存器,每个通道都必须有这四个寄存器。基址寄存器是由CPU用程序控制写入的,表示数据块在内存中村存储的起始地址.基本字数寄存器中写入的是本次传输的数据块的字数,传送过程中保持不变.当前地址寄存器和剩余字数寄存器随传送过程变化.寄存器为16位,但是CPU的读写通道只有8位,由一个触发器组成的字节指针控制读写顺序,值为1时,读写高位字节,为0时,读写低位字节。工作方式寄存器格式工作方式寄存器格式2工作方式寄存器四种工作方式(1)单字节传输方式)单字节传输方式(2)块传输方式)块传输方式(3)请求传输方式)请求传输方式(4)级

21、连传输方式)级连传输方式单字节传送方式。在这种方式下,每次仅传送一个字节数据。传送后,字节数寄存器减1,地址寄存器加1或减1(由初始化编程决定)。HRQ变为无效,8237释放系统总线,控制权返回给CPU。当前字节数寄存器从初始值减到0,还要再传输一个字节,又从0减到0FFFFH时,才发出有效EOP信号,结束DMA传输过程。通常,在DACK成为有效之前,DREQ必须保持有效。每次传送后,DMA控制器把总线让给CPU至少一个总线周期,且立即开始检测DREQ输入,一旦DREQ为有效,再进行下一个字节的传送。数据块传送方式。在这种方式下,一旦8237控制总线就将始终占用总线,连续地传送字节数据直到字节

22、数寄存器减到零再减至0FFFFH时产生EOP信号为止。若需提前结束DMA传送也可由外部输入低电平有效的EOP信号来强迫终止DMA传送,总线控制才交还给CPU。这种方式最大能传送64KB的数据块,而且送DREQ只需维持到DACK有效,在传送期间就不再检测DREQ引脚信号。当数据块传送结束,则终止操作或者是重新初始化。请求传送方式。这种传送方式类似于数据块传送方式,所不同之处在于每传送一个字节之后,8237都将采样检测DREQ信号是否有效。若DREQ变为无效状态则放弃传输,一直到DREQ变为有效后又可开始从放弃的那一点开始DMA传输。当由于外设提供的DREQ信号变为无效而放弃DMA传送时,8237

23、释放总线,CPU可以接着操作。在此种方式下,因为DMA放弃传送时,8237的工作现场的地址及字节数计数值会保存在当前地址寄存器及当前字节数寄存器中。这样,当进行DMA的外部设备新的数据块准备好后,可再次向8237发出DREQ有效信号,8237接着原来的地址和字节计数值继续进行传输,直到字节数寄存器减到0,又减至0FFFFH计数结束或外输入EOP信号,才停止传送,退出DMA。级联方式。图4-12两级DMA的级联方式CPUDREQ0DACK0DREQ1DACK1HRQHLDA从8237AHRQHLDA0#HRQ1#HLDA从8237A第一级第二级主8237A 命令寄存器的命令格式命令寄存器的命令格

24、式3命令寄存器3命令寄存器D4选择不同的优先权。固定优先权时,通道0的优先权最高,通道3的优先权最低。另一种为循环式的,刚被服务过的通道优先权自动降为最低。循环优先级示意图优先级编码逻辑优先级编码逻辑请求寄存器的格式请求寄存器的格式4请求寄存器l屏蔽寄存器的格式屏蔽寄存器的格式4屏蔽寄存器l同时对四个通道设定屏蔽标志的命令字格同时对四个通道设定屏蔽标志的命令字格式式8237A也可以用综合屏蔽命令来设置通道的屏蔽触发器,也可以用综合屏蔽命令来设置通道的屏蔽触发器,其格式如下:其格式如下:l状态寄存器格式状态寄存器格式6状态寄存器8237A各寄存器的端口地址8237A操作端口地址与命令一览表操作端

25、口地址与命令一览表缓冲器组包含以下3部分:(1)A3A0:最低4位地址线,是三态双向信号端。在芯片空闲周期(非DMA工作周期),CPU对芯片输出的低4位地址线。(2)A7A4:高4位地址线。此信号仅用于DMA服务时提供高4位地址。数据及地址缓冲器组数据及地址缓冲器组(3)DB7DB0:8位双向数据线。在芯片空闲周期,CPU在读操作时(IOR有效),将内部寄存器的值送到系统总线上;在写操作时(IOW有效),由CPU对芯片内部寄存器编程。在DMA工作周期,高8位的地址信息经数据缓冲器,经DB7DB0在ADSTB选通信号作用下锁存到外部地址锁存器中,再与A7A0(低8位地址信息)组成DMA传送的16

26、位地址信息。在DMA的存储器到存储器的传送方式下,存储器读出的数据经数据总线送入数据缓冲器,然后在存储器写周期里,此数据经数据总线装入到所指定的存储器单元中。DMA8237芯片能提供16位地址信息,故对存储器的寻址范围为68KB。如要进一步扩大寻址范围,可在DMA系统中为每一个通道配置一个页面寄存器。如PC/XT的DMA系统中由于增加页面寄存器,每个通道的地址线为20条(A0A19),可寻址的范围达1MB。PC/AT的DMA系统可扩大至24条(A0A23)每通道可寻址的范围为1.6MB。3.8237A的软件命令1)主清除命令与硬件RESET信号具有相同的作用,执行该命令之后,命令、状态、请求、

27、暂存寄存器以及先/后触发器都被复位,屏蔽寄存器被置位。主清除命令的地址为0DH。2)清除先/后触发器命令保证寄存器的读写高低字节的顺序。该命令对0CH地址进行一次写操作,实现先/后触发器的复位。3)清屏蔽寄存器命令清屏蔽寄存器命令的地址为0EH。执行该命令后将清除全部4个通道的屏蔽寄存器,使它们允许接收DMA请求。空闲周期:无空闲周期:无DMA请求,状态为请求,状态为Si。有有效效周周期期:当当DMA控控制制器器接接到到CPU的的HLDA响响应应信信号号后后,8237A进进行行DMA传传送送到到过过程程。每每个个周周期期由由若若干干个个状状态态周周期期组组成成。每每个个状状态态周周期期都都占占

28、有有一一个个时时钟钟周周期期的的时时间间,称称为为:S0、S1、S2、S3、S4和和Sw7种不同的周期。种不同的周期。Si状状态态下下,每每个个时时钟钟周周期期都都检检查查DREQ的的状状态态,以以确确定定是是否否有有通通道道请请求求DMA服服务务。同同时时,对对CS端端采采样样,判判断断CPU是是否否要要对对8237A进进行行读读/写写操操作作。如如果果CS信信号号为为低低信信号号为为低低电电平平,且且HLDA也是低电平,就使芯片进入编程工作状态。也是低电平,就使芯片进入编程工作状态。4.3.3 DMA的工作时序的工作时序 1.正常正常DMA读写操作读写操作当8237A编程后,在接到外设的D

29、REQ请求后,就向CPU发出总线保持请求HRQ,并使芯片进入S0周期。S0是等待周期,在此期间8237A等待CPU让出总线控制权,得到HLDA的响应。在S0周期中,8237A还是可以接受CPU的读/写操作控制的。一个完整的传送周期应该包括S1S4这4个工作状态。为匹配慢速外设,可以在S3、S4之间插入Sw状态周期。S1周期,地址线变为有效。S2状态周期开始时,锁存高位地址,并要开始数据的传送。S3状态周期开始时,8237A送出与写入数据相关的控制信号。S3状态周期结束时,在下降沿检测8237A的READY信号端。S4状态周期中,结束本次一个字节数据的传送。每传送一个字节需要8个周期,前4个周期

30、发出MEMR信号,将源数据读入8237A的暂存寄存器。后4个周期送出MEMW信号,将暂存寄存器中的内容写入目的地址。IOR和IOW在整个过程不起作用。(2)DMA传送的类型。DMA的读/写总线周期(a)DMA读操作DMA的读/写总线周期(b)DMA写操作2.扩展写与压缩时序所谓扩展写是指当8237A输出写信号时,使其有效时间提前。把S1和S3两个周期省去,数据传送时间压缩一半。8237A-4正常时序与压缩时序(a)正常时序;(b)压缩时序S1CLKAENS2S3S4S2S3S4有效A8A14有 效A0A7RDWR(a)CLKS2S1S2S1S2有 效有 效A0A7RDWR(b)扩展码8237A

31、状态变化流程图一个完整的DMA传输过程必须经过4个阶段,PC/ATDMA系统也是如此:(1)DMA请求。DMA控制器(8237)接受由I/O接口发来的DMA请求信号DREQ,并经判优后向总线裁决逻辑提出总线请求HRQ信号。(2)DMA响应。由总线裁决逻辑对总线请求进行裁决。如CPU不再对DMA初始编程,则当CPU完成当前总线周期后予以响应,允许进行DMA传输。CPU放弃对总线的控制权,向8237DMA控制器发出总线应答信号HLDA。(3)DMA传输。由DMA控制器控制总线,发出相应的地址与控制信息,按要传输的字节数直接控制I/O接口与RAM的数据交换。(4)DMA传输结束。当DMA传输结束时,

32、DMA控制器产生计数终止信号EOP,并通过接口向CPU提出中断请求,以使CPU进行DMA传输正确性检查并重新获得对总线的控制权。在PC/ATDMA系统可支持7个通道DMA传输。除通道2为软盘驱动器的接口和通道0留作SDLC通信适配器应用外,其余通道3、4、6、7均留作扩充使用。4.3.4 8237A 初始化初始化编编程程输出主清除命令,使输出主清除命令,使8237A处于复位状态,以接收处于复位状态,以接收新的命令。新的命令。写入工作方式寄存器,以确定写入工作方式寄存器,以确定8237A的工作方式和的工作方式和传送类型。传送类型。写入命令寄存器,以控制写入命令寄存器,以控制8237A的工作。的工

33、作。根据所选择的通道,输入相应通道当前地址寄存器根据所选择的通道,输入相应通道当前地址寄存器和基址寄存器的初始值。和基址寄存器的初始值。输入当前字节计数器和基本字节数据寄存器的初始输入当前字节计数器和基本字节数据寄存器的初始值。值。写入屏蔽寄存器。写入屏蔽寄存器。设从某外设传送设从某外设传送1000H个字节的数据块到起始地址为个字节的数据块到起始地址为2000H的内存区的内存区域中。采用域中。采用DMA传送方式,利用通道传送方式,利用通道1,8237A的初始化程序如下:的初始化程序如下:OUT 0DH,AL;主清除命令主清除命令MOV AL,85H;选择通道选择通道1,写传输,紧张自动预置,写

34、传输,紧张自动预置OUT 0BH,AL;地址递增,块传送方式地址递增,块传送方式MOV AL,00H;外设至存储器,正常时序,固定优先级,正常写;外设至存储器,正常时序,固定优先级,正常写OUT 08H,AL;DREQ高电平有效,高电平有效,DACK低电平有效低电平有效MOV AX,2000H;地址初值,分两次写入地址初值,分两次写入OUT 02H,AL;先写低字节先写低字节MOV AL,AHOUT 02H,AL;后写高字节后写高字节MOV AX,1000H;字节数初值,分两次写入字节数初值,分两次写入OUT 03H,AL;低字节低字节MOV AL,AHOUT 03H,AL;高字节高字节MOV

35、 AL,00HOUT OFH,AL;清除通道屏蔽位清除通道屏蔽位4.45 8237A应用实例应用实例个人计算机的系统板上用了一个8237A-5DMA控制器,其4个通道中的通道0用于动态存储器的刷新控制,通道1为用户预留,用户可以通过系统与之相连,通道2作为软磁盘驱动器数据传输控制用,通道3留给硬盘驱动器使用。1.初始化1)通道0通道0用于DRAM的刷新。按照刷新要求,每次刷新一行存储单元,通道0应被置为单字节传送方式,实现对RAM的读操作,地址从0000H开始,传送字节数FFFFH,且要求它能够自动预置。OUT0DH,AL;对DMA进行总清除,DMA停止工作MOVAL,0OUT0,AL;置地址

36、的低位字节OUT0,AL;置地址的高位字节MOVAL,0FFHOUT1,AL;置计数值的低字节OUT1,AL;置计数值的高字节MOVAL,58H;方式字的内容为单字节传送、读操作;地址增量且自动预置OUT0BH,ALMOVAL,0OUT08H,AL;写命令寄存器,启动8237AOUT0AH,AL;清屏蔽经初始化后,每当定时器1产生一个脉冲的输出,8237A的通道0就产生一次DMA操作,这项操作实际上是一次假读操作,起到对一行存储单元进行刷新的目的。2)通道2该通道用来做软磁盘与存储器之间进行传送控制,被设置成字节传送方式,读/写方式,且不要自动预置。OUT0CH,AL;清字节指针MOVAL,46HOUT0BH,AL;方式字,单字节传送,写入,非自动预置,地址减量MOVAX,XXXXOUT04H,AL;置地址低8位MOVAL,AHOUT04H,ALMOVAL,XX;给页面寄存器ANDAL,0FH;送A19A16地址OUT81H,ALMOVAX,XXXX;置计数值低8位OUT05H,ALMOVAL,AHOUT05H,AL;置计数值高8位MOVAL,02HOUT0AH,AL;清2通道屏蔽,启动8237A

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com