用硬件和固件降低電池供電產品的功耗
在電池供電產品中,如果電池壽命是關鍵,則節省每一個器件的電能就非常重要。這方面的解決方案包括:使用一只具有穩壓功能的電荷泵作為供電電源,改變它的輸出電壓;當不重要的外設不處在工作狀態時,將其供電電源切斷;對時鐘進行控制,在功耗和功能兩者之間加以優化。本文介紹如何利用微控制器的可編程能力來實現真正的節能。
對于硬件/固件工程師來講,最重要的是充分了解微控制器中可以利用的地方,以及可以借助的硬件,從而將功耗降至最低。設計人員可運用高效率的硬件,輔以微控制器的各種編程技術,在降低電池供電產品的功耗方面,作出實質性貢獻。

圖1盡管在微控制器外部采用低功耗外設,可大幅度降低系統功耗,我們仍然可利用微控制器的可編程特點,將微控制器本身及其外設的功耗降至最低。
微控制器的外部外設和內部外設都在不斷發展,以滿足對功耗的嚴格要求。尤其是降低靜態電流以及優化電路設計等方法,可減少微控制器外部外設的功耗。
我們來看看圖1所示的例子,圖中電路由一只運算放大器、A/D轉換器以及具備穩壓功能且可調節的電荷泵組成。由電路可以看到,該簡單電池供電電路是圍繞PIC18F1320微控制器而設計的。
為了節省電能,第一個可以利用的是微控制器本身的閑置模式和睡眠模式。當微控制器處在閑置模式時,它的一部分供電電源關閉,但A/D轉換器這些部件仍在運作。當微控制器處在睡眠模式下,微控制器上的電源全部切斷。
圖1中,MCP6041型運算放大器是用CMOS工藝制造的。采用這種工藝,可以將工作電壓降到很低。這種帶寬為14kHz、電流為600nA的運算放大器的供電電壓在1.4V與5.5V之間。 就減少功耗而言,將降低供電電壓和降低靜態電流兩者結合起來,是一個良好的開端。
另一種有用的方法是運用可調節電源。對于模擬電路,5V的電壓是最合適了;而數字電路則可以在更低的2V電壓下工作。人們更喜歡讓數字電路在2V電壓下工作。
如果使用可調節的電源轉換器,它應當是在輸出電流小、使用鋰離子電池供電(這時電源轉換器的輸入電壓從4.2V下降到2.8V)的情況下,針對效率進行優化設計。在圖1的例子中,之所以采用一只具有穩壓功能、可調節的電荷泵式 DC/DC轉換器(型號為MCP1252-ADJ),正是出于這些原因。對電池電壓和功率有特殊要求時,可采用其它電源轉換器。
在時鐘精度和激活時間兩者之間需要作一些折衷,這也會影響功耗。例如,32kHz晶體振蕩器的激活時間在400ms與900ms之間。在這段時間里,微控制器從電池吸收功率。相比之下,微控制器內部的RC振蕩器的激活時間一般是幾微秒。在微控制器離開睡眠狀態時,可利用內部的這個RC振蕩器讓它立即執行程序,但RC振蕩器的頻率不像裝在微控制器外面的晶體振蕩器那么準確。
和其它集成電路相比,A/D轉換器的功耗與轉換電路類型的關系很大。例如,同Δ-Σ轉換器相比,逐次逼近A/D轉換器(SAR)的轉換時間和消耗電流之比就低得多。Δ-Σ轉換器是可以采用的另一種A/D轉換器。在電池供電產品中往往采用逐次逼近A/D轉換器,除非是需要分辨率很高、精度很高的應用。
對獨立外設進行逐個折衷、優化是重要的,但將微控制器內、外部的外設與微控制器的編程能力結合起來考慮,可節省更多的電能。例如,在MCP1252-ADJ中,可以把一個新的電路切換到電阻反饋系統當中,這樣微控制器能夠控制電源電壓。為了讓模擬電路能在最合適的電平上工作,需要電荷泵輸出較高電壓。然而,數字電路在工作時,例如微控制器在執行程序時,我們就希望電荷泵能輸出低電壓。PIC18F1320的輸出電壓為2V至5.5V。如果把微控制器外部外設的供電切斷,加在I/O端口上的供電電壓又比較低,這樣就可以進一步節省電能,這是另外一個好處。
采用兩個時鐘,其運作由微控制器控制,這個辦法可降低時鐘在激活期間所消耗的電能。具體實現方法如下:一個時鐘很快激活,用這個時鐘來執行程序,在這種情況下可用內部RC振蕩器;同時,另外一個較精確的振蕩器正在激活。如果微控制器認為沒有必要使用第二個較準確的振蕩器,就把它的供電電源切斷。另外,如果需用精確度較高的時鐘來完成時間順序很重要的處理工作,就要讓較準確的時鐘完成它的激活過程,同時把第一個時鐘的供電電源切斷。
評論