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.

BQ24163: I2C line held low

Part Number: BQ24163
Other Parts Discussed in Thread: BQ25601D

This is a continuation of a previous question posed to this forum. I am using the BQ24163 and the SDA line is being held low by the chip on startup. So far the only way to resolve the issue is to remove the battery from the device and then reconnect it. I have tried several suggestions such as bit banging the clock to force a recover but that has not worked. Does this chip have any known issues with getting stuck and holding the SDA line low? 

  • Hi Mark,

    We are not aware of any issue with the charger holding SDA line low.  I am assuming you have ruled out other chips on the I2C bus as the culprit but cutting their connections?  Do all chips perform this way or only a few?  What is the pull resistor and pull up voltage?  Can you provide a scope shot at power up of IN or USB, BAT, the pullup voltage and SDA?

    Regards,

    Jeff

  • The TI chip and the NXP uC are the only chips on this I2C line. When I cut the SDA line to the TI charging chip and power the system on, the SDA line is released and works properly. Their is a 10K pullup resistor on the SCL and SDA lines and the rail voltage is 3V3. This issue is not apparent in every device, just here and there but enough to cause concern. 

    Graph of I2C lines at startup. Blue is SCL .Notice irregularity of the clock signal, when I cut the SDA line to the TI chip the clock signal does not look like this, it is consistent and periodic as expected. 

    Graph of vBAT and vUSB at startup. vBAT is in blue. 

  • Mark,

    How does the 3.3V pullup come up relative to VBAT and IN/USB?  Is it derived from battery and therefore already up or is it an LDO powered from IN/USB? 

    Regards,

    Jeff

  • Here is a snapshot of the SCL line during initial pull up upon power up. The SCL and SDA lines should be pulled up by whatever source is charging, vUSB or vIN. 

  • Mark,

    If you use a diode from battery to pullup source so that the pullup voltage is present before IN/USB comes up, does the failing IC still fail?

    Jeff

  • Jeff, 

    I tried your suggestion and yes, the IC still fails. It's important to note that once stuck in this state, I can attempt to charge through USB or IN several times with the same result but if I reset it by removing the battery from GND and BAT and replacing it, the problem is gone and does not come back. 

  • Hi Mark,

    I am unable to reproduce this on my EVM. We released another charger that exhibited similar but not exactly the same behavior and found that the IC's SDA was going more 0.3V below ground at power up, causing the IC to enter an unknown state.  A small, fast Schottky diode clamp on SDA fixed the problem.  I suggest trying that. 

    If that does not work, then I suggest you submit this as return through the normal return process of your IC seller (TI, distributor, etc.).

    Regards,

    Jeff 

  • Jim,

    I have ordered various Schottky diodes and will be trying your suggestion when they come in. This is not as simple as submitting a return, as I mentioned, this doesn't happen to every chip but it is happening to several from multiple batches. I would prefer to continue debugging this with a TI rep. 

  • Mark,

    Ok. If the Schottky's don't work then the next step is to move the IC to an EVM and try to reproduce the failure on an EVM.

    Regards,
    Jeff

  • Jeff,

    The Schottky solution did not work on this problem. I don't believe we would be able to remove the chip and place it on an EVM because once I remove the battery from the BAT pin on the chip, the problem goes away and will not return. What would it take to get a FAE to travel to our facility and help debug this? 

  • Mark,

    Frankly, you are debugging at a level at least as high if not higher than our FAE's.  I do not think an FAE visit would help. If you are willing, I will guide you through more debugging. Can you summarize the exact steps that cause the issue for example:

    1.  Attach battery

    2.  SDA line is low

    3.  Apply IN/USB

    4. SDA line still low

    5. Remove and replace battery

    6. I2C works.

    Is that correct?  If you apply IN/USB first, do you have the same issue? 

    Regards,
    Jeff

  • Jeff,

    That is mostly correct but there are a few details missing. We assemble the devices and test them extensively in house then they are shipped to our customers. The devices work fine for a while but then all of a sudden the charging feature no longer works because of this SDA line being held low. This problem can occur on a device that's almost brand new, or sometimes doesn't show up for 1 or 2 years. The battery is sealed inside the device so the end user cannot just unplug it and plug it back in. 

    When we get a returned device it will not charge from IN or USB. We open it up and if we unplug the battery and plug it back in the TI chip will release the SDA line. Of course we could probably put a FET in line with the battery and open/close it before each charging cycle but a board change is not easy to get recertified and therefore is a last resort. 

  • Mark,

    Is there in consistency in the battery voltage of the returned units?  For example, are the batteries close to full charge or close to discharge?  I cannot see how the charger would pull down SDA during a steady state condition so it must happen when input power is applied. The charger has a state machine only and only waits on I2C writes and reads.  I still think the root cause will have something to do with how the pull up is applied to SCL/SDA when input power is applied, unless the pull up is always present from the battery.

    Regards,

    Jeff

  • Jeff,

    The devices are returned in various charged states, some fully, some almost dead, and some in between. If I don't remove the battery and instead continuously plug and unplug the USB charging cable, it will eventually recover and start charging. I see what you mean about the pullup resistors but it doesn't make sense that once in the fault state the charger still holds SDA low through several power cycles. I would expect it to recover the next time you power it up with the charging input.

  • Mark,

    I spoke to the digital designer for this device, who is now in another group at TI.  As a favor, he reviewed the digital spec and coding and doesn't see how SDA can get clamped low in normal operation.  He suggested who you have already tried, banging the SCL line.  

    The only other thing I can think of is to force highZ/sleep using the CD pin.  That would reset the state machine but I doubt that will work, unless the lower power state of high Z resets the I2C engine.  Do you have access to toggle CD?

    Regards,

    Jeff

  • Jeff,

    Thanks for checking a little deeper into this for me. Yeah, bit banging the SCL line in different quantities and frequencies did not recover the SDA line. We do have access to the CD pin but toggling it also does not recover the SDA line. We will try a few more things here in our lab and I will get back to you when we're done, hopefully we will have a solution by then. 

  • Keep me posted. 

    Regards,

    Jeff

  • Mark,

    Any update on this?

    Regards,

    Jeff

  • Jeff,

    It looks like we're not getting anywhere with a software solution so we are going to try to add some components that will isolate the battery from the TI charger upon startup. If that doesn't work the  we will need to source a different chip ghat will work better with our system.

  • Mark,

    Sorry to hear that.  Without knowing the event that causes the charger to enter this unusable state, I cannot recommend a fix.  If you don't need dual input, I can recommend a newer, more efficient charger (BQ25601D) with a different I2C engine.

    Regards,

    Jeff