BQ28Z610 电池已经做完了。现在要摘取些主要的地址跟命令 给客户查看。发现在advanced commend I2C发送指令步骤不会用。
一,如图所示
12.1 standard data commands读写电池信息方法,谁能帮我翻译一下他的描述:
the bq28z610 uses a series of 2-byte standard
I2C commands with a 7-bit device address of 0x55 (8 bits = 0xAA to read and 0xAB to write). Each
standard command has an associated command code pair, as indicated in Table 12-1, Standard
Commands. Each protocol has specific means to access the data at each command code. Data RAM is
updated and read by the gauge once per second.
不是我英文不行,主要是我不懂这些专业术语。寄存器代码用到了 最高有效位(the Most Significant Bit,msb)和 最低有效位(the least significant bit,lsb),这个我实在不懂,不过我觉得应该不影响我使用这个芯片。比如 如果我去查看温度TEMP ,0x06/0x07 这指令如何发送,在哪个界面发送?官网提供的一个EVM 文档并没有举例描述,所以搞不懂。
二,我想起了BQ45Z50R1的数据手册跟上位机软件里面的advanced commands SMB screen。
EVM 文件里面举例说明了查看电池信息,在read-word/write 里面输入0x09 查看电压,这个就容易懂了。 BQ28Z610的 寄存器代码方式不一样,所有的文档也没有举例说明,我就不懂如何查看了。
三,BQ28Z610的0x00, 0x01 AltManufacturerAccess() and 0x3E, 0x3F AltManufacturerAccess() 功能问题
1,如图所示
按照 数据手册里面的例子,在使用0x00 指令的时候,有2种发送方式,
如:0x0021 使能gauge
第1种为直接在寄存器的manufacturer access里面输入0x0021 OK即可使能
第2种为在advanced commend I2C 的界面里面先write 再read相应的指令(方式有具体的例子介绍)
看介绍,问题就出来了。
1,我按照(a) I2C Write, start address = 0x3E (or 0x00). Data = 21 00 (data must be sent in Little Endian). 确实可以使能,或者06 00查看CHEM-ID ,但是这里面的0x00, 0x010x3E, 0x3F,是啥意思? 为什么start address得输入3E,3F又是啥意义? 数据手册里面没有说明,我很懵。
2,manufacturer access里面好像只能输入 write的命令,才会得到相应,比如0x0021Gauging (IT Enable),0x001F ChargeFET,旗位会响应。
如果输入read的命令,比如0x0006 ChemID ,0x0002 FirmwareVersion 所查看的信息是不会在manufacturer access框里面显示出来。(这就跟bq evaluation software 上位机软件有区别,后者如果输入ChemID命令,可以直接在窗口显示结果)
3,battery management system (bq studio )这个软件多了个 直接commends 界面,包含了大多数的主要write的快捷键,是比较方便的。但是总觉得还是不全。光BQ28Z610都有0x0001 到0xF082这么多。
四,如何退出ROM模式
1,我尝试在advanced commendI2C 里面write了 0x0F00 这个指令,是进入了ROM模式,但是我发现我不会退出来了,结果只能断电,重新焊接电池。
12.2.44 AltManufacturerAccess() 0x0F00 ROM Mode 里面介绍了进入 退出ROM模式,但是我不会弄。
2,我记得在Smbus 协议的芯片,有个直接可以send cmd 的界面,发送08 即可退出ROM 模式,这个芯片我就不知道了。







