通过校准手册(slua868)上,我当前的电芯电压1位3958mv(DEC),那么我需要校准成4000mv(DEC)。
按照手册的说明,我需要从F081获取ADCcell1的原始值。这个原始值就是当前电芯1电压的2进制补码。为什么我得到的是0x5379(hex)(21369(DEc)),这个补码计算是怎么回事啊?怎么算都得不到这个数啊?
rong chen1:
在使用程序校准之前,我已经使用bqsudio校准过电芯1的电压值了。只是由于各个电池的不同,我必须增加一个校准功能。使用bq校准之后读取的电芯电压1为3958(十进制),转化为16进制之后为0XF76.根据MCU校准电压的步骤,在开启校准位之后,需要从F081中读取电芯电压1的原始值(当前实际电芯电压1的补码????),读出来的值为0x5379(十六进制),按照文档的说明原始值是当前电压值(0xF76)的补码,但是我怎么计算都不对啊。如果我的理解有误,你们能给举个例子吗???
rong chen1:
若何才能验证我从F081读取初来的数据是否正确呢?可以从bqstudio上去验证吗???怎么验证???
Star Xu:
回复 rong chen1:
F081读到的是ADC cell, 数据手册没有提供换算成电压的的转换公式.
BQ76930的数据手册21页有提供计算公式您可以参考一下. http://www.ti.com/cn/lit/ds/symlink/bq76930.pdf