直接內存訪問(Direct Memory Access,DMA):在計算機體系結構中,DMA 是一種數據傳輸方式,允許外部設備直接訪問計算機的內存,而無需通過中央處理單元(CPU)的干預。這有助于提高數據傳輸速度和系統效率。
那么,DMA究竟有多快呢?
實踐出真知
恰好,最近有個多通道數據采集的項目,受限于通道數多、分辨率高,而系統帶寬有限,為了盡可能充分利用有限帶寬,就得想辦法優化時序,把時間都留給數據采集和傳輸。
優化方向就是DMA。
硬件鏈路是ADC通過SPI接口將數據發送給STM32單片機,單片機再將數據發送到上位機。
咱們的目標就是優化SPI這邊,先看普通采集模式。
下圖是普通采集模式,SPI每傳輸1個字節后,就有一段時間的空閑,這段時間就白白浪費了。
再看下,開啟DMA之后的效果。SPI可以連續工作,時鐘速率穩定在20MHz,高效工作。
這就是DMA的強大之處!
問題來了,為什么上圖中的波形,有這么大的震蕩呢?
答案可以參考我的原創書籍《硬件設計指南》
如果看到這里,請點贊、收藏、分享三連!
限時免費掃碼進群,交流更多行業技術
審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
相關推薦
DMA簡介DMA控制器的作用不僅在增強系統性能并減少處理器的中斷生成,而且還針對32位MCU應用程序專門優化設計。DMA控制器為存儲器到存儲器,存儲器到外設和外設到存儲器的傳輸提供了7個通道。每個
發表于 11-20 01:03
?251次閱讀
DMA(Direct Memory Access)是一種允許某些硬件子系統直接訪問系統內存的技術,而無需中央處理單元(CPU)的介入。這種技術可以顯著提高數據傳輸速率,減輕CPU的負擔,并提高整體
發表于 11-11 10:49
?5457次閱讀
電子發燒友網站提供《使用TMS320C6000增強型DMA的應用.pdf》資料免費下載
發表于 10-23 09:48
?0次下載
電子發燒友網站提供《將DMA與C64x的框架組件結合使用.pdf》資料免費下載
發表于 10-16 10:29
?0次下載
電子發燒友網站提供《用于ADC的DMA乒乓.pdf》資料免費下載
發表于 09-07 11:27
?1次下載
直接存儲器訪問(DMA,DirectMemoryAccess)的優點·提高系統效率:通過繞過CPU,DMA顯著減少了數據傳輸對CPU資源的占用,使得CPU能夠專注于其他計算任務,提升了系統整體
發表于 07-18 08:18
?812次閱讀
對于RL78系列的MCU,為了提高運行效率,減少CPU的占用,建議UART數據收發使用DMA功能。DMA(Direct Memory Access)是RL78 MCU內置的一個控制器,能在支持DMA外圍硬件的SFR和內部RAM之
發表于 07-17 14:24
?646次閱讀
電子發燒友網站提供《共模電感選型依據究竟有哪些.docx》資料免費下載
發表于 05-06 10:26
?1次下載
Streaming DMA在訪問內存地址時經過cache,是non-coherence設備,通常采用streaming mapping的API進行內存申請,在單次DMA傳輸時進行map,在傳輸完成后進行unmap;
發表于 04-07 14:38
?888次閱讀
直接存儲器訪問 ( DMA )控制器,可以在內存和/或外設之間傳輸數據,而不需要 CPU 參與每次傳輸。合理利用 DMA 控制器,可以減輕CPU的負擔。
發表于 03-28 09:41
?710次閱讀
基于PCI Express Integrated Block,Multi-Channel PCIe QDMA Subsystem實現了使用DMA地址隊列的獨立多通道、高性能Continous或
發表于 02-22 11:11
?1457次閱讀
DMA簡介DMA控制器的作用不僅在增強系統性能并減少處理器的中斷生成,而且還針對32位MCU應用程序專門優化設計。DMA控制器為存儲器到存儲器,存儲器到外設和外設到存儲器的傳輸提供了7個通道。每個
發表于 02-22 08:13
?708次閱讀
有人使用STM32U575芯片的DAC功能。他希望使用TIMER事件觸發DMA,并通過DMA傳輸內存數據到DAC輸出寄存器,進而產生相應的DAC輸出波形。可他不知如何配置DMA并實現期望的DAC輸出,在ST公司提供的HAL庫里也
發表于 01-24 09:10
?1840次閱讀
DMA(Direct Memory Access)和串口直接發送是兩種不同的數據傳輸方式,它們在實現上有著明顯的區別和優劣勢。本文將詳細介紹DMA和串口直接發送的原理、優缺點以及適用場景。 首先
發表于 01-07 17:43
?2905次閱讀
DMA(Direct Memory Access)和通道技術是計算機系統中用來優化數據傳輸和處理的重要技術。盡管它們都與數據傳輸相關,但它們在實現方法、特點和應用場景等方面存在一些重要的區別
發表于 01-04 14:31
?2596次閱讀
評論