当前位置: 首页 > news >正文

器件功耗模型原理

器件功耗模型原理

谷歌提供了一套通用的器件耗电模型和配置方案,先对器件进行耗电因子拆解,建立器件功耗模型,得到一个器件耗电的计算公式。通过运行时统计器件的使用数据,代入功耗模型,就可以计算出器件的功耗。例如CPU功耗建模基本思路是在每个CPU频点的运行时长乘以该频点对应的功耗或电流值,累加所有频点的功耗,得到 CPU 的总功耗

测试出器件电流

由于每个型号的产品器件组成不一样,为了精准建模,一般OEM厂商都是会对自家机型进行参数测试和校准后更新到 power_profile.xml

场景

步骤

xxx机型

备注

A1

A2

结果

power_profile.xml 填写记录

screen,full

1.打开飞行模式,灭屏时间最长,其他的基础功能关

2.进入到日历应用界面

3.将亮度设置至最大(4095),待电流稳定后,测试5分钟,记录电流值A1(echo 4095 > /sys/class/backlight/panel0-backlight/brightness)

4.将亮度调整至为0,待电流稳定后,测试5分钟,记录电流值A2

(echo 0 > /sys/class/backlight/panel0-backlight/brightness)

5.A1-A2

1820.33

38.97

1781.36

已填写

screen,on

1.打开飞行模式,灭屏时间最长,其他的基础功能关

2.进入到日历应用界面

3.将亮度调整至为0,待电流稳定后,测试5分钟,记录电流值A1

4.输入命令 adb shell"echo test > /sys/power/wake_lock

5.灭屏待机,待电流稳定后,测试5分钟,记录电流值A2

6.A1-A2

38.97

12.7

26.27

已填写

Bluetooth.on

1.打开飞行模式

2.单独打开蓝牙,不连接任何设备,处于idle状态

3.灭屏待机

4.待电流稳定后,测试5分钟,记录电流值A2

5.A2-CPU.idle

8.88

9.68

0.8

已填写

Bluetooth.active

1.打开飞行模式,音量7格。

2.单独打开蓝牙,连接蓝牙耳机

3.播放音乐

4.灭屏

5.待电流稳定后,测试5分钟,记录电流值A1

6.亮屏,停止音乐,关闭蓝牙

7.插入模拟耳机,播放音乐

8.灭屏

9.待电流稳定后,测试5分钟,记录电流值A2

6.A1-A2

58.02

44.8

13.22

已填写

WiFi.on

1.打开飞行模式

2.单独打开WiFi,不连接任何设备,处于idle状态

3.灭屏待机

4.待电流稳定后,测试5分钟,记录电流值A2

5.A2-CPU.idle

8.88

9.91

1.03

已填写

WiFi.active

1.打开飞行模式,中等亮度

2.单独打开WiFi,连接2.4G网络 分别做WLAN发送/接收信号

(下载:应用商店下载王者荣耀,电流取5min平均值  网速按已下载完的进度进行计算    上传:百度网盘上传文件 )

3.待电流稳定后,测试5分钟,记录电流值A2、A1

4.(A2+A1)/2

403.4

(上传)

447.44

(下载)

425.42

已填写

WiFi.scan

1.打开飞行模式,中等亮度

2.单独打开WiFi,不连接任何设备,处于idle状态

3.停留在WiFi设置界面

4.待电流稳定后,测试5分钟,记录电流值A1

5.按返回键,退回到设置界面

6.待电流稳定后,测试5分钟,记录电流值A2

5.A1-A2

199.64

153.56

46.08

已填写

Dsp.audio

1.打开飞行模式,灭屏时间最长,其他的基础功能关

2.输入命令 adb shell"echo test > /sys/power/wake_lock

3.灭屏待机,待电流稳定后,测试5分钟,记录电流值A1

4.输入命令 adb shell"echo test > /sys/power/wake_unlock

5.插入模拟耳机

6.播放音乐

5.待电流稳定后,测试5分钟,记录电流值A2

6.A2-A1

12.7

44.8

32.1

已填写

Dsp.video

1.打开飞行模式,灭屏时间最长,中等亮度,其他的基础功能关

2.插入模拟耳机

3.播放720p视频

4.待电流稳定后,测试5分钟,记录电流值A1

5.暂停播放

6.待电流稳定后,测试5分钟,记录电流值A2

7.A1-A2

194.44

135.31

59.13

已填写

camera.avg

1.打开飞行模式,灭屏时间最长,最低亮度,其他的基础功能关

2.打开相机

3.默认拍照模式下预览

4.待电流稳定后,测试1分钟,记录电流值A1

5.手动6秒拍摄一次照片,测试一分钟,记录电流值A2

6.A2-A1

784.42

1054.59

270.17

已填写

camera.flashlight

1.打开飞行模式,灭屏时间最长,最低亮度,其他的基础功能关

2.打开相机

3.默认拍照模式下预览

4.待电流稳定后,测试1分钟,记录电流值A1

5.打开闪光灯,测试一分钟,记录电流值A2

6.A2-A1

784.42

852.53

68.11

已填写

GPS.on

1.打开飞行模式,中等亮度,关闭位置服务

2.进入到工模

3.进入到工模界面,进行搜星

4.待电流稳定后,测试5分钟,记录电流值A1

5.打开位置服务,进入到工模界面,进行搜星

6.待电流稳定后,测试5分钟,记录电流值A2

5.A2-A1

58.03

118.62

60.59

已填写

radio.active

1.插卡,选择4G网络,中等亮度

2.做数据下载(浏览器下载王者荣耀,下载界面观察下载速率)

下载:应用商店下载王者荣耀,电流取5min平均值  网速按已下载完的进度进行计算    上传:百度网盘上传文件 )

3.待电流稳定后,测试5分钟,记录电流值A1

4.做数据数据上传(百度云盘上传文件)

5.待电流稳定后,测试5分钟,记录电流值A2

6.(A2+A1)/2

646.42

(上传)

541.86

(下载)

594.14

已填写

radio.scanning

1.插卡,选择4G网络

2.进入到屏蔽信号环境,让手机处于搜网状态

3.灭屏待机

4.出现持续大电流是开始记录,记录电流值A1

5.A1-CPU.idle

暂无测试环境

等待测试数据或评估是否同小米14 pro

radio.on

1.插入4G单卡

2.成功注册上4G网络,且信号良好

3.灭屏待机

4.待电流稳定后,测试5分钟,记录电流值A1

5.A1-CPU.idle

11.39

8.88

2.51

待对比小米14 pro

源码需要2个不同信号的数值

1. 无信号或弱网下电流值

2. 信号良好

battery.capacity

电池规格书

/

/

5020

已填写

CPU.idle

1.打开飞行模式

2.确保没有连接充电线及USB

3.灭屏待机

4.待电流稳定后,测试5分钟,记录电流值A1

8.88

/

8.88

已填写

cpu.awake

1.打开飞行模式,其他的基础功能关

2.输入命令 adb shell"echo test > /sys/power/wake_lock

3.灭屏待机,待电流稳定后,测试5分钟,记录电流值A1

4.A1

/

/

12.7

N/A

毕加索源码不使用了

功耗模型计算

Wifi示例计算

谷歌提供的功耗建模方案对 Wi-Fi 的功耗进行了分状态计算,不同状态下的功耗差异非常显著。具体来说,Wi-Fi 的功耗模型分为以下几个状态:

wifi.on:对应 Wi-Fi 打开时的基准电流。

wifi.active:对应 Wi-Fi 传输数据时的基准电流。

wifi.scan:对应 Wi-Fi 单次扫描的基准功耗。

Wi-Fi 数据传输的功耗:包括 controller.rx(接收数据)、controller.tx(发送数据)和 controller.idle(空闲状态)。

通过统计这些状态的持续时间或发生次数,乘以对应的电流值,就可以计算出 Wi-Fi 器件的总功耗。也可以基于收发的数据大小*单位耗电量得到总功耗

例如:adb shell dumpsys batterystats

0

以 Wi-Fi 为例,OEM 厂商可以进一步细化功耗模型,例如:

按频段建模:分别对 2.4GHz 和 5GHz Wi-Fi 进行独立建模。

信号强度影响:引入天线信号强度变化对基准电流的影响。

频点统计:统计 Wi-Fi 芯片在不同工作频点的时长,并按频点细化功耗模型。

通过这些优化,OEM 厂商可以设计出更符合自身设备特性的精准功耗模型,从而更准确地计算 Wi-Fi 的功耗。这种精细化的功耗建模需要根据具体产品的硬件方案进行定制化设计,以实现更高的精度和可靠性。

相关文章:

  • 全星研发项目管理APQP软件系统:汽车零部件制造行业的高效研发利器
  • Mysql配套测试之更新篇
  • ArcPy批量将栅格文件的属性表导出为Excel表格的方法
  • 【C++ 进阶】语句:从基础到实践
  • BMS电池管理系统
  • C语言-装饰器模式详解与实践 - LED控制系统
  • 菜单(路由)权限按钮权限路由进度条
  • Sqoop 常用命令
  • stm32标准库开发需要的基本文件结构
  • CUDA 学习(4)——CUDA 编程模型
  • 线段树与扫描线 —— 详解算法思想及其C++实现
  • Normal distribution (正态分布)
  • Windows安装Jenkins配置Allure踩坑,必须单独配置当前windows系统为新的node节点,才可在工具位置中指定节点服务器allure的位置
  • C语言-访问者模式详解与实践
  • Spring boot 3.4 后 SDK 升级,暨 UI API/MCP 计划
  • 线程控制学习
  • MCP Facade Generator:助力 MCP 协议接口实现的强大工具
  • 【C语言】C语言使用随机数srand,rand
  • nacos-actuator漏洞
  • apt 常见报错及解决方法
  • 鸿蒙电脑正式发布,国产操作系统在个人电脑领域实现重要突破
  • 广东茂名高州市山体滑坡已致3死1失联,搜救仍在继续
  • “当代阿炳”甘柏林逝世,创办了国内第一所残疾人高等学府
  • 《缶翁的世界》首发:看吴昌硕王一亭等湖州籍书画家的影响
  • 经济日报金观平:促进信贷资金畅达小微企业
  • 特朗普:将于19日分别与普京和泽连斯基通话