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.

BQ76952: BQ76952 I2C Communication

Part Number: BQ76952
Other Parts Discussed in Thread: ISO1540

Hi,

We are using ISO1540 for I2C isolator between MCU(STM32) and BQ76952,and it seems that BQ76952 can't Release I2C bus,because BQ76952's SDA keep low and MCU's SDA can't pull down normally.

And MCU's SDA can pull down normally and I2C communication can be normal while we  remove ISO1540,so that MCU and BQ76952 can communicate directly.

So is there any special logic or delay time of I2C between MCU and BQ76952 ?

Here is the picture when we use ISO1540 for I2C communication:

Channal 1 is SCL of MCU,Channal 2 is SCL of BQ76952;

Channal 3 is SDA of MCU,Channal 4 is SCL of BQ76952;

  • Hi Victure,

    I2C is an open-drain bus, the high level is provided by a pull up and any device can pull low.  There are circuits which work to speed up the edges in some devices.  Buffers or isolators must have some level discrimination so that they don't see their low output as a low input.

    I'm not sure of the transaction, it would seem the MCU is sending data to the BQ76952and during the ACK the BQ76952 pulls low to the isolator, but the isolator can't pull the SDA line to the MCU low. It is not apparent if the issue is the drive strength of the isolator or if the MCU could be holding up the line, or if the pull up is unexpectedly strong.  If the communication works well without the isolator, the BQ76952 must be able to drive stronger or the load has changed..

  • Hi Victure,

    That looks normal for that device.

    Vol1 spec is 650mV min, to 800mV max.

    Note the diode in SDA1 / SCL1 output in the simplified schematic for ISO1540.

    Check this is without the Vil spec for the receiving device.

  • Thanks for the reply.

    The voltage is about 800mV,and it's consistent with datasheet.