微型计算机原理与接口技术(第三 杨立 邓振杰 荆淑霞等 第8章 可编程DMA控制器8237A新.pptVIP

  • 52
  • 0
  • 约4.07千字
  • 约 32页
  • 2015-12-24 发布于广东
  • 举报

微型计算机原理与接口技术(第三 杨立 邓振杰 荆淑霞等 第8章 可编程DMA控制器8237A新.ppt

本章内容到此结束 谢谢各位 ! 在线教务辅导网: 更多课程配套课件资源请访问在线教务辅导网 第8章 可编程DMA控制器8237A 8.1 概述 8.2 8237A的内部结构与引脚 8.3 8237A的工作方式 8.4 8237A内部寄存器功能及格式 8.5 8237A的编程及应用 8.1 概述 8.1.1 8237A的主要功能 8237A是40引脚双列直插式高性能可编程DMA控制器。 主要功能如下: (1)有4个独立DMA通道,每个通道均可独立传送数据。 (2)每个通道DMA请求都可分别允许和禁止。 (3)每个通道均有64 KB寻址和计数能力。 (4)有4种DMA传送方式,分别为单字节传送、数据块传送、请求传送和级联传送方式。 (5)需要更多数据传送通道可把8237A级联。 8.1 概述 8.1.2 8237A的工作状态 8237A有主态方式和从态方式两种不同工作状态. DMA控制器未取得总线控制权时须由CPU对其进行编程,这时,CPU处于主控状态,DMA控制器和一般I/O芯片一样,是系统总线从设备,这种工作方式称为从态方式。 当DMA控制器取得总线控制权后,系统就完全在它的控制下,使I/O设备和存储器之间或存储器与存储器之间进行直接的数据传送,这种工作方式称为主态方式。 8.2 8237A内部结构及引脚 8-2-1 8237A内部结构 8237A内部结构由时序与控制逻辑、优先级编码电路、数据和地址缓冲器组、命令控 制逻辑和内部寄存器等组成。 8.2 8237A内部结构及引脚 8-2-2 8237A的引脚 8237A是40引脚的双列直插式器件,由于它既可做主模块又可做从模块,故其外部引脚设置也具有一定的特点。如它的I/O读写线和数据线是双向的,另外,还设置了存储器读/写线和16位地址输出线。这些都是其他I/O接口芯片所没有的。 8.3 8237A的工作方式 8.3.1 单字节传送方式 这种工作方式下,每进行一次DMA操作,只传送1 B数据。 8237A每完成1 B传送计数器便自动减1,地址寄存器值加1或减1。 当内部字节计数器由0减为FFFFH时,产生传输过程结束信号EOP,表示DMA传送过程结束。 这种方式的特点是一次DMA传送只传送1 B的数据,占用一个总线周期,然后释放系统总线。 8.3.2 数据块传送方式 该方式传送会一个字节一个字节进行下去,直到把整个数据块全部传送完毕才交出系统总线控制权。 外设准备好后,向8237A发DREQ信号,8237A收到该信号后向CPU发HRQ信号请求占用总线,CPU同意HRQ请求,向8237A发HLDA信号,然后8237A向外设发DACK信号开始DMA传送,直到整个数据块传送完毕。 每次DREQ有效后,若CPU响应其请求让出总线控制权给8237A,8237A进行DMA服务时,就会连续传送数据,只有当字节计数器计数由0减为FFFFH或外部送有效EOP信号时,才将总线控制权交给CPU,结束DMA服务。 该方式的特点是数据传输效率高。 8.3.3 请求传送方式 这种工作方式与数据块传送方式类似,不同点在于每传送1 B后,8237A都对DREQ端进行测试,询问其是否有效。 如检测到DREQ端变为无效电平,则停止DMA传送,但不释放系统总线,测试过程仍进行。 当检测到DREQ端变为有效电平时,就在原来的基础上继续进行传送。 这种方式的特点是DREQ信号一直有效时,连续传送数据,只有当字节计数器由1减为FFFFH,或外部送来有效的EOP信号,或DREQ变为无效时才结束DMA传送过程。 8.3.4 级联传送方式 在这种方式下可把一片8237A(主片)和 几片8237A(从片)进 行级联,以便扩充DMA通道。 图8-3所示为二级8237A级联时的情况 图8-3 二级8237A级联 8.4 8237A内部寄存器功能及格式 8237A的内部可编程寄存器主要有10个,如下表所示。 名 称 位数 数 量 功能 当前地址寄存器 16 4 (每通道一个) 保存在DMA传送期间的地址值,可读写 当前字节计数寄存器 16 4 (每通道一个) 寄存当前字节数,初始值比实际值少1,可读写 基地址寄存器 16 4 (每通道一个) 寄存当前地址寄存器的初始值,只能写 基字节数寄存器 16 4 (每通道一个) 保存相应通道当前字(节)数的计数器的初值 工作方式寄存器 8 4 (每通道一个) 寄存相应通道的方式控制字,由编程写入 命令寄存器 8 1 (4个通道共用一个) 寄存CPU发送的控制命令 状态寄存器 8 1 (4个通道共用一个) 存放8237A各通道的现行

文档评论(0)

1亿VIP精品文档

相关文档