Other Parts Discussed in Thread: BQSTUDIO
Hi,
im writing Software to communicate with a BQ7694202 configured for 4-S Li-Ion. So far I successfully implemented several direct Commands, Command-Only-Subcommands and Subcommands with Data while reading. However when trying to write some arbitrary Numbers to the MANU_Data Memory the data read back is 0x00.
These are the I²C commands i use to write the number "0x73" to the MANU_Data Memory:
W08 0x3E 0x70 0xDA 0x00 0x00 (Subcommand 0x0070 for MANU_Data)
W08 0x40 0x90 (Set the internal pointer to the TransferBuffer Register 0x40)
W08 0x73 0x09 (Transmit the Data)
W08 0x60 0x70 (Set the internal pointer to the Checksum Register 0x60)
W08 0x2C 0x93 (Transmit the Checksum 0x2C)
W08 0x61 0x77 (Set the internal pointer to the Length Register 0x61)
W08 0x05 0x4C (Transmit the total Length of 0x05)
When reading the data back these are the I²C commands i use:
W08 0x3E 0x70 0xDA 0x00 0x00 (Subcommand 0x0070 for MANU_Data)
W08 0x61 0x77 (Set the internal pointer to the Length Register 0x61)
R08 0x24 (Answer is 24 Hex so 36 DEC (32 Bytes MANU Data + "Overhead"))
W08 0x40 0x90 (Set the internal pointer to the TransferBuffer Register 0x40)
R08 0x00 0x42 (Read the Data i expect the previously written 0x73 instead of the 0x00)
W08 0x60 0x70 (Set the internal pointer to the Checksum Register 0x60)
R08 0x8F (Read the Checksum)
After implementing the MANU_Data write, the next step would be to write to the Data Memory (CUV/COV Threshold Override etc). So far i can only read the various default values.
I checked the I²C Bus and the commands as listed above do get send perfectly fine on the bus.
What am i missing or doing wrong?
Best Regards
Henning