我是靠谱客的博主 烂漫草莓,最近开发中收集的这篇文章主要介绍DMA 请求/应答协议(1)握手模式(2)单步模式(3)完整服务模式(4)需求模式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • (1)握手模式
  • (2)单步模式
  • (3)完整服务模式
  • (4)需求模式

这里主要讲述4种类型的DMA请求/应答协议。

(1)握手模式

   在握手模式下,一个单独的DMA请求信号对应一个DMA应答信号。而且在该模式下,一次DMA操作意味着在DMA操作中的一对或不可分的读和写周期。在DMA操作中,总线控制器不能把`总线的使用权分配给其他总线控制者。如果想在DMA操作中响应高优先级的总线控制,则必须用单步模式,单步模式是把一个DMA操作看成是分离的读和写操作周期。

   由nXDREQ产生的DMA请求引起一个字节、一个半字或者一个字被传送出去。在握手模式下,每一个数据的传送都需要DMA请求。

(2)单步模式

   单步模式意味着有两个DMA应答周期,分别为DMA读和写周期。单步模式通常用于测试和调试,因为在读与写之间总线控制权可能会交给其他总线控制者。在nXDACK的非有效区,比如在读与写周期之间,总线控制器将再次评估总线优先级,以决定新的总线控制权。因此,单步模式下的数据传输将慢于握手模式下的数据传输。

   当DMA请求信号变低时,如果没有高优先级的总线请求,则总线通过降低DMA应答信号来表明对DMA操作的总线分配。在DMA应答信号的第一个低电平段,将有一个DMA的读周期。在DMA读周期后,DMA应答信号将有一个上升沿来表示DMA读周期的结束;同时,如果在DMA应答信号上升时DMA请求信号一直为低电平,则表明下面将是DMA写周期。但是如果在DMA应答信号上升时DMA请求信号也为高电平,则DMA写周期将会延迟到新的DMA请求信号被激活。

(3)完整服务模式

   在完整服务模式下,一次DMA请求将产生连续的DMA传输,直到规定的DMA传输数据完成。

   在完整服务模式下,如果DMA传送操作的数量太大,DMA操作长时间占用总线,将引起一些问题,因为其他总线服务将无法进行。为了解决此问题,在完整服务模式下,每传送完一个单元,DMA将释放总线控制权。当DMA释放总线控制权后,其他总线就可以拥有总线控制权;如果其他总线拥有了总线控制权,则在完成该服务后将继续执行剩余的DMA操作,而且不需要再次激活nXDREQ。

(4)需求模式

   需求模式表示,只要DMA请求信号有效,DMA传送周期将连续进行。不像完整服务模式,需求模式不允许将总线控制权交给高优先级的总线控制者,即使它在DMA操作中向总线控制器发出请求。也就是说,在需求模式下,DMA垄断总线控制权。

最后

以上就是烂漫草莓为你收集整理的DMA 请求/应答协议(1)握手模式(2)单步模式(3)完整服务模式(4)需求模式的全部内容,希望文章能够帮你解决DMA 请求/应答协议(1)握手模式(2)单步模式(3)完整服务模式(4)需求模式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部