This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

BQ34110: 关于BQ34110的设置方式和数据无法读取问题

Part Number: BQ34110
Other Parts Discussed in Thread: GPCCEDV

您好,我们公司在做一个军工的电源管理模块项目,使用了贵公司的BQ34110电量计进行电压、电流、温度等数据的采集。

问题1:使用PIN_CONTROL_EN: 0x0022进行了引脚使能,并且PIN_VEN_SET: 0x006C的命令也发送了,但是VEN引脚还是低电平。

          这可能是什么原因呢?

问题2:我们在使用芯片的时候,IIC通信正常,不经过其他处理,直接使用Voltage(): 0x08/0x09、Current(): 0x0C/0x0D这样的指令就可以获得相关的数据对吧?

问题3:我们在soc中通过Iic操作芯片并读取电压,write:0x08,然后read两个字节,收到0x8A、0x03,换算方法为十六进制038a = 906mv,和我们的预期一样。

          但是使用0x0C读取电流的时候,读取到的值感觉不对,一直为类似于0x16、0xFF这样的固定值。

          电流的读取正常和电压的操作方法一样吧?只是命令不同而已。

问题4:例如读取电压,0x08和0x09两个命令,我发现0x08读取的是正确的,0x09读取的是错误的,这是为什么?

问题5:如果我们只是单纯的获取数据,不经过校验和其他设置也可以吧?

  • 您好我们已收到您的问题并升级到英文论坛,如有答复将尽快回复您。谢谢!

  • 您好,请再查看下TRM,可以解决大部分问题。

    请确保使能了所有手动使用 VEN 的条件,包括 the Pin Control Config, section 2.2.1 Pin Control Config of the TRM,还有 Change Level Pin Control, section Table 2-23. Charge Level Pin Control。

    该仪表双向报告电流,意味着如果您看到负电流 (放电) ,仪表将使用 2 的补码报告电流。 例如在 1000mA 下充电会报告 0xE8 0x03 > 0x03E8 = 1000 十进制。 如果在 -1000mA 下放电,会报告 0x18 0xFC > 0xFC18 >2 的补码 = 0x03E8。

    为了读取 0x0C 与 0x0D 之间的值,它将返回该地址的字节。 如果您只读取每个命令的第一个字节,会得到和从 0x0C 读取 2 个字节相同的结果。

    如果您只想读取电压和电流,也还是建议您同时校准电压和电流。 如果不遵循 GPCCEDV 工具并调整其测量设置,将无法准确读取 SOC。