Tool/software:
Hi there,
I hope someone can help me with an issue I am seeing with the BQ25892.The BMIC is connected to a host MCU via I2C and the host MCU writes down a config on power up.
The host MCU continues to poll the CONV_START flag ro check if a new ADC conversion has completed then it reads the all the assosiated ADC registers to get the status of the power
The host will then log this to the console an example status is shown here: Status
--------------
State : Not charging
Mains : Fault (0)
VBus : 2600mV
VSys : 3704mV
VSys(min) : 3000mV
Batt : Connected (0)
Capacity : 50%
VBatt : 3684mV Avg=3704mV
IBatt : 0000mA Avg=0000mA
Temp : 22.6°C
Faults
--------------
Watchdog : Ok (0)
Battery : Ok (0)
Boost : Ok (0)
Thermal : Ok (0)
Charge : Ok
Input : 0
Timer : 0
Therm : 0
NTC : Ok
Cold : 0
Cool : 0
Warm : 0
Hot : 0
I am noticing on occasion with some batteries I have tested that the ADC stops converting without raising any faults or indicating in any way that its not converting.
The only indictation is that the ADC converting flag (CONV_START) doesn't clear to indicate that an ADC conversion has completed.
The chip registers can be inspected (read from and written to) via I2C fine. The chip can be also soft reset but this makes no difference.
The only way I can get it to start operating as expected is to remove the battery or remove VBUS.
Here is the schematic of the BMIC circuit with battery and PSU connections highlighted.
The only settings that differ from the default ones are as follows:
// BQ25892 Register settings #define BQ25892_REG03_SETTING 0x5A // Reset the watchdog, Min system voltage (Vsys min) set to 3.5V (default) #define BQ25892_REG07_SETTING 0x8D // Disable the watchdog #define BQ25892_REG00_SETTING 0x3A // Disable the ILIM pin which is used to set the current limit to 829mA (390/470R). Set max input current limit to 3A #define BQ25892_REG04_SETTING 0x0B // Fast charge current limit set to 704mA #define BQ25892_REG05_SETTING 0x02 // Precharge current limit set to 64mA, Termination charge current limit set to 192mA #define BQ25892_REG02_SETTING 0x5D // Start a continous ADC conversion
A register dump of all the registers can be found here:
Registers -------------- Address 0x00: 3A Address 0x01: 06 Address 0x02: DD Address 0x03: 1A Address 0x04: 0B Address 0x05: 02 Address 0x06: 5E Address 0x07: 8D Address 0x08: 03 Address 0x09: 44 Address 0x0A: 73 Address 0x0B: 56 Address 0x0C: 00 Address 0x0D: 12 Address 0x0E: 47 Address 0x0F: 47 Address 0x10: 5B Address 0x11: 98 Address 0x12: 00 Address 0x13: 3A Address 0x14: 05
Any help or guidance would be greatly appreciated
Regards
Trevor