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.

BQ28Z610-R1: Cannot read via I2C in linux. but Battery Management studio accesses fine

Part Number: BQ28Z610-R1
Other Parts Discussed in Thread: BQ27500, , EV2400, BQ28Z610, BQ25895M

I recently replaced the bq27500 with the bq28z610-r1 in a design, and I cannot access it via I2C from the beaglebone host running Debian.  I2Ctools does not show it at address 0x55, and my attempts to use code that worked with the bq27500 have not worked with either address  0x55 or 0xAA.  However, if I disconnect from the BB and attach an EV2400 and run Battery Management Studio, it can access the fuel gauge fine showing address oxaa.  I'm pretty sure my i2c bus is correct as I can access other devices on the bus, and if I replace with a bq27500 it works fine.  So I'm kind of stuck.  

Should i2cdetect be able to detect the bq28z610?

  • Hello Paul,

    Can you re-upload your pictures using the insert file tab?

    I am not familiar with that driver, the gauge should be visible on address 0xAA if it is addressed correctly. I would recommend using a logic analyzer to check the communications being sent.

    Sincerely,

    Wyatt Keller

  • Wyatt,

    Well, I'm not getting anywhere.  I'm attaching some scope shots.  This is with the EV2400 and BQ Studio which works.

    This is from my Linux host which does not.  Clock is 400 KHz, but that should not make a difference.  

    I think I am going to punt and revert to the bq27750. which is still available.  I don't know why the newer part does not work as well as the older one.

    Regards

  • Hello Paul,

    If you are using 400kHz you will need to set in the gauge configuration, by default the gauge is set to 100kHz communication.

    It looks like your host clock lines are running at some duty cycle other than 50% which may be causing issues.

    Sincerely,

    Wyatt Keller

  • Oh!  That was it!  For posterity, that setting in BQ Studio is under Data Memory - Settings - I2C Configuration - XL (Bit 3).  I never saw this setting, and it must be different than the default behavior of the bq27750.  I would suspect this is a "gotcha" for a lot of folks.  I don't really have control over the i2c clock rate or duty cycle (this is stock Linux driver on Beaglebone hardware) and everything else on my bus just worked -- including the bq27750 and bq25895M.  I suppose TI had a reason to disable 400Khz operation by default.

    Thanks!

    Paul