<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

          Windows Mobile電源管理分析與實現(xiàn)

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

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

          本文引用地址:http://www.ex-cimer.com/article/181137.htm


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

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


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();