手机中的功耗设计介绍(一)

2023-05-16

最近在找新工作,对某大厂的功耗工程师的职位比较感兴趣。于是整理一下网络上查到的和之前基带工作中与功耗相关的知识。

不同的公司可能会有不同的责任划分,上份工作,硬件部分的功耗是由基带负责。主要接触到的是整机的关机漏电流,待机底电流,其他场景下的电流我们一般不管,有软件来负责。

设计初期

在产品设计研发的初期,基带在功耗方面的考虑主要是和温升工程师对接,分为两种:合理优化摆件和控制电源路径DC阻抗。

优化摆件

大的发热器件之间要有一定的距离。如SOC 充电IC PMU 等芯片上方会导入导热胶,在主芯片的屏蔽罩上也会特散热铜箔来控制温升。

电源路径DC阻抗

主要是充电路径上的直流阻抗,分为Vbus和Vbat。

Vbus

从充电TypeC口到充电IC的Vbus引脚,其中会经过小板PCB走线,磁珠(预防解决RE CE问题),USB FPC,BTB连接器,主板OVP MOS或OVP芯片,主板PCB走线。需要理论计算和实际利用灌电流的方法来确定路径中的阻抗。

Vbat

从充电IC的Vbat引脚输出,PCB走线,到主板BTB连接器,经过电池保护板,一直到电池包的阻抗,都要计算在内。

回板之后

在发板回来之后,首先研发的摸底测试中有包括关机漏电和待机底电流的测试。

关机漏电

关机漏电相对应的是SHIPPING mode漏电(某些情况下,比如机器在出货发给用户之前,会进入shipping mode进一步降低功耗,防止用户拿到手的机器是没电的机器。shipping mode的原理是将vbat连接到vsys的mos关断,使于vsys连接的引脚从根源上避免了漏电。而正常关机时,Vsys依旧是和vbat相连的,所以关机漏电流会比shipping mode时大一些。)

首先机器关机,扣下电池连接器,扣上假电池,用程控电源供电4V左右,电流显示模式改为AUTO或者0.02A档,稍等片刻后,可以在程控电源液晶显示屏上看到大概的漏电流,一般都是在200uA之内。稍讲究一点的话,可以用GPIB接口转USB接到电脑中,利用上位机查看实时的电流曲线。

出现的问题

关机漏电出现过的问题大多数是由于下电时序,或者芯片内部问题引发。如下电时序不对,某些芯片无法进入睡眠模式,依然处于待机状态。某些芯片在I2C下电之后不会默认进入睡眠模式。

定位办法通常有两种:1、拆解漏电流(将外围芯片依次拆下,测量漏电流是否正常,直到定位到漏电芯片。)2、利用万用表或示波器看漏电过大和正常机器的各信号电压差异。

目前遇到的问题主要有PD芯片,一些外部sensor等。如果是涉及到平台芯片的话,需要测试上下电时序,是否如平台规格书描述一致。

待机底电流

待机底电流通常和使用的平台和memory的大小相关。memory容量越大,底电流的值通常也会越大。通常需要打开飞行模式,关闭蓝牙WIFI,关闭屏幕双击唤醒,静置手机,待黑屏后2min,开始计算待机底电流。

出现的问题主要是因为软件方面的优化不及时,一些不必要打开的外设,在待机后依旧会时不时跳出来。除此之外,还发现有假电池本身的漏电问题和测试手法的问题,这些都需要在问题报出之后,依项排查。

在初次面试之后,感觉面试官对我目前的知识经验水平不太满意,手机中的功耗控制并不仅仅是这几个电流的控制。从产品的角度来看,功耗控制是为了让手机使用时间更加长久,让系统更加“高效,低碳,环保”。即在需要的时候做需要的事,在不需要的时候不做事。

从几个角度思考,手机功耗的优化分硬件优化和软件优化。硬件上要做的就是,在各种场景下,满足最大电流的同时,尽可能减少电路中的损耗,增加电路效率。比如利用开关电源代替LDO,用可控的电源轨代替不可控的电源轨。还看到有比较新奇的做法,在屏幕长时间处于单一界面时,如熄屏显示,可以硬件上加一颗rom,由屏幕直接读取内容显示,而无需经过SOC和大的memory内存处理,这样可以节省屏幕刷新和SOC系统不断唤醒的功耗。

上网查询到一些资料,增加了我对手机功耗的认知。

如以下几篇文章:

手机功耗基础介绍_duanyanggang的博客-CSDN博客_手机功耗

好专业,作为研发人员,确实还是要懂一些软件log定位方法和分析方法。这样的确能减少沟通花费的时间。我也能一解内心”怎么log什么都看得到,怎么log这个问题出现都看不到“的疑惑。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

手机中的功耗设计介绍(一) 的相关文章

  • Linux网络编程之PHP聊天室Workerman-chat

    云服务器上搭建 34 PHP聊天室框架 34 一 简介 xff1a 在服务器上搭建PHP聊天室框架 workerman chat 具体步骤 1 准备云服务器 购买阿里云服务器 可选购买其他云服务器 xff0c 如 xff1a 腾讯云 华为云
  • keil 下载安装 保姆级教程

    一 前言 最近被安排开发一个单片机的项目 xff0c 回头想了一下 xff0c 自己上次弄单片机的时候 xff0c 还都是在大学期间 xff0c 到现在也有三四年没有碰过了 xff0c 大部分的知识点都忘了 xff0c 所以又重新的把以前的
  • 从CSDN博客下载的图片如何无损去水印

    如果你想下载别人CSDN博客文章中很好看的图片 xff0c 但却有水印 想要下载去水印的图片 xff0c 可以先鼠标右击该图片 xff0c 选择复制图片地址 https img blog csdnimg cn 202009161408079
  • 不要再使用 Gitee 当图床了,官方已经开启防盗链了

    如果你正在使用或打算使用 Gitee 作为图床 xff0c 那么请不要这么做或打消该念头 近日 xff0c Gitee 官方已经开启防盗链 正在使用 Gitee 当图床的小伙伴或许已经发现所有的图片都已经变成了 Gitee 的 Logo 了
  • 基于BP神经网络的人脸朝向识别

    一 数字图像处理 1 1 问题假设 所给的全部人脸图像都未出现损坏等问题 xff1b 人脸的朝向仅分为5类 xff1a 左 中左 中间 中右 右 xff0c 其他朝向不予考虑 xff1b 对于题目中所给的人脸图像 xff0c 不考虑人脸的复
  • ::在c++中的意思

    在c 43 43 中 一 作用域符号 xff1a xff1a 前面是类名称 xff0c 后面一般是该类的成员名称 例类A中包含member1 A member1 二 全局作用域符号 用于区分全局变量和局部变量 xff1a xff1a cha
  • linux下cannot execute binary file: Exec format error解决办法

    对于linux下cannot execute binary file Exec format error明确说明是执行文件格式错误 xff0c 可能情况 xff1a 1 使用错误的命令 xff0c 如gcc c hello c o hell
  • PX4/Pixhawk---uORB深入理解和应用(最新版)

    1 简介 ps 第1章简介是参考 uORB深入理解和应用 1 1 PX4 Pixhawk的软件体系结构 PX4 Pixhawk的软件体系结构主要被分为四个层次 xff0c 这可以让我们更好的理解PX4 Pixhawk的软件架构和运作 xff
  • 深拷贝和浅拷贝的区别

    1 简单理解 深拷贝和浅拷贝最根本的区别在于是否真正获取一个对象的复制实体 xff0c 而不是引用 假设B复制了A xff0c 修改A的时候 xff0c 看B是否发生变化 xff1a 如果B跟着也变了 xff0c 说明是浅拷贝 xff0c
  • Linux系统下搭建PX4/Pixhawk原生固件编译环境

    对于新版本的固件V1 11 3 在pixhawk官网可以找到开发环境的搭建 xff0c 这里把开发环境链接贴出来 xff1a https docs px4 io master zh dev setup dev env linux ubunt
  • Pixhawk无人机飞行模式详解 (PX4源码)

    我帮大家把飞行模式控制量与特点总结一下 xff0c 方便看代码 xff0c 如下所示 xff1a 辅助模式 Position Mode 位置模式 xff08 定点模式 xff09 横滚俯仰控制角度 xff0c 油门控制上下速度 xff0c
  • pixhawk无人机避障

    本人最近用树莓派结合PX4做无人机避障 xff0c 使用激光雷达 xff0c 有没有一起的小伙伴 xff0c 我们一起交流 xff01 私信我 xff0c
  • 目录前导符不一致解决办法

    最近弄毕业设计 xff0c 写完论文以后发现生成的目录后面的前导码省略号数目 间距不一致 xff0c 非常的难看 xff0c 于是经过仔细研究找到了解决办法 xff1a 首先是问题所在 xff0c 请看下图 xff1a 首先在word中打开
  • 几种编码方式(RZ、NRZ、NRZI、曼彻斯特编码)

    在数字电路中 xff0c 组成一连串信息的基元就是0和1 xff0c 无论是在CPU DSP MCU甚至是个数字计数器中 xff0c 数字电路在其中能够处理的信息也只有0和1 xff0c 而对于任何外界的信息 xff0c 计算机都能通过两个
  • WIN10运行软件,窗口不显示 解决办法

    win10 运行软件后 xff0c 不显示窗口 今天遇到个问题 xff0c 我打开软碟通之后 xff0c 任务栏显示它已经打开了 xff0c 但是窗口就是不显示 xff0c 如下图 xff1a 用alt 43 tab 查看 xff0c 也能
  • 变频器的四大组成部分和工作原理

    随着电子技的发展变频器已经有了很大的变化 xff0c 但其基本原理并没有发生改变 变频器的主要部分有四个 xff1a 整流器 中间电路 逆变器 控制电路 1 xff09 整流器 通用变频器的整流电路是由三相桥式整流桥组成 它的功能是将工频电
  • Pytorch中torch的操作合集

    tensor的基本操作 PyTorch系例 torch Tensor详解和常用操作 这里最重要的概念是索引出来的结果与原数据共享内存 xff0c 也即修改一个 xff0c 另一个也会跟着修改 tensor的广播机制 Pytorch xff1
  • torch.tensor 内存共享机制

    tensor属于可变数据类型 xff0c 因此变量的值存储在堆中 xff0c 变量名存储在栈中 xff0c 当进行变量赋值时 xff0c 就是让栈中的变量指向堆 xff0c 如下面代码 xff1a span class token keyw
  • 熵 KL散度 交叉熵的理解

    熵 KL散度 交叉熵的概念 xff1a 理解二分类交叉熵 可视化的方法解释对数损失交叉熵公式推导 xff1a 理解交叉熵作为损失函数在神经网络中的作用熵 KL散度 交叉熵的关系 xff1a KL散度与交叉熵区别与联系训练过程中三者的应用 x

随机推荐

  • Docker数据目录迁移解决方案

    介绍 在docker的使用中随着下载镜像越来越多 xff0c 构建镜像 运行容器越来越多 数据目录必然会逐渐增大 xff1b 当所有docker镜像 容器对磁盘的使用达到上限时 xff0c 就需要对数据目录进行迁移 如何避免 xff1a 1
  • Git 三剑客 ———— git gui 可视化工具

    目录 页面介绍Unstaged changesStaged Changes xff08 Will Commit xff09 File DisplayCommand Set Repository 操作区Edit 操作区Branch 操作区Co
  • 数组对象转json格式

    1 数组转化成JSON对象后 xff0c key值是索引 xff0c value是数组对应的值 数组也可以转化成JSON对象 var jStr3 61 34 10 20 30 40 50 60 34 var j3 61 JSON parse
  • JS——DOM的结点操作

    H5自定义属性 自定义属性目的 目的 xff1a 是为了保存并且使用数据 有些数据可以把保存到页面中而不用保存到数据库 可以通过getAttribute获取 自定义属性 xff1a data 开头 这是一种规范 dataset xff1a
  • SecureCRT连接Linux

    在将SecureCRT连接Linux上时遇到一些问题 xff0c 记录如下 第一步 xff0c 我们要在在linux上安装openssh server服务 xff0c 并确认打开了22监听端口 在linux上操作命令如下 xff1a apt
  • Linux下添加虚拟串口,接收和发送数据

    之前写的那虚拟串口有点问题 xff0c 只能读取 xff0c 不能接收 今天再来改一下 将python的内容改为如下 xff1a 先新建一个文档 xff0c 内容如下 usr bin env python coding 61 utf 8 i
  • fatal: The remote end hung up unexpectedly解决办法

    今天在写完代码后 xff0c 准备提交到GitHub上 xff0c 结果得到了下面的结果 xff0c 记录一下 百度了之后 xff0c 发现大部分是有两种说法 一种是说提交的文件太大 xff0c 解决办法如下 link 一种是说管理员将项目
  • 简单了解几种常见的网络通信协议

    常见的网络协议有 TCP IP协议 UDP协议 HTTP协议 FTP协议 Telnet协议 SMTP协议 NFS协议等 这里主要简述一下前三种协议 一 TCP IP协议 1 什么是TCP IP协议 xff1f TCP IP传输协议 xff0
  • 路径规划算法总结

    路径规划算法 1 Dijkstra算法 从物体所在的初始点开始 xff0c 访问图中的结点 迭代检查 待检查节点集中的节点 xff0c 该节点从初始节点向外扩展 xff0c 直到达到目标节点 xff0c 该算法能够保证找到一条从初始点到目标
  • chmod +x 与chmod 777 的超详细解说

    在linux中使用man命令查看chmod的大纲我们可以得出以下有用的信息 xff1a chmod OPTION MODE MODE FILE chmod OPTION OCTAL MODE FILE chmod OPTION refere
  • 无线路由模块有什么作用?MT76X8系列方案在工业物联网模块中的应用

    说起WiFi路由模块 xff0c 或许有像小编在接触物联网之前一样 xff0c 会想到这是用在路由器产品上的 xff0c 是上网用的 小编在加入bojingnet后 xff0c 接触到物联网WiFi方案定制的各种知识耳濡目染 xff0c 也
  • (深蓝学院)多传感器融合定位作业1

    1 作业描述 请搭好代码环境 xff0c 下载数据集并播放数据集 xff0c 在 rviz 上显示点云 2 数据集下载 Kitti 数据集 xff08 bag xff09 3 实现步骤 3 1 环境搭建 VirtualBox 虚拟机安装 U
  • SLAM--intel realsense2在ORB SLAM2 和 ORB SLAM3下建图和重定位(ubuntu 20.04, opencv 4.2.0 以上)

    用intel 的realsense相机实现orb slam2 和 orb slam3 ubuntu 20 04系统 链接地址 ORB SLAM2 可建图 xff0c github https github com zouyuelin ORB
  • QGC常见故障处理思路图

  • JAVA语言使用的前提,JDK安装,环境变量配置以及简单使用(带图解)。

    JAVA语言使用的前提 xff0c JDK安装 xff0c 环境变量配置以及简单使用 xff08 带图解 xff09 想要使用java语言 xff0c 肯定要先给自己的电脑上安装一个Java语言的翻译官 1 首先我们要下载JDK xff08
  • eclipse工具下载与安装(带图片)

    eclipse工具下载与安装 eclipse官网下载 直接上图 1 1 1 2 1 3 1 4 1 5 1 6 2 1 下载完之后解压到D盘的文件夹中即可 xff0c 解压完成后找到eclipse exe 应用程序 双击运行 2 2 选择文
  • Collection集合(集合概念的简单理解及数据结构的简单理解)

    Collection集合 xff08 简单理解 xff09 Collection接口 xff1a 是单列集合最顶层的接口 定义了所有单列集合中的共性方法 xff0c 但是里面没有带索引 xff08 下标 xff09 的方法 List 接口
  • js导航制作(纯js,带有隐藏和显示的滑动效果)

    简介 xff1a 纯js制作导航 xff0c 此导航只需要关系 appendHtml arrays bigNavi 0 navigationArr 函数的使用即可 下面代码粘贴到本地即可使用 HTML span class token op
  • 如何使用用户标签解析?

    什么是用户标签 xff1f 标签是认为规定的特征符号 xff0c 是将用户的属性 行为等进行高度提炼的特征描述 xff0c 比如按照年龄划分为90后 xff0c 按照性别有男女之分等 每个标签都是用户画像的一个角度 xff0c 大量的标签数
  • 手机中的功耗设计介绍(一)

    最近在找新工作 xff0c 对某大厂的功耗工程师的职位比较感兴趣 于是整理一下网络上查到的和之前基带工作中与功耗相关的知识 不同的公司可能会有不同的责任划分 xff0c 上份工作 xff0c 硬件部分的功耗是由基带负责 主要接触到的是整机的