拿到硬件厂商提供的电池曲线数据后,首先要将不同温度的数据提取出,要求温度和温度数据对应,不能出现温度替换等情况。
曲线信息表格内容示例:
OCV:电池开路电压,电池端电压-此时电流*此时内阻。
VC:电池电压。
R(battery):电池内阻。
DOD:放电深度, 0—100。
R(x1000):电池内阻*1000。
提取电池曲线内容:
我们只需要根据硬件厂家提供的电池曲线信息表,将C到G列填写完成即可,AB列的数值参照厂家提供的模板,B列要求行数与后面数据保持对齐。
Excel表格中要求没有小数点,这需要了解一些Excel的格式操作,在DOD(放电深度)为0时的其他行对应行数的数据要补齐,一般DOD 0为复制DOD 1的内容。
表格内容分页提取,并按照模板命名:
每个阶段的温度在提取时分页,数字前为n为负数→n10d为负10的温度。
合并成DTS:
安装MTK工具GMAT TOOL,该工具作用就是将转换后的Excel表格转换成DTS文件。安装后打开应用如下图所示,按照步骤操作:
1:将平台改成mt6763。
2:切换至Table。
3:选择文件CFG_GM30_dtsi_table_ext.txt,应该为配置DTS的模板文档。
4:点击Import Battery 0 Charateristic Table,选择需要转换的电池曲线表格,选定后会显示在右侧。
5:生成DTS。
生成的DTS文件默认在C盘下(安装的根目录),但有时明明已经生成文件在跟目录下却没有显示这个文件,这种情况一般是DTS文件被隐藏了。在GMAT TOOL中点击Import Battery 0 Charateristic Table去C盘目录寻找可以发现这个文件,将这个文件创建一个快捷方式(注:这个文件在这里Ctrl C不出来),根据这个快捷方式定位到该文件所在位置(C:\Users\changliao.yang(用户名)\AppData\Local\VirtualStore),这样就可以正常操作。
将文件改名,加入代码,参考路径:kernel/arch/arm64/boot/dts/mediatek/bat_setting/,生成的DTS文件: