[工学]第9章_DMA技术.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]第9章_DMA技术

其引脚信号的功能可分为以下几类: (1)I/O设备的请求信号 DREQ0-3:由I/O设备发向DMAC,DREQ0优先级最高。 (2)DMAC回答I/O的信号 DACK0-3 :由DMAC回答I/O外设 注意:系统允许多个DREQ信号同时有效,可以有几个I/O 同时提出申请,但同一个时间,只能有一个DACK信 号有效。 9.3.4 DMA控制器82C37A编程命令 1、命令寄存器 用于控制82C37A所有通道的操作方式。其内容由CPU写入,由复位和总清命令清除。 例:PC系列软盘R/W操作选择DMA通道2,单字节传送,地址增1,不用自动预置,其R/W操作方式字为: I/O→RAM 读盘(DMA写)= 0B=46H RAM→I/O 写盘(DMA读)= 0B=4AH 因此,从软盘上读一个扇区的数据存放到内存储区的方式字为46H,写一个扇区的数据到软盘的方式字为4AH。 3、地址寄存器 每个通到都有基地址寄存器和当前地址寄存器,16位地址寄存器存放DMA传送的内存首址,在初始化时由CPU写入,传送中基地址不变,而当前地址在变。 4、字节计数寄存器 每个通道都有基字节寄存器和当前字节寄存器,16位字节寄存器存放DMA传送的总字节数,在初始化时由CPU写入,传送中基值字节计数寄存器不变,而当前字节寄存器在变化。 5、请求寄存器 DMA请求寄存器就是用于由软件启动DMA请求,如:RAM→RAM,这种软件请求DMA传输必须是块传输方式。其格式如下: 9、软命令(有三条) 所谓软命令就是只要对特定地址进行一次写操作,命令就生效,而与写入的具体数据无关。 ? 清先/后触发器命令 ? 总清除命令 ? 清屏蔽寄存器命令(清4个通道) 例:清先/后触发器 MOV AL,0AAH ;AL为任意值 OUT 0CH,AL ;置先/后触发器为0态 例:总清除命令 MOV AL,0BBH ;AL为任意值 OUT 0DH,AL ;总清命令 (3)DMA有效周期(S1-S4) ① 在CPU的回答信号HLDA到达后,DMAC进入了有效的DMA周期,开始传送数据。 ② 一个完整的传送周期包括S1 ,S2 ,S3 和 S4四个周期;如果I/O速度跟不上,可在S3 和S4 之间插入等待周期SW 。 a) S1 周期: 更新高8位地址。DMAC在S1状态发出地址允许AEN信号(表示DMA过程的开始),将高8位地址A8-A15送到数据总线DB0-DB7上。 9.4 DMA系统 9.4.1 DMA控制器与微处理器的接口 9.4.2 DMA控制器与I/O电路的接口 9.4.3 DMA系统中对存储器和I/O设备的寻址 生 有效地址:是指当DMAC取得总线控制权后,作为系统的主控制器,它如何向存储器和I/O设备发地址信号。 1.如何扩展82C37A的寻址空间 (1)DMAC只能提供16位地址 A0-A7(低8位);DB0-DB7(高8位) (2)20位地址总线的系统: ① DMAC提供16位A0-A15 ② 页面地址寄存器提供最高4位,A16-A19 (3)24位地址总线的系统 ① DMAC提供16位 ② 页面地址寄存器提供最高8位,A16-A23 2.如何对I/O设备的地址 DMAC是如何对I/O设备进行寻址: DMA提供DACK信号来取代I/O设备地址选择逻辑,使申请DMA传送并被认可的设备在DMA传送过程中保持为有效设备。 9.4.4 DMA控制器的级联 1、单片使用 9.5.2 DMA编程的步骤 1.向命令寄存器写入命令字 确定DMA传输的对象、工作时序、优先级排队方式、DREQ和DACK的有效逻辑电平,以及是否处于允许工作状态。 2.向屏蔽寄存器写入屏蔽字 为了防止正在进行初始值设置期间,由于外部另有DMA请求打断尚未完成的初始值设置而出错,在初始值设置之前必须先屏蔽正在初始值设置的通道,待初始值设置结束后再解除该通道的屏蔽。 3.向方式寄存器写入方式字 确定DMA传输的操作类型、操作方式、地址改变方式、自动预置及通道选择。 4.置先/后触发器为0态 执行一条软命令,即对82C37A的口地址+0CH,写入任何数据,可置先/后触发器为0态,为初始化地址寄存器和字节计数寄存器做准备。 5.写基地址寄存器和基字节计数寄存器 把DMA传输的存储器首地址写入基

文档评论(0)

skvdnd51 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档