新聞中心

EEPW首頁 > 模擬技術(shù) > 設計應用 > 移動嵌入式WinCE電源管理應對有技巧

移動嵌入式WinCE電源管理應對有技巧

作者: 時間:2011-03-16 來源:網(wǎng)絡 收藏
POWER_STATUS_EX2,DWORD dwLen,BOOL fUpdate)來查詢。函數(shù)用三個參數(shù)來告訴WinCE系統(tǒng)查詢電池驅(qū)動最后的信息或者直接返回電池緩存中的信息,系統(tǒng)大約每5秒查詢一次電池狀態(tài)。又因為WinCE不驗證電池驅(qū)動返回的數(shù)據(jù),因此不同的系統(tǒng)有不同的變化,這個函數(shù)返回來的數(shù)據(jù)是主要依賴于電池驅(qū)動。例如,許多系統(tǒng)在使用AC電源時不報告精確的電源級數(shù),另一些系統(tǒng)則相反。

(2)改變電源狀態(tài)

應用程序能通過一系列的方式改變系統(tǒng)的電源狀態(tài),在WinCE中首選的方式是使用電源管理程序。電源管理程序提供函數(shù)來允許應用程序來控制電源狀態(tài),如應用程序通過調(diào)用函數(shù)SetSystemPowerState來請求特定的電源狀態(tài)。一般有兩個方式來控制電源,第一個方式是應用程序給定一個電源設定;第二個方式是應用程序請求電源狀態(tài)不要低于給定的級別。

常見的例如:①關閉電源,應用程序通過調(diào)用GwesPowerOffSystem函數(shù)掛起系統(tǒng),如函數(shù)void GwesPowerOffSystem(void)的調(diào)用就會掛起系統(tǒng)。② 關閉屏幕,如果系統(tǒng)是有色背光顯示,那么主要的電源消耗不是CPU而是背光。在某一些環(huán)境下,一個應用程序運行時并不需要顯示在屏幕上。例如音樂播放器應用程序,當用戶聽音樂的時候不關注屏幕,在這些情形下關閉背光將意味著提高電池壽命。當然,當用戶想看屏幕時,任何關閉背光應用程序就需要一個簡單的方式來重新打開屏幕。顯示控制是通過Ext-Escape函數(shù)實現(xiàn),這個函數(shù)允許應用程序打開或關閉顯示。另外,WinCE沒有一個統(tǒng)一的方式來控制背光的亮度,每個系統(tǒng)都有它自己的OEM特有方式來控制背光亮度。③打開系統(tǒng)電源,意思是說當被掛起的應用程序要再次運行時,必須要有一個方式來喚醒一個掛起的系統(tǒng)電源。方法可以是應用程序通過使用消息API(Notification API)把系統(tǒng)喚醒。在一般情況下,OEM廠商會分配一些中斷條件以便電源打開或喚醒。

(3)防止系統(tǒng)關閉電源

另一方面,防止系統(tǒng)掛起也是一個重要的問題。WinCE系統(tǒng)通常被設置為當一段時間沒有用戶輸入就自動掛起。因此,如果定時器到達預先的沒有用戶輸入的間隔,系統(tǒng)會自動掛起。當要防止自動掛起時,應用程序可以周期性地調(diào)用這個函數(shù):void WINAPI SystemIdleTimerReset (void),這個函數(shù)能重設WinCE用來監(jiān)視用戶輸入的定時器。所以當一個應用程序需要更改超時值時,就可以通過調(diào)用SystemIdleTimerReset把掛起超時值改變。一般來說,WinCE系統(tǒng)維護三個超時值,防止電源被自動掛起可以使用SystemParametersInfo來查詢這三個值,并在最短時間內(nèi)返回調(diào)用SystemIdleTimerReset。如果超時值被設置為0,表示超時值被禁止。

(4)電源通知

最后,電源管理程序還有一個十分受歡迎的特點,就是可以在系統(tǒng)電源狀態(tài)改變時通知應用程序,這可以讓應用程序從手動檢測電源狀態(tài)中解脫出來。應用程序通過調(diào)用RequestPowerNotifications請求電源管理程序當電源狀態(tài)改變的時候,發(fā)送一個通知給應用程序,電源管理程序再通過一個由應用程序建立的消息隊列發(fā)送此通知。

總之,嵌入式電源管理在WinCE系統(tǒng)是一個快速發(fā)展的研究課題。它對移動嵌入式產(chǎn)品的設計具有關鍵性影響,一個高效的電源管理設計可以幫助移動嵌入式產(chǎn)品在市場競爭中脫穎而出,克敵制勝。


上一頁 1 2 下一頁

評論


相關推薦

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

關閉