BQ25622E: Read register without charging current..

Part Number: BQ25622E

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

charger.log
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

    MY-REG.log
    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
    
    EVK-REG.log
    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

    ok.log
    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
    
    no_ok.log
    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.

  • OK  

    Thank you