如何使用DMA在低功耗可穿戴設備中加快外設監測
發布時間:2022-03-26 來源:ADI,Brandon Hurst 責任編輯:wenwei
【導讀】本文介紹在嵌入式係統程序中使用直接內存訪問(DMA)的用例、優點和缺點。本文描述了DMA如何與外設和內存模塊交互,以提高CPU的運行效率。還將為讀者介紹不同的DMA總線訪問架構,及各自的優點。
嵌qian入ru式shi係xi統tong執zhi行xing的de一yi個ge常chang見jian任ren務wu是shi管guan理li外wai部bu輸shu入ru。管guan理li輸shu入ru會hui給gei處chu理li器qi帶dai來lai很hen多duo不bu必bi要yao的de計ji算suan壓ya力li,導dao致zhi處chu理li器qi處chu於yu有you功gong功gong率lv模mo式shi下xia的de時shi間jian更geng長chang,響xiang應ying速su度du更geng慢man。為wei了le優you化hua功gong率lv,保bao持chi對dui事shi件jian的de快kuai速su響xiang應ying以yi及ji管guan理li大da量liang數shu據ju連lian續xu傳chuan輸shu,具ju有you直zhi接jie內nei存cun訪fang問wen(DMA)的微控製器可提供更好的解決方案。
直接內存訪問(DMA)
在涉及外設的係統應用中,微處理器在許多點可能都會遭遇瓶頸。例如,在管理一個不斷發送數據的ADC時,處理器可能時常被中斷,導致它很難完成其他任務。DMA是一種在大型或快速數據處理事務中移動數據和盡量減少處理器參與的方法。您可以將DMA控(kong)製(zhi)器(qi)當(dang)做(zuo)一(yi)個(ge)協(xie)處(chu)理(li)器(qi),它(ta)的(de)唯(wei)一(yi)作(zuo)用(yong)就(jiu)是(shi)與(yu)存(cun)儲(chu)器(qi)和(he)外(wai)設(she)交(jiao)互(hu)。通(tong)過(guo)這(zhe)種(zhong)方(fang)式(shi),主(zhu)處(chu)理(li)器(qi)可(ke)以(yi)成(cheng)功(gong)管(guan)理(li)工(gong)作(zuo)量(liang)大(da)的(de)外(wai)設(she),專(zhuan)注(zhu)於(yu)處(chu)理(li)其(qi)他(ta)任(ren)務(wu),甚(shen)至(zhi)可(ke)以(yi)在(zai)後(hou)台(tai)處(chu)理(li)數(shu)據(ju)時(shi)進(jin)入(ru)睡(shui)眠(mian)狀(zhuang)態(tai),以(yi)節(jie)省(sheng)功(gong)率(lv)。例(li)如(ru),在(zai)Arm®架構上,DMA模塊可以在LP2(睡眠)或LP3(運行)模式下運行。對於需要更長的電池壽命的應用,例如可穿戴傳感器中樞和智能手表,這具有明顯的優勢。
優點和缺點
在許多數字係統中,DMA很有用處,有時甚至用於管理大量總線流量。它還用於網卡、顯卡,甚至一些原始的IBM個人電腦中。也就是說,將DMA集成到設計中時,確實需要進行一些權衡考量。
表1. 使用DMA的優點
表2. 使用DMA的缺點
總線訪問和CPU周期
雖然DMA控製器在節能或加速嵌入式係統方麵非常有效,但它們的實現方案還沒有高度標準化。可以使用多種方案來確保不會與CPU同時授予內部總線訪問權限。總線訪問方案的主要目標是避免同時訪問相同的存儲器位置,以免發生緩存區不連續和邏輯錯誤。單個DMA控製器通常配置為采用這些方案之一,因為使用每種方案可能需要不同的硬件或固件控製。大多數DMA控製器使用的總線訪問方案是突發、周期竊用和透明模式的DMA。
透明DMA一(yi)次(ci)隻(zhi)能(neng)執(zhi)行(xing)一(yi)項(xiang)操(cao)作(zuo),但(dan)是(shi),它(ta)也(ye)必(bi)須(xu)等(deng)待(dai)處(chu)理(li)器(qi)執(zhi)行(xing)指(zhi)令(ling),以(yi)獲(huo)得(de)對(dui)所(suo)需(xu)數(shu)據(ju)或(huo)地(di)址(zhi)總(zong)線(xian)的(de)訪(fang)問(wen)。驗(yan)證(zheng)這(zhe)種(zhong)訪(fang)問(wen)限(xian)製(zhi)需(xu)要(yao)使(shi)用(yong)額(e)外(wai)的(de)邏(luo)輯(ji),這(zhe)種(zhong)類(lei)型(xing)DMA的速度通常最慢。在不需要訪問存儲器總線但需要進行額外的處理的應用中,透明DMA可能具有優勢。在這種情況下,優勢在於消除了對CPU的節流,因為處理器無需完全停止運行。
表3. DMA類型及其優缺點總結
圖1. DMA運行期間,突發DMA的架構圖。
突發DMA是借由不常見的大型突發事件發生,在此期間,DMA會根據緩衝區可以存儲的容量,向目標緩衝區發送盡可能多的數據。DMA控製器會在短時間內阻止CPU運行,以移動大量內存,然後將總線交還給主CPU,並一直重複該過程,直到傳輸完成。突發DMA通常被認為是速度最快的類型。
圖2. 在DMA運行期間,周期竊用DMA發生在兩個CPU周期之間。
相反,單字節傳輸或周期竊用DMA從CPU獲取提示,並且僅在CPU指令之間執行操作。它在兩個CPU周期之間插入一個操作,因此實際上"竊取"了CPU時間。由於一次隻能執行一項操作的限製,它通常比突發DMA慢。
圖3. 在DMA運行期間,透明DMA在處理器處理不訪問數據或地址總線的任務時發生。
突發DMA架構示例
圖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,以(yi)盡(jin)可(ke)能(neng)降(jiang)低(di)功(gong)耗(hao)和(he)減(jian)輕(qing)處(chu)理(li)器(qi)負(fu)載(zai)。例(li)如(ru),健(jian)康(kang)和(he)可(ke)穿(chuan)戴(dai)設(she)備(bei)可(ke)以(yi)處(chu)理(li)大(da)量(liang)的(de)數(shu)據(ju)吞(tun)吐(tu)量(liang),但(dan)它(ta)們(men)也(ye)必(bi)須(xu)盡(jin)可(ke)能(neng)地(di)節(jie)省(sheng)電(dian)池(chi)電(dian)量(liang),同(tong)時(shi)還(hai)要(yao)處(chu)理(li)敏(min)感(gan)數(shu)據(ju)。ADI公司在適用於低功耗可穿戴設備的微控製器上采用快速突發DMA架構,例如 MAX32660 和 MAX32670。此外,DARWIN Arm微控製器(例如 MAX32666 )是為集成Bluetooth® 5的可穿戴設備和物聯網應用而設計的。這些器件采用2個8通道突發DMA控製器,支持基於事件的事務。它們甚至配備了出色的安全硬件,具有安全引導加載程序和信任保護單元(TPU),可以加速ECDSA、SHA-2和AES加密。從早期的IBM電腦到網卡,再到現在的安全、低功耗可穿戴設備和物聯網設備,DMA是現代數字係統的基本特征。
免責聲明:本文為轉載文章,轉載此文目的在於傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯係小編進行處理。
推薦閱讀:
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
- 貿澤EIT係列新一期,探索AI如何重塑日常科技與用戶體驗
- 算力爆發遇上電源革新,大聯大世平集團攜手晶豐明源線上研討會解鎖應用落地
- 創新不止,創芯不已:第六屆ICDIA創芯展8月南京盛大啟幕!
- AI時代,為什麼存儲基礎設施的可靠性決定數據中心的經濟效益
- 築基AI4S:摩爾線程全功能GPU加速中國生命科學自主生態
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall


