SLUSBU6B September   2014  – January 2016

PRODUCTION DATA.  

  1. Features
  2. Applications
  3. Description
  4. Revision History
  5. Pin Configuration and Functions
  6. Specifications
    1. 6.1  Absolute Maximum Ratings
    2. 6.2  ESD Ratings
    3. 6.3  Recommended Operating Conditions
    4. 6.4  Thermal Information
    5. 6.5  Electrical Characteristics: Supply Current
    6. 6.6  Digital Input and Output DC Electrical Characteristics
    7. 6.7  Power-on Reset
    8. 6.8  2.5-V LDO Regulator
    9. 6.9  Internal Clock Oscillators
    10. 6.10 ADC (Temperature and Cell Measurement) Characteristics
    11. 6.11 Integrating ADC (Coulomb Counter) Characteristics
    12. 6.12 Data Flash Memory Characteristics
    13. 6.13 I2C-compatible Interface Communication Timing Requirements
    14. 6.14 Typical Characteristics
  7. Detailed Description
    1. 7.1 Overview
    2. 7.2 Functional Block Diagram
    3. 7.3 Feature Description
      1. 7.3.1 Functional Description
    4. 7.4 Device Functional Modes
      1. 7.4.1 Power Modes
      2. 7.4.2 BAT INSERT CHECK Mode
      3. 7.4.3 NORMAL Mode
      4. 7.4.4 SLEEP Mode
      5. 7.4.5 SLEEP+ Mode
      6. 7.4.6 HIBERNATE Mode
    5. 7.5 Programming
      1. 7.5.1 Standard Data Commands
      2. 7.5.2 Control( ): 0x00 and 0x01
      3. 7.5.3 Charger Data Commands
      4. 7.5.4 Communications
        1. 7.5.4.1 I2C Interface
        2. 7.5.4.2 I2C Time Out
        3. 7.5.4.3 I2C Command Waiting Time
        4. 7.5.4.4 I2C Clock Stretching
  8. Application and Implementation
    1. 8.1 Application Information
    2. 8.2 Typical Application
      1. 8.2.1 Design Requirements
      2. 8.2.2 Detailed Design Procedure
        1. 8.2.2.1 BAT Voltage Sense Input
        2. 8.2.2.2 SRP and SRN Current Sense Inputs
        3. 8.2.2.3 Sense Resistor Selection
        4. 8.2.2.4 TS Temperature Sense Input
        5. 8.2.2.5 Thermistor Selection
        6. 8.2.2.6 REGIN Power Supply Input Filtering
        7. 8.2.2.7 VCC LDO Output Filtering
      3. 8.2.3 Application Curves
  9. Power Supply Recommendations
    1. 9.1 Power Supply Decoupling
  10. 10Layout
    1. 10.1 Layout Guidelines
      1. 10.1.1 Sense Resistor Connections
      2. 10.1.2 Thermistor Connections
      3. 10.1.3 High-Current and Low-Current Path Separation
    2. 10.2 Layout Example
  11. 11Device and Documentation Support
    1. 11.1 Documentation Support
      1. 11.1.1 Related Documentation
    2. 11.2 Community Resources
    3. 11.3 Trademarks
    4. 11.4 Electrostatic Discharge Caution
    5. 11.5 Glossary
  12. 12Mechanical, Packaging, and Orderable Information

パッケージ・オプション

メカニカル・データ(パッケージ|ピン)
サーマルパッド・メカニカル・データ
発注情報

7 Detailed Description

7.1 Overview

The fuel gauge accurately predicts the battery capacity and other operational characteristics of a single, Li-based, rechargeable cell. It can be interrogated by a system processor to provide cell information, such as remaining capacity and state-of-charge (SOC) as well as SOC interrupt signal to the host.

The fuel gauge can control a bq2425x Charger IC without the intervention from an application system processor. Using the bq27532-G1 and bq2425x chipset, batteries can be charged with the typical constant-current, constant-voltage (CCCV) profile or charged using a Multi-Level Charging (MLC) algorithm.

The fuel gauge can also be configured to suggest charge voltage and current values to the system so that the host can control a charger that is not part of the bq2425x charger family.

NOTE

Formatting conventions used in this document:

Commands: italics with parentheses and no breaking spaces, for example, Control( )

Data flash: italics, bold, and breaking spaces, for example, Design Capacity

Register bits and flags: brackets and italics, for example, [TDA]

Data flash bits: brackets, italics and bold, for example, [LED1]

Modes and states: ALL CAPITALS, for example, UNSEALED mode

7.2 Functional Block Diagram

bq27532-G1 lusbu6_FctnBlkDgm.gif

7.3 Feature Description

Information is accessed through a series of commands, called Standard Commands. Further capabilities are provided by the additional Extended Commands set. Both sets of commands, indicated by the general format Command( ), are used to read and write information contained within the control and status registers, as well as its data flash locations. Commands are sent from system to gauge using the I2C serial communications engine, and can be executed during application development, pack manufacture, or end-equipment operation.

Cell information is stored in non-volatile flash memory. Many of these data flash locations are accessible during application development. They cannot, generally, be accessed directly during end-equipment operation. Access to these locations is achieved by either use of the companion evaluation software, through individual commands, or through a sequence of data-flash-access commands. To access a desired data flash location, the correct data flash subclass and offset must be known.

The key to the high-accuracy gas gauging prediction is the TI proprietary Impedance Track™ algorithm. This algorithm uses cell measurements, characteristics, and properties to create SOC predictions that can achieve less than 1% error across a wide variety of operating conditions and over the lifetime of the battery.

The fuel gauge measures the charging and discharging of the battery by monitoring the voltage across a small-value series sense resistor (5 to 20 mΩ, typical) located between the system VSS and the battery PACK– terminal. When a cell is attached to the fuel gauge, cell impedance is computed, based on cell current, cell open-circuit voltage (OCV), and cell voltage under loading conditions.

The external temperature sensing is optimized with the use of a high-accuracy negative temperature coefficient (NTC) thermistor with R25 = 10.0 kΩ ±1%, B25/85 = 3435 K ± 1% (such as Semitec NTC 103AT). The fuel gauge can also be configured to use its internal temperature sensor. When an external thermistor is used, a 18.2-kΩ pullup resistor between the BI/TOUT and TS pins is also required. The fuel gauge uses temperature to monitor the battery-pack environment, which is used for fuel gauging and cell protection functionality.

To minimize power consumption, the fuel gauge has different power modes: NORMAL, SLEEP, SLEEP+, HIBERNATE, and BAT INSERT CHECK. The fuel gauge passes automatically between these modes, depending upon the occurrence of specific events, though a system processor can initiate some of these modes directly.

For complete operational details, see bq27532-G1 Technical Reference Manual, SLUUB04.

7.3.1 Functional Description

The fuel gauge measures the cell voltage, temperature, and current to determine battery SOC. The fuel gauge monitors the charging and discharging of the battery by sensing the voltage across a small-value resistor (5 mΩ to 20 mΩ, typical) between the SRP and SRN pins and in series with the cell. By integrating charge passing through the battery, the battery SOC is adjusted during battery charge or discharge.

The total battery capacity is found by comparing states of charge before and after applying the load with the amount of charge passed. When an application load is applied, the impedance of the cell is measured by comparing the OCV obtained from a predefined function for present SOC with the measured voltage under load. Measurements of OCV and charge integration determine chemical SOC and chemical capacity (Qmax). The initial Qmax values are taken from a cell manufacturers' data sheet multiplied by the number of parallel cells. It is also used for the value in Design Capacity. The fuel gauge acquires and updates the battery-impedance profile during normal battery usage. It uses this profile, along with SOC and the Qmax value, to determine FullChargeCapacity( ) and StateOfCharge( ), specifically for the present load and temperature. FullChargeCapacity( ) is reported as capacity available from a fully-charged battery under the present load and temperature until Voltage( ) reaches the Terminate Voltage. NominalAvailableCapacity( ) and FullAvailableCapacity( ) are the uncompensated (no or light load) versions of RemainingCapacity( ) and FullChargeCapacity( ), respectively.

The fuel gauge has two flags accessed by the Flags( ) function that warn when the battery SOC has fallen to critical levels. When RemainingCapacity( ) falls below the first capacity threshold as specified in SOC1 Set Threshold, the [SOC1] (State of Charge Initial) flag is set. The flag is cleared once RemainingCapacity( ) rises above SOC1 Clear Threshold.

When the voltage is discharged to Terminate Voltage, the SOC will be set to 0.

7.4 Device Functional Modes

7.4.1 Power Modes

The fuel gauge has different power modes:

  1. BAT INSERT CHECK: The BAT INSERT CHECK mode is a powered-up, but low-power halted, state where the fuel gauge resides when no battery is inserted into the system.
  2. NORMAL: In NORMAL mode, the fuel gauge is fully powered and can execute any allowable task.
  3. SLEEP: In SLEEP mode, the fuel gauge turns off the high-frequency oscillator and exists in a reducedpower state, periodically taking measurements and performing calculations.
  4. SLEEP+: In SLEEP+ mode, both low-frequency and high-frequency oscillators are active. Although the SLEEP+ mode has higher current consumption than the SLEEP mode, it is also a reduced power mode.
  5. HIBERNATE: In HIBERNATE mode, the fuel gauge is in a low power state, but can be woken up by communication or certain I/O activity.

The relationship between these modes is shown in Figure 6.

7.4.2 BAT INSERT CHECK Mode

This mode is a halted-CPU state that occurs when an adapter, or other power source, is present to power the fuel gauge (and system), yet no battery has been detected. When battery insertion is detected, a series of initialization activities begin, which include: OCV measurement, setting the Flags() [BAT_DET] bit, and selecting the appropriate battery profiles.

Some commands, issued by a system processor, can be processed while the fuel gauge is halted in this mode. The gauge wakes up to process the command, then returns to the halted state awaiting battery insertion.

7.4.3 NORMAL Mode

The fuel gauge is in NORMAL mode when not in any other power mode. During this mode, AverageCurrent(), Voltage(), and Temperature() measurements are taken, and the interface data set is updated. Decisions to change states are also made. This mode is exited by activating a different power mode.

Because the gauge consumes the most power in NORMAL mode, the Impedance Track™ algorithm minimizes the time the fuel gauge remains in this mode.

7.4.4 SLEEP Mode

SLEEP mode is entered automatically if the feature is enabled (Op Config [SLEEP] = 1) and AverageCurrent() is below the programmable level Sleep Current. Once entry into SLEEP mode has been qualified, but prior to entering it, the fuel gauge performs a coulomb counter autocalibration to minimize offset.

During SLEEP mode, the fuel gauge periodically takes data measurements and updates its data set. However, a majority of its time is spent in an idle condition.

The fuel gauge exits SLEEP mode if any entry condition is broken, specifically when:

  1. AverageCurrent() rises above Sleep Current, or
  2. A current in excess of IWAKE through RSENSE is detected.
  3. In the event that a battery is removed from the system while a charger is present (and powering the gauge), Impedance Track™ updates are not necessary. Hence, the fuel gauge enters a state that checks for battery insertion and does not continue executing the Impedance Track™ algorithm.

7.4.5 SLEEP+ Mode

Compared to the SLEEP mode, SLEEP+ mode has the high-frequency oscillator in operation. The communication delay could be eliminated. The SLEEP+ mode is entered automatically if the feature is enabled (CONTROL_STATUS [SNOOZE] = 1) and AverageCurrent() is below the programmable level Sleep Current.

During SLEEP+ mode, the fuel gauge periodically takes data measurements and updates its data set. However, a majority of its time is spent in an idle condition.

The fuel gauge exits SLEEP+ mode if any entry condition is broken, specifically when:

  1. Any communication activity with the gauge, or
  2. AverageCurrent() rises above Sleep Current, or
  3. A current in excess of IWAKE through RSENSE is detected.

7.4.6 HIBERNATE Mode

HIBERNATE mode should be used when the system equipment needs to enter a low-power state, and minimal gauge power consumption is required. This mode is ideal when system equipment is set to its own HIBERNATE, SHUTDOWN, or OFF mode.

Before the fuel gauge can enter HIBERNATE mode, the system must set the CONTROL_STATUS [HIBERNATE] bit. The gauge waits to enter HIBERNATE mode until it has taken a valid OCV measurement and the magnitude of the average cell current has fallen below Hibernate Current. The gauge can also enter HIBERNATE mode if the cell voltage falls below Hibernate Voltage and a valid OCV measurement has been taken. The gauge remains in HIBERNATE mode until the system issues a direct I2C command to the gauge or a POR occurs. Any I2C communication that is not directed to the gauge does not wake the gauge.

It is the responsibility of the system to wake the fuel gauge after it has gone into HIBERNATE mode. After waking, the gauge can proceed with the initialization of the battery information (OCV, profile selection, and so forth).

bq27532-G1 system_sleep_luub04.gif Figure 6. Power Mode Diagram—System Sleep
bq27532-G1 system_shutdown_luub04.gif Figure 7. Power Mode Diagram—System Shutdown

7.5 Programming

7.5.1 Standard Data Commands

The fuel gauge uses a series of 2-byte standard commands to enable system reading and writing of battery information. Each standard command has an associated command-code pair. Because each command consists of two bytes of data, two consecutive I2C transmissions must be executed both to initiate the command function, and to read or write the corresponding two bytes of data. Additional details are found in the bq27532-G1 Technical Reference Manual, SLUUB04.

Table 1. Standard Commands

NAME COMMAND CODE UNIT SEALED ACCESS UNSEALED ACCESS
Control( ) 0x00 and 0x01 NA RW RW
AtRate( ) 0x02 and 0x03 mA RW RW
AtRateTimeToEmpty( ) 0x04 and 0x05 Minutes R RW
Temperature( ) 0x06 and 0x07 0.1 K RW RW
Voltage( ) 0x08 and 0x09 mV R RW
Flags( ) 0x0A and 0x0B Hex R RW
NominalAvailableCapacity( ) 0x0C and 0x0D mAh R RW
FullAvailableCapacity( ) 0x0E and 0x0F mAh R RW
RemainingCapacity( ) 0x10 and 0x11 mAh R RW
FullChargeCapacity( ) 0x12 and 0x13 mAh R RW
AverageCurrent( ) 0x14 and 0x15 mA R RW
InternalTemperature( ) 0x16 and 0x17 0.1 K R RW
ResScale( ) 0x18 and 0x19 Num R RW
ChargingLevel( ) 0x1A and 0x1B Num R RW
StateOfHealth( ) 0x1C and 0x1D % / num R RW
CycleCount( ) 0x1E and 0x1F Counters R R
StateOfCharge( ) 0x20 and 0x21 % R R
InstantaneousCurrentReading( ) 0x22 and 0x23 mA R RW
FineQPass( ) 0x24 and 0x25 mAh R RW
FineQPassFract( ) 0x26 and 0x27 num R RW
ProgChargingCurrent( ) 0x28 and 0x29 mA R RW
ProgChargingVoltage( ) 0x2A and 0x2B mV R RW
LevelTaperCurrent( ) 0x2C and 0x2D mA R RW
CalcChargingCurrent( ) 0x2E and 0x2F mA R RW
CalcChargingVoltage( ) 0x30 and 0x31 mV R RW
ChargerStatus( ) 0x32 Hex R RW
ChargReg0( ) 0x33 Hex RW RW
ChargReg1( ) 0x34 Hex RW RW
ChargReg2( ) 0x35 Hex RW RW
ChargReg3( ) 0x36 Hex RW RW
ChargReg4( ) 0x37 Hex RW RW
ChargReg5( ) 0x38 Hex RW RW
ChargReg6( ) 0x39 Hex RW RW
RemainingCapacityUnfiltered( ) 0x6C and 0x6D mAh R RW
RemainingCapacityFiltered( ) 0x6E and 0x6F mAh R RW
FullChargeCapacityUnfiltered( ) 0x70 and 0x71 mAh R RW
FullChargeCapacityFiltered( ) 0x72 and 0x73 mAh R RW
TrueSOC( ) 0x74 and 0x75 % R RW
MaxCurrent( ) 0x76 and 0x77 mA R RW

7.5.2 Control( ): 0x00 and 0x01

Issuing a Control( ) command requires a subsequent 2-byte subcommand. These additional bytes specify the particular control function desired. The Control( ) command allows the system to control specific features of the fuel gauge during normal operation and additional features when the fuel gauge is in different access modes, as described in Device Functional Modes. Additional details are found in the bq27532-G1 Technical Reference Manual, SLUUB04.

Table 2. Control( ) Subcommands

CONTROL FUNCTION CONTROL
DATA
SEALED
ACCESS
DESCRIPTION
CONTROL_STATUS 0x0000 Yes Reports the status of HIBERNATE, IT, and so on
DEVICE_TYPE 0x0001 Yes Reports the device type (for example, 0x0532 for bq27532-G1)
FW_VERSION 0x0002 Yes Reports the firmware version on the device type
HW_VERSION 0x0003 Yes Reports the hardware version of the device type
MLC_ENABLE 0x0004 Yes Charge profile is based on MaxLife profile
MLC_DISABLE 0x0005 Yes Charge profile is solely based on charge temperature tables and, if enabled, State of Health
CLEAR_IMAX_INT 0x0006 Yes Clears the IMAX status bit and the interrupt signal from SOC_INT pin.
PREV_MACWRITE 0x0007 Yes Returns previous MAC subcommand code
CHEM_ID 0x0008 Yes Reports the chemical identifier of the Impedance Track™ configuration
BOARD_OFFSET 0x0009 No Forces the device to measure and store the board offset
CC_OFFSET 0x000A No Forces the device to measure the internal CC offset
CC_OFFSET_SAVE 0x000B No Forces the device to store the internal CC offset
OCV_CMD 0x000C Yes Request the gauge to take a OCV measurement
BAT_INSERT 0x000D Yes Forces the BAT_DET bit set when the [BIE] bit is 0
BAT_REMOVE 0x000E Yes Forces the BAT_DET bit clear when the [BIE] bit is 0
SET_HIBERNATE 0x0011 Yes Forces CONTROL_STATUS [HIBERNATE] to 1
CLEAR_HIBERNATE 0x0012 Yes Forces CONTROL_STATUS [HIBERNATE] to 0
SET_SLEEP+ 0x0013 Yes Forces CONTROL_STATUS [SNOOZE] to 1
CLEAR_SLEEP+ 0x0014 Yes Forces CONTROL_STATUS [SNOOZE] to 0
ILIMIT_LOOP_ENABLE 0x0015 Yes When the gauge is not connected to the charger through I2C, this command indicates to the gauge that there is a charger input current limiting loop active. Disables charge termination detection by the gauge.
ILIMIT_LOOP_DISABLE 0x0016 Yes When the gauge is not connected to the charger through I2C, this command indicates to the gauge that battery charge current is not limited. Allows charge termination detection by the gauge.
SHIPMODE_ENABLE 0x0017 Yes Commands the bq2425x to turn off BATFET after a delay time programmed in data flash so that system load does not draw power from the battery
SHIPMODE_DISABLE 0x0018 Yes Commands the bq2425x to disregard turning off BATFET before the delay time or commands BATFET to turn on if a VIN had power during the SHIPMODE enabling process
CHG_ENABLE 0x001A Yes Enable charger. Charge will continue as dictated by the gauge charging algorithm.
CHG_DISABLE 0x001B Yes Disable charger (Set CE bit of bq2425x)
GG_CHGRCTL_ENABLE 0x001C Yes Enables the gas gauge to control the charger while continuously resetting the charger watchdog
GG_CHGRCTL_DISABLE 0x001D Yes The gas gauge stops resetting the charger watchdog
SMOOTH_SYNC 0x001E Yes Synchronizes RemainingCapacityFiltered( ) and FullChargeCapacityFiltered( ) with RemainingCapacityUnfiltered( ) and FullChargeCapacityUnfiltered( )
DF_VERSION 0x001F Yes Returns the Data Flash Version
SEALED 0x0020 No Places device in SEALED access mode
IT_ENABLE 0x0021 No Enables the Impedance Track™ algorithm
RESET 0x0041 No Forces a full reset of the bq27532-G1 device

7.5.3 Charger Data Commands

The charger registers are mapped to a series of single-byte Charger Data Commands to enable system reading and writing of battery charger registers. During charger power up, the registers are initialized to Charger Reset State. The fuel gauge can change the values of these registers during the System Reset State.

Each of the bits in the Charger Data Commands can be read or write. Note that System Access can be different from the read or write access as defined in bq2425x charger hardware. The fuel gauge may block write access to the charger hardware when the bit function is controlled by the fuel gauge exclusively. For example, the [VBATREGx] bits of Chrgr_Reg2 are controlled by the fuel gauge and cannot be modified by system.

The fuel gauge reads the corresponding registers of Chrgr_Reg0( ) and Chrgr_Reg2( ) every second to mirror the charger status. Other registers in the bq2425x device are read when registers are modified by the fuel gauge.

Table 3. Charger Data Commands

NAME COMMAND CODE bq2425x CHARGER MEMORY LOCATION SEALED ACCESS UNSEALED ACCESS REFRESH RATE
ChargerStatus( ) CHGRSTAT 0x32 NA R R Every second
Chrgr_Reg0( ) CHGR0 0x33 0x00 RW RW Every second
Chrgr_Reg1( ) CHGR1 0x34 0x01 RW RW Data change
Chrgr_Reg2( ) CHGR2 0x35 0x02 RW RW Every second
Chrgr_Reg3( ) CHGR3 0x36 0x03 RW RW Data change
Chrgr_Reg4( ) CHGR4 0x37 0x04 RW RW Every second
Chrgr_Reg5( ) CHGR5 0x38 0x05 RW RW Data change
Chrgr_Reg6( ) CHGR6 0x39 0x06 RW RW Data change

7.5.4 Communications

7.5.4.1 I2C Interface

The fuel gauge supports the standard I2C read, incremental read, quick read, one-byte write, and incremental write functions. The 7-bit device address (ADDR) is the most significant 7 bits of the hex address and is fixed as 1010101. The first 8 bits of the I2C protocol are, therefore, 0xAA or 0xAB for write or read, respectively.

bq27532-G1 i2c_packet_format.gif Figure 8. I2C Interface

The quick read returns data at the address indicated by the address pointer. The address pointer, a register internal to the I2C communication engine, increments whenever data is acknowledged by the fuel gauge or the I2C master. “Quick writes” function in the same manner and are a convenient means of sending multiple bytes to consecutive command locations (such as two-byte commands that require two bytes of data).

The following command sequences are not supported:

Attempt to write a read-only address (NACK after data sent by master):

bq27532-G1 i2c_invalid_write.gif Figure 9. Invalid Write

Attempt to read an address above 0x6B (NACK command):

bq27532-G1 i2c_invalid_read.gif Figure 10. Invalid Read

7.5.4.2 I2C Time Out

The I2C engine releases both SDA and SCL if the I2C bus is held low for 2 seconds. If the fuel gauge is holding the lines, releasing them frees them for the master to drive the lines. If an external condition is holding either of the lines low, the I2C engine enters the low-power SLEEP mode.

7.5.4.3 I2C Command Waiting Time

To ensure proper operation at 400 kHz, a t(BUF) ≥ 66 μs bus-free waiting time must be inserted between all packets addressed to the fuel gauge. In addition, if the SCL clock frequency (fSCL) is > 100 kHz, use individual 1-byte write commands for proper data flow control. The following diagram shows the standard waiting time required between issuing the control subcommand to reading the status result. For read-write standard command, a minimum of 2 seconds is required to get the result updated. For read-only standard commands, there is no waiting time required, but the host must not issue any standard command more than two times per second. Otherwise, the gauge could result in a reset issue due to the expiration of the watchdog timer.

bq27532-G1 i2c_comm_wait.gif Figure 11. I2C Command Waiting Time

7.5.4.4 I2C Clock Stretching

A clock stretch can occur during all modes of fuel gauge operation. In SLEEP and HIBERNATE modes, a short clock stretch occurs on all I2C traffic as the device must wake-up to process the packet. In the other modes (INITIALIZATION, NORMAL) clock stretching only occurs for packets addressed for the fuel gauge. The majority of clock stretch periods are small as the I2C interface performs normal data flow control. However, less frequent yet more significant clock stretch periods may occur as blocks of data flash are updated. The following table summarizes the approximate clock stretch duration for various fuel gauge operating conditions.

Table 4. Approximate Clock Stretch Duration

GAUGING MODE OPERATING CONDITION / COMMENT APPROXIMATE
DURATION
SLEEP
HIBERNATE
Clock stretch occurs at the beginning of all traffic as the device wakes up. ≤ 4 ms
INITIALIZATION
NORMAL
Clock stretch occurs within the packet for flow control (after a start bit, ACK or first data bit). ≤ 4 ms
Normal Ra table data flash updates. 24 ms
Data flash block writes. 72 ms
Restored data flash block write after loss of power. 116 ms
End of discharge Ra table data flash update. 144 ms