电源管理!请教!

wangxin_801115 2010-01-23 04:26:08
各位兄弟:请教一下电源管理的一些问题
1、WINCE50的PM框架中,添加DEVICE支持电源管理
第一项需要在注册表中加入ICLASS值:
请问这个值是怎么规定的??
2、on useidle systemidel suspend
和 D0 D1 D2 D3 D4
之间的区别和联系是什么呢??
我的理解 on useidle systemidel suspend 是PM所定义的WINCE设备电源的几种状态
D0 D1 D2 D3 D4是设备驱动提供给PM的几种状态,可是他们是怎么联系到一起的呢?
比如:D0状态当然是应该对应 ON
D1状态又是对应的什么呢?
是不是我理解有误?

谢谢各位!
...全文
821 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
huabinsir 2010-10-21
  • 打赏
  • 举报
回复
Mark..................
dogfish001 2010-05-10
  • 打赏
  • 举报
回复
帮顶一下.
standby99 2010-05-10
  • 打赏
  • 举报
回复
mark!记下来先!
jiereliyi 2010-04-07
  • 打赏
  • 举报
回复
mark
FrankBIBI 2010-04-06
  • 打赏
  • 举报
回复
MARK~haah~帮顶,然后学习
DM_man 2010-04-06
  • 打赏
  • 举报
回复
不错,目前正在搞这个 学习了
dding 2010-03-30
  • 打赏
  • 举报
回复
好贴,mark
立宇泰上有一篇贴子是讲CE的电源管理的,不错,你可以搜一搜
shenmou 2010-02-02
  • 打赏
  • 举报
回复
mark
cgenghui 2010-02-02
  • 打赏
  • 举报
回复
我加了打印信息,现在可以确认确定不需要在触屏或者其他驱动里Set这个Event,这个Event是做校准用的,当有PEN点击时,采集数据并校准后调用GWES中的CALLBACK函数去了,应该是由GWES通知PM的。

[Quote=引用 23 楼 wangxin_801115 的回复:]
再顶一顶:
哪位大侠了解
从D2或者D3、D4状态返回到D4状态
这个PM究竟是怎么实现的?

即:当背光或者LCD进入D4状态,背光或者LCD被关闭
    通过点触摸屏或者任意按键或者USB、SDCARD 插入这些动作使其重新进入D0状态
    这个过程是怎么实现的?
驱动跟PM是怎么通信的呢?
[/Quote]
huabinsir 2010-02-01
  • 打赏
  • 举报
回复
帮顶一下.
wangxin_801115 2010-01-29
  • 打赏
  • 举报
回复
再顶一顶:
哪位大侠了解
从D2或者D3、D4状态返回到D4状态
这个PM究竟是怎么实现的?

即:当背光或者LCD进入D4状态,背光或者LCD被关闭
通过点触摸屏或者任意按键或者USB、SDCARD 插入这些动作使其重新进入D0状态
这个过程是怎么实现的?
驱动跟PM是怎么通信的呢?
hahagoodhaha 2010-01-28
  • 打赏
  • 举报
回复
1、WINCE50的PM框架中,添加DEVICE支持电源管理
第一项需要在注册表中加入ICLASS值:
请问这个值是怎么规定的??
这个值表示设备类,PM会根据设备类管理设备电源状态,当然你也可以修改registry,让属于某个设备类的设备电源状态不同于设备类对应的状态;还有一个作用就是PM会根据ICLASS使用不同的接口和设备驱动交互,display就是一个特例。我已经记不清了,ICLASS应该有四种:generic,block,display,network

2、on useidle systemidel suspend
和 D0 D1 D2 D3 D4
之间的区别和联系是什么呢??
我的理解 on useidle systemidel suspend 是PM所定义的WINCE设备电源的几种状态
D0 D1 D2 D3 D4是设备驱动提供给PM的几种状态,可是他们是怎么联系到一起的呢?
比如:D0状态当然是应该对应 ON
D1状态又是对应的什么呢?
是不是我理解有误?
这个你可以随便map的通过设置registry可以根据需要任意map
wangxin_801115 2010-01-27
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 sunrain_hjb 的回复:]
建议楼主再看看相关帮助和参考代码。
我最近也在搞电源管理这一块,确定不需要在触屏或者其他驱动里Set这个Event,这个Event是做其他用途的。在没有用户交互的情况下,你可以通过程序设置相应的Event来阻止系统进入休眠状态。
[/Quote]
费解,不知道是怎么实现这个地方的
目前我还没有板子看不到现象......

请问sunrain_hjb :
您的电源管理是个什么样的模式呢?状态是怎么切换的呢?
我先说一下我目前的电源管理吧:
我是在usedle中关背光,在systemidle中关LCD
唤醒useidle和systemidle的条件有keyboard 、TOUCH 、USB 、SDCARD insert
在suspend中让CPU深度睡眠,唤醒是通过把GPIO0设置成唤醒中断唤醒深度睡眠
您现在唤醒useidle和systemidle的条件都有哪几个呢???
wolfmvp 2010-01-27
  • 打赏
  • 举报
回复
接触驱动ing,来学习一下…
sunrain_hjb 2010-01-27
  • 打赏
  • 举报
回复
在我们的平台上实现了背光驱动,D0是正常工作全亮,D1只亮10%,D2背光完全关闭,D3进入Sleep模式。D3到D0,通过触摸屏或者外部按键触发。D2、D1到D0,只要点击触摸屏就可以了。我们的设备是全触屏的。具体的,我整理一篇博客再讨论吧。
wangxin_801115 2010-01-27
  • 打赏
  • 举报
回复
ding!
sunrain_hjb 2010-01-26
  • 打赏
  • 举报
回复
建议楼主再看看相关帮助和参考代码。
我最近也在搞电源管理这一块,确定不需要在触屏或者其他驱动里Set这个Event,这个Event是做其他用途的。在没有用户交互的情况下,你可以通过程序设置相应的Event来阻止系统进入休眠状态。
wangxin_801115 2010-01-26
  • 打赏
  • 举报
回复
ding!
wangxin_801115 2010-01-26
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 sunrain_hjb 的回复:]
这两天也在调试电源管理的驱动。我的理解,进入useridle和systemidle时是不需要唤醒的,一般在这两种状态下是关闭了LCD背光而已。只有进入Sleep或者Suspend时,系统才真正进入休眠,也才需要被唤醒。唤醒一般是通过外部按键实现的,应该不会是事件。
[/Quote]
我这里说的唤醒并不是指将CPU从DEEP SLEEP中唤醒
我是说关掉背光、关掉LCD后
当我按TOUCH或者KEYBOARD PRESS DOWN 或者USB insert 或者SDCARD insert 再重新点亮屏的这一过程
是怎么做的
是通过事件通知系统进入busy状态的吗??
wangxin_801115 2010-01-26
  • 打赏
  • 举报
回复
从D2、D1到D0,不需要程序通知系统,有触屏或者其他交互操作,系统会自动进入D0状态的

不需要程序通知系统??????

不理解这里!!!

我看到common.reg中有ACtiveEvent事件

这个事件就是PM中Create的

我想正常情况下应该在TOUCHPAND驱动中把这个注册表中的事件读出来然后
setEvent
才可以在D1/D2状态下 切换到D0状态
加载更多回复(13)

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧