********************************LoongEmbedded********************************

作者:LoongEmbedded(kandi)

时间:2012.06.06

类别:WINCE系统开发

********************************LoongEmbedded********************************

1. 系统电源状态

WINCE操作系统把电源状态分为用户与系统交互(on)、用户空闲(user idle)、系统空闲(system idle)、挂起(suspend)和关机(power off)这五种状态。

 

图1 进入系统电源状态时间设置

我们需要注意图1中设置的改变是需要选择OK之后才有效的,从图1的“电源使用方案中”可以看到有使用电池或是交流电供电这两种方式,进入其下面三种状态的时间都可以设置,这样用户可以根据需要很灵活地设置,下面描述WINCE系统支持的这几种系统电源状态意义:


⑴ 用户与系统交互

指用户与系统交互时的状态,比如用户这时候在点击触摸屏,或是按按键的状态,系统经常处于此状态,这是四种电源状态中功耗最高的一种电源状态。


⑵ 用户空闲

表示用户停止输入,比如停止点击触摸屏,或是停止按按键,就图1中的设置来说,假如用户在1分钟之内的时间里没有点击触摸屏或是按按键,那么1分钟计时时间到之后就进入用户空闲的状态,进入此状态主要的体现是在降低显示屏背光亮度、让支持多种电源状态(此时的电源状态是对于外设来说的,不是WINCE系统定义的电源状态)的外设(外围设备,比如GPRS模块,蓝牙模块等)处于合适的电源状态,以便在不影响系统运行和外设工作的情况下降低功耗,对于我们的设备来说,用户空闲状态的电流比与用户交互时的状态少30mA左右。


⑶ 系统空闲

指用户没有直接使用设备,但处理器仍在继续运行的状态。例如,在传输文件期间,设备已处于用户空闲状态,但实际上处理器依旧在持续运行,直到文件传输完成。就图1的设置来说,在系统进入用户空闲状态后,重新计时的3分钟计时时间到之后,如果用户没有直接使用设备,系统就会从用户空闲状态转入系统空闲的状态。

系统空闲状态相对于用户空闲的状态来说,可以进一步降低显示屏的亮度和让外设工作在更低的电源状态下,当然如果此时某些外设不需要工作了,可以关闭对其供电的电源,以进一步降低系统功耗。


⑷ 挂起

也就是睡眠的状态,这个状态只有SDRAM和唤醒逻辑部分在供电,其余部分都停止供电了,包括关闭显示屏背光、蓝牙模块、WIFI模块等外围设备的供电,此状态下的功耗非常低。


⑸ 关机

此状态除了电源控制IC需要供电之外,都会关闭对其他外设和处理器的供电,对于我们的设备来说,此状态的电流大约只有250uA。


2. 系统电源状态的切换

我们重点描述图1中提及的用户与系统交互、用户空闲、系统空闲和挂起这四种状态的关系和切换,下面从两个方面来描述这四种状态的关系:


⑴ 系统电源状态的时间关系

 

图2 进入系统电源状态的时间关系

这里要注意的是图1中设置的时间是累积的,比如,当前系统处于用户与系统交互的状态下,如果在重新计时的1分钟之内没有用户输入,在第1分钟结束,也就是第2分钟开始的时候进入用户空闲的状态;与此类似,在系统处于用户空闲的状态下,如果再重新开始计时的3分钟之内没有用户输入,在第4分钟结束,也就是第5分钟开始的时候进入系统空闲的状态;挂起状态如此类推。


⑵ 系统电源状态的切换

 

图3 系统电源状态切换图

从图3可以看出,要进入系统空闲状态,就必须先进入用户空闲状态;要进入挂起状态,就必须先进入系统空闲状态。换句话说,如果系统不进入用户空闲状态,就不可能进入系统空闲的状态;如果系统不进入系统空闲状态,除了用户通过按键进入挂起状态这种情况,就算是设置了时间进入挂起,在时间计时到的时候也不会进入挂起状态的,为了直观描述这些关系,下面贴出一些进入不同的系统电源状态的图来说明。

 

图4 第一次使用时格式化Flash分区

图4这种情况的设置,系统不仅不能进入用户空闲的状态,更不能进入系统空闲和挂起的状态。

 

图5 设置从不进入系统空闲

图5这种情况的设置,系统只能进入用户空闲的状态,而不能进入系统空闲和挂起的状态。

 

图6 设置从不进入挂起

图6这种情况的设置,系统可以在对应的计时时间到的时候,分别进入用户空闲和系统空闲状态,而不能进入挂起的状态。

 

图7 设置从不进入挂起

图7这种情况的设置,系统都不会进入用户空闲、系统空闲和挂起的状态。