SLUSBB3E December   2013  – January 2016

PRODUCTION DATA.  

  1. Features
  2. Applications
  3. Description
  4. Revision History
  5. Device Comparison Table
  6. Pin Configurations and Functions
  7. Specifications
    1. 7.1  Absolute Maximum Ratings
    2. 7.2  ESD Ratings
    3. 7.3  Recommended Operating Conditions
    4. 7.4  Thermal Information
    5. 7.5  Supply Current
    6. 7.6  Digital Input and Output DC Characteristics
    7. 7.7  LDO Regulator, Wake-up, and Auto-Shutdown DC Characteristics
    8. 7.8  ADC (Temperature and Cell Measurement) Characteristics
    9. 7.9  I2C-Compatible Interface Communication Timing Characteristics
    10. 7.10 Typical Characteristics
  8. Detailed Description
    1. 8.1 Overview
    2. 8.2 Functional Block Diagram
    3. 8.3 Feature Description
    4. 8.4 Device Functional Modes
      1. 8.4.1 Data Commands
        1. 8.4.1.1 Standard Data Commands
        2. 8.4.1.2 Control(): 0x00 and 0x01
      2. 8.4.2 Alternate Chemistry Selection
      3. 8.4.3 Communications
        1. 8.4.3.1 I2C Interface
        2. 8.4.3.2 I2C Time Out
        3. 8.4.3.3 I2C Command Waiting Time
        4. 8.4.3.4 I2C Clock Stretching
  9. Application and Implementation
    1. 9.1 Application Information
    2. 9.2 Typical Application
      1. 9.2.1 Design Requirements
      2. 9.2.2 Detailed Design Procedure
        1. 9.2.2.1 BAT Voltage Sense Input
        2. 9.2.2.2 Integrated LDO Capacitor
      3. 9.2.3 Application Curves
  10. 10Power Supply Recommendations
    1. 10.1 Power Supply Decoupling
  11. 11Layout
    1. 11.1 Layout Guidelines
    2. 11.2 Layout Example
  12. 12Device and Documentation Support
    1. 12.1 Community Resources
    2. 12.2 Trademarks
    3. 12.3 Electrostatic Discharge Caution
    4. 12.4 Glossary
  13. 13Mechanical, Packaging, and Orderable Information

Package Options

Refer to the PDF data sheet for device specific package drawings

Mechanical Data (Package|Pins)
  • YZF|9
Thermal pad, mechanical data (Package|Pins)
Orderable Information

8 Detailed Description

8.1 Overview

The bq27621-G1 battery 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 State of Charge (%) and Remaining Capacity (mAh). The device is preconfigured with three battery profiles. The default profile is for standard LiCoO2-based batteries with a maximum charge voltage of 4.2 V. The other two profiles that can be selected via I2C commands are for batteries with charging voltages of 4.3 V and 4.35 V.

Unlike some other fuel gauges, the bq27621-G1 fuel gauge cannot be programmed with specific battery chemistry profiles. For many battery types and applications, the predefined standard chemistry profiles available in the bq27621-G1 fuel gauge are sufficient matches from a gauging perspective.

NOTE

Formatting conventions used in this document:

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

Data Memory Configuration Parameter: italics, bold, and breaking spaces, for example: Design Capacity

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

Data Memory Configuration Parameter bits: brackets, italics and bold, for example: [BIE]

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

8.2 Functional Block Diagram

bq27621-G1 typ_app_bq27621.gif

8.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 locations. Commands are sent from system to gauge using the I2C serial communications engine, and can be executed during application development, system manufacture, or end-equipment operation.

The key to the fuel gauging prediction of the bq27621-G1 fuel gauge is Texas Instruments proprietary Dynamic Voltage Correlation algorithm. This algorithm eliminates the need for a sense resistor when calculating remaining battery capacity (mAh) and state-of-charge (%). This algorithm uses cell voltage measurements and cell characteristics to create state-of-charge predictions that can achieve high accuracy across a wide variety of operating conditions.

The fuel gauge estimates charge and discharge activity by monitoring the cell voltage. Cell impedance is computed based on estimated current, open-circuit voltage (OCV), and cell voltage under loaded conditions.

The fuel gauge uses an integrated temperature sensor for estimating cell temperature. Alternatively, the system processor can provide temperature data for the fuel gauge.

8.4 Device Functional Modes

To minimize power consumption, the fuel gauge has several power modes: INITIALIZATION, NORMAL, SLEEP, HIBERNATE, and SHUTDOWN. 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.

The gauge can be configured and used in a matter of minutes by following the Quickstart Guide for bq27621-G1 (SLUUAP5). The information in that document is sufficient for most applications. For further customization and options, more exhaustive details can be found in the bq27621-G1 Technical Reference Manual (SLUUAD4).

Programming

8.4.1 Data Commands

8.4.1.1 Standard Data Commands

The bq27621-G1 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, as indicated in Table 1. 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 bq27621-G1 Technical Reference Manual (SLUUAD4).

NOTE

Data values read by the host may be invalid during initialization for a period of up to 3 seconds.

Table 1. Standard Commands

NAME COMMAND
CODE
UNIT SEALED ACCESS
Control() CNTL 0x00 and 0x01 NA R/W
Temperature() TEMP 0x02 and 0x03 0.1°K R/W
Voltage() VOLT 0x04 and 0x05 mV R
Flags() FLAGS 0x06 and 0x07 NA R
NominalAvailableCapacity() 0x08 and 0x09 mAh R
FullAvailableCapacity() 0x0A and 0x0B mAh R
RemainingCapacity() RM 0x0C and 0x0D mAh R
FullChargeCapacity() FCC 0x0E and 0x0F mAh R
EffectiveCurrent() 0x10 and 0x11 mA R
AveragePower() 0x18 and 0x19 mW R
StateOfCharge() SOC 0x1C and 0x1D % R
InternalTemperature() 0x1E and 0x1F 0.1°K R
RemainingCapacityUnfiltered() 0x28 and 0x29 mAh R
RemainingCapacityFiltered() 0x2A and 0x2B mAh R
FullChargeCapacityUnfiltered() 0x2C and 0x2D mAh R
FullChargeCapacityFiltered() 0x2E and 0x2F mAh R
StateOfChargeUnfiltered() 0x30 and 0x31 mAh R
OperationConfiguration() 0x3A and 0x3B NA R

8.4.1.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 device is in different access modes. Additional details are found in the bq27621-G1 Technical Reference Manual (SLUUAD4).

Table 2. Control() Subcommands

CNTL FUNCTION CNTL DATA SEALED ACCESS DESCRIPTION
CONTROL_STATUS 0x0000 Yes Reports the status of device.
DEVICE_TYPE 0x0001 Yes Reports the device type (0x0621).
FW_VERSION 0x0002 Yes Reports the firmware version of the device.
PREV_MACWRITE 0x0007 Yes Returns previous MAC command code.
CHEM_ID 0x0008 Yes Reports the chemical identifier of the battery profile currently used by the fuel gauging algorithm
BAT_INSERT 0x000C Yes Forces the [BAT_DET] bit set when the [BIE] bit is 0.
BAT_REMOVE 0x000D Yes Forces the [BAT_DET] bit clear when the [BIE] bit is 0.
TOGGLE_POWERMIN 0x0010 Yes Set CONTROL_STATUS [POWERMIN] to 1.
SET_HIBERNATE 0x0011 Yes Forces CONTROL_STATUS [HIBERNATE] to 1.
CLEAR_HIBERNATE 0x0012 Yes Forces CONTROL_STATUS [HIBERNATE] to 0.
SET_CFGUPDATE 0x0013 No Force CONTROL_STATUS [CFGUPMODE] to 1 and gauge enters CONFIG UPDATE mode.
SHUTDOWN_ENABLE 0x001B No Enables device SHUTDOWN mode.
SHUTDOWN 0x001C No Commands the device to enter SHUTDOWN mode.
SEALED 0x0020 No Places the device in SEALED access mode.
TOGGLE_GPOUT 0x0023 Yes Test the GPIO pin by sending a pulse signal
ALT_CHEM1 0x0031 No Selects alternate chemistry 1 (0x1210)
ALT_CHEM2 0x0032 No Selects alternate chemistry 2 (0x354)
RESET 0x0041 No Performs a full device reset.
SOFT_RESET 0x0042 No Gauge exits CONFIG UPDATE mode.
EXIT_CFGUPDATE 0x0043 No Exits CONFIG UPDATE mode without an OCV measurement and without resimulating to update StateOfCharge().
EXIT_RESIM 0x0044 No Exits CONFIG UPDATE mode without an OCV measurement and resimulates with the updated configuration data to update StateOfCharge().

8.4.2 Alternate Chemistry Selection

The fuel gauge allows the user to change the chemistry settings using I2C commands. The default chemistry has a CHEM_ID of 0x1202. The two other CHEM_IDs supported by this device includes CHEM_ID 0x1210 and CHEM_ID 0x354. The detailed procedure to change the chemistry is available in the bq27621-G1 Technical Reference Manual (SLUUAD4).

8.4.3 Communications

8.4.3.1 I2C Interface

The bq27621-G1 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.

bq27621-G1 i2c_packet_format.gif Figure 5. I2C Format

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. The 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:

bq27621-G1 i2c_invalid_write.gif Figure 6. Attempt To Write a Read-only Address (Nack After Data Sent By Master)
bq27621-G1 i2c_invalid_read.gif Figure 7. Attempt To Read an Address Above 0x6B (Nack Command)

8.4.3.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.

8.4.3.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 the 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.

bq27621-G1 i2c_comm_wait.gif Figure 8. I2C Command Wait Time

8.4.3.4 I2C Clock Stretching

A clock stretch of up to 4 ms 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.