This manual discusses the modules and peripherals of the BQ27Z746-R1 device, and how each is used to build a complete battery pack gas gauge and protection solution. For electrical specifications, refer to the BQ27Z746 Single-Cell Battery Fuel Gauge with Integrated Protector (SLUSDW2).
The following notation is used if SBS commands and data flash values are mentioned within a text block:
The reference format for SBS commands is: SBS:Command Name(Command No.): Manufacturer Access(MA No.)[Flag]; for example:
SBS:Voltage(0x09), or SBS:ManufacturerAccess(0x00): Seal Device(0x0020)
The following notation is used if SBS commands and data flash values are mentioned within a text block:
The reference format for SBS commands is: SBS:Command Name(Command No.): Manufacturer Access(MA No.)[Flag]; for example:
SBS:Voltage(0x09), or SBS:ManufacturerAccess(0x00): Seal Device(0x0020)
Impedance Track® is a registered trademark of Texas Instruments.
All trademarks are the property of their respective owners.
The BQ27Z746-R1 device provides a feature-rich gas gauging solution for single-cell battery pack applications. The device has extended capabilities, including:
The GPO pin can be optionally configured to read a second thermistor (using Temperature Enable) or it can be used as a digital output as a host interrupt signal. The pin can be used for either purpose, but not both.
Class | Subclass | Name | Type | Min | Max | Default | Unit |
---|---|---|---|---|---|---|---|
Settings | Configuration | GPO Pin Config | H1 | 0x00 | 0x01 | 0x00 | Hex |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RSVD | RSVD | RSVD | RSVD | RSVD | RSVD | RSVD | HOSTINT_EN |
RSVD (Bits 7–1): Reserved. Do not use. | ||
HOSTINT_EN (Bit 0): Use the pin for output of a host interrupt signal | ||
1 = | Enabled | |
0 = | Disabled (default) | |
By default, neither option is selected.
If one of the options is selected, see the appropriate chapter for either temperature measurement or host interrupts.
The BQ27Z746-R1 gauge contains an integrating analog-to-digital converter (ADC) for current measurement and a second order delta-sigma ADC for cell voltage and temperature measurements.
The integrating delta-sigma ADC in the gauge measures the charge/discharge flow of the battery by measuring the voltage drop across a small-value sense resistor between the SRP and SRN pins. The 16-bit integrating ADC measures bipolar signals from –0.10 V to 0.10 V with 3.74-µV resolution. The gauge reports charge activity when VSR = V(SRP) – V(SRN) is positive, and discharge activity when VSR = V(SRP) – V(SRN) is negative. This data is scaled and translated into mA using CC Gain and reported through Current(). The gauge uses this information for gauging and lifetime data logging functions. In NORMAL and SLEEP modes, the gauge continuously monitors the measured current and integrates the digital signal over time using an internal coulomb counter, which is also used for gauging.
In addition, the integrating ADC is sampled during voltage measurements and converted to mA in the same manner. This data is used for gauging (but not coulomb counting) and reported through Cell 1 Current in DAStatus1().
The second order delta-sigma ADC in the gauge measures the cell voltage at 1-s intervals in NORMAL mode, and Voltage Time-second intervals in SLEEP mode. This data is scaled and translated into mV using Cell Gain and reported through Voltage(). The gauge uses this information for gauging and lifetime data logging functions.
The second order delta-sigma ADC in the gauge measures the pack voltage (at the PACK pin) at 1-s intervals in NORMAL mode, and Voltage Time-second intervals in SLEEP mode. This data is scaled and translated into mV using Pack Gain and reported through PACK pin voltage in DAStatus1(). The gauge uses this information for entry to SHUTDOWN mode, zero-volt charging, and BUFFER mode for the battery sensing output.
The second order delta-sigma ADC in the gauge measures internal temperature at 1-s intervals in NORMAL mode and Voltage Time-second intervals in SLEEP mode. This data is translated into 0.1 K using the parameters in Internal Temp Model and reported through InternalTemperature(). The internal temperature can be used for gauging and lifetime data logging functions, and reported through Temperature() if Temperature Enable[TSInt] = 1.
The second order delta-sigma ADC in the gauge measures cell temperature via an external thermistor at 1-s intervals in NORMAL mode and Voltage Time-second intervals in SLEEP mode. This data is translated into 0.1 K using the parameters in Cell Temp Model and reported through Temperature() if Temperature Enable[TS1] = 1. The cell temperature can be used for gauging and lifetime data logging functions if Temperature Enable[TS1] = 1.
The cell temperature measurement requires an external 10-kΩ negative temperature coefficient (NTC) thermistor, such as the Semitec 103AT–2, connected between VSS and the TS pin.
The GPO pin can be configured to provide an additional temperature sensor. The default for the sensor is Semitec 103AT NTC thermistor. The thermistor is connected between Vss and the GPO when this configuration is used. This additional sensor can be configured as either a FET temperature sensor or an additional cell temperature sensor.
The following data flash parameter enables/disables the available temperature sensor options.
Class | Subclass | Name | Type | Min | Max | Default | Description |
---|---|---|---|---|---|---|---|
Settings | Configuration | Temperature Enable | H1 | 0x00 | 0x0F | 0x02 | Determines whether the internal temperature (TSInt) or the external temperature (TS1 on TS pin) is reported with Temperature(). Bit 0: TSInt—Enables internal TS Bit 1: TS1—Enables external TS pin 0, 0: Neither enabled, Temperature() reports –273.2K. 0, 1: Enables internal TS, Temperature() reports the internal temperature. 1, 0: Enables TS1, Temperature() reports the value determined by the thermistor on the TS pin. 1, 1: TSInt and TS1 are enabled, Temperature() reports the higher of the two values. Bit 2: TS2—Selected for a second thermistor on the GPO pin for temperature measurement reported as TS2 Temperature. Enable only if GPO Pin Config[HOSTINT_EN] = 0. Additionally, when Bit 3:TS2FET is set, the gauge uses the second thermistor as a FET temperature measurement reported as FET Temperature. Otherwise, the second thermistor is used for Temperature(), where the highest value of all enabled sources is reported and FET Temperature reports –273.2 K. |
The BQ27z746-R1 provides two levels of protection. The first level of protection is firmware based and is backed up by a second hardware based level of protection. The hardware protections have precedence over the firmware protections.
The device has five hardware-based protections—HCUV, HCOV, HOCC, HOCD, and HSCD—with adjustable threshold and delay time. The threshold settings are in mV; therefore, for current-based protections, the actual current that triggers the protection is based on the RSENSE used in the schematic design.
In general, when a fault is detected after the Delay time, the CHG and DSG FETs are disabled (Trip stage). Because both FETs are off, the current drops to 0 mA. After Recovery time, the CHG and DSG FETs are turned on again (Recovery stage).
The device has a hardware-based cell undervoltage protection with adjustable threshold and delay time.
Status | Condition | Action |
---|---|---|
Normal | Voltage() > Protector UVP Threshold | SafetyStatus()[HCUV] = 0 |
Trip | Voltage() ≤ Protector UVP Threshold for Protector UVP Delay Time | SafetyStatus()[HCUV] = 1 OperationStatus()[XDSG] = 1 Turn off DSG FET |
Recovery | SafetyStatus()[HCUV] = 1 AND (Voltage() ≥HCUV:Recovery for HCUV:Recovery Delay in RELAX or DISCHARGE mode) OR (Voltage() ≥ HCUV:Recovery Chg for HCUV:Recovery Delay in CHARGE mode) | SafetyStatus()[HCUV] = 0 OperationStatus()[XDSG] = 0 |
The device has a hardware-based cell overvoltage protection with adjustable threshold and delay time.
Status | Condition | Action |
---|---|---|
Normal | Voltage() < Protector OVP Threshold | SafetyStatus()[HCOV] = 0 |
Trip | Voltage() ≥ Protector OVP Threshold for Protector OVP Delay Time | SafetyStatus()[HCOV] = 1 OperationStatus()[XCHG] = 1 Turn off CHG FET |
Recovery | SafetyStatus()[HCOV] = 1 AND Voltage() ≤ HCOV:Recovery for HCOV:Recovery Delay | SafetyStatus()[HCOV] = 0 OperationStatus()[XCHG] = 0 |
The device has a hardware-based overcurrent in discharge protection with adjustable current and delay time.
Status | Condition | Action |
---|---|---|
Normal | Current() > Protector OCD Threshold | SafetyStatus()[HOCD] = 0 |
Trip | Current() ≤ Protector OCD Threshold for Protector OCD Delay Time | SafetyStatus()[HOCD] = 1 OperationStatus()[XDSG] = 1 Turn off DSG FET |
Recovery | SafetyStatus()[HOCD] = 1 AND Current() ≥ HOCD:Recovery Thresholdfor HOCD:Recovery Delay time | SafetyStatus()[HOCD] = 0 OperationStatus()[XDSG] = 0 |
The device has a hardware-based overcurrent in charge protection with adjustable current and delay time.
Status | Condition | Action |
---|---|---|
Normal | Current() < Protector OCC Threshold | SafetyStatus()[HOCC] = 0 |
Trip | Current() ≥ Protector OCC Threshold for Protector OCC Delay Time | SafetyStatus()[HOCC] = 1 OperationStatus()[XCHG] = 1 Turn off CHG FET |
Recovery | SafetyStatus()[HOCC] = 1 AND Current() ≤ HOCC:Recovery Threshold for HOCC:Recovery Delay time | SafetyStatus()[HOCC] = 0 OperationStatus()[XCHG] = 0 |
The device has a hardware-based short circuit in discharge protection with adjustable current and delay time.
Status | Condition | Action |
---|---|---|
Normal | Current() > Protector SCD Threshold | SafetyStatus()[HSCD] = 0 |
Trip | Current() ≤ Protector SCD Threshold for Protector SCD Delay Time | SafetyStatus()[HSCD] = 1 OperationStatus()[XDSG] = 1 Turn off DSG FET |
Recovery | SafetyStatus()[HSCD] = 1 AND Current() ≥ HSCD:Recovery Threshold for HSCD:Recovery time | SafetyStatus()[HSCD] = 0 OperationStatus()[XDSG] = 0 |
An area of data flash at memory address 0x4020 is reserved for storing the threshold targets for the hardware-based protections. Updates to these data flash parameters must be done manually and do not impact operation of the hardware-based protections. Instead, these parameters provide a record of any changes made from the factory settings and provide an easy to read format of the threshold targets. Field Config can be used as an identifier for a specific combination of threshold targets to differentiate certain pack configurations.
Class | Subclass | Name | Type | Min | Max | Default | Unit | Description |
---|---|---|---|---|---|---|---|---|
Protections | HW Threshold Targets | OVP | U2 | 2000 | 5000 | 4525 | mV | Threshold target for cell voltage for hardware-based OVP |
Protections | HW Threshold Targets | UVP | U2 | 2000 | 4000 | 2300 | mV | Threshold target for cell voltage for hardware-based UVP |
Protections | HW Threshold Targets | OCC | I2 | 0 | 1000 | 140 | 0.1 mV | Threshold target for voltage across the sense resistor for hardware-based OCC |
Protections | HW Threshold Targets | OCD | I2 | –1000 | 0 | –160 | 0.1 mV | Threshold target for voltage across the sense resistor for hardware-based OCD |
Protections | HW Threshold Targets | SCD | I2 | –1000 | 0 | –200 | 0.1 mV | Threshold target for voltage across the sense resistor for hardware-based SCD |
Protections | HW Threshold Targets | I-Wake | I2 | –1000 | 0 | –20 | 0.1 mV | Threshold target for voltage across the sense resistor for hardware-based I-Wake |
Protections | HW Threshold Targets | BDP | I2 | –1000 | 0 | –200 | mV | Threshold target for voltage between BAT and BAT_SP for hardware-based BDP |
Protections | HW Threshold Targets | BCP | I2 | 0 | 1000 | 200 | mV | Threshold target for voltage between BAT and BAT_SP for hardware-based BCP |
Protections | HW Threshold Targets | BDN | I2 | –1000 | 0 | –200 | mV | Threshold target for voltage between VSS and BAT_SN for hardware-based BDN |
Protections | HW Threshold Targets | BCN | I2 | 0 | 1000 | 200 | mV | Threshold target for voltage between VSS and BAT_SN for hardware-based BCN |
Protections | HW Threshold Targets | Field Cal | U2 | 0x0000 | 0xFFFF | 0x0000 | Hex | Flags to indicate which target thresholds have been modified from factory settings |
Protections | HW Threshold Targets | Field Config | U1 | 0x00 | 0xFF | 0x00 | Hex | Numeric identifier for a set of target thresholds for hardware-based protections |
Firmware cannot override any hardware based protection. The firmware protections are used to signal impending hardware protection. This can allow a host system to respond to conditions before hardware protection opens a FET. Some of the firmware protection can be programmed to open a FET. Every firmware protection has two associated signals. When a threshold violation is detected the associated status bit is set. Each threshold has an associated timer. If the timer expires an associated status bit is set. If the status bit has an active associated FET control action, that action will be taken when the status bit is set. All firmware based protections have an associated recovery threshold.
When the protection is triggered, charging and/or discharging is disabled. This is indicated by the OperationStatus()[XCHG] = 1 when charging is disabled (the CHG FET is turned OFF), and/or the OperationStatus()[XDSG] = 1 when discharging is disabled (DSG FET is turned OFF). Once the protection is recovered, charging and discharging resume. All firmware-based protections can be enabled or disabled under Settings:Enabled Protections A, Settings:Enabled Protections B, Settings:Enabled Protections C, and Settings:Enabled Protections D. All hardware-based protections are either enabled or disabled, which is based on the configuration image stored in secure memory.
To protect the DSG FET body diode, the DSG FET will always be closed when Current() ≥ Chg Current Threshold, including when OperationStatus()[XDSG] = 1. Likewise, to protect the CHG FET body diode, the CHG FET will always be closed when Current() ≤ (–)Dsg Current Threshold, including when OperationStatus()[XCHG] = 1. Setting FET Options[IWAKE_FET] = 1 configures the device to protect the body diode of the CHG FET during low power modes such as SLEEP and SHIP when the hardware-based IWAKE threshold is surpassed. This is because the IWAKE threshold can only be configured to detect discharge current.
When the protections are triggered, BatteryStatus()[TCA][TDA][FD][OCA][OTA] is set according to the type of safety protections. Section 12.10 provides a summary of the various alarms flags' set conditions.
Delay settings with 1-s granularity can have an average trigger delay equal to the delay setting plus 1.8 s.
The device can detect cell undervoltage in batteries and protect cells from damage by preventing further discharge.
Status | Condition | Action | ||
---|---|---|---|---|
Normal | Voltage() > CUV:Threshold | SafetyAlert()[CUV] = 0 BatteryStatus()[TDA] = 0 | ||
Alert | Voltage() ≤ CUV:Threshold | SafetyAlert()[CUV] = 1 BatteryStatus()[TDA] = 1 | ||
Trip | Voltage() ≤ CUV:Threshold for CUV:Delay duration | SafetyAlert()[CUV] = 0 SafetyStatus()[CUV] = 1 BatteryStatus()[FD] = 1, [TDA] = 0 OperationStatus()[XDSG] = 1 | ||
Recovery | Condition 1: SafetyStatus()[CUV] = 1 AND Voltage() ≥ CUV:Recovery for CUV:Recovery Delay AND Protection Configuration[CUV_RECOV_CHG] = 0 | SafetyStatus()[CUV] = 0 BatteryStatus()[FD] = 0, [TDA] = 0 OperationStatus()[XDSG] = 0 | ||
OR Condition 2: SafetyStatus()[CUV] = 1 AND Voltage() ≥ CUV:Recovery for CUV:Recovery Delay AND Protection Configuration[CUV_RECOV_CHG] = 1 AND Charging detected (that is, BatteryStatus()[DSG] = 0) |
The device can detect cell overvoltage in batteries and protect cells from damage by preventing further charge.
Status | Condition | Action |
---|---|---|
Normal,
ChargingStatus()[UT] or [LT] = 1 | Voltage() < COV:Threshold Low Temp | SafetyAlert()[COV] = 0 |
Normal,
ChargingStatus()[STL] or [STH] = 1 | Voltage() < COV:Threshold Standard Temp | |
Normal,
ChargingStatus()[RT] = 1 | Voltage() < COV:Threshold Rec Temp | |
Normal,
ChargingStatus()[HT] or [OT] = 1 | Voltage() < COV:Threshold High Temp | |
Alert,
ChargingStatus()[UT] or [LT] = 1 | Voltage() ≥ COV:Threshold Low Temp | SafetyAlert()[COV] = 1 BatteryStatus()[TCA] = 1 |
Alert,
ChargingStatus()[STL] or [STH] = 1 | Voltage() ≥ COV:Threshold Standard Temp | |
Alert,
ChargingStatus()[RT] = 1 | Voltage() ≥ COV:Threshold Rec Temp | |
Alert,
ChargingStatus()[HT] or [OT] = 1 | Voltage() ≥ COV:Threshold High Temp | |
Trip,
ChargingStatus()[UT] or [LT] = 1 | Voltage() ≥ COV:Threshold Low Temp for COV:Delay duration | SafetyAlert()[COV] = 0 SafetyStatus()[COV] = 1 BatteryStatus()[TCA] = 0 OperationStatus()[XCHG] = 1 |
Trip,
ChargingStatus()[STL] or [STH] = 1 | Voltage() ≥ COV:Threshold Standard Temp for COV:Delay duration | |
Trip,
ChargingStatus()[RT] = 1 | Voltage() ≥ COV:Threshold Rec Temp for COV:Delay duration | |
Trip,
ChargingStatus()[HT] or [OT] = 1 | Voltage() ≥ COV:Threshold High Temp for COV:Delay duration | |
Recovery,
ChargingStatus()[UT] or [LT] = 1 | SafetyStatus()[COV] = 1 AND Voltage() ≤ COV:Recovery Low Temp for COV:Recovery Delay | SafetyStatus()[COV] = 0 BatteryStatus()[TCA] = 0 OperationStatus()[XCHG] = 0 |
Recovery,
ChargingStatus()[STL] or [STH] = 1 | SafetyStatus()[COV] = 1 AND Voltage() ≤ COV:RecoveryStandard Temp for COV:Recovery Delay | |
Recovery,
ChargingStatus()[RT] = 1 | SafetyStatus()[COV] = 1 AND Voltage() ≤ COV:Recovery Rec Temp for COV:Recovery Delay | |
Recovery,
ChargingStatus()[HT] or [OT] = 1 | SafetyStatus()[COV] = 1 AND Voltage() ≤ COV:Recovery High Temp for COV:Recovery Delay |
To protect cells from damage due to unsafe charge currents, the device can detect overcurrent events and disable the CHG FET.
Status | Condition | Action |
---|---|---|
Normal | Current() < OCC:Threshold | SafetyAlert()[OCC] = 0 |
Alert | Current() ≥ OCC:Threshold | SafetyAlert()[OCC] = 1 BatteryStatus()[TCA] = 1 |
Trip | Current() ≥ OCC:Threshold for OCC:Delay duration | SafetyAlert()[OCC] = 0 SafetyStatus()[OCC] = 1 BatteryStatus()[TCA] = 0 OperationStatus()[XCHG] = 1 |
Recovery | [SafetyStatus()[OCC] = 1 AND Current() ≤ OCC:Recovery Threshold for OCC:Recovery Delay time | SafetyStatus()[OCC] = 0 BatteryStatus()[TCA] = 0 OperationStatus()[XCHG] = 0 |
To protect cells from damage due to unsafe load currents, the device can detect overcurrent events and disable the DSG FET.
Status | Condition | Action |
---|---|---|
Normal | Current() > OCD:Threshold | SafetyAlert()[OCD] = 0 |
Alert | Current() ≤ OCD:Threshold | SafetyAlert()[OCD] = 1 BatteryStatus()[TDA] = 1 |
Trip | Current() ≤ OCD:Threshold for OCD:Delay duration | SafetyAlert()[OCD] = 0 SafetyStatus()[OCD] = 1 BatteryStatus()[TDA] = 0 OperationStatus()[XDSG] = 1 |
Recovery | [SafetyStatus()[OCD] = 1 AND Current() ≥ OCD:Recovery Threshold for OCD:Recovery Delay time | SafetyStatus()[OCD] = 0 BatteryStatus()[TDA] = 0 OperationStatus()[XDSG] = 0 |
The device provides overtemperature and undertemperature protections based on cell temperature measurement. The cell temperature-based protections are further divided into CHARGE and DISCHARGE conditions. This section describes in detail each of the protection functions.
The device supports up to two external thermistors and one internal temperature sensor for measuring temperature. Unused temperature sensors must be disabled by clearing the corresponding flag in Settings:Temperature Enable[TS2][TS1][TSInt].
The Temperature() command returns the cell temperature measurement, which is the maximum of the enabled temperature sensors.
AltManufacturerBlockAccess() command DAStatus2() returns all the temperature measurements.
The cell-based overtemperature and undertemperature safety provide protections in CHARGE and DISCHARGE conditions. The battery pack is in CHARGE mode when BatteryStatus()[DSG] = 0, where Current() > Chg Current Threshold. The overtemperature and undertemperature in charging protections are active in this mode. The BatteryStatus()[DSG] is set to 1 in a NON-CHARGE mode condition, which includes RELAX and DISCHARGE modes. The overtemperature and undertemperature in discharge protections are active in these two modes. See Section 8.6 for detailed descriptions of the gas gauge modes.
The device has an overtemperature protection for cells in CHARGE state (that is, charging state with BatteryStatus[DSG] = 0).
Status | Condition | Action |
---|---|---|
Normal | Temperature()<OTC:Threshold OR not charging | SafetyAlert()[OTC] = 0 |
Alert | Temperature()≥OTC:Threshold AND charging | SafetyAlert()[OTC] = 1 BatteryStatus()[TCA] = 1 |
Trip | Temperature() ≥ OTC:Threshold AND charging for OTC:Delay duration | SafetyAlert()[OTC] = 0 SafetyStatus()[OTC] = 1 BatteryStatus()[OTA] = 1 BatteryStatus()[TCA] = 0 OperationStatus()[XCHG] = 1 |
Recovery | SafetyStatus()[OTC] AND Temperature() ≤ OTC:Recovery | SafetyStatus()[OTC] = 0 BatteryStatus()[OTA] = 0 BatteryStatus()[TCA] = 0 OperationStatus()[XCHG] = 0 |
The device has an overtemperature protection for cells in DISCHARGE or RELAX state (that is, non-charging state with BatteryStatus[DSG] = 1).
Status | Condition | Action |
---|---|---|
Normal | Temperature()<OTD:Threshold OR charging | SafetyAlert()[OTD] = 0 |
Alert | Temperature()≥OTD:Threshold AND not charging (that is, BatteryStatus[DSG] = 1) | SafetyAlert()[OTD] = 1 BatteryStatus()[TDA] = 1 |
Trip | Temperature() ≥ OTD:Threshold AND not charging (that is, BatteryStatus[DSG] = 1) for OTD:Delay duration | SafetyAlert()[OTD] = 0 SafetyStatus()[OTD] = 1 BatteryStatus()[OTA] = 1 OperationStatus()[XDSG] = 1 BatteryStatus()[TDA] = 0 |
Recovery | SafetyStatus()[OTD] AND Temperature() ≤ OTD:Recovery | SafetyStatus()[OTD] = 0 BatteryStatus()[OTA] = 0 OperationStatus()[XDSG] = 0 BatteryStatus()[TDA] = 0 |
The device has an undertemperature protection for cells in CHARGE state (that is, charging state with BatteryStatus[DSG] = 0).
Status | Condition | Action |
---|---|---|
Normal | Temperature() > UTC:Threshold OR not charging | SafetyAlert()[UTC] = 0 |
Alert | Temperature() ≤ UTC:Threshold AND charging | SafetyAlert()[UTC] = 1 |
Trip | Temperature() ≤ UTC:Threshold AND charging for UTC:Delay duration | SafetyAlert()[UTC] = 0 SafetyStatus()[UTC] = 1 OperationStatus()[XCHG] = 1 |
Recovery | SafetyStatus()[UTC] AND Temperature() ≥ UTC:Recovery | SafetyStatus()[UTC] = 0 OperationStatus()[XCHG] = 0 |
The device has an undertemperature protection for cells in DISCHARGE or RELAX state (that is, non-charging state with BatteryStatus[DSG] = 1).
Status | Condition | Action |
---|---|---|
Normal | Temperature() > UTD:Threshold OR charging | SafetyAlert()[UTD] = 0 |
Alert | Temperature()≤UTD:Threshold AND not charging (that is, BatteryStatus[DSG] = 1) | SafetyAlert()[UTD] = 1 |
Trip | Temperature() ≤ UTD:Threshold AND not charging (that is, BatteryStatus[DSG] = 1) for UTD:Delay duration | SafetyAlert()[UTD] = 0 SafetyStatus()[UTD] = 1 OperationStatus()[XDSG] = 1 |
Recovery | SafetyStatus()[UTD] AND Temperature() ≥ UTD:Recovery | SafetyStatus()[UTD] = 0 BatteryStatus()[OTA] = 0 OperationStatus()[XDSG] = 0 |
The device can measure the precharge time and stop charging if the precharge time exceeds the adjustable period.
Status | Condition | Action |
---|---|---|
Enable | Current() > PTO:Charge Threshold AND ChargingStatus()[PV] = 1 | Start PTO timer SafetyAlert()[PTOS] = 0 |
Suspend or Recovery | Current() < PTO:Suspend Threshold | Stop PTO timer SafetyAlert()[PTOS] = 1 |
Trip | PTO timer > PTO:Delay | Stop PTO timer SafetyStatus()[PTO] = 1 OperationStatus()[XCHG] = 1 |
Reset | (SafetyAlert()[PTOS] = 1 OR SafetyStatus()[PTO] = 1) AND Discharge by an amount of PTO:Reset | Stop and reset PTO timer SafetyAlert()[PTOS] = 0 SafetyStatus()[PTO] = 0 OperationStatus()[XCHG] = 0 |
The device can measure the charge time and stop charging if the charge time exceeds the adjustable period.
Status | Condition | Action |
---|---|---|
Enable | Current() > CTO:Charge Threshold AND (ChargingStatus()[LV] = 1 OR ChargingStatus()[MV] = 1 OR ChargingStatus()[HV] = 1) | Start CTO timer SafetyAlert()[CTOS] = 0 |
Suspend or Recovery | Current() < CTO:Suspend Threshold | Stop CTO timer SafetyAlert()[CTOS] = 1 |
Trip | CTO time > CTO:Delay | Stop CTO timer SafetyStatus()[CTO] = 1 OperationStatus()[XCHG] = 1 |
Reset | (SafetyAlert()[CTOS] = 1 OR SafetyStatus()[CTO] = 1) AND Discharge by an amount of CTO:Reset | Stop and reset CTO timer SafetyAlert()[CTOS] = 0 SafetyStatus()[CTO] = 0 OperationStatus()[XCHG] = 0 |
Class | Subclass | Name | Type | Min | Max | Default | Unit |
---|---|---|---|---|---|---|---|
Settings | Protection | Protection Configuration | H2 | 0x00 | 0x02 | 0x00 | Hex |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RSVD | RSVD | RSVD | RSVD | RSVD | RSVD | CUV_RECOV_CHG | RSVD |
RSVD (Bits 7–2): Reserved. Do not use. | ||
CUV_RECOV_CHG (Bit 1): Require charge to recover SafetyStatus()[CUV] | ||
1 = | Enabled | |
0 = | Disabled (default) | |
RSVD (Bit 0): Reserved. Do not use. |
Class | Subclass | Name | Type | Min | Max | Default | Unit |
---|---|---|---|---|---|---|---|
Settings | Protection | Enabled Protections A | H2 | 0x00 | 0xFF | 0x57 | Hex |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RSVD | RSVD_1 | RSVD | OCD | RSVD | OCC | COV | CUV |
RSVD (Bit 7): Reserved. Do not use. | ||
RSVD_1 (Bit 6): Reserved and programmed to 1 for proper operation. Do not use. | ||
RSVD (Bit 5): Reserved. Do not use. | ||
OCD (Bit 4): Overcurrent in Discharge | ||
1 = | Enabled (default) | |
0 = | Disabled | |
RSVD (Bit 3): Reserved. Do not use. | ||
OCC (Bit 2): Overcurrent in Charge | ||
1 = | Enabled (default) | |
0 = | Disabled | |
COV (Bit 1): Cell Overvoltage | ||
1 = | Enabled (default) | |
0 = | Disabled | |
CUV (Bit 0): Cell Undervoltage | ||
1 = | Enabled (default) | |
0 = | Disabled |
Class | Subclass | Name | Type | Min | Max | Default | Unit |
---|---|---|---|---|---|---|---|
Settings | Protection | Enabled Protections B | H2 | 0x00 | 0xFF | 0x35 | Hex |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RSVD | RSVD | OTD | OTC | RSVD | RSVD_1 | RSVD | RSVD_1 |
RSVD (Bits 7–6): Reserved. Do not use. | ||
OTD (Bit 5): Overtemperature in discharge | ||
1 = | Enabled (default) | |
0 = | Disabled | |
OTC (Bit 4): Overtemperature in charge | ||
1 = | Enabled (default) | |
0 = | Disabled | |
RSVD (Bit 3): Reserved. Do not use. | ||
RSVD_1 (Bit 2): Reserved and programmed to 1 for proper operation. Do not use. | ||
RSVD (Bit 1): Reserved. Do not use. | ||
RSVD_1 (Bit 0): Reserved and programmed to 1 for proper operation. Do not use. |
Class | Subclass | Name | Type | Min | Max | Default | Unit |
---|---|---|---|---|---|---|---|
Settings | Protection | Enabled Protections C | H1 | 0x00 | 0xFF | 0x14 | Hex |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RSVD | RSVD | RSVD | CTO | RSVD | PTO | RSVD | RSVD |
RSVD (Bits 7–5): Reserved. Do not use. | ||
CTO (Bit 4): Charging timeout | ||
1 = | Enabled (default) | |
0 = | Disabled | |
RSVD (Bit 3): Reserved. Do not use. | ||
PTO (Bit 2): Precharging timeout | ||
1 = | Enabled (default) | |
0 = | Disabled | |
RSVD (Bits 1–0): Reserved. Do not use. |
Class | Subclass | Name | Type | Min | Max | Default | Unit |
---|---|---|---|---|---|---|---|
Settings | Protection | Enabled Protections D | H1 | 0x00 | 0xFF | 0xCC | Hex |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RSVD_1 | RSVD_1 | RSVD | RSVD | UTD | UTC | RSVD | RSVD |
RSVD_1 (Bit 7): Reserved and programmed to 1 for proper operation. Do not use. | ||
RSVD_1 (Bit 6): Reserved and programmed to 1 for proper operation. Do not use. | ||
RSVD (Bits 5–4): Reserved. Do not use. | ||
UTD (Bit 3): Undertemperature While Not Charging | ||
1 = | Enabled (default) | |
0 = | Disabled | |
UTC (Bit 2): Undertemperature While Charging | ||
1 = | Enabled (default) | |
0 = | Disabled | |
RSVD (Bits 1–0): Reserved. Do not use. |
Class | Subclass | Name | Type | Min | Max | Default | Unit |
---|---|---|---|---|---|---|---|
Settings | Configuration | FET Options | H2 | 0x0000 | 0x01FF | 0x0142 | Hex |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RSVD | RSVD | RSVD | RSVD | RSVD | RSVD | RSVD | IWAKE_FET |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RSVD | SLEEPCHG | CHGFET | CHGIN | CHGSU | OTFET | UTFET | RSVD |
RSVD (Bits 15–9): Reserved. Do not use. | ||
IWAKE_FET (Bit 8): CHG FET body diode protection for IWAKE | ||
1 = | CHG FET turns on for IWAKE (default) | |
0 = | CHG FET unchanged for IWAKE | |
RSVD (Bit 7): Reserved. Do not use. | ||
SLEEPCHG (Bit 6): CHG FET enabled during SLEEP | ||
1 = | CHG FET remains on during SLEEP (default) | |
0 = | CHG FET off during SLEEP | |
CHGFET (Bit 5): FET action on setting of GaugeStatus()[TC] | ||
1 = | Charging disabled, FET off | |
0 = | No FET action for terminate charge condition (default) | |
CHGIN (Bit 4): FET action in CHARGE INHIBIT mode | ||
1 = | Charging disabled, FET off | |
0 = | No FET action for charge inhibit condition (default) | |
CHGSU (Bit 3): FET action in CHARGE SUSPEND mode | ||
1 = | Charging disabled, FET off | |
0 = | No FET action for charge suspend condition (default) | |
OTFET (Bit 2): FET action in OVERTEMPERATURE mode. Bit is ignored when there is no FET temperature sensor configured. | ||
1 = | CHG and DSG FETs will be turned off for overtemperature conditions | |
0 = | No FET action for overtemperature condition (default) | |
UTFET (Bit 1): FET action in UNDERTEMPERATURE mode. Bit is ignored when there is no FET temperature sensor configured. | ||
1 = | CHG and DSG FETs will be turned off for undertemperature conditions (default) | |
0 = | No FET action for undertemperature condition | |
RSVD (Bit 0): Reserved. Do not use. |
Class | Subclass | Name | Type | Min | Max | Default | Unit | Description |
---|---|---|---|---|---|---|---|---|
Protections | CUV | Threshold | I2 | 0 | 32767 | 2500 | mV | Cell undervoltage trip threshold |
Protections | CUV | Delay | U1 | 0 | 255 | 1 | s | Cell undervoltage trip delay |
Protections | CUV | Recovery | I2 | 0 | 32767 | 2900 | mV | Cell undervoltage recovery threshold |
Protections | CUV | Recovery Delay | U1 | 0 | 255 | 1 | s | Cell undervoltage recovery delay |
Class | Subclass | Name | Type | Min | Max | Default | Unit | Description |
---|---|---|---|---|---|---|---|---|
Protections | HCUV | Recovery | I2 | 0 | 32767 | 2900 | mV | Hardware Cell Undervoltage recovery threshold in RELAX or DISCHARGE mode |
Protections | HCUV | Recovery Chg | I2 | 0 | 32767 | 2520 | mV | Hardware Cell Undervoltage recovery threshold in CHARGE mode |
Protections | HCUV | Recovery Delay | U1 | 0 | 255 | 1 | s | Hardware Cell Undervoltage recovery delay |
Class | Subclass | Name | Type | Min | Max | Default | Unit | Description |
---|---|---|---|---|---|---|---|---|
Protections | COV | Threshold Low Temp | I2 | 0 | 32767 | 4490 | mV | Cell overvoltage low temperature range threshold |
Protections | COV | Threshold Standard Temp Low | I2 | 0 | 32767 | 4490 | mV | Cell overvoltage standard low temperature range threshold |
Protections | COV | Threshold Standard Temp High | I2 | 0 | 32767 | 4490 | mV | Cell overvoltage standard high temperature range threshold |
Protections | COV | Threshold High Temp | I2 | 0 | 32767 | 4490 | mV | Cell overvoltage high temperature range threshold |
Protections | COV | Threshold Rec Temp | I2 | 0 | 32767 | 4490 | mV | Cell overvoltage recommended temperature range threshold |
Protections | COV | Delay | U1 | 0 | 255 | 1 | s | Cell overvoltage trip delay |
Protections | COV | Recovery Low Temp | I2 | 0 | 32767 | 4290 | mV | Cell overvoltage low temperature range recovery threshold |
Protections | COV | Recovery Standard Temp Low | I2 | 0 | 32767 | 4290 | mV | Cell overvoltage standard low temperature recovery range threshold |
Protections | COV | Recovery Standard Temp High | I2 | 0 | 32767 | 4290 | mV | Cell overvoltage standard high temperature recovery range threshold |
Protections | COV | Recovery High Temp | I2 | 0 | 32767 | 4290 | mV | Cell overvoltage high temperature range recovery threshold |
Protections | COV | Recovery Rec Temp | I2 | 0 | 32767 | 4290 | mV | Cell overvoltage recommended temperature range recovery threshold |
Protections | COV | Recovery Delay | U1 | 0 | 255 | 1 | s | Cell overvoltage recovery delay |
Class | Subclass | Name | Type | Min | Max | Default | Unit | Description |
---|---|---|---|---|---|---|---|---|
Protections | HCOV | Recovery | I2 | 0 | 32767 | 4290 | mV | Hardware Cell Overvoltage recovery threshold |
Protections | HCOV | Recovery Delay | U1 | 0 | 255 | 1 | s | Hardware Cell Overvoltage recovery delay |
Class | Subclass | Name | Type | Min | Max | Default | Unit | Description |
---|---|---|---|---|---|---|---|---|
Protections | OCC | Threshold | I2 | –32768 | 32767 | 12000 | mA | Overcurrent in Charge trip threshold |
Protections | OCC | Delay | U1 | 0 | 255 | 1 | s | Overcurrent in Charge trip delay |
Protections | OCC | Recovery Threshold | I2 | –32768 | 32767 | 200 | mA | Overcurrent in Charge recovery threshold |
Protections | OCC | Recovery Delay | U1 | 0 | 255 | 10 | s | Overcurrent in Charge recovery delay |
Class | Subclass | Name | Type | Min | Max | Default | Unit | Description |
---|---|---|---|---|---|---|---|---|
Protections | HOCC | Recovery Threshold | I2 | -32768 | 32767 | 200 | mA | Hardware Overcurrent in Charge recovery threshold |
Protections | HOCC | Recovery Delay | U1 | 0 | 255 | 70 | s | Hardware Overcurrent in Charge recovery delay |
Class | Subclass | Name | Type | Min | Max | Default | Unit | Description |
---|---|---|---|---|---|---|---|---|
Protections | OCD | Threshold | I2 | –32768 | 32767 | –7000 | mA | Overcurrent in Discharge trip threshold |
Protections | OCD | Delay | U1 | 0 | 255 | 3 | s | Overcurrent in Discharge trip delay |
Protections | OCD | Recovery Threshold | I2 | –32768 | 32767 | -200 | mA | Overcurrent in Discharge recovery threshold |
Protections | OCD | Recovery Delay | U1 | 0 | 255 | 10 | s | Overcurrent in Discharge recovery delay |
Class | Subclass | Name | Type | Min | Max | Default | Unit | Description |
---|---|---|---|---|---|---|---|---|
Protections | HOCD | Recovery Threshold | I2 | -32768 | 32767 | -200 | mA | Hardware Overcurrent in Discharge recovery threshold |
Protections | HOCD | Recovery Delay | U1 | 0 | 255 | 70 | s | Hardware Overcurrent in Discharge recovery delay |
Class | Subclass | Name | Type | Min | Max | Default | Unit | Description |
---|---|---|---|---|---|---|---|---|
Protections | HSCD | Recovery Threshold | I2 | –32768 | 32767 | –200 | mA | Short Circuit in Discharge recovery threshold |
Protections | HSCD | Recovery Delay | U1 | 0 | 255 | 7 | s | Short Circuit in Discharge recovery delay |
Class | Subclass | Name | Type | Min | Max | Default | Unit | Description |
---|---|---|---|---|---|---|---|---|
Protections | OTC | Threshold | I2 | –400 | 1500 | 550 | 0.1°C | Overtemperature in Charge trip threshold |
Protections | OTC | Delay | U1 | 0 | 255 | 2 | s | Overtemperature in Charge Cell trip delay |
Protections | OTC | Recovery | I2 | –400 | 1500 | 500 | 0.1°C | Overtemperature in Charge Cell recovery threshold |
Class | Subclass | Name | Type | Min | Max | Default | Unit | Description |
---|---|---|---|---|---|---|---|---|
Protections | OTD | Threshold | I2 | –400 | 1500 | 600 | 0.1°C | Overtemperature in Discharge trip threshold |
Protections | OTD | Delay | U1 | 0 | 255 | 2 | s | Overtemperature in Discharge trip delay |
Protections | OTD | Recovery | I2 | –400 | 1500 | 550 | 0.1°C | Overtemperature in Discharge recovery threshold |
Class | Subclass | Name | Type | Min | Max | Default | Unit | Description |
---|---|---|---|---|---|---|---|---|
Protections | UTC | Threshold | I2 | –400 | 1500 | 0 | 0.1°C | Undertemperature in Charge trip threshold |
Protections | UTC | Delay | U1 | 0 | 255 | 2 | s | Undertemperature in Charge Cell trip delay |
Protections | UTC | Recovery | I2 | –400 | 1500 | 50 | 0.1°C | Undertemperature in Charge Cell recovery threshold |
Class | Subclass | Name | Type | Min | Max | Default | Unit | Description |
---|---|---|---|---|---|---|---|---|
Protections | UTD | Threshold | I2 | –400 | 1500 | 0 | 0.1°C | Undertemperature in Discharge trip threshold |
Protections | UTD | Delay | U1 | 0 | 255 | 2 | s | Undertemperature in Discharge trip delay |
Protections | UTD | Recovery | I2 | –400 | 1500 | 50 | 0.1°C | Undertemperature in Discharge recovery threshold |
The BQ27Z746-R1 device can permanently disable the use of the battery pack in case of a significant failure. The permanent failure checks can be enabled or disabled individually by setting the appropriate bit in Settings:Enabled PF A and Settings: Enabled PF C. All permanent failure checks are disabled until ManufacturingStatus()[PF] is set. When any PFStatus() bit is set, the device enters PERMANENT FAIL mode and the following actions are taken in sequence:
Run lifetime data collection update.
Status | Condition | Action |
---|---|---|
Normal | Voltage() > SUV:Threshold | PFAlert()[SUV] = 0 BatteryStatus()[TDA] = 0 |
Alert | Voltage() ≤ SUV:Threshold | PFAlert()[SUV] = 1 BatteryStatus()[TDA] = 1 |
Trip | Voltage() ≤ SUV:Threshold for SUV:Delay duration | PFAlert()[SUV] = 0 PFStatus()[SUV] = 1 BatteryStatus()[FD] = 1 |
The BQ27Z746-R1 device can permanently disable the battery in the case of significant overvoltage on the cell.
Status | Condition | Action |
---|---|---|
Normal | Voltage() < SOV:Threshold | PFAlert()[SOV] = 0 |
Alert | Voltage()≥ SOV:Threshold | PFAlert()[SOV] = 1 BatteryStatus()[TCA] = 1 |
Trip | Voltage()≥ SOV:Threshold for SOV:Delay duration | PFAlert()[SOV] = 0 PFStatus()[SOV] = 1 |
The BQ27Z746-R1 device can permanently disable the battery pack in case the charge FET is not working properly.
Status | Condition | Action |
---|---|---|
Normal | CHG FET off AND Current() < CFET:OFF Threshold | PFAlert()[CFETF] = 0 |
Alert | CHG FET off AND Current() ≥ CFET:OFF Threshold | PFAlert()[CFETF] = 1 |
Trip | CHG FET off AND Current() ≥ CFET:OFF Threshold for CFET:OFF Delay duration | PFAlert()[CFETF] = 0 PFStatus()[CFETF] = 1 |
The BQ27Z746-R1 device can permanently disable the battery pack in case the discharge FET is not working properly.
Status | Condition | Action |
---|---|---|
Normal | DSG FET off AND Current() > DFET:OFF Threshold | PFAlert()[DFETF] = 0 |
Alert | DSG FET off AND Current() ≤ DFET:OFF Threshold | PFAlert()[DFETF] = 1 |
Trip | DSG FET off AND Current() ≤ DFET:OFF Threshold for DFET:OFF Delay duration | PFAlert()[DFETF] = 0 PFStatus()[DFETF] = 1 |
Class | Subclass | Name | Type | Min | Max | Default | Unit |
---|---|---|---|---|---|---|---|
Settings | Permanent Failure | Enabled PF A | H2 | 0x00 | 0xFF | 0x00 | Hex |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RSVD | RSVD | RSVD | RSVD | RSVD | RSVD | SOV | SUV |
RSVD (Bit 7-2): Reserved. Do not use. | ||
SOV (Bit 1): Safety Cell Overvoltage | ||
1 = | Enabled | |
0 = | Disabled (default) | |
SUV (Bit 0): Safety Cell Undervoltage | ||
1 = | Enabled | |
0 = | Disabled (default) |
Class | Subclass | Name | Type | Min | Max | Default | Unit |
---|---|---|---|---|---|---|---|
Settings | Permanent Failure | Enabled PF C | H2 | 0x00 | 0xFF | 0x00 | Hex |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RSVD | RSVD | RSVD | RSVD | RSVD | RSVD | DFETF | CFETF |
RSVD (Bit 7-2): Reserved. Do not use. | ||
CFETF (Bit 1): Discharge Fet Failure |
||
1 = | Enabled | |
0 = |
Disabled (default) |
|
DFETF (Bit 0): Charge Fet Failure |
||
1 = | Enabled | |
0 = |
Disabled (default) |
Class | Subclass | Name | Type | Min | Max | Default | Unit | Description |
---|---|---|---|---|---|---|---|---|
Permanent Fail | SUV | Threshold | I2 | 0 | 32767 | 2200 | mV | Safety cell undervoltage trip threshold |
Permanent Fail | SUV | Delay | U1 | 0 | 255 | 5 | s | Safety cell undervoltage trip delay |
Class | Subclass | Name | Type | Min | Max | Default | Unit | Description |
---|---|---|---|---|---|---|---|---|
Permanent Fail | SOV | Threshold | I2 | 0 | 32767 | 4500 | mV | Safety cell overvoltage trip threshold |
Permanent Fail | SOV | Delay | U1 | 0 | 255 | 5 | s | Safety cell overvoltage trip delay |
Class | Subclass | Name | Type | Min | Max | Default | Unit | Description |
---|---|---|---|---|---|---|---|---|
Permanent Fail | CFETF | Threshold | I2 | 0 | 500 | 5 | mA | Charge FET failure trip threshold |
Permanent Fail | CFETF | Delay | U1 | 0 | 255 | 5 | s | Charge FET failure trip delay |
Class | Subclass | Name | Type | Min | Max | Default | Unit | Description |
---|---|---|---|---|---|---|---|---|
Permanent Fail | DFETF | Threshold | I2 | -500 | 0 | -5 | mA | Discharge FET failure trip threshold |
Permanent Fail | DFETF | Delay | U1 | 0 | 255 | 5 | s | Discharge FET failure trip delay |
The cell voltage is buffered and output on the BAT_SP and BAT_SN pins with a configurable offset during a low voltage condition. This mode is known as buffer mode and it typically coincides with cell undervoltage protection (CUV), but is separate for added flexibility. The default voltage offset is 400 mV, but can be changed through Batt Sense Config[BUF_REF_1][BUF_REF_0]. In all other conditions, which include the buffer mode while the CHG FET is turned off, BAT_SN is connected to VSS and BAT_SP is connected to BAT through separate low resistors that are 510 OΩ or 200 Ω. The default resistance for these low resistors (RLO) is 510 Ω, but it can be changed through Batt Sense Config[RLO_SEL].
Class | Subclass | Name | Type | Min | Max | Default | Unit |
---|---|---|---|---|---|---|---|
Settings | Batt Sense | Batt Sense Config | H1 | 0x00 | 0xFF | 0x02 | Hex |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RSVD | RSVD | RSVD | RLO_SEL | RSVD | RSVD | BUF_REF_1 | BUF_REF_0 |
RSVD (Bits 7–5): Reserved. Do not use. | ||
RLO_SEL (Bit 4): Resistance of low resistors (RLO) | ||
1 = | 200 Ω | |
0 = | 510 Ω (default) | |
RSVD (Bits 3–2): Reserved. Do not use. | ||
BUF_REF_1, BUF_REF_0 (Bits 1–0): Voltage offset of buffers | ||
1, 1 = | 600 mV | |
1, 0 = | 400 mV (default) | |
0, 1 = | 200 mV | |
0, 0 = | 0 mV |
Class | Subclass | Name | Type | Min | Max | Default | Unit |
---|---|---|---|---|---|---|---|
Settings | Batt Sense | Batt Sense Options | H1 | 0x00 | 0x01 | 0x00 | Hex |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RSVD | RSVD | RSVD | RSVD | RSVD | RSVD | RSVD | XCHG_RLO |
RSVD (Bits 7–1): Reserved. Do not use. | ||
XCHG_RLO (Bit 0): Use RLO Mode when OperationStatusA()[XCHG] = 1 | ||
1 = | Use RLO Mode when OperationStatusA()[XCHG] = 1 | |
0 = | Use HIZ Mode when OperationStatusA()[XCHG] = 1 (default) |
In AUTOMATIC mode (BattSenseOutput()[MANUAL] = 0), the device controls the output on BAT_SP and BAT_SN based on discrete states, as defined below.
Value | State | BAT_SP | BAT_SN | |
---|---|---|---|---|
0 | HIZ Mode | BAT_SP connected to BAT through a 1- MΩ resistor | BAT_SN connected to VSS through a 1-MΩ resistor | |
1 | RLO Mode | BAT_SP connected to BAT through RLO | BAT_SN connected to VSS through RLO | |
2 | RLO Charge Mode | BAT_SP connected to BAT through RLO with option to include buffer with 0-mV offset | BAT_SN connected to VSS through RLO with option to include buffer with 0-mV offset | |
3 | Buffer Mode | BAT_SP connected to BAT through buffer with configured offset | BAT_SN connected to VSS through buffer with configured offset |
The configuration of BAT_SP and BAT_SN during initialization (before initial measurements complete and the CHG and DSG FETs are turned on) is either HIZ mode or BUFFERmode. The initial state is BUFFER mode when ZVCHG must be enabled, otherwise it is HIZ mode. After the initial set of measurements complete, the next state is determined by the entry or exit conditions of each state.
RLO mode is the standard state for automatic mode when not in a low voltage condition or charging at high current. In this mode, BAT_SN is connected to VSS and BAT_SP is connected to BAT through separate low resistors.
Status | Condition | Action |
---|---|---|
Activate | (OperationStatusA()[XCHG] = 1 AND Batt Sense Options[XCHG_RLO] = 1) OR (OperationStatusA()[XCHG] = 0 AND Current() < RLO Charge Threshold AND Not in Buffer Mode) | Enter RLO mode |
Exit | (OperationStatusA()[XCHG] = 1 AND Batt Sense Options[XCHG_RLO] = 0) OR (OperationStatusA()[XCHG] = 0 AND (Current() ≥ RLO Charge Threshold OR Enter Buffer Mode)) | Exit RLO mode |
RLO Charge mode is similar to RLO mode, except it includes the option to individually enable the buffer with 0-mV offset on BAT_SP and BAT_SN using RLO Charge Config. Enabling the buffer in RLO Charge mode is intended to reduce battery sensing error due to high charge currents through the RDS(on) of the CHG and DSG FETs and the parasitic resistance on the high and low sides of the battery.
Status | Condition | Action |
---|---|---|
Activate | OperationStatusA()[XCHG] = 0 AND Current() ≥ RLO Charge Threshold | Enter RLO Charge Mode |
Exit | OperationStatusA()[XCHG] = 1 OR Current() < RLO Charge Threshold | Exit RLO Charge Mode |
Class | Subclass | Name | Type | Min | Max | Default | Unit |
---|---|---|---|---|---|---|---|
Settings | Batt Sense | RLO Charge Threshold | I2 | 0 | 32767 | 75 | mA |
Settings | Batt Sense | RLO Charge Config | H1 | 0x00 | 0x0C | 0x0C | Hex |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RSVD | RSVD | RSVD | RSVD | BUF_P_EN | BUF_N_EN | RSVD | RSVD |
RSVD (Bits 7–4): Reserved. Do not use. | ||
BUF_P_EN (Bit 3): Buffer enable on BAT_SP during RLO Charge Mode | ||
1 = | Enable buffer with 0-mV offset between BAT and BAT_SP (default) | |
0 = | Disable buffer with 0-mV offset between BAT and BAT_SP | |
BUF_N_EN (Bit 2): Buffer enable on BAT_SN during RLO Charge Mode | ||
1 = | Enable buffer with 0-mV offset between VSS and BAT_SN (default) | |
0 = | Disable buffer with 0-mV offset between VSS and BAT_SN | |
RSVD (Bits 1–0): Reserved. Do not use. |
During BUFFER mode, the cell voltage is buffered and output on the BAT_SP and BAT_SN pins with a configurable offset. However, to produce an offset on BAT_SP, there must be sufficient voltage headroom on the PACK pin above the cell voltage, which is enforced by Buffer Mode PACK Margin. BUFFERmode typically coincides with cell undervoltage protection (CUV) but is separate for added flexibility.
Status | Condition | Action |
---|---|---|
Activate | OperationStatusA()[XCHG] = 0 AND Current() < RLO Charge Threshold AND Voltage() ≤ Buffer Mode Threshold for Buffer Mode Delay AND PACK pin voltage ≥ Voltage() + Buffer Mode PACK Margin | Enter BUFFERmode |
Exit | OperationStatusA()[XCHG] = 1 OR Current() ≥ RLO Charge Threshold OR Voltage() ≥ Buffer Mode Recovery OR PACK pin voltage < Voltage() + Buffer Mode PACK Margin | Exit BUFFERmode |
When transitioning from BUFFERmode to RLO Mode or RLO HARGEMode, the battery sensing output is configured to Transition Config for Transition Delay to perform a make-before-break switch between the low resistors and buffers.
Class | Subclass | Name | Type | Min | Max | Default | Unit |
---|---|---|---|---|---|---|---|
Settings | Batt Sense | Transition Config | H1 | 0x00 | 0x6C | 0x44 | Hex |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RSVD | RLO_P_EN | RLO_N_EN | RSVD | BUF_P_EN | BUF_N_EN | RSVD | RSVD |
RSVD (Bit 7): Reserved. Do not use. | ||
RLO_P_EN (Bit 6): Low resistor (RLO) enable on BAT_SP during transition | ||
1 = | Enable low resistor between BAT and BAT_SP (default) | |
0 = | Disable low resistor between BAT and BAT_SP | |
RLO_N_EN (Bit 5): Low resistor (RLO) enable on BAT_SN during transition | ||
1 = | Enable low resistor between VSS and BAT_SN | |
0 = | Disable low resistor between VSS and BAT_SN (default) | |
RSVD (Bit 4): Reserved. Do not use. | ||
BUF_P_EN (Bit 3): Buffer enable on BAT_SP during transition | ||
1 = | Enable buffer between BAT and BAT_SP | |
0 = | Disable buffer between BAT and BAT_SP (default) | |
BUF_N_EN (Bit 2): Buffer enable on BAT_SN during transition | ||
1 = | Enable buffer between VSS and BAT_SN (default) | |
0 = | Disable buffer between VSS and BAT_SN | |
RSVD (Bits 1–0): Reserved. Do not use. |
Class | Subclass | Name | Type | Min | Max | Default | Unit |
---|---|---|---|---|---|---|---|
Settings | Batt Sense | Buffer Mode Threshold | I2 | 0 | 32767 | 2500 | mV |
Settings | Batt Sense | Buffer Mode Delay | U1 | 0 | 255 | 1 | s |
Settings | Batt Sense | Buffer Mode Recovery | I2 | 0 | 32767 | 2900 | mV |
Settings | Batt Sense | Buffer Mode PACK Margin | I2 | -1000 | 1000 | 100 | mV |
Settings | Batt Sense | Transition Delay | U2 | 0 | 1000 | 250 | 2 µs |
As reported in BattSenseOutput(), the device detects short-circuits from BAT_SP or BAT_SN to PACK+ or PACK- while the low resistors or buffers are enabled. For example, BCP and BDP indicate a short-circuit on BAT_SP, whereas BCN and BDN indicate a short-circuit on BAT_SN. The detection of these short-circuits is to prevent discharging or charging the battery through alternate paths which avoid the CHG and DSG FETs. When enabling the low resistor or buffer on either BAT_SP or BAT_SN, the device waits for Protection Enable Delay to allow the voltage on the pins to settle before enabling these hardware-based protections: BCP, BDP, BCN, and BDN. Protection Enable Delay should only be increased if Transition Delay is increased above 500, which corresponds to 1000 µs. In this case, Protection Enable Delay should be increased to 4 ms to avoid BCP or BCN from being detected when transitioning from Buffer Mode.
The voltage threshold and detection time for each of these hardware-based protections is configured separately through the ProtectorCalibration() or ProtectorImage1()/ProtectorImage2() commands.
If BCP, BDP, BCN, or BDN is detected, the device switches the battery sensing output to HIZ Mode, as described in Table 6-1, to limit the current flow on BAT_SP and BAT_SN. After waiting for Protection Recovery Delay, the device configures the battery sensing output to the state based on the present conditions. During this recovery period, the battery sensing output cannot be changed from HIZ Mode.
Class | Subclass | Name | Type | Min | Max | Default | Unit |
---|---|---|---|---|---|---|---|
Settings | Batt Sense | Protection Enable Delay | U1 | 0 | 255 | 3 | ms |
Settings | Batt Sense | Protection Recovery Delay | U1 | 0 | 255 | 5 | s |
To enhance battery life, the BQ27Z746-R1 supports several power modes to minimize power consumption during operation.
In NORMAL mode (also referred to as ACTIVE mode), the device takes voltage, current, and temperature readings every 1 s, performs gauging calculations, updates data, and makes status selections at 1-s intervals. Between these periods of activity, the device is in a reduced power state.
When the sleep conditions are met, the device goes into SLEEP mode with periodic wakeups to reduce power consumption. The device returns to NORMAL mode if any exit sleep condition is met, but waits until the 4-second current measurement completes to avoid losing passed charge.
By setting DA Configuration[WAKE_SLP_1SEC] = 1, the device can be configured to exit to NORMAL on the next 1-second boundary and stop the present current measurement. However, this configuration is not recommended, especially if SLEEP mode is frequently entered and exited. The device always exits SLEEP to NORMAL on the next 1-second boundary for OperationStatus()[SDM] and OperationStatus()[CAL], which are used to enter SHUTDOWN and calibration mode.
Firmware processing is minimized by reducing the number of calculations. Some calculations are performed less frequently: only after voltage and temperature are measured. These less frequent calculations include updating lifetime data, the voltage and temperature range of the advanced charge algorithm, and averaged values such as AveragePower().
Status | Condition | Action |
---|---|---|
Activate | DA Config[SLEEP] = 1 AND |Current()| ≤ Sleep Current AND Voltage Time > 0 AND Device in RELAX mode | The device goes to SLEEP mode. The device wakes up every Voltage Time to measure voltage and temperature.(1) The device continues to coulomb count and update current every 4 s. Tip: Synchronize these two times to save power. |
Exit | DA Config[SLEEP] = 0 OR |Current()| > Sleep Current OR Voltage Time = 0 OR (Hardware-based IWAKE threshold surpassed AND DA Configuration[IWAKE_EXIT] = 1) OR OperationStatus()[SDM] = 1 OR OperationStatus()[CAL] = 1 OR SafetyAlert() ≠ 0 | Return to NORMAL mode |
The configuration options for SLEEP are in the following data flash.
Class | Subclass | Name | Type | Min | Max | Default | Unit | Description |
---|---|---|---|---|---|---|---|---|
Power | Sleep | Sleep Current | I2 | 0 | 32767 | 15 | mA | |Current()| threshold to enter SLEEP mode |
Power | Sleep | Voltage Time | U1 | 1 | 20 | 5 | s | Voltage and temperature sampling period in SLEEP mode |
In SHIP mode, the device measures voltage and temperature very infrequently and at shorter ADC conversion times, and current is not measured or coulomb counted. Current is assumed to be and reported as 0 mA. Therefore, the device tracks the battery's state-of-charge from OCVs. The measurements performed at each interval are:
Firmware processing is minimized by reducing the number of calculations. Some calculations are performed less frequently: only after voltage and temperature are measured. These less frequent calculations include updating firmware-based protections, lifetime data, and the voltage and temperature range of the advanced charge algorithm. Other calculations, such as updating RemainingCapacity() and FullChargeCapacity, are not performed at all with the assumption the system is off and will not communicate with the gauge.
SHIP mode is entered based on voltage through SLEEP or by command through NORMAL or SLEEP. Exit from this mode is through a current level or command.
Status | Condition | Action |
---|---|---|
Activate | (OperationStatusA()[SLEEP] =
1 AND Voltage() < Shipmode Voltage Threshold for Shipmode Voltage Delay) OR (OperationStatusB()[SHIPM] = 1 for Shipmode Command Delay AND |Current()| ≤ Sleep Current) | OperationStatusA()[SHIP] =
1 The device enters RELAX mode. Current() = 0 mA, AverageCurrent() = 0 mA The device wakes up every Shipmode Measure Time to measure voltage and temperature.(1) The device does NOT coulomb count or measure current. |
Exit | (Hardware-based IWAKE threshold
surpassed AND DA Configuration[IWAKE_EXIT] = 1) OR (Voltage() ≥ Shipmode Voltage Threshold AND OperationStatusB()[SHIPM] = 0) OR (OperationStatusB()[SHIPM] = 1 AND MAC ShipmodeDisable() received) | OperationStatusA()[SHIP] =
0 OperationStatusB()[SHIPM] = 0 Return to NORMAL mode |
If the gauge is UNSEALED and the MAC ShipmodeEnable() command is sent twice in a row, the gauge enters SHIP mode immediately and skips the normal delay sequence.
The configuration options for SHIP are in the following data flash.
Class | Subclass | Name | Type | Min | Max | Default | Unit | Description |
---|---|---|---|---|---|---|---|---|
Power | Shipmode | Shipmode Voltage Threshold | I2 | 0 | 32767 | 2300 | mV | Cell based SHIP voltage trip threshold |
Power | Shipmode | Shipmode Voltage Delay | U2 | 0 | 255 | 10 | s | Cell based SHIP voltage trip delay |
Power | Shipmode | Shipmode Measure Time | U1 | 1 | 30 | 30 | s | Determines the wake interval to measure voltage and temperature in SHIP mode |
Power | Shipmode | Shipmode Command Delay | U1 | 0 | 255 | 0 | s | Delay time to enter SHIP mode after MAC ShipmodeEnable() is received. The device takes an additional 1-2 seconds to enter SHIP mode for command processing |
SHELF mode operates the same as SHIP mode with a minimized amount of measurements and firmware processing. However, device power consumption in SHELF mode is reduced from SHIP mode by turning off the CHG and DSG FETs and hardware protector (all hardware-based protections and IWAKE). Due to the FETs being off in SHELF mode, the system is not powered without a charger attached, so the exit conditions are different from SHIP mode and the FET control logic is not performed.
In SHELF mode, the device measures voltage and temperature very infrequently and at shorter ADC conversion times, and current is not measured or coulomb counted. Current is assumed to be and reported as 0 mA. Therefore, the device tracks the battery's state-of-charge from OCVs. The measurements performed each interval are:
Firmware processing is minimized by reducing the number of calculations. Some calculations are performed less frequently: only after voltage and temperature are measured. These less frequent calculations include updating firmware-based protections, lifetime data, and the voltage and temperature range of the advanced charge algorithm. Other calculations, such as updating RemainingCapacity() and FullChargeCapacity, are not performed at all with the assumption the system is off and will not communicate with the gauge.
SHELF mode is entered based on voltage through SLEEP or SHIP or by command through NORMAL or SLEEP. Exit from this mode is through command, voltage at the PACK terminal > VStartup–, or the ENAB pin being pulled low. The latter two conditions are shared with SHUTDOWN and only checked Shelf Exit Holdoff seconds after entering SHELF mode to allow pin voltages to settle once the DSG and CHG FETs turn off.
Status | Condition | Action |
---|---|---|
Activate | (OperationStatusA()[SLEEP] =
1 AND Voltage() < Shelf Voltage Threshold for Shelf Voltage Delay) OR (OperationStatusB()[SHELFM] = 1 for Shelf Command Delay AND |Current()| ≤ Sleep Current) | OperationStatusA()[SHELF] =
1 The device enters RELAX mode. Current() = 0 mA, AverageCurrent() = 0 mA The device wakes up every Shelf Measure Time to measure voltage and temperature.(1) The device does NOT coulomb count or measure current. Turn off the CHG and DSG FETs. Turn off the protector (all hardware-based protections and IWAKE). |
Exit | (Voltage() ≥ Shelf
Voltage Threshold AND OperationStatusB()[SHELFM] = 0) OR (OperationStatusB()[SHELFM] = 1 AND MAC ShelfDisable() received) OR (Time in SHELF mode ≥ Shelf Exit Holdoff AND (Voltage at PACK terminal > VStartup– OR ENAB pin pulled low)) | OperationStatusA()[SHELF] =
0 OperationStatusB()[SHELFM] = 0 Return to NORMAL mode |
If the gauge is UNSEALED and the MAC ShelfEnable() command is sent twice in a row, the gauge enters SHELF immediately and skips the normal delay sequence.
The configuration options for SHELF are in the following data flash.
Class | Subclass | Name | Type | Min | Max | Default | Unit | Description |
---|---|---|---|---|---|---|---|---|
Power | Shelf | Shelf Voltage Threshold | I2 | 0 | 32767 | 2200 | mV | Cell based SHELF voltage trip threshold |
Power | Shelf | Shelf Voltage Delay | U2 | 0 | 255 | 10 | s | Cell based SHELF voltage trip delay |
Power | Shelf | Shelf Measure Time | U1 | 1 | 30 | 30 | s | Determines the wake interval to measure voltage and temperature in SHELF mode |
Power | Shelf | Shelf Command Delay | U1 | 0 | 255 | 10 | s | Delay time to enter SHELF mode after MAC ShelfEnable() is received. The device takes an additional 1-2 seconds to enter SHELF mode for command processing |
Power | Shelf | Shelf Exit Holdoff | U1 | 1 | 255 | 10 | s | Holdoff time after entering SHELF mode to check the PACK and ENAB pin exit conditions |
To minimize power consumption and avoid draining the battery, the device can be configured to shut down at a programmable cell voltage threshold, Shutdown Voltage. If Shutdown Voltage is configured above the cell undervoltage thresholds, the delay to enter SHUTDOWN may be longer than Shutdown Time, because the voltage on the PACK terminal takes time to drain (assuming a charger is not attached) once the DSG FET turns off. The time to drain the PACK terminal depends on the load attached. This function also works in PERMANENET FAILURE mode. WHen the device is in PERMANENT FAILURE mode, the parameters PF Shutdwon Voltage and PF Shutdown Time configure the shutdown threshold
In a test environment, it is possible to quickly drop the cell voltage below Shutdown Voltage. Even if Shutdown Voltage is configured below the cell undervoltage thresholds, the PACK terminal may take extra time to drain, especially if PACK+ is floating. However, this should not be a concern with a system load attached with sufficient voltage margin between the Shutdown Voltage and the DSG FET turning off.
Status | Condition | Action |
---|---|---|
Enable | Cell voltage < Shutdown Voltage | OperationStatus()[SDV] = 1 |
Trip | Cell voltage continuous < Shutdown Voltage for Shutdown Time | Turn DSG FET off |
Shutdown | Voltage at PACK terminal < Charger Present Threshold AND Current() ≤ 0 AND ENAB pin is high | Send device into SHUTDOWN mode |
Exit | Voltage at PACK terminal > VSTARTUP OR ENAB pin pulled low OR Cell voltage > Shutdown Voltage if not in SHUTDOWN mode | OperationStatus()[SDV] = 0 Return to NORMAL mode |
The device goes through a full reset when exiting from SHUTDOWN mode, which means the device reinitializes. On power up, the gauge checks certain special memory locations. If the memory checksum is incorrect, or if the watchdog was triggered, the gauge does a full reset.
If the memory checksum is good (for example, in the case of a short power glitch), the gauge does a partial reset. The initialization is faster in a partial reset, and certain memory data is not reinitialized (for example, all SBS registers, last ADC and CC readings, safety alerts, and statuses, and so on) and so a partial reset is usually transparent to the host. After a partial reset, the FETs remain off until the hardware-based cell undervoltage protection, HCUV, is able to complete detection. Once HCUV detection finishes, the FETs turn on or remain off based on this result and the other restored safety statuses.
The configuration options for SHUTDOWN are in the following data flash.
Class | Subclass | Name | Type | Min | Max | Default | Unit | Description |
---|---|---|---|---|---|---|---|---|
Power | Shutdown | Shutdown Voltage | I2 | 0 | 32767 | 2150 | mV | Cell based shutdown voltage trip threshold |
Power | Shutdown | Shutdown Time | U2 | 0 | 255 | 10 | s | Cell based shutdown voltage trip delay |
Power | Shutdown | PF Shutdown Voltage | I2 | 0 | 32767 | 1750 | mV | Cell based PERMANENET FAILURE mode shutdown voltage trip threshold |
Power | Shutdown | PF Shutdown Time | U2 | 0 | 255 | 10 | s | Cell based PERMANENET FAILURE mode shutdown voltage trip delay |
Power | Shutdown | Charger Present Threshold | I2 | 0 | 32767 | 100 | mV | PACK terminal voltage threshold |
In SHUTDOWN mode, the device turns off the CHG and DSG FETs after FET Off Time, and then shuts down to minimize power consumption after Delay time. Both FET Off Time and Delay time are referenced to the time the gauge received the command. Thus, the Delay time must be set longer than the FET Off Time. The device returns to NORMAL mode when the voltage at PACK terminal > VStartup– or the ENAB pin is pulled low. The device can be sent to this mode with the AltManufacturerAccess() Shutdown command, which sets OperationStatus()[SDM]. Charger voltage must not be present and the ENAB pin must be high for the device to enter SHUTDOWN mode. If there is charger voltage present or charge current is flowing, the device waits until the charger is removed to enter the SHUTDOWN state. This is to prevent the device from an unintended, immediate wakeup. The Shutdown() command cannot be canceled.
If the gauge is unsealed and the MAC Shutdown() command is sent twice in a row, the gauge executes the shutdown sequence immediately and skips the normal delay sequence.
Class | Subclass | Name | Type | Min | Max | Default | Unit | Description |
---|---|---|---|---|---|---|---|---|
Power | Ship | FET Off Time | U1 | 0 | 127 | 10 | s | Delay time to turn OFF FETs prior to entering SHUTDOWN mode. This setting should not be longer than the Delay setting. |
Power | Ship | Delay | U1 | 0 | 254 | 20 | s | Delay time to enter SHUTDOWN mode |
Power | Ship | Auto Ship Time | U2 | 0 | 65535 | 4320 | min | Time without communication in SLEEP to automatically enter SHUTDOWN when Power Config[AUTO_SHIP_EN] = 1 |
The device can be configured to enter SHUTDOWN after staying in SLEEP mode without communication for a preset time interval specified in Auto Ship Time. Setting Power Config[AUTO_SHIP_EN] = 1 enables this feature. Any communication to the device restarts the timer. When the timer reaches Auto Ship Time, the time-based shutdown effectively triggers the MAC shutdown command to start the shutdown sequence. The device returns to NORMAL mode when voltage at the PACK terminal > VStartup– or the ENAB pin is pulled low.
Class | Subclass | Name | Type | Min | Max | Default | Unit | Description |
---|---|---|---|---|---|---|---|---|
Settings | Configuration | Power Config | H2 | 0x0000 | 0xFFFF | 0x0011 | — | Bit 0: AUTO_SHIP_EN 0 = Disable time-based entry into SHUTDOWN 1 = Enable time-based entry into SHUTDOWN (default) Bits 3:1 Reserved Bit 4: SLP_ACCUM 0 = Disables CC accumulation during SLEEP mode 1 = Enables CC accumulation during SLEEP mode Bits 15:5: Reserved |
Settings | Configuration | DA Configuration | H2 | 0x0000 | 0x0010 | 0x0010 | — | Bits 3:0: Reserved Bit 4: SLEEP—SLEEP mode 0 = Disables SLEEP mode 1 = Enables SLEEP mode (default) Bits 9:5: Reserved Bit 10: IWAKE_EXIT—Exit from SLEEP, SHIP due to IWAKE 0 = Disables IWAKE exit 1 = Enable IWAKE exit (default WAKE_SLP_1SEC—Wake from SLEEP within 1 second 0 = Disables wake within 1 second (default) 1 = Enables wake within 1 second Bits 15:12: Reserved |
Predicting available energy from lithium-ion cells requires a number of measurable parameters. The Impedance Track (IT) model measures, records, and predicts available capacity or energy from these parameters. The model provides the means to accurately determine available energy over the life of a cell by accounting for aging and present environmental conditions. Aging can be accounted for by measuring QMax and cell impedances as the cell is cycled. QMax is the amount of charge available in a fully charged cell. The present conditions include consideration of cell and ambient temperature as well as the present or predicted power requirements. There are three major components of Impedance Track.