0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
BQ27501DRZR

BQ27501DRZR

  • 厂商:

    BURR-BROWN(德州仪器)

  • 封装:

    VFDFN12

  • 描述:

    IC BATT FUEL GAUGE LI-ION 12SON

  • 数据手册
  • 价格&库存
BQ27501DRZR 数据手册
bq27501 System-Side Impedance Track™ Fuel Gauge www.ti.com SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 1 INTRODUCTION 1.1 FEATURES 1.2 • • • • • • • • • • • • Battery Fuel Gauge for 1-Series Li-Ion Applications Resides on System Main Board – Works With Embedded or Removable Battery Packs Works With Battery ID Resistor in Battery Pack Microcontroller Peripheral Provides: – Accurate Battery Fuel Gauging – Internal Temperature Sensor for System Temperature Reporting – Battery Low Interrupt Warning – Battery Insertion Indicator – Battery ID Detection – 96 Bytes of Non-Volatile Scratch-Pad FLASH Battery Fuel Gauge Based on Patented Impedance Track™ Technology – Models the Battery Discharge Curve for Accurate Time-to-Empty Predictions – Automatically Adjusts for Battery Aging, Battery Self-Discharge, and Temperature/Rate Inefficiencies – Low-Value Sense Resistor (10 mΩ or Less) I2C™ Interface for Connection to System Microcontroller Port 12-Pin 2,5-mm × 4-mm SON Package APPLICATIONS Smartphones PDAs Digital Still and Video Cameras Handheld Terminals MP3 or Multimedia Players 1.3 DESCRIPTION The Texas Instruments bq27501 system-side Li-Ion battery fuel gauge is a microcontroller peripheral that provides fuel gauging for single-cell Li-Ion battery packs. The device requires little system microcontroller firmware development. The bq27501 resides on the system main board, and manages an embedded battery (non-removable) or a removable battery pack. The device uses the patented Impedance Track™ algorithm for fuel gauging, and provides information such as remaining battery capacity (mAh), state-of-charge (%), run-time to empty (min.), battery voltage (mV), and temperature (°C). The device works with identification resistors in battery packs to gauge batteries of different fundamental chemistries and/or different rated capacities. TYPICAL APPLICATION Host System LDO Single-Cell Li-Ion Battery Pack Battery Low Warning Power Management Controller 2 I C Voltage Sense RID Sense Temp Sense bq27501 Battery Good PACK+ RID Protection IC T PACK– FETs CHG DSG Current Sense Please be aware that an important notice concerning availability, standard warranty, and use in critical applications of Texas Instruments semiconductor products and disclaimers thereto appears at the end of this document. Impedance Track, bqEASY are trademarks of Texas Instruments. I2C is a trademark of Philips Electronics. PRODUCTION DATA information is current as of publication date. Products conform to specifications per the terms of the Texas Instruments standard warranty. Production processing does not necessarily include testing of all parameters. Copyright © 2008–2009, Texas Instruments Incorporated bq27501 System-Side Impedance Track™ Fuel Gauge SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 www.ti.com Contents 1 INTRODUCTION .......................................... 1 4.3 MANUFACTURER INFORMATION BLOCKS 1.1 FEATURES ........................................... 1 4.4 ACCESS MODES ................................... 17 1.2 APPLICATIONS ...................................... 1 4.5 SEALING/UNSEALING DATA FLASH .............. 17 4.6 DATA FLASH SUMMARY........................... 18 ....................................... DEVICE INFORMATION ................................. 2.1 AVAILABLE OPTIONS ............................... 2.2 DISSIPATION RATINGS ............................. 2.3 PIN DIAGRAMS ...................................... ELECTRICAL SPECIFICATIONS ...................... 3.1 ABSOLUTE MAXIMUM RATINGS ................... 3.2 RECOMMENDED OPERATING CONDITIONS ...... 3.3 POWER-ON RESET.................................. 1.3 2 3 DESCRIPTION 3 5 FUNCTIONAL DESCRIPTION 20 5.1 FUEL GAUGING .................................... 20 3 5.2 IMPEDANCE TRACK™ VARIABLES ............... 20 3 5.3 DETAILED DESCRIPTION OF DEDICATED PINS. 23 4 5.4 TEMPERATURE MEASUREMENT ................. 24 4 5.5 5.6 5 INTERNAL TEMPERATURE SENSOR CHARACTERISTICS ................................. 5 OVERTEMPERATURE INDICATION ............... 25 CHARGING AND CHARGE-TERMINATION INDICATION......................................... 25 5.7 POWER MODES .................................... 25 5.8 POWER CONTROL ................................. 28 3.5 HIGH-FREQUENCY OSCILLATOR .................. 5 5.9 AUTOCALIBRATION ................................ 29 3.6 3.7 LOW-FREQUENCY OSCILLATOR .................. 5 INTEGRATING ADC (COULOMB COUNTER) CHARACTERISTICS ................................. 6 ADC (TEMPERATURE AND CELL MEASUREMENT) CHARACTERISTICS ............. 6 3.8 3.9 3.10 4 6 7 DATA FLASH MEMORY CHARACTERISTICS ...... 6 I2C-COMPATIBLE INTERFACE COMMUNICATION TIMING CHARACTERISTICS ........................ 7 APPLICATION-SPECIFIC INFORMATION .......... 29 6.1 BATTERY PROFILE STORAGE AND SELECTION 29 6.2 APPLICATION-SPECIFIC FLOW AND CONTROL . 30 COMMUNICATIONS .................................... 31 7.1 I2C INTERFACE ..................................... 31 7.2 I2C TIME OUT ....................................... 31 7.3 I2C Command Waiting Time ........................ 32 GENERAL DESCRIPTION .............................. 8 8 REFERENCE SCHEMATICS .......................... 33 .................................. 9 DATA FLASH INTERFACE ......................... 16 8 REFERENCE SCHEMATICS .......................... 34 4.1 4.2 8.1 DATA COMMANDS 8.1 2 ........................ 17 3 3.4 4 1 ...... Contents SCHEMATIC ........................................ 33 SCHEMATIC ........................................ 34 Submit Documentation Feedback bq27501 System-Side Impedance Track™ Fuel Gauge www.ti.com SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 2 DEVICE INFORMATION 2.1 AVAILABLE OPTIONS PART NUMBER FIRMWARE VERSION (1) PACKAGE (2) TA COMMUNICATION FORMAT 1.20 12-pin, 2,5-mm × 4-mm SON –40°C to 85°C I2C bq27501DRZR bq27501DRZT (1) (2) TAPE and REEL QUANTITY 3000 250 Ordering the device with the latest firmware version is recommended. To check the firmware revision and Errata list see SLUZ015 For the most current package and ordering information, see the Package Option Addendum at the end of this document, or see the TI website at www.ti.com. 2.2 DISSIPATION RATINGS (1) PACKAGE TA ≤ 40°C POWER RATING DERATING FACTOR TA > 40°C RθJA 12-pin DRZ (1) 482 mW 5.67 mW/°C 176°C/W This data is based on using a four-layer JEDEC high-K board with the exposed die pad connected to a Cu pad on the board. The board pad is connected to the ground plane by a 2- × 2-via matrix. 2.3 PIN DIAGRAMS BAT_LOW 1 12 BAT_GD BI/TOUT 2 11 SCL TS 3 10 SDA BAT 4 9 RID VCC 5 8 SRN VSS 6 7 SRP bq27501 Table 2-1. PIN FUNCTIONS PIN NAME PIN NO. TYPE (1) DESCRIPTION BAT 4 I Cell-voltage measurement input. ADC input. Decouple with 0.1µF capacitor. BAT_GD 12 O Battery-good indicator. Active-low by default, though polarity can be configured through the [BATG_POL] of Operation Configuration. Open-drain output BAT_LOW 1 O Battery-low output indicator. Active-high by default, though polarity can be configured through the [BATL_POL] in Operation Configuration. Push-pull output BI/TOUT 2 I/O Battery-insertion detection input. Power pin for pack thermistor network. Thermistor multiplexer control pin. Push-pull output. Use with pullup resistor > 1 MΩ (1.8 MΩ typical). RID 9 I Resistor ID input. Analog input with current sourcing capabilities SCL 11 I Slave I2C serial communications clock input line for communication with system (master). Open-drain I/O. Use with 10-kΩ pullup resistor (typical). SDA 10 I/O Slave I2C serial communications data line for communication with system (master). Open-drain I/O. Use with 10-kΩ pullup resistor (typical). SRN 8 IA Analog input pin connected to the internal coulomb counter where SRN is nearest the System VSS connection. Connect to 5-mΩ to 20-mΩ sense resistor. SRP 7 IA Analog input pin connected to the internal coulomb counter, where SRP is nearest the PACK– connection. Connect to 5-mΩ to 20-mΩ sense resistor. TS 3 IA Pack thermistor voltage sense (require the use of NTC 103AT-type thermistor). ADC input VCC 5 P Processor power input. Decouple with 0.1-µF minimum capacitor. VSS 6 P Device ground. Electrically connected to the IC exposed thermal pad (do not use thermal pad as primary ground. Connect thermal pad to Vss via a PCB trace). (1) I = Digital input, O = Digital output, I/O = Digital input/output, IA = Analog input, P = Power connection Submit Documentation Feedback DEVICE INFORMATION 3 bq27501 System-Side Impedance Track™ Fuel Gauge SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 www.ti.com 3 ELECTRICAL SPECIFICATIONS 3.1 ABSOLUTE MAXIMUM RATINGS over operating free-air temperature range (unless otherwise noted) (1) PARAMETER VALUE UNIT VCC Supply voltage range –0.3 to 2.75 V VIOD Open-drain I/O pins (SDA, SDL, BAT_GD) –0.3 to 6 V VBAT BAT input pin –0.3 to 6 VI Input voltage range to all other pins (BI/TOUT, TS, SRP, SRN, RID) Human-body model (HBM), BAT pin ESD –0.3 to VCC + 0.3 V 1.5 Human-body model (HBM), all other pins kV 2 TA Operating free-air temperature range –40 to 85 °C TF Functional temperature range –40 to 100 °C Tstg Storage temperature range –65 to 150 °C (1) Stresses beyond those listed under "absolute maximum ratings" may cause permanent damage to the device. These are stress ratings only, and functional operation of the device at these or any other conditions beyond those indicated under "recommended operating conditions" is not implied. Exposure to absolute-maximum-rated conditions for extended periods may affect device reliability. 3.2 RECOMMENDED OPERATING CONDITIONS TA = –40°C to 85°C; Typical values at TA = 25°C and VCC = 2.5 V (unless otherwise noted) PARAMETER VCC TEST CONDITIONS Supply voltage MIN TYP MAX 2.4 2.5 2.6 UNIT V ICC Normal operating-mode current Fuel gauge in NORMAL mode. ILOAD > Sleep Current ISLP+ Sleep+ operating-mode current Fuel gauge in SLEEP+ mode. ILOAD < Sleep Current 58 µA ISLP Low-power storage-mode current Fuel gauge in SLEEP mode. ILOAD < Sleep Current 19 µA IHIB Hibernate operating-mode current Fuel gauge in HIBERNATE mode. ILOAD < Hibernate Current 4 µA VOL Output voltage, low (SDA, BAT_LOW, BI/TOUT) IOL = 3 mA VOH(PP) Output voltage, high (BAT_LOW, BI/TOUT) IOH = –1 mA VCC – 0.5 V Output voltage, high (SDA, SCL, BAT_GD) External pullup resistor connected to VCC VCC – 0.5 V VOH(OD) VIL Input voltage, low (SDA, SCL) Input voltage, low (BI/TOUT) BAT INSERT CHECK MODE active Input voltage, high (SDA, SCL) VIH(OD) Input voltage, high (BI/TOUT) BAT INSERT CHECK MODE active 114 µA 0.4 –0.3 0.6 –0.3 0.6 1.2 6 1.2 VCC + 0.3 V CIN Input capacitance (SDA, SCL, BI/TOUT) VA1 Input voltage range (TS, RID) VSS – 0.125 2 V VA2 Input voltage range (BAT) VSS – 0.125 5 V VA3 Input voltage range (SRP, SRN) VSS – 0.125 0.125 V Ilkg Input leakage current (I/O pins) 0.3 µA tPUCD Power-up communication delay 4 ELECTRICAL SPECIFICATIONS 35 V 250 pF ms Submit Documentation Feedback bq27501 System-Side Impedance Track™ Fuel Gauge www.ti.com 3.3 SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 POWER-ON RESET TA = –40°C to 85°C, typical values at TA = 25°C and VBAT = 3.6 V (unless otherwise noted) PARAMETER TEST CONDITIONS VIT+ Positive-going battery voltage input at VCC VHYS Hysteresis voltage 3.4 MIN TYP MAX UNIT 2.09 2.2 2.31 V 45 115 185 mV INTERNAL TEMPERATURE SENSOR CHARACTERISTICS TA = –40°C to 85°C, 2.4 V < VCC < 2.6 V; typical values at TA = 25°C and VCC = 2.5 V (unless otherwise noted) PARAMETER GTEMP 3.5 TEST CONDITIONS MIN Temperature sensor voltage gain TYP MAX UNIT –2 mV/°C HIGH-FREQUENCY OSCILLATOR TA = –40°C to 85°C, 2.4 V < VCC < 2.6 V; typical values at TA = 25°C and VCC = 2.5 V (unless otherwise noted) PARAMETER fOSC TEST CONDITIONS Frequency error (1) –2% 0.38% MAX UNIT MHz 2% TA = –20°C to 70°C –3% 0.38% 3% TA = –40°C to 85°C –4.5% 0.38% 4.5% 2.5 5 Start-up time (3) tSXO (1) (2) (3) (2) TYP 2.097 TA = 0°C to 60°C fEIO MIN Operating frequency ms The frequency error is measured from 2.097 MHz. The frequency drift is included and measured from the trimmed frequency at VCC = 2.5 V, TA = 25°C. The start-up time is defined as the time it takes for the oscillator output frequency to be within ±3% of typical oscillator frequency. 3.6 LOW-FREQUENCY OSCILLATOR TA = –40°C to 85°C, 2.4 V < VCC < 2.6 V; typical values at TA = 25°C and VCC = 2.5 V (unless otherwise noted) PARAMETER fLOSC fLEIO tLSXO (1) (2) (3) TEST CONDITIONS MIN Operating frequency Frequency error (1) (2) Start-up time (3) TYP MAX 32.768 UNIT kHz TA = 0°C to 60°C –1.5% 0.25% 1.5% TA = –20°C to 70°C –2.5% 0.25% 2.5% TA = –40°C to 85°C –4% 0.25% 4% 500 µs The frequency drift is included and measured from the trimmed frequency at VCC = 2.5 V, TA = 25°C. The frequency error is measured from 32.768 kHz. The start-up time is defined as the time it takes for the oscillator output frequency to be within ±3% of typical oscillator frequency. Submit Documentation Feedback ELECTRICAL SPECIFICATIONS 5 bq27501 System-Side Impedance Track™ Fuel Gauge SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 3.7 www.ti.com INTEGRATING ADC (COULOMB COUNTER) CHARACTERISTICS TA = –40°C to 85°C, 2.4 V < VCC < 2.6 V; typical values at TA = 25°C and VCC = 2.5 V (unless otherwise noted) PARAMETER TEST CONDITIONS VI(SR) Input voltage range (VSR = V(SRN) – V(SRP)) tSR_CONV Conversion time –0.125 Input offset INL Integral nonlinearity error ZIN(SR) Effective input resistance (1) 3.8 MAX UNIT 0.125 V 1 s 14 VOS(SR) Ilkg(SR) TYP Single conversion Resolution (1) MIN Input leakage current 15 bits µV 10 ±0.007 ±0.034 % FSR 2.5 MΩ (1) 0.3 µA MAX UNIT Specified by design. Not tested in production. ADC (TEMPERATURE AND CELL MEASUREMENT) CHARACTERISTICS TA = –40°C to 85°C, 2.4 V < VCC < 2.6 V; typical values at TA = 25°C and VCC = 2.5 V (unless otherwise noted) PARAMETER VIN(ADC) Input voltage range tADC_CONV Conversion time TEST CONDITIONS MIN –0.2 Resolution Input offset ZIN(ADC1) Effective input resistance (TS, RID) (1) ZIN(ADC2) Effective input resistance (BAT) (1) Ilkg(ADC) Input leakage current (1) 3.9 1 14 VOS(ADC) (1) TYP ms 15 bits 1 bq27501 not measuring cell voltage bq27501 measuging cell voltage V 125 mV 8 MΩ 8 MΩ 100 kΩ 0.3 µA Specified by design. Not tested in production. DATA FLASH MEMORY CHARACTERISTICS TA = –40°C to 85°C, 2.4 V < VCC < 2.6 V; typical values at TA = 25°C and VCC = 2.5 V (unless otherwise noted) PARAMETER TEST CONDITIONS Data retention (1) tON Flash-programming write cycles (1) Word programming time ICCPROG Flash-write supply current (1) 6 TYP MAX UNIT 10 Years 20,000 Cycles (1) tWORDPROG (1) MIN 5 2 ms 10 mA Specified by design. Not production tested ELECTRICAL SPECIFICATIONS Submit Documentation Feedback bq27501 System-Side Impedance Track™ Fuel Gauge www.ti.com 3.10 SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 I2C-COMPATIBLE INTERFACE COMMUNICATION TIMING CHARACTERISTICS TA = –40°C to 85°C, 2.4 V < VCC < 2.6 V; typical values at TA = 25°C and VCC = 2.5 V (unless otherwise noted) PARAMETER TEST CONDITIONS MIN TYP MAX UNIT tr SCL/SDA rise time 300 ns tf SCL/SDA fall time 300 ns tw(H) SCL pulse duration (high) tw(L) tsu(STA) 600 ns SCL pulse duration (low) 1.3 µs Setup for repeated start 600 ns td(STA) Start to first falling edge of SCL 600 ns tsu(DAT) Data setup time 1000 ns th(DAT) Data hold time 0 ns tsu(STOP) Setup time for stop t(BUF) Bus free time between stop and start fSCL Clock frequency 600 ns 66 µs 400 kHz Figure 3-1. I2C-Compatible Interface Timing Diagrams Submit Documentation Feedback ELECTRICAL SPECIFICATIONS 7 bq27501 System-Side Impedance Track™ Fuel Gauge SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 www.ti.com 4 GENERAL DESCRIPTION The bq27501 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 (SOC), time-to-empty (TTE) and time-to-full (TTF). 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 bq27501 control and status registers, as well as its data flash locations. Commands are sent from system to gauge using the bq27501 I2C serial communications engine, and can be executed during application development, pack manufacture, or end-equipment operation. Cell information is stored in the bq27501 in non-volatile flash memory. Many of these data flash locations are accessible during application development. They cannot be accessed directly during end-equipment operation. Access to these locations is achieved by either use of the bq27501 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 bq27501 provides 96 bytes of user-programmable data flash memory, partitioned into three 32-byte blocks: Manufacturer Info Block A, Manufacturer Info Block B, and Manufacturer Info Block C. This data space is accessed through a data flash interface. For specifics on accessing the data flash, see Section 4.3, Manufacturer Information Blocks. The key to the high-accuracy fuel gauging prediction of the bq27501 is Texas Instruments' proprietary Impedance Track™ algorithm. This algorithm uses cell measurements, characteristics, and properties to create state-of-charge predictions that can achieve less than 1% error across a wide variety of operating conditions and over the lifetime of the battery. The bq27501 measures charge/discharge activity by monitoring the voltage across a small-value series sense resistor (5 mΩ to 20 mΩ, typ.) located between the system Vss and the battery PACK– terminal. When a cell is attached to the bq27501, cell impedance is computed, based on cell current, cell open-circuit voltage (OCV), and cell voltage under loading conditions. The bq27501 external temperature sensing is optimized with the use of a high accuracy negative temperature coefficient (NTC) thermistor with R25 = 10.0KΩ ± 1% and B25/85 = 3435K ± 1% (such as Semitec 103AT for measurement). The bq27501 can also be configured to use its internal temperature sensor. When an external themistor is used, a 18.2k pull up resistor between BT/TOUT and TS pins is also required. The bq27501 uses temperature to monitor the battery-pack environment, which is used for fuel gauging and cell protection functionality. To minimize power consumption, the bq27501 has deferential power modes: BAT INSERT CHECK, NORMAL, SLEEP+, SLEEP and HIBERNATE. The bq27501 passes automatically between these modes, depending upon the occurrence of specific events, though a system processor can initiate some of these modes directly. More details can be found in Section 5.7, Power Modes. NOTE FORMATTING CONVENTIONS IN THIS DOCUMENT: Commands: italics with parentheses and no breaking spaces, e.g., RemainingCapacity( ). Data flash: italics, bold, and breaking spaces, e.g., Design Capacity Register bits and flags: brackets and italics, e.g., [TDA] Data flash bits: brackets, italics and bold, e.g., [LED1] Modes and states: ALL CAPITALS, e.g., UNSEALED mode. 8 GENERAL DESCRIPTION Submit Documentation Feedback bq27501 System-Side Impedance Track™ Fuel Gauge www.ti.com SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 4.1 DATA COMMANDS 4.1.1 STANDARD DATA COMMANDS The bq27501 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 4-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 options for transferring data, such as spooling, are described in Section 7, I2C Interface. Standard commands are accessible in NORMAL operation. Table 4-1. Standard Commands NAME COMMAND CODE UNITS SEALED ACCESS Control( ) CNTL 0x00 / 0x01 N/A R/W AtRate( ) AR 0x02 / 0x03 mA R/W AtRateTimeToEmpty( ) ARTTE 0x04 / 0x05 Minutes R Temperature( ) TEMP 0x06 / 0x07 0.1 K R Voltage( ) VOLT 0x08 / 0x09 mV R FLAGS 0x0a / 0x0b N/A R NominalAvailableCapacity( ) NAC 0x0c / 0x0d mAh R FullAvailableCapacity( ) FAC 0x0e / 0x0f mAh R RemainingCapacity( ) RM 0x10 / 0x11 mAh R FullChargeCapacity( ) FCC 0x12 / 0x13 mAh R Flags( ) AverageCurrent( ) AI 0x14 / 0x15 mA R TimeToEmpty( ) TTE 0x16 / 0x17 Minutes R TimeToFull( ) TTF 0x18 / 0x19 Minutes R SI 0x1a / 0x1b mA R STTE 0x1c / 0x1d Minutes R MLI 0x1e / 0x1f mA R MLTTE 0x20 / 0x21 Minutes R AvailableEnergy( ) AE 0x22 / 0x23 mWh R AveragePower( ) AP 0x24 / 0x25 mW R TimeToEmptyAtConstantPower( ) TTECP 0x26 / 0x27 Minutes R Reserved RSVD 0x28 / 0x29 N/A R CC 0x2a / 0x2b Counts R SOC 0x2c / 0x2d % R StandbyCurrent( ) StandbyTimeToEmpty( ) MaxLoadCurrent( ) MaxLoadTimeToEmpty( ) CycleCount( ) StateOfCharge( ) Submit Documentation Feedback GENERAL DESCRIPTION 9 bq27501 System-Side Impedance Track™ Fuel Gauge SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 www.ti.com 4.1.1.1 Control( ): 0x00/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 bq27501 during normal operation and additional features when the bq27501 is in different access modes, as described in Table 4-2. Table 4-2. Control( ) Subcommands CNTL DATA SEALED ACCESS CONTROL_STATUS 0x0000 Yes Reports the status of DF checksum, hibernate, IT, etc. DEVICE_TYPE 0x0001 Yes Reports the device type (eg: "bq27501") FW_VERSION 0x0002 Yes Reports the firmware version on the device type HW_VERSION 0x0003 Yes Reports the hardware version of the device type DF_CHECKSUM 0x0004 No Enables a data flash checksum to be generated and reports on a read RESET_DATA 0x0005 Yes Returns reset data Reserved 0x0006 No Not to be used PREV_MACWRITE 0x0007 Yes Returns previous MAC command 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_INT_OFFSET 0x000a No Forces the device to measure the internal CC offset WRITE_CC_OFFSET 0x000b No Forces the device to store the internal CC offset 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 SEALED 0x0020 No Places the bq27501 in SEALED access mode IT_ENABLE 0x0021 No Enables the Impedance Track™ algorithm CAL_MODE 0x0040 No Places the bq27501 in calibration mode RESET 0x0041 No Forces a full reset of the bq27501 CNTL FUNCTION DESCRIPTION 4.1.1.1.1 CONTROL_STATUS: 0x0000 Instructs the fuel gauge to return status information to control addresses 0x00/0x01. The status word includes the following information. Table 4-3. CONTROL_STATUS Bit Definitions Flags( ) High byte Low byte bit7 – – bit6 FAS HIBERNATE bit5 SS SNOOZE bit4 CSV SLEEP bit3 CCA LDMD bit2 BCA RUP_DIS bit1 – VOK bit0 – QEN FAS = Status bit indicating the bq27501 is in FULL ACCESS SEALED state. Active when set. SS = Status bit indicating the bq27501 is in SEALED state. Active when set. CSV = Status bit indicating a valid data flash checksum has been generated. Active when set. CCA = Status bit indicating the bq27501 coulomb counter calibration routine is active. Active when set. The first CCA routine will take place approximately 3 minutes and 45 seconds after the initialization BCA = Status bit indicating the bq27501 board calibration routine is active. Active when set. HIBERNATE = Status bit indicating a request for entry into HIBERNATE from SLEEP mode. True when set. Default is 0. SNOOZE = Status bit indicating the bq27501 SLEEP+ mode is enabled. True when set SLEEP = Status bit indicating the bq27501 is in SLEEP mode. True when set. LDMD = Status bit indicating the bq27501 Impedance Track™ algorithm is using constant-power mode. True when set. Default is 0 (constant-current mode). RUP_DIS = Status bit indicating the bq27501 Ra table updates are disabled. Updates disabled when set. VOK = Status bit indicating the bq27501 voltages are okay for Qmax. True when set. QEN = Status bit indicating the bq27501 Qmax updates enabled. True when set. 10 GENERAL DESCRIPTION Submit Documentation Feedback bq27501 System-Side Impedance Track™ Fuel Gauge www.ti.com SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 4.1.1.1.2 DEVICE_TYPE: 0x0001 Instructs the fuel gauge to return the device type to addresses 0x00/0x01. 4.1.1.1.3 FW_VERSION: 0x0002 Instructs the fuel gauge to return the firmware version to addresses 0x00/0x01. 4.1.1.1.4 HW_VERSION: 0x0003 Instructs the fuel gauge to return the hardware version to addresses 0x00/0x01. 4.1.1.1.5 DF_CHECKSUM: 0x0004 Instructs the fuel gauge to compute the checksum of the data flash memory. Once the checksum has been calculated and stored, CONTROL_STATUS [CVS] is set. The checksum value is written and returned to addresses 0x00/0x01 (UNSEALED mode only). The checksum is not calculated in SEALED mode; however, the checksum value can still be read. 4.1.1.1.6 RESET_DATA: 0x0005 Instructs the fuel gauge to return the reset data to addresses 0x00/0x01. 4.1.1.1.7 PREV_MACWRITE: 0x0007 Instructs the fuel gauge to return the previous command written to addresses 0x00/0x01. 4.1.1.1.8 CHEM_ID: 0x0008 Instructs the fuel gauge to return the chemical identifier for the Impedance Track™ configuration to addresses 0x00/0x01. 4.1.1.1.9 BOARD_OFFSET: 0X0009 Instructs the fuel gauge to compute the coulomb counter offset with internal short and then without internal short applied across the sensing resistor (SR) inputs. The difference between the two measurements is the board offset. After a delay of approximately 32 seconds, this offset value is returned to addresses 0x00/0x01 and written to data flash. The CONROL STATUS [BCA] is also set. The user must prevent any charge or discharge current from flowing during the process. This function is only available when the fuel gauge is UNSEALED. When SEALED, this command only reads back the board-offset value stored in data flash. 4.1.1.1.10 CC_INT_OFFSET: 0X000A Control data of 0x000a instructs the fuel gauge to compute the coulomb counter offset with internal short applied across the SR inputs. The offset value is returned to addresses 0x00/0x01, after a delay of approximately 16 seconds. This function is only available when the fuel gauge is UNSEALED. When SEALED, this command only reads back the CC_INT_OFFSET value stored in data flash. 4.1.1.1.11 WRITE_OFFSET: 0X000B Control data of 0x000b causes the fuel gauge to write the coulomb counter offset to data flash. 4.1.1.1.12 SET_HIBERNATE: 0x0011 Instructs the fuel gauge to force the CONTROL_STATUS [HIBERNATE] bit to 1. This allows the gauge to enter the HIBERNATE power mode after the transition to SLEEP power state is detected. The [HIBERNATE] bit is automatically cleared upon exiting from HIBERNATE mode. 4.1.1.1.13 CLEAR_HIBERNATE: 0x0012 Instructs the fuel gauge to force the CONTROL_STATUS [HIBERNATE] bit to 0. This prevents the gauge from entering the HIBERNATE power mode after the transition to the SLEEP power state is detected. It can also be used to force the gauge out of HIBERNATE mode. Submit Documentation Feedback GENERAL DESCRIPTION 11 bq27501 System-Side Impedance Track™ Fuel Gauge SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 www.ti.com 4.1.1.1.14 ENABLE SLEEP+ MODE: 0X0013 Instructs the fuel gauge to set the CONTROL_STATUS [SNOOZE] bit to 1. This will enable the SLEEP+ mode. The gauge will enter SLEEP+ power mode after the transition conditions are meet. 4.1.1.1.15 DISABLE SLEEP+ MODE: 0X0014 Instructs the fuel gauge to set the CONTROL_STATUS [SNOOZE] bit to 0. This will disable the SLEEP+ mode. The gauge will exit from the SLEEP+ power mode after the SNOOZ bit is cleared. 4.1.1.1.16 SEALED: 0x0020 Instructs the fuel gauge to transition from the UNSEALED state to the SEALED state. The fuel gauge must always be set to the SEALED state for use in end equipment. 4.1.1.1.17 IT_ENABLE: 0x0021 This command forces the fuel gauge to begin the Impedance Track™ algorithm, sets the active UpdateStatus n location to 0x01 and causes the [VOK] and [QEN] flags to be set in the CONTROL_STATUS register. [VOK] is cleared if the voltages are not suitable for a Qmax update. Once set, [QEN] cannot be cleared. This command is only available when the fuel gauge is UNSEALED. 4.1.1.1.18 CAL_MODE: 0X0040 This command instructs the fuel gauge to enter calibration mode. This command is only available when the fuel gauge is UNSEALED. 4.1.1.1.19 RESET: 0x0041 This command instructs the fuel gauge to perform a full reset. This command is only available when the fuel gauge is UNSEALED. 4.1.1.2 AtRate( ): 0x02/0x03 The AtRate( ) read-/write function is the first half of a two-function command set used to set the AtRate value used in calculations made by the AtRateTimeToEmpty( ) function. The AtRate( ) units are in mA. The AtRate( ) value is a signed integer, with negative values interpreted as a discharge current value. The AtRateTimeToEmpty( ) function returns the predicted operating time at the AtRate value of discharge. The default value for AtRate( ) is zero and forces AtRateTimeToEmpty( ) to return 65,535. Both the AtRate( ) and AtRateTimeToEmpty( ) commands must only be used in NORMAL mode. 4.1.1.3 AtRateTimeToEmpty( ): 0x04/0x05 This read-only function returns an unsigned integer value of the predicted remaining operating time if the battery is discharged at the AtRate( ) value in minutes with a range of 0 to 65,534. A value of 65,535 indicates AtRate( ) = 0. The fuel gauge updates AtRateTimeToEmpty( ) within 1 s after the system sets the AtRate( ) value. The fuel gauge automatically updates AtRateTimeToEmpty( ) based on the AtRate( ) value every 1 s. Both the AtRate( ) and AtRateTimeToEmpty( ) commands must only be used in NORMAL mode. 4.1.1.4 Temperature( ): 0x06/0x07 This read-only function returns an unsigned integer value of the temperature in units of 0.1 K measured by the fuel gauge. 4.1.1.5 Voltage( ): 0x08/0x09 This read-only function returns an unsigned integer value of the measured cell-pack voltage in mV with a range of 0 to 6,000 mV. 4.1.1.6 Flags( ): 0x0a/0x0b This read-only function returns the contents of the fuel-gauge status register, depicting the current operating status. 12 GENERAL DESCRIPTION Submit Documentation Feedback bq27501 System-Side Impedance Track™ Fuel Gauge www.ti.com SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 Table 4-4. Flags Bit Definitions High byte Low byte bit7 OTC – bit6 OTD – bit5 – OCV_GD bit4 – WAIT_ID bit3 CHG_INH BAT_DET bit2 XCHG SOC1 bit1 FC SOCF bit0 CHG DSG OTC = Overtemperature in charge condition is detected. True when set. OTD = Overtemperature in discharge condition is detected. True when set. CHG_INH = Charge inhibit: unable to begin charging (temperature outside the range [Charge Inhibit Temp Low, Charge Inhibit Temp High]). True when set. XCHG = Charge suspend alert (temperature outside the range [Suspend Temp Low, Suspend Temp High]). True when set. FC = Fully charged. Set when charge termination condition is met (RMFCC = 1; Set FC_Set% = -1% when RMFCC = 0) . True when set. CHG = (Fast) charging allowed. True when set. OCV_GD = Good OCV measurement taken. True when set. WAIT_ID = Waiting to identify inserted battery. True when set. BAT_DET = Battery detected. True when set. SOC1 = State-of-charge threshold 1 (SOC1 Set Threshold) reached. True when set. SOCF = State-of-charge threshold final (SOCF Set Threshold) reached. True when set. DSG = Discharging detected. True when set. 4.1.1.7 NominalAvailableCapacity( ): 0x0c/0x0d This read-only command pair returns the uncompensated (less than C/20 load) battery capacity remaining. Units are mAh. 4.1.1.8 FullAvailableCapacity( ): 0x0e/0x0f This read-only command pair returns the uncompensated (less than C/20 load) capacity of the battery when fully charged. Units are mAh. FullAvailableCapacity( ) is updated at regular intervals, as specified by the IT algorithm. 4.1.1.9 RemainingCapacity( ): 0x10/0x11 This read-only command pair returns the compensated battery capacity remaining. Units are mAh. 4.1.1.10 FullChargeCapacity( ): 0x12/13 This read-only command pair returns the compensated capacity of the battery when fully charged. Units are mAh. FullChargeCapacity( ) is updated at regular intervals, as specified by the IT algorithm. 4.1.1.11 AverageCurrent( ): 0x14/0x15 This read-only command pair returns a signed integer value that is the average current flow through the sense resistor. It is updated every 1 second. Units are mA. 4.1.1.12 TimeToEmpty( ): 0x16/0x17 This read-only function returns an unsigned integer value of the predicted remaining battery life at the present rate of discharge, in minutes. A value of 65,535 indicates battery is not being discharged. 4.1.1.13 TimeToFull( ): 0x18/0x19 This read-only function returns an unsigned integer value of predicted remaining time until the battery reaches full charge, in minutes, based upon AverageCurrent( ). The computation accounts for the taper current time extension from the linear TTF computation based on a fixed AverageCurrent( ) rate of charge accumulation. A value of 65,535 indicates the battery is not being charged. 4.1.1.14 StandbyCurrent( ): 0x1a/0x1b This read-only function returns a signed integer value of the measured standby current through the sense resistor. The StandbyCurrent( ) is an adaptive measurement. Initially it reports the standby current programmed in Initial Standby, and after spending several seconds in standby, reports the measured standby current. Submit Documentation Feedback GENERAL DESCRIPTION 13 bq27501 System-Side Impedance Track™ Fuel Gauge SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 www.ti.com The register value is updated every 1 second when the measured current is above the Deadband in Table 4-7 and is less than or equal to 2 × Initial Standby. The first and last values that meet this criteria are not averaged in, because they may not be stable values. To approximate a 1-minute time constant, each new StandbyCurrent( ) value is computed by taking approximate 93% weight of the last standby current and approximate 7% of the current measured average current. 4.1.1.15 StandbyTimeToEmpty( ): 0x1c/0x1d This read-only function returns an unsigned integer value of the predicted remaining battery life at the standby rate of discharge, in minutes. The computation uses Nominal Available Capacity (NAC), the uncompensated remaining capacity, for this computation. A value of 65,535 indicates battery is not being discharged. 4.1.1.16 MaxLoadCurrent( ): 0x1e/0x1f This read-only function returns a signed integer value, in units of mA, of the maximum load conditions. The MaxLoadCurrent( ) is an adaptive measurement which is initially reported as the maximum load current programmed in Initial Max Load Current. If the measured current is ever greater than Initial Max Load Current, then MaxLoadCurrent( ) updates to the new current. MaxLoadCurrent( ) is reduced to the average of the previous value and Initial Max Load Current whenever the battery is charged to full after a previous discharge to an SOC less than 50%. This prevents the reported value from maintaining an unusually high value. 4.1.1.17 MaxLoadTimeToEmpty( ): 0x20/0x21 This read-only function returns an unsigned integer value of the predicted remaining battery life at the maximum load current discharge rate, in minutes. A value of 65,535 indicates that the battery is not being discharged. 4.1.1.18 AvailableEnergy( ): 0x22/0x23 This read-only function returns an unsigned integer value of the predicted charge or energy remaining in the battery. The value is reported in units of mWh. 4.1.1.19 AveragePower( ): 0x24/0x25 This read-only function returns an signed integer value of the average power during battery charging and discharging. It is negative during discharge and positive during charge. A value of 0 indicates that the battery is not being discharged. The value is reported in units of mW. 4.1.1.20 TimeToEmptyAtConstantPower( ): 0x26/0x27 This read-only function returns an unsigned integer value of the predicted remaining operating time if the battery is discharged at the AveragePower( ) value in minutes. A value of 65,535 indicates AveragePower( ) = 0. The fuel gauge automatically updates TimeToEmptyatContantPower( ) based on the AveragePower( ) value every 1 s. 4.1.1.21 CycleCount( ): 0x2a/0x2b This read-only function returns an unsigned integer value of the number of cycles the battery has experienced with a range of 0 to 65,535. One cycle occurs when accumulated discharge ≥ CC Threshold. 4.1.1.22 StateOfCharge( ): 0x2c/0x2d This read-only function returns an unsigned integer value of the predicted remaining battery capacity expressed as a percentage of FullChargeCapacity( ), with a range of 0 to 100%. 4.1.2 EXTENDED DATA COMMANDS Extended commands offer additional functionality beyond the standard set of commands. They are used in the same manner; however, unlike standard commands, extended commands are not limited to 2-byte words. The number of commands bytes for a given extended command ranges in size from single to multiple bytes, as specified in Table 4-5. 14 GENERAL DESCRIPTION Submit Documentation Feedback bq27501 System-Side Impedance Track™ Fuel Gauge www.ti.com SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 Table 4-5. Extended Data Commands COMMAND CODE NAME UNITS SEALED ACCESS (1) (2) UNSEALED ACCESS (1) (2) R Reserved RSVD 0x34...0x3b N/A R DesignCapacity( ) DCAP 0x3c / 0x3d mAh R R DataFlashClass( ) (2) DFCLS 0x3e N/A N/A R/W DataFlashBlock( ) (2) DFBLK 0x3f N/A R/W R/W BlockData( ) DFD 0x40…0x5f N/A R R/W BlockDataCheckSum( ) DFDCKS 0x60 N/A R/W R/W BlockDataControl( ) DFDCNTL 0x61 N/A N/A R/W DNAMELEN 0x62 N/A R R DNAME 0x63...0x69 N/A R R APPSTAT 0x6a N/A R R RSVD 0x6b...0x7f N/A R R DeviceNameLength( ) DeviceName( ) ApplicationStatus( ) Reserved (1) (2) SEALED and UNSEALED states are entered via commands to CNTL 0x00/0x01. In sealed mode, data flash CANNOT be accessed through commands 0x3e and 0x3f. 4.1.2.1 DesignCapacity( ): 0x3c/0x3d SEALED and UNSEALED Access: This command returns the theoretical or nominal capacity of a new pack. The value is stored in Design Capacity and is expressed in mAh. This is intended to be the theoretical or nominal capacity of a new pack, but has no bearing on the operation of the fuel gauge functionality. 4.1.2.2 DataFlashClass( ): 0x3e UNSEALED Access: This command sets the data flash class to be accessed. The class to be accessed must be entered in hexadecimal. SEALED Access: This command is not available in SEALED mode. 4.1.2.3 DataFlashBlock( ): 0x3f UNSEALED Access: This command sets the data flash block to be accessed. When 0x00 is written to BlockDataControl( ), DataFlashBlock( ) holds the block number of the data flash to be read or written. Example: writing a 0x00 to DataFlashBlock( ) specifies access to the first 32-byte block, a 0x01 specifies access to the second 32-byte block, and so on. SEALED Access: This command directs which data flash block is accessed by the BlockData( ) command. Writing a 0x00 to DataFlashBlock( ) specifies that the BlockData( ) command transfers authentication data. Issuing a 0x01, 0x02, or 0x03 instructs the BlockData( ) command to transfer Manufacturer Info Block A, B, or C, respectively. 4.1.2.4 BlockData( ): 0x40…0x5f This command range is the 32-byte data block used to access Manufacturer Info Block A, B, or C. UNSEALED access is read/write. SEALED access is read only. 4.1.2.5 BlockDataChecksum( ): 0x60 UNSEALED Access: This byte contains the checksum on the 32 bytes of block data read or written to data flash. The least-significant byte of the sum of the data bytes written must be complemented ([255 – x], for x the least-significant byte) before being written to 0x60. SEALED Access: This byte contains the checksum for the 32 bytes of block data written to Manufacturer Info Block A, B, or C. The least-significant byte of the sum of the data bytes written must be complemented ([255 – x], for x the least-significant byte) before being written to 0x60. Submit Documentation Feedback GENERAL DESCRIPTION 15 bq27501 System-Side Impedance Track™ Fuel Gauge SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 www.ti.com 4.1.2.6 BlockDataControl( ): 0x61 UNSEALED Access: This command is used to control data flash access mode. Writing 0x00 to this command enables BlockData( ) to access general data flash. Writing a 0x01 to this command enables SEALED mode operation of DataFlashBlock( ). SEALED Access: This command is not available in SEALED mode. 4.1.2.7 DeviceNameLength( ): 0x62 UNSEALED and SEALED Access: This byte contains the length of the Device Name. 4.1.2.8 DeviceName( ): 0x63…0x69 UNSEALED and SEALED Access: This block contains the device name that is programmed in Device Name. 4.1.2.9 ApplicationStatus( ): 0x6a This byte function allows the system to read the bq27501 Application Status data flash location. See Table 6-1 for specific bit definitions. 4.1.2.10 Reserved — 0x6b–0x7f 4.2 DATA FLASH INTERFACE 4.2.1 ACCESSING THE DATA FLASH The bq27501 data flash is a non-volatile memory that contains bq27501 initialization, default, cell status, calibration, configuration, and user information. The data flash can be accessed in several different ways, depending on what mode the bq27501 is operating in and what data is being accessed. Commonly accessed data flash memory locations, frequently read by a system, are conveniently accessed through specific instructions, already described in Section 4.1, DATA COMMANDS. These commands are available when the bq27501 is either in UNSEALED or SEALED modes. Most data flash locations, however, are only accessible in UNSEALED mode by use of the bq27501 evaluation software or by data flash block transfers. These locations must be optimized and/or fixed during the development and manufacture processes. They become part of a golden image file and can then be written to multiple battery packs. Once established, the values generally remain unchanged during end-equipment operation. To access data flash locations individually, the block containing the desired data flash location(s) must be transferred to the command register locations, where the information can be read to the system or changed directly. This is accomplished by sending the setup command BlockDataControl( ) (0x61) with data 0x00. Up to 32 bytes of data can be read directly from the BlockData( ) (0x40…0x5f), externally altered, then rewritten to the BlockData( ) command space. Alternatively, specific locations can be read, altered, and rewritten if their corresponding offsets are used to index into the BlockData( ) command space. Finally, the data residing in the command space is transferred to data flash, once the correct checksum for the whole block is written to BlockDataChecksum( ) (0x60). Occasionally, a data flash CLASS is larger than the 32-byte block size. In this case, the DataFlashBlock( ) command is used to designate in which 32-byte block the desired information resides. The correct command address is then given by 0x40 + offset modulo 32. For example, to access Terminate Voltage in the Fuel Gauging class, DataFlashClass( ) is issued 80 (0x50) to set the class. Because the offset is 48, it must reside in the second 32-byte block. Hence, DataFlashBlock( ) is issued 0x01 to set the block offset, and the offset used to index into the BlockData( ) memory area is 0x40 + 48 modulo 32 = 0x40 + 16 = 0x40 + 0x10 = 0x50. Reading and writing subclass data are block operations up to 32 bytes in length. If during a write the data length exceeds the maximum block size, then the data is ignored. 16 GENERAL DESCRIPTION Submit Documentation Feedback bq27501 System-Side Impedance Track™ Fuel Gauge www.ti.com SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 None of the data written to memory are bounded by the bq27501– the values are not rejected by the fuel gauge. Writing an incorrect value may result in hardware failure due to firmware program interpretation of the invalid data. The written data is persistent, so a power-on reset does resolve the fault. 4.3 MANUFACTURER INFORMATION BLOCKS The bq27501 contains 96 bytes of user programmable data flash storage: Manufacturer Info Block A, Manufacturer Info Block B, Manufacturer Info Block C. The method for accessing these memory locations is slightly different, depending on whether the device is in UNSEALED or SEALED modes. When in UNSEALED mode and when and 0x00 has been written to BlockDataControl( ), accessing the manufacturer information blocks is identical to accessing general data flash locations. First, a DataFlashClass( ) command is used to set the subclass, then a DataFlashBlock( ) command sets the offset for the first data flash address within the subclass. The BlockData( ) command codes contain the referenced data flash data. When writing the data flash, a checksum is expected to be received by BlockDataChecksum( ). Only when the checksum is received and verified is the data actually written to data flash. As an example, the data flash location for Manufacturer Info Block B is defined as having a Subclass = 58 and an Offset = 32 through 63 (32 byte block). The specification of Class = System Data is not needed to address Manufacturer Info Block B, but is used instead for grouping purposes when viewing data flash info in the bq27501 evaluation software. When in SEALED mode or when 0x01 BlockDataControl( ) does not contain 0x00, data flash is no longer available in the manner used in UNSEALED mode. Rather than issuing subclass information, a designated manufacturer information block is selected with the DataFlashBlock( ) command. Issuing a 0x01, 0x02, or 0x03 with this command causes the corresponding information block (A, B, or C, respectively) to be transferred to the command space 0x40…0x5f for editing or reading by the system. Upon successful writing of checksum information to BlockDataChecksum( ), the modified block is returned to data flash. Note: Manufacturer Info Block A is read-only when in SEALED mode. 4.4 ACCESS MODES The bq27501 provides three security modes (FULL ACCESS, UNSEALED, and SEALED) that control data flash access permissions, according to Table 4-6. Data Flash refers to those data flash locations, specified in Table 4-7, that are accessible to the user. Manufacture Information refers to the three 32-byte blocks. Table 4-6. Data Flash Access Security Mode Data Flash Manufacture Information FULL ACCESS R/W R/W UNSEALED R/W R/W SEALED None R (A); R/W (B, C) Although FULL ACCESS and UNSEALED modes appear identical, only FULL ACCESS allows the bq27501 to write access-mode transition keys. 4.5 SEALING/UNSEALING DATA FLASH The bq27501 implements a key-access scheme to transition between SEALED, UNSEALED, and FULL-ACCESS modes. Each transition requires that a unique set of two keys be sent to the bq27501 via the Control( ) control command. The keys must be sent consecutively, with no other data being written to the Control( ) register between them. Note that to avoid conflict, the keys must be different from the codes presented in the CNTL DATA column of Table 4-2 Control( ) subcommands. When in SEALED mode, the CONTROL_STATUS [SS] bit is set, but when the unseal keys are correctly received by the bq27501, the [SS] bit is cleared. When the full-access keys are correctly received, then the CONTROL_STATUS [FAS] bit is cleared. Submit Documentation Feedback GENERAL DESCRIPTION 17 bq27501 System-Side Impedance Track™ Fuel Gauge SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 www.ti.com Both the sets of keys for each level are 2 bytes each in length and are stored in data flash. The unseal key (stored at Unseal Key 0 and Unseal Key 1) and the full-access key (stored at Full-Access Key 0 and Full-Access Key 1) can only be updated when in FULL-ACCESS mode. The order of the keys is Key 1 followed by Key 0. The order of the bytes entered through the Control( ) command is the reverse of what is read from the part. For example, if the Key 1 and Key 0 of the Unseal Key read returns 0x1234 and 0x5678, then the Control( ) should supply 0x3412 and 0x7856 to unseal the part. 4.6 DATA FLASH SUMMARY Table 4-7 summarizes the data flash locations available to the user, including their default, minimum, and maximum values. Table 4-7. Data Flash Summary 18 Class Subclass ID Subclass Offset Data Type Min Value Max Value Default Value Units Configuration 2 Safety 0 Configuration 2 Safety 2 OT Chg I2 0 1200 550 0.1°C OT Chg Time U1 0 60 2 Configuration 2 Safety s 3 OT Chg Recovery I2 0 1200 500 0.1°C Configuration 2 Configuration 2 Safety 5 OT Dsg I2 0 1200 600 0.1°C Safety 7 OT Dsg Time U1 0 60 2 Configuration s 2 Safety 8 OT Dsg Recovery I2 0 1200 550 0.1°C Configuration 32 Charge Inhibit Config 0 Charge Inhibit Temp Low I2 –400 1200 0 0.1°C Configuration 32 Charge Inhibit Config 2 Charge Inhibit Temp High I2 –400 1200 450 0.1°C Configuration 32 Charge Inhibit Config 4 Temp Hys I2 0 100 50 0.1°C Configuration 34 Charge 2 Charging Voltage I2 0 20,000 4200 mV Configuration 34 Charge 4 Delta Temperature I2 0 500 50 0.1°C Configuration 34 Charge 6 Suspend Temperature Low I2 –400 1200 -50 0.1°C Configuration 34 Charge 8 Suspend Temperature High I2 –400 1200 550 0.1°C Configuration 36 Charge Termination 2 Taper Current I2 0 1000 100 mA Configuration 36 Charge Termination 4 Minimum Taper Charge I2 0 1000 25 0.01mAh Configuration 36 Charge Termination 6 Taper Voltage I2 0 1000 100 mV Configuration 36 Charge Termination 8 Current Taper Window U1 0 60 40 s Configuration 36 Charge Termination 11 FC Set % I1 -1 100 100 % Configuration 36 Charge Termination 12 FC Clear % I1 -1 100 98 % Configuration 48 Data 4 Initial Standby Current I1 –128 0 –10 mA Configuration 48 Data 5 Initial Max Load Current I2 –32,767 0 –500 mA Configuration 48 Data 7 CC Threshold I2 100 32,767 900 mAh Configuration 48 Data 10 Design Capacity I2 0 65,535 1000 mAh Configuration 48 Data 12 Device Name S8 x x bq27501 – Configuration 49 Discharge 0 SOC1 Set Threshold U1 0 255 150 mAh Configuration 49 Discharge 1 SOC1 Clear Threshold U1 0 255 175 mAh Configuration 49 Discharge 2 SOCF Set Threshold U1 0 255 75 mAh Configuration 49 Discharge 3 SOCF Clear Threshold U1 0 255 100 mAh System Data 57 Manufacturer Info 0–31 Block A [0–31] H1 0x00 0xff 0x00 – System Data 57 Manufacturer Info 32–63 Block B [0–31] H1 0x00 0xff 0x00 – GENERAL DESCRIPTION Name Submit Documentation Feedback bq27501 System-Side Impedance Track™ Fuel Gauge www.ti.com SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 Table 4-7. Data Flash Summary (continued) Class Subclass ID Subclass Offset Data Type Min Value Max Value Default Value Units System Data 57 Manufacturer Info 64–95 Block C [0–31] H1 0x00 0xff 0x00 – Configuration 64 Registers Configuration 64 Registers 0 Operation Configuration H2 0x0000 0xffff 0x0979 – 2 Pack 0 Voltage U2 0 4200 1070 mV Configuration 64 Configuration 64 Registers 4 Pack 1 Voltage U2 0 4200 110 mV Registers 6 Pack V% Range 0 U1 0 100 20 Configuration % 64 Registers 7 Pack V% Range 1 U1 0 100 20 % Configuration 64 Registers 8 RID Pull-up Selection I1 0x00 0xff 0x01 – Configuration 68 Power 0 Flash Update OK Voltage I2 0 4200 2800 mV Configuration 68 Power 7 Sleep Current I2 0 100 10 mA Configuration 68 Power 16 Hibernate Current U2 0 700 8 mA Configuration 68 Power 18 Hibernate Voltage U2 2400 3000 2550 mV Fuel Gauging 80 IT Cfg 0 Load Select U1 0 255 1 – Fuel Gauging 80 IT Cfg 1 Load Mode U1 0 255 0 – Fuel Gauging 80 IT Cfg 48 Terminate Voltage I2 –32,768 32,767 3000 mV Fuel Gauging 80 IT Cfg 53 User Rate-mA I2 0 9000 0 mA Fuel Gauging 80 IT Cfg 55 User Rate-mW I2 0 14,000 0 mW Fuel Gauging 80 IT Cfg 57 Reserve Cap-mAh I2 0 9000 0 mAh Fuel Gauging 80 IT Cfg 59 Reserve Cap-mWh I2 0 14,000 0 mWh Fuel Gauging 81 Current Thresholds 0 Dsg Current Threshold I2 0 2000 60 mA Fuel Gauging 81 Current Thresholds 2 Chg Current Threshold I2 0 2000 75 mA Fuel Gauging 81 Current Thresholds 4 Quit Current I2 0 1000 40 mA Fuel Gauging 81 Current Thresholds 6 Dsg Relax Time U2 0 8191 60 s Fuel Gauging 81 Current Thresholds 8 Chg Relax Time U1 0 255 60 s Fuel Gauging 81 Current Thresholds 9 Quit Relax Time U1 0 63 1 s Fuel Gauging 82 State 0 IT Enable H1 0x00 0xff 0x00 – Fuel Gauging 82 State 1 Application Status H1 0x00 0xff 0x00 – Fuel Gauging 82 State 2 Qmax 0 I2 0 32,767 1000 mAh Fuel Gauging 82 State 4 Cycle Count 0 U2 0 65,535 0 – Fuel Gauging 82 State 6 Update Status 0 H1 0x00 0x03 0x00 – Fuel Gauging 82 State 7 Qmax 1 I2 0 32767 1000 mAh Fuel Gauging 82 State 9 Cycle Count 1 U2 0 65,535 0 – Fuel Gauging 82 State 11 Update Status 1 H1 0x00 0x03 0x00 – Fuel Gauging 82 State 16 Avg I Last Run I2 –32,768 32,767 –300 mA Fuel Gauging 82 State 18 Avg P Last Run I2 –32,768 32,767 –1200 mAh Default Ra Tables 87 Def0 Ra 0–18 Default Ra Tables 88 Def1 Ra 0–18 Ra Tables 91 Pack0 Ra 0–18 Ra Tables 92 Pack1 Ra 0–18 Ra Tables 93 Pack0 Rax 0–18 Ra Tables 94 Pack1 Rax 0–18 (1) Name See Note (1) See Note (1) Encoded battery profile information created by bqEASY™ software. Submit Documentation Feedback GENERAL DESCRIPTION 19 bq27501 System-Side Impedance Track™ Fuel Gauge SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 www.ti.com Table 4-7. Data Flash Summary (continued) Class (2) (3) Subclass ID Subclass Offset Name Data Type (2) Min Value Max Value Default Value Units (3) mΩ Calibration 104 Data 0 CC Gain F4 0.1 47 10 Calibration 104 Data 4 CC Delta F4 (2) 4.7 188 10 (3) mΩ Calibration 104 Data 8 CC Offset I2 -2.4 2.4 -0.123 (3) mV Calibration 104 Data 10 Board Offset I1 –128 127 0 mV Calibration 104 Data 11 Int Temp Offset I1 –128 127 0 0.1°C Calibration 104 Data 12 Ext Temp Offset I1 –128 127 0 0.1°C Calibration 104 Data 13 Pack V Offset I1 –128 127 0 0.1°C Calibration 107 Current 1 Deadband U1 0 255 5 mA Security 112 Codes 0 Unseal Key 0 H2 0x0000 0xffff 0x3672 – Security 112 Codes 2 Unseal Key 1 H2 0x0000 0xffff 0x0414 – Security 112 Codes 4 Full-Access Key 0 H2 0x0000 0xffff 0xffff – Security 112 Codes 6 Full-Access Key 1 H2 0x0000 0xffff 0xffff – Not IEEE floating point Display as the value EVSW displayed. Data Flash value is different. 5 FUNCTIONAL DESCRIPTION 5.1 FUEL GAUGING The bq27501 measures the cell voltage, temperature, and current to determine battery SOC. The bq27501 monitors charge and discharge activity by sensing the voltage across a small-value resistor (5 mΩ to 20 mΩ typ.) between the SRP and SRN pins and in series with the cell. By integrating charge passing through a battery, the battery’s 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 state of charge 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 bq27501 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 Term Voltage. NominalAvailableCapacity( ) and FullAvailableCapacity( ) are the uncompensated (less than C/20) versions of RemainingCapacity( ) and FullChargeCapacity( ) respectively. The bq27501 has two flags accessed by the Flags( ) function that warn when a battery's SOC has fallen to critical levels. When RemainingCapacity( ) falls below the first capacity threshold, 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. The bq27501's BAT_LOW pin automatically reflects the status of the [SOC1] flag. All units are in mAh. When RemainingCapacity( ) falls below the second capacity threshold, SOCF Set Threshold, the [SOCF] (State of Charge Final) flag is set, serving as a final discharge warning. Set SOCF Set Threshold = 0 to deactivate the feature. Similarly, when RemainingCapacity( ) rises above SOCF Clear Threshold and the [SOCF] flag has already been set, the [SOCF] flag is cleared. All units are in mAh. 5.2 IMPEDANCE TRACK™ VARIABLES The bq27501 has several data flash variables that permit the user to customize the Impedance Track™ algorithm for optimized performance. These variables are dependent upon the power characteristics of the application as well as the cell itself. 20 FUNCTIONAL DESCRIPTION Submit Documentation Feedback bq27501 System-Side Impedance Track™ Fuel Gauge www.ti.com 5.2.1 SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 Load Mode Load Mode is used to select either the constant-current or constant-power model for the Impedance Track™ algorithm as used in Load Select (see Load Select). When Load Mode is 0, the Constant Current model is used (default). When 1, the Constant Power model is used. The [LDMD] bit of CONTROL_STATUS reflects the status of Load Mode. 5.2.2 Load Select Load Select defines the type of power or current model to be used to compute load-compensated capacity in the Impedance Track™ algorithm. If Load Mode = 0 (Constant-Current) then the options presented in Table 5-1 are available. Table 5-1. Constant-Current Model Used When Load Mode = 0 LoadSelect Value 0 1(default) Current Model Used Average discharge current from previous cycle: There is an internal register that records the average discharge current through each entire discharge cycle. The previous average is stored in this register. Present average discharge current: This is the average discharge current from the beginning of this discharge cycle until present time. 2 Average current: based on AverageCurrent( ) 3 Current: based off of a low-pass-filtered version of AverageCurrent( ) (τ =14 s) 4 Design capacity / 5: C Rate based off of Design Capacity /5 or a C/5 rate in mA. 5 AtRate (mA): Use whatever current is in AtRate( ) 6 User_Rate-mA: Use the value in User_Rate-mA. This mode provides a completely user-configurable method. If Load Mode = 1 (Constant Power) then the following options shown in Table 5-2 are available. Table 5-2. Constant-Power Model Used When Load Mode = 1 LoadSelect Value Power Model Used 0 Average discharge power from previous cycle: There is an internal register that records the average discharge power through each entire discharge cycle. The previous average is stored in this register. 1(default) 5.2.3 Present average discharge power: This is the average discharge power from the beginning of this discharge cycle until present time. 2 Average current × voltage: based off the AverageCurrent( ) and Voltage( ). 3 Current × voltage: based off of a low-pass-filtered version of AverageCurrent( ) (τ=14 s) and Voltage( ) 4 Design energy / 5: C Rate based off of Design Energy /5 or a C/5 rate in mA. 5 AtRate (10 mW): Use whatever value is in AtRate( ). 6 User_Rate-10mW: Use the value in User_Rate-10mW. This mode provides a completely user-configurable method. Reserve Cap-mAh Reserve Cap-mAh determines how much actual remaining capacity exists after reaching 0 RemainingCapacity( ), before Terminate Voltage is reached. A no-load rate of compensation is applied to this reserve. 5.2.4 Reserve Cap-mWh Reserve Cap-mWh determines how much actual remaining capacity exists after reaching 0 AvailableEnergy( ), before Terminate Voltage is reached. A no-load rate of compensation is applied to this reserve capacity. 5.2.5 Dsg Current Threshold This register is used as a threshold by many functions in the bq27501 to determine if actual discharge current is flowing into or out of the cell. The default for this register is in Table 4-7, which should be sufficient for most applications. This threshold should be set low enough to be below any normal application load current but high enough to prevent noise or drift from affecting the measurement. Submit Documentation Feedback FUNCTIONAL DESCRIPTION 21 bq27501 System-Side Impedance Track™ Fuel Gauge SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 5.2.6 www.ti.com Chg Current Threshold This register is used as a threshold by many functions in the bq27501 to determine if actual charge current is flowing into or out of the cell. The default for this register is in Table 4-7, which should be sufficient for most applications. This threshold should be set low enough to be below any normal charge current but high enough to prevent noise or drift from affecting the measurement. 5.2.7 Quit Current, DSG Relax Time, CHG Relax Time, and Quit Relax Time The Quit Current is used as part of the Impedance Track™ algorithm to determine when the bq27501 enters relaxation mode from a current-flowing mode in either the charge direction or the discharge direction. The value of Quit Current is set to a default value in Table 4-7 and should be above the standby current of the system. Either of the following criteria must be met to enter relaxation mode: • | AverageCurrent( ) | < | Quit Current | for Dsg Relax Time • | AverageCurrent( ) | < | Quit Current | for Chg Relax Time After about 5 minutes in relaxation mode, the bq27501 attempts to take accurate OCV readings. An additional requirement of dV/dt < 4 µV/s is required for the bq27501 to perform Qmax updates. These updates are used in the Impedance Track™ algorithms. It is critical that the battery voltage be relaxed during OCV readings to and that the current is not be higher than C/20 when attempting to go into relaxation mode. Quit Relax Time specifies the minimum time required for AverageCurrent( ) to remain above the QuitCurrent threshold before exiting relaxation mode. 5.2.8 Qmax 0 and Qmax 1 Generically called Qmax, these dynamic variables contain the respective maximum chemical capacity of the active cell profiles, and are determined by comparing states of charge before and after applying the load with the amount of charge passed. They also correspond to capacity at a low rate of discharge, such as the C/20 rate. For high accuracy, this value is periodically updated by the bq27501 during operation. Based on the battery cell capacity information, the initial value of chemical capacity should be entered in the Qmax n field for each default cell profile. The Impedance Track™ algorithm updates these values and maintains them the associated actual cell profiles. 5.2.9 Update Status 0 and Update Status 1 Bit 0 (0x01) of the Update Status n registers indicates that the bq27501 has learned new Qmax parameters and is accurate. The remaining bits are reserved. Bits 0 is a status flag set by the bq27501. Bit 0 should not be modified except when creating a golden image file as explained in the application note Preparing Optimized Default Flash Constants for specific Battery Types (SLUA334). Bit 0 is updated as needed by the bq27501. 5.2.10 Avg I Last Run The bq27501 logs the current averaged from the beginning to the end of each discharge cycle. It stores this average current from the previous discharge cycle in this register. This register should not be modified. It is only updated by the bq27501 when required. 5.2.11 Avg P Last Run The bq27501 logs the power averaged from the beginning to the end of each discharge cycle. It stores this average power from the previous discharge cycle in this register. To get a correct average power reading, the bq27501 continuously multiplies instantaneous current times Voltage( ) to get power. It then logs this data to derive the average power. This register should not be modified. It is only updated by the bq27501 when required. 22 FUNCTIONAL DESCRIPTION Submit Documentation Feedback bq27501 System-Side Impedance Track™ Fuel Gauge www.ti.com SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 5.2.12 Delta Voltage The bq27501 stores the maximum difference of Voltage( ) during short load spikes and normal load, so the Impedance Track™ algorithm can calculate remaining capacity for pulsed loads. It is not recommended to change this value. 5.2.13 Default Ra and Ra Tables These tables contain encoded data and, with the exception of the Default Ra Tables, are automatically updated during device operation. No user changes should be made except for reading/writing the values from a pre-learned pack (part of the process for creating golden image files). 5.3 DETAILED DESCRIPTION OF DEDICATED PINS 5.3.1 The Operation Configuration Register Some bq27501 pins are configured via the Operation Configuration data flash register, as indicated in Table 5-3. This register is programmed/read via the methods described in Section 4.2.1, Accessing the Data Flash. The register is located at subclass = 64, offset = 0. Table 5-3. Operation Configuration Bit Definition Operation Cfg High byte Low byte bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 RESCAP GNDSEL BATG_OVR IDSELEN – SLEEP PFC_CFG1 RMFCC PFC_CFG0 BATL_POL IWAKE BATG_POL RSNS1 – RSNS0 TEMPS RESCAP = No-load rate of compensation is applied to the reserve capacity calculation. True when set. Default is 0. BATG_OVR = BAT_GD override bit. If the gauge enters Hibernate only due to the cell voltage, the BAT_GD will not negate. True when set. Default is 0. PFC_CFG1/PFC_CFG0 = Pin function code (PFC) mode selection: PFC 0, 1, or 2 selected by 0/0, 0/1, or 1/0, respectively. Default is PFC 1 (0/1). IWAKE/RSNS1/RSNS0 = These bits configure the current wake function (see Table 5-4). Default is 0/0/1. GNDSEL = The ADC ground selection control. The VSS (Pin 6) is selected as the ground referenced when the bit is clear. Pin 7 is selected when the bit is set. Default is 1. IDSELEN = Enables cell profile selection feature. True when set. Default is 1. SLEEP = The fuel gauge can enter sleep, if operating conditions allow. True when set. Default is 1. RMFCC = RM is updated with the value from FCC, on valid charge termination. True when set. Default is 1. BATL_POL = BAT_LOW pin is active-high. True when set. Default is 1. BATG_POL = BAT_GD pin is active-low. True when cleared. Default is 0. TEMPS = Selects external thermistor for Temperature( ) measurements. True when set. Default is 1. 5.3.2 Pin Function Code Descriptions The bq27501 has three possible pin-function variations that can be selected in accordance with the circuit architecture of the end application. Each variation has been assigned a pin function code, or PFC. When the PFC is set to 0, only the bq27501 measures battery temperature under discharge and relaxation conditions. The charger does not receive any information from the bq27501 about the temperature readings, and therefore operates open-loop with respect to battery temperature. A PFC of 1 is like a PFC of 0, except temperature is also monitored during battery charging. If charging temperature falls outside of the preset range defined in data flash, a charger can be disabled via the BAT_GD pin until cell temperature recovers. See Section 5.6.2, Charge Inhibit, for additional details. Finally when the PFC is set to 2, the battery thermistor can be shared between the fuel gauge and the charger. The charger has full usage of the thermistor during battery charging. The fuel gauge uses the thermistor exclusively during discharge and battery relaxation. The PFC is specified in Operation Configuration [PFC_CFG1, PFC_CFG0]. The default is PFC = 1. Submit Documentation Feedback FUNCTIONAL DESCRIPTION 23 bq27501 System-Side Impedance Track™ Fuel Gauge SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 5.3.3 www.ti.com BAT_LOW Pin The BAT_LOW pin provides a system processor with an electrical indicator of battery status. The signaling on the BAT_LOW pin follows the status of the [SOC1] bit in the Flags( ) register. Note that the polarity of the BAT_LOW pin can be inverted via the [BATL_POL] bit of Operation Configuration. 5.3.4 Power Path Control With the BAT_GD Pin The bq27501 must operate in conjunction with other electronics in a system appliance, such as chargers or other ICs and application circuits that draw appreciable power. After a battery is inserted into the system, there should be no charging or discharging current higher than C/20, so that an accurate OCV can be read. The OCV is used for helping determine which battery profile to use, as it constitutes part of the battery impedance measurement. When a battery is inserted into a system, the Impedance Track™ algorithm requires that no charging of the battery takes place and that any discharge is limited to less than C/20—these conditions are sufficient for the fuel gauge to take an accurate OCV reading. To disable these functions, the BAT_GD pin is merely set negated from the default setting. Once an OCV reading has be made, the BAT_GD pin is asserted, thereby enabling battery charging and regular discharge of the battery. The Operation Configuration [BATG_POL] bit can be used to set the polarity of the battery good signal, should the default configuration need to be changed. The flowchart of Figure 5-1 details how the BAT_GD pin functions in the context of battery insertion and removal, as well as NORMAL vs SLEEP modes. In PFC 1, the BAT_GD pin is also used to disable battery charging when the bq27501 reads battery temperatures outside the range defined by [Charge Inhibit Temp Low, Charge Inhibit Temp High]. The BAT_GD line is returned to low once temperature falls within the range [Charge Inhibit Temp Low + Temp Hys, Charge Inhibit Temp High – Temp Hys]. 5.3.5 Battery Detection Using the BI/TOUT Pin During power-up or hibernate activities, or any other activity where the bq27501 must determine whether a battery is connected or not, the fuel gauge applies a test for battery presence. First, the BI/TOUT pin is put into high-Z status. The weak 1.8-MΩ pullup resistor keeps the pin high while no battery is present. When a battery is inserted (or is already inserted) into the system device, the BI/TOUT pin is pulled low. This state is detected by the fuel gauge, which polls this pin every second when the gauge has power. A battery disconnected status is assumed when the bq27501 reads a thermistor voltage that is near 2.5 V. 5.4 TEMPERATURE MEASUREMENT The bq27501 measures battery temperature via its TS input, in order to supply battery temperature status information to the fuel gauging algorithm and charger-control sections of the gauge. Alternatively, it can also measure internal temperature via its on-chip temperature sensor, but only if the [TEMPS] bit of the Operation Configuration register is cleared. Regardless of which sensor is used for measurement, a system processor can request the current battery temperature by calling the Temperature( ) function (see Section 4.1.1, Standard Data Commands, for specific information). The bq27501 external temperature sensing is optimized with the use of a high accuracy negative temperature coefficient (NTC) thermistor with R25 = 10.0KΩ ± 1% and B25/85 = 3435K ± 1% (such as Semitec NTC 103AT). The bq27501 can also be configured to use its internal temperature sensor. When an external themistor is used, a 18.2k pull up resistor between BT/TOUT and TS pins is also required. Additional circuit information for connecting this thermistor to the bq27501 is shown in Section 8, Reference Schematic. 24 FUNCTIONAL DESCRIPTION Submit Documentation Feedback bq27501 System-Side Impedance Track™ Fuel Gauge www.ti.com SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 5.5 OVERTEMPERATURE INDICATION 5.5.1 Overtemperature: Charge If during charging, Temperature( ) reaches the threshold of OT Chg for a period of OT Chg Time and AverageCurrent( ) > Chg Current Threshold, then the [OTC] bit of Flags( ) is set. When Temperature( ) falls to OT Chg Recovery, the [OTC] of Flags( ) is reset. If OT Chg Time = 0, then the feature is completely disabled. 5.5.2 Overtemperature: Discharge If during discharging, Temperature( ) reaches the threshold of OT Dsg for a period of OT Dsg Time, and AverageCurrent( ) ≤ –Dsg Current Threshold, then the [OTD] bit of Flags( ) is set. When Temperature( ) falls to OT Dsg Recovery, the [OTD] bit of Flags( ) is reset. If OT Dsg Time = 0, then feature is completely disabled. 5.6 CHARGING AND CHARGE-TERMINATION INDICATION 5.6.1 Detecting Charge Termination For proper bq27501 operation, the cell charging voltage must be specified by the user. The default value for this variable is Charging Voltage = 4200 mV. The bq27501 detects charge termination when (1) during 2 consecutive periods of Current Taper Window, the AverageCurrent( ) is < Taper Current, (2) during the same periods, the accumulated change in capacity > 0.25 mAh /Current Taper Window, and (3) Voltage( ) > Charging Voltage – Taper Voltage. When this occurs, the [CHG] bit of Flags( ) is cleared. Also, if the [RMFCC] bit of Operation Configuration is set, then RemainingCapacity( ) is set equal to FullChargeCapacity( ). 5.6.2 Charge Inhibit When PFC = 1, the bq27501 can indicate when battery temperature has fallen below or risen above predefined thresholds (Charge Inhibit Temp Low and Charge Inhibit Temp High, respectively). In this mode, the BAT_GD line is made high to indicate this condition then returned to its low state, once battery temperature returns to the range [Charge Inhibit Temp Low + Temp Hys, Charge Inhibit Temp High – Temp Hys]. When PFC = 0 or 2, the bq27501 must be queried by the system in order to determine the battery temperature. At that time, the bq27501 samples the temperature. This saves battery energy when operating from battery, as periodic temperature updates are avoided during charging mode. 5.7 POWER MODES The bq27501 has different power modes: NORMAL, SLEEP+, SLEEP, HIBERNATE, and BAT INSERT CHECK. In NORMAL mode, the bq27501 is fully powered and can execute any allowable task. In SLEEP+ and SLEEP mode, the fuel gauge exists in a reduced-power state, periodically taking measurements and performing calculations. In HIBERNATE mode, the fuel gauge is in its lowest power state, but can be woken up by communication activity or certain I/O activity. Finally, the BAT INSERT CHECK mode is a powered-up, but low-power halted state, where the bq27501 resides when no battery is inserted into the system. The relationship between these modes is shown in Figure 5-1. 5.7.1 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. Submit Documentation Feedback FUNCTIONAL DESCRIPTION 25 bq27501 System-Side Impedance Track™ Fuel Gauge SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 www.ti.com Because the gauge consumes the most power in NORMAL mode, the Impedance Track™ algorithm minimizes the time the fuel gauge remains in this mode. 5.7.2 SLEEP+ MODE Compared to the SLEEP mode, SLEEP+ mode has the high frequency oscillator in operation. The communication delay could be eliminated. The SLEEP+ is entered automatically if the feature is enabled (Operation Configuration [SNOOZE] = 1) and AverageCurrent( ) is below the programmable level Sleep Current. During SLEEP+ mode, the bq27501 periodically takes data measurements and updates its data set. However, a majority of its time is spent in an idle condition. The bq27500 exits SLEEP+ 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. 5.7.3 SLEEP MODE SLEEP mode is entered automatically if the feature is enabled (Operation Configuration [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 bq27501 performs an Coulomb Counter autocalibration to minimize offset. During SLEEP mode, the bq27501 periodically takes data measurements and updates its data set. However, a majority of its time is spent in an idle condition. The bq27501 exits SLEEP 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. 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. While in SLEEP mode, the fuel gauge can suspend serial communications as much as 4ms by holding the SCL line low. This delay is necessary correctly process host communication, since the fuel gauge processor is mostly halted while in SLEEP mode. 5.7.4 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 bq27501 (and system), yet no battery has been detected. When battery insertion is detected, a series of initialization activities begins, which includes: OCV measurement, asserting the BAT_GD pin, and selecting the appropriate battery profiles. The initialization time is less than 2 seconds. Some commands issued by a system processor can be processed while the bq27501 is halted in this mode. The gauge wakes up to process the command, then returns to the halted state awaiting battery insertion. 26 FUNCTIONAL DESCRIPTION Submit Documentation Feedback bq27501 System-Side Impedance Track™ Fuel Gauge www.ti.com SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 POR Exit From HIBERNATE Battery Removed Exit From HIBERNATE Communication Activity AND Comm address is for bq27501 bq27501 clears Control Status [HIBERNATE ] = 0 Recommend Host also set Control Status [HIBERNATE] = 0 BAT INSERT CHECK Check for battery insertion from HALT state. No gauging Flags [BAT _DET] = 0 Entry to NORMAL Exit From NORMAL Flags [BAT _DET] = 1 Flags [BAT _DET] = 0 Exit From SLEEP NORMAL Flags [BAT_DET] = 0 Fuel gauging and data updated every 1s HIBERNATE Wakeup From HIBERNATE Communication Activity AND Comm address is NOT for bq27501 Disable all bq27501 subcircuits except GPIO. Negate BAT_GD Exit From SLEEP | AverageCurrent ( ) |> Sleep Current OR Current is Detected above IWAKE Entry to SLEEP+ Operation Configuration [SLEEP] = 1 AND Control Status [SNOOZE] = 1 AND | AverageCurrent ( )|≤Sleep Current Entry to SLEEP Operation Configuration [SLEEP] = 1 AND | AverageCurrent ( )|≤Sleep Current AND Control Status [SNOOZE] = 0 Exit From SLEEP+ Any communication to the gauge OR | AverageCurrent ( ) |> Sleep Current OR Current is Detected above I WAKE SLEEP+ Fuel gauging and data updated every 20 seconds Both LFO and HFO are ON Exit From WAIT_HIBERNATE Cell relaxed AND | AverageCurrent() | < Hibernate Current WAIT_HIBERNATE Entry to SLEEP+ Control Status [SNOOZE] = 0 SLEEP OR V CELL Cell relaxed AND < Hibernate Voltage Entry to SLEEP+ Control Status [SNOOZE] = 1 Fuel gauging and data updated every 20 seconds BAT_GD unchanged System Shutdown Exit From WAIT _HIBERNATE Host must set Control Status [HIBERNATE ] = 0 AND VCELL > Hibernate Voltage Fuel gauging and data updated every 20 seconds (LFO ON and HFO OFF) Exit From SLEEP (Host has set Control Status [HIBERNATE] = 1 OR VCELL < Hibernate Voltage System Sleep Figure 5-1. Power Mode Diagram 5.7.5 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 a system equipment is set to its own HIBERNATE, SHUTDOWN, or OFF modes. The fuel gauge can enter HIBERNATE due to either low cell voltage or low load current. - HIBERNATE due to the cell voltage. When the cell voltage drops below the Hibernate Voltage and a valid OCV measurement has been taken, the fuel gauge enters HIBERNATE mode The [HIBERNATE] bit of the CONTROL register has no impact for the fuel gauge to enter the HIBERNATE mode. Submit Documentation Feedback FUNCTIONAL DESCRIPTION 27 bq27501 System-Side Impedance Track™ Fuel Gauge SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 www.ti.com - Hibernate due to the load current. If the load current drops to certain level, the fuel gauge should also enter low power mode. When the fuel gauge enters the HIBERNATE mode due to the load current, the [HIBERNATE] bit of the CONTROL_STATUS register must be set. 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 remains in HIBERNATE mode until the system issues a direct I2C command to the gauge or a POR occurs. I2C communication that is not directed to the gauge does not wake the gauge. During the HIBERNATE mode the BAT_GD is negated (no battery charging/discharging). This prevents a charger application from inadvertently charging the battery before an OCV reading can be taken. It is the system’s responsibility to wake the bq27501 after it has gone into HIBERNATE mode. After waking, the gauge can proceed with the initialization of the battery information (OCV, profile selection, etc.) 5.8 POWER CONTROL 5.8.1 RESET FUNCTIONS When the bq27501 detects software reset ([RESET] bit of Control( ) it increments the reset counter. This information is accessible by issuing the command Control( ) function with the RESET_DATA subcommand. 5.8.2 WAKE-UP COMPARATOR The wake up comparator is used to indicate a change in cell current while the bq27501 is in SLEEP mode. Operation Configuration uses bits [RSNS1–RSNS0] to set the sense resistor selection. Operation Configuration also uses the [IWAKE] bit to select one of two possible voltage threshold ranges for the given sense resistor selection. An internal interrupt is generated when the threshold is reached in either the charge or discharge direction. Setting both [RSNS1] and [RSNS0] to 0 disables this feature. Table 5-4. IWAKE Threshold Settings (1) (1) 5.8.3 RSNS1 RSNS0 IWAKE Vth(SRP–SRN) 0 0 0 Disabled 0 0 1 Disabled 0 1 0 1.0 mV or –1.0 mV 0 1 1 2.2 mV or –2.2 mV 1 0 0 2.2 mV or –2.2 mV 1 0 1 4.6 mV or –4.6 mV 1 1 0 4.6 mV or –4.6 mV 1 1 1 9.8 mV or –9.8 mV The actual resistance value vs. the setting of the sense resistor is not important, just the actual voltage threshold when calculating the configuration. The votage thresholds are typical values under room temperature. FLASH UPDATES Data Flash can only be updated if Voltage( ) ≥ Flash Update OK Voltage. Flash programming current can cause an increase in LDO dropout. The value of Flash Update OK Voltage should be selected such that the bq27501 VCC voltage does not fall below its minimum of 2.4 V during Flash write operations. 28 FUNCTIONAL DESCRIPTION Submit Documentation Feedback bq27501 System-Side Impedance Track™ Fuel Gauge www.ti.com SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 5.9 AUTOCALIBRATION The bq27501 provides an autocalibration feature that measures the voltage offset error across SRP and SRN as operating conditions change. It subtracts the resulting offset error from normal sense resistor voltage, VSR, for maximum measurement accuracy. Autocalibration of the Coulomb Counter begins on entry to SLEEP mode, except if Temperature( ) is ≤ 5°C or Temperature( ) ≥ 45°C. The fuel gauge also performs a single offset when (1) the condition of AverageCurrent( ) ≤ 100 mA and (2) {voltage change since last offset calibration ≥ 256 mV} or {temperature change since last offset calibration is greater than 8°C for ≥ 60 s}. Capacity and current measurements continue at the last measured rate during the offset calibration when these measurements cannot be performed. If the battery voltage drops more than 32 mV during the offset calibration, the load current has likely increased considerably; hence, the offset calibration is aborted. 6 APPLICATION-SPECIFIC INFORMATION 6.1 BATTERY PROFILE STORAGE AND SELECTION 6.1.1 Common Profile Aspects When a battery pack is removed from host equipment that implements the bq27501, the fuel gauge maintains some of the battery information in case the battery is re-inserted. This way, the Impedance Track™ algorithm has a means of recovering battery-status information, thereby maintaining good state-of-charge (SOC) estimates. Two default battery profiles are available to store battery information. They are used to provide the Impedance Track™ algorithm with the default information on two possible battery types expected to be used with the end-equipment. These default profiles can be used to support batteries of different chemistry, same chemistry but different capacities, or same chemistry but different models. Default profiles are programmed by the end-equipment manufacturer. In addition to the default profiles, the bq27501 maintains two profiles PACK0 and PACK1. These tables hold dynamic battery data, and keep track of the status for up to two of the most recent batteries used. In most cases, the bq27501 can manage the information on two removable battery packs. 6.1.2 Activities Upon Pack Insertion 6.1.2.1 First OCV and Impedance Measurement At power up, the BAT_GD pin is inactive, so that the host cannot obtain power from the battery (this depends on the actual implementation). In this state, the battery is put in an open-circuit condition. Next, the bq27501 measures its first open-circuit voltage (OCV) via the BAT pin. From the OCV(SOC) table, the SOC of the inserted battery is found. Then the BAT_GD pin is made active, and the impedance of the inserted battery is calculated from the measured voltage and the load current: Z(SOC) = [OCV(SOC) – V] / I. This impedance is compared with the impedance of the dynamic profiles, Packn, and the default profiles, Defn, for the same SOC (the letter n depicts either a 0 or 1). 6.1.3 Reading Application Status The Application Status data flash location contains cell profile status information, and can be read using the ApplicationStatus( ) extended command (0x6a). The bit configuration of this function/location is shown in Table 6-1. Submit Documentation Feedback APPLICATION-SPECIFIC INFORMATION 29 bq27501 System-Side Impedance Track™ Fuel Gauge SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 www.ti.com Table 6-1. ApplicationStatus( ) Bit Definitions. Application Configuration Byte bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 — — — — — — — LU_ PROF LU_PROF = Last profile used by fuel gauge. Pack0 last used when cleared. Pack1 last used when set. Default is 0. 6.2 APPLICATION-SPECIFIC FLOW AND CONTROL 6.2.1 Battery With Resistor ID The bq27501 can manage the information of up to two battery packs. For a given pack connected to the fuel gauge, the identity of the battery is determined by a combination of (1) reading the pack ID resistor, (2) measuring the impedance of the currently connected pack, and (3) remembering which pack characteristics were most recently used by the gauge. A battery-pack ID resistor should connect to the RID pin of the fuel gauge. Either A-Ω or B-Ω resistor values should be used to indicate the battery type. If a battery connection is detected, then bq27501 measures the voltage developed at RID. If the voltage is Pack 0 Voltage, then it is identified as battery pack with A resistor and the bq27501 uses the Pack0 profile. If the voltage measured is Pack 1 Voltage, then it is identified as battery pack with B resistor and the bq27501 uses Pack1 profile. The internal pull up of the RID pin is specified by the RID Pull-up Select. The meaning of 0, 1, 2 mean no pull up, a weak pull-up and a strong pull-up, respectively. The default value is 1, which means a weak pull-up is used. There is a P-channel Fet between the Vcc and the RID pin to realize the weak pull-up. The measurement window around each threshold is specified by Pack V% Range 0 or Pack V% Range 1 respectively, which indicates the positive or negative deviation around each level. With the recommended 300 Ω on board filter resistor, Choosing RID values of 8 kΩ and 500 Ω for A and B, respectively when the weak pull up is used, correspond to Pack 0 Voltage and Pack 1 Voltage threshold levels of 1070 mV and 110 mV, respectively. The Pack V% Range 1 could be a higher percentage value as long as the two threshold voltages do not have overlap. 6.2.1.1 Profile Selection When a battery pack is inserted to the host for the first time, both the Packn profiles are copies of the respective Defn profiles. Each Packn profile has an additional field called Parent to indicate the Defn profile from which it was initialized. Once the impedance of a newly inserted pack has been measured the gauge FW will select a Packn profile to use for tracking impedance changes of that pack. Assuming the bq27501 has selected Pack0 for the first pack used in the system, if the pack is replaced with a second pack having the same resistor ID as the first, cell impedance is measured after pack detection as explained in Section 6.1.2.1, First OCV and Impedance Measurement. This impedance is compared with the Pack0 and Def0 profiles. If it matches the Pack0 impedance, then the Pack0 profile is used (this situation indicates the last pack used was re-inserted). If not, a new pack is assumed, so the bq27501 copies the Def0 profile into the Pack1 profile, and Pack1 is made the active profile. This feature helps support accurate fuel gauging for two batteries with the same resistor ID. The logic behind this profile selection process is also applied to the case where the first pack inserted causes the bq27501 to copy the Def1 profile into Pack1. If both the cell profiles have been in use (indicating two different battery packs have been used in the system) and a battery is inserted, the bq27501 chooses the correct Packn profile to re-write. This decision is based on the resistor ID, the impedance of the inserted battery, and the fact that the last-used battery profile should not be overwritten. 30 APPLICATION-SPECIFIC INFORMATION Submit Documentation Feedback bq27501 System-Side Impedance Track™ Fuel Gauge www.ti.com SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 7 COMMUNICATIONS 7.1 I2C INTERFACE The 27500/1 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 8-bit device address will therefore be 0xAA or 0xAB for write or read, respectively. Host generated S ADDR[6:0] 0 A bq27500/1 generated CMD [7:0] A DATA [7:0] A P S ADDR[6:0] (a) 1-byte write S ADDR[6:0] 0 A 1 A DATA [7:0] N P (b) quick read CMD [7:0] A Sr ADDR[6:0] 1 A DATA [7:0] N P (c) 1- byte read S ADDR[6:0] 0 A CMD [7:0] A Sr ADDR[6:0] 1 A DATA [7:0] A ... DATA [7:0] N P (d) incremental read S ADDR[6:0] 0 A CMD[7:0] A DATA [7:0] A DATA [7:0] A ... A P (e) incremental write (S = Start , Sr = Repeated Start , A = Acknowledge , N = No Acknowledge , and P = Stop). The “quick read” returns data at the address indicated by the address pointer. The address pointer, a register internal to the I2C communication engine, will increment whenever data is acknowledged by the bq27501 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): Attempt to read an address above 0x6B (NACK command): The I2C engine will release both SDA and SCL if the I2C bus is held low for t(BUSERR). If the bq27501 was holding the lines, releasing them will free the master to drive the lines. If an external condition is holding either of the lines low, the I2C engine will enter the low power sleep mode. 7.2 I2C TIME OUT The I2C engine will release both SDA and SCL if the I2C bus is held low for about 2 seconds. If the bq27501 was holding the lines, releasing them will free for the master to drive the lines. If an external condition is holding either of the lines low, the I2C engine will enter the low power sleep mode. Submit Documentation Feedback COMMUNICATIONS 31 bq27501 System-Side Impedance Track™ Fuel Gauge SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 www.ti.com 7.3 I2C Command Waiting Time To make sure the correct results of a command with the 400KHz I2C operation, a proper waiting time should be added between issuing command and reading results. For subcommands, the following diagram shows the waiting time required between issuing the control command the reading the status with the exception of checksum command. A 100ms waiting time is required between the checksum command and reading 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 should not issue all standard commands more than two times per second. Otherwise, the gauge could result in a reset issue due to the expiration of the watchdog timer. The I2C clock stretch could happen in a typical application. A maximum 80ms clock stretch could be observed during the flash updates. 32 COMMUNICATIONS Submit Documentation Feedback bq27501 System-Side Impedance Track™ Fuel Gauge www.ti.com SLUS879A – OCTOBER 2008 – REVISED JUNE 2009 8 REFERENCE SCHEMATICS 8.1 SCHEMATIC Submit Documentation Feedback COMMUNICATIONS 33 PACKAGE OPTION ADDENDUM www.ti.com 10-Dec-2020 PACKAGING INFORMATION Orderable Device Status (1) Package Type Package Pins Package Drawing Qty Eco Plan (2) Lead finish/ Ball material MSL Peak Temp Op Temp (°C) Device Marking (3) (4/5) (6) BQ27501DRZR ACTIVE SON DRZ 12 3000 RoHS & Green NIPDAU Level-2-260C-1 YEAR -40 to 85 BQ 2751 BQ27501DRZT ACTIVE SON DRZ 12 250 RoHS & Green NIPDAU Level-2-260C-1 YEAR -40 to 85 BQ 2751 (1) The marketing status values are defined as follows: ACTIVE: Product device recommended for new designs. LIFEBUY: TI has announced that the device will be discontinued, and a lifetime-buy period is in effect. NRND: Not recommended for new designs. Device is in production to support existing customers, but TI does not recommend using this part in a new design. PREVIEW: Device has been announced but is not in production. Samples may or may not be available. OBSOLETE: TI has discontinued the production of the device. (2) RoHS: TI defines "RoHS" to mean semiconductor products that are compliant with the current EU RoHS requirements for all 10 RoHS substances, including the requirement that RoHS substance do not exceed 0.1% by weight in homogeneous materials. Where designed to be soldered at high temperatures, "RoHS" products are suitable for use in specified lead-free processes. TI may reference these types of products as "Pb-Free". RoHS Exempt: TI defines "RoHS Exempt" to mean products that contain lead but are compliant with EU RoHS pursuant to a specific EU RoHS exemption. Green: TI defines "Green" to mean the content of Chlorine (Cl) and Bromine (Br) based flame retardants meet JS709B low halogen requirements of
BQ27501DRZR 价格&库存

很抱歉,暂时无法提供与“BQ27501DRZR”相匹配的价格&库存,您可以联系我们找货

免费人工找货