- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
〔8〕请求存放器。 〔9〕屏蔽存放器。8237的屏蔽字有两种形式: 1〕单个通道屏蔽字。 D7 D6 D5 D4 D3 D2 D1 D0 无用 00 通道0 01 通道1 10 通道2 11 通道3 通道选择 0 清除屏蔽位 1 置屏蔽位 2〕四通道屏蔽字。 D7 D6 D5 D4 D3 D2 D1 D0 无用 0 清通道0屏蔽位 1 置通道0屏蔽位 0 清通道1屏蔽位 1 置通道1屏蔽位 0 清通道2屏蔽位 1 置通道2屏蔽位 0 清通道3屏蔽位 1 置通道3屏蔽位 〔10〕状态存放器。 〔11〕暂存存放器。用于存储器到存储器传送过程中对数据的暂时存放。 〔12〕字节指针触发器。 7.7 8237的编程及应用 7.7.1 8237的寻址及连接 7.7.2 8237在系统中的典型连接 选择 页寄存器 DACK3 选择 页寄存器 DACK2 选择 页寄存器 DACK1 选择 页寄存器 A19~A16 DACK0 A19~A16 A15~A0 8237 DMAC 7.7.3 8237的初始化 地址低字节 总清 地址高字节 字数低字节 字数高字节 方式字 命令字 屏蔽字 其他通道参数 PC机中BIOS对8237的初始化局部的说明: 〔1〕为了对DMAC 8237初始化,首先进展总清。总清时只要求对总清地址进展写操作并不关心写入什么数据。 〔2〕对DMAC 8237的4个通道的基地址存放器与当前地址存放器、基字节数存放器及当前字节数存放器先写入FFFFH,再读出比较,看读写操作是否正确,假设正确,再写入0000H;同样读出校验,假设仍正确那么认为DMAC工作正常,就开场对其初始化。假设比较时发现有错,那么执行停机指令。 由于每个通道的上述4个存放器占用两个地址〔见表7-5〕,故将循环计数器CX的内容置为8。 〔3〕程序对DMAC 8237的通道0初始化。在PC机中,通道0用于产生对动态存储器的刷新控制。利用可编程定时器8253每隔15.0857ms向DMAC提出一次请求。DMAC响应后向CPU提出DMA请求。获得总线控制权后,使CPU进入总线放弃状态。在此DMA期间,DMAC送出刷新行地址,并利用DACK0控制产生各刷新控制信号,对DRAM一行进展刷新。一行刷新完毕,HRQ变为无效,退出DMA。此处给出通道0的初始化程序,如下所示: DMAC 8237的接口地址及连接简图如图7-36所示。图中接口请求传送数据的信号经触发器74LS74的Q端形成,由三态门输出作为DMA请求信号。当DMAC响应接口请求时,送出存储器地址和信号,使选中存储单元的数据出现在系统数据总线D0~D7上 OUT DMA+0DH,AL ;总清8237 MOV DS,BX MOV ES,BX ;初始化DS和ES MOV AL,0FFH OUT DMA+1,AL OUT DMA+1,AL ;通道0的传送字节数为64KB,先写低位,后写高位 MOV DL,0BH ;使DX=000BH〔方式字地址〕 MOV AL,58H OUT DX,AL ;写方式字,单字节传送方式,每次传送行地址 MOV AL,0 ;然后地址自动加1,允许自动预置 OUT DMA+8,AL ;写入命令字 OUT DMA+10,AL ;写入屏蔽字〔单通道屏蔽字〕 DMA初始化程序如下: INITADM: OUT DMA+13,AL ;总清 MOV AL,40H OUT DMA+2,AL ;送地址低字节到通道1 MOV AL,74H OUT DMA+2,AL ;送地址高字节到通道1,7440H为通道基地址 MOV AL,80H OUT PAG,AL ;送页地址1000B MOV AL,64H OUT DMA+3,AL ;送传送字节数低字节到通道1 MOV AL,0 ;0064H表示100个字节 OUT DMA+3,AL ;送传送字节数高字节到通道1 MOV AL,59H ;通道1方式字:读操作,单字节传送 OUT DMA+11,AL ;地址递增,自动预置 MOV AL,0 ;命令字:允许工作,固定优先级 OUT DMA+8,AL ;DACK有效 OUT DMA+15,AL ;写入四通道屏蔽存放器,规定允许4个通道均可请 求DMA传送 7.7.4 通道控制方式 通道控制方式是DMA方式的进一步开展,实质上,通道也是实现外设和主存之间直接交换数据的控制器。通道与DMAC的主要区别在于: 〔1〕通道比DAMC具有更强的独立处理数据输入/输出的能力。 〔2〕通道通常可以同时控制多个同类或不同类的外部设备,而DMAC通常只能控制一个或少数几个同类设备。 系统中可以采用通道管理所有的I/O设备,也可以只用通道管理高速的I/O设备
原创力文档


文档评论(0)