请不要大惊小怪,有些电子产品的确不需要太严谨的电源管理功能,如家电或车用电子,你不会去测量坐镇的PC,微波炉或洗衣机每个月用了多少电,电源管理程序能省下的电和整体耗电相比简直微不足道,但如果产品用的是电池的电源,如手机,电子字典,PDA等,要使用者每天充电,没几天就要换电池或者用到一半突然没电等状况,这样的产品就算功能再强大也不会是成功或热销产品吧。
根据产品特性不同可以分出不同的耗电等级,一般来说电源管理程序会把执行状态分为以下三个等级
full run mode--系统中所有装置全速执行。
idle mode--待机状态,系统在等待下一个命令。目前没中可做,以手机的例子来说,就是屏幕还亮着的待机状态。
sleep mode---睡眠状态,使用者看起来会觉得机器像是关机,但仍可通过某种输入装置立刻将其唤醒。
要做到省电,可以从以下几个方向着手
1;cpu :cpu是整个系统的心脏,不能轻易停掉,但“跳慢一点”当然会比较省电。
2;关闭暂时不使用之外部装置的电源,这个当然必须硬件设计配合,首先装置及相关零件的电源供给必须独立,接着硬件设计必须提供可以控制其装置电源切换的开关,这样驱动程序才可以通过I/O port控制这个开关,达到真正切断其装置电源的目的。基本上装置的电源切断后就不应该再耗电
3切换装置的执行模式,和CPU一样,有些装置不能任意切断电源,所以就会提供不同的执行模式,基本上不会像CPU那么复杂,通常就是full run mode 与standby两种模式。驱动程序必须依据data sheet 内的规定,在暂时用不到其装置的时候,让其进入较省电的stanbdy mode
4将CPU的各个PIN引脚一一切换为较省电的模式,当某根PIN引脚暂时不用时,必须将其设定不省电用途。 |