基于Windows CE平台的电源管理研究

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:dmj_66666
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:随着手机等便携式设备在生活中普及,如何使设备耗电量更小、使用时间更长就成为一个迫切需要解决的问题。本文首先对PM(电源管理)简单介绍,列出三种电源状态,并指出在电源管理起决定作用的是用户操作;其次,给出PM APIs一系列函数,并对函数的作用作了说明。最后,谈了对电源管理的一些看法。
  关键词:Windows CE;PM
  中图分类号:TP303 文献标识码:A文章编号:1009-3044(2008)33-1519-03
  The Research on Power Manager in Windows CE
  XIA Xu-Chao1,HUANG Dong-ping2,ZHU Li-li2
  (1.Postgraduate Team 3 ICE,PLAUST,Nanjing 210007,China;2.Postgraduate Team 1 ICE,PLAUST,Nanjing 210007,China)
  Abstract: Today,Cellular Equip ment is widely used in life.How to reduce the quantity of electric charge and longer the standby time is a big problem.Firstly,this paper introduces PM,lists three power states and point out that the most important in PM is User abilities.Secondly,it lists some APIs about PM and gives the explanations about the APIs.Finally,it talks about Application PM Considerations.
  Key words:Windows CE;PM
  1 Power Manager简介
  Power Manager第一次出现是在2003年Windows Mobile中。在Power Manager发展初期的时候,只是有几个简单的功能。随着人们需求的提高和更多硬件设备的支持,越来越多的电源管理功能移植于其中。这就使得目前我们所见到的Power Managers是一个功能完善,实现方法多样,管理复杂的软件。
  Power manager的主要作用是用来管理那些无法对自身进行控制的驱动。举个例子,USB设备能够自己识别是否有设备插入,如果没有设备插入,可以自行断电。但是对于LED来说,它并不知道用户是否在看它,也不知道何时应该断电。对于这些无法对自身进行控制的设备来说,Power manager能够有效地对其进行电源管理。
  Power manager是如何实现它的管理得了?它是通过“System Power States”这个概念来实现的。Power manager有其所有控制驱动的列表。对每个状态,都有与之相对应的驱动设置列表。比如说,对某一状态,系统设置为正常运行,对另一个状态,系统则关闭屏幕和背景灯,但其他一切正常运行。下面将对三种电源状态进行介绍。
  2 电源状态
  电源状态按类型分为CPU、系统和设备电源状态。每种电源状态都不尽相同,下面将对每种类型各种状态进行详细的介绍。
  2.1 CPU 电源状态(下面以PXA270为例,讲一下CPU的五种电源模式)
  1) RunCPU完全工作状态;
  2) Idle给CPU 时钟停止,外设照常运行,可以通过中断来恢复,特别是在13M模式下,称为deep-idle;
  3) StandbyCPU、外设为低的电压状态或停止,SRAM可选择停止,LCD停止 当然比以上状态恢复时间长;
  4) Sleep睡眠,CPU、外设停止;
  5) Deep-sleep基本等同断电,只有RTC 和相关的I/O指针有电(RTC能量来自从备用电池输入);
  需要说明的是,Sleep 和deep-sleep 唤醒后需要从boot loader重新启动,而Idle和Standby可以从原先保存的状态接着向下运行。上面所给出的五种状态是根据空闲时间的长短来决定的。时间越长,设备就会从Run到Deep-sleep不断的过渡。
  2.2 系统电源状态
  1) Off 直接给系统断电
  2) On 系统正常工作
  3) Userldle 系统在运行,但用户没有跟其进行交互
  4) Systemldle 更长的时间没有跟设备作交互,进程仍然运行。比如说:显示、声卡和触摸屏等都断电,但是CPU正常运行。
  5) Suspend CPU睡眠、RAM自动更新、所有的驱动都不可用。
  不同的操作系统具有不同的系统状态,上面所给出的五种系统状态并不是所有的系统都具有的。其只具有普遍性但不具有特殊性。
  2.3 设备电源状态
  1) Full On (D0) 在这个状态下,设备正常运行,为用户实现其所以功能。
  2) Low On(D1)在这个状态下,设备不需要完全的使用,工作于低电压状态。
  3) Standby(D2)在这个状态下,设备能够有效地停止并能被请求自动唤醒。
  4) Sleep(D3)在这个状态下,设备是比Standby更低的被使用,而且唤醒的时间更长。
  5) Off(D4)设备停止使用。
  上面所给出的五种设备状态并不是所有的设备都具有。当然,设备都支持D0、D1这两个状态,是否支持其他三种的状态,需要查看设备说明书。
  
  
  图2User Activity在系统状态改变中的作用
  
  图4OEMIdle操作流程
  
  2.4 PM 与三种电源状态的关系
  图1显示Power Manger 与三种状态的相互关系。PM并不直接对CPU电源状态直接操作,通过管理系统电源和设备电源状态来实现整个系统的电源管理。需要特别强调的是,真正决定整个系统电源的状态是User Activity。通过图2,可以直观的发现User activity在系统状态改变时的作用。
  3 Power Manger APIs
  在介绍Power manger APIs之前,我们先介绍Power manger APIs在整个系统中的作用。
  如图3所示,Power Manager为Applications和Drives提供PM APIs接口。这样,Applications和Drives就可以分别利用Applications APIs和Drives APIs来实现对PM APIs接口的访问。由此可见,PM APIs是完成Power Manager与外界交互的重要部分。下面将介绍三种级别的PM APIs[1]。
  3.1 Kernel-level APIs
  Kernel-level APIs是最重要的APIs。系统PW通过调用Kernel-level APIs管理CPU的状态。下面介绍两个重要的Kernel-level APIs:OEMIdle和OEMPowerOff
  1) OEMIdle
  OEMIdle为无线程运行状态.在这个状态下,CPU被置于能快速恢复的低消耗电源状态。
  2) OEMPowerOff
  OEMPowerOff 为挂起或关闭系统状态。在这个状态下(以挂起为例),系统被设置为最低电源状态。CPU停止运行、DROM自我更新、中断不可用(唤醒系统中断可用)、当收到唤醒中断时,系统重新启动。
  3.2 Device-level APIs[]
  PM通过IOCTL(I/O Control Codes)代码来与设备驱动交互(设备必须支持IOCTL)。设备驱动则通过DevicePowerNotify来要求PM调整合适的设备状态。下面列举了一下Device-level APIs,并作出解释。
  1) IOCTL_POWER_CAPABILITIES设备通知PM其所支持的电源状态和相应的一些参数。
  2) IOCTL_POWER_QUERY检查设备是否进入一个新的电源状态。
  3) IOCTL_POWER_SET要求设备更新电源信息
  4) IOCTL_POWER_GET要求设备告知PM当前电源状态
  5) IOCTL_REGISTER_POWER_RELATIONSHIP列出子设备和父设备的相互关系
  3.3 Application APIs
  Application APIs主要有Power Manager APIs和Power Notification APIs两种。
  3.3.1 Power Manager APIs
  Power Manager APIs是用来设定和询问系统或设备电源状态的APIs。其中函数主要有:
  1) GetSystemPowerState返回当前系统电源状态名称
  2) SetSystemPowerState要求PM改变当前电源状态
  3) SetPowerRequirement要求PM设定当前电源状态到最低标准
  4) ReleasePowerRequirement通知PM释放SetPowerRequirement中设定的最低电源状态
  5) GetDevicePower返回某一设备当前电源状态
  6) SetDevicePower设定某一设备的电源状态
  3.3.2 Power Notification APIs
  Power Notification APIs用来接收Power Manager或设备驱动产生的电源触发事件。其主要应用函数有:
  1) PBT_RESUME系统从挂起状态恢复时的信号
  2) PBT_POWERSTATUSCHANGE系统从交流电、直流电之间改变的信号
  3) PBT_TRANSITION系统电源状态发生改变时产生的信号
  4) PBT_POWERINFOCHANGE电池信息或交流电状态发生改变时的产生的信号
  
  4 对PM设计的一些个人看法
  在文章的结尾,我想谈谈对PM 设计的一些个人看法。
  1) 需要“我”改变系统和设备电源状态吗?
  一般情况下,应用程序已经为其设定好了最佳的电源状态。比如说:当你使用media player时,如果你用来观看视频,那么音频器件、背景灯和显示屏都要使用。而如果你仅仅是用来听歌,那么只有音频器件会被用到。
  2) 一些很小的垃圾应用程序能给整个电源管理带来“毁灭”。
  举个例子来说明:用户给系统装了一些很小的应用程序。当用户停止与系统交互时,这些程序仍然在后台运行。我们知道CPU是很耗电的,这些小程序会导致电池很快就被耗尽。
  3) 那些设备是比较耗电的?
  背景灯、CPU、Cell Radio、蓝牙、LED都是比较耗电的,我们可以在不需要的时候关闭这些设备来延长系统使用时间。
  
  参考文献:
  [1] 何宗键.Windows CE嵌入式系统[M].北京:北京航空航天大学出版社,2006.
  [2] 刘彦博,胡砚,马骐.Windows Mobile平台应用与开发[M].北京:人民邮电出版社,2006.
其他文献
摘要:针对高等医学院校学生成绩特点,设计了数据仓库模型,并给出了具体的实现方法,该模型的建立可以为教学管理提供决策支持。  关键词:数据仓库;模型设计;学生成绩  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)21-30408-02    Designing and Modeling of Data Warehouse Based on College Student
摘要:介绍了图书馆2.0的概念, 阐述了图书馆2.0带来的变化,探讨了图书馆2.0发展的障碍。   关键词:图书馆2.0;Web2.0   中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)16-21303-02  Discussion about the Constructions of Library2.0   CHEN Guo-lan  (Library of N
摘要:本文介绍了我校“教学管理信息系统”的运行现状。强调建立健全管理规章制度、明确各职能部门的工作职责、协调各部门的工作关系、及时更新系统内的数据信息、经常培训操作人员是保证系统健康运行的基本前提。为确保系统正常运行,对系统管理员、管理部门工作人员和师生提出了基本要求。  关键词:高等院校;教学管理;学分制  中图分类号:G642文献标识码:A文章编号:1009-3044(2008)22-744-
摘要:本文介绍了在MICROSOFT公司的.NET和SQL Server数据库环境下,根据设备实际的点检定修主线,实现了设备以及设备点检和维修流程的计算机网络化管理,详细介绍了系统的总体设计思路及其实现过程。系统具体功能包括了:设备信息管理、设备点检、设备故障、设备维修管理。  关键词:.NET;C/S;设备管理;数据库  中图分类号:TP309文献标识码:A文章编号:1009-3044(2008
摘要:C语言程序设计是信息与计算科学专业一门重要且难度很大的专业必修课。为解决C语言教学中的重点和难点,作者结合多年的教学经验,从三个方面对教学方法的改进进行了讨论,以期提高教学效果。  关键词:C语言;程序设计;教学方法  中图分类号:G642文献标识码:A文章编号:1009-3044(2008)07-11676-01    The Reform and Practice of the C Pr
教育界有一个很出名的比喻:要给学生一滴水,教师要有一桶水。“语文主题学习”研究项目提倡大量阅读,“反三归一,质从量出”,“一课一得”。因此教师必须要在课堂有限的时间里“授之以渔”而不是“授之以鱼”,这样的“得”才是最有价值的,也才是学生最需要的那滴“水”。下面,笔者就结合自己的教学实践,谈谈如何通过解读文本,找到给学生的那滴“水”。  一、文体不同,重点不同  同一种语言表达形式,在说明文、散文、
摘要:计算机辅助教学与传统的课堂教学相比,的确具有其自身的优越性,它改变了以往传统电教手段相对呆板的教学方式,在文字、图形的基础上增加了图象,动画、声音、影像等,加强了表现效果;另一方面,当前的计算机辅助教学存在着严重的问题。要解决这些问题,必须做好教学设计工作我们如果想以某一种学习理论来指导我们的教学,解决教学中的一切问题,那也是行不通的。科学的做法是,以多种学习理论为指导,吸收其长处,克服其不
摘要:该文介绍了利用VB设计简单适用的超文本功能时热链功能的设计与实现方法。  关键词:超文本;Visual Basic;热链  中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)36-2655-03  Designing and Achieving Hotlink of hypertext System in VB  FAN Xian-mei  (Technique
摘要:J2ME作为Java技术专为消费嵌入式系统定制的版本,其稳定性、跨平台性、安全性、扩展性使得成为移动通讯设备上主流开发平台,基于J2ME的应用开发成为热点。该文介绍了笔者参与开发的一个基于J2ME的手机智力游戏的设计与开发。是对手机上基于J2ME的开发的一次有效探索。经过试验证明,程序在大多数手机上运行良好。  关键词:J2ME;手机智力游戏;嵌入式;游戏框架  中图分类号:TP311文献标
摘要:随着国内ERP市场的逐渐成熟, 随着ERP产品价格的日益下降,越来越多的企业开始将ERP软件运用于日常的企业事务。但是针对这些ERP系统软件的外部入侵者的攻击和损害和来自内部用户的恶意攻击、欺诈和系统滥用的机会也在呈指数级的增长,这样导致了企业即便是成功的实施了ERP系统,但在用户的使用反应速度上却极其缓慢,系统安全不堪一击。本文为此具体探讨企业ERP系统软件的安全隐患与防范措施。  关键词