| 无线电爱好网 | 加入桌面 | 手机版 | 无图版
高级搜索 标王直达
排名推广
排名推广
发布信息
发布信息
会员中心
会员中心
 
当前位置: 首页 » 资讯 » 电源/新能源 » 正文

基于WinCE驱动程序的电源管理研究与设计

放大字体  缩小字体 发布日期:2013-06-28  浏览次数:416

3.2 创建支持电源管理的背光驱动

要想获得电源管理的功能支持, 首先要使电源管理器可以识别背光驱动程序。为此, 背光驱动需要向设备管理器声明一个特殊的代表电源管理的设备类型的GUID.具体操作是在Active 注册表键的IClass 表项中增加一个GUID.在Platform.reg 文件中添加如下:

"IClass "= "{ A32942B7- 920C- 486b - B0E6 - 92A702A99B35} "; Pow er- manageable generi c

3.3 在背光驱动中添加对I/O 控制代码( IOCTL) 的支持

在背光驱动被通知为支持电源管理的驱动后, 只需处理来自电源管理器的DeviceIoControl 调用。电源管理器使用如表2所示的IOCTL 代码与背光灯进行通信。

表2 电源管理的IOCTL 操作码

 

表2 电源管理的IOCTL 操作码

 

其中IOCTL _ POWER _ CAPABILITIES 是支持任何一个支持电源管理的流接口驱动程序所必须实现的。

3.4 IOCTL 代码的实现

在驱动程序被加载到系统中的初始阶段, 背光驱动首先将设备电源状态置于D0 状态, 然后电源管理器通过IOCTL _POWER _ CAPABILITIES 操作码调用它的IOControl 函数。

在向设备发出查询时, 背光驱动详细的报告该设备的电源管理能力, 以便将自己纳入到系统的电源管理策略中去。如果本次的查询电源管理支持能力的操作失败, 则电源管理器将会认为该设备驱动程序不支持其他4 个电源管理IOCTL 操作码。具体代码如下:

cas e IOCT L_POWER_CAPABILIT IES :

{

PPOWER_CAPABILIT IES ppc;

if ( ! pdw ActualOu t | | ! pBufOut | | ( dw LenOut < sizeof

( POWE R_CAPABILITIES) ) )

{

RetVal = FALSE ;

dw Er r = ERROR_INVALID_PARAMET ER;

break;

}

ppc = ( PPOWER_C APABILITIES ) pBufOut ;

m ems et ( ppc, 0, sizeof ( POWER_CAPABILIT IE S) ) ;

ppc- > DeviceDx = 0x11; / / 支持D0, D4 两种设备电源状态

ppc- > Pow er[ D0] = 25000; / / 25 m = 25000 uA

* pdw ActualOut = siz eof (POWE R_CAPABILITIES) ;

} break;

在初始阶段完成后, 电源管理器可以根据电源管理策略调用IOCTL _ POWER _ SET 调整设备的电源状态。在实现对IOCTL _ POWER _ SET 支持时, 开发背光驱动需要注意的是设备并不一定具备所有五种设备电源状态, 但至少工作在D0状态和D4 状态。

3.5 休眠和唤醒的处理

电源休眠唤醒是延长系统电源工作时间的一项重要技术。在系统进入休眠状态时, 驱动程序应该关闭设备的电源, 即使该设备由于应用程序的请求不处于D4 状态。背光驱动通过BAK _ Pow erDown 和BAK _ PowerUp 接收系统休眠和唤醒的通知, 这些通知在内核调用OEMPowerOff 之前发出, 并处于中断上下文中。

4 背光驱动测试

将背光驱动打包进内核镜像文件, 下载到开发平台, 打开系统显示属性, 在使用电池电源供电的情况下, 如果用户在30s 之内没有活动, 那么LCD 的背光灯将进入空闲状态; 在使用外部电源供电的情况下, 如果用户在1 分钟内没有活动,那么LCD 的背光灯也将进入空闲状态。

5 结论

本文设计了一种基于Window s CE 操作系统的嵌入式终端背光驱动的电源管理系统。在分析流接口驱动和WinCE 操作系统电源管理的基础上, 结合电源管理的IOCT L 操作码, 完成了背光驱动电源管理系统的设计, 并给出了背光驱动程序电源管理部分实现的关键性代码。经过测试, 背光驱动程序可以有效地控制LCD 背光灯的电力消耗, 也能够与整个系统的电源状态协调一致, 系统对背光的控制满足设计需求。最后, 本文对WinCE 操作系统下背光驱动电源管理策略的研究, 对设计其他同类嵌入式终端产品驱动程序的电源管理系统也具有重要的指导意义和参考价值。

 
转播到腾讯微博
 
[ 资讯搜索 ]  [ ]  [ 告诉好友 ]  [ 打印本文 ]  [ 关闭窗口 ]

 
0条 [查看全部]  相关评论

 
推荐图文
推荐资讯
点击排行