淺談直接存儲器訪問 ( DMA ) 控制器的結(jié)構(gòu)與工作原理
直接存儲器訪問 ( DMA )控制器,可以在內(nèi)存和/或外設(shè)之間傳輸數(shù)據(jù),而不需要 CPU 參與每次傳輸。合理利用 DMA 控制器,可以減輕CPU的負擔。
先進的 DMA 控制器,如STMicroelectronics的STM32F4系列中包含的控制器,可以通過靈活的數(shù)據(jù)流分配和傳輸管理功能進一步減輕 CPU 的負擔。
如圖左側(cè)所示,來自8個不同的通道 DMA 請求,并到仲裁器上,從而建立優(yōu)先級(編號較低的輸入通道,具有較高的優(yōu)先級)。然后激活最高優(yōu)先級的傳輸,傳輸?shù)綀D中右側(cè)的兩個 AHB 主設(shè)備(存儲器端口和外設(shè)接口),提高了外設(shè)到存儲器傳輸?shù)男?。這可能是 DMA 在基于 CPU 的設(shè)計中最常見的情況。
圖 1STM32F4系列DMA控制器(圖片來源于STMicroelectronics*)*
為每個路徑分配單獨的 FIFO,如圖1中間所示,允許針對每個外設(shè)接口的特性調(diào)整 FIFO 特性。例如,F(xiàn)IFO 的閾值級別(請求傳輸?shù)纳疃?可以單獨設(shè)置為 FIFO 大小的?,?或?。這允許低速通道等待,直到FIFO 幾乎滿了才進行傳輸,以最小化開銷。更快的通道會更早地啟動傳輸,可能只有一半大小,以避免FIFO 溢出。
我們來通過一個實例,來看看DMA怎么工作的。
實例:使用STM32 來控制 NeoPixels LED
硬件部分采用STM32 開發(fā)板,與 NeoPixelLED、燈帶、矩陣等相連接。
RGB NeoPixels 實際上是 WS2812 智能控制 LED。下面是WS2812 LED 的3字節(jié)數(shù)據(jù)協(xié)議的結(jié)構(gòu),分別代表綠紅藍三個信息。
圖 2 WS2812 LED 的3字節(jié)數(shù)據(jù)協(xié)議的結(jié)構(gòu)
使用計時器來PWM控制波形,然后配置DMA使CPU高效并且易于實施。
圖 3 WS2812 LED 的0和1位的計時圖
在軟件中,配置 DMA,選擇了“TIM2_CH3/UP”,將方向改為“內(nèi)存到外設(shè)”。同時,將優(yōu)先級改為“非常高”,最后保存.ioc 文件,以生成項目代碼。
審核編輯:劉清
-
存儲器
+關(guān)注
關(guān)注
38文章
7529瀏覽量
164383 -
RGB
+關(guān)注
關(guān)注
4文章
801瀏覽量
58731 -
計時器
+關(guān)注
關(guān)注
1文章
426瀏覽量
32872 -
PWM波
+關(guān)注
關(guān)注
0文章
99瀏覽量
16955 -
DMA控制器
+關(guān)注
關(guān)注
1文章
43瀏覽量
12347
原文標題:DMA 控制器可以減輕CPU負擔 前提是配置得當!
文章出處:【微信號:得捷電子DigiKey,微信公眾號:得捷電子DigiKey】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
DMA是什么?詳細介紹
DMA控制器的主要功能有哪些
簡述DMA控制器的工作過程
經(jīng)驗分享 | DMA助力實時控制
![經(jīng)驗分享 | <b class='flag-5'>DMA</b>助力實時<b class='flag-5'>控制</b>](https://file.elecfans.com/web2/M00/37/D7/pYYBAGI9l9uAOwALAAAmFmqVYdg094.png)
RL78系列MCU DMA在UART中的使用
![RL78系列MCU <b class='flag-5'>DMA</b>在UART中的使用](https://file1.elecfans.com/web2/M00/FD/E5/wKgaomaXY-mAfGzkAAAQqVE71F4591.png)
cpu的運算器和控制器的作用是什么
cpu控制器負責什么運算
簡述cpu控制器的工作原理
cpu控制器和運算器組成的部件有哪些
cpu控制器的兩種類型和特點
cpu控制器的主要作用是什么
cpu控制器的功能是什么
請問STM32F072的DMA可以分時復(fù)用嗎?
DMA在嵌入式實時任務(wù)處理中的應(yīng)用
雅特力AT32F423 DMA使用指南
![雅特力AT32F423 <b class='flag-5'>DMA</b>使用指南](https://file.elecfans.com/web2/M00/42/9C/pYYBAGJ5xmyARrXXAAALuRDQWfU330.jpg)
評論