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.
Hi TI:
External 5V2A charger, read Bq25622E register 0x2A without value ..
0x2c --->>VBUS-->>0x1460
0x28 -->>IBUS -->>0x00B0
0x30 -->>VBAT -->>0x0FDA
0x2A -->>IBAT -->>0x0000
0x16 -->>CH_EN BIT -->>0xA1
iic r 2 2 RR:0x2,val:0x03C0,ret:0 $ iic r 4 2 RR:0x4,val:0x0D20,ret:0 $ iic r 6 2 RR:0x6,val:0x0640,ret:0 $ iic r 8 2 RR:0x8,val:0x0E60,ret:0 $ iic r 14 2 RR:0xE,val:0x0B00,ret:0 $ iic r 16 2 RR:0x10,val:0x0050,ret:0 $ iic r 18 2 RR:0x12,val:0x0030,ret:0 $ iic r 20 2 RR:0x14,val:0x1C06,ret:0 $ iic r 21 2 RR:0x15,val:0xA11C,ret:0 $ iic r 22 2 RR:0x16,val:0x4FA1,ret:0 $ iic r 23 2 RR:0x17,val:0x044F,ret:0 $ iic r 24 2 RR:0x18,val:0xC404,ret:0 $ iic r 25 2 RR:0x19,val:0x3DC4,ret:0 $ iic r 26 2 RR:0x1A,val:0x253D,ret:0 $ iic r 27 2 RR:0x1B,val:0x3F25,ret:0 $ iic r 28 2 RR:0x1C,val:0x113F,ret:0 $ iic r 29 2 RR:0x1D,val:0x0C11,ret:0 $ iic r 30 2 RR:0x1E,val:0x010C,ret:0 $ iic r 31 2 RR:0x1F,val:0x1501,ret:0 $ iic r 32 2 RR:0x20,val:0x0900,ret:0 $ iic r 33 2 RR:0x21,val:0x8100,ret:0 $ iic r 34 2 RR:0x22,val:0x0000,ret:0 $ iic r 35 2 RR:0x23,val:0x0000,ret:0 $ iic r 36 2 RR:0x24,val:0x0000,ret:0 $ iic r 37 2 RR:0x25,val:0x3000,ret:0 $ iic r 38 2 RR:0x26,val:0x0030,ret:0 $ iic r 39 2 RR:0x27,val:0xAC00,ret:0 $ iic r 40 2 RR:0x28,val:0x00AC,ret:0 $ iic r 42 2 RR:0x2A,val:0x0000,ret:0 $ iic r 44 2 RR:0x2C,val:0x1460,ret:0 $ iic r 46 2 RR:0x2E,val:0x144C,ret:0 $ iic r 48 2 RR:0x30,val:0x0FC6,ret:0 $ iic r 50 2 RR:0x32,val:0x1000,ret:0 $ iic r 52 2 RR:0x34,val:0x0371,ret:0 $ iic r 54 2 RR:0x36,val:0x0038,ret:0 $ iic r 56 2 RR:0x38,val:0x001A,ret:0
Thanks
Cole
Can yo provide more information on the test you are trying to perform? What is the status of the CE pin? Are there any protections triggered which will prevent charging?
1:We can directly connect EVK for charging -->>EVK-REG.log
2:But the IC we stick on the PCB cannot be charged -->>MY-REG.log
Can you help me check if there is an exception in the register?
Thanks
iic r 2 2 RR:0x2,val:0x780 $ iic r 4 2 RR:0x4,val:0xD20 $ iic r 6 2 RR:0x6,val:0x640 $ iic r 8 2 RR:0x8,val:0xE60 $ iic r 14 2 RR:0xE,val:0xB00 $ iic r 16 2 RR:0x10,val:0x50 $ iic r 18 2 RR:0x12,val:0x30 $ iic r 20 1 RR:0x14,val:0x6 $ iic r 21 1 RR:0x15,val:0x1C $ iic r 22 1 RR:0x16,val:0xA1 $ iic r 23 1 RR:0x17,val:0x4F $ iic r 24 1 RR:0x18,val:0x4 $ iic r 25 1 RR:0x19,val:0xC4 $ iic r 26 1 RR:0x1A,val:0x3D $ iic r 27 1 RR:0x1B,val:0x25 $ iic r 28 1 RR:0x1C,val:0x3F $ iic r 29 1 RR:0x1D,val:0x10 $ iic r 30 1 RR:0x1E,val:0xC $ iic r 31 1 RR:0x1F,val:0x1 $ iic r 32 1 RR:0x20,val:0x15 $ iic r 33 1 RR:0x21,val:0x9 $ iic r 34 1 RR:0x22,val:0x81 $ iic r 35 1 RR:0x23,val:0x0 $ iic r 36 1 RR:0x24,val:0x0 $ iic r 37 1 RR:0x25,val:0x0 $ iic r 38 1 RR:0x26,val:0xB0 $ iic r 39 1 RR:0x27,val:0x0 $ iic r 40 2 RR:0x28,val:0xAC $ iic r 42 2 RR:0x2A,val:0x0 $ iic r 44 2 RR:0x2C,val:0x1460 $ iic r 46 2 RR:0x2E,val:0x1460 $ iic r 48 2 RR:0x30,val:0xD8C $ iic r 50 2 RR:0x32,val:0xED0 $ iic r 52 2 RR:0x34,val:0x378 $ iic r 54 2 RR:0x36,val:0x3B $ iic r 56 1 RR:0x38,val:0x1A
iic r 2 2 RR:0x2,val:0x780 $ iic r 4 2 RR:0x4,val:0xD20 $ iic r 6 2 RR:0x6,val:0x640 $ iic r 8 2 RR:0x8,val:0xE60 $ iic r 14 2 RR:0xE,val:0xB00 $ iic r 16 2 RR:0x10,val:0x50 $ iic r 18 2 RR:0x12,val:0x30 $ iic r 20 1 RR:0x14,val:0x6 $ iic r 21 1 RR:0x15,val:0x1C $ iic r 22 1 RR:0x16,val:0xA1 $ iic r 23 1 RR:0x17,val:0x4F $ iic r 24 1 RR:0x18,val:0x4 $ iic r 25 1 RR:0x19,val:0xC4 $ iic r 26 1 RR:0x1A,val:0x3D $ iic r 27 1 RR:0x1B,val:0x25 $ iic r 28 1 RR:0x1C,val:0x3F $ iic r 29 1 RR:0x1D,val:0x8 $ iic r 30 1 RR:0x1E,val:0xC $ iic r 31 1 RR:0x1F,val:0x0 $ iic r 32 1 RR:0x20,val:0x18 $ iic r 33 1 RR:0x21,val:0x9 $ iic r 34 1 RR:0x22,val:0xA0 $ iic r 35 1 RR:0x23,val:0x0 $ iic r 36 1 RR:0x24,val:0x0 $ iic r 37 1 RR:0x25,val:0x0 $ iic r 38 1 RR:0x26,val:0xB0 $ iic r 39 1 RR:0x27,val:0x0 $ iic r 40 2 RR:0x28,val:0x3F6 $ iic r 42 2 RR:0x2A,val:0x478 $ iic r 44 2 RR:0x2C,val:0x143C $ iic r 46 2 RR:0x2E,val:0x1410 $ iic r 48 2 RR:0x30,val:0xF28 $ iic r 50 2 RR:0x32,val:0xF56 $ iic r 52 2 RR:0x34,val:0x264 $ iic r 54 2 RR:0x36,val:0x3E $ iic r 56 1 RR:0x38,val:0xA
In the 1st of the 2 register logs provided REG0x1F = 0x1, which indicates TS_COLD. TS cold condition would cause device to not be able to charge. Please make sure TS pin is correctly biased, or you can disable battery temperature monitoring by setting TS_IGNORE (REG0x1A[7] = 1b).
In the 2nd of the 2 register logs provided the IBAT_ADC register (REG0x2A) does output a charge current of 1144mA. The device appears to be charging, but there is an IINDPM status reported in REG0x1D. An IINDPM condition, likely due to ILIM resistor, causes charge current to not increase to set ICHG value.
Thank you very much for your help
1:I directly changed the register of 0x1A to 0x8F
At the beginning, it can be charged.But it stopped after about a minute
Can you help me check if that register still needs to be modified?
ADC-->>0X26 It will also be closed . The log of no_ok is the value I read when I reopened 0x26
charge start Set Vbat Pin 1. Accid:1773 Charger init Success.. $ charge read Vbus:REG2C:5040mV Vbat:REG30:3268mV Current:Ibus:REG28: 1004 mA Current:Ibat:REG2A: 1104 mA TEMP: 42.50% $ gauge read ==============Check: Gauge============== Gauge read voltage: 3128 mV Current: 1084 mA show temp:2985 temperature: 2985 (0.1 K) Get Battery Temperature: 25.30C DOD0_Passed_Q: 3661 StateTime: 4 $ $ $ $ $ $ $ $ iic r 2 2 RR:0x2,val:0x780 $ iic r 4 2 RR:0x4,val:0xD20 $ iic r 6 2 RR:0x6,val:0x640 $ iic r 8 2 RR:0x8,val:0xE60 $ iic r 14 2 RR:0xE,val:0xB00 $ iic r 16 2 RR:0x10,val:0x50 $ iic r 18 2 RR:0x12,val:0x30 $ iic r 20 1 RR:0x14,val:0x6 $ iic r 21 1 RR:0x15,val:0x1C $ iic r 22 1 RR:0x16,val:0xA1 $ iic r 23 1 RR:0x17,val:0x4F $ iic r 24 1 RR:0x18,val:0x4 $ iic r 25 1 RR:0x19,val:0xC4 $ iic r 26 1 RR:0x1A,val:0x8F $ iic r 27 1 RR:0x1B,val:0x25 $ iic r 28 1 RR:0x1C,val:0x3F $ iic r 29 1 RR:0x1D,val:0x18 $ iic r 30 1 RR:0x1E,val:0xC $ iic r 31 1 RR:0x1F,val:0x0 $ iic r 32 1 RR:0x20,val:0x8 $ iic r 33 1 RR:0x21,val:0x0 $ iic r 34 1 RR:0x22,val:0x1 $ iic r 35 1 RR:0x23,val:0x0 $ iic r 36 1 RR:0x24,val:0x0 $ iic r 37 1 RR:0x25,val:0x0 $ iic r 38 1 RR:0x26,val:0xB0 $ iic r 39 1 RR:0x27,val:0x4 $ iic r 40 2 RR:0x28,val:0x3EC $ iic r 42 2 RR:0x2A,val:0x450 $ iic r 44 2 RR:0x2C,val:0x13D0 $ iic r 46 2 RR:0x2E,val:0x13C0 $ iic r 48 2 RR:0x30,val:0xCCC $ iic r 50 2 RR:0x32,val:0xDCC $ iic r 52 2 RR:0x34,val:0x371 $ iic r 54 2 RR:0x36,val:0x59 $ iic r 56 1 RR:0x38,val:0x1A $ charge read Vbus:REG2C:5040mV Vbat:REG30:3276mV Current:Ibus:REG28: 1004 mA Current:Ibat:REG2A: 1124 mA TEMP: 44.50% $ gauge read ==============Check: Gauge============== Gauge read voltage: 3139 mV Current: 1084 mA show temp:2985 temperature: 2985 (0.1 K) Get Battery Temperature: 25.30C DOD0_Passed_Q: 3655 StateTime: 23
iic r 2 2 RR:0x2,val:0x3C0 $ iic r 4 2 RR:0x4,val:0xD20 $ iic r 6 2 RR:0x6,val:0x640 $ iic r 8 2 RR:0x8,val:0xE60 $ iic r 14 2 RR:0xE,val:0xB00 $ iic r 16 2 RR:0x10,val:0x50 $ iic r 18 2 RR:0x12,val:0x30 $ iic r 20 1 RR:0x14,val:0x6 $ iic r 21 1 RR:0x15,val:0x1C $ iic r 22 1 RR:0x16,val:0xA1 $ iic r 23 1 RR:0x17,val:0x4F $ iic r 24 1 RR:0x18,val:0x4 $ iic r 25 1 RR:0x19,val:0xC4 $ iic r 26 1 RR:0x1A,val:0xF $ iic r 27 1 RR:0x1B,val:0x25 $ iic r 28 1 RR:0x1C,val:0x3F $ iic r 29 1 RR:0x1D,val:0x10 $ iic r 30 1 RR:0x1E,val:0xC $ iic r 31 1 RR:0x1F,val:0x1 $ iic r 32 1 RR:0x20,val:0x19 $ iic r 33 1 RR:0x21,val:0x9 $ iic r 34 1 RR:0x22,val:0x1 $ iic r 35 1 RR:0x23,val:0x0 $ iic r 36 1 RR:0x24,val:0x0 $ iic r 37 1 RR:0x25,val:0x0 $ iic r 38 1 RR:0x26,val:0xB0 $ iic r 39 1 RR:0x27,val:0x4 $ iic r 40 2 RR:0x28,val:0xB2 $ iic r 42 2 RR:0x2A,val:0x0 $ iic r 44 2 RR:0x2C,val:0x1460 $ iic r 46 2 RR:0x2E,val:0x1460 $ iic r 48 2 RR:0x30,val:0xC38 $ iic r 50 2 RR:0x32,val:0xEE6 $ iic r 52 2 RR:0x34,val:0x0 $ iic r 54 2 RR:0x36,val:0x3B $ iic r 56 1 RR:0x38,val:0x1A
Charge is likely stopping due to TS_IGNORE resetting back to default due to watchdog timer expiration. The watchdog timer setting is REG0x16[1:0].
Please try changing REG0x16 to value 0xA0 to disable.
Just turn off the watchdog and it's okay,
But I have a question:
Under normal circumstances, I found that the watchdog is always on. Do we need to use external I2C to reset the watchdog?
Thank you very much for your support
Yes, to remain in host mode operation I2C communication is required to reset the watchdog timer before expiration if you do not wish to disable it. More details can be found in datasheet section 8.4.1.