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.

BQ24735: Charger IC BQ24735 going to LEARN Mode due to intermittent contact on SMBus.

Part Number: BQ24735

Charger IC going to LEARN Mode due to intermittent contact on SMBus.

I am debugging a strange issue seen on our charger board. We are using BQ24735 charger IC on our board. We noticed a couple of robots are unexpectedly powering off while it is working normally. From our analysis, it is found that the robot is powering off because it was operating from the battery and battery voltage is going low. The AC adapter was in plugged in and there was no reason to go to battery operating mode. Instead, it should be charging.
From the further analysis, we found, this is happening because of the battery charger is going into battery learn mode. When we checked the register settings of address 0x12 and confirmed that the Battery Learn is enabled. When we read the register 0x12 , it returned 0x0279 . 6th bit is set to 1 on this which indicates Battery learn is enabled. Not sure why it happens as our software never uses this function.
Below are the register settings when charger ic is in a normal state.
br 0x12
attempt to read value from register 0X12 succeeded
value is 0XF93A
below are the register setting when it is in the bad state
br 0x12
attempt to read value from register 0X12 succeeded
value is 0X0279
We have slip-rings on SDA and SCL in our application. I think, the noise or intermittent connection causing the data corruption in these registers. How the bad contact in SDA/SCL in SMbus causing the data corruption? 
  • Biju,

    0xF93AH = 1111 1001 0011 1010

    0x0279H =  0000 0010 0111 1001

    We can see many bit values are different between 0xF93AH and 0x0279H. If the noise causes the data corruption, would you verify other register value? Is it only happened on 0x12H register? If all register values are wrong, we may have to check the SDA and SCL wire or trace layout and add a filter on SDA and SCL.