你的位置:首頁 > 測試測量 > 正文

使用DMA在低功耗可穿戴設備中加快外設監(jiān)測

發(fā)布時間:2024-11-13 責任編輯:lina

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

 

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

1. 直接內存訪問(DMA)

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

2. 優(yōu)點和缺點

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


使用DMA在低功耗可穿戴設備中加快外設監(jiān)測

使用DMA在低功耗可穿戴設備中加快外設監(jiān)測

總線訪問和CPU周期

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

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


使用DMA在低功耗可穿戴設備中加快外設監(jiān)測表3. DMA類型及其優(yōu)缺點總結



使用DMA在低功耗可穿戴設備中加快外設監(jiān)測圖1. DMA運行期間,突發(fā)DMA的架構圖。


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


使用DMA在低功耗可穿戴設備中加快外設監(jiān)測圖2. 在DMA運行期間,周期竊用DMA發(fā)生在兩個CPU周期之間。


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


使用DMA在低功耗可穿戴設備中加快外設監(jiān)測圖3. 在DMA運行期間,透明DMA在處理器處理不訪問數據或地址總線的任務時發(fā)生。


突發(fā)DMA架構示例


使用DMA在低功耗可穿戴設備中加快外設監(jiān)測


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

現代DMA選項

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

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


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


推薦閱讀:

安森美推出業(yè)界領先的模擬和混合信號平臺

STM32 MPU是什么產品?了解嵌入式系統(tǒng)中微處理器的新變化

采用能量收集技術為嵌入式系統(tǒng)設計永續(xù)供電

思特威4K超星光級圖像傳感器SC850SL榮獲“中國芯”優(yōu)秀市場表現產品獎

如何利用英飛凌MOTIX? embedded power硬件機制標定小電機ECU


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

關閉

?

關閉