android 电源/充电/库仑
最近,一直在负责公司所有产品的电源/充电/库仑这块,先说说库仑,它是集成在电池里面的一个芯片,用来准确的返回电池的信息的,因为一般的电池的信息是通过adc返回的数据,这样的数据不是很精确,为了做到对电池的信息的精确处理,所以公司的大多产品都用到了库仑计,底层页就是通过I2C读取寄存器的数据实现的。
1:有库仑计和一般电池的区别
有库仑计的电池,一共有6个脚,而一般的电池只有三个脚;
有库仑计的电池,读取到的数据比没库仑计的电池读取到的电池信息更精确。
先贴图:
如图中看到的,通过SCL和SDA读取6B地址处的数据,就可以精确拿到电池的信息。
通过下面的bq27541_level()读取电池的电量等级,也就是百分数,而通过bq7541_vol()读取到的即是电池的电量,其实最底层就是通过i2c_smbus_xfer实现的。
int bq27541_level(void)
{
int ret;
short data;
ret = i2c_smbus_read_word_data(chip->client, bq27541CMD_SOC_LSB);
if (ret >= 0) {
data = (short)ret;
//printk("level:%d\n",data);
bq27541_debug(chip, "POWER_SUPPLY_PROP_CAPACITY = %d\n", data);
} else {
pr_info("get bat_info POWER_SUPPLY_PROP_CAPACITY on bq27541CMD_SOC_LSB error\n");
return -1;
}
return data;
}
int bq27541_vol(void)
{
int ret;
short data;
ret = i2c_smbus_read_word_data(chip->client, bq27541CMD_VOLT_LSB);
if (ret >= 0) {
data = (short)ret;
//printk("vol:%d\n",data);
bq27541_debug(chip, "POWER_SUPPLY_PROP_VOLTAGE_NOW = %dmV\n", data);
} else {
pr_info("get bat_info POWER_SUPPLY_PROP_VOLTAGE_NOW on bq27541CMD_VOLT_LSB error\n");
return -1;
}
return data;
}
下面这个图,就是在备电电量低的时候,用来给备电充电的,在备电电量低的时候(会有一个中断)或者usb或者AC充电的时候,会给AUXBAT_CHGEN这个引脚一个高电平,来启动备电充电,XEINT4-AuxBATCHG_DET这个引脚是备电满标志,平时会因为上拉电阻,而呈现高电平,在充电的过程中,会保持低电平,而备电满以后,这个引脚会由低变高。在变高的同时会清除AUXBAT_CHGEN这个引脚为低电平。
android 电源/充电/库仑相关推荐
- Android 如何判断手机处于电源充电状态还是USB连接状态?
IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); Intent batteryStatusIntent = ...
- android 电源管理 wakelock 唤醒锁机制
Android 电源管理 - 唤醒锁全新上市 大多数人可能都遭遇过手机的电池续航时间较短带来的尴尬. 这极其令人讨厌. 没电的手机和一块水泥砖没什么差别. 一般而言,如果用户的手机电池无法持续一整天, ...
- 关闭Android电池温度告警框,android电源信息查看(电量、温度、电压)实例代码
本文实例讲述了android电源信息查看方法.分享给大家供大家参考.具体如下: 1. PowerTestActivity: import android.app.Activity; import an ...
- Android电源管理分析
Android电源管理 1.电源管理服务–PowerManagerService PowerManagerService提供Android系统的电源管理服务,主要功能是控制系统的待机状态,控制显示 ...
- Android电源管理介绍
一.电源管理基础知识 1.1电源管理的几种状态 Android kernel源码中,定义了三种电源状态,在kernel/power/suspend.c中: 对应的宏定义/include/linux/s ...
- android 布局dock,Android电源管理专题之获取和监测Dock状态和类型
Android电源管理专题之获取和监测Dock状态和类型 (2013-04-07 16:36:00) 标签: android 电源管理 dock it Android 设备可以接在不同类型的 Dock ...
- 请按正确方法给UPS电源充电
请按正确方法给UPS电源充电 山特UPS电源山特UPS电源的正常寿命,在室温正常条件下且正常使用时,一般密封免维护铅酸电池的浮充使用寿命3-5年.但是很多人为因素却会使UPS不间断电源的寿命大大缩短. ...
- android电池充电动画,Android 开机充电图标和充电动画效果
首先驱动需要先获取到2个power supply kernel\msm-3.18\drivers\usb\phy\phy-msm-usb.c motg->usb_psy.name = " ...
- Android bugreport 充电日志解读
Android bugreport 充电日志解读 一条电量日志格式如下 <12>[257235.748250] healthd: battery l=67 v=3951 t=25.0 h= ...
最新文章
- cnc加工中心保养表_CNC数控加工中心,硬轨的好还是线轨的好?
- Linux下Tomcat重新启动
- linux tcp重传多会导致软中断在各个核很不均匀么?
- S4:装饰模式 Decorator
- python3.7界面设计_基于selenium+Python3.7+yaml+Robot Framework的UI自动化测试框架
- 日本各地方与所属各县名称及其读音
- 不合法的媒体文件 id_注意!伦敦男孩、DKNY、Coach、地素... 这些品牌的服装,抽检不合格...
- HashMap之三问为什么及性能问题
- 搭建基于Docker社区版的Kubernetes本地集群
- Spring:自动接线或不自动接线
- C#开发命令执行驱动程序 之 控制标志的命令行参数
- ALSA音频工具amixer,aplay,arecord
- Redis主从,哨兵架构简单搭建
- 【Android -- 学习】学习资料汇总
- 多媒体技术是指运用计算机,多媒体技术的概念与应用
- 饥荒服务器运行时cpu的占用,饥荒联机版服务器卡顿原因分析及解决教程 服务器卡怎么办-游侠网...
- python 类继承
- php移动端可拖动可视化,可视化编辑uniapp项目DIY拖拽
- 深圳有多强?2928家专精特新中小企业 和 2.1万家高新技术企业!
- html中正确给table加边框