直接內存訪問(Direct Memory Access,DMA):在計算機體系結構中,DMA 是一種數據傳輸方式,允許外部設備直接訪問計算機的內存,而無需通過中央處理單元(CPU)的干預。這有助于提高數據傳輸速度和系統效率。
那么,DMA究竟有多快呢?
實踐出真知
恰好,最近有個多通道數據采集的項目,受限于通道數多、分辨率高,而系統帶寬有限,為了盡可能充分利用有限帶寬,就得想辦法優化時序,把時間都留給數據采集和傳輸。
優化方向就是DMA。
硬件鏈路是ADC通過SPI接口將數據發送給STM32單片機,單片機再將數據發送到上位機。
咱們的目標就是優化SPI這邊,先看普通采集模式。
下圖是普通采集模式,SPI每傳輸1個字節后,就有一段時間的空閑,這段時間就白白浪費了。
再看下,開啟DMA之后的效果。SPI可以連續工作,時鐘速率穩定在20MHz,高效工作。
這就是DMA的強大之處!
問題來了,為什么上圖中的波形,有這么大的震蕩呢?
答案可以參考我的原創書籍《硬件設計指南》
如果看到這里,請點贊、收藏、分享三連!
限時免費掃碼進群,交流更多行業技術
審核編輯 黃宇
-
數據傳輸
+關注
關注
9文章
2010瀏覽量
65884 -
dma
+關注
關注
3文章
576瀏覽量
102879
發布評論請先 登錄
一文詳解AXI DMA技術

CKS32F107xx系列的DMA控制器簡介

ZYNQ基礎---AXI DMA使用

雅特力AT32F402/F405 DMA使用指南

DMA是什么?詳細介紹
揭秘車載VCU項目之外掛界的“大哥”DMA

經驗分享 | DMA助力實時控制

RL78系列MCU DMA在UART中的使用

評論