引言
普適計(jì)算、智能空間等概念前所未有地?cái)U(kuò)展了嵌入式系統(tǒng)的應(yīng)用范圍。同時(shí)也對(duì)嵌入式系統(tǒng)的功能、可靠性、成本、體積、功耗提出了更嚴(yán)格的要求。各種移動(dòng)終端、可穿戴設(shè)備、消費(fèi)類電子產(chǎn)品、傳感器網(wǎng)絡(luò)節(jié)點(diǎn)等典型嵌入式設(shè)備對(duì)能耗越來越敏感,電源管理技術(shù)正成為這些產(chǎn)品設(shè)計(jì)的關(guān)鍵所在。電源管理技術(shù)正由傳統(tǒng)的基于電源管理器件和外設(shè)控制為主的靜態(tài)控制方式,轉(zhuǎn)到以具備智能電源管理功能的嵌入式微處理器結(jié)合操作系統(tǒng)為核心的智能管理軟件的動(dòng)靜態(tài)結(jié)合的綜合控制模式。
為了應(yīng)對(duì)電源管理技術(shù)面臨的挑戰(zhàn),芯片廠商推出了效率越來越高的電源管理芯片以及對(duì)能耗管理功能更加強(qiáng)大、精細(xì)的微處理器。以此為基礎(chǔ),如何設(shè)計(jì)高效、智能的系統(tǒng)軟件對(duì)嵌入式設(shè)備進(jìn)行能源管理,已成為研究熱點(diǎn)。本文將以典型硬件的電源管理功能為基礎(chǔ),分析幾種代表性嵌入式操作系統(tǒng)的電源管理實(shí)現(xiàn),探討電源管理系統(tǒng)軟件現(xiàn)狀及研究應(yīng)用前景。
電源管理基本概念與方法
在電池供電的嵌入式系統(tǒng)中,一般采用高效率的電源管理芯片用于供電管理,或采用大容量的電池以解決能耗需求。但這兩種技術(shù)的發(fā)展還無法滿足快速增加的芯片動(dòng)態(tài)功耗和靜態(tài)功耗。當(dāng)電路工作或邏輯狀態(tài)翻轉(zhuǎn)時(shí)會(huì)產(chǎn)生動(dòng)態(tài)功耗,未發(fā)生翻轉(zhuǎn)時(shí)漏電流會(huì)造成靜態(tài)功耗。在供電電壓Vdd下消耗的功率P如公式(1)所示:
P=C*V2dd*fC+VddIQ (1)
這里C為電容,fC為開關(guān)頻率,Vdd為電源電壓,IQ為漏電流。C*V2dd*fC為動(dòng)態(tài)功耗;VddIQ為靜態(tài)功耗。隨著芯片運(yùn)行速度的提高和工藝尺寸的不斷縮小、密度增加,其動(dòng)態(tài)功耗和靜態(tài)功耗也在不斷增長(zhǎng),加劇了電源管理的復(fù)雜性。
有一種方法可以協(xié)調(diào)高性能與低功耗之間的矛盾,就是根據(jù)系統(tǒng)負(fù)載進(jìn)行性能調(diào)節(jié)。從公式(1)中我們可以得知,對(duì)一個(gè)給定負(fù)載,動(dòng)態(tài)功耗的量值與供電電壓的平方成正比,與運(yùn)行頻率成正比。減少供電電壓并同時(shí)降低處理器的時(shí)鐘速度,功耗將會(huì)呈平方速度下降,代價(jià)是增加了運(yùn)行時(shí)間。此外,還可以通過停止芯片模塊的時(shí)鐘和電源供應(yīng)的辦法,將能耗降至最低,代價(jià)是重新啟動(dòng)該模塊時(shí)需要額外能耗。因此,通過有效地利用上述能耗管理方法,得到性能和功耗間的最佳平衡,達(dá)到節(jié)能最大化。
嵌入式微處理器對(duì)電源管理的支持
從8位單片機(jī)到32位高性能處理器,都在一定程度上支持電源管理功能。例如處理器支持多種電源狀態(tài),如圖1所示。系統(tǒng)電源狀態(tài)轉(zhuǎn)化
系統(tǒng)在運(yùn)行態(tài)(Run)時(shí),設(shè)備全部正常工作。在空閑態(tài)時(shí),處理器按照特定的模式,進(jìn)行相應(yīng)的節(jié)能。在掛起狀態(tài)下,處理器掛起,主存儲(chǔ)器運(yùn)行在節(jié)能的自刷新模式,只有功耗管理電路、喚醒電路繼續(xù)工作?,F(xiàn)有的單片機(jī)、ARM等32位RISC處理器一般都支持以上模式,下面分別加以介紹。
單片機(jī)的電源管理支持
在傳感器網(wǎng)絡(luò)應(yīng)用中,傳感器節(jié)點(diǎn)一般采用低廉的8/16位單片機(jī),其電池壽命至關(guān)重要。節(jié)點(diǎn)工作時(shí)按功率消耗由小到大有睡眠(sleep)、空閑(idle)、接收(receive)及發(fā)送(transmit)等四種模式。大多時(shí)間內(nèi),節(jié)點(diǎn)都處于睡眠與空閑模式,只有少量能耗。
ATMEL采用picoPower技術(shù)的AVR微控制器顯著降低了功耗。這些技術(shù)包括一個(gè)超低功耗晶振、睡眠模式下自動(dòng)終止和重激活欠壓檢測(cè)器、能完全停止對(duì)外圍設(shè)備電力供應(yīng)的省電寄存器以及能夠關(guān)閉特定管腳輸入的數(shù)字輸入中斷寄存器。picoPower技術(shù)使工作電流大幅度降低,減少了斷電狀態(tài)下不必要的功耗,使電池使用壽命得到了延長(zhǎng)。
ARM的電源管理技術(shù)
ARM以其優(yōu)秀的低功耗技術(shù)在消費(fèi)類電子等領(lǐng)域得到廣泛應(yīng)用。ARM實(shí)現(xiàn)了不同級(jí)別的低功耗管理技術(shù),如表1所示。表1 ARM不同級(jí)別的低功耗管理技術(shù)
電源功耗管理級(jí)別 |
Architecture Level |
System Level |
Block Level |
Logic Level |
Process Level |
實(shí)現(xiàn)動(dòng)態(tài)低功耗技術(shù) | Clock Gating |
Clocking Domains |
voltage Domains |
Low Voltage Cells |
Low Power Library |
實(shí)現(xiàn)靜態(tài)低功耗技術(shù) | Sleep Mode | Power Gating | State Store/Restore |
High Voltage Cells |
Artisan PMK |
據(jù)ARM估計(jì),32位的Cortex-M3處理器內(nèi)核以0.19mW/MHz(0.18微米)極低的功耗在特殊應(yīng)用中占據(jù)優(yōu)勢(shì)。32位Cortex-M3設(shè)備執(zhí)行任務(wù)的速度比8位設(shè)備快許多倍,所以活動(dòng)模式中所用的時(shí)間更短,平均功率相應(yīng)降低。其功耗如表2所示。表2 Cortex-M3能量消耗
能量消耗 | 1MHZ | 16MHZ | 32MHZ | |
Active | mW | 0.29mW | 4.5mW | 9mW |
Sleep | mW | 0.01mW | 0.16mW | 0.3mW |
Standby | µW | 1µW | 1µW | 1µW |
高端ARM處理器還支持功能更強(qiáng)大的電源管理功能,通過電壓調(diào)節(jié)與頻率調(diào)節(jié)相結(jié)合,極大地降低功耗,提高能量效率。動(dòng)態(tài)電壓調(diào)節(jié)(DVS)是通過對(duì)系統(tǒng)的負(fù)載預(yù)測(cè),在一個(gè)開環(huán)電壓控制系統(tǒng)中用多組能耗級(jí)別的頻率、電壓對(duì)來實(shí)現(xiàn)。自適應(yīng)電壓調(diào)節(jié)(AVS)用一個(gè)閉環(huán)電壓控制系統(tǒng)來實(shí)現(xiàn),它無需配對(duì)的頻率、電壓,能提供更優(yōu)的節(jié)能效果。
例如以TI的 OMAP1610(ARM926E核)處理器為例,內(nèi)部可以調(diào)節(jié)參數(shù)包括:CPU電壓,DPLL頻率控制,CPU頻率控制,交通控制器(TC),外部設(shè)備控制器,DSP運(yùn)行頻率,DSP MMU頻率,LCD刷新頻率。通過定義操作點(diǎn)(Operation Points,OP)數(shù)據(jù)結(jié)構(gòu)來抽象表示頻率、電壓等能耗級(jí)別,如表3所示。表3 OMAP1610操作點(diǎn)參數(shù)
參數(shù)操作點(diǎn) |
CPU電壓 (mV) |
DPLL頻率 乘法器 |
DPLL頻率 分頻器 |
CPU頻率 控制 |
TC 控制器 |
192MHz~1.5V | 1500 | 16 | 1 | 1 | 2 |
168MHz~1.5V | 1500 | 14 | 1 | 1 | 2 |
84MHz~1.5V | 1500 | 14 | 1 | 2 | 2 |
84MHz~1.5V | 1100 | 14 | 1 | 2 | 2 |
60MHz~1.5V | 1500 | 5 | 1 | 1 | 1 |
60MHz~1.5V | 1100 | 5 | 1 | 1 | 1 |
其中,192MHz-1.5V操作點(diǎn)參數(shù)1500表示OMAP3.2核心電壓1500mV;16表示DPLL頻率控制12MHz晶振輸入倍頻16倍;1表示分頻為1;1表示OMAP3.2核心分頻為1(所以它運(yùn)行在192MHz);2表示TC(交通控制器)分頻為2(所以它運(yùn)行在96MHz);如果使用TI的DSP代碼,則后四個(gè)參數(shù)為不可控,均使用默認(rèn)值。
更先進(jìn)電源管理功能的嵌入式微處理器還有90nm工藝的Marvel PAX300系列,提供更細(xì)顆粒的電源管理技術(shù)(稱為MSPM),API和驅(qū)動(dòng)程序;飛思卡爾iMX31支持DVFS(動(dòng)態(tài)的電壓和頻率調(diào)節(jié))和DPTC(動(dòng)態(tài)的處理器溫度補(bǔ)償)等技術(shù),它配合飛思卡爾MC13783和MC34704 IC管理器件,Linux驅(qū)動(dòng)和策略管理代碼,用戶可以方便地構(gòu)建一個(gè)具備優(yōu)秀電源管理能力的嵌入式系統(tǒng)。
ARM 與國(guó)家半導(dǎo)體(NS)開發(fā)出了先進(jìn)的能量管理解決方案,智能能量管理器(IEM)預(yù)測(cè)軟件決定了處理器可以運(yùn)行的最低性能級(jí)別,同時(shí),通過智能能量控制器(IEC)的幫助、通過自適應(yīng)功率控制器(APC)與外部能量管理單元(EMU)一起工作,使處理器運(yùn)行在能保證應(yīng)用軟件正確運(yùn)行的最低電壓和頻率下。
典型嵌入式系統(tǒng)能耗組成
典型嵌入式系統(tǒng),例如移動(dòng)終端,其能耗主要部件包括嵌入式微處理器(CPU)、內(nèi)存、LCD及背光,電源轉(zhuǎn)換部件,其他部件還可能包括基帶處理器、DSP、外設(shè)控制器等。據(jù)統(tǒng)計(jì),CPU占20%~25%,LCD以及背光占用了20%,內(nèi)存占15%,電源轉(zhuǎn)換占5%~10%,其他的組成占用剩余的30%~40%。典型嵌入式系統(tǒng)的能耗組成如圖2所示。
在這些元件中,有些元件性能指標(biāo)和能耗固定;有些元件可在不同時(shí)間工作,并有多種可控的耗能狀態(tài)。后者的有效使用成為系統(tǒng)節(jié)能的關(guān)鍵所在。