0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

可最大限度延長電池壽命的睡眠模式技術(shù)

電子設(shè)計(jì) ? 來源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-03-06 08:31 ? 次閱讀

無論是用于智能電表,無線傳感器節(jié)點(diǎn)還是移動(dòng)健康監(jiān)測(cè)產(chǎn)品,微控制器都是許多實(shí)時(shí)應(yīng)用的核心,這些應(yīng)用要求對(duì)現(xiàn)實(shí)事件做出及時(shí)響應(yīng)。在許多這些應(yīng)用中,微控制器(MCU)依賴于復(fù)雜的睡眠模式技術(shù),這些技術(shù)可以暫停大部分或全部操作,從而最大限度地降低能耗,使其能夠在有限的能源上運(yùn)行數(shù)年甚至數(shù)十年。這些實(shí)時(shí)環(huán)境給設(shè)計(jì)人員和程序員帶來了特殊的挑戰(zhàn),因?yàn)榻档蚆CU能耗的相同睡眠狀態(tài)通常也會(huì)降低其快速響應(yīng)事件的能力。

本文將幫助您理解您需要的技術(shù)和架構(gòu)功能可確保您的傳感器/控制網(wǎng)絡(luò)能夠可靠地支持其所有實(shí)時(shí)任務(wù),同時(shí)最大限度地延長電池壽命。

新應(yīng)用需要較長的使用壽命

低成本,高能效的嵌入式處理器和智能對(duì)象技術(shù)的出現(xiàn)推動(dòng)了智能建筑/智能家居,智能電網(wǎng),安全,環(huán)境監(jiān)測(cè)和能源管理系統(tǒng)等應(yīng)用的智能分布式網(wǎng)絡(luò)的發(fā)展。同樣的技術(shù)也被用于為智能電表等現(xiàn)有產(chǎn)品增加智能,用于能源,天然氣和水的分配以及健康,健身和便攜式醫(yī)療設(shè)備。雖然操作和設(shè)計(jì)要求差異很大,但所有這些應(yīng)用必須使用其電池或能量收集系統(tǒng)提供的有限能源資源可靠運(yùn)行多年。

AA堿性電池通常用于為許多分布式系統(tǒng)元件供電初始容量為1500-2500 mAh,但當(dāng)考慮到其自放電率時(shí),設(shè)計(jì)人員應(yīng)該可以使用大約1000 mAh的電池,使用時(shí)間超過電池標(biāo)稱的5 - 7年使用壽命(圖1)。

可最大限度延長電池壽命的睡眠模式技術(shù)

圖1:AA/LR6堿性電池的保質(zhì)期與溫度的關(guān)系。由Energizer Battery Manufacturing Inc.提供

一些埋藏或難以接近的應(yīng)用(如智能無線水表和煤氣表)面臨更大的挑戰(zhàn)。為了達(dá)到10 - 20年的使用壽命,他們使用具有專門的低泄漏化學(xué)品的電池。因此,必須積極調(diào)整儀表的能源預(yù)算,以保持在全球市場(chǎng)中具有競(jìng)爭(zhēng)力的價(jià)格。

對(duì)于這些應(yīng)用,功耗預(yù)算為5-20μA(平均/穩(wěn)態(tài))并不罕見)。典型設(shè)計(jì)可能具有能量預(yù)算,可分配20%的可用容量來傳輸活動(dòng),30%用于接收命令,20%用于數(shù)據(jù)收集和系統(tǒng)維護(hù)。這樣只剩下30%的電池容量來支持系統(tǒng)的睡眠/空閑模式,它將占用超過99%的壽命。同樣,依賴于熱能或光伏能量收集系統(tǒng)的分布式傳感器網(wǎng)絡(luò)中的無線節(jié)點(diǎn)必須依賴于1-2 mAh/天的能量預(yù)算。

管理mcu喚醒時(shí)間至關(guān)重要

如果功能受限的應(yīng)用程序得到正確實(shí)施,大多數(shù)能源密集型子系統(tǒng)(RF和PHY層收發(fā)器,顯示器等......)已經(jīng)設(shè)計(jì)為僅在其活動(dòng)狀態(tài)下花費(fèi)盡可能多的時(shí)間,因此它們需要可能是MCU代表了優(yōu)化系統(tǒng)總功率預(yù)算的最佳機(jī)會(huì)之一。通過充分利用MCU的待機(jī)和休眠模式,可以實(shí)現(xiàn)大部分額外的節(jié)能。

大多數(shù)現(xiàn)代MCU具有多種低功耗模式(通常為“睡眠/待機(jī)”,“深度睡眠“和”關(guān)閉“),具有不同級(jí)別的CPU,內(nèi)存和I/O功能。 “睡眠/空閑”和“深度睡眠”模式的具體功能因處理器而異,但所涉及的一般原則基本相同。
一般來說,睡眠越深,MCU消耗的功率越少。

然而,由于從較深的睡眠模式喚醒需要更多時(shí)間,因此節(jié)省電力是有代價(jià)的。影響喚醒時(shí)間的一些因素包括:

喚醒電路中的滯后和傳播延遲

MCU內(nèi)核電源管理的啟動(dòng)和穩(wěn)定

重新啟動(dòng)并穩(wěn)定CPU時(shí)鐘電路

恢復(fù)處理器的寄存器和其他內(nèi)部配置

恢復(fù)系統(tǒng)內(nèi)存

服務(wù)所需的CPU周期觸發(fā)重啟的中斷

實(shí)時(shí)響應(yīng)與節(jié)能

如果主處理器必須處理的所有事件,實(shí)現(xiàn)低功耗操作相對(duì)容易是可以預(yù)測(cè)的。如果節(jié)能是唯一的問題,系統(tǒng)將默認(rèn)為“關(guān)閉/關(guān)閉模式”。在這種情況下,處理器可以在編程實(shí)時(shí)時(shí)鐘(或其他時(shí)序邏輯)之后進(jìn)入掉電模式,以足夠早地觸發(fā)喚醒過程,以確保它為下一個(gè)事件做好準(zhǔn)備。需要處理器進(jìn)入其活動(dòng)模式的更可預(yù)測(cè)事件的一些示例包括:

許多使用ZigBee/802.15,Wi-Fi和其他無線技術(shù)的應(yīng)用都需要時(shí)隙協(xié)議,這些協(xié)議要求主處理器定期檢查來自其他網(wǎng)絡(luò)節(jié)點(diǎn)的消息。

Real-時(shí)鐘中斷與系統(tǒng)相關(guān)的任務(wù),定期計(jì)劃的收集數(shù)據(jù)到達(dá)以及其他可預(yù)測(cè)的外部事件。

不幸的是,上一節(jié)中描述的大多數(shù)應(yīng)用程序也需要MCU來實(shí)時(shí)響應(yīng)計(jì)劃外事件 - 或至少半實(shí)時(shí)響應(yīng)。這些事件的示例包括:

運(yùn)動(dòng)/加速度數(shù)據(jù),閾值/警報(bào)條件,電源中斷以及其他重要的非計(jì)劃事件可能要求主機(jī)處理器在幾毫秒或幾微秒內(nèi)響應(yīng)以防止系統(tǒng)損壞或避免丟失關(guān)鍵數(shù)據(jù)。

某些有線和無線協(xié)議以隨機(jī)間隔傳輸,要求處理器或?qū)S脽o線電控制器隨時(shí)準(zhǔn)備好響應(yīng)傳入的數(shù)據(jù)包。/li>

從這些示例中,很容易看出,如果您選擇的睡眠模式太深,MCU恢復(fù)正常運(yùn)行可能需要很長時(shí)間才能及時(shí)響應(yīng)觸發(fā)的任何內(nèi)容喚醒狀態(tài)。缺少警報(bào)/警報(bào)可能意味著丟失關(guān)鍵數(shù)據(jù),對(duì)用戶命令的響應(yīng)速度慢得令人無法接受,或者損害整個(gè)網(wǎng)絡(luò)的響應(yīng)時(shí)間。

低功耗rtos - 創(chuàng)新還是矛盾?

< p>進(jìn)一步使問題復(fù)雜化的是實(shí)時(shí)操作系統(tǒng)(RTOS),它們開始在一些嵌入式應(yīng)用中獲得認(rèn)可,因?yàn)樗鼈兛梢詾樵O(shè)計(jì)帶來確定性行為和簡(jiǎn)化的編程。除了它的優(yōu)點(diǎn)外,RTOS還帶來了另一層次的技術(shù)挑戰(zhàn)。希望實(shí)現(xiàn)RTOS的設(shè)計(jì)人員必須解決到目前為止所討論的所有問題,但他們還必須牢記:

許多RTOS要求MCU處于活動(dòng)狀態(tài)(或至少處于待機(jī)狀態(tài))狀態(tài)和只有少數(shù)(如AVIX和FreeRTOS)可以在深度睡眠/關(guān)閉模式下支持它們。

RTOS通常會(huì)帶來額外的開銷,無論是代碼大小,更重要的是,從休眠模式恢復(fù)或執(zhí)行微秒重要的其他任務(wù)所需的指令數(shù)。

幸運(yùn)的是,良好的硬件設(shè)計(jì)和智能編碼實(shí)踐可以讓許多人在RTOS中享受到RTOS帶來的好處。能量受限的應(yīng)用。開發(fā)低功耗RTOS驅(qū)動(dòng)系統(tǒng)所涉及的一些基本問題將在本文末尾進(jìn)行討論。

仔細(xì)研究睡眠

優(yōu)化低功耗嵌入式設(shè)計(jì)的主要方法之一是找到仍然能夠?qū)?shí)時(shí)事件提供足夠響應(yīng)的最低睡眠模式。在我們完成確定最適合特定應(yīng)用的睡眠模式所需的步驟之前,了解MCU的功耗,可用功能以及返回活動(dòng)狀態(tài)所需的時(shí)間非常有用。每個(gè)待機(jī)/休眠模式。

為了說明每種休眠模式狀態(tài)的特性,我們將使用Energy Micro的EFM32“Gecko”系列能量?jī)?yōu)化32位MCU。盡管Gecko架構(gòu)已經(jīng)過優(yōu)化,可以超越每種模式的基本要求,但大多數(shù)用于這些類型應(yīng)用的MCU都具有相似的工作狀態(tài)和特性(圖2)。

注意:許多MCU架構(gòu)都有單個(gè)“深度睡眠”模式,包括EFM32的EM2和EM3能量狀態(tài)的一些功能。

可最大限度延長電池壽命的睡眠模式技術(shù)

圖2:EFM32系列的能量模式轉(zhuǎn)換。由Energy Micro提供。

睡眠/待機(jī) - (EFM32稱為“EM1”) - 允許快速返回活動(dòng)模式(通常通過中斷),代價(jià)是功耗稍高一點(diǎn)。在此模式下:

高頻時(shí)鐘MCU振蕩器仍在運(yùn)行,但CPU時(shí)鐘樹已禁用。這使得CPU能夠在喚醒觸發(fā)后的下一個(gè)時(shí)鐘周期內(nèi)恢復(fù)執(zhí)行指令。

高頻外設(shè)時(shí)鐘樹處于活動(dòng)狀態(tài),允許高速外設(shè),如DMA,高速UART/USART,ADC/DAC和AES加密/解密以自動(dòng)運(yùn)行。

32.768 kHz低頻振蕩器保持開啟狀態(tài),允許低速外設(shè)保持運(yùn)行。

MCU的保留了指針和配置寄存器的狀態(tài),無需在掉電時(shí)保存或在上電時(shí)恢復(fù)。保持寄存器內(nèi)容不變通??梢詾槊看螁拘压?jié)省數(shù)百到數(shù)千個(gè)指令周期。

隨機(jī)存取存儲(chǔ)器保持活動(dòng)狀態(tài),可以通過DMA訪問。

功耗:EMF32 =45μA/MHz;典型等效32位MCU =200μA

返回活動(dòng)模式的時(shí)間:EMF32 = 1個(gè)時(shí)鐘周期。

深度睡眠 - (EFM32稱為“EM2”) - 使MCU的關(guān)鍵元件保持活動(dòng)狀態(tài),同時(shí)禁用高頻系統(tǒng)時(shí)鐘和其他非必要負(fù)載。在此模式下:

高頻MCU振蕩器關(guān)閉。

用于為片上外設(shè)提供時(shí)鐘的32.768 kHz低頻振蕩器保持接通,允許選擇低頻能源功能保持運(yùn)作。 (包括LCD驅(qū)動(dòng)器,RTC,看門狗定時(shí)器,低功耗UART(LEUART),觸摸感應(yīng)接口I2C/USB總線)。

上電復(fù)位,欠壓檢測(cè)電路

完全保留RAM和CPU寄存器允許MCU快速返回活動(dòng)狀態(tài)并快速恢復(fù)程序。

功耗:EMF32 =低至900 nA( RTC從精確的時(shí)鐘源運(yùn)行)1;典型的等效32位MCU =10μA至50μA。

返回活動(dòng)模式的時(shí)間:EMF32 =2μs;典型的等效32位MCU =5μs至8μs。

停止 - (EFM32稱為“EM3”)更深層次的深度睡眠模式這可以進(jìn)一步節(jié)省電力,同時(shí)保持有限的自主外圍設(shè)備活動(dòng)和快速喚醒。在此模式下:

禁用高頻和低頻振蕩器。

保留MCU的指針和配置寄存器的狀態(tài)。

保留全部RAM內(nèi)容。

上電復(fù)位,引腳復(fù)位EM4喚醒和欠壓檢測(cè)器保持活動(dòng)狀態(tài)。

CPU可以被異步外部中斷或幾個(gè)內(nèi)部源喚醒,包括其模擬比較器ACMP),脈沖計(jì)數(shù)器(PCNT),以及由I2C主設(shè)備尋址時(shí)。

EFM32在EM2和EM3狀態(tài)下都保留了完整的內(nèi)部存儲(chǔ)器,而在某些類似的MCU中存儲(chǔ)器丟失。

功耗:EFM32 =0.59μA;典型的等效32位MCU =10μA至30μA。

返回活動(dòng)模式的時(shí)間:EMF32 =2μs;典型的等效32位MCU =5μs至8μs。

關(guān)閉 - (在EFM32中稱為EM4或“關(guān)閉模式”) - 此“附近” -death“state保留了觸發(fā)外部激勵(lì)喚醒所需的最低功能。節(jié)能是以更長的喚醒時(shí)間為代價(jià)的。在這種模式下:

除復(fù)位引腳上的中斷監(jiān)控電路,GPIO引腳喚醒和實(shí)時(shí)計(jì)數(shù)器外,所有功能和時(shí)鐘都掉電。

重啟需要器件復(fù)位或中斷以及冷啟動(dòng)MCU內(nèi)核和高頻RC振蕩器,必須在CPU執(zhí)行第一條指令之前上電并穩(wěn)定。

與大多數(shù)MCU一樣,EFM32的寄存器和主存儲(chǔ)器內(nèi)容是丟失了,必須重新加載。但是,EFM32包含一個(gè)512字節(jié)的內(nèi)存塊,即使在此狀態(tài)下也會(huì)保留。

除GPIO引腳分配外,所有器件配置信息都會(huì)丟失。

功耗,EFM32 = 20 nA(運(yùn)行RTC時(shí)為400 nA);典型的等效32位MCU =1.5μA。

處理器從關(guān)閉模式返回活動(dòng)模式的時(shí)間:EFM32為160μs。

備用電池模式 - 獨(dú)特的Energy Micro功能。此模式為截止模式提供了一種有吸引力的替代方案,可以保留一些更重要的功能并實(shí)現(xiàn)更快的喚醒。它通常僅在主電源發(fā)生故障且系統(tǒng)處于備用電源時(shí)使用。在此模式下:

RTC保持活動(dòng)狀態(tài)。

保留CPU RAM的選定512字節(jié)塊。

MCU僅繪制400 nA - 這種模式下的Energy Micro EFM32 MCU需要大約7年的時(shí)間才能消耗大約25%的AA電池容量(每個(gè)電容降至1000 mAh)。

雖然通常使用對(duì)于備份/電池更換操作,EM3A可能是某些應(yīng)用的關(guān)閉模式的絕佳替代方案。

哪種睡眠模式?

一旦理解了每個(gè)MCU休眠模式的喚醒時(shí)間和功率電平,就可以相對(duì)輕松地找到能夠最大限度節(jié)省功耗的電源,同時(shí)確保您的設(shè)計(jì)能夠快速響應(yīng)到實(shí)時(shí)事件。選擇過程包括仔細(xì)研究目標(biāo)應(yīng)用程序,系統(tǒng)和支持它的MCU的幾個(gè)方面。例如,我們將使用電池供電的模塊來監(jiān)控貨運(yùn)集裝箱在運(yùn)輸過程中遇到的情況(圖3):

可最大限度延長電池壽命的睡眠模式技術(shù)

圖3:這種商用集裝箱監(jiān)視器安裝在集裝箱的主門上。它使用低功耗MCU記錄GPS坐標(biāo),溫度(可選),沖擊/振動(dòng),門開啟以及可能指示篡改的事件。由Starcom Systems提供。

列出應(yīng)用程序生成的所有警報(bào)/警報(bào)條件,并確定它在注冊(cè)之前能夠容忍的最短時(shí)間。

容器監(jiān)視器通常是配備GPS接收器,溫度傳感器,接觸開關(guān)以檢測(cè)篡改,加速度計(jì)用于測(cè)量沿途發(fā)生的顛簸,顛簸和沖擊。根據(jù)應(yīng)用的要求,它通常還配備一個(gè)或多個(gè)無線電接口。

在正常情況下,MCU大多數(shù)時(shí)間將保持睡眠模式,每10或15天出現(xiàn)幾毫秒分鐘記錄溫度條件。來自篡改檢測(cè)開關(guān)的活動(dòng)確實(shí)需要實(shí)時(shí)關(guān)注,但是對(duì)該事件的及時(shí)響應(yīng)的窗口是在幾百毫秒甚至幾秒內(nèi)測(cè)量的。但是,處理器必須能夠在加速度計(jì)輸入超過預(yù)編程閾值水平的毫秒或更短的時(shí)間內(nèi)喚醒并開始測(cè)量沖擊和振動(dòng)水平。

對(duì)于每個(gè)待機(jī),睡眠和深度睡眠模式,將產(chǎn)生警報(bào)或警報(bào)條件的時(shí)間與MCU準(zhǔn)備開始參與之間所涉及的所有延遲相加。

繼續(xù)運(yùn)輸容器監(jiān)視器的示例,我們可以假設(shè)加速度計(jì)檢測(cè)/比較器電路幾乎沒有或沒有延遲,但是,根據(jù)它所處的睡眠模式,MCU將經(jīng)歷幾微秒到幾百毫秒的延遲。它可以開始關(guān)注喚醒它的警報(bào)事件。

添加服務(wù)警報(bào)/警報(bào)條件所需代碼的執(zhí)行時(shí)間,以獲得關(guān)鍵事件與MCU響應(yīng)時(shí)間之間的總延遲。

這部分應(yīng)用程序代碼的長度因應(yīng)用程序而異。它還取決于MCU是否必須通過中斷服務(wù)程序(ISR)或直接跳轉(zhuǎn)到處理手頭事件的代碼。比較每種睡眠模式的最大響應(yīng)時(shí)間,并確定落在應(yīng)用程序最大容許延遲范圍內(nèi)的最低功耗模式。

驗(yàn)證您是否處于睡眠模式選中具有您需要的資源。例如,如果應(yīng)用程序需要RTC,則不能低于深度睡眠。

如果您選擇的睡眠模式無法提供所需的電池壽命,則有您可以使用其他幾種技術(shù)來微調(diào)您的設(shè)計(jì),這將在下一節(jié)中介紹。

其他最小化CPU活動(dòng)的策略

盡管它們很重要,但睡眠模式只是電源管理方程中的一個(gè)變量。與任何復(fù)雜的等式一樣,睡眠模式如何用于特定解決方案取決于其伴隨變量。下面列出的策略是如何使用這些其他變量來充分利用MCU睡眠模式的示例。

確定應(yīng)用程序所需的常規(guī)低級(jí)功能并識(shí)別MCU架構(gòu)使用不需要CPU干預(yù)的片上硬件可以處理盡可能多的數(shù)據(jù)。除了大多數(shù)MCU上的計(jì)數(shù)器/定時(shí)器/RTC功能外,一些高級(jí)架構(gòu)(包括Energy Micro)處理:

A/D轉(zhuǎn)換和自主數(shù)據(jù)收集

監(jiān)控報(bào)警閾值(模擬

硬件加速加密/解密

顯示控制/刷新

觸摸屏管理

如果您使用的MCU可以自主地在內(nèi)部和外部外圍設(shè)備之間進(jìn)行內(nèi)存?zhèn)鬏敽推渌聞?wù)處理,請(qǐng)務(wù)必充分利用它。例如,可以自主接收和緩沖數(shù)據(jù)包到存儲(chǔ)器的I2C總線收發(fā)器或UART允許MCU保持在睡眠模式,直到實(shí)際需要對(duì)傳入消息采取措施。某些MCU的外圍設(shè)備需要外部硬件或CPU干預(yù)。

如果您的MCU基于ARM Cortex架構(gòu),您可以通過使用可選配置縮短CPU響應(yīng)時(shí)間,該配置可讓CPU在中斷時(shí)喚醒請(qǐng)求并直接跳轉(zhuǎn)到應(yīng)用程序代碼。跳過中斷服務(wù)程序(ISR)會(huì)從MCU的響應(yīng)時(shí)間以及與ISR相關(guān)的任何其他代碼開銷中減少12個(gè)時(shí)鐘周期。

選擇適合您應(yīng)用的處理器時(shí)鐘速度是另一種工具,可用于微調(diào)設(shè)計(jì)的工作功率和在睡眠模式下花費(fèi)的時(shí)間。在許多情況下,導(dǎo)致總能耗最低的處理器速度可能不是最慢的時(shí)鐘速度。

更快地運(yùn)行設(shè)備以節(jié)省能源的想法可能看起來違反直覺,但是半導(dǎo)體的能量消耗是其靜態(tài)消耗(無論時(shí)鐘頻率如何都存在)的總和,其有效消耗(隨著工作速度(MIPS/μW)而增加)通常隨著時(shí)鐘頻率的增加而下降。因此,如果我們假設(shè)時(shí)鐘頻率加倍意味著將CPU完成任務(wù)(圖4a)所需的時(shí)間縮短一半或更多,則動(dòng)態(tài)功耗的增加會(huì)被減少的處理時(shí)間所抵消,而靜態(tài)功耗則適用于較短的時(shí)間段將被大致切割相同的百分比(圖4b)。

可最大限度延長電池壽命的睡眠模式技術(shù)

圖4:使用更快的時(shí)鐘速度來減少M(fèi)CU的執(zhí)行時(shí)間可以降低其整體功耗。

通過最大化有線和無線鏈路的傳輸速度,通常可以實(shí)現(xiàn)額外的節(jié)能。這是因?yàn)樵S多有線(電力線,以太網(wǎng)等)和無線(Wi-Fi,ZigBee等)的PHY通常比MCU本身消耗更多或更多的功率。除非有其他考慮因素(例如更高傳輸速率下更長的鏈路協(xié)商時(shí)間),否則可以通過確保處理器的時(shí)鐘速度足以使其以收發(fā)器的最大可用發(fā)送/接收速率處理數(shù)據(jù)來最小化收發(fā)器的功耗。/p>

RTOS問題

這里討論的大多數(shù)應(yīng)用程序使用“主循環(huán)”式架構(gòu),其時(shí)間關(guān)鍵子程序由實(shí)時(shí)時(shí)鐘或外圍I/O元件產(chǎn)生的中斷驅(qū)動(dòng)。一些嵌入式代碼仍然在匯編級(jí)別編寫,但更強(qiáng)大的MCU,改進(jìn)的編譯器和高級(jí)軟件工具使得用C/C ++或類似的高級(jí)語言編寫許多應(yīng)用程序成為可能。

此外,越來越多的低功耗設(shè)計(jì)使用實(shí)時(shí)操作系統(tǒng)(RTOS)通過確保對(duì)預(yù)定和非預(yù)定事件的確定性響應(yīng)來馴服可能不守規(guī)矩的應(yīng)用程序。

C和RTOS都提供了優(yōu)勢(shì)實(shí)時(shí)嵌入式應(yīng)用程序,包括簡(jiǎn)化的開發(fā)和代碼,往往更加健壯。生成的代碼結(jié)構(gòu)還可以對(duì)將來的升級(jí)進(jìn)行穩(wěn)定的代碼修改。最后,RTOS提供的定義良好的層和接口允許它使用有用的中間件,如網(wǎng)絡(luò)堆棧和I/O驅(qū)動(dòng)程序。

盡管有這些優(yōu)點(diǎn),但RTOS還存在一些問題,使它們無法在這里討論的應(yīng)用程序常見的輕量級(jí),功耗受限的環(huán)境中得到更廣泛的應(yīng)用。最明顯的是,RTOS通常需要32位MCU,這些MCU通常需要比這些應(yīng)用中常用的8位或16位MCU大得多的能量預(yù)算。

運(yùn)行RTOS也引起了人們的關(guān)注關(guān)于它是否需要使用MCU內(nèi)的硬件模塊(例如定時(shí)器或?qū)崟r(shí)時(shí)鐘),這些硬件模塊可能在其較深的睡眠狀態(tài)下不可用。大多數(shù)RTOS都提供有限或不支持睡眠模式的功能,但有一小部分,但越來越多的產(chǎn)品適合睡眠模式,包括AVIX-RT和FreeRTOS。

AVIX擁有最快的基準(zhǔn)測(cè)試分?jǐn)?shù)之一在業(yè)界,低延遲和非常輕的內(nèi)存占用。它可用于大多數(shù)基于ARM Cortex-M3 32位處理器以及其他幾種處理器的MCU,但它經(jīng)過專門優(yōu)化,可充分利用EFM32的低能耗模式。

FreeRTOS是一種用于微控制器的開源跨平臺(tái)操作系統(tǒng)標(biāo)準(zhǔn),支持28個(gè)架構(gòu)和17個(gè)工具鏈。它可以免費(fèi)下載,免費(fèi)部署,可以在商業(yè)應(yīng)用程序中使用,無需公開您的專有源代碼。它也可以作為OpenRTOS獲得,這是一個(gè)商業(yè)許可和支持的版本,包括功能齊全的專業(yè)級(jí)USB,文件系統(tǒng)和TCP/IP組件。

雖然兩種RTOS產(chǎn)品都支持多種MCU架構(gòu),但Energy Micro的EFM32系列有一些建筑特征可以幫助他們充分利用其低能耗模式,這將在下一節(jié)中討論。

能源微優(yōu)勢(shì)

到目前為止,大多數(shù)技術(shù)和設(shè)計(jì)實(shí)踐都適用于任何專為能量約束應(yīng)用而設(shè)計(jì)的MCU。在本節(jié)中,我們將詳細(xì)介紹Energy Micro的EFM32架構(gòu)中的一些特性,使其成為傳統(tǒng)和基于RTOS的嵌入式應(yīng)用中最節(jié)能的MCU。

所有成員EFM32系列配備了豐富的模擬和數(shù)字外圍元件(圖5)。這些元件中的大多數(shù)是所謂的自主外設(shè)(AP),其可以在沒有CPU干預(yù)的情況下工作并且在一個(gè)或多個(gè)睡眠模式中保持活動(dòng)。這與大多數(shù)MCU形成鮮明對(duì)比,其最低節(jié)能模式僅支持非?;镜谋3只顒?dòng)功能,如GPIO喚醒和RTC操作。

圖5:EFM32 MCU的這個(gè)帶注釋的框圖說明了在每種低功耗模式下有多少外設(shè)可用。由Energy Micro提供。

除大多數(shù)MCU上的計(jì)數(shù)器/定時(shí)器,ADC/DAC GPIO和串行通信外,Energy Micro對(duì)AP的補(bǔ)充包括:

電容式感應(yīng)處理器 - 感應(yīng)觸摸板接觸和坐標(biāo)在沒有CPU的n×n網(wǎng)格內(nèi)(最多16個(gè)點(diǎn))。保持活動(dòng)狀態(tài)直至EM2能量模式。

LCD驅(qū)動(dòng)程序 - 可通過內(nèi)存中的DMA驅(qū)動(dòng)數(shù)字LCD或TFT顯示器,無需CPU。

模擬比較器 - 啟用警報(bào)閾值電壓監(jiān)控/沒有CPU干預(yù)的報(bào)警條件。

帶DMA的低功耗UART(LEUART)可以在接收大量數(shù)據(jù)的同時(shí)保留在EM2中而不會(huì)喚醒CPU。

大多數(shù)外圍功能的活動(dòng),包括串行通信,計(jì)數(shù)器/定時(shí)器,模擬和數(shù)字比較器以及更高級(jí)別的I/O,都由一個(gè)單獨(dú)的低功耗反射總線協(xié)調(diào)。來自一個(gè)外設(shè)的事件和信號(hào)可以用作其他外設(shè)的輸入信號(hào)或觸發(fā)信號(hào),并確保時(shí)序關(guān)鍵操作和降低的軟件開銷。這些先進(jìn)的功能使Energy Micro的EFM32系列MCU能夠?qū)?2位器件的計(jì)算能力帶入應(yīng)用,同時(shí)消耗的能量與典型的16位產(chǎn)品相同(通常更少)。

EFM32還具有允許RTOS以高效方式運(yùn)行并充分利用其節(jié)能睡眠/深度睡眠模式的功能。一些最重要的功能包括:

許多EFM32的時(shí)鐘和計(jì)數(shù)器都可用于睡眠(EM1),深度睡眠(EM2)和停止(EM3)模式,包括備份實(shí)時(shí)時(shí)鐘。這大大減少了RTOS用于維護(hù)其時(shí)序參考的處理器開銷量。

在休眠(EM1),深度休眠(EM2)和停止時(shí)保留活動(dòng)存儲(chǔ)器,CPU指針和配置寄存器(EM3)模式大大減少了MCU返回其運(yùn)行(EM0)模式所需的時(shí)間和代碼開銷。

更輕的代碼和更快的執(zhí)行速度使RTOS能夠透明地運(yùn)行應(yīng)用程序。

即使RTOS強(qiáng)加了不可避免的額外開銷,EFM32的32位RISC內(nèi)核也可以更快地執(zhí)行,增強(qiáng)的睡眠模式功能可以大大減少它在活動(dòng)模式下的時(shí)間。在許多應(yīng)用中,這些功能使其能夠享受等于或低于許多16位MCU的總能量預(yù)算。

結(jié)論

實(shí)現(xiàn)最長電池壽命對(duì)于您的嵌入式系統(tǒng)仍然需要一些反復(fù)試驗(yàn),但本文中介紹的技術(shù)可以幫助您最大限度地縮短在實(shí)時(shí)響應(yīng)和節(jié)能之間找到適合您應(yīng)用的平衡所需的時(shí)間。這里所展示的大部分內(nèi)容都可以應(yīng)用于當(dāng)今市場(chǎng)上的任何低功耗MCU,但Energy Micro的EFM32 Gecko系列在所有模式下提供快速喚醒,低功耗和高功能的組合。它是許多應(yīng)用的最佳選擇。

希望本文還激起了您對(duì)在低功耗嵌入式應(yīng)用中使用RTOS的興趣。雖然并非所有應(yīng)用都能從RTOS中受益,但Energy Micro的高級(jí)架構(gòu)確保功耗不再是需要RTOS提供的穩(wěn)定性,可管理性和確定性性能的設(shè)計(jì)的障礙。

腳注:

在以下條件下測(cè)量深度睡眠(EM2)模式下EFM32的待機(jī)電流:電源= 3 V,環(huán)境溫度= 25°C < br>測(cè)量整個(gè)微控制器和任何外部振蕩器的典型工作電流,包括RTC(在內(nèi)部精密振蕩器上運(yùn)行),欠壓檢測(cè),全RAM和寄存器保持有效。深度休眠(EM2)RTC模式下的電流是使用內(nèi)部32 kHz低頻振蕩器運(yùn)行的RTC測(cè)量的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7399

    瀏覽量

    150680
  • 無線傳感器
    +關(guān)注

    關(guān)注

    15

    文章

    768

    瀏覽量

    98271
  • 智能電表
    +關(guān)注

    關(guān)注

    25

    文章

    922

    瀏覽量

    108712
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    最大限度地減少TRF7964A和TRF7970A省電模式下的電流消耗

    電子發(fā)燒友網(wǎng)站提供《最大限度地減少TRF7964A和TRF7970A省電模式下的電流消耗.pdf》資料免費(fèi)下載
    發(fā)表于 10-26 10:57 ?0次下載
    <b class='flag-5'>最大限度</b>地減少TRF7964A和TRF7970A省電<b class='flag-5'>模式</b>下的電流消耗

    最大限度地提高M(jìn)SP430? FRAM的寫入速度

    電子發(fā)燒友網(wǎng)站提供《最大限度地提高M(jìn)SP430? FRAM的寫入速度.pdf》資料免費(fèi)下載
    發(fā)表于 10-18 10:09 ?0次下載
    <b class='flag-5'>最大限度</b>地提高M(jìn)SP430? FRAM的寫入速度

    如何在C2000設(shè)備中最大限度地利用GPIO

    電子發(fā)燒友網(wǎng)站提供《如何在C2000設(shè)備中最大限度地利用GPIO.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 13:40 ?0次下載
    如何在C2000設(shè)備中<b class='flag-5'>最大限度</b>地利用GPIO

    使用輸入電流限制延長電池壽命

    電子發(fā)燒友網(wǎng)站提供《使用輸入電流限制延長電池壽命.pdf》資料免費(fèi)下載
    發(fā)表于 09-04 10:07 ?0次下載
    使用輸入電流限制<b class='flag-5'>延長</b><b class='flag-5'>電池</b><b class='flag-5'>壽命</b>

    使用輸入電流限制技術(shù)延長電池壽命

    電子發(fā)燒友網(wǎng)站提供《使用輸入電流限制技術(shù)延長電池壽命.pdf》資料免費(fèi)下載
    發(fā)表于 08-30 11:46 ?0次下載
    使用輸入電流限制<b class='flag-5'>技術(shù)</b><b class='flag-5'>延長</b><b class='flag-5'>電池</b><b class='flag-5'>壽命</b>

    通過優(yōu)化補(bǔ)償最大限度地減少導(dǎo)通時(shí)間抖動(dòng)和紋波

    電子發(fā)燒友網(wǎng)站提供《通過優(yōu)化補(bǔ)償最大限度地減少導(dǎo)通時(shí)間抖動(dòng)和紋波.pdf》資料免費(fèi)下載
    發(fā)表于 08-26 11:34 ?0次下載
    通過優(yōu)化補(bǔ)償<b class='flag-5'>最大限度</b>地減少導(dǎo)通時(shí)間抖動(dòng)和紋波

    Nexperia推出能量平衡計(jì)算器,幫助能量采集進(jìn)一步延長電池壽命

    近日,Nexperia(安世半導(dǎo)體)宣布推出能量平衡計(jì)算器。這是一款功能強(qiáng)大的網(wǎng)絡(luò)工具,旨在幫助電池管理工程師最大限度延長其應(yīng)用的電池壽命
    的頭像 發(fā)表于 03-05 11:11 ?504次閱讀
    Nexperia推出能量平衡計(jì)算器,幫助能量采集進(jìn)一步<b class='flag-5'>延長</b><b class='flag-5'>電池</b><b class='flag-5'>壽命</b>

    如何降低LoRa模塊的功耗以延長電池壽命?

    一些方法,例如睡眠模式和低功耗設(shè)置,但我不確定是否有任何其他方法或技巧可以進(jìn)一步降低功耗。有人有經(jīng)驗(yàn)可以分享嗎?我需要知道如何在保持通信穩(wěn)定的同時(shí)最大限度地降低功耗。
    發(fā)表于 03-01 07:38

    快充對(duì)電池有傷害嗎 如何最大限度地減少快充對(duì)電池的影響

    快充對(duì)電池有傷害嗎 如何最大限度地減少快充對(duì)電池的影響 快速充電(也被稱為快充)是一種快速給手機(jī)電池充電的
    的頭像 發(fā)表于 02-19 10:01 ?1368次閱讀

    Wi-SUN 最大限度地提高太陽能跟蹤器的性能

    目前,隨著光伏系統(tǒng)技術(shù)的進(jìn)步,智能跟蹤得以實(shí)現(xiàn),最大限度地提高太陽光能的輸出。不同于固定式電池板,太陽能光伏 (PV) 跟蹤器能夠全天將太陽能電池
    的頭像 發(fā)表于 01-07 08:38 ?600次閱讀
    Wi-SUN <b class='flag-5'>可</b><b class='flag-5'>最大限度</b>地提高太陽能跟蹤器的性能

    如何最大限度減小電源設(shè)計(jì)中輸出電容的數(shù)量和尺寸?

    如何最大限度減小電源設(shè)計(jì)中輸出電容的數(shù)量和尺寸?
    的頭像 發(fā)表于 12-15 09:47 ?394次閱讀
    如何<b class='flag-5'>最大限度</b>減小電源設(shè)計(jì)中輸出電容的數(shù)量和尺寸?

    最大限度地提高高壓轉(zhuǎn)換器的功率密度

    電子發(fā)燒友網(wǎng)站提供《最大限度地提高高壓轉(zhuǎn)換器的功率密度.doc》資料免費(fèi)下載
    發(fā)表于 12-06 14:39 ?308次下載

    最大限度保持系統(tǒng)低噪聲

    最大限度保持系統(tǒng)低噪聲
    的頭像 發(fā)表于 11-27 16:58 ?370次閱讀
    <b class='flag-5'>最大限度</b>保持系統(tǒng)低噪聲

    最大限度提高∑-? ADC驅(qū)動(dòng)器的性能

    電子發(fā)燒友網(wǎng)站提供《最大限度提高∑-? ADC驅(qū)動(dòng)器的性能.pdf》資料免費(fèi)下載
    發(fā)表于 11-22 09:19 ?0次下載
    <b class='flag-5'>最大限度</b>提高∑-? ADC驅(qū)動(dòng)器的性能

    如何延長醫(yī)療平板電池壽命

    電子發(fā)燒友網(wǎng)站提供《如何延長醫(yī)療平板電池壽命.pdf》資料免費(fèi)下載
    發(fā)表于 11-15 14:23 ?0次下載
    如何<b class='flag-5'>延長</b>醫(yī)療平板<b class='flag-5'>電池</b><b class='flag-5'>壽命</b>