基于便攜嵌入式設(shè)備電源管理解決方案
發(fā)布時間:2008/5/28 0:00:00 訪問次數(shù):329
隨著各種便攜嵌入式設(shè)備性能的日益提高,功能日益豐富,其電源緊張的問題也日益突出,國內(nèi)新推出的某些具有pda等多種功能的智能電話在密集使用下只能維持半天,多數(shù)攝像機和數(shù)碼相機在一次充電后都只有一個小時左右的累積工作時間。linux作為一個開放源代碼的操作系統(tǒng),擁有非常豐富的軟件資源和平臺支持,這使得嵌入式系統(tǒng)開發(fā)的周期大大縮短,越來越多的商用和通用嵌入式系統(tǒng)都采用linux作為軟件平臺。因此有必要對linux系統(tǒng)的電源管理機制進行深入研究。
linux內(nèi)核電源管理機制分析
linux作為一個強大而成熟的操作系統(tǒng),本身提供了一套從用戶空間到系統(tǒng)空間的,由上而下的軟件電源管理機制。
電源管理子系統(tǒng)
linux內(nèi)核實現(xiàn)了一個電源管理子系統(tǒng)用于統(tǒng)一管理每個設(shè)備。源代碼pm.h和pm.c中定義和實現(xiàn)了主要的接口函數(shù)。如表1所示。
通過這些接口函數(shù)就可以將自己的硬件設(shè)備納入電源管理子系統(tǒng)使其成為系統(tǒng)電源管理的一部分。這需要在編寫設(shè)備驅(qū)動程序的時候完成下面的工作:
(1)在初始化驅(qū)動時,使用pm_ register對設(shè)備的每個實例( instance)進行注冊;在清除驅(qū)動時使用pm_unregister來取消設(shè)備的注冊。
(2)在對硬件進行操作之前調(diào)用pm_access (這樣會保證設(shè)備已被喚醒并且處于ready狀態(tài)) 。
。3)編寫自己的pm _callback函數(shù)。開發(fā)人員應(yīng)該在設(shè)備或系統(tǒng)進入suspend狀態(tài)時保留設(shè)備和系統(tǒng)的上下文到安全的地方,并在設(shè)備或系統(tǒng)re -sume時恢復(fù)其上下文,使之能夠繼續(xù)運行,編寫pm_callback函數(shù)是驅(qū)動實現(xiàn)設(shè)備電源管理的重點。
。4)當(dāng)設(shè)備不在被使用的時候調(diào)用pm_dev_idle函數(shù),這個操作是可選的,可以增強設(shè)備idle狀態(tài)的監(jiān)測能力。
電源管理設(shè)備
將設(shè)備加入到電源管理子系統(tǒng)后,該設(shè)備就已經(jīng)有了處理電源管理請求的能力,但是系統(tǒng)的電源管理行為并不會主動發(fā)生。因此還需要一個電源管理設(shè)備來接受用戶請求,產(chǎn)生電源管理行為。這里所指的設(shè)備并不是一個真實的硬件設(shè)備,而是一個在linux系統(tǒng)空間里接受用戶控制的虛擬設(shè)備,它可以是一個簡單的字符型設(shè)備。有了這個設(shè)備,就可以方便的實現(xiàn)來自于用戶空間的電源管理請求和方案。linux電源管理行為過程如圖1所示。
圖1 linux電源管理行為過程
linux的電源管理機制在ipaq上的應(yīng)用
ipaq是康柏公司(現(xiàn)在已和惠普公司合并)推出的基于strongarm cpu 的高性能掌上電腦,不僅提供了卓越的個人信息管理工具,還集成了較為強大的多媒體功能和其他娛樂功能。linux 2.4的內(nèi)核已經(jīng)被成功的移植到上面,基于linux系統(tǒng)眾多的應(yīng)用軟件也已經(jīng)或正在被移植。
ipaq硬件耗電量分析
要實現(xiàn)對ipaq 耗電量的有效調(diào)節(jié),就必須清楚各個硬件耗電量,從而確定出需要管理和調(diào)節(jié)的對象。ipaq上的各種硬件的耗電量比例如圖2所示。
圖2 ipaq上的各種硬件的耗電量比例
可見,frontlight、lcd、sdram、audio、cpu等是主要的耗電設(shè)備,應(yīng)該盡可能的減少這些設(shè)備的工作時間和強度,以減少耗電量,其關(guān)鍵步驟如下:首先,開啟sdram的自動節(jié)能模式。ipaq所使用的sa -1110支持sdram的自動節(jié)能模式;在這種模式中,當(dāng)內(nèi)存不被使用時, cpu 將關(guān)閉輸入到內(nèi)存的時鐘信號,內(nèi)存停止工作;這樣將減少大約190mw的功率。
接著,調(diào)節(jié)顯示驅(qū)動?梢赃x擇( 1)在必要的時候關(guān)閉背光; ( 2)降低lcd的刷新率。lcd在正常情況下刷新率是60hz,通過調(diào)節(jié)lcd 定時器可以調(diào)節(jié)lcd的刷新率使其低于60hz。降低lcd刷新率后,可以減少sdram,總線的使用和減少功耗; (3)在不使用屏幕的時候關(guān)閉lcd控制器。
隨后,降低時鐘頻率。sa - 1110的時鐘頻率可以在57. 3mhz到214. 8mhz之間動態(tài)調(diào)節(jié)。降低cpu時鐘頻率可以減少cpu本身的功耗,同時也能減少時鐘由cpu提供的其他硬件的功耗。例如: sa- 1110工作在最低頻率時可比工作在最高頻率時減少100mw到200mw的功耗。
最后,關(guān)閉音頻芯片。在不使用聲音的時候,盡量關(guān)閉音頻芯片,并保持cpu 到音頻芯片的低輸入。
通過linux電源管理機制及上層應(yīng)用實現(xiàn)對ip
隨著各種便攜嵌入式設(shè)備性能的日益提高,功能日益豐富,其電源緊張的問題也日益突出,國內(nèi)新推出的某些具有pda等多種功能的智能電話在密集使用下只能維持半天,多數(shù)攝像機和數(shù)碼相機在一次充電后都只有一個小時左右的累積工作時間。linux作為一個開放源代碼的操作系統(tǒng),擁有非常豐富的軟件資源和平臺支持,這使得嵌入式系統(tǒng)開發(fā)的周期大大縮短,越來越多的商用和通用嵌入式系統(tǒng)都采用linux作為軟件平臺。因此有必要對linux系統(tǒng)的電源管理機制進行深入研究。
linux內(nèi)核電源管理機制分析
linux作為一個強大而成熟的操作系統(tǒng),本身提供了一套從用戶空間到系統(tǒng)空間的,由上而下的軟件電源管理機制。
電源管理子系統(tǒng)
linux內(nèi)核實現(xiàn)了一個電源管理子系統(tǒng)用于統(tǒng)一管理每個設(shè)備。源代碼pm.h和pm.c中定義和實現(xiàn)了主要的接口函數(shù)。如表1所示。
通過這些接口函數(shù)就可以將自己的硬件設(shè)備納入電源管理子系統(tǒng)使其成為系統(tǒng)電源管理的一部分。這需要在編寫設(shè)備驅(qū)動程序的時候完成下面的工作:
。1)在初始化驅(qū)動時,使用pm_ register對設(shè)備的每個實例( instance)進行注冊;在清除驅(qū)動時使用pm_unregister來取消設(shè)備的注冊。
(2)在對硬件進行操作之前調(diào)用pm_access (這樣會保證設(shè)備已被喚醒并且處于ready狀態(tài)) 。
。3)編寫自己的pm _callback函數(shù)。開發(fā)人員應(yīng)該在設(shè)備或系統(tǒng)進入suspend狀態(tài)時保留設(shè)備和系統(tǒng)的上下文到安全的地方,并在設(shè)備或系統(tǒng)re -sume時恢復(fù)其上下文,使之能夠繼續(xù)運行,編寫pm_callback函數(shù)是驅(qū)動實現(xiàn)設(shè)備電源管理的重點。
。4)當(dāng)設(shè)備不在被使用的時候調(diào)用pm_dev_idle函數(shù),這個操作是可選的,可以增強設(shè)備idle狀態(tài)的監(jiān)測能力。
電源管理設(shè)備
將設(shè)備加入到電源管理子系統(tǒng)后,該設(shè)備就已經(jīng)有了處理電源管理請求的能力,但是系統(tǒng)的電源管理行為并不會主動發(fā)生。因此還需要一個電源管理設(shè)備來接受用戶請求,產(chǎn)生電源管理行為。這里所指的設(shè)備并不是一個真實的硬件設(shè)備,而是一個在linux系統(tǒng)空間里接受用戶控制的虛擬設(shè)備,它可以是一個簡單的字符型設(shè)備。有了這個設(shè)備,就可以方便的實現(xiàn)來自于用戶空間的電源管理請求和方案。linux電源管理行為過程如圖1所示。
圖1 linux電源管理行為過程
linux的電源管理機制在ipaq上的應(yīng)用
ipaq是康柏公司(現(xiàn)在已和惠普公司合并)推出的基于strongarm cpu 的高性能掌上電腦,不僅提供了卓越的個人信息管理工具,還集成了較為強大的多媒體功能和其他娛樂功能。linux 2.4的內(nèi)核已經(jīng)被成功的移植到上面,基于linux系統(tǒng)眾多的應(yīng)用軟件也已經(jīng)或正在被移植。
ipaq硬件耗電量分析
要實現(xiàn)對ipaq 耗電量的有效調(diào)節(jié),就必須清楚各個硬件耗電量,從而確定出需要管理和調(diào)節(jié)的對象。ipaq上的各種硬件的耗電量比例如圖2所示。
圖2 ipaq上的各種硬件的耗電量比例
可見,frontlight、lcd、sdram、audio、cpu等是主要的耗電設(shè)備,應(yīng)該盡可能的減少這些設(shè)備的工作時間和強度,以減少耗電量,其關(guān)鍵步驟如下:首先,開啟sdram的自動節(jié)能模式。ipaq所使用的sa -1110支持sdram的自動節(jié)能模式;在這種模式中,當(dāng)內(nèi)存不被使用時, cpu 將關(guān)閉輸入到內(nèi)存的時鐘信號,內(nèi)存停止工作;這樣將減少大約190mw的功率。
接著,調(diào)節(jié)顯示驅(qū)動?梢赃x擇( 1)在必要的時候關(guān)閉背光; ( 2)降低lcd的刷新率。lcd在正常情況下刷新率是60hz,通過調(diào)節(jié)lcd 定時器可以調(diào)節(jié)lcd的刷新率使其低于60hz。降低lcd刷新率后,可以減少sdram,總線的使用和減少功耗; (3)在不使用屏幕的時候關(guān)閉lcd控制器。
隨后,降低時鐘頻率。sa - 1110的時鐘頻率可以在57. 3mhz到214. 8mhz之間動態(tài)調(diào)節(jié)。降低cpu時鐘頻率可以減少cpu本身的功耗,同時也能減少時鐘由cpu提供的其他硬件的功耗。例如: sa- 1110工作在最低頻率時可比工作在最高頻率時減少100mw到200mw的功耗。
最后,關(guān)閉音頻芯片。在不使用聲音的時候,盡量關(guān)閉音頻芯片,并保持cpu 到音頻芯片的低輸入。
通過linux電源管理機制及上層應(yīng)用實現(xiàn)對ip
上一篇:鋅錳干電池充電器(二)
熱門點擊
- 激光打靶游戲機
- 常見連接器和插座介紹
- 紅外槍打靶游戲
- 準(zhǔn)同期并網(wǎng)控制電路
- 電流、磁力線方向演示器
- 鎳氫電池充電器(三)
- 跨步電壓觸電演示器
- 10kV線路與用戶保護定值配合
- 三相交流電相序指示器 (一)
- 市電過、欠電壓自動保護器 (一)
推薦技術(shù)資料
- Seeed Studio
- Seeed Studio紿我們的印象總是和繪畫脫離不了... [詳細(xì)]
- RA Arm Cortex-M
- 110V, 75A RMS集成
- 微型C語言可編程處理器技術(shù)參數(shù)
- iNEMO系統(tǒng)級封裝 (SiP
- 首款 EVC 技術(shù)ST31N
- 嵌入式Flash技術(shù)制造ST54L芯片
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究