<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 電源與新能源 > 設計應用 > Windows Mobile電源管理分析與實(shí)現

Windows Mobile電源管理分析與實(shí)現

作者: 時(shí)間:2009-12-21 來(lái)源:網(wǎng)絡(luò ) 收藏

(6)配置PWER,PRER或PFER寄存器,以使能特定的喚醒源,這里設置RTC、來(lái)電RING中斷和鍵的喚醒;
(7)保存當前處理器模式的狀態(tài)寄存器,保存MMU寄存器,保存Restlme的返回地址XllpRes-umePhase3,回寫(xiě)Cache,配置CP14寄存器CR7,讓處理器進(jìn)入sleep模式。到此,PXA270進(jìn)入sleep模式,系統處于Suspend狀態(tài)。
2.1.3 Resume流程
總的說(shuō)來(lái),Resume流程與Suspend是相反的,處理器初始化之后,會(huì )載入Suspend之前保存在SDRAM中的各種狀態(tài)參數,恢復之前狀態(tài),其流程簡(jiǎn)要介紹如下:
(1)當已使能的喚醒事件發(fā)生時(shí)。處理器會(huì )從BootLoader啟動(dòng),進(jìn)行基本的硬件初始化之后。會(huì )判斷是Reset,還是sleep Resume,如果是后者,則會(huì )跳轉到Xllp_ResumePhase2A;
(2)在Xllp_ResumePhase2A中首先會(huì )將保存在PSPR中的參數取出,檢查無(wú)錯誤后,重新配置好MMU,載入處理器狀態(tài)寄存器和堆棧,跳轉至XllpRe-sumePhase3;
(3)在XllpResumePhase3載入所在環(huán)境的處理器狀態(tài)寄存器,接著(zhù)逐級返回至OEMPowerOff函數,在OEMPowerOff函數中會(huì )獲得喚醒源,然后退出;
(4)此時(shí)系統由Power Manager置于Resuming狀態(tài),Power Manager 根據喚醒源判斷是否將系統置于ON,還是繼續Suspend。
此時(shí),系統狀態(tài)已經(jīng)恢復至睡眠之前,結束了Re-sume流程,完成對系統的喚醒。
2.2 設備驅動(dòng)
除了對處理器的電源,Power Manager還有一個(gè)主要工作就是平臺上設備的電源。對于只有ON和OFF兩種電源狀態(tài)的設備,Power Manager通過(guò)DeviceIOControl在Suspend和Resuming時(shí)分別調用各設備驅動(dòng)中的PowerUp和PowerDown函數,以開(kāi)啟和關(guān)閉設備。在該平臺上大多數設備都屬于這種管理方式,包括LCD,Aladio Codec等,這些工作主要是在Wince流驅動(dòng)的IOControl中執行一些開(kāi)啟或者關(guān)閉處理器I/O電源的操作。
對于GSM和藍牙等較復雜的設備,需要能及時(shí)喚醒,如在系統Suspend來(lái)電時(shí),GSM模塊需快速喚醒并做出響應,因此這些設備也支持sleep等模式。在進(jìn)入Suspend會(huì )相應調用這些設備驅動(dòng)的sleep函數,進(jìn)入設備的省電模式,而在Resuming時(shí)也會(huì )調用對應的退出sleep的函數,以快速喚醒。
2.3 應用程序電源管理的實(shí)現
在此以自己編寫(xiě)的基于DirectDraw的照相程序為例來(lái)說(shuō)明應用程序中電源管理的實(shí)現。
首先,在開(kāi)啟照相程序時(shí),預覽一段時(shí)間沒(méi)有操作后,不希望按照定時(shí)器的值進(jìn)入Suspend,此時(shí)需定時(shí)修改SuspendTimeout,以阻止系統進(jìn)入睡眠狀態(tài)。具體做法是:?jiǎn)?dòng)一個(gè)30 s的定時(shí)器,每30 s調用一次SystemIdleTimerReset函數。另外,由于該照相程序是Overlay顯示效果,在進(jìn)入拍照程序后,如果按下電源鍵進(jìn)入Suspend狀態(tài),再喚醒時(shí)系統仍處于拍照程序,但是由于PXA270的LCDController沒(méi)有再次創(chuàng )建Overlay層,因此程序不能顯示圖像。從使用者的角度考慮,在系統Reume之后照相程序應能恢復正常。做法如下:在程序中創(chuàng )建一個(gè)線(xiàn)程,用CreateMsgQueue創(chuàng )建一個(gè)消息隊列,調用RequestPowerNotifications申請獲得電源管理消息,然后調用WaitForSingleOb-ject等待通知,當收到Suspend的消息時(shí),對程序窗口發(fā)送重新初始化Overlay的消息,在Resume后,程序會(huì )馬上執行重新初始化的流程,照相程序恢復正常。

本文引用地址:http://dyxdggzs.com/article/181137.htm


3 數據
對系統運行時(shí)幾個(gè)典型電源狀態(tài)的電流值做了測量,數據如表1所示。

4 結 語(yǔ)
對于1 200 mA/h的電池,該智能手機平臺能達到160 h左右的理論待機時(shí)間,以及3 h左右的通話(huà)時(shí)間。另外,睡眠及喚醒的響應時(shí)間也在1 s左右,表明Power Manager達到了提高電池電源使用效率的目標,基本滿(mǎn)足實(shí)際應用的需求。


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>