SLUUCJ0 November 2023 BQ76907
The voltage ADC and associated mux operates on a measurement loop to implement all its required measurements. The schedule is different in NORMAL versus SLEEP mode (there are no measurements in DEEPSLEEP or SHUTDOWN modes).
The measurement loop in NORMAL mode consists of a fast ADSCAN loop, which consists of up to 8 separate measurement slots. The width of the measurement slots is independently programmable based on the category of measurement - cell voltage measurement vs other measurements. By programming the width of the slot, the effective resolution of the ADC conversion changes with it. The slot width is programmable as 366 μs (fastest but lowest resolution), 732 μs, 1.46 ms, or 2.93 ms (slowest but highest resolution). The schedule of conversions while in NORMAL mode is described in the tables below. If a device is configured to use fewer than the maximum number of supported series cells (such as the device being used in a 3s system), the schedule is shortened accordingly. This results in the number of slots in an ADSCAN in NORMAL mode being (number of cells used) + 1.
Slot Number | Selected Input |
---|---|
0 | Cell-1 Voltage |
1 | Cell-2 Voltage |
2 | Cell-3 Voltage |
3 | Cell-4 Voltage |
4 | Cell-5 Voltage |
5 | Cell-6 Voltage |
6 | Cell-7 Voltage |
7 | Shared Slot |
Slot Number | Selected Input |
---|---|
0 | Cell-1 Voltage |
1 | Cell-2 Voltage |
2 | Shared Slot |
The additional measurements that are less speed critical use the Shared Slot, which rotates through a series of five less frequent measurements. The completion of one full rotation through all five of these less frequent measurements (one per ADSCAN loop) is termed a FULLSCAN loop. The items measured in the FULLSCAN using the Shared Slot are shown in the table below. This schedule uses 5 ADSCANs to complete one FULLSCAN to provide updated data for all less frequent measurements. The timing of a FULLSCAN loop depends on the timing of the ADSCAN loop and can range from approximately 5.5 ms to approximately 117 ms (and longer based on the LOOP_SLOW settings described below).
Shared Slot Usage | Description |
---|---|
TS | Measurement of TS pin voltage, which can be configured in thermistor mode (with internal pullup enabled and using internal 1.8-V LDO as reference) or general purpose ADCIN mode (with internal pullup disabled and using bandgap reference) |
Internal Temperature | Measurement of delta-VBE |
Stack | Top of stack voltage (VC7 pin) vs VSS, using resistive divider only switched on during measurement. |
VREF | Measurement of the internal REG18 LDO voltage |
VSS | Measurement of the VSS pin voltage |
The measurement of the internal REG18 LDO voltage (which is set based on VREF2) provides an output code given by REG18 × 32768 × 2 / 5 / VREF1, which results in a nominal value of 19228.
The BQ76907 also includes an option to slow the measurement loop if active power dissipation is more important than speed of data availability. The loop can be slowed by up to 8x in NORMAL mode using the Settings:Configuration:Power Config[LOOP_SLOW[1:0]] bits, which cause the voltage ADC to insert idle slots to effectively slow the average conversion speed and thus reduces the device's average power dissipation. See below for how these bits control the schedule. The idle slots are inserted in a contiguous group at the end of each active ADSCAN, not interleaved between each active conversion slot, to ensure that cell voltage measurements are taken as closely together as possible. The LOOP_SLOW setting does not affect the schedule during SLEEP mode.
LOOP_SLOW[1] | LOOP_SLOW[0] | Loop Speed |
---|---|---|
0 | 0 | Loop runs at full speed |
0 | 1 | Loop runs at half speed (one idle slot included for each active slot) |
1 | 0 | Loop runs at quarter speed (three idle slots included for each active slot) |
1 | 1 | Loop runs at eighth speed (seven idle slots included for each active slot) |
When the device is in SLEEP mode, measurements are only taken in a burst every Power:Sleep:Voltage Time interval. Between these bursts, the ADC remains idle, to save power. When the timer expires, the device takes all measurements in a long burst. These are implemented as shown in the table below. When fewer than 7 cells are being used, the unused cell voltage slots are removed. This results in the SLEEP schedule length in slots = 5 + (number of cells used).
Slot | Description |
---|---|
0 | Cell-1 Voltage |
1 | Cell-2 Voltage |
2 | Cell-3 Voltage |
3 | Cell-4 Voltage |
4 | Cell-5 Voltage |
5 | Cell-6 Voltage |
6 | Cell-7 Voltage |
7 | TS pin measurement |
8 | Internal Temperature measurement |
9 | Stack measurement |
10 | REG18 measurement |
11 | VSS measurement |
When a burst measurement is complete, the device sets the ADSCAN and FULLSCAN bits in Alarm Raw Status() momentarily.
When the device exits SLEEP mode (whether through current detection or command or a protection), it immediately runs a SLEEP mode burst measurement to collect updated data, then begins the NORMAL mode schedule. If a burst measurement is already in progress when the exit is triggered, that burst is completed, and then the device begins the NORMAL mode schedule.
When the device first boots from SHUTDOWN or exits DEEPSLEEP or CONFIG_UPDATE modes, a special fast startup schedule is used, which is similar to the SLEEP mode schedule, but with fixed OSR settings, as shown below. This schedule results in approximately 7 ms ADC conversion time, in addition to the time required for the REG18 LDO to power up from SHUTDOWN. The device then transitions to evaluating the protections, so the FETs can be enabled as quickly as possible. This measurement loop and evaluation completion trigger the INITCOMP bit in Alarm Raw Status(). If the host intends to manually enable the FET drivers, it can monitor this signal to determine when the startup data is available for reading.
Slot | Description | ADC OSR |
---|---|---|
0 | Cell-1 Voltage | 96 |
1 | Cell-2 Voltage | 96 |
2 | Cell-3 Voltage | 96 |
3 | Cell-4 Voltage | 96 |
4 | Cell-5 Voltage | 96 |
5 | Cell-6 Voltage | 96 |
6 | Cell-7 Voltage | 96 |
7 | TS pin measurement | 384 |
8 | Internal Temperature measurement | 384 |
9 | Stack measurement | 96 |
10 | REG18 measurement | 96 |
11 | VSS measurement | 96 |
If the device has been configured for a fewer number of cells being used (such as configured for use with only 2 cells being used), the startup sequence is shortened by skipping unused cell measurements. If the device is powering from SHUTDOWN mode, it determines the cell configuration based on the settings read in from OTP. If the device is exiting DEEPSLEEP or CONFIG_UPDATE mode, it uses the cell configuration information previously loaded, either from OTP at power up or modified by the host.