手机功耗问题浅析

news/2024/11/19 21:29:09/

极力推荐Android 开发大总结文章:欢迎收藏
程序员Android 力荐 ,Android 开发者需要的必备技能

 

本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:

1.飞行模式底电流问题
2.正常待机功耗简介
3.最干净的待机电流波形
4.通过唤醒源理清正常待机问题
5.Audio Playback 功耗问题
6.Display 及多媒体功耗问题
7.通话功耗问题

1. 飞行模式底电流问题

系统睡眠的底电流是所有功耗问题的前置条件,此时wifi 、Bluetooth、Location、Radio都处于关闭状态。

系统睡眠的条件

查看CPU是否进入suspend状态, suspend确切的说是 MCU (ARM)suspend, 也是CPU进入WFI(Wait For Interrupt)状态,CPU 进入WFI后,整个系统就依靠一颗 SCP:SPM(System Power Manager) 来控制 睡眠/唤醒 的流程

灭屏到CPU 进入suspend的流程

灭屏到CPU 进入suspend的流程

判断系统是否进入suspend
在kernel log中搜索关键字 Chip_pm_begin 或者 suspend entry

查看suspend状态

查看SPM(System Power Manager)状态

在 kernel log 中搜索关键字 wake up by, 在kernel Log中查看R13寄存器跟debug_flag的值

查看SPM(System Power Manager)状态

2. 正常待机功耗简介

待机功耗很容易出现问题,并且很难理清,因为其涉及到APK 、Modem、Wifi、Other这些不确定因素。

功耗问题处理原则:

1.先花时间把现象理清,到底在什么样的环境下复现。
2.多做几个实验,给出清晰的问题描述、问题复现条件、电流波形图。
3.提供关闭 modem 的log

3. 最干净的待机电流波形

最干净的待机电流波形

4. 通过唤醒源理清正常待机问题

1. 其他唤醒源分析

kernel Log收缩关键字 wakeup bywakeup by xxxx ,其中 xxxx 就是唤醒源。

image.png

2. APK 唤醒源分析

APK 唤醒系统是通过设置 type 0 和type 2的alarm 来唤醒系统,这两种alarm 会设置到RTC寄存器中,而RTC Module 其实是在PMIC 里面,因此APK唤醒实际上是PMICEINT唤醒。

RTC 唤醒sys_log中搜索关键字 AlarmManager: sending alarm Alarm,查看 type 0和 type 2 的应用有哪些。

gms包APK经常唤醒系统

如果log没有开启,请使用adb shell dumpsys alarm log on

5. Audio Playback 功耗问题

Audio playback 时候MTK低端平台没有专门的audio DSP(Heilo X20除外),故无法在suspend状态下完成audio playback,故需要CPU 做这件事情。

通话的时候之所以可以睡眠,是疑问modem 充当了dsp的角色。

deep idle 状态

Deep idle 实际上系统还是Active状态,因此CPU需要快速响应系统请求调度,因此 GPT唤醒源 是Deep idle的主要唤醒源。

在 Kernel Log中搜索关键字 wake up by , 这个log是在 swapper进程 中打印出来的(代表当前CPU在运行idle task) ,并且后面可以看到 DP:的字样。

播放MPS GPT 唤醒源 log

MP3播放时进入deep idle状态(20mA)举例

MP3 播放时进入deep idle 状态(20mA)举例

区分suspend 与deep Idle

  1. suspend 是跑在 suspend workqueue 中,因此log的进程主体是kwork
  2. deep idle 是跑在idle task 中,因此log的进程主体是swapper
  3. suspend 默认不会被 GPT 唤醒。

6.Display 及多媒体功耗问题

手机所有亮屏的场景都是模块自身的耗电跟Display 部分耗电的叠加,所以Display 的功耗在整个系统中占比非常高。
Display 功耗 = 硬件+平台+内容

在 Kernel Log中搜索关键字 wake up by , 这个log是在 swapper进程 中打印出来的(代表当前CPU在运行idle task) ,并且后面可以看到 SO:的字样(通)

Display 及多媒体功耗问题

7. 通话电流功耗问题

通话模式的功耗跟正常模式的功耗区别

通话模式的功耗跟正常模式的功耗区别

一般情况下
GSM 功耗< 3G-TD < 3G-W 功耗

GSM 3G-TD 功耗图

3G-W功耗图

飞行模式底电流 参考文档
标准模式功耗 参考文档
Audio PlayBack功耗 参考文档
通话底功耗 参考文档
Display 及多媒体功耗 参考文档

至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!

如有侵权,请联系小编,小编对此深感抱歉,届时小编会删除文章,立即停止侵权行为,请您多多包涵。

小礼物走一走,来简书关注我


http://www.ppmy.cn/news/336587.html

相关文章

Android手机功耗,高通/MTK功耗

功耗优化- https://blog.csdn.net/zhangbijun1230/article/category/7541658 android 功耗优化- https://blog.csdn.net/zhangbijun1230/article/category/7618452 MTK 驱动- https://blog.csdn.net/zhangbijun1230/article/category/7494418 高通驱动- https://blog.csdn.net/…

Android 手机功耗解决方案

本篇文章主要介绍 Android 开发中的部分 功耗 知识点&#xff0c;通过阅读本篇文章&#xff0c;您将收获以下内容: 1.测试功耗手机配置 欢迎关注微信公众号:程序员Android 微信公众号&#xff1a;ProgramAndroid 我们不是牛逼的程序员&#xff0c;我们只是程序开发中的垫脚石。…

Android 手机功耗测试方案

极力推荐Android 开发大总结文章&#xff1a;欢迎收藏程序员Android 力荐 &#xff0c;Android 开发者需要的必备技能 本篇文章主要介绍 Android 开发中的部分 功耗 知识点&#xff0c;通过阅读本篇文章&#xff0c;您将收获以下内容: 1.测试功耗手机配置 2.飞行模式待机功耗 3…

手机功耗问题

功耗问题由于涉及比较多&#xff0c;应该由硬件、驱动、音频、软件等同事协同分析&#xff0c;团队解决。但并不是说每个问题都需要所有人员参与&#xff0c;不同模块的功耗问题&#xff0c;有时候可以请专门负责的同事来解决&#xff0c;这样效率会提高不少。 以下内容是软件…

WiFi功率

WLAN设备发射功率 WLAN设备发射功率区域国家最大发射功率&#xff08;dbm&#xff09;中国20欧洲20北美30日本22 dbm 10log(value/1mW) value是以mW(毫瓦)为单位的功率值。 db 10 lg value1/value2 db是一个相对值&#xff08;value12value2&#xff0c;则10 lg2 3db&…

5G手机的发射功率,到底能有多大?

本文来源&#xff1a;无线深海 随着5G网络的建设&#xff0c;5G基站成本高&#xff0c;尤其是能耗大的问题已广为人知。 以中国移动为例&#xff0c;为了下行支持高速率&#xff0c;其2.6GHz的射频模块就要求64通道&#xff0c;最大320瓦发射功率。 而与基站通信的5G手机&#…

浅谈手机发射功率

浅谈手机发射功率 贴子发表于&#xff1a;2005/8/8 12:04:27 笔者从事手机测试校准系统集成有段时间&#xff0c;感觉到手机发射功率在不同的系统、不同的协议下有很多的不同。笔者对此深感有意思&#xff0c;故把PHS、GSM、cdma2000 1x、wcdma下对手机发射功率的规定罗列于…

三星通过Galaxy Note20,Note20 Ultra在功率,尺寸和5G方面大放异彩

Samsung is making up for its mistakes in the Galaxy S20 series with the Galaxy Note20 and Note20 Ultra. The phones have improved cameras, work well with Windows, and, of course, have S Pens. 三星正在通过Galaxy Note20和Note20 Ultra弥补其在Galaxy S20系列中的…