记录开发过程中的问题和功能。毕se代做,小家电开发。 收徒带做企业级项目,帮助毕业生和转行人员顺利找到工作。

LiSun

记录开发过程中的问题和功能。毕se代做,小家电开发。 收徒带做企业级项目,帮助毕业生和转行人员顺利找到工作。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

通过 DEVICE_INITCALL(“dev-gauge”, fuelgauge_dev_init); 注册驱动,自动在main初始化中运行。
优点:耦合少,可移植性强,适用大团队模块化开发
缺点:抽象度高,小团队开发时间耗时久

battery管理我觉得可以分开为两个部分,一个是电池监控(fuelgauge),另一个是充放电管理(charger),所以我们在内核中也是把它分成了两个驱动来管理。

电池监控(fuelgauge)驱动主要是负责向上层android系统提供当前电池的电量以及健康状态信息等等,另外除了这个以外,它也向charger驱动提供电池的相关信息;

充放电管理(charger)驱动主要负责电源线的插拔检测,以及充放电的过程管理。对于battery管理,硬件上有电量计IC和充放电IC。

对比SW_FG 和HW_FG在硬件及软件上的部分差异,分析电量误差形成的一些原因和已经采取的消除误差的措施。这个算法的思路是这样的:
最终通过开路电压oam_v_ocv_1查ZCV表得到当前的电量值 ->
开路电压需要通过闭路电压v_bat 和 闭路电流oam_i_2 去回溯电池内阻逐次逼近 –>
oam_i_2 通过 另一种方式 电量积分更新的电压oam_v_ocv_2.

通过fuelgauge_drv_match_ids结构体可以同时适配多种电量计
在这里插入图片描述
软电量计具体过程:硬件ADC读取Battery的各路信息:包括温度,电压等。

posted on 2022-09-25 00:15  嵌入式单片机实验室  阅读(94)  评论(0)    收藏  举报  来源
记录开发过程中的问题和功能。毕se代做,小家电开发。 收徒带做企业级项目,帮助毕业生和转行人员顺利找到工作。