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