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_CTRL2 register.
- The rules of maximum of three 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.
- 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.