久久99国产精品成人,AV女优在线不卡,国产全肉乱妇杂乱视频,日韩色图网站

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

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

發(fā)布時間:2022-03-26 來源:ADI,Brandon Hurst 責(zé)任編輯:wenwei

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


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


直接內(nèi)存訪問(DMA)


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


優(yōu)點(diǎn)和缺點(diǎn)


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


表1. 使用DMA的優(yōu)點(diǎn)

1645089066251231.png


表2. 使用DMA的缺點(diǎn)

1645089054220319.png


總線訪問和CPU周期


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


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


表3. DMA類型及其優(yōu)缺點(diǎn)總結(jié)

1645089037809169.png


12.png

圖1. DMA運(yùn)行期間,突發(fā)DMA的架構(gòu)圖。


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


13.png

圖2. 在DMA運(yùn)行期間,周期竊用DMA發(fā)生在兩個CPU周期之間。


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


14.png

圖3. 在DMA運(yùn)行期間,透明DMA在處理器處理不訪問數(shù)據(jù)或地址總線的任務(wù)時發(fā)生。


突發(fā)DMA架構(gòu)示例


15.png

圖4. MAX32660上的DMA控制器的架構(gòu)圖。


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


現(xiàn)代DMA選項(xiàng)


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


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



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


推薦閱讀:


強(qiáng)魯棒性低側(cè)柵極驅(qū)動電路設(shè)計指南

集成1700V SiC MOSFET車規(guī)高壓開關(guān)不僅是多個第一

SiC MOSFET模塊的硬并聯(lián)

ADALM2000實(shí)驗(yàn):CMOS模擬開關(guān)

集成驅(qū)動器!原來,GaN電源系統(tǒng)性能升級的奧秘在這里~

特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
壓控振蕩器 壓力傳感器 壓力開關(guān) 壓敏電阻 揚(yáng)聲器 遙控開關(guān) 醫(yī)療電子 醫(yī)用成像 移動電源 音頻IC 音頻SoC 音頻變壓器 引線電感 語音控制 元件符號 元器件選型 云電視 云計算 云母電容 真空三極管 振蕩器 振蕩線圈 振動器 振動設(shè)備 震動馬達(dá) 整流變壓器 整流二極管 整流濾波 直流電機(jī) 智能抄表
?

關(guān)閉

?

關(guān)閉