技术开发 频道

移动嵌入式遭遇能耗瓶颈,WinCE电源管理应对有技巧

  【IT168 专稿】伴随着移动嵌入式产品的普及,电源管理已经成为重要技术指标和产品的有机组成。典型移动嵌入式设备对能耗越来越敏感,电源管理技术正成为产品设计的关键所在。为了应对电源管理面临的挑战,如何设计出高效的嵌入式系统的电源管理已成为研究热点。

  典型移动嵌入式系统能耗主要部件包括嵌入式微处理器CPU、内存、LCD及背光、电源转换部件、DSP、外设控制器等。在这些元件中,有些元件能耗固定,有些元件可在不同时间段工作并有多种可控的耗能状态,后者的有效使用成为嵌入式系统节能的关键所在。


  1.什么是WinCE电源管理

  (1)电源管理概念与方法
  在电池供电的移动嵌入式系统中,一般采用高效率的电源芯片用于供电管理,或采用大容量的电池以解决能耗需求,但这两种技术的发展还无法满足移动嵌入式设备的动态功耗和静态功耗。有一种方法可以协调高性能与低功耗之间的矛盾,就是根据系统负载进行性能调节,通过停止某些模块的时钟和电源供应将能耗降至最低。

  嵌入式系统按功率消耗由小到大分为睡眠(sleep)、空闲(idle)、运行(Run)等模式。大多时间内,在运行态(Run)时设备全部正常工作,而在睡眠与空闲模式时处理器则可以按照特定的模式进行相应的节能。因此,电源管理的目的是节能,基本节能方法是使系统适时的进出休眠状态。在节能状态下处理器挂起,主存储器运行在节能的自刷新模式,只有功耗管理电路、唤醒电路继续工作。比如用户按下On/Off按钮,或者监视用户活动的定时器超时,或者应用程序API都可以使得嵌入式系统休眠,当用户再次按下On/Off或者有其他唤醒中断发生时,系统就会退出休眠。因此,电源管理模块和用户活动情况密不可分,电源管理是用户活动所驱动的。

  WinCE处理用户与系统交互的部分是GWES,所以早期电源管理工作也是由GWES来实现。但GWES提供的电源管理模块功能过于粗糙死板,所有子设备只能有On和Suspend状态,应用程序无法得到任何状态转换通知。后来,WinCE引入了电源管理PM(Power Manager)模块,用以替代GWES中的电源管理功能,新的电源管理模块提供更完整和灵活的功能,如子设备电源状态可以单独设定,应用可以获得电源通知等。因此,电源管理器负责管理设备电源,并且与不支持电源管理功能的设备和应用兼容,在内核OAL层、设备驱动程序和应用程序之间充当中间人角色。

  (2)电源管理器结构
  在使用电池供电的WinCE系统中,正确设计电源管理十分关键。在功能上大致可以分为系统级电源管理、动态电源管理、设备电源管理等三类。通常,应用程序在大多数时间都不需要关注WinCE 设备的电源损耗,但是在某些时候要注意这些损耗。WinCE电源管理器通过一个名为Pm.dll的动态链接库与设备管理器Device.exe链接。Pm.dll动态链接库支持三类接口:一是驱动程序接口:为需要进行电源管理的设备的驱动程序使用;二是应用程序接口:为需要利用电源管理的应用程序使用;三是提醒接口(Notification):为需要接受电源事件提醒的应用程序使用。

  例如,WinCE系统先检查任务负载情况,如果没有需要运行的任务,则一般进入空闲节能状态等待唤醒,在空闲一段时间后进入深度睡眠,挂起到RAM中或者硬盘上。在运行任务期间,WinCE还可以利用硬件提供的电源管理功能动态调节芯片运行电压和频率,对系统进行更加细致的电源管理。
 

0
相关文章