关机充电降低功耗方法

在新项目中,关机充电时,由于AP没有休眠,功耗过大,导致关机充电时间过长。于是想到一下解决办法。

具体措施如下:

(1)    背光关闭后,进入EARLY_SUSPEND,并且停止刷屏。

(2)    使CPU的频率进入动态管理模式,这样的话,在关闭背光后CPU的主频会降到最小频率122M。

经过上述措施,关机充电的耗流能降低到<40ma

-------------------------------------------

背光关闭后,进入EARLY_SUSPEND状态

1>进入关机充电显示之前,申请一个wake_lock

write_file("/sys/power/wake_lock","charger_suspend",sizeof("charger_suspend"));

退出时释放wake_lock。

write_file("/sys/power/wake_unlock","charger_suspend",sizeof("charger_suspend"));

2>在设置背光的API中,如果设置背光为0,则往"/sys/power/state"写入"mem"(suspend to memory),将系统设置为睡眠状态,当设置

背光不为0时,往"/sys/power/state"写入"on",将系统设置为正常工作状态。

由于进入关机充电显示之前申请了一个wack_lock,所以系统不会完全进入休眠状态,系统会进入EARLY_SUSPEND状态

注:由于关机充电时,系统休眠时,将它设为suspend状态,当有拔USB或充电器事件发生时会出现系统崩溃,所以将系统设置为EARLY_SUSPEND状态,如果出现拔USB,会先唤醒设备再做关机操作。

-------------------------------------------

设置CPU的频率调节方式为ondemand

只要往"/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"写入"ondemand"即可。

 

ondemand, userspace, performance 分别是linux系统中三种CPU频率调节方式。

ondemand指的是平时以低速方式运行,当系统负载提高时候自动提高频率。以这种模式运行不会因为降频造成性能降低,同时也能节约电能和降低温度。

performance指满速运行,即使系统负载非常低cpu的频率也为最高。则性能很好,但是电量消耗较快,温度也高一些。

userspace我基本没用过,应该是指用户指定居中的频率运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值