DMA工作原理

2021-08-19 21:19:00 字數 634 閱讀 1229

dma方式的工作原理:

乙個裝置介面試圖通過匯流排直接向另乙個裝置傳送資料(一般是大批量的資料),它會先向cpu傳送dma請求訊號。外設通過dma的一種專門介面電路――dma控制器(dmac),向cpu提出接管匯流排控制權的匯流排請求,cpu收到該訊號後,在當前的匯流排週期結束後,會按dma訊號的優先順序和提出dma請求的先後順序響應dma訊號。cpu對某個裝置介面響應dma請求時,會讓出匯流排控制權。於是在dma控制器的管理下,外設和儲存器直接進行資料交換,而不需cpu干預。資料傳送完畢後,裝置介面會向cpu傳送dma結束訊號,交還匯流排控制權。

實現dma傳送的基本操作如下:

(1)外設可通過dma控制器向cpu發出dma請求:

(2)cpu響應dma請求,系統轉變為dma工作方式,並把匯流排控制權交給dma控制器;

(3)由dma控制器傳送儲存器位址,並決定傳送資料塊的長度;

(4)執行dma傳送;

(5)dma操作結束,並把匯流排控制權交還cpu。

用途:dma方式主要適用於一些高速的i/o裝置。這些裝置傳輸位元組或字的速度非常快。對於這類高速i/o裝置,如果用輸入輸出指令或採用中斷的方法來傳輸位元組資訊,會大量占用cpu的時間,同時也容易造成資料的丟失。而dma方式能使i/o裝置直接和儲存器進行成批資料的快速傳送。

DMA控制原理

dma實現的是資料的傳輸功能,它的特性在於不占用cpu的資源。正常情況下我們要獲取外設的資料,需要利用cpu對外設資料進行讀取,在用cpu將資料寫進儲存器,而dma就可以實現節約cpu工作的目的。在stm32f4和stm32f1之間兩者的dma是有所區別的,f4能實現儲存器到儲存器的傳輸,兩者的暫存...

DMA原理理解

如果載入失敗,可訪問github檢視 dma intro stm32 編寫mcu外設模組驅動時,經常會配置dma的使用,之前在adc採集,uart模組通訊中都使用過,但是只知道使用,具體沒細究過。找了之前用過的幾款mcu晶元 51 52系列,stm32f系列,mc9s12系列,s32k14系列等 也...

微機原理之DMA總結

1 當介面準備就緒,便向dma控制器發dma請求 2 cpu通過hold引腳接受dma發出的匯流排請求 就是所謂的hold訊號 3 cpu如果完成了當前匯流排的操作,如果允許dma對匯流排的請求會通過 hlda引腳向dma控制器傳送hlda訊號 4 dma先把位址送上位址匯流排,然後然後會向介面傳送...