無論是用于智能電表,無線傳感器節(jié)點還是移動健康監(jiān)測產(chǎn)品,微控制器都是許多實時應(yīng)用的核心,這些應(yīng)用要求對現(xiàn)實事件做出及時響應(yīng)。在許多這些應(yīng)用中,微控制器(MCU)依賴于復(fù)雜的睡眠模式技術(shù),這些技術(shù)可以暫停大部分或全部操作,從而最大限度地降低能耗,使其能夠在有限的能源上運行數(shù)年甚至數(shù)十年。這些實時環(huán)境給設(shè)計人員和程序員帶來了特殊的挑戰(zhàn),因為降低MCU能耗的相同睡眠狀態(tài)通常也會降低其快速響應(yīng)事件的能力。
本文將幫助您理解您需要的技術(shù)和架構(gòu)功能可確保您的傳感器/控制網(wǎng)絡(luò)能夠可靠地支持其所有實時任務(wù),同時最大限度地延長電池壽命。
新應(yīng)用需要較長的使用壽命
低成本,高能效的嵌入式處理器和智能對象技術(shù)的出現(xiàn)推動了智能建筑/智能家居,智能電網(wǎng),安全,環(huán)境監(jiān)測和能源管理系統(tǒng)等應(yīng)用的智能分布式網(wǎng)絡(luò)的發(fā)展。同樣的技術(shù)也被用于為智能電表等現(xiàn)有產(chǎn)品增加智能,用于能源,天然氣和水的分配以及健康,健身和便攜式醫(yī)療設(shè)備。雖然操作和設(shè)計要求差異很大,但所有這些應(yīng)用必須使用其電池或能量收集系統(tǒng)提供的有限能源資源可靠運行多年。
AA堿性電池通常用于為許多分布式系統(tǒng)元件供電初始容量為1500-2500 mAh,但當(dāng)考慮到其自放電率時,設(shè)計人員應(yīng)該可以使用大約1000 mAh的電池,使用時間超過電池標(biāo)稱的5 - 7年使用壽命(圖1)。
圖1:AA/LR6堿性電池的保質(zhì)期與溫度的關(guān)系。由Energizer Battery Manufacturing Inc.提供
一些埋藏或難以接近的應(yīng)用(如智能無線水表和煤氣表)面臨更大的挑戰(zhàn)。為了達到10 - 20年的使用壽命,他們使用具有專門的低泄漏化學(xué)品的電池。因此,必須積極調(diào)整儀表的能源預(yù)算,以保持在全球市場中具有競爭力的價格。
對于這些應(yīng)用,功耗預(yù)算為5-20μA(平均/穩(wěn)態(tài))并不罕見)。典型設(shè)計可能具有能量預(yù)算,可分配20%的可用容量來傳輸活動,30%用于接收命令,20%用于數(shù)據(jù)收集和系統(tǒng)維護。這樣只剩下30%的電池容量來支持系統(tǒng)的睡眠/空閑模式,它將占用超過99%的壽命。同樣,依賴于熱能或光伏能量收集系統(tǒng)的分布式傳感器網(wǎng)絡(luò)中的無線節(jié)點必須依賴于1-2 mAh/天的能量預(yù)算。
管理mcu喚醒時間至關(guān)重要
如果功能受限的應(yīng)用程序得到正確實施,大多數(shù)能源密集型子系統(tǒng)(RF和PHY層收發(fā)器,顯示器等......)已經(jīng)設(shè)計為僅在其活動狀態(tài)下花費盡可能多的時間,因此它們需要可能是MCU代表了優(yōu)化系統(tǒng)總功率預(yù)算的最佳機會之一。通過充分利用MCU的待機和休眠模式,可以實現(xiàn)大部分額外的節(jié)能。
大多數(shù)現(xiàn)代MCU具有多種低功耗模式(通常為“睡眠/待機”,“深度睡眠“和”關(guān)閉“),具有不同級別的CPU,內(nèi)存和I/O功能。 “睡眠/空閑”和“深度睡眠”模式的具體功能因處理器而異,但所涉及的一般原則基本相同。
一般來說,睡眠越深,MCU消耗的功率越少。
然而,由于從較深的睡眠模式喚醒需要更多時間,因此節(jié)省電力是有代價的。影響喚醒時間的一些因素包括:
喚醒電路中的滯后和傳播延遲
MCU內(nèi)核電源管理的啟動和穩(wěn)定
重新啟動并穩(wěn)定CPU時鐘電路
恢復(fù)處理器的寄存器和其他內(nèi)部配置
恢復(fù)系統(tǒng)內(nèi)存
服務(wù)所需的CPU周期觸發(fā)重啟的中斷
實時響應(yīng)與節(jié)能
如果主處理器必須處理的所有事件,實現(xiàn)低功耗操作相對容易是可以預(yù)測的。如果節(jié)能是唯一的問題,系統(tǒng)將默認為“關(guān)閉/關(guān)閉模式”。在這種情況下,處理器可以在編程其實時時鐘(或其他時序邏輯)之后進入掉電模式,以足夠早地觸發(fā)喚醒過程,以確保它為下一個事件做好準(zhǔn)備。需要處理器進入其活動模式的更可預(yù)測事件的一些示例包括:
許多使用ZigBee/802.15,Wi-Fi和其他無線技術(shù)的應(yīng)用都需要時隙協(xié)議,這些協(xié)議要求主處理器定期檢查來自其他網(wǎng)絡(luò)節(jié)點的消息。
Real-時鐘中斷與系統(tǒng)相關(guān)的任務(wù),定期計劃的收集數(shù)據(jù)到達以及其他可預(yù)測的外部事件。
不幸的是,上一節(jié)中描述的大多數(shù)應(yīng)用程序也需要MCU來實時響應(yīng)計劃外事件 - 或至少半實時響應(yīng)。這些事件的示例包括:
運動/加速度數(shù)據(jù),閾值/警報條件,電源中斷以及其他重要的非計劃事件可能要求主機處理器在幾毫秒或幾微秒內(nèi)響應(yīng)以防止系統(tǒng)損壞或避免丟失關(guān)鍵數(shù)據(jù)。
某些有線和無線協(xié)議以隨機間隔傳輸,要求處理器或?qū)S脽o線電控制器隨時準(zhǔn)備好響應(yīng)傳入的數(shù)據(jù)包。/li>
從這些示例中,很容易看出,如果您選擇的睡眠模式太深,MCU恢復(fù)正常運行可能需要很長時間才能及時響應(yīng)觸發(fā)的任何內(nèi)容喚醒狀態(tài)。缺少警報/警報可能意味著丟失關(guān)鍵數(shù)據(jù),對用戶命令的響應(yīng)速度慢得令人無法接受,或者損害整個網(wǎng)絡(luò)的響應(yīng)時間。
低功耗rtos - 創(chuàng)新還是矛盾?
< p>進一步使問題復(fù)雜化的是實時操作系統(tǒng)(RTOS),它們開始在一些嵌入式應(yīng)用中獲得認可,因為它們可以為設(shè)計帶來確定性行為和簡化的編程。除了它的優(yōu)點外,RTOS還帶來了另一層次的技術(shù)挑戰(zhàn)。希望實現(xiàn)RTOS的設(shè)計人員必須解決到目前為止所討論的所有問題,但他們還必須牢記:
許多RTOS要求MCU處于活動狀態(tài)(或至少處于待機狀態(tài))狀態(tài)和只有少數(shù)(如AVIX和FreeRTOS)可以在深度睡眠/關(guān)閉模式下支持它們。
RTOS通常會帶來額外的開銷,無論是代碼大小,更重要的是,從休眠模式恢復(fù)或執(zhí)行微秒重要的其他任務(wù)所需的指令數(shù)。
幸運的是,良好的硬件設(shè)計和智能編碼實踐可以讓許多人在RTOS中享受到RTOS帶來的好處。能量受限的應(yīng)用。開發(fā)低功耗RTOS驅(qū)動系統(tǒng)所涉及的一些基本問題將在本文末尾進行討論。
仔細研究睡眠
優(yōu)化低功耗嵌入式設(shè)計的主要方法之一是找到仍然能夠?qū)崟r事件提供足夠響應(yīng)的最低睡眠模式。在我們完成確定最適合特定應(yīng)用的睡眠模式所需的步驟之前,了解MCU的功耗,可用功能以及返回活動狀態(tài)所需的時間非常有用。每個待機/休眠模式。
為了說明每種休眠模式狀態(tài)的特性,我們將使用Energy Micro的EFM32“Gecko”系列能量優(yōu)化32位MCU。盡管Gecko架構(gòu)已經(jīng)過優(yōu)化,可以超越每種模式的基本要求,但大多數(shù)用于這些類型應(yīng)用的MCU都具有相似的工作狀態(tài)和特性(圖2)。
注意:許多MCU架構(gòu)都有單個“深度睡眠”模式,包括EFM32的EM2和EM3能量狀態(tài)的一些功能。
圖2:EFM32系列的能量模式轉(zhuǎn)換。由Energy Micro提供。
睡眠/待機 - (EFM32稱為“EM1”) - 允許快速返回活動模式(通常通過中斷),代價是功耗稍高一點。在此模式下:
高頻時鐘MCU振蕩器仍在運行,但CPU時鐘樹已禁用。這使得CPU能夠在喚醒觸發(fā)后的下一個時鐘周期內(nèi)恢復(fù)執(zhí)行指令。
高頻外設(shè)時鐘樹處于活動狀態(tài),允許高速外設(shè),如DMA,高速UART/USART,ADC/DAC和AES加密/解密以自動運行。
32.768 kHz低頻振蕩器保持開啟狀態(tài),允許低速外設(shè)保持運行。
MCU的保留了指針和配置寄存器的狀態(tài),無需在掉電時保存或在上電時恢復(fù)。保持寄存器內(nèi)容不變通??梢詾槊看螁拘压?jié)省數(shù)百到數(shù)千個指令周期。
隨機存取存儲器保持活動狀態(tài),可以通過DMA訪問。
功耗:EMF32 =45μA/MHz;典型等效32位MCU =200μA
返回活動模式的時間:EMF32 = 1個時鐘周期。
深度睡眠 - (EFM32稱為“EM2”) - 使MCU的關(guān)鍵元件保持活動狀態(tài),同時禁用高頻系統(tǒng)時鐘和其他非必要負載。在此模式下:
高頻MCU振蕩器關(guān)閉。
用于為片上外設(shè)提供時鐘的32.768 kHz低頻振蕩器保持接通,允許選擇低頻能源功能保持運作。 (包括LCD驅(qū)動器,RTC,看門狗定時器,低功耗UART(LEUART),觸摸感應(yīng)接口和I2C/USB總線)。
上電復(fù)位,欠壓檢測電路
完全保留RAM和CPU寄存器允許MCU快速返回活動狀態(tài)并快速恢復(fù)程序。
功耗:EMF32 =低至900 nA( RTC從精確的時鐘源運行)1;典型的等效32位MCU =10μA至50μA。
返回活動模式的時間:EMF32 =2μs;典型的等效32位MCU =5μs至8μs。
停止 - (EFM32稱為“EM3”)更深層次的深度睡眠模式這可以進一步節(jié)省電力,同時保持有限的自主外圍設(shè)備活動和快速喚醒。在此模式下:
禁用高頻和低頻振蕩器。
保留MCU的指針和配置寄存器的狀態(tài)。
保留全部RAM內(nèi)容。
上電復(fù)位,引腳復(fù)位EM4喚醒和欠壓檢測器保持活動狀態(tài)。
CPU可以被異步外部中斷或幾個內(nèi)部源喚醒,包括其模擬比較器(ACMP),脈沖計數(shù)器(PCNT),以及由I2C主設(shè)備尋址時。
EFM32在EM2和EM3狀態(tài)下都保留了完整的內(nèi)部存儲器,而在某些類似的MCU中存儲器丟失。
功耗:EFM32 =0.59μA;典型的等效32位MCU =10μA至30μA。
返回活動模式的時間:EMF32 =2μs;典型的等效32位MCU =5μs至8μs。
關(guān)閉 - (在EFM32中稱為EM4或“關(guān)閉模式”) - 此“附近” -death“state保留了觸發(fā)外部激勵喚醒所需的最低功能。節(jié)能是以更長的喚醒時間為代價的。在這種模式下:
除復(fù)位引腳上的中斷監(jiān)控電路,GPIO引腳喚醒和實時計數(shù)器外,所有功能和時鐘都掉電。
重啟需要器件復(fù)位或中斷以及冷啟動MCU內(nèi)核和高頻RC振蕩器,必須在CPU執(zhí)行第一條指令之前上電并穩(wěn)定。
與大多數(shù)MCU一樣,EFM32的寄存器和主存儲器內(nèi)容是丟失了,必須重新加載。但是,EFM32包含一個512字節(jié)的內(nèi)存塊,即使在此狀態(tài)下也會保留。
除GPIO引腳分配外,所有器件配置信息都會丟失。
功耗,EFM32 = 20 nA(運行RTC時為400 nA);典型的等效32位MCU =1.5μA。
處理器從關(guān)閉模式返回活動模式的時間:EFM32為160μs。
備用電池模式 - 獨特的Energy Micro功能。此模式為截止模式提供了一種有吸引力的替代方案,可以保留一些更重要的功能并實現(xiàn)更快的喚醒。它通常僅在主電源發(fā)生故障且系統(tǒng)處于備用電源時使用。在此模式下:
RTC保持活動狀態(tài)。
保留CPU RAM的選定512字節(jié)塊。
MCU僅繪制400 nA - 這種模式下的Energy Micro EFM32 MCU需要大約7年的時間才能消耗大約25%的AA電池容量(每個電容降至1000 mAh)。
雖然通常使用對于備份/電池更換操作,EM3A可能是某些應(yīng)用的關(guān)閉模式的絕佳替代方案。
哪種睡眠模式?
一旦理解了每個MCU休眠模式的喚醒時間和功率電平,就可以相對輕松地找到能夠最大限度節(jié)省功耗的電源,同時確保您的設(shè)計能夠快速響應(yīng)到實時事件。選擇過程包括仔細研究目標(biāo)應(yīng)用程序,系統(tǒng)和支持它的MCU的幾個方面。例如,我們將使用電池供電的模塊來監(jiān)控貨運集裝箱在運輸過程中遇到的情況(圖3):
圖3:這種商用集裝箱監(jiān)視器安裝在集裝箱的主門上。它使用低功耗MCU記錄GPS坐標(biāo),溫度(可選),沖擊/振動,門開啟以及可能指示篡改的事件。由Starcom Systems提供。
列出應(yīng)用程序生成的所有警報/警報條件,并確定它在注冊之前能夠容忍的最短時間。
容器監(jiān)視器通常是配備GPS接收器,溫度傳感器,接觸開關(guān)以檢測篡改,加速度計用于測量沿途發(fā)生的顛簸,顛簸和沖擊。根據(jù)應(yīng)用的要求,它通常還配備一個或多個無線電接口。
在正常情況下,MCU大多數(shù)時間將保持睡眠模式,每10或15天出現(xiàn)幾毫秒分鐘記錄溫度條件。來自篡改檢測開關(guān)的活動確實需要實時關(guān)注,但是對該事件的及時響應(yīng)的窗口是在幾百毫秒甚至幾秒內(nèi)測量的。但是,處理器必須能夠在加速度計輸入超過預(yù)編程閾值水平的毫秒或更短的時間內(nèi)喚醒并開始測量沖擊和振動水平。
對于每個待機,睡眠和深度睡眠模式,將產(chǎn)生警報或警報條件的時間與MCU準(zhǔn)備開始參與之間所涉及的所有延遲相加。
繼續(xù)運輸容器監(jiān)視器的示例,我們可以假設(shè)加速度計檢測/比較器電路幾乎沒有或沒有延遲,但是,根據(jù)它所處的睡眠模式,MCU將經(jīng)歷幾微秒到幾百毫秒的延遲。它可以開始關(guān)注喚醒它的警報事件。
添加服務(wù)警報/警報條件所需代碼的執(zhí)行時間,以獲得關(guān)鍵事件與MCU響應(yīng)時間之間的總延遲。
這部分應(yīng)用程序代碼的長度因應(yīng)用程序而異。它還取決于MCU是否必須通過中斷服務(wù)程序(ISR)或直接跳轉(zhuǎn)到處理手頭事件的代碼。比較每種睡眠模式的最大響應(yīng)時間,并確定落在應(yīng)用程序最大容許延遲范圍內(nèi)的最低功耗模式。
驗證您是否處于睡眠模式選中具有您需要的資源。例如,如果應(yīng)用程序需要RTC,則不能低于深度睡眠。
如果您選擇的睡眠模式無法提供所需的電池壽命,則有您可以使用其他幾種技術(shù)來微調(diào)您的設(shè)計,這將在下一節(jié)中介紹。
其他最小化CPU活動的策略
盡管它們很重要,但睡眠模式只是電源管理方程中的一個變量。與任何復(fù)雜的等式一樣,睡眠模式如何用于特定解決方案取決于其伴隨變量。下面列出的策略是如何使用這些其他變量來充分利用MCU睡眠模式的示例。
確定應(yīng)用程序所需的常規(guī)低級功能并識別MCU架構(gòu)使用不需要CPU干預(yù)的片上硬件可以處理盡可能多的數(shù)據(jù)。除了大多數(shù)MCU上的計數(shù)器/定時器/RTC功能外,一些高級架構(gòu)(包括Energy Micro)處理:
A/D轉(zhuǎn)換和自主數(shù)據(jù)收集
監(jiān)控報警閾值(模擬
硬件加速加密/解密
顯示控制/刷新
觸摸屏管理
如果您使用的MCU可以自主地在內(nèi)部和外部外圍設(shè)備之間進行內(nèi)存?zhèn)鬏敽推渌聞?wù)處理,請務(wù)必充分利用它。例如,可以自主接收和緩沖數(shù)據(jù)包到存儲器的I2C總線收發(fā)器或UART允許MCU保持在睡眠模式,直到實際需要對傳入消息采取措施。某些MCU的外圍設(shè)備需要外部硬件或CPU干預(yù)。
如果您的MCU基于ARM Cortex架構(gòu),您可以通過使用可選配置縮短CPU響應(yīng)時間,該配置可讓CPU在中斷時喚醒請求并直接跳轉(zhuǎn)到應(yīng)用程序代碼。跳過中斷服務(wù)程序(ISR)會從MCU的響應(yīng)時間以及與ISR相關(guān)的任何其他代碼開銷中減少12個時鐘周期。
選擇適合您應(yīng)用的處理器時鐘速度是另一種工具,可用于微調(diào)設(shè)計的工作功率和在睡眠模式下花費的時間。在許多情況下,導(dǎo)致總能耗最低的處理器速度可能不是最慢的時鐘速度。
更快地運行設(shè)備以節(jié)省能源的想法可能看起來違反直覺,但是半導(dǎo)體的能量消耗是其靜態(tài)消耗(無論時鐘頻率如何都存在)的總和,其有效消耗(隨著工作速度(MIPS/μW)而增加)通常隨著時鐘頻率的增加而下降。因此,如果我們假設(shè)時鐘頻率加倍意味著將CPU完成任務(wù)(圖4a)所需的時間縮短一半或更多,則動態(tài)功耗的增加會被減少的處理時間所抵消,而靜態(tài)功耗則適用于較短的時間段將被大致切割相同的百分比(圖4b)。
圖4:使用更快的時鐘速度來減少MCU的執(zhí)行時間可以降低其整體功耗。
通過最大化有線和無線鏈路的傳輸速度,通常可以實現(xiàn)額外的節(jié)能。這是因為許多有線(電力線,以太網(wǎng)等)和無線(Wi-Fi,ZigBee等)的PHY通常比MCU本身消耗更多或更多的功率。除非有其他考慮因素(例如更高傳輸速率下更長的鏈路協(xié)商時間),否則可以通過確保處理器的時鐘速度足以使其以收發(fā)器的最大可用發(fā)送/接收速率處理數(shù)據(jù)來最小化收發(fā)器的功耗。/p>
RTOS問題
這里討論的大多數(shù)應(yīng)用程序使用“主循環(huán)”式架構(gòu),其時間關(guān)鍵子程序由實時時鐘或外圍I/O元件產(chǎn)生的中斷驅(qū)動。一些嵌入式代碼仍然在匯編級別編寫,但更強大的MCU,改進的編譯器和高級軟件工具使得用C/C ++或類似的高級語言編寫許多應(yīng)用程序成為可能。
此外,越來越多的低功耗設(shè)計使用實時操作系統(tǒng)(RTOS)通過確保對預(yù)定和非預(yù)定事件的確定性響應(yīng)來馴服可能不守規(guī)矩的應(yīng)用程序。
C和RTOS都提供了優(yōu)勢實時嵌入式應(yīng)用程序,包括簡化的開發(fā)和代碼,往往更加健壯。生成的代碼結(jié)構(gòu)還可以對將來的升級進行穩(wěn)定的代碼修改。最后,RTOS提供的定義良好的層和接口允許它使用有用的中間件,如網(wǎng)絡(luò)堆棧和I/O驅(qū)動程序。
盡管有這些優(yōu)點,但RTOS還存在一些問題,使它們無法在這里討論的應(yīng)用程序常見的輕量級,功耗受限的環(huán)境中得到更廣泛的應(yīng)用。最明顯的是,RTOS通常需要32位MCU,這些MCU通常需要比這些應(yīng)用中常用的8位或16位MCU大得多的能量預(yù)算。
運行RTOS也引起了人們的關(guān)注關(guān)于它是否需要使用MCU內(nèi)的硬件模塊(例如定時器或?qū)崟r時鐘),這些硬件模塊可能在其較深的睡眠狀態(tài)下不可用。大多數(shù)RTOS都提供有限或不支持睡眠模式的功能,但有一小部分,但越來越多的產(chǎn)品適合睡眠模式,包括AVIX-RT和FreeRTOS。
AVIX擁有最快的基準(zhǔn)測試分?jǐn)?shù)之一在業(yè)界,低延遲和非常輕的內(nèi)存占用。它可用于大多數(shù)基于ARM Cortex-M3 32位處理器以及其他幾種處理器的MCU,但它經(jīng)過專門優(yōu)化,可充分利用EFM32的低能耗模式。
FreeRTOS是一種用于微控制器的開源跨平臺操作系統(tǒng)標(biāo)準(zhǔn),支持28個架構(gòu)和17個工具鏈。它可以免費下載,免費部署,可以在商業(yè)應(yīng)用程序中使用,無需公開您的專有源代碼。它也可以作為OpenRTOS獲得,這是一個商業(yè)許可和支持的版本,包括功能齊全的專業(yè)級USB,文件系統(tǒng)和TCP/IP組件。
雖然兩種RTOS產(chǎn)品都支持多種MCU架構(gòu),但Energy Micro的EFM32系列有一些建筑特征可以幫助他們充分利用其低能耗模式,這將在下一節(jié)中討論。
能源微優(yōu)勢
到目前為止,大多數(shù)技術(shù)和設(shè)計實踐都適用于任何專為能量約束應(yīng)用而設(shè)計的MCU。在本節(jié)中,我們將詳細介紹Energy Micro的EFM32架構(gòu)中的一些特性,使其成為傳統(tǒng)和基于RTOS的嵌入式應(yīng)用中最節(jié)能的MCU。
所有成員EFM32系列配備了豐富的模擬和數(shù)字外圍元件(圖5)。這些元件中的大多數(shù)是所謂的自主外設(shè)(AP),其可以在沒有CPU干預(yù)的情況下工作并且在一個或多個睡眠模式中保持活動。這與大多數(shù)MCU形成鮮明對比,其最低節(jié)能模式僅支持非?;镜谋3只顒庸δ?,如GPIO喚醒和RTC操作。
圖5:EFM32 MCU的這個帶注釋的框圖說明了在每種低功耗模式下有多少外設(shè)可用。由Energy Micro提供。
除大多數(shù)MCU上的計數(shù)器/定時器,ADC/DAC GPIO和串行通信外,Energy Micro對AP的補充包括:
電容式感應(yīng)處理器 - 感應(yīng)觸摸板接觸和坐標(biāo)在沒有CPU的n×n網(wǎng)格內(nèi)(最多16個點)。保持活動狀態(tài)直至EM2能量模式。
LCD驅(qū)動程序 - 可通過內(nèi)存中的DMA驅(qū)動數(shù)字LCD或TFT顯示器,無需CPU。
模擬比較器 - 啟用警報閾值電壓監(jiān)控/沒有CPU干預(yù)的報警條件。
帶DMA的低功耗UART(LEUART)可以在接收大量數(shù)據(jù)的同時保留在EM2中而不會喚醒CPU。
大多數(shù)外圍功能的活動,包括串行通信,計數(shù)器/定時器,模擬和數(shù)字比較器以及更高級別的I/O,都由一個單獨的低功耗反射總線協(xié)調(diào)。來自一個外設(shè)的事件和信號可以用作其他外設(shè)的輸入信號或觸發(fā)信號,并確保時序關(guān)鍵操作和降低的軟件開銷。這些先進的功能使Energy Micro的EFM32系列MCU能夠?qū)?2位器件的計算能力帶入應(yīng)用,同時消耗的能量與典型的16位產(chǎn)品相同(通常更少)。
EFM32還具有允許RTOS以高效方式運行并充分利用其節(jié)能睡眠/深度睡眠模式的功能。一些最重要的功能包括:
許多EFM32的時鐘和計數(shù)器都可用于睡眠(EM1),深度睡眠(EM2)和停止(EM3)模式,包括備份實時時鐘。這大大減少了RTOS用于維護其時序參考的處理器開銷量。
在休眠(EM1),深度休眠(EM2)和停止時保留活動存儲器,CPU指針和配置寄存器(EM3)模式大大減少了MCU返回其運行(EM0)模式所需的時間和代碼開銷。
更輕的代碼和更快的執(zhí)行速度使RTOS能夠透明地運行應(yīng)用程序。
即使RTOS強加了不可避免的額外開銷,EFM32的32位RISC內(nèi)核也可以更快地執(zhí)行,增強的睡眠模式功能可以大大減少它在活動模式下的時間。在許多應(yīng)用中,這些功能使其能夠享受等于或低于許多16位MCU的總能量預(yù)算。
結(jié)論
實現(xiàn)最長電池壽命對于您的嵌入式系統(tǒng)仍然需要一些反復(fù)試驗,但本文中介紹的技術(shù)可以幫助您最大限度地縮短在實時響應(yīng)和節(jié)能之間找到適合您應(yīng)用的平衡所需的時間。這里所展示的大部分內(nèi)容都可以應(yīng)用于當(dāng)今市場上的任何低功耗MCU,但Energy Micro的EFM32 Gecko系列在所有模式下提供快速喚醒,低功耗和高功能的組合。它是許多應(yīng)用的最佳選擇。
希望本文還激起了您對在低功耗嵌入式應(yīng)用中使用RTOS的興趣。雖然并非所有應(yīng)用都能從RTOS中受益,但Energy Micro的高級架構(gòu)確保功耗不再是需要RTOS提供的穩(wěn)定性,可管理性和確定性性能的設(shè)計的障礙。
腳注:
在以下條件下測量深度睡眠(EM2)模式下EFM32的待機電流:電源= 3 V,環(huán)境溫度= 25°C < br>測量整個微控制器和任何外部振蕩器的典型工作電流,包括RTC(在內(nèi)部精密振蕩器上運行),欠壓檢測,全RAM和寄存器保持有效。深度休眠(EM2)RTC模式下的電流是使用內(nèi)部32 kHz低頻振蕩器運行的RTC測量的。
-
微控制器
+關(guān)注
關(guān)注
48文章
7459瀏覽量
150861 -
無線傳感器
+關(guān)注
關(guān)注
15文章
769瀏覽量
98282 -
智能電表
+關(guān)注
關(guān)注
25文章
927瀏覽量
108775
發(fā)布評論請先 登錄
相關(guān)推薦
評論