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.

BQ25120A: BQ25120A I2C READ ISSUE

Part Number: BQ25120A

Hi everyone,

I tried write some data to bq25120a over ı2c from host controller. I can write succesfully data and ı changed sw output voltage.

But when ı tried read data from bq25120a with repeated start , ı have getting 0xd5 as receiving data from any register.

When ı tried read data wtihout repeated start (slave address-register address-register data) , ı have getting address of register for every register as receiving data .

Why is it happened? Can you help me?

I used 3.2 k ohm pull up resistor.

Thank you...

  • Hi Omer, 

    Can you share a capture from an analyzer? Is the I2C bus pulled up to SYS voltage?

    I think the 0xD5 is not the received byte but rather the 8bit address of the BQ itself. I suspect an I2C driver or pointer behavior. 

    I tried this on my setup and here are the results.  

    Multi Byte read

    Single Byte Read

    Addressing Display

  • Thank you for your reply.

    Actually, ı can't share any capture from analyzer. Also, I2C bus isn't pulled up SYS Voltage. Because of datasheet doesn't anything say about that. SYS voltage is 1.8 V and i2c bus is pulled up 3.3V. This is design condition.

    SDA,SCL pins maximum voltage is not defined in datasheet and TI tried i2c bus with 3.3 V pull-up. Is it a problem?

    Best Regards...

    Ömer

  • Hi Ömer,

    No concern with the pull-up voltage being higher than VSYS voltage. It is okay. I would look into the I2C driver code. Is the multi-read function working with other I2C devices on the same bus?

    The pin ratings are listed on table 8.1. 

    Regards,

    Gautham

  • Okay, thank you for all of it. I checked my own I2C driver and after some correcting, all problems are solved.

    Best Regards...

    Ömer

  • Great! Good news.