The cell balancing runs autonomously once it is
configured. The cell balancing control can be configured in two ways using the
BAL_CTRL2[AUTO_BAL] bit.
- Auto balancing control ([AUTO_BAL] = 1): With this method, host MCU can
enable balancing on any channel. Once the host sends a [BAL_GO] = 1,
balancing starts and the device will automatically duty cycle all enabled CBFETs
in an odd and even manner. The duty cycle is configured by
BAL_CTRL1[DUTY2:0] bits.
- Example 1: MCU sets up all 16 channels for cell balancing.
- Example 2: MCU sets up odd or even channels only for cell balancing. The
BAL_CTRL1[DUTY2:0] bits setting is ineffective because the
device is not switched between odd or even channels.
- Manual balancing control ([AUTO_BAL] = 0): With this method, the device
will turn on the CBFETs that have non-zero balancing timer settings once
[BAL_GO] = 1 is received. There is no odd and even channel switching
during the cell balancing and the BAL_CTRL1[DUTY2:0] setting does not
apply under this control. Host MCU can enable two consecutive CBFETs with this
method and a maximum of eight CBFETs can be enabled. When two consecutive CBFETs
are enabled with both channels connected to battery cells, the balancing current
is significantly different compared to no adjacent CBFET being on (Figure 6-13). The DEV_CONF[NO_ADJ_CB] bit is provided to avoid inadvertent
enabling of an adjacent CBFET for a system that is not intended to have an
adjacent channel on for balancing. In this control method, the device is relying
on the MCU to enable the proper channels. If the MCU sends [BAL_GO] = 1
but the CBFETs are enabled with an invalid condition, the device does not start
balancing and sets BAL_STAT[INVALID_CBCONF] = 1. Invalid configurations
are either:
- More than eight channels are enabled for balancing (that is, more than
eight CB_CELL*_CTRL registers have non-zero settings),
- DEV_CONF[NO_ADJ_CB] = 1, but adjacent channels are enabled for
balancing,
- DEV_CONF[NO_ADJ_CB] = 0, but more than two consecutive channels
are enabled for balancing:
- Example: Enabling CBFET 1, 2, 4, 5, 7, 10, 12, and 14 is
valid.
- Example: Enabling CBFET 1, 2, and 3 is invalid.