嵌入式Linux系統(tǒng)的動態(tài)電源管理技術(shù)
DPM通過LDM可以對設(shè)備進(jìn)行電源管理。LDM中device_driver結(jié)構(gòu)有設(shè)備掛起和恢復(fù)等回調(diào)函數(shù),device結(jié)構(gòu)有驅(qū)動約束。需要在設(shè)備初始化時(shí)使用注冊函數(shù)向相應(yīng)系統(tǒng)總線注冊該設(shè)備。例如,簡化后12C的LDM相關(guān)參數(shù)為:
本文引用地址:http://butianyuan.cn/article/78383.htm
I2C驅(qū)動注冊到MPU公有TI外圍總線:driver_reg-ister(&omap_i2c_driver)platform_device_register(&omap_i2c_device)。
在驅(qū)動程序中實(shí)現(xiàn)掛起和恢復(fù)函數(shù):omap_i2c_controller_suspen(&omap_i2c_device),omap_i2c_con-troller_resume(&omap_i2c_deviee)。
這樣,注冊設(shè)備在sysfs中都有一個(gè)管理接口。通過這些接口可以操縱設(shè)備的電源狀態(tài)。在多種情況下,可利用該接口來掛斷設(shè)備,例如:應(yīng)用程序顯式掛斷應(yīng)用中不需要的設(shè)備;平臺掛起前需掛斷所有設(shè)備;當(dāng)DPM將系統(tǒng)設(shè)置到設(shè)備不兼容狀態(tài)時(shí)需掛起該設(shè)備等等。其中DPM中管理設(shè)備電源狀態(tài)時(shí)還提供設(shè)備驅(qū)動約束檢查(頻率相關(guān))。例如,當(dāng)系統(tǒng)電源狀態(tài)改變,準(zhǔn)備運(yùn)行在新的操作點(diǎn)時(shí),驅(qū)動約束檢查該狀態(tài)是否滿足設(shè)備正常運(yùn)行。如果不滿足,且當(dāng)前操作點(diǎn)force屬性設(shè)置為1,設(shè)備首先被LDM回調(diào)函數(shù)關(guān)斷(或?qū)⒃O(shè)備置于和此時(shí)PLL相應(yīng)的掛起狀態(tài));如果滿足條件,則利用設(shè)備驅(qū)動中實(shí)現(xiàn)的調(diào)節(jié)函數(shù)轉(zhuǎn)到新狀態(tài)。
驅(qū)動約束還用于限制DPM操作方式。當(dāng)沒有設(shè)備被使用時(shí),約束才允許DPM將系統(tǒng)轉(zhuǎn)到低電源空閑狀態(tài)。
4 總 結(jié)
DPM技術(shù)通過內(nèi)核模塊的方式實(shí)現(xiàn)任務(wù)級別電源管理、實(shí)現(xiàn)了有效的設(shè)備電源管理,滿足了嵌入式Linux的需求,補(bǔ)充了基于桌面系統(tǒng)APM和APCI電源管理技術(shù)的不足。實(shí)踐證明,DPM對嵌入式系統(tǒng),尤其是移動終端,能夠起到很好的節(jié)能效果。
當(dāng)然,動態(tài)電源管理系統(tǒng)還有待于進(jìn)一步完善。例如:①可以根據(jù)硬件和軟件收集系統(tǒng)負(fù)載狀態(tài),使用Markov,鏈等手段準(zhǔn)確預(yù)測電源狀態(tài),從而設(shè)計(jì)出更智能、更有效的狀態(tài)切換管理策略;②電源管理和實(shí)時(shí)性能要求之間的復(fù)雜關(guān)系還需處理等等。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂) 分頻器相關(guān)文章:分頻器原理
評論