(重慶工程學(xué)院 電子與物聯(lián)網(wǎng)學(xué)院,重慶 400056)
動態(tài)電源管理模式在嵌入式系統(tǒng)中的應(yīng)用研究*
李成勇
(重慶工程學(xué)院 電子與物聯(lián)網(wǎng)學(xué)院,重慶 400056)
使用嵌入式系統(tǒng)的睡眠/喚醒功能為系統(tǒng)設(shè)置空閑時隙,可以進行電源管理,以此為依據(jù),設(shè)計出利用嵌入式系統(tǒng)中央處理器調(diào)頻的動態(tài)電源管理模式,用負載在系統(tǒng)閑置時間的周期統(tǒng)計作為計算方法,控制器輸出頻率的調(diào)整以負載變化比例相應(yīng)地進行頻率變換,這種電源管理方案融入了動態(tài)理念,與系統(tǒng)實際運行需求相吻合,滿足系統(tǒng)電能使用周期,既保證了系統(tǒng)穩(wěn)定性,還降低了運行功耗。
動態(tài)電源;嵌入式系統(tǒng);CPU;ARM
電源作為電子產(chǎn)品能夠正常工作的第一層保障,電源管理一直是電子系統(tǒng)中不可缺少的重要部分。嵌入式系統(tǒng)作為高端電子產(chǎn)品,人們在購買時非??粗仉娔X的電源在充滿電量的情況下系統(tǒng)能夠正常工作多長時間。為了迎合市場需求,在個人嵌入式產(chǎn)品中已經(jīng)廣泛使用電源管理系統(tǒng),能夠?qū)﹄娔艿氖褂糜行Э刂啤⒔档拖?,對嵌入式硬件系統(tǒng)起到了一定保護作用。目前比較流行的電源管理模式有兩種:一種模式在Linux系統(tǒng)比較常見,是傳統(tǒng)型的方案,但是在Windows操作系統(tǒng)為主的個人嵌入式產(chǎn)品和電子產(chǎn)品中已經(jīng)很少應(yīng)用,這種電源管理方案就是高級電源管理(Advanced Power Mangement,APM);另一種是現(xiàn)在比較流行的電源管理模式,主要解決了APM電源管理模式出現(xiàn)的漏洞,應(yīng)用了開源的設(shè)計理念,達到了工業(yè)級標準,由多家世界知名嵌入式研發(fā)或者生產(chǎn)企業(yè)共同制定完成,這種電源管理模式稱為高級電源配置接口(Advanced Configuration and Power Interface,ACPI),以適應(yīng)電子系統(tǒng)的快速發(fā)展節(jié)奏。在現(xiàn)在主流的電子系統(tǒng)的硬件上,一般都采用高級電源配置接口電源管理模式,但這種電源管理模式是在X86/IA-32BIOS架構(gòu)上實現(xiàn)的。
嵌入式系統(tǒng)主要是進行大量數(shù)據(jù)的實時處理,電源作為能量來源,影響著嵌入式系統(tǒng)在各領(lǐng)域的廣泛應(yīng)用,而電源管理決定著系統(tǒng)軟硬件設(shè)計及能否實現(xiàn)的關(guān)鍵環(huán)節(jié)。現(xiàn)在許多電子產(chǎn)品都使用電池進行供電,主要是方便用戶隨時隨地使用,而電池使用時間的長短在一定程度上影響用戶對電子產(chǎn)品的認可度,而為了延長用戶對電子產(chǎn)品的有效利用時間,只有在電源管理上下功夫,充分利用能量,避免電量不必要的浪費,保證設(shè)備長時間使用。
嵌入式系統(tǒng)硬件設(shè)備都由集成電路構(gòu)成,電路復(fù)雜性偏高,器件運行頻率高且間距小,造成系統(tǒng)散熱效果差,因此器件損耗比較嚴重。如果使用電源動態(tài)管理模式,根據(jù)運行情況系統(tǒng)實時動態(tài)調(diào)整器件是否工作,或者調(diào)整器件工作電壓,在系統(tǒng)不工作時降低運行頻率,斷開不參與運行的接口設(shè)備,則可以減少系統(tǒng)電源的電量損耗,保障器件壓降差不過分偏大。本文所設(shè)計的動態(tài)電源管理模式,解決了用戶最關(guān)心的待機及使用時長的難題,主要從降低系統(tǒng)功耗、多部件有效利用、動態(tài)管理器件工作頻率方面保護了硬件設(shè)備,使嵌入式系統(tǒng)的使用周期延長。
本文采用通用的嵌入式開發(fā)平臺Intel DBPXA250作為實現(xiàn)實驗的搭建平臺,Intel DBPXA250開發(fā)平臺應(yīng)用的微處理器是PXA250,是一種主流的XSeale架構(gòu)。XSeale主要應(yīng)用于手持嵌入式產(chǎn)品的微處理器架構(gòu),里面包含多個子架構(gòu)微處理器解決方案,比如常見的開放式平臺架構(gòu)中通信和應(yīng)用子系統(tǒng)。本項目在電源管理中結(jié)合了開發(fā)平臺PXA250的諸多優(yōu)勢,實現(xiàn)了資源優(yōu)化利用,結(jié)合點主要有以下4點:①PXA250開發(fā)板具有支持電源管理的功能,可以和動態(tài)電源管理模式結(jié)合;②具有強大國際標準測試協(xié)議接口JTAG,支持內(nèi)部芯片數(shù)據(jù)測試,方便各部件電源電量測試;③與ARM嵌入式芯片指令系統(tǒng)兼容,支持處理圖像、視頻等信息;④內(nèi)部包括32 KB的指令高速存儲器和32 KB是數(shù)據(jù)存儲器,存儲器足夠大,方便功能實現(xiàn);⑤嵌入式系統(tǒng)結(jié)構(gòu)采用多級流水線結(jié)構(gòu),處理功能強大。
DBPXA250開發(fā)板還有豐富的外部硬件設(shè)備,以微處理器為中心,集成大量硬件電路及接口處理模塊,其主要組成部分如圖1所示。
圖1 DBPXA250開發(fā)板硬件結(jié)構(gòu)
DBPXA250的核心部分是處理器卡,主要集成了微處理器PXA250和SD內(nèi)存,其連接了相關(guān)外部設(shè)備,包括顯示器LED、LCD等,以及通信接口藍牙、串口、紅外感應(yīng)及網(wǎng)口等。輔助芯片Intel SA-1111,可連接鍵盤鼠標等常見外部輸入硬件設(shè)備的控制。飛利浦UCB1400主要負責(zé)音頻外圍設(shè)備的控制功能,增強了圖像聲音的控制功能。
圖2 實驗開發(fā)環(huán)境
嵌入式系統(tǒng)開發(fā)是基于硬件平臺的控制開發(fā),與傳統(tǒng)軟件開發(fā)形式是不一樣的,雖然用的工具都是嵌入式+高級語言,但傳統(tǒng)軟件系統(tǒng)應(yīng)用的開發(fā)不注重接口技術(shù),只是注重功能的實現(xiàn),而嵌入式系統(tǒng)注重外圍設(shè)備接口,驅(qū)動硬件系統(tǒng)完成系統(tǒng)功能,因此對系統(tǒng)開發(fā)流程和所需平臺環(huán)境有更高的要求,與PC機應(yīng)用是很大區(qū)別。由于PC機桌面應(yīng)用系統(tǒng)不需要硬件資源,而其軟件資源又相對豐富,可以直接建立本地開發(fā)調(diào)試環(huán)境,只需要一臺PC機即可,但嵌入式系統(tǒng)開發(fā)是基于硬件接口的,資源比較有限,需要借助PC機和自身開發(fā)平臺共同完成系統(tǒng)開發(fā)環(huán)境建立。本項目所使用的開發(fā)環(huán)境如圖2所示。
Intel DBPXA250開發(fā)板作為母版即目標機,支持ARM嵌入式內(nèi)核。選擇中等配置的PC機作為開發(fā)主機,兩者通信方式采用常見的串口連接或者網(wǎng)口連接。主機進行驅(qū)動程序的編寫、編譯、生成等過程,把生成好的機器代碼通過串口或者USB口下載到嵌入式開發(fā)硬件平臺上,驅(qū)動目標機運行。反復(fù)調(diào)試,直到滿足系統(tǒng)功能參數(shù),建立這樣的通信模式,主機可以遠程調(diào)試目標機上的程序代碼,有利于嵌入式系統(tǒng)的功能調(diào)試。
系統(tǒng)生成后,目標機和主機是獨立運行的,兩者之間互不影響,原始程序存儲在FLASH設(shè)備中,Linux系統(tǒng)在FLASH設(shè)備上采用MTD驅(qū)動機制,能夠完成多種操作文件的實現(xiàn)。通常采用YAFFS文件系統(tǒng)支持NAND FLASH設(shè)備,JFFS2文件系統(tǒng)滿足NOR FLASH和NAND FLASH設(shè)備需求。DBPXA250微處理器有NOR FLASH設(shè)備,便于目標機調(diào)試運行,入口地址開始處(0x00000000)存在FLASH三部分內(nèi)容,其中安裝了amrboot、zimage和JFFS2,其分區(qū)結(jié)構(gòu)如圖3所示。
圖3 DBPXA250 FLASH分區(qū)結(jié)構(gòu)
3.1 功耗分析
電源管理的主要作用是延長用電器設(shè)備的使用時間,這就需要盡量節(jié)省電池耗量。因此最重要的是知道電池的電量到底用到哪些地方,只有了解嵌入式系統(tǒng)的各部分用電情況,才能針對不同器件特性設(shè)計電源管理模式,達到有效控制電量的目的。本項目以ARM系列手持電子產(chǎn)品為例,分析各部分功能耗電情況,其分布圖如圖4所示。
圖4 系統(tǒng)耗電分布圖
可以看出,處理器和液晶顯示(燈光控制)幾乎占了用電量的80%左右,因此處理器和液晶顯示是本項目針對的主要對象。液晶顯示作為主要的外圍設(shè)備,在整個系統(tǒng)調(diào)試中都存在;處理器是嵌入式系統(tǒng)的核心,集成度比較高,連接著振蕩電路和電源電路,影響著整個系統(tǒng)的耗電情況。處理器由半導(dǎo)體放大電路組成,其功耗計算如下:
P=C·F·V2
其中P為功耗,C為半導(dǎo)體放大器門電容,F(xiàn)為頻率,V為電源供電電壓。半導(dǎo)體放大器門電容C一般是一個已知的量,不需要調(diào)整,而頻率和電壓可以根據(jù)系統(tǒng)在實際應(yīng)用中的環(huán)境因素動態(tài)進行調(diào)整。頻率和電壓之間成正比關(guān)系,也就是說高電壓支持高頻率運行,頻率和電壓要控制在一定比例內(nèi),其關(guān)系如下所示:F∞V。
一般CPU生產(chǎn)廠家會設(shè)置幾組頻率與供電電壓之間的組合,供用戶選擇使用。PXA250微處理器的硬件設(shè)備支持有效的電源管理模式,管理模式有多種選擇方式,工作頻率也可以進行動態(tài)調(diào)整,同時根據(jù)工作情況匹配工作頻率和供電電壓,這樣設(shè)計系統(tǒng)工作流程更加方便靈活。
3.2 系統(tǒng)設(shè)計
系統(tǒng)整體設(shè)計思路:以系統(tǒng)實際運行情況為準,以處理器為中心,控制系統(tǒng)各部分的耗電情況,完成整個系統(tǒng)在用電有差異情況下的變換,從而實現(xiàn)在系統(tǒng)完成功能的要求下,對不必要的功耗予以控制,有效降低用電量。作為整個系統(tǒng)的大腦,處理器管理著所有的器件和設(shè)備的用電情況,控制命令也由處理器來直接完成,所以處理器決定著嵌入式系統(tǒng)的整個工作狀態(tài)和用電情況。PXA250微處理器為使用者設(shè)置了4種工作模式來控制電量使用:
① 運行模式:是微處理器正常工作模式,所有電源都是打開的,支持所有器件運行狀態(tài),可以使用所有處理器內(nèi)部資源,處理器處于命令執(zhí)行。
② 增壓模式,系統(tǒng)處于全速運行模式,微處理器的運行頻率是運行模式的倍數(shù)關(guān)系,一般在系統(tǒng)負載比較大的時候選擇這種模式。
③ 閑置模式,處于這種模式下微處理器是停止工作的,其他器件是正常運行的,處理器只是實時查詢系統(tǒng)內(nèi)外的中斷微處理事件,發(fā)生中斷請求,處理器就會響應(yīng)中斷,自動激活,進入運行模式。
圖5 處理器工作模式轉(zhuǎn)換關(guān)系
④ 睡眠模式,這種模式結(jié)合了閑置模式的優(yōu)勢,處理器和其他器件都停止運行,在需要工作運行時,只是激活必要的工作器件,其他不需要工作的器件還是處于睡眠狀態(tài)。這是系統(tǒng)耗電最少的一種模式,主要是利用減少不工作的器件數(shù)量來降低電源電壓。以某一確定時刻,微處理器運行狀態(tài)處于其中一種模式,模式之間轉(zhuǎn)換可以通過軟件設(shè)置或者硬件搭建實現(xiàn)。各種模式之間的轉(zhuǎn)換如圖5所示。
可以看出,系統(tǒng)通電后進入的是運行模式,運行模式可以和其他模式進行雙向直接切換,其他三種模式不能直接切換,必須通過運行模式間接地切換到其他模式,因此運行模式是所有模式轉(zhuǎn)換的紐帶。項目組設(shè)計的電源管理模塊就是利用這種思路,以運行為中心點,和其他三種模式控制雙向切換,以系統(tǒng)需求為導(dǎo)向,管理用電量。其中增壓模式是處理器超負荷運行狀態(tài),和運行模式轉(zhuǎn)換即可通過軟件實現(xiàn),項目組采用系統(tǒng)負載統(tǒng)計算法來降低轉(zhuǎn)換用電量。
電源管理涉及軟件和硬件兩方面內(nèi)容,兩者之間是不可分割的部分,由于使用者對處理器工作模式不熟悉導(dǎo)致效率低且?guī)砹朔N種的不方便,而且集成電路中的外部設(shè)備在處理器上使用時都需要接口驅(qū)動程序,所以電源管理模式最好是設(shè)定在處理器內(nèi)核空間上,同時應(yīng)用已有的操作系統(tǒng)MTD驅(qū)動機制制定應(yīng)用層的驅(qū)動接口,減少安裝驅(qū)動程序。這樣設(shè)計的好處是提供匹配的電源管理接口,用戶可以直接使用,有效地提高了電源管理模塊訪問硬件設(shè)備的利用率,兼容了其他系統(tǒng),互相操作。系統(tǒng)層次結(jié)構(gòu)如圖6所示。
圖6 系統(tǒng)層次結(jié)構(gòu)
從系統(tǒng)層次結(jié)構(gòu)看,電源管理模塊占用的是操作系統(tǒng)服務(wù)層的內(nèi)核空間,上一層就是面向用戶服務(wù)的應(yīng)用層,下一層是硬件平臺,通過驅(qū)動程序來控制實現(xiàn),也可以和其他系統(tǒng)兼容,達到電源的有效管理。
3.3 動態(tài)電源管理模型
對于小型電子產(chǎn)品,電源管理的主要作用是讓其在一次性充滿電后,使用更長的時間,降低系統(tǒng)功耗,前提是系統(tǒng)所有的功能都能正常使用,而不是減少系統(tǒng)功能去降低功耗。而相對于用電量比較大的負載,只能先滿足其用電需求,保證用戶能夠正常使用,這時功耗是不能降低的,否則影響系統(tǒng)響應(yīng)。例如一些視頻圖像程序或者大批量數(shù)據(jù)計算時,系統(tǒng)運行承受的負載就偏大,此時只有調(diào)整處理器的工作頻率,加快運行速度,才能使系統(tǒng)有足夠的時間去響應(yīng)。經(jīng)過多次實驗驗證得出,短暫提高處理器的工作頻率增加了系統(tǒng)功耗,但從長時間運行統(tǒng)計看,整體功耗是降低了,反而對系統(tǒng)是有利的。所以動態(tài)電源管理模型是以處理器調(diào)頻為依據(jù)的,主要目的是降低整體系統(tǒng)功耗,動態(tài)地根據(jù)系統(tǒng)實際運行需求調(diào)整處理器的工作頻率。動態(tài)電源管理系統(tǒng)模型如圖7所示。
圖7 動態(tài)電源管理系統(tǒng)模型
動態(tài)電源管理模型中,觀察者的主要功能是查詢系統(tǒng)正在運行的情況,統(tǒng)計和運算系統(tǒng)工作負載信息,將獲取的信息傳遞給控制者,控制者根據(jù)工作負載的
變化情況控制調(diào)整系統(tǒng)運行頻率。規(guī)則是負載大則提高處理器工作頻率,負載變化趨勢小則降低處理器工作頻率,使系統(tǒng)用電量始終處于平衡狀態(tài)。
[1] 邢向磊,周余,都思丹.基于嵌入式Linux系統(tǒng)的電源管理軟件[J].計算機工程,2010,36(1):253-255.
[2] 田冰超.Linux電源管理詳解[J].硅谷,2015(2):15.
[3] 朱超軍.嵌入式設(shè)備動態(tài)電源管理初探[J].中國新技術(shù)新產(chǎn)品,2015(6):150-151.
[4] 許文杰,丁志剛,張偉宏.基于Monahans的嵌入式電源管理方案[J].嵌入式工程,2014,35(19):254-256.
[5] 雷霆,李曦,周學(xué)海.低能耗軟件設(shè)計中的性能無損電壓調(diào)度技術(shù)研究[J].計算機研究與發(fā)展,2014,43(6):1090-1096.
[6] 唐志芳,時海濤,魯華祥.基于BP神經(jīng)網(wǎng)絡(luò)的系統(tǒng)級電源管理算法[J].計算機工程,2006,32(4):214.
[7] 易會戰(zhàn),陳娟,楊學(xué)軍.基于語法樹的實時動態(tài)電壓調(diào)節(jié)低功耗算法[J].軟件學(xué)報,2015(10):1726-1734.
[8] 卜愛國,李杰,王超.嵌入式系統(tǒng)動態(tài)電源管理技術(shù)研究[J].單片機與嵌入式系統(tǒng)應(yīng)用,2008(10).
[9] 吳快快,都思丹.基于Linux的便攜嵌入式設(shè)備電源管理解決方案[J].微處理機,2005(5).
李成勇(講師),主要研究方向為電子設(shè)計及嵌入式系統(tǒng)應(yīng)用。
ApplicationofDynamicPowerManagementinEmbeddedSystem
LiChengyong
(School of Electronic and IoT,Chongqing Institute of Engineering,Chongqing 400056,China)
In the paper,sleep/wake functions of embedded system are used to set a free time slot for the system,which can be used for the power management.On the basis,the dynamic power management mode is proposed using the embedded system CPU frequency modulation mode.The load in the system idle time cycle statistics is used as the calculation method,and the adjustment of the output frequency of the controller corresponds to the frequency of the load changes.The power management solution uses the dynamic concept,and meets the electricity use cycle.It ensures the system stability,and reduces the power consumption at the same time.
dynamic power;embedded system;CPU;ARM
重慶市教委科學(xué)技術(shù)研究項目《基于光學(xué)式的多點觸摸識別技術(shù)的應(yīng)用研究》(604162762KJ201)。
TN713
A
2017-08-22)