嵌入式Linux系统的动态电源管理技术
DPM通过LDM可以对设备进行电源管理。LDM中device_driver结构有设备挂起和恢复等回调函数,device结构有驱动约束。需要在设备初始化时使用注册函数向相应系统总线注册该设备。例如,简化后12C的LDM相关参数为:
本文引用地址:https://www.eepw.com.cn/article/78383.htm
I2C驱动注册到MPU公有TI外围总线:driver_reg-ister(&omap_i2c_driver)platform_device_register(&omap_i2c_device)。
在驱动程序中实现挂起和恢复函数:omap_i2c_controller_suspen(&omap_i2c_device),omap_i2c_con-troller_resume(&omap_i2c_deviee)。
这样,注册设备在sysfs中都有一个管理接口。通过这些接口可以操纵设备的电源状态。在多种情况下,可利用该接口来挂断设备,例如:应用程序显式挂断应用中不需要的设备;平台挂起前需挂断所有设备;当DPM将系统设置到设备不兼容状态时需挂起该设备等等。其中DPM中管理设备电源状态时还提供设备驱动约束检查(频率相关)。例如,当系统电源状态改变,准备运行在新的操作点时,驱动约束检查该状态是否满足设备正常运行。如果不满足,且当前操作点force属性设置为1,设备首先被LDM回调函数关断(或将设备置于和此时PLL相应的挂起状态);如果满足条件,则利用设备驱动中实现的调节函数转到新状态。
驱动约束还用于限制DPM操作方式。当没有设备被使用时,约束才允许DPM将系统转到低电源空闲状态。
4 总 结
DPM技术通过内核模块的方式实现任务级别电源管理、实现了有效的设备电源管理,满足了嵌入式Linux的需求,补充了基于桌面系统APM和APCI电源管理技术的不足。实践证明,DPM对嵌入式系统,尤其是移动终端,能够起到很好的节能效果。
当然,动态电源管理系统还有待于进一步完善。例如:①可以根据硬件和软件收集系统负载状态,使用Markov,链等手段准确预测电源状态,从而设计出更智能、更有效的状态切换管理策略;②电源管理和实时性能要求之间的复杂关系还需处理等等。
linux操作系统文章专题:linux操作系统详解(linux不再难懂) 分频器相关文章:分频器原理
评论