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.

Linux/BQ40Z50-R2: battery not ACKING i2c commands

Part Number: BQ40Z50-R2


Tool/software: Linux

I use Linux to communicate with bq40z50-R2 battery. However, it's not responding to my i2c commands. I am able to talk to it fine using bq studio though. I used default slave address 0x0B.

Here is the output of i2cdetect command and the scope when I do a i2cget from address 0x0B.

neptune:/ # i2cdetect -r 2                                                                                                                                                                                                                                                        
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-2 using read byte commands.
I will probe address range 0x03-0x77.
Continue? [Y/n] Y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- 04 05 06 07 -- UU -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- UU -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: UU 41 -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: 60 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: UU UU UU UU UU -- -- --      

  • Hi Huize,

    The bq40z50-R2 has SMBus communication which is a little different from I2C. Make sure to take a look at this SMBus app note below. On page 10, it has a list of common issues that might help you identify your problem.
    www.ti.com/.../slua475.pdf

    One thing that is very important for the bq40z50-R2 is to make sure your pull-up resistor values are sized properly. If you are using lower than the recommended values, the device might not be able to properly drive against the current load.

    Best regards,
    Matt