引 言
電源管理(Power Management,,PM)是電子系統(tǒng)中必不可少的技術,。由于采用了先進的電源管理技術,,移動電話,、PDA等產品得到了廣泛的應用,。如果不采用完善的電源管理技術,,移動電話的通話時間可能不超過2 min,。隨著人們對嵌入式手持終端設備功能水平要求的不斷提高,手持終端的功耗也在不斷增高,。與之相矛盾的是,,手持終端的尺寸卻在不斷縮小,工作時間也在不斷延長,,使嵌入式手持終端電源系統(tǒng)管理面臨越來越大的壓力,。如何設計出性能穩(wěn)定,、功耗低的電源管理系統(tǒng)已經成為嵌入式手持終端設備開發(fā)的難點之一。本文重點介紹基于微處理器S3C2440A的手持終端電源管理系統(tǒng),。
1 供電需求
手持終端的CPU采用三星公司的ARM920T內核處理器S3C2440A,。S3C2440A是專門為各類手持終端而設計的高性能嵌入式微處理器,主頻可達400 MHz,,具有外圍接口豐富,、體積小、功耗低等特點,。
S3C2440A有4種工作模式:正常模式,、慢模式、空閑模式,、睡眠模式,。4種模式之間可以相互轉換,區(qū)別主要在于處理器工作頻率,、工作電壓和設備組合的不同,。本設計中主要針對正常模式和睡眠模式采用不同的電源管理策略。
1.1 正常模式下供電需求
在正常模式下,,CPU以及外圍部件都需要供電,。外圍部件主要包括Flash、SDRAM,、GPRS,、GPS、無線模塊,、LCD,、觸摸屏等部分。硬件結構如圖1所示,。
CPU電壓分為2組:核心電壓為1.2 V,;I/O引腳電壓為3.3 V。USB和GPS供電電壓為5 V,。LCD的供電電路比較復雜,,需要專用的驅動芯片為其供電。由于現在幾乎所有的手持終端都是彩屏,,作為調節(jié)LCD背光亮度的LED也需專門的驅動電路,。其余部分(如GPRS,、無線模塊,、音頻等)都為3.3 V。
1.2 休眠模式下供電需求
CPU 90%以上的時間處于休眠模式,,休眠狀態(tài)下電源管理的好壞對于手持終端工作時間的長短起著決定性作用,。圖2是手持終端在休眠模式下供電需求,。
休眠模式下,外部需要通過VDDalive端口為CPU內部能量控制模塊提供1.2 v/1.3 V電壓,,為存儲器接口電源VDDMOP,、ADC端口電源VDD_ADC、I/O端口電源VDDOP提供3.3 V電壓,。實時時鐘需要在休眠模式和系統(tǒng)關機時依然對其供電,。PWREN為控制信號,在CPU進入睡眠后,,PWREN為低電平,,可通過此引腳關閉睡眠模式下不使用的模塊。
2 電源管理策略
2.1 正常模式下電源管理策略
正常模式下的電源管理主要是通過控制外設控制器的開關來達到節(jié)約能量的目的,。S3C2440A外設接口控制器豐富,,但這些控制器不一定同時都用到。通過設置寄存器可以有選擇地關閉不需要的功能模塊,,盡量將不使用的控制器關閉,,盡可能節(jié)省功耗。因為如果不將其關閉,,即使它們沒有處于工作狀態(tài),,仍然會消耗電流。
2.2 休眠模式下電源管理策略
休眠模式下,,主要采用Time-out策略,,如圖3所示。系統(tǒng)完成所有任務后,,如果持續(xù)時間超過某一閾值(該時間間隔可由系統(tǒng)提供的計時模塊設定),,電源管理模塊將系統(tǒng)轉換至休眠狀態(tài),直到有新任務請求到達時再喚醒系統(tǒng),,則執(zhí)行任務,。通過這種方式達到降低系統(tǒng)設備功耗的目的。
3 電源管理系統(tǒng)設計
3.1 硬件設計
嵌入式手持終端電源管理系統(tǒng)硬件設計必須同時滿足CPU正常模式和休眠模式的供電需求,。
3.1.1 休眠模式下供電電路
休眠模式下供電電路如圖4所示,。電池的電源經過Buck變換器后,輸出3.3 V供給I/O,、VDDalive等端口,;3.3 V經過LDO變換器輸出1.2 V,為休眠時CPU內部能量管理模塊供電,。電池電壓經過LDO變換器輸出3.3 V,,直接給實時時鐘RTC供電,只要手持終端電池電壓大于3.3 V,,系統(tǒng)RTC就會工作,。使用LDO變換器為RTC供電是因為輸入,、輸出電壓差別不大,效率較高,。但是,,CPU的1.2 V電壓通過Buck變換器和LDO變換器得到,LDO的效率雖然不到50%,,但比Buck變換器高,。
3.1.2 正常模式下供電電路
正常模式下供電電路如圖5所示。從圖中可看出,,電路共包括3個子模塊:電池管理,、電壓管理和負載管理。
電池管理:主要由鋰離子充電電路和充電監(jiān)控電路組成,。外接直流電源通過充電電路為鋰離子充電電池充電,,充電完畢后充電電路自動關閉充電。
電壓管理:所有在睡眠模式下不需要提供電源的模塊,,其電源供應都必須通過休眠控制部分進行控制,,在系統(tǒng)休眠時關閉各個不使用模塊的電源。所有在休眠模式下需要供電的模塊均不通過休眠控制,,直接通過電池電壓變換后供電,,或者通過主電源直接或間接變換得到。負載管理:在不使用模塊時,,通過GPIO口關閉可降低功耗,。
3.2 軟件設計
為了實現節(jié)能,電源管理系統(tǒng)必須通過軟件控制系統(tǒng)的功耗,。
3.2.1 總體架構
電源管理系統(tǒng)軟件整體架構如圖6所示,。
電源管理軟件設計可分為:操作系統(tǒng)層和應用層。
(1)操作系統(tǒng)層
電源管理的功能執(zhí)行層,,它管理系統(tǒng)中的各個部件(包括處理器和所有外設),,并對具體的電源管理動作進行封裝。操作系統(tǒng)層的電源管理有3方面內容,。
?、偬幚砥麟娫垂芾恚簣?zhí)行由處理器完成的電源管理任務。包括以下3方面:
◆DVS,。動態(tài)核電壓和頻率調整,,以及系統(tǒng)總線的頻率調整。
◆模式管理,。系統(tǒng)運行模式管理,,實現系統(tǒng)運行模式的切換,如休眠喚醒,、空閑忙碌等功能,。
◆RTC,。系統(tǒng)時鐘和RTC時鐘的維護等,。
?、陔姵毓芾恚罕O(jiān)測電池電量,響應電池狀態(tài)的變化(充放電),。
?、墼O備電源管理:包括系統(tǒng)中的所有設備。在系統(tǒng)睡眠喚醒時,,每一個設備都需要配合系統(tǒng)的動作進行休眠喚醒,。如果設備在系統(tǒng)要休眠時處于忙碌狀態(tài),它可以拒絕系統(tǒng)的休眠要求,,從而阻止整個系統(tǒng)進入休眠,。
(2)應用層
最上層,實現系統(tǒng)的電源管理策略,。電源管理策略與操作系統(tǒng)層進行交互,,從操作系統(tǒng)層獲得系統(tǒng)的狀態(tài)信息,根據系統(tǒng)狀態(tài)采取相應措施,,并將自己的決定通知操作系統(tǒng),,調用相應功能接口執(zhí)行電源管理。
為了降低策略實現的復雜度,,增強策略調整的靈活性,,電源管理策略主要在應用層,利用QTopia的事件管理和定時器功能來實現,。電源管理應用程序位于系統(tǒng)的最上端,,直接與用戶進行交互,用戶可以在這些應用程序中對電源管理策略進行配置,。這些應用程序包括電池管理程序,、背光調整程序、超時時間設定程序,、開關機程序等,。本文只介紹電池管理程序的實現。
3.2.2 電池管理程序實現
鋰離子電池檢測與充電保護電路芯片采用DS2760,。CPU通過DS2760的DQ引腳讀取內部寄存器的數據,,獲得電池的運行狀態(tài),以便上層的應用程序對電池進行管理,。底層驅動程序主要實現設備的注冊等功能,。上層應用程序主要包括ds2760.c和Qtopia圖形界面程序light-and-power。ds2760.c主要完成電池電壓,、電流的讀寫,。例如讀電壓由函數Read_Voltage完成,,代碼如下:
light_and_power程序完成圖形界面的電源管理應用于。程序流程如圖7所示,。
4 系統(tǒng)功耗測試
系統(tǒng)功耗的高低代表系統(tǒng)運行時間和待機時間的長短,,反映電源管理系統(tǒng)性能的高低。為了評估手持終端整體功耗以及各個主要模塊的功耗,,需要對系統(tǒng)在不同負載情況下的電池輸出電流進行測量,。表1是系統(tǒng)正常模式、在不同模塊配置下的鋰離子電池供電電流值實測數據,。內部電池供電為負值,。
結論:正常情況下,如果所有模塊都開啟,,手持終端整體功耗電流約為0.496 A,,基本滿足設計的要求。LCD,、GPS,、GPRS三個部分約占總功耗的52.6%。
結 語
本文以實現功耗低,、體積小,、性能穩(wěn)定的嵌入式手持終端電源管理系統(tǒng)為目標,設計了基于S3C2440A的嵌入式手持終端電源管理系統(tǒng),,對于其他嵌入式手持終端電源管理系統(tǒng)的設計具有一定的參考價值,。