《微机接口技术及其应用》课件第8章.ppt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机接口技术及其应用 微机 接口 技术 及其 应用 课件
- 资源描述:
-
1、1 1第8章 可编程DMA控制器芯片8237A 8.1 8237A的结构和工作原理 8.2 8237A的编程及应用 习题与思考题2 2为了加快传输大批量数据的速度,常采用直接存储器存取方式(DMA,Direct Memory Access)进行数据传输。开辟在存储器和外设之间直接传输数据的通道,也能让两块存储器之间直接交换数据,而不需要CPU的干预,即不需要由CPU产生地址信息、数据信息、控制信号以及来回进行复制数据,这些信号和操作都是由DMA控制器形成和管理的,从而使传输数据的速度达到了硬件所允许的最快速度。利用DMA方式传送数据时,数据的传送过程完全由硬件控制,这种硬件电路称为DMA控制器
2、。DMA控制器具有以下基本功能:3 3(1)能向CPU提出DMA请求,请求信号加到CPU的HOLD引脚上。(2)CPU响应DMA请求后,DMA控制器从CPU获得对总线的控制权。在整个DMA操作期间,由DMA控制器管理系统总线并控制数据传递,CPU则暂停工作。(3)能提供读/写存储器或I/O设备的各种控制命令。(4)确定数据传输的起始地址和数据的长度,每传送一个数据,能自动修改地址,使地址增1或减1,数据长度减l。(5)数据传送完毕,能发出结束DMA传送的信号。4 4CPU在每一个非锁定时钟周期结束后,都要检测HOLD线上是否有DAM请求信号,若有,则转入DMA工作周期。8237A是高性能的可编
3、程DMA控制器芯片,工作在5MHz时钟下的8237A-5其传输速率可达1.6 MB/s。每片8237A内部有4个独立的通道,每个通道寻址及字节计数都可达64 K地址和字节的计数能力,并具有4种不同的传送方式:单字节传送、数据块传送、请求传送和级联传送方式。通过级联,可以扩大通道数。对每个通道的DMA请求可以允许或禁止。4个通道的DMA请求有不同的优先级,优先级可以是固定的,也可以是循环的。5 5任一通道完成数据传送后,会产生过程结束信号(EOP,End Of Process),同时结束DMA传送,还可以从外界输入EOP信号,中止正在执行的DMA传送。它们可以分时地为4个外部设备实现DMA操作,
4、以实现内存到端口、端口到内存及内存到内存之间的高速数据传送。在PC机中,利用8237A的传送速率仅仅是476 KB/s。6 68237A控制器可以处于两种不同的工作状态。在DMA控制器未取得总线控制权时,必须由CPU对DMA控制器进行编程,以确定通道的选择、数据传送的方式和类型、内存单元的起始地址、地址是递增还是递减及要传送的总字节数等,CPU也可以读取DMA控制器的状态。这时,CPU处于主控状态,而DMA控制器就和一般的I/O芯片一样,是系统总线的从设备,DMA控制器的这种工作方式称为从态方式。当DMA控制器取得总线控制权后,系统就完全在它的控制下,使I/O设备和存储器之间或者存储器与存储器
5、之间进行直接的数据传送,DMA控制器的这种工作方式称为主态方式。7 7为了能够实现高速率传送数据,人们提出了直接存储器存取方式(DMA)。本节将以广泛使用的DMA控制器Intel 8237A为例,分析DMA的一般原理及工作过程,最后举例说明其使用方法。8 88.1.1 8237A的结构的结构如图8-1所示,8237A每一通道内包含4个16位的寄存器,即基地址寄存器、基字节数计数器、当前地址寄存器和当前字节数计数器。它们决定了DMA访问的存储器地址及传输数据的字节数。每个通道内还有一个6位的方式寄存器,用来在初始化编程时选定通道的工作方式。8.1 8237A的结构和工作原理的结构和工作原理9 9
6、图8-1 8237A的内部结构图10 10每片8237A中,4个通道还共用一个8位的命令寄存器、一个8位的状态寄存器、一个4位的屏蔽寄存器和一个4位的请求寄存器等。整个8237A的内部寄存器如表8-1所示。11 11表表8-1 8237A的内部寄存器的内部寄存器12 128.1.2 8237A的引脚功能的引脚功能8237A是一种40引脚的双列直插式器件,其引脚排列如图8-2所示,下面分别介绍各引脚的功能。13 13图8-2 8237A的引脚图14 14CLK:时钟信号,输入。它用来控制8237A的内部操作和数据传送速率。8237A的时钟频率为3 MHz,8237A-5的时钟频率可达到5 MHz
7、。8237A-5是8237A的改进型产品,其工作效率较高,但工作原理和使用方法与8237A完全一样。:片选信号,输入,低电平有效。在从态工作方式下,有效时选中8237A,这时DMA控制器作为一个I/O设备,可以通过数据总线与CPU通信。CSCS15 15READY:准备好,输入,高电平有效。当参与DMA传送的设备中有慢速I/O设备或存储器时,可能要求延长读/写操作周期,这时可使READY变成低电平,使8237A可在DMA周期中插入等待周期Tw。当存储器或外设准备就绪时,READY端变成高电平。A3A0:最低4位地址线,三态,双向。在从态时,它们是输入信号,用来寻址DMA控制器的内部寄存器,使C
8、PU对各种不同的寄存器进行读/写操作,即对8237A进行编程。在主态时,输出的是要访问内存的最低4位地址。A7A4:4位地址线,三态,输出。这4位地址线始终工作于输出状态或浮空状态。在主态时,输出4位地址信息A7A4。16 16DB7DB0:8位数据线,三态,输入/输出。它们被连到系统数据总线上。从态时,CPU可用I/O读命令从数据总线上读取8237A的地址寄存器、状态寄存器、暂存寄存器和字节数计数器的内容,CPU还可以通过这些数据线用I/O写命令对各个寄存器进行编程。17 17在主态时,高8位地址信号A15A8经8位的I/O缓冲器从DB7DB0引脚输出,并由ADSTB信号将DB7DB0输出的
展开阅读全文