1、http:/ 现代微机原理与接口技术现代微机原理与接口技术 :/elecfans 电子发烧友 :/bbs.elecfans 电子技术论坛 1 为什么为什么DMA传送方式能实现高速传送?传送方式能实现高速传送?DMA传送的过程是什么样的?画出流程。传送的过程是什么样的?画出流程。DMA有哪些操作方式?各有什么特点。有哪些操作方式?各有什么特点。简述简述DMA控制器的两个工作状态的特点。控制器的两个工作状态的特点。试设计一种在试设计一种在8088大模式下与大模式下与8237连接的根本电路连接的根本电路图。并说明你的设计中图。并说明你的设计中8237各个端口的实际地址。各个端口的实际地址。DMA控制
2、器的时序包括哪几个状态周期?试画出正控制器的时序包括哪几个状态周期?试画出正常读传输的时序。常读传输的时序。DMAC的内部地址存放器是的内部地址存放器是16位的,如何扩展地址位的,如何扩展地址来访问来访问16MB的地址空间?的地址空间?自学思考题自学思考题 http:/ 现代微机原理与接口技术现代微机原理与接口技术 :/elecfans 电子发烧友 :/bbs.elecfans 电子技术论坛 2 4.1.1 数据传送的控制数据传送的控制 数据传送涉及的数据传送涉及的3个问题个问题 1数据的来源;数据的来源;2数据的去处;数据的去处;3数据本身以及如何控制数据的传送。数据本身以及如何控制数据的传
3、送。第第4章章 DMA技术技术 4.1 概述概述 http:/ 现代微机原理与接口技术现代微机原理与接口技术 :/elecfans 电子发烧友 :/bbs.elecfans 电子技术论坛 3 DMA方式控制的数据传送方式控制的数据传送 http:/ 现代微机原理与接口技术现代微机原理与接口技术 :/elecfans 电子发烧友 :/bbs.elecfans 电子技术论坛 4 DMA传送方式通常用来高速传送传送方式通常用来高速传送大批量的数据块。如:大批量的数据块。如:硬盘和软盘硬盘和软盘I/O;快速通信通道快速通信通道I/O;多处理机和多程序数据块传送;多处理机和多程序数据块传送;在图像处理中
4、,对在图像处理中,对CRT屏幕送数据;屏幕送数据;快速数据采集;快速数据采集;DRAM的刷新操作。的刷新操作。http:/ 现代微机原理与接口技术现代微机原理与接口技术 :/elecfans 电子发烧友 :/bbs.elecfans 电子技术论坛 5 DMA传送包括:传送包括:1存储单元传送:存储器存储单元传送:存储器存储器。存储器。2DMA读传送:存储器读传送:存储器I/O设备。设备。3DMA写传送:写传送:I/O设备设备存储器。存储器。http:/ 现代微机原理与接口技术现代微机原理与接口技术 :/elecfans 电子发烧友 :/bbs.elecfans 电子技术论坛 6 4.1.2 D
5、MA传送的工作过程传送的工作过程 1I/O设备向设备向DMAC发出发出DMA请求;请求;2 DMAC向向CPU发出总线请求;发出总线请求;3CPU在执行完当前指令的当前的总线周期后,在执行完当前指令的当前的总线周期后,向向DMAC发出总线响应信号;发出总线响应信号;4CPU脱离对系统总线的控制,由脱离对系统总线的控制,由DMAC接管接管对系统总线的控制;对系统总线的控制;http:/ 现代微机原理与接口技术现代微机原理与接口技术 :/elecfans 电子发烧友 :/bbs.elecfans 电子技术论坛 7 5DMAC向向I/O设备发出的设备发出的DMA应答信号;应答信号;6DMAC进行一个
6、字节的传送;进行一个字节的传送;7完成设定的字节数据传送,完成设定的字节数据传送,CPU恢复对系恢复对系统总线的控制。统总线的控制。http:/ 现代微机原理与接口技术现代微机原理与接口技术 :/elecfans 电子发烧友 :/bbs.elecfans 电子技术论坛 8 4.1.3 DMA传送的方式传送的方式 1DMA操作类型操作类型 数据传送数据传送。数据传送是把源地址的数据传送到目的地。数据传送是把源地址的数据传送到目的地址中去。址中去。数据检验数据检验。当数据传送完毕之后,可以进行校验操作。当数据传送完毕之后,可以进行校验操作。校验操作并不进行数据传送,只进行数据校验。但操校验操作并不
7、进行数据传送,只进行数据校验。但操作过程仍然要通过作过程仍然要通过DMAC向向CPU提出申请,进入提出申请,进入DMA周期。周期。数据检索数据检索。数据检索操作并不进行数据传送,只是对。数据检索操作并不进行数据传送,只是对在指定的内存区内查找某个关键字节或某几个关键数在指定的内存区内查找某个关键字节或某几个关键数据位是否存在,如果查找到了,就停止检索操作。据位是否存在,如果查找到了,就停止检索操作。http:/ 现代微机原理与接口技术现代微机原理与接口技术 :/elecfans 电子发烧友 :/bbs.elecfans 电子技术论坛 9 2DMA操作方式操作方式 单字节操作方式。每次进行单字节
8、操作方式。每次进行DMA操作只操作一个字节操作只操作一个字节。连续操作方式。只要连续操作方式。只要DMA操作开始,操作开始,DMAC始终占用始终占用总线,直到总线,直到DMA操作完成,才把总线控制权交还操作完成,才把总线控制权交还CPU。请求操作方式。如果有请求操作方式。如果有DMA请求,那么请求,那么DMAC就占用就占用总线;当总线;当DMA请求无效,或请求无效,或DMA操作完成,或由操作完成,或由外部传来过程结束信号外部传来过程结束信号EOP时,时,DMAC都会释都会释放总线。放总线。级联传送方式。级联传送方式。http:/ 现代微机原理与接口技术现代微机原理与接口技术 :/elecfan
9、s 电子发烧友 :/bbs.elecfans 电子技术论坛 10 4.2 DMA控制器控制器 4.2.1 DMA控制器在系统中的两种工作状态控制器在系统中的两种工作状态 1主动态主动态 在在DMAC获得总线控制权之后,获得总线控制权之后,DMAC取代取代CPU而成而成为系统的主控者,接管和控制系统总线为系统的主控者,接管和控制系统总线数据总线、数据总线、地址总线和控制总线地址总线和控制总线。通过总线向存储器或。通过总线向存储器或I/O设备设备发出地址、读发出地址、读/写信号,以控制在两个实体之间的传送写信号,以控制在两个实体之间的传送。2被动态被动态 在在DMAC获得总线控制权之前,获得总线控
10、制权之前,DMAC受受CPU控制控制。此时,。此时,CPU可对可对DMAC进行初始化编程,也可从进行初始化编程,也可从DMAC中读出状态。当中读出状态。当DMAC上电或复位时,上电或复位时,DMAC自动处于被动态。自动处于被动态。http:/ 现代微机原理与接口技术现代微机原理与接口技术 :/elecfans 电子发烧友 :/bbs.elecfans 电子技术论坛 11 4.2.2 82C37A 的内部结构和引脚功能说明的内部结构和引脚功能说明 1.82C37A的特点的特点 具有具有4个独立的个独立的DMA通道通道,每个通道都可独立地进行每个通道都可独立地进行初始化初始化。每个通道的每个通道的
11、DMA请求都可以被允许或禁止请求都可以被允许或禁止。每个通道的每个通道的DMA有不同的优先级有不同的优先级,既可以是固定优既可以是固定优先级先级,也可以是循环优先级也可以是循环优先级。每个通道进行一次传送的最大字节数为每个通道进行一次传送的最大字节数为64K。提供提供4种传送方式:单字节传送方式种传送方式:单字节传送方式、数据块传送方数据块传送方式式、请求传送方式和级联传送方式请求传送方式和级联传送方式。时钟频率从时钟频率从DC到到5MHz的全静态设计的全静态设计。在在5MHz的时钟频率下传送速率高达的时钟频率下传送速率高达1.6MB/s。http:/ 现代微机原理与接口技术现代微机原理与接口
12、技术 :/elecfans 电子发烧友 :/bbs.elecfans 电子技术论坛 12 282C37A 的内部结构的内部结构 DMA通道通道 读读/写控制写控制 控制逻辑控制逻辑 http:/ 现代微机原理与接口技术现代微机原理与接口技术 :/elecfans 电子发烧友 :/bbs.elecfans 电子技术论坛 13 82C37A内部逻辑框图内部逻辑框图 http:/ 现代微机原理与接口技术现代微机原理与接口技术 :/elecfans 电子发烧友 :/bbs.elecfans 电子技术论坛 14 282C37A 的引脚功能的引脚功能 http:/ 现代微机原理与接口技术现代微机原理与接口
13、技术 :/elecfans 电子发烧友 :/bbs.elecfans 电子技术论坛 15 4.2.3 82C37A 的内部存放器的内部存放器 http:/ 现代微机原理与接口技术现代微机原理与接口技术 :/elecfans 电子发烧友 :/bbs.elecfans 电子技术论坛 16 1控制存放器控制存放器 http:/ 现代微机原理与接口技术现代微机原理与接口技术 :/elecfans 电子发烧友 :/bbs.elecfans 电子技术论坛 17 2工作方式存放器工作方式存放器 http:/ 现代微机原理与接口技术现代微机原理与接口技术 :/elecfans 电子发烧友 :/bbs.elec
14、fans 电子技术论坛 18 3状态存放器状态存放器 http:/ 现代微机原理与接口技术现代微机原理与接口技术 :/elecfans 电子发烧友 :/bbs.elecfans 电子技术论坛 19 4请求存放器请求存放器 http:/ 现代微机原理与接口技术现代微机原理与接口技术 :/elecfans 电子发烧友 :/bbs.elecfans 电子技术论坛 20 5屏蔽存放器屏蔽存放器 http:/ 现代微机原理与接口技术现代微机原理与接口技术 :/elecfans 电子发烧友 :/bbs.elecfans 电子技术论坛 21 4.2.4 82C37A DMA控制器端口地址控制器端口地址 ht
15、tp:/ 现代微机原理与接口技术现代微机原理与接口技术 :/elecfans 电子发烧友 :/bbs.elecfans 电子技术论坛 22 4.2.5 软命令软命令 1清先清先/后触发器软命令后触发器软命令 MOV AL,0XXH;0XXH为为AL中任意值中任意值 OUT 0CH,AL ;先先/后触发器被清“后触发器被清“0 2总去除软命令总去除软命令 MOV AL,0XXH;0XXH为为AL中任意值中任意值 OUT 0DH,AL ;写入总清端口,执行总写入总清端口,执行总去除命令去除命令 3清屏蔽存放器软命令。清屏蔽存放器软命令。MOV AL,0XXH ;0XXH为为AL中任意值中任意值 O
16、UT 0EH,AL ;写入清屏蔽存放器端口写入清屏蔽存放器端口 http:/ 现代微机原理与接口技术现代微机原理与接口技术 :/elecfans 电子发烧友 :/bbs.elecfans 电子技术论坛 23 4.2.6 DMA控制器的工作时序控制器的工作时序 DMADMA空闲周期空闲周期SISI 过渡状态过渡状态S0 DMAS0 DMA 有效周期有效周期S1S1、S2S2、S3S3、S4S4 82C37A内部状态变化流程内部状态变化流程 http:/ 现代微机原理与接口技术现代微机原理与接口技术 :/elecfans 电子发烧友 :/bbs.elecfans 电子技术论坛 24 http:/ 现代微机原理与接口技术现代微机原理与接口技术 :/elecfans 电子发烧友 :/bbs.elecfans 电子技术论坛 25 4.3 DMA编程和应用举例编程和应用举例 4.3.1 82C37A的初始化编程的初始化编程 初始化编程的步骤:初始化编程的步骤:命令字写入控制存放器命令字写入控制存放器 屏蔽字写入屏蔽存放器屏蔽字写入屏蔽存放器 方式字写入方式存放器方式字写入方式存放器 清“清“0 先