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