S3C2440A嵌入式手持終端電源管理系統(tǒng)設(shè)計
3.2 軟件設(shè)計
為了實現(xiàn)節(jié)能,電源管理系統(tǒng)必須通過軟件控制系統(tǒng)的功耗。
3.2.1 總體架構(gòu)
電源管理系統(tǒng)軟件整體架構(gòu)如圖6所示。本文引用地址:http://www.ex-cimer.com/article/181206.htm
電源管理軟件設(shè)計可分為:操作系統(tǒng)層和應(yīng)用層。
(1)操作系統(tǒng)層
電源管理的功能執(zhí)行層,它管理系統(tǒng)中的各個部件(包括處理器和所有外設(shè)),并對具體的電源管理動作進(jìn)行封裝。操作系統(tǒng)層的電源管理有3方面內(nèi)容。
①處理器電源管理:執(zhí)行由處理器完成的電源管理任務(wù)。包括以下3方面:
◆DVS。動態(tài)核電壓和頻率調(diào)整,以及系統(tǒng)總線的頻率調(diào)整。
◆模式管理。系統(tǒng)運行模式管理,實現(xiàn)系統(tǒng)運行模式的切換,如休眠喚醒、空閑忙碌等功能。
◆RTC。系統(tǒng)時鐘和RTC時鐘的維護(hù)等。
②電池管理:監(jiān)測電池電量,響應(yīng)電池狀態(tài)的變化(充放電)。
③設(shè)備電源管理:包括系統(tǒng)中的所有設(shè)備。在系統(tǒng)睡眠喚醒時,每一個設(shè)備都需要配合系統(tǒng)的動作進(jìn)行休眠喚醒。如果設(shè)備在系統(tǒng)要休眠時處于忙碌狀態(tài),它可以拒絕系統(tǒng)的休眠要求,從而阻止整個系統(tǒng)進(jìn)入休眠。
(2)應(yīng)用層
最上層,實現(xiàn)系統(tǒng)的電源管理策略。電源管理策略與操作系統(tǒng)層進(jìn)行交互,從操作系統(tǒng)層獲得系統(tǒng)的狀態(tài)信息,根據(jù)系統(tǒng)狀態(tài)采取相應(yīng)措施,并將自己的決定通知操作系統(tǒng),調(diào)用相應(yīng)功能接口執(zhí)行電源管理。
為了降低策略實現(xiàn)的復(fù)雜度,增強策略調(diào)整的靈活性,電源管理策略主要在應(yīng)用層,利用QTopia的事件管理和定時器功能來實現(xiàn)。電源管理應(yīng)用程序位于系統(tǒng)的最上端,直接與用戶進(jìn)行交互,用戶可以在這些應(yīng)用程序中對電源管理策略進(jìn)行配置。這些應(yīng)用程序包括電池管理程序、背光調(diào)整程序、超時時間設(shè)定程序、開關(guān)機(jī)程序等。本文只介紹電池管理程序的實現(xiàn)。
3.2.2 電池管理程序?qū)崿F(xiàn)
鋰離子電池檢測與充電保護(hù)電路芯片采用DS2760。CPU通過DS2760的DQ引腳讀取內(nèi)部寄存器的數(shù)據(jù),獲得電池的運行狀態(tài),以便上層的應(yīng)用程序?qū)﹄姵剡M(jìn)行管理。底層驅(qū)動程序主要實現(xiàn)設(shè)備的注冊等功能。上層應(yīng)用程序主要包括ds2760.c和Qtopia圖形界面程序light-and-power。ds2760.c主要完成電池電壓、電流的讀寫。例如讀電壓由函數(shù)Read_Voltage完成,代碼如下:
light_and_power程序完成圖形界面的電源管理應(yīng)用于。程序流程如圖7所示。
4 系統(tǒng)功耗測試
系統(tǒng)功耗的高低代表系統(tǒng)運行時間和待機(jī)時間的長短,反映電源管理系統(tǒng)性能的高低。為了評估手持終端整體功耗以及各個主要模塊的功耗,需要對系統(tǒng)在不同負(fù)載情況下的電池輸出電流進(jìn)行測量。表1是系統(tǒng)正常模式、在不同模塊配置下的鋰離子電池供電電流值實測數(shù)據(jù)。內(nèi)部電池供電為負(fù)值。
結(jié)論:正常情況下,如果所有模塊都開啟,手持終端整體功耗電流約為0.496 A,基本滿足設(shè)計的要求。LCD、GPS、GPRS三個部分約占總功耗的52.6%。
結(jié) 語
本文以實現(xiàn)功耗低、體積小、性能穩(wěn)定的嵌入式手持終端電源管理系統(tǒng)為目標(biāo),設(shè)計了基于S3C2440A的嵌入式手持終端電源管理系統(tǒng),對于其他嵌入式手持終端電源管理系統(tǒng)的設(shè)計具有一定的參考價值。
評論