直接內(nèi)存訪問(Direct Memory Access,DMA):在計算機體系結(jié)構(gòu)中,DMA 是一種數(shù)據(jù)傳輸方式,允許外部設(shè)備直接訪問計算機的內(nèi)存,而無需通過中央處理單元(CPU)的干預(yù)。這有助于提高數(shù)據(jù)傳輸速度和系統(tǒng)效率。
那么,DMA究竟有多快呢?
實踐出真知
恰好,最近有個多通道數(shù)據(jù)采集的項目,受限于通道數(shù)多、分辨率高,而系統(tǒng)帶寬有限,為了盡可能充分利用有限帶寬,就得想辦法優(yōu)化時序,把時間都留給數(shù)據(jù)采集和傳輸。
優(yōu)化方向就是DMA。
硬件鏈路是ADC通過SPI接口將數(shù)據(jù)發(fā)送給STM32單片機,單片機再將數(shù)據(jù)發(fā)送到上位機。
咱們的目標就是優(yōu)化SPI這邊,先看普通采集模式。
下圖是普通采集模式,SPI每傳輸1個字節(jié)后,就有一段時間的空閑,這段時間就白白浪費了。

再看下,開啟DMA之后的效果。SPI可以連續(xù)工作,時鐘速率穩(wěn)定在20MHz,高效工作。
這就是DMA的強大之處!

問題來了,為什么上圖中的波形,有這么大的震蕩呢?
答案可以參考我的原創(chuàng)書籍《硬件設(shè)計指南》

如果看到這里,請點贊、收藏、分享三連!
限時免費掃碼進群,交流更多行業(yè)技術(shù)

審核編輯 黃宇
-
數(shù)據(jù)傳輸
+關(guān)注
關(guān)注
9文章
2201瀏覽量
67594 -
dma
+關(guān)注
關(guān)注
3文章
582瀏覽量
105944
發(fā)布評論請先 登錄
DMA(Direct Memory Access)的具體原理和實現(xiàn)方法是什么
DMA彈性映射功能
基于AXI DMA IP核的DDR數(shù)據(jù)存儲與PS端讀取
利用DMA如何降低MCU功耗?
哪些場景適合使用DMA?
AG32 內(nèi)置的CPLD 的DMA功能如何實現(xiàn)?
基于E203的DMA ip的使用
AG32:dma在cpld中的使用
STM32F405RGT6 ADC2+TIM4觸發(fā)+DMA(DMA2_Stream2_CH1)+DMA中斷會死機,怎么解決?
FPGA利用DMA IP核實現(xiàn)ADC數(shù)據(jù)采集
NVMe IP高速傳輸卻不依賴XDMA設(shè)計之五:DMA 控制單元設(shè)計
基于APM32F411 DMA_ADC Handler模式分析及解決
一文詳解AXI DMA技術(shù)
什么是DMA?DMA究竟有多快!
評論