网站大量收购独家精品文档,联系QQ:2885784924

第8章DMA控制器重点.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 第8章 DMA控制器 教学建议,本章重点为: DMA控制器的编程结构; DMA控制器的作为主模块和从模块时的差别; 8237A的工作模式; 结合例子了解8237A的编程方法。 片选信号的产生方法 8.1 DMA控制器概要 DMA控制器包含 控制寄存器 状态寄存器 地址寄存器 字节计数器 一个DMA控制器一般由几个通道组成。 传输过程,以从外设往内存传输一个字节为例: 接口发DMA请求 -DMA向CPU发总线请求 CPU发送总线响应 DMA送地址到地址总线, 往接口发DMA响应,发外设读内存写 -接口发数据到总线并撤请求 内存收到数据,回送准备好,DMA地址1变,计数减1,撤总线请求。 8.2 8237A的编程结构和外部信号 8237A的编程结构 8237A的对外连接信号 8237A工作时各信号的配合 8.2.1 8237A的编程结构 8.2 8237A 8237A的对外连接信号: CLK CS RESET READY ADSTB AEN MEMR MEMW IOR IOW EOP DREQ DACK HRQ HLDA A3~A0 A7~A4 DB7~DB0 8.2 8237A 8237A工作时各信号的配合: 作为从模块工作时 使用16位地址,12+4 CS=HRQ=AEN=0 IOR、IOW控制读写 作为主模块工作时 AEN=1,8+8+4 每次传输字节数限制在8KB以下 IOR、IOW、MEMR、MEMW控制读写 8.2 8237A 8.3 8237A 的工作模式和模式寄存器 8237A 的工作模式分为四种: 字节传输模式:完成1字节传输,释放总线,测试DREQ 块传输模式:可连续多字节,字节计数器为0或外EOP,释放总线 请求传输模式:和块传输类似,可暂停 级联传输模式:主片设置为级联,从片为其它3种模式之一 8237A模式寄存器的格式 8.4 8237A的工作时序 图8.3 8237A的典型时序 Si:空闲 S0:总线请求 S1:传送地址有效信号 S2修改存储单元低16地址 Sw:等待 S3:普通时序时高8地址 送总线 S4:测试传输模式 8.5 8237A的控制、状态寄存器 8237A的控制寄存器 图8.4 8237A控制寄存器的格式 8237A的控制寄存器控制寄存器的设置使用 8237A的启动和停止 实现内存到内存的传输 建立扩展写信号功能 解决优先级问题 DREQ信号和DACK信号的极性选择 8.5 8237A的控制、状态寄存器 8237A的状态寄存器 图8.5 8237A的状态寄存器的格式 8.5 8237A的控制、状态寄存器 8237A的请求寄存器的格式 图8.6 DMA请求寄存器的格式 8.5 8237A的控制、状态寄存器 屏蔽寄存器的格式(单) 8.5 8237A的控制、状态寄存器 全屏蔽命令的格式(综合) 8.5 8237A的控制、状态寄存器 8.6 8237A各寄存器对应的端口地址 8.7 8237A的编程和使用 MOV AL,04 MOV DX,DMA+8 OUT DX,AL MOV AL,00 MOV DX,DMA+0DH OUT DX,AL MOV DX,DMA MOV CX,0004 WRITE: MOV AL,0FFH OUT DX,AL OUT DX,AL INC DX INC DX LOOP WRITE MOV DX,DMA+0BH MOV AL,58H OUT DX,AL MOV AL,41H OUT DX,AL MOV AL,42H OUT DX,AL MOV AL,43H OUT DX,AL MOV DX,DMA+8 MOV AL,0 OUT DX,AL MOV DX,DMA+0AH OUT DX,AL MOV AL,01 OUT DX,AL MOV AL,02 OUT DX,AL MOV AL,03 OUT DX,AL MOV DX,DMA+2 MOV CX,0003 READ: IN AL,DX MOV AH,AL IN AL,DX CMP AX,0FFFFH JNZ HHH INC DX INC DX LOOP READ HHH: HLT 8237A的编程通常可按如下步骤进行。 输出主清除命令,使8237A进入初始状态; 将DMA传送的存贮器起始地址写入基地址和当前地址寄存器; 将要传送的字节数写入基字节寄存器和当前字节计数器; 写模式寄存器,规定8237A的工作方式等; 写命令寄存器,规定各通道优先级及DREQ、DACK的有效电平等; 写屏蔽寄存器,规定开放和屏蔽的通道; 写请求寄

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档