- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6.3章:DMA控制方式 主讲老师:廉迎战 副教授
第6.3章:DMA控制方式;6.3、DMA方式和DMA控制器;2、DMA工作过程;地址总线;
I/O向DMAC DMAC向 CPU响应 DMAC向
发请求 CPU发请求 DMAC请求 I/O发响应
;1)字节传送;2)块传送;5、DMA传送方式;6.DMA控制器的功能结构;8、缺点
(1)DMA期间,CPU不占总线,因而不能做其它工作。
(2)CPU对DMAC初始化占有额外时间。
(3)增加硬件,提高成本,使电路复杂。
因此对于数据块短,需频繁DMAC初始化的场合,对于CPU来得及处理的情况,就
不必采用DMA方式。;6.3.2 可编程DMA控制器8237;6.3.2、DMA与DMA控制器;读写逻辑:
A3-A0:地址线,8237A:
从模块时为输入,处理器寻址8237A;
主模块时输出低4位地址。
A7-A4:地址线
主模块时输出存储单元中的A7-A4。
CS#:片选
从模块时处理器用来寻址8237A;
主模块时禁止。
IOR#,IOW#:I/O读写控制,双向。
8237A在从模块时为输入,
在主模块时为输出。
RESET:输入,复位信号
复位时屏幕寄存器置1,其它寄存器置0。
CLK:时钟
控制8237定时和数据传送速率
8237CLK=3MHz;控制逻辑
HRQ:8237A向处理器发出的总线请求信号。
HLDA:处理器发给8237A的总线请求响应信号。
READY:输入,准备就绪
主模块时控制总线周期的长度,与慢速设备同步。
MEMR#,MEMW:输出,存储器读写控制
主模块时送存储器—外设之间的数据传送。
EOP#:双向。输出时,表明内部通道传送结束;输入时,表明外部强迫DMA传送仃止。
AEN,地址锁存允许
在主模块时允许外部锁存器锁存8237A的高8位地址。
ADSTB,地址选通。
在主模块时8237地址寄存器的高8位地址经数据总线锁存到外部锁存中。;6.3.2、DMA与DMA控制器;;图1 8237的结构框图;6.3.2、DMA与DMA控制器;6.3.2、DMA与DMA控制器;表1 8237的内部寄存器;3、8237操作类型和传送方式;3、8237操作类型和传送方式;3、8237操作类型和传送方式;3、8237操作类型和传送方式;3、8237操作类型和传送方式;3、8237操作类型和传送方式;4、8237编程;;8237A单通道 屏蔽 REG. 格式;8237A 四通道 屏蔽 REG. 格式;4、8237编程;;;; 3)操作命令与端口;4)操作命令和端口;4)操作命令和端口;5)、8237编程过程;6.8237编程举例;MOV AL,04H ;命???字禁止8237操作
OUT DMA+8,AL ;1、命令字送命令寄存器
OUT DMA+0DH,AL ;2、发主清命令
MOV AL,0XFFH ;传送字节数送AL
OUT DMA+1,AL ;写0通道字节计数器和当前字节计数器低8位,同时,内F/F自动改
OUT DMA+1,AL ;写0通道字节计数器和当前字节计数器高8位,同时,内F/F自动改;MOV AL,02H ;输出页地址到PC系统页面寄存器中,A19~A16
OUT 81H,AL
MOV AL,00H ;传送地址送AL
OUT DMA+1,AL ;写0通道基本地址寄存器和当前地址寄存器低8位
OUT DMA+1,AL ;写0通道基本地址寄存器和当前地址寄存器高8位
MOV AL,58H ;3、DMA工作方式字,单一传送,地址加1,自动预置,读出,0通道
OUT DMA+0BH,AL
MOV AL,0 ;置命令寄存器
OUT DMA+08H,AL ;4、命令字送命令寄存器
OUT DMA+10H,AL ;5、写单一屏蔽寄存器,允许通道0请求;6.8237编程举例;MOV AL,04H ;命令字禁止8237操作
OUT DMA+8,AL ;1、命令字送命令寄存器
OUT DMA+0DH,AL ;2、发主清命令
MOV AL,00H ;传送字节数送AL
OUT DMA+1,AL ;写0通道字节计数器和当前字节计数器低8位
MOV AL,80H ;传送字节数送AL(32K)
OUT DMA+1,AL ;写0通道字节计数器和当前字节计数器高8位;MOV AL,02H ;输出页地址到PC系统页面寄存器中,A19~A16
OUT 81H,AL
MOV AL,00H ;传送地址送AL
OUT DMA+1,AL ;写0通道基本地址寄存器和当前地址寄存器低8位
MOV
文档评论(0)