第9章节 可编程DMA控制器8237A.pptVIP

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章节 可编程DMA控制器8237A

OUT 83H,AL ;置通道1页面寄存器 MOV AL,00H OUT DMA+02H,AL ;写地址低8位 MOV AL,00H OUT DMA+02H,AL ;写地址高8位 MOV AX,2000 ;置传送字节数 OUT DMA+03H,AL ;先写入低8位 MOV AL,AH ; OUT DMA+03H,AL ;后写入高8位 MOV AL,88H OUT DMA+0BH,AL ;后通道0模式字 MOV AL,85H OUT DMA+0BH,AL ;后通道1模式字 MOV AL,83H OUT DMA+08H,AL ;写命令字,允许通道0地址保持 MOV AL,0EH OUT DMA+0FH,AL ; 通道0解除屏蔽 MOV AL,04H OUT DMA+09H,AL ; 通道0软件请求,启动DMA传送 MOV AH,4CH ;返回DOS INT 21H CODE ENDS END START ⑥ DMA传送结束,DMAC撤除总线请求信号,CPU重新控制总线,恢复CPU的工作。 Intel8237A是一种高性能的可编程DMA控制器,可以用软件对芯片进行编程,使它能在多种方式下工作。 ●一个芯片中有4个独立的DMA通道。 ●每个通道的DMA请求都可以允许和禁止。 ●每个通道的DMA请求有不同的优先权。优先权可以是固定的,也可以是循环的,由初始化编程决定。 ●每个通道一次传送的最大长度不能超过64KB。 ●可以用级联的方法来扩展通道数。 8237A DMAC有四个通道,每个通道都可用于DMA数据传送。PC机系统占用了8237A通道0、通道2、通道3,分别用于刷新动态存储器、软盘控制器与存储器间交换数据、硬盘控制器与存储器交换数据,只有通道1未使用,供用户使用。 2. 8237A引脚与内部结构 (1)8237A引脚 8237A为40个引脚的双列直插式封装的芯片如图9-4(a)所示,引脚功能如下。 ●BD7~BD0(21脚~23脚、26脚~30脚)):8位数据线,双向,三态。作用有三:第一是当8237A空闲,即CPU控制总线时,BD7~BD0作为双向数据线,由CPU读/写8237A内部寄存器;第二是当8237A控制总线时,BD7~BD0输出被访问存储器单元的高8位地址信号A15~A8,并由ADSTB信号将这些地址信息存入地址锁存器。第三是在进行DMA操作时,读周期经DB7~DB0线把源存储器的数据送入数据缓冲器保存,在写周期再把数据缓冲器保存的数据经DB7~DB0传送到目的存储器。  ●A3~A0(35脚~32脚):低8位地址线的低4位,双向,三态。当CPU控制总线时,8237作为一般I/O接口,A3~A0为输入,作为选中8237A内部寄存器的地址选择线。当8237A控制总线时,A3~A0为输出,作为选中存储器的低4位地址。  ●A7~A4(40脚~37脚):低8位地址线的高4位,输出,三态。当8237A控制总线时,A7~A4作为被访问存储器单元的地址信号A7~A4。 ●(11脚):片选信号,输入,低电平有效。当8237A空闲时,仅作为一个I/O设备时,为8237A的片选信号。当该信号有效时,CPU向8237A写入工作方式控制字、操作方式控制字,或读入状态寄存器中的内容。  ●(1脚):I/O读信号,双向,三态,低电平有效。当CPU控制总线时,为输入信号,CPU读8237A内部寄存器的状态信息;当8237A控制总线时,为输出信号,与配合实现DMA写操作。   ●(2脚):I/O写信号,双向,三态,低电平有效。当CPU控制总线时,为输入信号,CPU利用它把数据写入8237A内部寄存器;当8237A控制总线时,为输出信号,与配合实现DMA读操作。 ●CLK(12脚):时钟信号,输入。8237A的时钟频率为3MHz,用于控制芯片内部定时和数据传送速率。 ●RESET(2脚):复位信号,输入,高电平有效。当芯片被复位时,屏蔽寄存器被置1,其余寄存器置0,8237A处于空闲状态,即4个通道的DMA请求被禁止,仅作为一般I/O设备。 ●READY(6脚):准备好信号,输入,高电平有效。当进行DMA操作,存储器或外部设备的速度较慢,来不及接收或发送数据时,外部电路使READY 为低电平,这时DMA控制器会在总线传送周期,自动插入等待周期,直到READY变成高电平。 ●AEN(9脚):地址允许信号,输出,高电平有效。访问DMA时AEN=1,访问外设时AEN=0。当AEN=1时,它把外部地址锁存器中的高8位地址送入地址总线,与8237A芯片输出的低8位地址

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档