MTK手机平台充电原理

news2024/9/9 0:04:27

EPT GPIO初始化文件 @bsp_gpio_ept_config.c

1 知识点总结
1.1 Official 参考充电电路
Figure 1-1 参考电路

VCHG:USB正极
VCDT:VCHG Charger Detect充电电压检测脚
ISENSE:充电电流检测电阻的正极
BATSNS:充电电流检测电阻的负极
BAT:电池正极引脚
BAT_ON:电池NTC (热敏电阻) 引脚
RECHARGING_VOLTAGE: 回充电压

1.2 5V充电器电压设置
@ cust_charging.h
#define  V_CHARGER_MAX       6500    // 6.5 V 充电器的电压最大值
#define  V_CHARGER_MIN       4400    // 4.4  充电器的电压最小值
#define  V_CHARGER_ENABLE     0      //1:ON , 0:OFF  //充电电压保护使能

1.3 配置电池温度检测相关参数
@ cust_battery_temperature_table.h
1.3.1 热敏电阻
目前热敏电阻有两种规格:10K和47K;由电池工程师提供参数。
#define BAT_NTC_10 1
#define BAT_NTC_47 0

1.3.2 在配置热敏电阻参数的同时,也要根据原理图,配置温度检测上拉电阻以及参考电压
#define RBAT_PULL_UP_R             16000 // Unit: Ohm,对应原理图中的R311
#define RBAT_PULL_UP_VOLT          2800   // Unit: micro voltage,对应原理图中的VBATREF

BattVoltToTemp函数就是任何将ADC读出的电压值转换为温度值,该函数其实就是做了两个运算,运算的原理如下图所示。
Figure 1-2 MTK平台NTC温度值计算

1.4 配置充电电流
@ cust_charging.h

1.5 配置电流检测电阻
@ cust_battery_meter.h or @ cust_charging.h
#define CUST_R_SENSE         56  // Unit: micro Ohm, 56 mOhm

该电阻的两端是BATSNS & ISENSE。

Figure 1-3 充电电流检测电阻

1.6 Dead Battery Voltage
@ cust_charging.h
#define V_0PERCENT_TRACKING             3410  /* 3410mV */

1.7 各温度下最大放电容量,内阻-电压表,放电深度-电压表
电池充放电参数由电池工程师向电池厂家索取。目前MTK支持-10°、0°、25°、50°。
1.7.1 各温度下最大放电容量 (Unit: mA)
@ cust_battery_meter.h

Q表示各温度下最大的放电容量
#define Q_MAX_POS_50 1750  //Cmax, 50°最大放电容量1750 mA
#define Q_MAX_POS_25 1763 // 25°
#define Q_MAX_POS_0 1756  // 0°
#define Q_MAX_NEG_10 1726 // -10°

High Voltage:
#define Q_MAX_POS_50_H_CURRENT 1737 //Cmax_400mA, 50°最大放电容量1337 mA
#define Q_MAX_POS_25_H_CURRENT 1717  // 25°
#define Q_MAX_POS_0_H_CURRENT 1214  // 0°
#define Q_MAX_NEG_10_H_CURRENT 966  // -10°

1.7.2 各温度下的内阻-电压表和放电深度-电压表
@ cust_battery_meter_table.h

Figure 1-4 ZCV curve measured SOP

Figure 1-5 Battery Voltage Measure

CAR:库仑计
Cmax/Qmax:电池容量
DOD:Depth of Discharging,放电深度百分比;每次开机后初始的DOD,通过OCV方式算出来或者使用RTC保存的值
mAh:放电容量
OCV:Open Circuit Voltage,开路电压
R (battery):电池内阻,(V2-V1)/400mA
SOP:Standard Operation Procedure
VC (=VBAT):Voltage of Closed Circuit,闭路电压,Charge ADC采样的到电压就是闭路电压
ZCV:Zero Current Voltage,零电流-电压,一般指ZCV的2个表格(开路电压-放电深度百分比,开路电压-电池内阻)

在ZCV曲线里面,还有一栏是电池内阻R (battery),在cust_battery_meter_table.h里面就是r_profile_tX[51],那这个有什么用呢?
公式:oam_v_ocv_1 (OCV) = vol_bat (VC) + 补偿电压(IR)。
在手机端读取的电池电压是vol_bat (VC),实际电池电压是oam_v_ocv_1 (OCV),两者之间由于电池特性或者充电线会有一些差异,这时候就会需要一个补偿电压来让手机端显示百分比更准确,这就是R (battery) 的作用。

Figure 1-6 MTK OCV和SOC计算原理

线性插值方法具体原理如下图。
Figure 1-7 Linear Interpolation Method

从电池供应商表格中提取 R-OCV 对应温度的r_profile_tX[51]数组
从电池供应商表格中提取DOD-OCV到对应温度的battery_profile_tX[51]数组中
注意数组的元素个数都要一致。
系统开机后,会利用预先测得的分布在-10、0、25、50摄氏度下的 ZCV 表,结合真实温度,动态重构一张当前温度下的ZCV 表格,重写TEMPERATURE对应预留的空ZCV数组battery_profile_temperature[51]

假如产品的电压范围设置在4.2V - 3.4V,并且该电压范围对应的容量大小是2000mA,则每个百分点就是20mA。

1.8 充电算法
@ cust_battery_meter.h
考虑接触点电阻,电池接触点处一般会有20~40 mOhm的电阻,这个阻值在大电流 (1.5-2A) 充电的时候,会对充电算法有一定的影响。所以在调试的时候要考虑这个电阻的存在,尤其是大电流充电的时候。在函数mtk_imp_tracking中计算开路电压 (OCV)的时候,可以通过宏定义FG_METER_RESISTANCE的调整去补充这个接触点电阻。

2 Documents
《Battery_Charging_Introduction_for_Customer_V1.0.pdf》
《Battery_Customer Document_MT65xx.pdf》
《Fuel_Gauge_introduce.pdf》
《Fuel_Gauge_Application_Notes_V1.0.pdf》
《Fuel_Gauge_Battery_ZCV_Table_Test_SOP_V1.0_20120716.pdf》

3 DOD-OCV的百分数excel计算法
3.1 excel
1) 点击B1 然后在上面的编辑栏输入 (A1/100)

2) 右键“设置单元格格式(F)...”

3) 剩下的其他单元格只要把鼠标拖到B1的右下角有个 +号此时点击鼠标左键下拉就行了
4) 折线图的生成
从excel选中2列数据,点击“插入”->“插入折线图”,excel会生成直观折线图。

3.2 word

4 Abbreviations
GM 3.0:MTK Gauge Master

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1203251.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VMware配置NAT模式网络

一、选择VMWare的NAT模式。 1)导航栏“编辑”->“虚拟网络编辑器” ->NAT模式->NAT设置 记住NAT设置中的子网IP、子网掩码、网关IP三项,接下来配置文件主要是这三项。 嗯,这里记得按确定,我之前没有按确定写好配置后还…

c++-哈希

文章目录 前言一、unordered系列关联式容器1、unordered_map2、性能测试 二、哈希1、哈希概念2、哈希冲突3、哈希冲突解决3.1 闭散列3.2 开散列3.3 字符串Hash函数3.4 哈希桶实现的哈希表的效率 三、哈希表封装unordered_map和unordered_set容器1、unordered_map和unordered_se…

【PG】PostgreSQL 预写日志(WAL)、checkpoint、LSN

目录 预写式日志(WAL) WAL概念 WAL的作用 WAL日志存放路径 WAL日志文件数量 WAL日志文件存储形式 WAL日志文件命名 WAL内容 检查点(checkpoint) 1 检查点概念 2 检查点作用 触发检查点 触发检查点之后数据库操作 设置合…

擎创动态 | 再获上海区政府肯定,擎创科技被评为年度优秀高新技术企业

11月6日,上海市静安区副区长张慧和市北高新集团总裁陈军一行来到擎创科技调研指导,由擎创科技高管张健和陈莹陪同交流。 陈莹女士首先向副区长一行详细介绍了擎创科技的发展现状、落地实践效益以及未来的规划布局。在公司的成长过程中,得到静…

安卓现代化开发系列——从状态保存到SavedState

由于安卓已经诞生快二十载,其最初的开发思想与现代的开发思想已经大相径庭,特别是Jetpack库诞生之后,项目中存在着新老思想混杂的情况,让许多的新手老手都措手不及,项目大步向屎山迈进。为了解决这个问题,开…

linux时间同步

搭建集群时,都会先设置时间同步,否则会出现多种问题。 方式一: 1.安装ntp软件 yum install -y ntp 2.更新时区 删除原有时区:sudo rm -f /etc/localtime 加载新时区:sudo ln -s /usr/share/zoneinfo/Asia/Shangh…

杂乱知识点记录

杂乱知识点记录 1 目标检测评估指标2 visual grounding3 分割4 VLM经典框架5 RCNN系列RCNNFast RCNNFaster RCNNMask RCNN 6 GIOU7 DETR系列DETRDeformable DETRDAB-DETRDN-DETRDINO 8 COCO20149 COCO评价指标 maxDets[1,10,100]10 FCOS:anchor-free11 ATSS 1 目标检…

公司让我开发一个管理系统,有了它,So easy!

目录 一、前言 二、低代码如何快速开发? 1.可视化开发 2.预构建的组件和模板 3.集成的开发和测试工具 4.跨平台兼容性 5.可伸缩性和可扩展性 三、前后端分离的开发框架 技术架构 一、前言 长期以来,常规软件开发是一项艰苦而详尽的工作。开发人员编写代表…

CMT2300A超低功耗127-1020MHz Sub-1GHz全频段SUB-1G 射频收发芯片

CMT2300A超低功耗127-1020MHz Sub-1GHz全频段SUB-1G 射频收发芯片 Sub-1GHz,是指小于1GHz频率的统称。Sub-1GHz无线电频段应用的主要特点:(1)频率较低波长较长,传输距离远,穿透性强;&#xff0…

阿里云国际站:专有网络vpc

文章目录 一、阿里云专有网络的概念 二、专有网络的组成部分 三、专有网络的优势 一、阿里云专有网络的概念 专有网络VPC是阿里云用户在云上创建的私有网络,用户自己掌控,可以自定义IP地址段、创建交换机、配置路由表和网关等操作。用户可以在自己的专…

假冒 Skype 应用程序网络钓鱼分析

参考链接: https://slowmist.medium.com/fake-skype-app-phishing-analysis-35c1dc8bc515 背景 在Web3世界中,涉及假冒应用程序的网络钓鱼事件相当频繁。慢雾安全团队此前曾发表过分析此类网络钓鱼案例的文章。由于Google Play在中国无法访问,许多用户…

个推「数据驱动运营增长」上海专场:携程智行火车票分享OTA行业的智能用户运营实践

近日,以“数据增能,高效提升用户运营价值”为主题的个推「数据驱动运营增长」城市巡回沙龙上海专场圆满举行。携程智行火车票用户运营负责人王银笛分享OTA行业的智能用户运营实践。 ▲ 王银笛 携程智行火车票用户运营负责人 负责智行业务线用户运营。从0…

竞赛 题目:基于FP-Growth的新闻挖掘算法系统的设计与实现

文章目录 0 前言1 项目背景2 算法架构3 FP-Growth算法原理3.1 FP树3.2 算法过程3.3 算法实现3.3.1 构建FP树 3.4 从FP树中挖掘频繁项集 4 系统设计展示5 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 基于FP-Growth的新闻挖掘算法系统的设计与实现…

短剧软件APP开发方案

一、项目概述 短剧软件APP是一款集创作、拍摄、观看短剧于一体的移动应用。用户可以随时随地创作自己的短剧,也可以观看其他用户创作的短剧。本方案将详细介绍短剧软件APP的开发流程。 二、需求分析 在开发短剧软件APP之前,需要进行详细的需求分析。通…

MS321V/358V/324V低压、轨到轨输入输出运放

MS321V/MS358V/MS324V 是单个、两个和四个低压轨到轨输 入输出运放,可工作在幅度为 2.7V 到 5V 的单电源或者双电源条件 下。在低电源、空间节省和低成本应用方面是最有效的解决方案。 这些放大器专门设计为低压工作( 2.7V 到 5V )…

采集标准Docker容器日志:部署阿里云Logtail容器以及创建Logtail配置,用于采集标准Docker容器日志

文章目录 引言I 预备知识1.1 LogtailII 查询语法2.1 具体查询语法2.2 查询示例2.3 设置token时间(登录过期时间)see also引言 I 预备知识 1.1 Logtail Logtail是日志服务提供的日志采集Agent,用于采集阿里云ECS、自建IDC、其他云厂商等服务器上的日志。本文介绍Logtail的功…

飞天使-django概念之urls

urls 容易搞混的概念,域名,主机名,路由 网站模块多主机应用 不同模块解析不同的服务器ip地址 网页模块多路径应用 urlpatterns [ path(‘admin/’, admin.site.urls), path(‘’, app01views.index), path(‘movie/’, app01views.movi…

记一次线上问题引发的对 Mysql 锁机制分析

背景 最近双十一开门红期间组内出现了一次因 Mysql 死锁导致的线上问题,当时从监控可以看到数据库活跃连接数飙升,导致应用层数据库连接池被打满,后续所有请求都因获取不到连接而失败 整体业务代码精简逻辑如下: Transaction p…

探索向量数据库 | 重新定义数据存储与分析

随着大模型带来的应用需求提升,最近以来多家海外知名向量数据库创业企业传出融资喜讯。 随着AI时代的到来,向量数据库市场空间巨大,目前处于从0-1阶段,预测到2030年,全球向量数据库市场规模有望达到500亿美元&#xff…