管理無線物聯(lián)網(wǎng)設(shè)備中的能耗
隨著物聯(lián)網(wǎng)的發(fā)展并在現(xiàn)場(chǎng)部署了更多的邊緣設(shè)備,無疑將在這些設(shè)備中很大一部分電池操作。電池操作的無線邊緣節(jié)點(diǎn)很方便且具有成本效益,因?yàn)樗鼈儾恍枰L問電氣基礎(chǔ)設(shè)施,并且可以輕松部署。電池操作的設(shè)備的潛在問題是,當(dāng)開發(fā)人員在槍支下構(gòu)建設(shè)備并在門外時(shí),電池壽命是他們腦海中的最后一件事。開發(fā)人員在整個(gè)開發(fā)周期中可以做幾件事,以確保他們能夠正確管理設(shè)備的能耗。
首先,當(dāng)開發(fā)人員設(shè)計(jì)自己的硬件時(shí),他們需要將硬件分解為子系統(tǒng),并提供添加當(dāng)前的分流電阻器以測(cè)量每個(gè)子系統(tǒng)的當(dāng)前消耗的能力。開發(fā)人員應(yīng)考慮將當(dāng)前的分流電阻添加到電路和子系統(tǒng)中,例如:
· 微控制器
· 無線控制器
· 傳感器陣列
· 電源輸入和輸出
· 以及任何可能吸引大電流的特定子系統(tǒng)
能夠監(jiān)視這些系統(tǒng)中的電流將使開發(fā)人員能夠確定能源在哪里消耗,并設(shè)計(jì)方法以最大程度地減少消費(fèi)。這些目前的分流器的好處是,在生產(chǎn)中,它們可以被零歐姆電阻替換,或者可以將其在數(shù)字轉(zhuǎn)換的機(jī)上微控制器的類似物中連接到它們,以便可以遠(yuǎn)程監(jiān)控能源消耗。
接下來,開發(fā)人員僅根據(jù)他們?yōu)榍度胧娇刂破骶帉懙能浖鴮?duì)能源消耗進(jìn)行大量控制。微控制器不僅可以管理自己的能源消耗,還可以管理無線控制器和其他機(jī)上電路。例如,具有ARM Cortex-M處理器的開發(fā)人員可以將其系統(tǒng)置于低功率模式,并等待中斷以喚醒系統(tǒng)。實(shí)施這種行為的代碼就像編寫幾行代碼一樣簡(jiǎn)單:
while(true){_wfi();}
從字面上看,這意味著“等待中斷”,并使系統(tǒng)處于低功率狀態(tài)。該中斷可能來自無線控制器,告訴微控制器有數(shù)據(jù)要處理,或者可以從系統(tǒng)中的任何其他事件中都可以被認(rèn)為很重要以喚醒系統(tǒng)。不要忘記,應(yīng)該構(gòu)建電池供電的設(shè)備,以便將活動(dòng)驅(qū)動(dòng),否則將大部分時(shí)間睡覺等待發(fā)生事件。
可以幫助管理能源消耗的另一種最喜歡的方法是在ARM Cortex-M處理器的出口功能上使用睡眠。這實(shí)質(zhì)上告訴處理器,要跳過中斷時(shí)和結(jié)束時(shí)發(fā)生的上下文開關(guān),因?yàn)轭A(yù)計(jì)相同的中斷會(huì)再次發(fā)射。這可以從軟件執(zhí)行中刮掉數(shù)十個(gè)時(shí)鐘循環(huán),這些循環(huán)可以在數(shù)周和幾個(gè)月的時(shí)間內(nèi)顯著加起來。通常通過在系統(tǒng)控制塊中啟用睡眠式功能來啟用此功能:如下:
SCB-> SCR = SCB | 0x2U; while(true){_wfi();}
現(xiàn)在,這些最后兩種技術(shù)是可以在軟件中完成的簡(jiǎn)單事情,以幫助最大程度地減少微控制器的能耗。盡管在物聯(lián)網(wǎng)設(shè)備中管理能源消耗的真正秘訣在于,您必須測(cè)量能耗并將其與正在執(zhí)行的代碼相關(guān)聯(lián)。沒有進(jìn)行測(cè)量,就無法理解中斷是否過于發(fā)射。意識(shí)到特定功能是否執(zhí)行比預(yù)期的更長(zhǎng);或確定系統(tǒng)中的能量在哪里。一旦執(zhí)行了測(cè)量,開發(fā)人員就可以智能地挖掘并確定系統(tǒng)的最佳優(yōu)化,然后可以導(dǎo)致精心調(diào)整和高效的無線物聯(lián)網(wǎng)節(jié)點(diǎn)。
在無線物聯(lián)網(wǎng)設(shè)備中優(yōu)化和管理能源消耗通常是開發(fā)人員將產(chǎn)品推出門之前的最后一件事。在某些情況下,上市,然后進(jìn)行調(diào)整和更新更為重要。盡管如此,如果開發(fā)人員沒有考慮問題并確??梢暂p松更新系統(tǒng)或監(jiān)視其現(xiàn)場(chǎng)行為,那么管理能源消耗將很困難。我們已經(jīng)研究了一些簡(jiǎn)單的想法,可以使您今天開始,這至少可以確保您有一些基本的起點(diǎn)來管理自己的系統(tǒng)的能耗。