加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 1 DMA簡介
    • 2 STM32中的DMA
    • 3 總結(jié)
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

嵌入式基礎(chǔ)知識-DMA

02/11 08:55
3568
閱讀需 5 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

本篇來介紹DMA的一些基礎(chǔ)知識。

1 DMA簡介

DMA(Direct Memory Access),中文名為直接內(nèi)存訪問,它是一些計算機總線架構(gòu)提供的功能,能使數(shù)據(jù)從附加設(shè)備(如磁盤驅(qū)動器)直接發(fā)送到計算機主板的內(nèi)存上。對應嵌入式處理器來說,DMA可以提供外設(shè)和存儲器之間,或存儲器與存儲器之間的高速數(shù)據(jù)傳輸,無須CPU干預,節(jié)省了CPU的資源。

1.1 DMA傳輸?shù)?種情況

DMA涉及的數(shù)據(jù)傳輸分為四種情況:

    外設(shè)到內(nèi)存內(nèi)存到外設(shè)內(nèi)存到內(nèi)存外設(shè)到外設(shè)

它們本質(zhì)上是一樣的,都是從內(nèi)存的某一區(qū)域傳輸?shù)絻?nèi)存的另一區(qū)域,外設(shè)的數(shù)據(jù)寄存器本質(zhì)上就是內(nèi)存的一個存儲單元。

1.2 典型的DMA結(jié)構(gòu)

典型的DMA控制器的結(jié)構(gòu)示意圖如下:

DMA控制器內(nèi)部包含4中寄存器/計數(shù)器

    地址寄存器:包括源地址和目的地址寄存器狀態(tài)寄存器:用于寄存DMA傳輸前后的狀態(tài)控制寄存器:用于選擇DMA控制器的操作類型、工作方式、傳輸方向和有關(guān)參數(shù)字節(jié)計數(shù)器:用于控制傳輸數(shù)據(jù)塊的長度

DMA控制器需要連接包括:

    與外設(shè)連接:用于接受外設(shè)發(fā)出的DMA操作請求和在DMA期間對外設(shè)進行控制與CPU連接:用于請求總線的控制權(quán)與三大總線連接:用于進行總線控制

DMA控制器可以像CPU那樣獲得總線的控制權(quán),因此可以完成外設(shè)與存儲器之間的數(shù)據(jù)高速交換。

如下圖,當外設(shè)需要與存儲器之間進行DMA傳輸時由DMA控制器提出總線請求,從CPU獲得總線授權(quán)后,由DMA控制器控制數(shù)據(jù)的傳輸。

2 STM32中的DMA

2.1 STM32的DMA資源概述

STM32F103內(nèi)部有2 個DMA控制器:

    DMA1有7個通道DMA2有5個通道,僅存大容量產(chǎn)品中

每個通道專門用來管理來自于一個或多個外設(shè)對存儲器訪問的請求。

此外,每個DMA還有一個仲裁器來協(xié)調(diào)各個請求的優(yōu)先權(quán)。

STM32F103中的DMA有以下一些特性:

    獨立的源和目標數(shù)據(jù)區(qū)的傳輸寬度(字節(jié)、半字、全字)每個通道都有3個事件標志(DMA 半傳輸,DMA 傳輸完成和 DMA 傳輸出錯)存儲器和存儲器間的傳輸外設(shè)和存儲器,存儲器和外設(shè)的傳輸閃存、SRAM、外設(shè)的 SRAM、APB1、APB2 和 AHB 外設(shè)均可作為訪問的源和目標

2.2 STM32的DMA框圖

STM32F103的DMA框圖如下:

    ①代表DMA請求:當外設(shè)準備通過DMA傳輸數(shù)據(jù)時,需先給DMA控制器發(fā)送請求。②代表DMA通道:DMA1有7 個,DMA2有 5個,雖然每個通道可以接收多個外設(shè)的請求,但是同一時間只能接收一個。③代表總裁器:用于處理當發(fā)生多個 DMA 通道請求時的響應順序。仲裁器管理 DMA 通道請求分為兩個階段:

    • 第一階段:軟件階段,可以在DMA_CCRx寄存器中設(shè)置,有4個等級:非常高,高,中,低第二階段:硬件階段,若兩個及以上的DMA通道請求設(shè)置的優(yōu)先級一樣,則取決于通道編號,越低優(yōu)先權(quán)越高

3 總結(jié)

本篇介紹了DMA的一些基礎(chǔ)知識,包括DMA傳輸?shù)?種情況、典型的DMA結(jié)構(gòu)以及STM32的DMA相關(guān)基礎(chǔ)介紹。

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
AD73311ARSZ 1 Analog Devices Inc Single-Channel, 3 V and 5 V Front-End Processor for General Purpose Applications Including Speech and Telephony

ECAD模型

下載ECAD模型
$10.72 查看
S25FL512SAGBHIA13 1 Spansion Flash, 128MX4, PBGA24, FBGA-24
$59.58 查看
ASEM1-24.000MHZ-LC-T 1 Abracon Corporation MEMS OSC XO 24.0000MHZ CMOS SMD
$2.01 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

控制科學與工程碩士,日常分享單片機、嵌入式、C/C++、Linux等學習經(jīng)驗干貨~