DMA(1) 外部DMA请求/应答协议

本文详细介绍了DMA的四种请求/应答协议:握手模式、需求模式、单步模式和完整服务模式。握手模式下,DMA每次请求后等待Request无效;需求模式中,只要请求有效,DMA将持续传输;单步模式允许总线在读写周期间被其他控制器占用;完整服务模式下,DMA会连续传输直到所有数据完成,但可能引发总线占用问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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

  

  (1)握手模式

  Handshake模式:DMA完成一次请求后等待Request信号无效,如果Request无效,DMA会无效ACK两个时钟周期,再等待下一次Request。

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

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

  (2)demand mode 需求模式

  Demand模式:如果DMA完成一次请求后Request仍然有效,那么DMA就认为这是下一次DMA请求,并立即开始下一次的传输。

  (这里应该是有问题:需求模式在一次dma request 后就开始等待下一个 dma request 不采用传统的计数方式,不会霸占总线不放 ,  长时间占用总线是whole mode )

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

  

  (3)单步模式

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值