第五章DMA 8237.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
  2.DMA控制器8237   DMA控制器(DMAC)芯片8237是一种高性能的可编程DMA控制器。芯片上有4个独立的DMA通道,可以用来实现内存到接口、接口到内存及内存到内存之间的高速数据传送。最高数据传送速率可达1.6?MB/s。   做为可编程接口,应从上节所提到的五个方面来认识并最终用好它。下面将从8237的引线开始对它进行介绍,以便达到能够在工程上应用的目的。   1)? 8237的引线及功能  DMAC 8237的外部引线图如图5.25所示。   A0~A3:双向地址线,具有三态输出。它可以作为输入地址信号,用来选择8237的内部寄存器。当8237作为主控芯片用来控制总线进行DMA传送时,A0~A3作为输出信号成为地址线的最低4位,即A0~A3。 8237A引脚图 A0~A3:作为从设备的地址信号,片内有16个端口地址。作为主设备时为存储器20位地址的低4位。 A4~A7为20位地址低8位的高4位 DB0~DB7为20位地址的高8位。DMA可提供16为地址。   A4~A7:三态输出线。在DMA传送过程中,由这4条引出线送出A4~A7四位地址信号。   DB0~DB7:双向三态数据总线。它们与系统的数据总线相连接。在CPU控制系统总线8237作为接口时,可以通过DB0~DB7对8237编程或读出8237的内部寄存器的内容。   在DMA操作期间,由DB0~DB7送出高位地址A8~A15,并利用ADSTB信号锁存该地址信号。在进行由存储器到存储器的DMA传送时,除了送出A8~A15地址信号外,还在从存储器读出的DMA周期里将读出数据,由这些引线输入到8237的暂存寄存器中,等到存储器写DMA周期时,再将数据由8237的暂存寄存器送到系统数据总线上,写入规定的存储单元。   READY:准备好输入信号。当DMAC工作期间遇上慢速内存或慢速I/O接口时,可由它们提供READY信号,使DMAC在传送过程中插入时钟周期,以便适应慢速内存或外设的传送要求。此信号与CPU上的准备好信号READY类似。 HRQ:保持请求信号,高电平有效的输出信号。它连接到CPU的HOLD端,用于请求对系统总线的控制权。   HLDA:保持响应信号,高电平有效的输入信号。当CPU对DMAC的HRQ作出响应时,就会产生一个有效的HLDA信号加到DMAC上。告诉DMAC,CPU已放弃对系统总线的控制权。这时,DMAC即获得系统总线的控制权。   DREQ0~DREQ3:DMA请求(通道0~3)信号。该信号是一个有效电平可由程序设定的输入信号。这4条线分别对应4个通道的外设请求。每一个通道在需要DMA传送时,可通过各自的DREQ端提出请求。8237规定它们的优先级是可编程指定的。在固定优先级方案中,规定DREQ0优先级最高而DREQ3优先级最低。当使用DREQ提出DMA传送时,DREQ在DMAC产生有效的应答信号DACK之前必须保持有效。   DACK0~DACK3:DMA响应信号,分别对应通道0~3。该信号是一个有效电平可编程的输出信号。此信号用以告诉外设,其请求DMA传送已被批准并开始实施。   CLK:时钟输入,用来控制8237的内部操作并决定DMA的传送速率。   ● 工作周期   当处于空闲状态的8237的某一通道提出DMA请求时,它向CPU输出HRQ有效信号,在未收到CPU回答时,8237仍处于编程状态,又称初始状态。当CPU执行当前的总线周期结束,便响应DMAC的请求,由CPU送出HLDA作为回答信号。当8237收到CPU的HLDA后,则开始执行它的工作周期。   8237工作于下面4种工作类型之一:   (1) 单字节传送。在这种方式下,DMA传送每次仅送一个字节的数据,传送后8237将地址加1(或减1),并将要传送的字节数减1。传送完一个字节后,DMAC放弃系统总线,将总线控制权交回CPU。   在这种传送方式下,每个字节传送时,DREQ保持有效。传送完毕后,DREQ变为无效,并使HRQ变为无效。这就可以保证每传送一个字节,DMAC将总线控制权交还给CPU,以便CPU执行一个总线周期。可见,CPU和DMAC在这种情况下轮流控制系统总线。   (4) 级联方式。利用这种方式可以把多个8237连接在一起,以便扩展系统的DMA通道。下一层的HRQ接到上一层的某一通道的DREQ上,而上一层的响应信号DACK可接下一层的HLDA上。其连接如图5.26所示。   在级联方式下,当第二层8237的请求得到响应时,第一层8237仅输出HRQ信号而不能输出地址及控制信号。因为,这时第二层的8237应当输出它的通道地址及控制信号,否则将发生竞争。第二层的8237才是真正的主控制器,而第一层的8237仅对第二层的HRQ作出DACK响应并向微处理器

文档评论(0)

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

文档来源于网络

1亿VIP精品文档

相关文档