SLUUCI8 November 2023 BQ76905
The BQ76905 supports passive cell balancing by bypassing the current of a selected cell during charging or at rest, using either integrated bypass switches between cells, or external bypass FETs or BJTs. Balancing must be initiated and controlled manually from a host processor.
Adjacent as well as non-adjacent cells can be balanced. Balancing is controlled using the 0x0083 CB_ACTIVE_CELLS() subcommand sent by the host. When balancing is initiated using this subcommand, the device starts a timer and begins balancing the specified cells for up to 20 seconds. The timer is reset if a new balancing subcommand is issued. This is included as a precaution, in case the host processor initiated balancing but then stopped communication with the BQ76905, so that balancing does not continue indefinitely. The host can write 0x00 to the subcommand to disable balancing. When this subcommand is read, it reports a bit mask of which cells are being actively balanced.
The 0x0083 CB_ACTIVE_CELLS() subcommand is accessible in SEALED mode, to avoid the need for the pack to be unsealed in the field in order to initiate balancing. If balancing is not used, writes to this subcommand can be disabled by setting the Settings:Cell Balancing:Balancing Configuration[CB_NO_CMD] configuration bit.
The device disables balancing if the ADC measurement of a thermistor (if the TS pin is configured for thermistor measurement) is above Settings:Cell Balancing:Min Temp Threshold (the threshold for the minimum temperature) or below Settings:Cell Balancing:Max Temp Threshold (the threshold for the maximum temperature) or the internal die temperature of the device exceeds a programmable threshold set by Settings:Cell Balancing:Max Internal Temp. However, the customer must still carefully analyze the thermal effect of the balancing on the device in system. Based on the planned ambient temperature of the device during operation and the thermal properties of the package, the maximum power must be calculated that can be dissipated within the device and still ensure operation remains within the recommended operating temperature range. The cell balancing configuration can then be determined such that the device power remains below this level by reducing the number of cells being balanced simultaneously, or by reducing the balancing current of each cell by appropriate selection of the external resistance in series with each cell.
Due to the current that flows into the cell input pins on the BQ76905 while balancing is active, cell voltage measurements cannot be made without disabling balancing temporarily. Therefore, the timing for measurement of cell voltages and evaluation of cell voltage protections by the device is modified during balancing. While balancing of any cell is active, the balancing FETs are disabled temporarily during each ADSCAN while the cell voltages are being measured, as well as during the Shared Slot measurement.
In order to meet the need for regular measurements while cell balancing is underway, the Settings:Configuration:Power Config[CB_LOOP_SLOW[1:0]] configuration bits modify the cell voltage measurement timing when cell balancing is active, to increase the average balancing current. This modification involves replacing the measurements in selected ADSCANs with idle slots of the same width, to allow balancing to remain active a higher percentage of the time.
If CB_LOOP_SLOW[1:0] = 0b00, the voltage measurements in every other ADSCAN are replaced with idle slots of the same time duration. This allows balancing to be enabled during an entire "idle" ADSCAN. Balancing remains off during the "active" ADSCAN when voltage measurements are enabled. Therefore this setting allows balancing to be enabled almost 50% of the time (balancing is disabled one slot before any voltage measurement, thus is off for all slots of the "active" ADSCAN and for one slot in the "idle" ADSCAN just before the "active" ADSCAN begins).
If CB_LOOP_SLOW[1:0] = 0b01, the voltage measurements in three of every four ADSCANs are replaced with idle slots of the same time duration. This allows balancing to be enabled during each "idle" ADSCAN. Balancing remains off during the "active" ADSCAN that still has voltage measurements enabled. Therefore this setting allows balancing to be enabled approximately 75% of the time (balancing is disabled one slot before any voltage measurement, thus is off for all slots of the "active" ADSCAN and for one slot in the "idle" ADSCAN just before the "active" ADSCAN).
If CB_LOOP_SLOW[1:0] = 0b10, the voltage measurements in seven of every eight ADSCANs are replaced with idle slots of the same time duration. This allows balancing to be enabled during each "idle" ADSCAN. Balancing remains off during the "active" ADSCAN that still has voltage measurements enabled. Therefore this setting allows balancing to be enabled approximately 87% of the time (balancing is disabled one slot before any voltage measurement, thus is off for all slots of the "active" ADSCAN and for one slot in the "idle" ADSCAN just before the "active" ADSCAN).
If CB_LOOP_SLOW[1:0] = 0b11, the voltage measurements in 15 of every 16 ADSCANs are replaced with idle slots of the same time duration. This allows balancing to be enabled during each "idle" ADSCAN. Balancing remains off during the "active" ADSCAN that still has voltage measurements enabled. Therefore this setting allows balancing to be enabled approximately 92% of the time (balancing is disabled one slot before any voltage measurement, thus is off for all slots of the "active" ADSCAN and for one slot in the "idle" ADSCAN just before the "active" ADSCAN).
The timing of COV and CUV protection checks that use cell voltage measurement data is also modified due to the reduced frequency of measurements.
When a command is sent to initiate cell balancing, the device first completes any ADSCAN presently in operation before it enables balancing.
CB_LOOP_SLOW[1] | CB_LOOP_SLOW[0] | Description |
---|---|---|
0 | 0 | Measurements are skipped in one of every two ADSCANs. |
0 | 1 | Measurements are skipped in three of every four ADSCANs. |
1 | 0 | Measurements are skipped in seven of every eight ADSCANs. |
1 | 1 | Measurements are skipped in 15 of every 16 ADSCANs. |
The LOOP_SLOW and CB_LOOP_SLOW settings operate independently. The LOOP_SLOW setting determines the speed of the regular measurement loop while balancing is not active. The CB_LOOP_SLOW setting determines the speed of the regular measurement loop only while balancing is active (the two settings do not combine together during balancing).
If a CUV or COV alert is detected while balancing is active, the device immediately disables balancing, and the schedule returns to the original NORMAL mode schedule.
While balancing is active, the device remains in NORMAL mode and does not enter SLEEP mode. If the device is in SLEEP mode and a command is sent to start balancing, the device first transitions to NORMAL mode. Commands to start balancing while the device is in DEEPSLEEP are ignored. When the device enters DEEPSLEEP mode, any balancing underway is terminated.
When the 0x0083 CB_ACTIVE_CELLS() subcommand is sent, the intended cells to be balanced can be read back, even though the balancing has not started yet (it starts at the end of the in-progress ADSCAN). This allows the host to confirm the command sent was accepted by the device. When balancing actually begins, the 0x64 AlarmRawStatus()[CB] bit is asserted, and it is deasserted when balancing is disabled. So this can be monitored for more precise timing on when the balancing FET is enabled and disabled. Note that this bit does not reflect the brief time periods when balancing is disabled to allow measurements to run; it continues to be asserted during these periods.
At the time cell balancing is disabled (either indefinitely or periodically to allow regular cell voltage measurements), there is a voltage transient generated that can affect several nearby cell input pins, due to the resistor and capacitor network at those pins. If a cell measurement occurs too quickly after cell balancing has been disabled, the accuracy of the cell voltage measurement can be impacted. In order to address this potential issue, the device includes a programmable delay implemented each time cell balancing is disabled before any cell voltage measurements are taken. This delay is set by Settings:Cell Balancing:Balancing Configuration[CBDLY2:0] from zero to 64 ms. This delay increases the time between successive active measurement loops.