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:電池容量。
高通平台電池曲線
fcc full charge capacity 滿電荷電量 uc remaining capacity rc 剩餘電量 cc coulumb counter 電量計 uuc unusable capacity 不可用電量 pc percentage charge 剩餘電荷佔fcc百分比 soc s...
MTK平台驅動除錯指南
gpio設定篇 一 gpio有關的函式 1 gpio modesetup 函式原型 void gpio modesetup kal uint16 pin,kal uint16 conf dada 功能 設定gpio的工作模式是作為gpio,還是作為專有功能介面。引數 pin gpio 的pin腳號,...
MTK平台驅動除錯指南
gpio設定篇 一 gpio有關的函式 1 gpio modesetup 函式原型 void gpio modesetup kal uint16 pin,kal uint16 conf dada 功能 設定gpio的工作模式是作為gpio,還是作為專有功能介面。引數 pin gpio 的pin腳號,...