Tool/software:
Hi,
I've got an issue with the BQ25792 on a PCB I made: the registers indicate that the charger is in Fast-charging state, but the ADC give IBAT = 0.0A, and indeed I don't see any voltage difference after a while on VBAT. It does work well with the EVM with the same power supply, and the same register settings (I start by disabling the watchdog, as well as TS, then setting VSYS_MIN to 16V, and enabling ADC and IBAT_ADC).
Please find attached the schematics, as well as the registers.
Any help on this would be really appreciated.
Yoann
Reg 0x00 = 0x36 VSYS_MIN = 16.0V Reg 0x01 = 0x0690 VREG = 16.8V Reg 0x03 = 0x0064 ICHG = 1.0A Reg 0x05 = 0x97 VINDPM = 15.100000000000001V Reg 0x06 = 0x008e IINDPM = 1.42A Reg 0x08 = 0xc3 VBAT_LOWV = 71.4%*VREG IPRECHG = 0.12A Reg 0x09 = 0x05 ITERM = 0.2A Reg 0x0a = 0xe3 CELL = 4s TRECHG = 1024ms VRECHG = 0.2V Reg 0x0b = 0x00dc VOTG = 5.0V Reg 0x0d = 0x4b PRECHG_TMR = 2hrs IOTG = 3.0A Reg 0x0e = 0x3d TOPOFF_TMR = disabled EN_TRICHG_TMR = enabled EN_PRECHG_TMR = enabled EN_CHG_TMR = enabled CHG_TMR = 12hrs TMR2X_EN = enabled Reg 0x0f = 0xa2 Battery discharges during OVP fault: enabled Force a battery discharging current: disabled Charger Enable: enabled Input Current Optimizer: disabled Force start input current optimizer: disabled HIZ mode: disabled Enable termination: enabled Reg 0x10 = 0x80 VAC_OVP = 26V WD_RST = 0 WATCHDOG = disable Reg 0x11 = 0x40 Force D+/D- detection: disabled Automatic D+/D- Detection: enabled EN_12V HVDC: disabled EN_9V HVDC: disabled High voltage DCP: disabled SFET control = Idle SDRV_DLY: Add 10s delay time Reg 0x12 = 0x00 DIS_ACDRV: disabled EN_OTG: disabled PFM_OTG_DIS: enabled PFM_FWD_DIS: enabled WKUP_DLY: 15ms DIS_LDO: enabled DIS_OTG_OOA: enabled DIS_FWD_OOA: enabled Reg 0x13 = 0x21 EN_ACDRV2: turn off EN_ACDRV1: turn off PWM_FREQ: 750 kHz DIS_STAT: enabled DIS_VSYS_SHORT: enabled DIS_VOTG_UVP: enabled FORCE_VINDPM_DET: Do NOT force VINDPM detection EN_IBUS_OCP: enabled Reg 0x14 = 0x36 SFET_PRESENT: No ship FET populated EN_IBAT: IBAT discharge current sensing for ADC enabled IBAT_REG: 5A EN_IINDPM: enabled EN_EXTILIM: enabled EN_BATOC: disabled Reg 0x16 = 0xc0 TREG: 120°C TSHUT: 150°C VBUS_PD_EN: disabled VAC1_PD_EN: disabled VAC2_PD_EN: disabled Reg 0x17 = 0x7a Reg 0x18 = 0x55 TS_COOL: 68.4% (10°C) TS_WARM: 44.8% (45°C) BHOT: 60°C BCOLD: -10°C TS_IGNORE: Ignore Reg 0x19 = 0x008e ICO_ILIM = 1.42A Reg 0x1b = 0x0b PG_STAT: Power good AC2_PRESENT_STAT: VAC2 NOT present AC1_PRESENT_STAT: VAC1 present VBUS_PRESENT_STAT: VBUS present Reg 0x1c = 0x67 CHG_STAT: Fast charge VBUS_STAT: USB DCP (3.25A) BC1.2_DONE_STAT: BC1.2 or non-standard detection complete Reg 0x1d = 0x01 ICO_STAT: ICO disabled DPDM_STAT: The D+/D- detection is NOT started yet, or the detection is done VBAT_PRESENT_STAT: VBAT present Reg 0x1e = 0x00 ACRB2_STAT: ACFET2-RBFET2 is NOT placed ACRB1_STAT: ACFET1-RBFET1 is NOT placed ADC_DONE_STAT: Conversion NOT complete VSYS_STAT: Not in VSYSMIN regulation Reg 0x1f = 0x00 VBATOTG_LOW_STAT: The battery voltage is high enough to enable the OTG operation Reg 0x20 = 0x00 Reg 0x21 = 0x00 Reg 0x22 = 0x00 Reg 0x23 = 0x00 Reg 0x24 = 0x00 DPDM_DONE_FLAG: D+/D- detection is NOT started or still ongoing ADC_DONE_FLAG: Conversion NOT completed Reg 0x25 = 0x00 Reg 0x26 = 0x00 Reg 0x27 = 0x00 Reg 0x28 = 0x00 IINDPM_MASK: Enter IINDPM / IOTG does produce INT pulse VINDPM_MASK: Enter VINDPM / VOTG does produce INT pulse WD_MASK: I2C watch dog timer expired does produce INT pulse POORSRC_MASK: Poor source detected does produce INT PG_MASK: PG toggle does produce INT AC2_PRESENT_MASK: VAC2 present status change does produce INT AC1_PRESENT_MASK: VAC1 present status change does produce INT VBUS_PRESENT_MASK: VBUS present status change does produce INT Reg 0x29 = 0x00 CHG_MASK: Charging status change does produce INT ICO_MASK: ICO status change does produce INT VBUS_MASK: VBUS status change does produce INT TREG_MASK: entering TREG does produce INT VBAT_PRESENT_MASK: VBAT present status change does produce INT BC1.2_DONE_MASK: BC1.2 status change does produce INT Reg 0x2a = 0x00 DPDM_DONE_MASK: D+/D- detection done does produce INT pulse ADC_DONE_MASK: ADC conversion done does produce INT pulse VSYS_MASK: enter or exit VSYSMIN regulation does produce INT pulse CHG_TMR_MASK: Fast charge timer expire does produce INT TRICHG_TMR_MASK: Trickle charge timer expire does produce INT PRECHG_TMR_MASK: Pre-charge timer expire does produce INT TOPOFF_TMR_MASK: Top off timer expire does produce INT Reg 0x2b = 0x00 VBATOTG_LOW_MASK: VBAT falling below the threshold to enable the OTG mode, does produce INT TS_COLD_MASK: TS across cold temperature (T1) does produce INT TS_COOL_MASK: TS across cool temperature (T2) does produce INT TS_WARM_MASK: TS across warm temperature (T3) does produce INT TS_HOT_MASK: TS across hot temperature (T5) does produce INT Reg 0x2c = 0x00 IBAT_REG_MASK: enter or exit IBAT regulation does produce INT VBUS_OVP_MASK: entering VBUS OVP does produce INT VBAT_OVP_MASK: entering VBAT OVP does produce INT IBUS_OCP_MASK: IBUS OCP fault does produce INT IBAT_OCP_MASK: IBAT OCP fault does produce INT CONV_OCP_MASK: Converter OCP fault does produce INT VAC2_OVP_MASK: entering VAC2 OVP does produce INT VAC1_OVP_MASK: entering VAC1 OVP does produce INT Reg 0x2d = 0x00 VSYS_SHORT_MASK: System short fault does produce INT VSYS_OVP_MASK: System over-voltage fault does produce INT OTG_OVP_MASK: OTG VBUS over-voltage fault does produce INT OTG_UVP_MASK: OTG VBUS under voltage fault does produce INT TSHUT_MASK: TSHUT does produce INT Reg 0x2e = 0xb0 ADC_EN: Enable ADC_RATE: Continuous conversion ADC_SAMPLE: 12 bit effective resolution ADC_AVG: Single value ADC_AVG_INIT: Start average using the existing register value Reg 0x2f = 0x00 IBUS_ADC_DIS: Enable IBAT_ADC_DIS: Enable VBUS_ADC_DIS: Enable VBAT_ADC_DIS: Enable VSYS_ADC_DIS: Enable TS_ADC_DIS: Enable TDIE_ADC_DIS: Enable Reg 0x30 = 0x00 DP_ADC_DIS: Enable DM_ADC_DIS: Enable VAC2_ADC_DIS: Enable VAC1_ADC_DIS: Enable Reg 0x31 = 0x00e1 IBUS_ADC = 0.225A Reg 0x33 = 0x0000 IBAT_ADC = 0.0A Reg 0x35 = 0x4e90 VBUS_ADC = 20.112000000000002V Reg 0x37 = 0x4e90 VAC1_ADC = 20.112000000000002V Reg 0x39 = 0x0000 VAC2_ADC = 0.0V Reg 0x3b = 0x400a VBAT_ADC = 16.394000000000002V Reg 0x3d = 0x4160 VSYS_ADC = 16.736V Reg 0x3f = 0x03f5 TS_ADC = 98.9258319% Reg 0x41 = 0x003f TDIE_ADC = 31.5°C Reg 0x43 = 0x0a60 D+_ADC = 2.656V Reg 0x45 = 0x0a61 D-_ADC = 2.657V Reg 0x47 = 0x00 DPLUS_DAC: HIZ DMINUS_DAC: HIZ