【導(dǎo)讀】在越來(lái)越多的應(yīng)用中,能量收集為傳感器節(jié)點(diǎn)供電正在成為切實(shí)可行的解決方案,本地化處理采集的數(shù)據(jù),然后回傳到一個(gè)集中器。那么這個(gè)能量收集型傳感器節(jié)點(diǎn)實(shí)現(xiàn)方案具體是怎樣的?請(qǐng)看下文。
雖然能量收集并不是一個(gè)全新概念,但是RF和微控制器(MCU)器件在性能與能耗方面取得的最新進(jìn)展,意味著構(gòu)建一個(gè)采用能量收集型應(yīng)用,例如傳感器節(jié)點(diǎn),現(xiàn)在變得更加容易。此外,對(duì)于同樣的能量收集而言,新構(gòu)建的應(yīng)用能夠比之前應(yīng)用提供更強(qiáng)的能力。因此,在越來(lái)越多的應(yīng)用中,能量收集為傳感器節(jié)點(diǎn)供電正在成為切實(shí)可行的解決方案,本地化處理采集的數(shù)據(jù),然后回傳到一個(gè)集中器。
能量收集型系統(tǒng)構(gòu)成
我們來(lái)考慮一個(gè)嵌入式能量收集型系統(tǒng),如圖1所示。其中某些組成部分,例如能量收集器,在任何能量收集型設(shè)計(jì)中都是必要的。
圖1:能量收集型傳感器節(jié)點(diǎn)。
從哪里可以獲取傳感器供電所需能量呢?從光、熱、振動(dòng)還是RF?表1中匯總了可收集潛在能量的常見(jiàn)能量來(lái)源。本例中,假設(shè)我們正在使用太陽(yáng)能收集器。除了能量收集源之外,應(yīng)用中也需要某種形式的能量存儲(chǔ)設(shè)備,最常見(jiàn)是電容組,或者小型可充電電池。(儲(chǔ)能設(shè)備是必須的,因?yàn)槭占饕掷m(xù)連續(xù)不斷的收集能量,而應(yīng)用本身可能僅會(huì)在極短的時(shí)間內(nèi)處于活動(dòng)模式,而在大部分時(shí)間中處于休眠模式。)
表1:能量收集源。
除了這些應(yīng)用組成部分之外,開(kāi)發(fā)人員還要選擇元器件進(jìn)行相關(guān)設(shè)計(jì),能利用這些收集到的能源并達(dá)成預(yù)期結(jié)果。這里有一些關(guān)鍵因素要考慮。所選擇的元器件必須待機(jī)電流極低;在工作模式時(shí)功耗極低;且能夠在活動(dòng)模式和待機(jī)模式之間快速切換(因?yàn)槠骷拇龣C(jī)模式轉(zhuǎn)換到工作模式所需的時(shí)間越長(zhǎng),浪費(fèi)的能量越多)。
添加RF連接
RF元器件選型時(shí),關(guān)鍵因素是要選擇一個(gè)合適的通信協(xié)議,協(xié)議要能夠提供足夠帶寬以傳輸所需數(shù)據(jù),同時(shí)能耗要盡可能低。ZigBee和藍(lán)牙都是低能耗和電池供電型應(yīng)用的良好選擇,但是更輕量級(jí)的無(wú)線連接技術(shù)或許才是能量收集的最佳選擇。
簡(jiǎn)單、專用的sub-GHz解決方案非常適合能量收集型應(yīng)用的需求。我們假設(shè)該設(shè)計(jì)中由于進(jìn)行了本地信號(hào)處理,而僅僅需要進(jìn)行少量數(shù)據(jù)傳輸(在后面的例子中我們將會(huì)討論大量數(shù)據(jù)傳輸時(shí)的情況),那么RF元器件在大部分時(shí)間里將處于待機(jī)模式,僅在需要傳輸少量預(yù)處理數(shù)據(jù)時(shí)才被喚醒。因此,要考慮的兩個(gè)重要參數(shù)是待機(jī)模式能耗和傳輸模式能耗。
基于以上這些原因,高能效的sub-GHz收發(fā)器,例如Silicon Labs 公司的Si4464,會(huì)是更好的選擇。Si4464的待機(jī)模式電流僅50nA,在非收發(fā)模式下能夠最大限度的減少能量消耗,而且從待機(jī)模式切換到運(yùn)行模式時(shí),喚醒時(shí)間僅需要450?s。這種等級(jí)的無(wú)線能效使得開(kāi)發(fā)人員能夠在獲取和管理數(shù)據(jù)的應(yīng)用中,實(shí)現(xiàn) RF元器件的能耗最小化。
[page]
選擇合適的MCU
接下來(lái)討論MCU,傳感器節(jié)點(diǎn)將提供本地化數(shù)據(jù)處理,降低整體RF網(wǎng)絡(luò)的數(shù)據(jù)傳輸流量。對(duì)于這種實(shí)現(xiàn)的一個(gè)理想候選者是內(nèi)建ARM Cortex-M4內(nèi)核的MCU,它擁有大量專用的DSP功能,與沒(méi)有DSP能力的MCU相比,能夠在更少的時(shí)鐘周期內(nèi)完成信號(hào)處理。圖2顯示了基于Cortex-M3內(nèi)核的MCU和基于Cortex-M4內(nèi)核的MCU在執(zhí)行相同例程實(shí)現(xiàn)512點(diǎn)快速傅里葉變換(FFT)時(shí)所消耗的時(shí)間(在兩種情況下,CPU時(shí)鐘速率是相同的)。如圖所示,Cortex-M4內(nèi)核的處理時(shí)間遠(yuǎn)低于Cortex-M3內(nèi)核的處理時(shí)間。因此,當(dāng)使用基于DSP的Cortex-M4內(nèi)核時(shí),能效更高。
圖2:在Cortex-M3內(nèi)核和Cortex-M4內(nèi)核上實(shí)現(xiàn)512點(diǎn)FFT。
為了體驗(yàn)帶有DSP功能的內(nèi)核所提供的益處,可以考慮在能量收集型應(yīng)用中使用Silicon Labs公司的EFM32 Wonder Gecko MCU。然而,內(nèi)核并不是獲取最佳能效的唯一因素。還需要考慮其他方面,例如信號(hào)采集所需的能耗(以及所使用的技術(shù))、MCU外設(shè)之間的交互,使得MCU能夠在更長(zhǎng)的時(shí)間內(nèi)保持在低能耗模式。
高能效的信號(hào)采集
考慮到信號(hào)采集任務(wù),最佳化能效可以通過(guò)多種方式實(shí)現(xiàn)。假設(shè)要獲取的是模擬信號(hào),就可以采用模數(shù)轉(zhuǎn)換器(ADC)或者專用接口實(shí)現(xiàn)信號(hào)采集。
我們先從ADC開(kāi)始,有幾種方法可用于數(shù)據(jù)采集。圖3中圖形化顯示了這些過(guò)程。首先最常用的做法是,利用計(jì)時(shí)器觸發(fā)ADC采樣,并將所獲取的采樣數(shù)據(jù)傳輸?shù)紻MA,在1Ksps采樣速率下,能耗為165?A。盡管這很好地利用了外設(shè)的互動(dòng)性,但沒(méi)有使用MCU的任何特殊功能。
圖3:EFM32 MCU上的低功耗ADC工作原理。
第二種方法在同樣采樣速率下改善了能耗。其方法是在待機(jī)狀態(tài)時(shí)讓MCU進(jìn)入能耗模式2(EM2),一直到被中斷喚醒為止(中斷可來(lái)自多種觸發(fā)源,包括EM2下的可用定時(shí)器)。EM2的待機(jī)能耗為900nA,但是MCU只需要2?s就能恢復(fù)全速運(yùn)行狀態(tài)。因此,超低能耗模式帶來(lái)的時(shí)間成本,EM2切換回全速運(yùn)行狀態(tài)所帶來(lái)的能耗,兩者間達(dá)到了很好的平衡。這種情況下,同樣實(shí)現(xiàn)1Ksps采樣速率時(shí),能耗降低到60?A,與第一種方法相比能耗有了顯著下降。此方法可能是最合適的方法,因?yàn)樵S多嵌入式應(yīng)用都是靠中斷驅(qū)動(dòng)的。然而,根據(jù)應(yīng)用對(duì)特殊情況的要求,還可以利用其他方法進(jìn)一步降低能耗。
第三種方法(可視此方法為一個(gè)“優(yōu)化循環(huán)”方案)仍然采用EM2,但本次并非等待中斷,而是使用等待事件(Wait for Event ,WFE)指令,該指令是Cortex-M指令集的一部分。WFE指令使MCU能夠?qū)ν獠炕蛘邇?nèi)部事件進(jìn)行響應(yīng),類似于中斷觸發(fā)。然而,在這種情景下,不再是從主循環(huán)中進(jìn)入中斷,而是MCU直接從EM2中喚醒并開(kāi)始執(zhí)行下一條指令,消除了中斷延遲時(shí)間。雖然這種方法并不適合所有應(yīng)用,但采用此方法可以降低能耗,同樣1Ksps采樣速率時(shí),能耗不到20?A。
[page]
為了判斷采用哪種方法更適合你的應(yīng)用,做一個(gè)詳細(xì)的分析是非常必要的。為了達(dá)到所需的最小能耗,你需要評(píng)估采樣率的大小,以及MCU在各種模式下的能耗。
圖4對(duì)比了分別采用上述三種方法時(shí)能耗和采樣率的對(duì)比情況。圖中的交叉點(diǎn)表明,為了實(shí)現(xiàn)最佳功效,可以從一種方法轉(zhuǎn)向另一種方法。
圖4:能耗與采樣率對(duì)比圖。
除了利用ADC進(jìn)行信號(hào)采集之外,特別選擇的MCU還可以使用額外的專用外設(shè)。以EFM32 Wonder Gecko MCU為例,可以選擇使用低能耗傳感器接口(LESENSE)采集信號(hào),并且僅在需要MCU進(jìn)行處理時(shí)才喚醒MCU。圖5說(shuō)明了LESENSE的工作原理,此例中以模擬信號(hào)輸入為例。
圖5:LESENSE的運(yùn)行原理。
處理這種信號(hào)的一個(gè)標(biāo)準(zhǔn)方法是輪詢輸入,并且不斷的檢查是否通過(guò)了預(yù)設(shè)的門(mén)限值。但是,這種方法效率極低。采用類似LESENSE的自治傳感器接口,MCU能夠保持在低能耗模式(例如ADC技術(shù)示例中用到的EM2),僅僅當(dāng)跨越門(mén)限值時(shí)才喚醒MCU?;蛘撸杏玫氖悄軌蛴涗浛缭介T(mén)限值的次數(shù),例如5次之后才喚醒MCU。這種方法是一種更加節(jié)能的解決方案。例如,MCU被LESENSE外設(shè)喚醒時(shí),它能知道下一步具體要做什么,可以直接管理應(yīng)用的對(duì)應(yīng)部分。圖6顯示了如何使用諸如LESENSE這樣的 MCU外設(shè)為能量收集型應(yīng)用帶來(lái)顯著差異。
圖6顯示了一個(gè)采用能量存儲(chǔ)器為MCU提供電源時(shí)的電量測(cè)量情況。在兩種應(yīng)用示例中,都是以5Hz的頻率通過(guò)LESENSE外設(shè)采集信號(hào)。在第一個(gè)例子中,每次信號(hào)采集后都會(huì)喚醒MCU,可以看出,能量存儲(chǔ)器的能量在很短暫的時(shí)間內(nèi)就被耗盡了,然后MCU進(jìn)入到復(fù)位狀態(tài)。在第二個(gè)例子中,LESENSE外設(shè)配置成為每五次信號(hào)采集后才喚醒MCU。在這兩個(gè)示例中,采集和傳輸?shù)組CU的數(shù)據(jù)量都是相同的,但第二個(gè)例子中的MCU并沒(méi)有進(jìn)入復(fù)位狀態(tài),應(yīng)用依舊維持正常運(yùn)行狀態(tài)。因此,通過(guò)智能的使用MCU資源,可以獲得更加節(jié)能的解決方案。
圖6:使用LESENSE實(shí)現(xiàn)節(jié)能。
雖然我們從現(xiàn)有的能量源中為嵌入式應(yīng)用收集到的能量沒(méi)有顯著的增加,但近些年來(lái),關(guān)鍵系統(tǒng)元器件(例如MCU和RF IC)對(duì)能量的需求已經(jīng)顯著下降。IC元器件正在向著更加節(jié)能的方向發(fā)展,這使得可以在更多的智能和實(shí)用嵌入式系統(tǒng)中采用能量收集供電。隨著物聯(lián)網(wǎng)市場(chǎng)的快速成長(zhǎng),設(shè)計(jì)出能夠自我維持運(yùn)行的傳感器節(jié)點(diǎn)已成為必然。雖然當(dāng)今市場(chǎng)上的RF和MCU解決方案有無(wú)限選擇,但是在由能量收集供電的嵌入式設(shè)計(jì)中極度需求MCU和RF器件、而時(shí)間又是個(gè)很重要因素時(shí),很明顯沒(méi)有哪一種元器件能夠滿足所有需求。然而,在建立節(jié)能型系統(tǒng)方面,某些元器件的確比其他元器件更具有顯著優(yōu)勢(shì)。