DMA 请求/应答协议

这里主要讲述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垄断总线控制权。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值