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

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

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

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

審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
數據傳輸
+關注
關注
9文章
2201瀏覽量
67579 -
dma
+關注
關注
3文章
582瀏覽量
105918
發布評論請先 登錄
相關推薦
熱點推薦
DMA(Direct Memory Access)的具體原理和實現方法是什么
1. DMA 是什么(在 Zephyr / Nordic 里的抽象)
Zephyr 把 DMA(Direct Memory Access)抽象成一個“DMA 控制器 + 多個通道”的驅動接口,用來
發表于 02-12 10:16
DMA彈性映射功能
DMA彈性映射功能
示例
目的:演示AT32F系列DMA彈性映射功能使用的方法。
支持型號:AT32F 系列、AT32F403Axx
主要使用外設: TMR、 GPIO、 DMA
1 快速使用方法
發表于 12-12 16:04
利用DMA如何降低MCU功耗?
利用DMA(直接內存訪問)降低MCU功耗的核心在于最小化CPU介入,通過硬件自動完成數據傳輸任務,使CPU能盡可能長時間處于休眠狀態。
CPU休眠時間最大化
DMA接管數據搬運(如外設?內存、內存
發表于 11-18 07:34
哪些場景適合使用DMA?
DMA(直接內存訪問)控制器允許外設和內存之間或內存和內存之間直接傳輸數據,而無需CPU的參與。這可以大大減輕CPU的負擔,讓CPU去處理其他任務,從而提高系統效率。以下是一些常見的使用DMA的場景
發表于 11-12 07:13
AG32 內置的CPLD 的DMA功能如何實現?
一、在AGM 的AG32 CPLD中實現DMA(直接內存訪問)功能,其核心邏輯如下:
1、系統架構?采用主從架構:MCU作為主設備,CPLD作為從設備?交互方式:MCU通過訪問寄存器的方式
發表于 10-31 15:42
基于E203的DMA ip的使用
1.BD設計
2.AXI DMA寄存器
編寫SDK代碼,需要根據xilinx的官方例程和dma ip使用手冊進行寄存器的配置。
重要寄存器:
MM2S
S2MM
發表于 10-22 06:00
AG32:dma在cpld中的使用
cpld中實現DMA的邏輯:
Mcu為master,cpld為slave,mcu對cpld的交互方式為存取寄存器的方式;
mcu中配置好DMA(讀取cpld中準備好的數據);
cpld中準備好數據后
發表于 08-12 09:22
STM32F405RGT6 ADC2+TIM4觸發+DMA(DMA2_Stream2_CH1)+DMA中斷會死機,怎么解決?
ADC1+TIM4觸發+DMA(DMA2_Stream0_CH0)+DMA中斷完全正常更改為ADC2+TIM4觸發+DMA(DMA2_Str
發表于 08-04 07:16
FPGA利用DMA IP核實現ADC數據采集
本文介紹如何利用FPGA和DMA技術處理來自AD9280和AD9708 ADC的數據。首先,探討了這兩種ADC的特點及其與FPGA的接口兼容性。接著,詳細說明了使用Xilinx VIVADO環境下
NVMe IP高速傳輸卻不依賴XDMA設計之五:DMA 控制單元設計
DMA 控制單元負責控制 DMA 傳輸事務, 該單元承擔了 DMA 事務到 NVMe 事務的轉換任務, 使用戶對數據傳輸事務的控制更加簡單快捷。 DMA 控制功能由
基于APM32F411 DMA_ADC Handler模式分析及解決
最近在編寫DMA_ADC例程的過程中出現了一個中斷配置的問題,在ADC采集過程中,結合手冊進行ADC連續轉換模式配置采集,手冊上給出需要進行中斷配置的信息,但是真實情況不需要進行中斷配置也可以進行
一文詳解AXI DMA技術
AXI直接數值存取(Drect Memory Access,DMA)IP核在AXI4內存映射和AXI4流IP接口之間提供高帶寬的直接內存訪問。DMA可以選擇分散收集(Scatter Gather
什么是DMA?DMA究竟有多快!
評論