MTK平台 电池驱动相关

MTK平台 电池驱动

一、相关代码路径(mt6755/Android6.0)

alps/kernel-3.18/drivers/misc/mediatek/include/mt-plat/mt6755/include/mach/mt_battery_meter.h 
alps/kernel-3.18/drivers/misc/mediatek/include/mt-plat/mt6755/include/mach/mt_battery_meter_table.h 
alps/kernel-3.18/drivers/power/mediatek/battery_common.c 
alps/kernel-3.18/drivers/power/mediatek/battery_meter.c 
alps/kernel-3.18/drivers/power/mediatek/linear_charging.c 
alps/kernel-3.18/drivers/power/mediatek/switch_charging.c

二、MTK Battery框架结构图

1、框架结构图: 

2、Battery代码框架: 

3、oam_run()流程图: 
 

以下是电池电池曲线相关:

一、MTK电池电量算法

1、SOC_BY_AUXADC:通过模数转换硬件获得电池电压,由电压来换算电量,误差大; 
2、SOC_BY_SW_FG:通过库伦积分算法获得电量,其中电流由软件计算获得(MTK平台常用的电池电量算法); 
3、SOC_BY_HW_FG:通过库仑积分算法获得电量,其中电流由硬件的模数转换获得; 
4、SOC_BY_SW_FG与SOC_BY_HW_FG的区别在于放电电量的获取方式,一个由软件计算获得,一个由硬件模数转换获得。

二、库仑积分算法:

开机时测量电池的开路电压,由开路电压换算出电池电量,放电过程中对放电电流积分,开机时电池电量减去放电电量就是剩余电池电量;

三、SOC_BY_SW_FG相关定义

1、OCV:电池开路电压,即电池断开负载时测得的电压; 
2、VBAT:电池闭路电压,即电池有负载时测得的电压; 
3、r:电池内阻; 
4、I:电池放电电流 (I = (OCV - VBAT)/r); 
5、DOD:放电深度,100-DOD即为电池容量; 
6、温度:电池特性受温度影响,一般用一个热敏电阻来测量温度; 
7、ZCV:Zero current Voltage,一般指zcv表格,也是开路电压的意思; 
8、VC:闭路电压; 
9、CAR:库仑计; 
10、Cmax/Qmax:电池容量。

MTK 驱动(69)---MTK平台 电池驱动相关相关推荐

  1. MTK 驱动---MTK平台 电池驱动相关

    MTK平台 电池驱动 一.相关代码路径(mt6755/Android6.0) alps/kernel-3.18/drivers/misc/mediatek/include/mt-plat/mt6755 ...

  2. linux驱动开发篇(四)—— platform平台设备驱动

    linux系列目录: linux基础篇(一)--GCC和Makefile编译过程 linux基础篇(二)--静态和动态链接 ARM裸机篇(一)--i.MX6ULL介绍 ARM裸机篇(二)--i.MX6 ...

  3. Platform平台设备驱动框架

    Platform 平台设备驱动框架 platform平台设备驱动是基于设备驱动模型的,它将总线结构体struct bus_type封装为struct bus_type platform_bus_typ ...

  4. 嵌入式Linux设备驱动程序开发指南9(平台设备驱动)——读书笔记

    平台设备驱动 九.平台设备驱动 9.1 平台设备驱动概述 9.2 GPIO驱动 9.2.1 简介 9.2.2 硬件名称 9.2.3 引脚控制器 9.2.4 引脚控制子系统 9.2.5 GPIO控制器驱 ...

  5. mtk 电池曲线_mtk 电池驱动流程详解

    mtk 电池驱动流程详解 充电算法,充9S停1S 电池温度高于50,充电器电压为>6.5V 停止充电, 充电电压最大值是6500mV 最小值是4400mV 3.4V为开机电压,电压大于3.4V才 ...

  6. MTK平台闪光灯驱动分析

    MTK平台闪光灯驱动分析   以前没写过博客,总想写着来着,把之前学到的做过的东西都记录下来,但是一直没有时间也没那么大的决心.这次趁着刚换工作,正在学习熟悉平台不是太忙的机会,把自己总结的文档写下来 ...

  7. MTK平台LCD驱动框架详解(一)

    许多学习嵌入式的进入MTK开发平台,很多东西都会感到很陌生.在MTK平台上你可以简简单单几分钟就点亮一块屏.加上MTK快速开发的节奏,也很少有时间自己整理学习.如果不思进取,不加班加点学习.很容易就慢 ...

  8. mtk平台lcd驱动移植

    mtk平台lcd驱动分为两个部分:lk和kernel.两部分基本流程相同,除了GPIO操作及头文件. 1. lk:需要修改的目录 vendor/mediatek/proprietary/bootabl ...

  9. MTK平台TP驱动框架解析

    一,TP驱动代码的组成 MTK平台TP驱动主要包括两处文件: 1,kernel-3.18\drivers\input\touchscreen\mediatek\mtk_tpd.c 平台设备驱动,主要为 ...

最新文章

  1. 人工智能应用实践与趋势
  2. Markdown拾遗
  3. java futher多线程_Java多线程系列--“JUC集合”05之 ConcurrentSkipListMap
  4. 放个手机在单位自动打卡_钉钉自动打卡(家校打卡,寒假特辑)
  5. 在当当买了python怎么下载源代码-Python爬取当当网APP数据
  6. 简单汇编----输入密码判断正否
  7. c语言如何给阻塞函数加超时,在代码中写一个延时而不阻塞的函数方法,给大家的参考 - 单片机 - 电子工程世界-论坛 - 手机版...
  8. Harbor API整理:获取项目下的所有镜像
  9. 最全面 Nginx 入门教程 + 常用配置解析
  10. 批量替换文件夹下所有文件的内容
  11. ORACLE 12C 插入数据遇到 Error getting generated key or setting result to parameter object错误
  12. 35 WM配置-作业-定义需求类型
  13. 搜狗发布全球首位 3D AI 主播,背后分身技术有玄机
  14. HDU1847 Good Luck in CET-4 Everybody!【SG函数】
  15. 解决Eclipse 64位启动时,报jvm.dll错
  16. bat 暂停一段时间_BAT面试问是否具备3年工作经验,这么回答绝了!
  17. 正向代理、透明代理、反向代理的理解示意图
  18. 使用Bind配置DNS Load Balancing
  19. Altium Designer使用者,你想要一键出Gerber吗?
  20. 集成App Linking服务后无法正确跳转到应用的解决方案

热门文章

  1. 数据结构之栈的应用(算术计算)
  2. [C++] - auto的使用、优点和缺点
  3. Java学习日报—泳道与Feign—2021/11/30
  4. Java并发编程:synchronized
  5. spring-security过程分析
  6. easyUI按钮图表对照大全
  7. 哎呀,搬运blog好累啊,96篇呢QwQ
  8. hdu-4080 Stammering Aliens 字符串hash 模板题
  9. 基础知识之 - C# Using的用法
  10. golang之tcp自动重连