中文在线中文资源,色鲁97精品国产亚洲AV高,亚洲欧美日韩在线一区,国产精品福利午夜在线观看

你的位置:首頁 > 電源管理 > 正文

如何使用DMA在低功耗可穿戴設備中加快外設監測

發布時間:2022-03-26 來源:ADI,Brandon Hurst 責任編輯:wenwei

【導讀】本文介紹在嵌入式系統程序中使用直接內存訪問(DMA)的用例、優點和缺點。本文描述了DMA如何與外設和內存模塊交互,以提高CPU的運行效率。還將為讀者介紹不同的DMA總線訪問架構,及各自的優點。


嵌入式系統執行的一個常見任務是管理外部輸入。管理輸入會給處理器帶來很多不必要的計算壓力,導致處理器處于有功功率模式下的時間更長,響應速度更慢。為了優化功率,保持對事件的快速響應以及管理大量數據連續傳輸,具有直接內存訪問(DMA)的微控制器可提供更好的解決方案。


直接內存訪問(DMA)


在涉及外設的系統應用中,微處理器在許多點可能都會遭遇瓶頸。例如,在管理一個不斷發送數據的ADC時,處理器可能時常被中斷,導致它很難完成其他任務。DMA是一種在大型或快速數據處理事務中移動數據和盡量減少處理器參與的方法。您可以將DMA控制器當做一個協處理器,它的唯一作用就是與存儲器和外設交互。通過這種方式,主處理器可以成功管理工作量大的外設,專注于處理其他任務,甚至可以在后臺處理數據時進入睡眠狀態,以節省功率。例如,在Arm?架構上,DMA模塊可以在LP2(睡眠)或LP3(運行)模式下運行。對于需要更長的電池壽命的應用,例如可穿戴傳感器中樞和智能手表,這具有明顯的優勢。


優點和缺點


在許多數字系統中,DMA很有用處,有時甚至用于管理大量總線流量。它還用于網卡、顯卡,甚至一些原始的IBM個人電腦中。也就是說,將DMA集成到設計中時,確實需要進行一些權衡考量。


表1. 使用DMA的優點

1645089066251231.png


表2. 使用DMA的缺點

1645089054220319.png


總線訪問和CPU周期


雖然DMA控制器在節能或加速嵌入式系統方面非常有效,但它們的實現方案還沒有高度標準化。可以使用多種方案來確保不會與CPU同時授予內部總線訪問權限。總線訪問方案的主要目標是避免同時訪問相同的存儲器位置,以免發生緩存區不連續和邏輯錯誤。單個DMA控制器通常配置為采用這些方案之一,因為使用每種方案可能需要不同的硬件或固件控制。大多數DMA控制器使用的總線訪問方案是突發、周期竊用和透明模式的DMA。


透明DMA一次只能執行一項操作,但是,它也必須等待處理器執行指令,以獲得對所需數據或地址總線的訪問。驗證這種訪問限制需要使用額外的邏輯,這種類型DMA的速度通常最慢。在不需要訪問存儲器總線但需要進行額外的處理的應用中,透明DMA可能具有優勢。在這種情況下,優勢在于消除了對CPU的節流,因為處理器無需完全停止運行。


表3. DMA類型及其優缺點總結

1645089037809169.png


12.png

圖1. DMA運行期間,突發DMA的架構圖。


突發DMA是借由不常見的大型突發事件發生,在此期間,DMA會根據緩沖區可以存儲的容量,向目標緩沖區發送盡可能多的數據。DMA控制器會在短時間內阻止CPU運行,以移動大量內存,然后將總線交還給主CPU,并一直重復該過程,直到傳輸完成。突發DMA通常被認為是速度最快的類型。


13.png

圖2. 在DMA運行期間,周期竊用DMA發生在兩個CPU周期之間。


相反,單字節傳輸或周期竊用DMA從CPU獲取提示,并且僅在CPU指令之間執行操作。它在兩個CPU周期之間插入一個操作,因此實際上"竊取"了CPU時間。由于一次只能執行一項操作的限制,它通常比突發DMA慢。


14.png

圖3. 在DMA運行期間,透明DMA在處理器處理不訪問數據或地址總線的任務時發生。


突發DMA架構示例


15.png

圖4. MAX32660上的DMA控制器的架構圖。


關于突發DMA控制器示例,可以參見 MAX32660(參見圖4)。上方路徑對應數據流,下方路徑代表先進的高性能總線(AHB)和DMA邏輯之間的控制/狀態流。DMA控制器可以用作AHB和存儲器或外設模塊之間的緩沖區接口,具體取決于其配置方式。DMA邏輯位于DMA緩沖區和每個外設之間,用于在處理期間獨立管理每個唯一的外設總線。DMA運行一次可以移動多達32個字節,只要源/目標緩沖區中可以包含這么多數據。緩沖區最高可存儲16 MB,除了內部存儲器傳輸外,還可以配置為發送或接收I2C、SPI、I2S和UART。編程DMA控制可能會因協議的不同而略有不同,但外設事務完全由DMA控制器管理。仲裁模塊控制四個DMA通道和CPU之間的總線訪問限制,根據優先級系統批準請求。


現代DMA選項


總之,對于管理大量傳感器并要求高吞吐量、高效率和低功耗操作的現代嵌入式系統來說,DMA是一個關鍵特性。它就像是一個專門用于處理存儲器和外設總線事務的協處理器。


許多應用必須使用DMA,以盡可能降低功耗和減輕處理器負載。例如,健康和可穿戴設備可以處理大量的數據吞吐量,但它們也必須盡可能地節省電池電量,同時還要處理敏感數據。ADI公司在適用于低功耗可穿戴設備的微控制器上采用快速突發DMA架構,例如 MAX32660 和 MAX32670。此外,DARWIN Arm微控制器(例如 MAX32666 )是為集成Bluetooth? 5的可穿戴設備和物聯網應用而設計的。這些器件采用2個8通道突發DMA控制器,支持基于事件的事務。它們甚至配備了出色的安全硬件,具有安全引導加載程序和信任保護單元(TPU),可以加速ECDSA、SHA-2和AES加密。從早期的IBM電腦到網卡,再到現在的安全、低功耗可穿戴設備和物聯網設備,DMA是現代數字系統的基本特征。



免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯系小編進行處理。


推薦閱讀:


強魯棒性低側柵極驅動電路設計指南

集成1700V SiC MOSFET車規高壓開關不僅是多個第一

SiC MOSFET模塊的硬并聯

ADALM2000實驗:CMOS模擬開關

集成驅動器!原來,GaN電源系統性能升級的奧秘在這里~

特別推薦
技術文章更多>>
技術白皮書下載更多>>
熱門搜索
?

關閉

?

關閉

  • <center id="09kry"></center>

  • 主站蜘蛛池模板: 台山市| 丰顺县| 常熟市| 霞浦县| 丁青县| 南乐县| 佛山市| 乐陵市| 淄博市| 墨江| 兴安县| 锦州市| 天水市| 泌阳县| 祁连县| 新津县| 稷山县| 华安县| 宁夏| 武义县| 古交市| 洞口县| 习水县| 图们市| 灵寿县| 锡林浩特市| 博乐市| 海晏县| 安仁县| 抚宁县| 丹凤县| 绵竹市| 北碚区| 东兰县| 南丰县| 济源市| 新乐市| 九江县| 延寿县| 申扎县| 新干县|