The cell balancing FET check is performed by turning on the balancing FET and comparing the voltage across the FET (through the AUX ADC path) versus the cell voltage (through the Main ADC path). To read the AUXCELL measurement used for the check, MCU has to set up this diagnostic check to lock on a single channel using [AUX_CELL_SEL] setting and the start this diagnostic check. The AUXCELL compared value will be reported to DIAG_AUX_HI/LO registers.
Before starting the cell balancing FET comparison, host ensures:
- Main ADC is running in continuous mode.
- Configured in the ADC_CTRL2[AUX_CELL_SEL4:0] to select the AUXCELL channels which the CB FETs are tested.
- Select the desired settling time for the AUX CELL channel through ADC_CONF1[AUX_SETTLE1:0].
- Pause CB if balancing is running.
- Configured which CBFET to be tested through DIAG_CBFET_CTRL1 and DIAG_CBFET_CTRL2 registers.
- The rules of maximum of eight CBFETs to be on and turn on no more than two consecutive CBFETs still apply.
- Recommended to test in odd and even manner.
To start the CBFET comparison:
- Start AUX ADC in continuous
mode.
- Turn on the selected CBFET by setting
DIAG_COMP_CTRL3[CBFET_CTRL_GO] = 1 and wait
for appropriate dv/dt time.
- Set
DIAG_COMP_CTRL3[COMP_ADC_SEL2:0] = CBFET
check (that is, 0b100) and set
[COMP_ADC_GO] = 1.
- The device turns on the
CBFET configured in the above step and compares
the AUXCELL measurement (through CB channel) <
half of the VCELL measurement (through VC
channel). Only the CBFETs that are enabled are
checked.
- The CBFET comparison is
completed when ADC_STAT2[DRDY_CBFET] = 1.
- Repeat this procedure for
other set of CBFET test. To turn off the CBFET enabled for this test, MCU
clear the DIAG_CBFET1 and
DIAG_CBFET2 registers then set the
[CBFET_CTRL_GO] = 1. Otherwise, exiting
from the CB pause state by sending
[CB_PAUSE] = 0 will resume the regular
balancing which turns off the CBFETs enabled for
this test and resume on the CBFETs that are set
for balancing.
Host checks the FAULT_COMP_CBFET1 and
FAULT_COMP_CBFET2 registers for the
comparison result. Repeat the steps to compare the
remaining CBFETs.
ADC comparison abort conditions:
The device will not start the CBFET comparison
under the invalid conditions listed below. When
the comparison is aborted, the
FAULT_COMP_MISC[COMP_ADC_ABORT] = 1,
[DRDY_AUX_CEL] = 1, [DRDY_CBFET] =
1, and FAULT_COMP_CBFET1/2 = 0xFF. If
[AUX_CELL_SEL4:0] is set to locked at a
single channel, the AUX_CELL_HI/LO
registers will be reset to default value 0x8000 if
the comparison run is aborted.
Invalid conditions or settings which will prevent the start of the cell voltage measurement comparison:
- Invalid [AUX_CELL_SEL] setting which results in no AUX ADC measurement on the selected channel. The AUX_CELL_HI/LO registers are kept in default value.
- Channel higher than the NUM_CELL configuration is selected.
- Invalid BBVC_POSN setting:
- Adjacent channels are enabled in the BBVC_POSN1/2 registers.
- BBVC_POSN2[CELL1] is enabled.
- More than two channels are selected in BBVC_POSN1/2.
- [AUX_CELL_SEL] is locked to any of the selected channels in BBVC_POSN1/2.
- Main or AUX ADCs are off or not set in continuous mode.
- CB is running and it is not in pause mode.
- More than eight CBFETs are enabled, or more than two consecutive CBFETs are enabled in DIAG_CBFET_CTRL1/2 registers.