2.2 实时性、中断源和功耗影响低功耗模式的选择有三个主要因素:功耗、中断源和实时性。
(1)
功耗
前文中已经提到,适用于μC/OS-II的低功耗模式(即允许RTI唤醒)有三种:WAIT模式、STOP3模式和STOP2模式。系统在这三种模式下的功耗逐渐降低。表2列出了3.12
V供电下,三种模式的典型功耗。
表2STOP2、STOP3和WAIT模式下的功耗

μC/OS-II为用户提供了一个统计任务,用以计算CPU的利用率,并保存在变量OSCPUUsage(%)中。用户可以在加入低功耗处理前②,使用统计任务计算出CPU利用率,从而粗略地估算出系统的功耗。
②
计算必须在改动OSTaskIdleHook()之前进行,因为一旦系统进入任何一种低功耗模式,空闲任务将不能给变量OSIdleCtr继续加1。
假设系统正常运行时,消耗电流为1 mA,CPU利用率是1%,则以下是选择三种不同低功耗模式后的消耗电流。
STOP2:
1 mA×1%+890 nA×99%=10.881 μA,系统功耗降低98.9%。
STOP3③: 1 mA×1%+14.5
μA×99%=24.355 μA,系统功耗降低97.6%。
③ 使用以32 kHz晶振为时钟源的RTI。
WAIT: 1
mA×1%+560 μA×99%=564.4
μA,系统功耗降低43.6%。
系统功耗当然越小越好,但当考虑到其他因素时,系统功耗就未必能够达到最低了。