Other Parts Discussed in Thread: BQ40Z50,
Tool/software:
Hi there—our design comprises the BQ25798 with a 1S4P battery pack that uses the BQ40Z50 for primary protection. The programmable shutdown threshold of the BQ40Z50 is set to 2.6 V in our application, and the BQ40Z50 has a non-programmable shutdown threshold of approximately 2.2 V.
I have replaced the cells in the battery pack with a Keithley 2308 cell simulator to test the interaction between the BQ25798 and our battery pack's protection board during various conditions. The regulated output of the Keithley 2308 is referred to as VCELL in the notes below.
I find that if VBUS is applied while VCELL = 2.5 V (less than the programmable shutdown threshold of the gas gauge), the BQ25798 rapidly enables and disables VBAT as in channel 1 (top) of the capture below. VSYS is stable as in channel 2 (bottom) of the same capture.
The cell simulator shows no current actually flows into the cell; therefore, the battery pack does not charge during this condition. Since VBAT (i.e. the pack voltage from the perspective of the gas gauge) is repeatedly applied and removed, the gas gauge never wakes up.
Conversely if VBUS is applied while VCELL = 2.7 V (greater than the programmable shutdown threshold of the gas gauge), the condition settles very quickly; VBAT remains enabled and is pulled down to VCELL, and the cell simulator shows that the desired precharge current flows into the cell:
Based on the registers read from BQ25798, it seems it is repeatedly cycling among trickle charge, termination complete, and taper charge:
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: 02 01 b8 01 f4 24 00 64 8c 0f 03 00 dc 4b 3d a2
10: 80 00 10 01 14 aa c0 7a 55 00 64 0f 2a 00 10 10
20: 00 00 00 82 10 10 20 00 ff c7 7f 1f ff fc 80 00
30: 00 01 6a 00 00 13 1c 12 ff 12 fe 09 a0 0b 5f 02
40: 67 00 25 00 1b 00 1b 00 19 ff ff ff ff ff ff ff
Another instance:
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: 02 01 b8 01 f4 24 00 64 8c 0f 03 00 dc 4b 3d a2
10: 80 00 10 01 14 aa c0 7a 55 00 64 0f ea 01 00 00
20: 00 00 00 82 10 00 20 00 ff c7 7f 1f ff fc 80 00
30: 00 01 24 00 00 14 23 13 1e 13 1c 09 a4 0b 62 02
40: 67 00 25 00 1a 00 00 00 19 ff ff ff ff ff ff ff
Another instance:
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: 02 01 b8 01 f4 24 00 64 8c 0f 03 00 dc 4b 3d a2
10: 80 00 10 01 14 aa c0 7a 55 00 64 0f 8a 01 00 00
20: 00 00 00 82 10 00 20 00 ff c7 7f 1f ff fc 80 00
30: 00 01 10 00 00 13 19 14 11 13 18 10 89 0b 65 02
40: 67 00 25 00 1b 00 1c 00 19 ff ff ff ff ff ff ff
Also of note is that while the BQ25798 operates in trickle charge, VBAT_PRESENT = 0 and VSYS_STAT = 1 (VSYSMIN regulation). During charge termination and taper charge, VBAT_PRESENT = 1 and VSYS_STAT = 0; this is confusing, as VSYS is clearly in VSYSMIN regulation throughout the entire sequence of events.
On a hunch, I lowered TRECHG from the default (1024 ms) to the minimum (64 ms) so that VBAT cannot collapse significantly. Now, VBAT remains enabled even for VCELL = 2.3 V (greater than the non-programmable shutdown threshold of the gas gauge):
The couple of brief oscillations occur because our system firmware cannot lower TRECHG until a few seconds after the system boots, and TRECHG remains the default (1024 ms) for a brief time. The 5-second period that follows appears to correspond to the non-recoverable undervoltage protection delay in our gas gauge, during which it waits to enable the CHG FET.
What I suspect to be happening here is that after the gas gauge wakes up, it disables zero-volt charging and opens its CHG FET for 5 seconds; charging current falls below the termination current, and the BQ25798 immediately jumps to the termination state from any other charging state.
We have seen similar behavior when the CHG FET opens due to some other reason triggered by the gas gauge (e.g. overtemperature)—the BQ25798 briefly believes charging is complete, before it attempts to restart charging, and VBAT OVP is triggered as a result of the CHG FET remaining open. Please consider the following questions:
[1] Are these results expected—including the "jump" from a relatively early charging state (e.g. trickle) to termination, as well as the various values returned for VBAT_PRESENT and VSYS_STAT?
[2] Is there any risk in lowering TRECHG as I have done, or would any other workaround be more preferable?
With this workaround in place, I noted another behavior for VCELL = 2.1 V (less than the non-programmable shutdown threshold of the gas gauge):
Here, it seems that VBAT remains enabled, but consistently cycles among VREG, VCELL and 2.5 V (the trickle charge regulation voltage). Once more, the cell simulator shows no current actually flows into the cell. I suspect that in this case, the zero-volt charging current of the gas gauge is less than the termination current, and the BQ25798 repeatedly stops and re-starts charging for the same reason.
[3] Is this last result expected? We ultimately wish to implement secondary non-recoverable undervoltage protection in the range of 2.0–2.2 V; therefore, it's actually preferred that the battery cannot be recharged below VCELL = 2.3 V anyway. However, I'd like to understand the mechanism here, and whether or not it can be predictable across operating conditions.
Thank you in advance for your support—in case I can clarify any of my observations or questions, please let me know.