外部DMA請求/應答協議

外部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壟斷總線控制權。

 

  來自於:http://blog.chinaunix.net/u2/72666/showart_1799697.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章