您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > 03-DMA-8237
1Ch03-DMA8237ComputerPrincipleDMA-8237天津工业大学计算机学院丁刚teacherding@126.com2Ch05-DMA8237章节内容主要功能结构工作周期工作模式初始化编程31-主要功能8237功能一片8237有四个独立的DMA通道每一个通道的DMA请求都可以被允许和禁止每一个通道的DMA请求有不同的优先权,可固定,可旋转一次DMA传送的数据长度可达64K可在存储器两个区域之间、存储器与外设之间、外设之间传送数据41-主要功能8237功能8237的传送方式:单字节传送、数据块传送、请求传送、级连方式结束处理的输入信号EOP,允许外界用此输入端来结束DMA传送或重新初始化通过级连任意扩展通道数52-结构8237方框图63-工作周期空闲周期任一通道都无请求,即CPU控制总线的周期空闲周期始终执行Si状态,在每个时钟周期都采样DREQ,无请求就停留在Si状态Si状态可由CPU对8237编程,或从8237读取状态。73-工作周期有效周期有效周期是有外设请求时,完成数据传输的状态周期Si状态采样到外设有DMA请求DREQ,Si→S0状态(8237已接收外设请求)→向CPU发出了总线请求信号HRQ→接收到总线响应信号HLDA→S1→S2→S3→S4若外设的数据传送速度较慢,不能在S4之前结束完成,则可由READY控制在S3和S4之间插入称为Sw的DMA等待状态。84-引线8237引线94-引线8237引线DREQ0~DREQ3:外设请求DMA服务的信号,输入DACK0~DACK3:8237对外设请求的响应,输出HRQ:8237向CPU请求控制总线信号HLDA:CPU对8237的HRQ信号的响应DB0~DB7:DMA传送时,传输地址的高8位A0~A3:DMA传送时,传输地址的最低4位A4~A7:只用于DMA,传输地址的低8位中的高4位104-引线8237引线AEN:把锁存在外部锁存器中的高8位地址放到系统的地址总线ADSTB:DMA传送时锁存DB0-DB7上输出的高8位地址EOP:DMA传送时,当字节数计数器减到0(TC发生),产生EOP有效脉冲;或由外部产生有效脉冲来结束DMA服务114-工作模式工作模式单字节传送模式:一次只传送一个字节,数据传送后字节计数器减量,地址增/减量,每次都要重新请求总线块传送方式:连续传送数据,直至字节计数器减到零产生TC,或产生EOP结束DMA传送124-工作模式工作模式请求传送模式:连续数据传送,直至:字节数计数器减到0,发生TC;或由外界送来一个有效的EOP信号;或外界的DREQ信号变为无效(外设数据已传送完),DREQ有效则继续传送块传送方式:134-工作模式DMA传送类型DMA读——数据由存储器传至外设DMA写——数据由外设传至存储器DMA校验——空操作,产生时序,不进行传送,外设进行校验145-初始化编程地址.字节寄存器现行地址寄存器(16位)现行字节数寄存器(16位)基地址寄存器(16位)基字节寄存器(16位)155-初始化编程命令寄存器165-初始化编程模式寄存器175-初始化编程请求寄存器数据块传送方式下使用185-初始化编程屏蔽寄存器Reset信号作用后,四个通道全置于屏蔽状态195-初始化编程状态寄存器205-初始化编程临时寄存器在存储器到存储器的传送方式下,临时寄存器作为传输中介,保存从源单元读出的数据,又由它写入至目的单元。215-初始化编程寄存器寻址225-初始化编程控制和状态寄存器寻址235-初始化编程软件命令码245-初始化编程主清除命令类似于Reset,使命令、状态、请求、临时寄存器以及内部的高/低触发器清零,屏蔽寄存器全“1”,8237进入空闲周期255-初始化编程初始化编程步骤1.输出主清除命令2.写入基现行地址寄存器3.写入基现行字节数寄存器4.写入模式寄存器5.写入屏蔽寄存器6.写入命令寄存器7.写入请求寄存器265-初始化编程初始化编程举例利用通道0,由外设输入4K字节的一个数据块,传送至内存8000H开始的区域(增量传送)采用块连续传送的方式,传送完不自动初始化外设的DREQ和DACK都为高电平有效请写出8237的初始化程序275-初始化编程初始化编程分析:端口地址主清除命令地址:0DH基和现行地址寄存器:00H基和现行字节数寄存器:01H模式字寄存器:0BH屏蔽字寄存器:0AH命令字寄存器:08H285-初始化编程初始化编程分析:模式字295-初始化编程初始化编程分析:屏蔽字305-初始化编程初始化编程分析:命令字31MOVAL,00HOUT5DH,AL;1-输出主清除命令MOVAL,00HOUT50H,AL;2-输出基地址的低8位MOVAL,80HOUT50H,AL;2-输出基地址的高8位MOVAL,00HOUT50H,AL;3-输出基字节的低8位MOVAL,10HOUT50H,AL;3-输出基字节地址的高8位MOVAL,84HOUT5BH,AL;4-输出模式字MOVAL,00HOUT5AH,AL;5-输出屏蔽字MOVAL,0A0HOUT58H,AL;6-输出命令字32Ch05-DMA8237章节内容主要功能结构工作周期工作模式初始化编程
本文标题:03-DMA-8237
链接地址:https://www.777doc.com/doc-3110351 .html