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.

BQ35100: Subcommands not working

Part Number: BQ35100
Other Parts Discussed in Thread: BQSTUDIO

Good afternoon,

I'm developing a surgery handheld  instrument powered with a 3V 1500mA/h CR-123 LiMnO2 primary battery.

I'm writing the application firmware library for the gauge bq35100.

At the moment all simple command are working, but NOT the same for some sub-commands.

For example, I have implemented, as described at page 2 of "Using I2C Communications With the bq35100 Series of Gas Gauges" application report the following sequence for read the CHEM_ID:

As result I have had 0x62C1 instead of 0x0602. I can check the correct value of CHEM_ID using bqStudio and EV2300 I2C adapter.

The same problem for sub-commands as DEVICE_TYPE, FW_VERSION, HW_VERSION, STATIC_CHEM_CHKSUM.

Some other sub-commands istead, are working well such as GAUGE_START, GAUGE_STOP, SEALED, LT_ENABLE, EXIT_CAL and ENTER_CAL.

Where I'm wrong? Can someone help me, please?

Thank you in advance for the cooperation.

Best regards

Christian.

  • Hi Christian,

    For reading the chemID, your method appears sound.

    WRITE: 0xAA, 0x00, 0x06, 0x00
    READ: 0xAA, 0x00, 0xAB, ___, ___

    After running the above command, please try the following and report your results:

    WRITE: 0xAA, 0x00, 0x07, 0x00

    If the returned value is not 0x06, the command is not being properly recieved

    If that does not solve the issue, please send me a logic analyzer shot of your I2C subcommand initiation and subsequent subcommand read sequence. Please include a time scale. Analog and logic versions would be preferable.

    Sample C code (for another gauge, but similar) may be found here: http://www.ti.com/lit/an/slua801/slua801.pdf


    Thank you!

    Sincerely,
    Bryan Kahler