- 1、本文档共147页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
命令字格式 D7 D6 D5 D4 D3 D2 D1 D0 0 DACK低有效 1 DACK高有效 0 DREQ高有效 1 DREQ低有效 0 滞后写 1 扩展写 × 若D3=1 0 固定优先权 1 循环优先权 0 正常时序 1 压缩时序 × 若D0=1 0 允许DMAC工作 1 禁止DMAC工作 0 允许通道0地址改变 1 禁止通道0地址改变 × 若D0=0 0 禁止存储器之间传送 1 允许存储器之间传送 (5) 方式寄存器 存放相应通道的方式控制字 选择某个DMA通道的工作方式 其中用最低2位选择哪个DMA通道 请看方式字的格式 方式字格式 D7 D6 D5 D4 D3 D2 D1 D0 00 请求模式 01 单字节模式 10 数据块模式 11 级联模式 0 地址增量(加1) 1 地址减量(减1) 0 禁止自动初始化 1 允许自动初始化 00 DMA校验 01 DMA写 10 DMA读 11 非法 ×× 若D7D6=11 00 通道0 01 通道1 10 通道2 11 通道3 (6) 请求寄存器 存放软件DMA请求状态 除硬件DMA请求外,当工作在数据块传送方式时也可以通过软件发出DMA请求 若是存贮器到存贮器传送,则必须由软件请求启动通道0 请看请求字的格式 请求字格式 D7 D6 D5 D4 D3 D2 D1 D0 任意 0 复位 1 置位 00 通道0 01 通道1 10 通道2 11 通道3 (7) 屏蔽寄存器 控制外设硬件DMA请求是否被响应(为0允许),各个通道互相独立。3种方法: 单通道屏蔽字只对一个DMA通道屏蔽位进行设置 主屏蔽字对4个DMA通道屏蔽位同时进行设置 清屏蔽寄存器命令使4个屏蔽位都清零(允许) 复位使4个通道全置于屏蔽状态 当一个通道的DMA过程结束,如果不是工作在自动初始化方式,则这一通道的屏蔽位置位,必须再次编程为允许,才能进行下次DMA传送 请看屏蔽字的格式 单通道屏蔽字格式 D7 D6 D5 D4 D3 D2 D1 D0 任意 0 清屏蔽位 1 置屏蔽位 00 通道0 01 通道1 10 通道2 11 通道3 主屏蔽字格式 D7 D6 D5 D4 D3 D2 D1 D0 任意 Di=0 清通道I屏蔽位Di=1 置通道I屏蔽位 (8) 状态寄存器 可由CPU读取 低4位反映读命令这个瞬间每个通道是否产生TC(为1,表示该通道传送结束) 高4位反映每个通道的DMA请求情况(为1,表示该通道有请求) 状态位在复位或被读出后,均被清零 (9) 暂存寄存器 在存储器到存储器的传送方式下,临时寄存器保存从源存储单元读出的数据,该数据又被写入到目的存储单元 传送完成,临时寄存器只会保留最后一个字节,可由CPU读出 复位使临时寄存器内容为零 补充: 读写通道寄存器 CPU与8237A之间通过8位数据总线交换信息,8237A的通道寄存器均为16位 需要两次读写操作才能实现CPU与8237A之间的一个完整数据的交换 8237A内含一个高/低触发器,用来控制读写通道寄存器的高、低字节 补充: 高/低触发器 该触发器为0,控制读写低字节 该触发器为1,控制读写高字节 软、硬件复位后,触发器为0 每次读写通道寄存器,自动改变触发器状态。如果对16位寄存器的操作用两次连续读写进行,就不必清除这个触发器 清除高/低触发器软件命令(A3A2A1A0=1100)将使高/低触发器清零 (10) 软件命令 清除高/低触发器软件命令 A3A2A1A0=1100,使高/低触发器清零 主清除命令 A3A2A1A0=1101,使高/低触发器清零 还使命令、状态、请求、临时寄存器清零 使屏蔽寄存器置为全1(禁止DMA请求) 主清除命令与硬件的RESET信号具有相同的功能 清屏蔽寄存器命令 A3A2A1A0=1110,使4个屏蔽位都清零(允许DMA请求) ㈡ 内部寄存器的寻址 对8237内部寄存器的寻址和执行与控制器有关的软件命令,都由芯片选择信号,I/O读、I/O写和A3~A0地址线的不同状态编码来完成。 =0表示访问该8237DMAC芯片;A3=0则表示访问某个地址寄存器或字节计数器;A3=1则表示访问控制寄存器和状态寄存器。 或正在发出一条软件命令。 在和A3都为0时,CPU访问某个地址寄存器或字节计数器,并由A2~A1编码状态给出通道号,而A0=0表示访问当前地址寄存器,A0=1表示访问当前字节计数器。而用为低电平或为低电平表示是读操作还是写操作。 对当前地址寄存器进行写入的同时,也写入基本地址寄存器;对当前字节计数器进行写入的同时,也写入基本字节计数器。 ㈢ 8237的编程步骤 ① 输出主清除命令; ② 写入基与现行地址寄存器; ③ 写入基与现行字节数址寄存
您可能关注的文档
最近下载
- (完整版)医务科督导检查表.pdf
- 超声科质控案例培训课件.pptx
- 2021-2022学年上海市虹口区复兴高级中学高三(上)期中英语试卷-附答案详解.pdf VIP
- 建設分野特定技能2号評価試験练习题5.doc
- 2025年公务员多省联考《申论》题(宁夏B卷).pdf VIP
- CATL安全作业试题及答案.doc
- 杜云生:绝对成交话术、顾客十大借口、电话营销话术.ppt
- 2024年抚州职业技术学院单招职业技能测试题库及答案(名校卷).docx VIP
- 中国儿童呼吸道合胞病毒感染诊疗及预防指南(2024)解读PPT课件.pptx VIP
- 2024年抚州职业技术学院单招职业技能测试题库(名校卷).docx VIP
文档评论(0)