可编程可编程DMADMA控制器控制器•DMA(DirectMemoryAccess)传送是微型计算机中一种十分重要的工作方式,它主要用于需要大批量、高速度的数据传送系统中,如软硬盘、光盘的存取,高速数据采集系统,图象处理以及高速通信系统等。•而采用DMA传送方式时,存储器与外设直接传送数据,不需要CPU的干预。减少了中间环节,并且修改地址指针和控制数据块传送长度等工作,均由硬件完成,因此大大提高了传送速度。•在DMA传送方式时,CPU将系统的控制权交给DMA控制器(DMAC),由DMAC负责完成数据传送的全过程。8237工作过程DMA方式传送的一般过程:•分四个阶段:•1).请求:I/ODMACCPU•2).响应:CPUDMACI/OHRQDREQHLDADACK(CPU交出AB、DB、CB)•3).传送:•4).结束:DMAC存储器I/O(发AB、MEMW、MEMR)(发IOR、IOW)DMACI/OCPUDMAC发EOP,并撤DACK撤HRQ撤HLDADB并收回AB、DB、CB•DMAC在系统中具有两种工作状态:•主动态和被动态。也就是在系统中处于主控器和被控器两种不同地位。•在主动态时,DMAC控制系统总线(AB、DB、CB)向存储器和外设发送地址信息和读写信息,控制数据传送。DMA写操作时,它发出IOR和MEMW信号,数据由外设传到存储器;DMA读操作时,它发出MEMR和IOW信号,数据从存储器传到外设。•在被动态时,DMAC与系统中其他部件一样,接受CPU的访问和初始化编程。可编程DMA控制器8237A-5•1.8237A-5DMA控制器的特点:•(1)有四个独立的通道,可控制四个I/O设备进行DMA传送;•(2)每个通道均有64KB寻址与计数能力(即地址线16根,计数器为16位);•(3)可以用级联方式扩充更多的通道;•(4)能进行I/O设备与系统存储器以及系统存储器与存储器之间直接传送数据;•(5)数据传送率可达1.6MB/s(时钟频率为5MHZ时);•(6)具有三种传送模式:单一;成组和查询,•四种传送类型:DMA读;DMA写;存储器传存储器;校验•(7)40脚双列直插式,+5V供电。8237A-5的外部特性8237引脚8237A内部寄存器及编程命令表10-5PC/XT的8237A寄存器口地址寄存器端口通道I/O口地址读(IOR)写(IOW)DMA+0DMA+1DMA+2DMA+3DMA+4DMA+5DMA+6DMA+7DMA+8DMA+9DMA+10DMA+11DMA+12DMA+13DMA+14DMA+1500112233公用000102030405060708090A0B0C0D0E0F读通道0当前地址寄存器读通道0当前字节计数寄存器读通道1当前地址寄存器读通道1当前字节计数寄存器读通道2当前地址寄存器读通道2当前字节计数寄存器读通道3当前地址寄存器读通道3当前字节计数寄存器读状态寄存器――――读暂存寄存器――写通道0基地址与当前...