更新 BQ3050 ccgain 问题
CC GAIN的数据类型是F4。我用TI提供的工具获取到CC GAIN的数据后,用IEEE754 float 格式转换后,与它显示的值不相等,我该如何转换?比如 我取得的数据是 0x91,0x71,0x20,0x00 工具查看显示的是123456,然而 12345 使用IEEE754 却是 0x47,0xF1,0X20,0X00,为什么二者不相等,类型我该如何转换
关于库仑计的校正,x现在的gas gauge芯片大部分都是具有自动校正的功能的,在合适的条件下将SRP 和SRN短路,看看此时的测量结果是多少,从而得到CC 校正的数据,这些都是芯片自动实现的,一般在常生产测试过程中会对这个数据做测试,楼主你是在做电池生产的测试程序?
TI的东西要是这么简单就好了,楼主请看完规格书,人家ti里面说了是非IEEE标准,还有里面有数据转换的!
也就是说你输入10.124,实际上用示波器看到的波形是0.47095
ok 搞定,知道怎么转换了
比如说 你输入10.124, 然后经过公式得到0.47095 然后用IEEE浮点型转换成4个字节, 这里是关键,将第一个字节/2,然后减去1.
不知道规格书里面为什么没有写,目前我测试了好几个值都是这样转换得。
不过我现在还在想 怎么用上位机输入-1001(读取的是-1000)校准这里面的电流, ccgain的公式代入值,是怎么代的!
理解了。根据流程来的,我上位机 发出一个校准电流,然后下位机接受到这个电流值以后,经过计算, ccgain=fload/(AI-(offset+boardoffset)/16) 记住 offset必须先经过转换才行, 这样吧,为了让别人少走弯路,我把自己的流程写出来。 比如说我读到的电流时1000ma,那么我此时需要校准成700ma,我把ccgain计算出来,公式如下 ccgain=700/1000-(-1376/16); ccgain=0.6438 然后根据规格书里面的,用4.768/0.6438=7.4060 然后下位机只需要把ccgain 和ccdelta写入0.6438即可
ccdelta=ccgain*1,193,046
我下午调试下,成功了就贴出来给大家看,
调试现在遇到了点问题,我上位机处理所有的细节。 我校准编辑框输入-1010 然后和读取到的-1000进行 算法, 把ccgain算出来, 然后转换成十六进制 发 给下位机, 现在下位机接受的数据没问题,但是下位机写到bq27541 的时候出现了问题,发现没写进去, 我觉得还是有问题,
请问修改CCGAIN之前是不是要进入什么模式啊,为什么我按照 示波器的来写,都不行啊! 请问ti工程师 ,写ccgain和ccdelta是不是要先进到什么模式啊,