关于电量计BQ34Z100的几点疑问,求解答
目前正在摸索用单片机I2C接口与电量计进行参数设置,有以下疑问:
疑问一:模式转换
seal-unseal,unseal-full模式之间的转换,是向寄存器0x00依次写入4个数据(0xffffffff),还是先向0x00,0x01分别写入0xff后,再次向0x00,0x01分别写入0xff?
为什么我读0x00寄存器的状态一直是0x0004
疑问二:data flash写入
能够读相应位置的data flash数据,也能够通过BLOCKDATA()向32位块FLASH空间写数据,但是不能改变相应位置的data flash数据的值,请问checksum怎么生成?
1.http://www.deyisupport.com/question_answer/analog/battery_management/f/35/t/46539.aspx 这个问题在链接的帖子有描述还有波形参考,向0x00写入0xff,0xff再向0x01写入0xff,0xff
2.建议采用上位机EVSW配合EV2300/2400进行参数设置,上位机会自动计算checksum数值。单片机checksum可以参考下面的描述
This byte contains the checksum on the 32 bytes of block data read or written to data flash.
The least-significant byte of the sum of the data bytes written must be complemented ( [255 – x] , for x the 8-bit
summation of the BlockData() (0x40 to 0x5F) on a byte-by-byte basis.) before being written to 0x60.
我也遇到这个问题了:
This byte contains the checksum on the 32 bytes of block data read or written to data flash.
The least-significant byte of the sum of the data bytes written must be complemented ( [255 – x] , for x the 8-bit
summation of the BlockData() (0x40 to 0x5F) on a byte-by-byte basis.) before being written to 0x60.
这是手册上的一段话,我按照这个做了,但是值并没有改变啊。
关于dataflash 内容的修改,可以参照http://www.ti.com/lit/ug/sluuac9/sluuac9.pdf 的page11。
里面可以参照计算方法,和过程,对应的寄存器的值需要和bq34z100对照。
您好,按照你说的方法,成功把DesignedCapacity这个值改变了,谢谢你。
我用的是BQ27742-G1,又遇到了一个问题:
FETTest( ): 0x74 and 0x75这个命令,我想把CHG和DSG对应的FET 都打开,
就给0x74赋0x00
0x75赋0x83,
执行START_FET_TEST后,
0x74状态位仍然是0x00,0x75变成0x01,但是用电表测量后发现两个FET都没有电压。请问这是什么原因?