提高低功耗嵌入式項(xiàng)目中電池使用的壽命
設(shè)計(jì)一個(gè)嵌入式的電池壽命系統(tǒng)已經(jīng)成為許多團(tuán)隊(duì)重要的設(shè)計(jì)考慮。優(yōu)化電池壽命的能力有助于降低現(xiàn)場(chǎng)維護(hù)成本,并確保客戶有良好的產(chǎn)品經(jīng)驗(yàn),不必不斷更換或充電電池。
有很多團(tuán)隊(duì)使用的標(biāo)準(zhǔn)技術(shù)來(lái)幫助提高電池壽命。例如,將處理器放入低功率模式,關(guān)閉未使用的外圍設(shè)備等。然而,我發(fā)現(xiàn)開(kāi)發(fā)團(tuán)隊(duì)經(jīng)常忽略一些標(biāo)準(zhǔn)技術(shù)。
在今天的帖子中,我們將探索幾種低功率設(shè)計(jì)技術(shù),我經(jīng)??吹竭@些技術(shù)被忽視,但這可能會(huì)帶來(lái)很大的不同。
技術(shù)#1-使用商業(yè)編譯器
作為軟件開(kāi)發(fā)者和團(tuán)隊(duì),我們對(duì)使用免費(fèi)和開(kāi)放源代碼工具感到自滿。我們經(jīng)常忘記,在大多數(shù)情況下,你得到了你要的東西。雖然開(kāi)源是一個(gè)很棒的工具,但它并不適用于所有情況,其中一個(gè)例子是低功率電池操作設(shè)備。
我最近做了一些性能測(cè)試,以比較代碼執(zhí)行與IAR的EWE編譯器。用相同的設(shè)置為同一處理器編譯相同的代碼后,測(cè)試代碼的性能提高了20-30%。手術(shù)結(jié)果各不相同,但數(shù)字驚人。
它是什么意思?這意味著,使用商業(yè)編譯器,您可以更快地執(zhí)行相同的代碼,這意味著您可以更快地回到睡眠模式。在睡眠模式中花費(fèi)更多的時(shí)間意味著更少的電流吸引和更高的可能性電池持續(xù)更長(zhǎng)!
使用商業(yè)編譯器可能是一些低效率的成果,你不僅可以從代碼中獲得更好的性能,而且還可以節(jié)省電池壽命。
注意:結(jié)果將根據(jù)您手頭優(yōu)化代碼的好壞而有所不同.但是為什么要浪費(fèi)這么多的時(shí)間呢?
技術(shù)#2-使用空閑模式保持更長(zhǎng)時(shí)間的睡眠
使用低功率模式的一個(gè)問(wèn)題是,如果您使用了rtos,內(nèi)核滴滴將會(huì)周期性地喚醒系統(tǒng)。這種情況并不少見(jiàn),它設(shè)置在一毫秒。如果你想讓你的設(shè)備在醒來(lái)前睡一分鐘怎么辦?那么,在那一分鐘里,你醒來(lái)的次數(shù)會(huì)比你想象的多6000次,浪費(fèi)了寶貴的電池壽命。
在許多循環(huán)中,一個(gè)簡(jiǎn)單的解決方案是使用無(wú)問(wèn)題模式。這種模式背后的想法是,當(dāng)系統(tǒng)進(jìn)入睡眠狀態(tài)時(shí),它按下了一個(gè)低功率的定時(shí)器,所以rtos的滴答聲不會(huì)每毫秒發(fā)生。相反,它可能不會(huì)發(fā)生在幾分鐘,幾個(gè)小時(shí),甚至一天!
正如您所想象的,這可以保持系統(tǒng)睡眠,防止它醒來(lái)并運(yùn)行大量不必要的CPU周期。結(jié)果是使用的電流較少,等同于更長(zhǎng)的電池壽命。
注意:啟用無(wú)提示模式的方法和開(kāi)發(fā)人員可能需要投入的工作從一個(gè)rto到下一個(gè)。
技術(shù)#3-利用內(nèi)部緩存
多年來(lái),微控制器沒(méi)有緩存。它們是資源受限的設(shè)備,相對(duì)于功能豐富的年長(zhǎng)兄弟姐妹來(lái)說(shuō),相對(duì)簡(jiǎn)單。今天的情況并非如此。如果您查看ST、NXP和其他許多微控制器部件,您會(huì)發(fā)現(xiàn)性能部件都有內(nèi)部緩存。如果您正在設(shè)計(jì)低功率,您可以利用緩存提高能源消耗。
幾個(gè)機(jī)制允許緩存幫助您減少電流消耗。大多數(shù)與緩存的主要功能有關(guān):提供對(duì)常用數(shù)據(jù)或指令的更快訪問(wèn),從而減少CPU訪問(wèn)較慢主內(nèi)存的時(shí)間。
例如,您可以使用緩存來(lái)優(yōu)化內(nèi)存訪問(wèn)模式。緩存可以顯著優(yōu)化具有可預(yù)測(cè)內(nèi)存訪問(wèn)模式的應(yīng)用程序的能量使用。通過(guò)有效地預(yù)取和緩存所需的數(shù)據(jù)和指令,微控制器最大限度地減少了對(duì)主存儲(chǔ)器的耗能訪問(wèn)。
該緩存提供了比其他車(chē)載內(nèi)存更低的延遲和更快的訪問(wèn)速度。結(jié)果是內(nèi)存訪問(wèn)花費(fèi)的時(shí)間較少,這使得CPU的閑置周期較少。更快的訪問(wèn)也意味著CPU可以更快地完成任務(wù),減少總體的活動(dòng)CPU時(shí)間。所有這些都有助于降低處理器的整體能耗,從而延長(zhǎng)電池壽命。
結(jié)論
當(dāng)開(kāi)發(fā)人員和團(tuán)隊(duì)看到低功率設(shè)計(jì)時(shí),他們通常會(huì)直接跳到睡眠模式、時(shí)鐘控控和其他降低能耗的技術(shù)上。雖然這些都是偉大的技術(shù),但他們有時(shí)忽略了簡(jiǎn)單的技術(shù),也是低掛水果。我們?cè)谶@篇文章中看到了一些你可以用來(lái)幫助改善你的設(shè)備的電池壽命或者減少你的動(dòng)力設(shè)備的能量消耗的東西。
歸根結(jié)底,低功率的設(shè)計(jì)有很多。你可以無(wú)限期地優(yōu)化能量,但是在優(yōu)化過(guò)程中經(jīng)常會(huì)有一個(gè)"瓶頸",這將減少電池壽命的增加。要時(shí)刻關(guān)注你的技術(shù)如何提高你的電池壽命;當(dāng)你撞到瓶頸時(shí),是時(shí)候停止優(yōu)化了!