Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 D Provides Accurate Measurement of D D D D D D D D D Available Charge in Li-Ion Batteries Supports the 2-Wire SMBus V1.1 Interface With PEC or Single-Wire HDQ16 Directly Interfaces the Seiko S-8243 Protection IC for Maximum Safety Protection and Minimal Component Count Supports Internal or External Thermistor Reports Individual Cell Voltages Uses 15-Bit ADC for Accurate Voltage, Temperature, and Current Measurements Measures Charge Flow Using A V-to-F Converter With Offset of Less Than 16 µV After Calibration Consumes Less Than 0.5 mW Operating Drives 4- or 5-Segment LED Display for Remaining Capacity Indication 28-Pin 150-Mil SSOP SSOP (DBQ) PACKAGE (TOP VIEW) HDQ16 ESCL ESDA RBI REG VOUT VCC VSS CTL2 CTL3 CTL4 LED1 LED2 LED3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 28 27 26 25 24 23 22 21 20 19 18 17 16 15 SMBC SMBD SAFETY GND GND VCELL SR1 SR2 SRC TS THON DISP LED5 LED4 description The bq2063 SBS-compliant gas gauge IC for battery-pack or in-system installation maintains an accurate record of available charge in Li-Ion batteries. The bq2063 monitors capacity and other critical parameters in Li-Ion battery packs. It also directly interfaces the Seiko S-8243 protection IC to minimize component count in smart-battery circuits. The bq2063 uses a V-to-F converter with automatic offset correction for charge and discharge counting. For voltage, temperature, and current reporting, the bq2063 uses an A-to-D converter. In conjunction with the S-8243, the onboard ADC also monitors individual cell voltages in a Li-Ion battery pack and allows the bq2063 to generate control signals to enhance pack safety. The bq2063 supports the smart battery data (SBData) commands and charge-control functions. It communicates data using the system management bus (SMBus) 2-wire protocol or the 1-wire HDQ16 protocol. The data available include the battery’s remaining capacity, temperature, voltage, current, and remaining run-time predictions. The bq2063 provides LED drivers and a push-button input to depict remaining battery capacity from full to empty in 20% or 25% increments with a 4- or 5-segment display. The bq2063 works with an external EEPROM. The EEPROM stores the configuration information for the bq2063, such as the battery’s chemistry, self-discharge rate, rate-compensation factors, measurement calibration, and design voltage and capacity. The bq2063 uses the programmable self-discharge rate and other compensation factors stored in the EEPROM to accurately adjust remaining capacity for use and standby conditions based on time, rate, and temperature. The bq2063 also automatically calibrates or learns the true battery capacity in the course of a discharge cycle from programmable near full to near empty levels. The S-8243 protection IC may be used to provide power to the bq2063 from a 3- or 4-series Li-Ion cell stack. AVAILABLE OPTIONS PACKAGE TJ 28-LEAD SSOP (DBQ) −20°C to 70°C bq2063DBQ 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 data sheet. Copyright 2002, Texas Instruments Incorporated !"#$%&" ' ()##*& %' "! +),(%&" -%&* #"-)(&' ("!"#$ &" '+*(!(%&"' +*# &.* &*#$' "! */%' '&#)$*&' '&%-%#- 0%##%&1 #"-)(&" +#"(*''2 -"*' "& *(*''%#,1 (,)-* &*'&2 "! %,, +%#%$*&*#' POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 1 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 Terminal Functions TERMINAL NAME CTL2−CTL4 No. 9–11 I/O DESCRIPTION O 3-state outputs to interface the S-8243 protection IC DISP 17 I Display control for the LED drivers LED1−LED5 ESCL 2 O Serial memory clock for data transfer between the bq2063 and the external nonvolatile configuration memory ESDA 3 I/O Bidirectional pin that transfers address and data to and from the bq2063 and the external nonvolatile configuration memory GND 24–25 HDQ16 Must be tied externally to VSS 1 I/O Serial communication open-drain bidirectional communications port 12–16 O LED display segments that each may drive an external LED 4 I Register backup that provides backup potential to the bq2063 registers during periods of low operating voltage. RBI accepts a storage capacitor or a battery input REG 5 O Regular output to control an n-JFET for Vcc regulation to the bq2063 from the battery potential SAFETY 26 O Open-drain output for an additional level of safety protection (e.g., fuse blow) SMBC 28 I/O SMBus clock open-drain bidirectional pin used to clock the data transfer to and from the bq2063 SMBD 27 I/O SMBus data open-drain bidirectional pin used to transfer address and data to and from the bq2063 SRC 20 I Current-sense voltage to monitor instantaneous current LED1−LED5 RBI SR1−SR2 22–21 I Connections for a small-value sense resistor to monitor the battery charge- and discharge-current flow THON 18 O Control for external FETs to connect the thermistor bias resistor during a temperature measurement TS 19 I Thermistor voltage input connection to monitor temperature VCC 7 I Supply voltage VCELL 23 I Single-cell voltage input that monitors the series element cell voltages from the S-8243 VOUT 6 O VSS 8 VCC output that supplies power to the external EEPROM configuration memory Ground absolute maximum ratings over operating free-air temperature (unless otherwise noted)† Supply voltage (VCC with respect to VSS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 V Input voltage, V(IN), all other pins (all with respect to VSS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 V Operating free-air temperature range, TA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . −20°C to 70°C Storage temperature range, TSTG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . −20°C to 70°C Junction temperature range, TJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . −40°C to 125°C Lead temperature (soldering, 10 s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300°C † 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. 2 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 electrical characteristics for VCC = 2.7 V to 3.7 V, TA = −20°C to 70°C (unless otherwise noted) PARAMETER TEST CONDITIONS VCC ICC Supply voltage Operating current VOUT inactive I(SLP) I(LVOUT) Low-power storage mode current 1.5 V < VCC < 3.7 V VOUT leakage current VOUT inactive I(VOUT) VOUT source current VOUT active, VOUT = VCC − 0.6 V VI(OLS) V(IL) Output voltage low: (LED1−LED5, CTL2−4) I(OLS) = 5 mA VIH Input voltage high DISP VOL Output voltage low SMBC, SMBD, HDQ16, ESCL, ESDA, THON MIN TYP 2.7 Input voltage low SMBC, SMBD, HDQ16, ESCL, ESDA V(AI) I(RB) Input voltage range VCELL, TS, SRC V(RBI) Z(AI1) RBI data-retention voltage Input impedance SR1, SR2 Z(AI2) Input impedance VCELL, TS, SRC 3.3 3.7 V 235 µA 5 10 µA 0.2 µA −5 mA 0.4 V −0.3 0.8 V 2 VCC + 0.3 V 0.4 V 0.8 V 1.7 6 V VSS − 0.3 1.25 V 50 nA IOL = 1 mA −0.3 Input voltage high SMBC, SMBD, HDQ16, ESCL, ESDA V(RBI) > 3 V, VCC < 2 V RBI data-retention input current UNIT 180 −0.2 Input voltage low DISP V(ILS) V(IHS) MAX 10 1.3 V 0 V–1.25 V 10 MΩ 0 V–1.25 V 5 MΩ VFC characteristics, VCC = 3.1 V to 3.5 V, TA= 0°C to 70°C (unless otherwise noted) PARAMETER TEST CONDITIONS V(SR) V(SROS) Input voltage range, V(SR2) and V(SR1) V(SRCOS) RMVCO Calibrated offset RM(TCO) INL Input offset VSR = V(SR2) – V(SR1) V(SR2) = V(SR1), autocorrection disabled MIN TYP –0.25 –250 –50 MAX UNIT 0.25 V 250 µV 16 µV 1.2 %/V %/°C –16 Supply voltage gain coefficient VCC = 3.5 V Slope for TA = –20°C to 70°C Temperature gain coefficient (see Note 1) 0.8 –0.09 0.09 Total Deviation TA = –20°C to 70°C –1.6% 0.1% Slope for TA = −0°C to 50°C Total Deviation TA = −0°C to 50°C –0.05 0.05 –0.6% 0.1% Integral nonlinearity error TA = 0°C to 50°C NOTE 1: RM(TCO) total deviation is from the nominal VFC gain at 25°C. %/°C 0.21% REG characteristics (see Note 2) PARAMETER V(RO) REG controlled output voltage TEST CONDITIONS MIN TYP MAX JFET: R(ds)(on) < 150 Ω V(gs)(off) ≤ −3 V at 10 µA 3.1 3.3 3.5 IREG REG(output current) 1 NOTE 2: Characteristics for internal bq2063 regulator control. Leave REG pin open when using regulated voltage from S-8243. POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 UNIT V µA 3 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 SMBus ac specifications, TA = −20°C to 70°C, 2.7 V < VCC < 3.7 V (unless other noted) PARAMETER TEST CONDITIONS MIN TYP UNIT 100 kHz FSMB FMAS SMBus operating frequency Slave mode, SMBC 50% duty cycle SMBus master clock frequency Master mode, no clock low slave extend TBUF THD:STA Bus free time between start and stop 4.7 µs Hold time after (repeated) start 4.0 µs TSU:STA TSU:STO Repeated start setup time 4.7 µs 4.0 µs Stop setup time 10 MAX 51.2 Receive mode 0 Transmit mode 300 kHz µss THD:DAT Data hold time TSU:DAT TTIMEOUT Data setup time TLOW THIGH Clock low period Clock high period See Note 4 50 µs TLOW:SEXT TLOW:MEXT Cumulative clock low slave extend time See Note 5 25 ms Cumulative clock low master extend time See Note 6 10 ms µs 250 Error signal/detect See Note 3 25 35 ms µs 4.7 4.0 NOTES: 3. The bq2063 times out when any clock low exceeds TTIMEOUT 4. THIGH Max. is minimum bus idle time. SMBC = SMBD = 1 for t > 50 µs causes reset of any transaction involving bq2063 that is in progress. 5. TLOW:SEXT is the cumulative time a slave device is allowed to extend the clock cycles in one message from initial start to the stop. 6. TLOW:MEXT is the cumulative time a master device is allowed to extend the clock cycles in one message from initial start to the stop. HDQ16 ac specifications, TA = −20°C to 70°C, 2.7 V < VCC < 3.7 V (unless otherwise noted) PARAMETER TEST CONDITIONS MIN TYP MAX UNIT µs tCYCH tCYCB Cycle time, host to bq2063 (write) 190 Cycle time, bq2063 to host (read) 190 tSTRH tSTRB Start hold time, host to bq2063 (write) 5 Start hold time, bq2063 to host (read) 32 tDSU tDSUB Data setup time t(DH) tDV Data hold time 100 µs Data valid time 80 µs tSSU tSSUB Stop setup time 145 µs Stop setup time 145 µs tRSPS tB Response time, bq2063 to host 190 320 µs Break time 190 µs tBR Break recovery time 40 µs 4 Data setup time POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 205 250 µs µs µs 50 µs 50 µs Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 Figures 1−4 illustrate the diagrams for the bq2063. THIGH SMBC THD:STA TLOW THD:DAT TSU:STA TSU:STO TSU:DAT SMBD TBUF Figure 1. SMBus Timing Data tBR tB Figure 2. HDQ16 Break Timing Write 1 Write 0 tSTRH tDSU tDH tSSU tCYCH Figure 3. HDQ16 Host to bq2063 Read 1 Read 0 tSTRB tDSUB tDV tSSUB tCYCB Figure 4. HDQ16 bq2063 to Host POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 5 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 functional description general operation The bq2063 determines battery capacity by monitoring the amount of charge input or removed from a rechargeable battery. In addition to measuring charge and discharge, the bq2063 measures battery voltage, temperature, and current, estimates battery self-discharge, and monitors the battery for low-voltage thresholds. The bq2063 measures charge and discharge activity by monitoring the voltage across a small-value series sense resistor between the battery’s negative terminal and the negative terminal of the battery pack. The available battery charge is determined by monitoring this voltage and correcting the measurement for environmental and operating conditions. The bq2063 accepts an NTC thermistor (Semitec 103AT) for temperature measurement or can be configured for internal IC measurement. The bq2063 uses temperature to monitor battery pack and to compensate the self-discharge estimate. measurements The bq2063 uses a fully differential, dynamically balanced voltage-to-frequency converter (VFC) for charge measurement and a sigma delta analog-to-digital converter (ADC) for battery voltage, current, and temperature measurement. Voltage, current, and temperature measurements are made every 2−2.2 seconds, depending on the bq2063 operating mode. Maximum times occur with compensated EDV, mWh mode, and maximum allowable discharge rate. Any AtRate computations requested or scheduled (every 20 seconds) may add up to 0.5 seconds to the time interval. charge and discharge counting The VFC measures the charge and discharge flow of the battery by monitoring a small-value sense resistor between the SR1 and SR2 pins as shown in Figure 13. The VFC measures bipolar signals up to 250 mV. The bq2063 detects charge activity when VSR = V(SR2)–V(SR1) is positive and discharge activity when VSR = V(SR2)–V(SR1) is negative. The bq2063 continuously integrates the signal over time using an internal counter. The fundamental rate of the counter is 6.25 µVh. offset calibration The bq2063 provides an auto-calibration feature to cancel the voltage offset error across SR1 and SR2 for maximum charge measurement accuracy. The calibration routine is initiated by issuing a command to ManufacturerAccess( ). The bq2063 is capable of automatic offset calibration down to 6.25µV. Offset cancellation resolution is less than 1 µV. digital filter The bq2063 does not measure charge or discharge counts below the digital filter threshold. The digital filter threshold is programmed in the EEPROM and should be set sufficiently high to prevent false signal detection with no charge or discharge flowing through the sense resistor. voltage While monitoring SR1 and SR2 for charge and discharge currents, the bq2063 monitors the battery-pack potential and the individual cell voltages through the VCELL pin. The bq2063 measures the voltage of three or four series elements in a battery pack. CTL3 and CTL4 signal the S-8243 to present the cell voltages at the VCELL input of the bq2063 according to Table 11. The bq2063 calculates the pack voltage and reports the result in Voltage( ). The individual cell voltages are stored in the optional manufacturer function area. 6 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 functional description (continued) current The SRC input of the bq2063 measures battery charge and discharge current. The SRC ADC input converts the current signal from the series sense resistor and stores the result in Current( ). The full-scale input range to SBC is limited to ±250 mV. temperature The bq2063 can use its internal sensor or an external thermistor to develop the temperature reading, depending on the programming of the EXTH bit in Pack Configuration, EE 0x3f. The TS input of the bq2063 in conjunction with an NTC thermistor measures the battery temperature as shown in Figure 13. The bq2063 reports temperature in Temperature( ). THON may be used to switch the bias current through the external thermistor when the bq2063 samples the TS input. THON is low impedance for 60 ms when the temperature is measured, and high impedance otherwise. gas gauge operation general The operational overview in Figure 5 illustrates the gas gauge operation of the bq2063. Table 2 describes the bq2063 registers. Inputs Charge Current Battery Load and Light Discharge Estimate Discharge Current Charge Efficiency Compensation Temperature Compensation − Main Counters and Capacity Reference (FCC) Self-Discharge Timer + − − Remaining Capacity (RM) + ≤ Full Charge Capacity (FCC) + + Discharge Count Qualified Register (DCR) Transfer Temperature, Other Data Outputs Chip-Controlled Available Charge LED Display Two-Wire Serial Port Figure 5. bq2063 Operational Overview POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 7 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 general (continued) The bq2063 accumulates a measure of charge and discharge currents and estimates self-discharge of the battery. The bq2063 compensates the charge current measurement for temperature and state-of-charge of the battery. The bq2063 also adjusts the self-discharge estimation based on temperature. The main charge counter RemainingCapacity( ) (RM) represents the available capacity or energy in the battery at any given time. The bq2063 adjusts RM for charge, self-discharge, and leakage compensation factors. The information in the RM register is accessible through the communications ports and is also represented through the LED display. The FullChargeCapacity( ) (FCC) register represents the last measured full discharge of the battery. It is used as the battery’s full-charge reference for relative capacity indication. The bq2063 updates FCC after the battery undergoes a qualified discharge from nearly full to a low battery level. FCC is accessible through the serial communications ports. The Discharge Count Register (DCR) is a non-accessible register that tracks discharge of the battery. The bq2063 uses the DCR register to update the FCC register if the battery undergoes a qualified discharge from nearly full to a low battery level. In this way, the bq2063 learns the true discharge capacity of the battery under system use conditions. main gas-gauge registers The gas-gauge register functions are described in Table 2. RemainingCapacity( ) (RM) RM represents the remaining capacity in the battery. The bq2063 computes RM in either mAh or 10 mWh depending on the selected mode. RM counts up during charge to a maximum value of FCC and down during discharge and self-discharge to 0. In addition to charge and self-discharge compensation, the bq2063 calibrates RM at three low-battery-voltage thresholds, EDV2, EDV1, and EDV0 and three programmable midrange thresholds VOC25, VOC50, and VOC75. This provides a voltage-based calibration to the RM counter. DesignCapacity( ) (DC) The DC is the user-specified battery full capacity. It is calculated from Pack Capacity EE 0x3a-0x3b and is represented in mAh or 10 mWh. It also represents the full-battery reference for the absolute display mode. FullChargeCapacity( ) (FCC) FCC is the last measured discharge capacity of the battery. It is represented in either mAh or 10 mWh, depending on the selected mode. On initialization, the bq2063 sets FCC to the value stored in Last Measured Discharge EE 0x38-0x39. During subsequent discharges, the bq2063 updates FCC with the last measured discharge capacity of the battery. The last measured discharge of the battery is based on the value in the DCR register after a qualified discharge occurs. Once updated, the bq2063 writes the new FCC value to EEPROM in mAh to Last Measured Discharge. FCC represents the full battery reference for the relative display mode and relative state of charge calculations. discharge count register (DCR) The DCR register counts up during discharge, independent of RM. DCR can continue to count even after RM has counted down to 0. Before RM = 0, discharge activity, light discharge estimation, battery load estimation, and self-discharge increment DCR. After RM = 0, the bq2063 does not apply self-discharge and DCR increments only because of discharge activity, light discharge estimation, and battery load estimation. The bq2063 initializes DCR, at the beginning of a discharge, to FCC − RM when RM is within twice the programmed value in Near Full EE 0x55. The DCR initial value of FCC − RM is reduced by FCC/128 if SC = 0 (bit 2 in Control Mode) and is not reduced if SC = 1. DCR stops counting when the battery voltage reaches the EDV2 threshold on discharge. 8 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 gas gauge operation (continued) capacity learning (FCC update) and qualified discharge The bq2063 updates FCC with an amount based on the value in DCR if a qualified discharge occurs. The new value for FCC equals the DCR value plus the programmable nearly full and low battery levels, according to the following equation: FCC (new) + DCR (final) + DCR (initial) ) Measured Discharge to EDV2 ) (FCC Battery Low%) (1) Battery Low % = (value stored in EE 0x54) ÷ 2.56 A qualified discharge occurs if the battery discharges from RM ≥ FCC − Near Full × 2 to the EDV2 voltage threshold with the following conditions: D No valid charge activity occurs during the discharge period. A valid charge is defined as a charge of 10 mAh into the battery. D No more than 256 mAh of self-discharge, battery load estimation, and/or light discharge estimation occurs during the discharge period. D The temperature does not drop below the low temperature thresholds programmed in Max T_LowT or 12°C during the discharge period. The threshold depends on the programming of the LLTF bit in Pack Programming, EE 0x63. D The battery voltage reaches the EDV2 threshold during the discharge period and the voltage was less than the EDV2 threshold minus 256 mV when the bq2063 detected EDV2. D No midrange voltage correction occurs during the discharge period. D Current remains ≥ 3C/32 or C/32, depending on Pack Programming selection, when EDV2 or Battery Low % level is reached. The bq2063 sets VDQ=1 in Pack Status when qualified discharge begins. The bq2063 sets VDQ=0 if any disqualifying condition occurs. FCC cannot be reduced by more than 256 mAh or increased by more than 512 mAh during any single update cycle. The bq2063 saves the new FCC value to the EEPROM within 4 seconds of being updated. end-of-discharge thresholds and capacity correction The bq2063 monitors the battery for three low-voltage thresholds, EDV0, EDV1, and EDV2. The EDV thresholds can be programmed for determination based on the overall pack voltage or an individual cell level. The EDVV bit in Pack Programming configures the bq2063 for overall voltage or single-cell EDV thresholds. If programmed for single cell EDV determination, the bq2063 determines EDV on the basis of the lowest single-cell voltage. Fixed EDV thresholds may be programmed in EDVF/EDV0 EE 0x72-0x73, EMF/EDV1 EE 0x74-0x75, and EDV C0 Factor/EDV2 EE 0x78-0x79. If the CEDV bit in Pack Configuration is set, automatic EDV compensation is enabled and the bq2063 computes the EDV0, EDV1, and EDV2 thresholds based on the values in EE 0x72-0x7d, 0x06, and the battery’s current discharge rate and temperature. The bq2063 disables EDV detection if Current( ) exceeds the Overload Current threshold programmed in EE 0x46 − EE 0x47. The bq2063 resumes EDV threshold detection after Current( ) drops below the overload current threshold. Any EDV threshold detected is reset after 10 mAh of charge are applied. POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 9 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 end-of-discharge thresholds and capacity correction (continued) Table 1. State of Charge Based on Low Battery Voltage THRESHOLD RELATIVE STATE OF CHARGE EDV0 0% EDV1 3% EDV2 Battery Low % The bq2063 uses the EDV thresholds to apply voltage-based corrections to the RM register according to Table 1. The bq2063 performs EDV-based RM adjustments with Current( ) ≥ C/32. No EDVs are set if current < C/32. The bq2063 adjusts RM as it detects each threshold. If the voltage threshold is reached before the corresponding capacity on discharge, the bq2063 reduces RM to the appropriate amount as shown in Table 1. This reduction occurs only if current ≥ C/32 when the EDV threshold is detected. If RM reaches the capacity level before the voltage threshold is reached on discharge, the bq2063 prevents RM from decreasing further until the battery voltage reaches the corresponding threshold only on a full learning cycle discharge. RM is not held at the associated EDV percentage on a nonlearning discharge cycle (VDQ=0) or if current < C/32. Table 2. bq2063 Register Functions COMMAND CODE FUNCTION 10 SMBus HDQ16 ACCESS (SMBus) UNITS ManufacturerAccess 0x00 0x00 read/write NA RemainingCapacityAlarm 0x01 0x01 read/write mAh, 10 mWh RemainingTimeAlarm 0x02 0x02 read/write minutes BatteryMode 0x03 0x03 read/write NA AtRate 0x04 0x04 read/write mA, 10mW AtRateTimeToFull 0x05 0x05 read minutes AtRateTimeToEmpty 0x06 0x06 read minutes AtRateOK 0x07 0x07 read Boolean Temperature 0x08 0x08 read 0.1°K Voltage 0x09 0x09 read mV Current 0x0a 0x0a read mA AverageCurrent 0x0b 0x0b read mA MaxError 0x0c 0x0c read percent RelativeStateOfCharge 0x0d 0x0d read percent AbsoluteStateOfCharge 0x0e 0x0e read percent RemainingCapacity 0x0f 0x0f read mAh, 10 mWh FullChargeCapacity 0x10 0x10 read mAh, 10 mWh RunTimeToEmpty 0x11 0x11 read minutes AverageTimeToEmpty 0x12 0x12 read minutes AverageTimeToFull 0x13 0x13 read minutes ChargingCurrent 0x14 0x14 read mA ChargingVoltage 0x15 0x15 read mV Battery Status 0x16 0x16 read NA CycleCount 0x17 0x17 read cycles DesignCapacity 0x18 0x18 read mAh, 10 mWh DesignVoltage 0x19 0x19 read mV SpecificationInfo 0x1a 0x1a read NA ManufactureDate 0x1b 0x1b read NA POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 Table 2. bq2063 Register Functions (Continued) FUNCTION COMMAND CODE SMBus ACCESS (SMBus) HDQ16 UNITS SerialNumber 0x1c 0x1c read integer Reserved 0x1d-0x1f 0x1d−0x1f — — ManufacturerName 0x20 0x20−0x25 read string DeviceName 0x21 0x28−0x2b read string DeviceChemistry 0x22 0x30−0x32 read string ManufacturerData 0x23 0x38−0x3b read string Pack Status 0x2f (LSB) 0x2f (LSB) read/write NA Pack Configuration 0x2f (MSB) 0x2f (MSB) read/write NA VCELL4 0x3c 0x3c read/write mV VCELL3 0x3d 0x3d read/write mV VCELL2 0x3e 0x3e read/write mV VCELL1 0x3f 0x3f read/write mV self-discharge The bq2063 estimates the self-discharge of the battery to maintain an accurate measure of the battery capacity during periods of inactivity. The algorithm for self-discharge estimation takes a programmed estimate for the expected self-discharge rate at 25°C stored in EEPROM and makes a fixed reduction to RM of an amount equal to RemainingCapacity( )/256. The bq2063 makes the fixed reduction at a varying time interval that is adjusted to achieve the desired self-discharge rate. This method maintains a constant granularity of 0.39% for each self-discharge adjustment, which may be performed multiple times per day, instead of once per day with a potentially large reduction. The self-discharge estimation rate for 25°C is doubled for each 10 degrees above 25°C or halved for each 10 degrees below 25°C. The following table shows the relation of the self-discharge estimation at a given temperature to the rate programmed for 25°C (Y% per day). Table 3. Self-Discharge for Rate Programmed TEMPERATURE (°C) SELF-DISCHARGE RATE Temp < 10 1/4 Y% per day 10 ≤ Temp <20 1/2 Y% per day 20 ≤ Temp <30 Y% per day 30 ≤ Temp <40 2Y% per day 40 ≤ Temp <50 4Y% per day 50 ≤ Temp <60 8Y% per day 60 ≤ Temp <70 16Y% per day 70≤ Temp 32Y% per day The interval at which RM is reduced is given by the following equation, where n is the appropriate factor of 2 (n = 1/4, 1/2,1, 2, . . . ): Self-Discharge Update Time + 640 • 13500 seconds 256 • n • (Y% per day) (2) Example: If T = 35°C (n = 2) and programmed self-discharge rate Y is 2.5% per day at 25°C, the bq2063 reduces RM by RM/256 (0.39%) every 640 • 13500 + 6750 seconds 256 • 2 • 2.5 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 (3) 11 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 self-discharge (continued) The timer that keeps track of the self-discharge update time is halted whenever charge activity is detected. The timer is reset to zero if the bq2063 reaches the RemainingCapacity( )=FullChargeCapacity( ) condition while charging. CAPACITY vs TIME 1200 Capacity − mAh 1000 800 TA = 15°C 600 TA = 25°C 400 TA = 35°C 200 TA = 45°C 0 0 10 20 30 40 50 60 70 Time − Days Figure 6. Self-Discharge at 2.5%/Day at 25°C This means that a 0.39% reduction of RM is made 12.8 times per day to achieve the desired 5% per day reduction at 35°C. Figure 6 illustrates how the self-discharge estimate algorithm adjusts RemainingCapacity( ) vs temperature. light discharge or suspend current compensation The bq2063 can be configured in two ways to compensate for small discharge currents that produce a signal below the digital filter. First, the bq2063 can decrement RM and DCR at a rate determined by the value stored in Light Discharge Current EE 0x64 when it detects no discharge activity and the SMBC and SMBD lines are high. Light Discharge Current has a range of 0 mA to 11.2 mA, with 44 µA granularity. Alternatively, the bq2063 can be configured to disable the digital filter for discharge when the SMBC and SMBD lines are high. In this way, the digital filter does not mask the leakage-current signal. The bq2063 is configured in this mode by setting the NDF bit in Control Mode. battery electronic load compensation The bq2063 can be configured to compensate for a constant load present in the battery pack at all times, such as from battery electronics. The bq2063 applies the compensation continuously when the charge or discharge is below the digital filter. The bq2063 applies the compensation in addition to self-discharge. The compensation occurs at a rate determined by the value stored in Pack Load Estimate EE 0x1c. The compensation range is 0 µA–700 µA in steps of approximately 2.75 µA. 12 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 midrange capacity corrections The bq2063 applies midrange capacity corrections when the VCOR bit is set in Pack Configuration. The bq2063 adjusts RM to the associated percentage at three different voltage levels: VOC25, VOC50, and VOC75. The VOC values represent the open circuit battery voltage at which RM corresponds to the associated for each threshold. For the midrange corrections to occur, the temperature must be in the range of 19°C to 31°C inclusive and the Current( ) and AverageCurrent( ) must both be between −64 mA and 0. The bq2063 makes midrange corrections as shown in Table 4. For a correction to occur, the bq2063 must detect the need for correction twice during subsequent 20-s intervals. With the VCOR bit set, the bq2063 makes mid-range corrections whenever conditions permit. If the OTVC bit in Pack Configuration is set and VCOR = 0, the bq2063 makes a single attempt of mid-range correction immediately after device reset and does not require a second validation. The OTVC bit read by command code 0x2f is cleared within 2 seconds after a device reset, when the midrange voltage correction attempt is made. Table 4. Midrange Corrections CONDITION Voltage( ) RESULT ≥ VOC75 and RelativeStateOfCharge( ) ≤ 63% RelativeStateOfCharge( )→75% < VOC75 and RelativeStateOfCharge( ) ≥ 87% RelativeStateOfCharge( )→75% ≥VOC50 and RelativeStateOfCharge( ) ≤ 38% RelativeStateOfCharge( )→50% <VOC50 and RelativeStateOfCharge( ) ≥ 62% RelativeStateOfCharge( )→50% ≥ VOC25 and RelativeStateOfCharge( ) ≤ 13% RelativeStateOfCharge( )→25% < VOC25 and RelativeStateOfCharge( ) ≥ 37% RelativeStateOfCharge( )→25% charge control charging voltage and current broadcasts The bq2063 supports SBS charge control by broadcasting the ChargingCurrent( ) and ChargingVoltage( ) to the Smart Charger address. The bq2063 broadcasts the requests every 10 seconds. The bq2063 updates the values used in the charging current and voltage broadcasts based on the battery’s state of charge, voltage, and temperature. The charge voltage is programmed in Charging Voltage EE 0x0a-0x0b. The charge current may take any of four different values and depends on charge state and operating conditions. The bq2063 internal charge control is compatible with the constant current/constant voltage profile for Li-Ion. The bq2063 detects primary charge termination on the basis of the tapering charge current during the constant-voltage phase. alarm broadcasts to smart charger and host If any of the bits 8−15 in BatteryStatus( ) are set, the bq2063 broadcasts an AlarmWarning( ) message to the Host address. If any of the bits 12−15 in BatteryStatus( ) are set, the bq2063 also sends an AlarmWarning( ) message to the Smart Charger address. The bq2063 repeats the AlarmWarning( ) messages every 10 seconds until the alarm bits are cleared. precharge qualification The bq2063 sets ChargingCurrent( ) to the precharge rate as programmed in Pre-charge Current EE 0x1e under the following conditions: D Voltage: The bq2063 requests the precharge charge rate when Voltage( ) or the lowest cell voltage drops below the EDVF threshold or when the EDV0 threshold is detected. Once requested, a precharge rate remains until Voltage( ) or the lowest cell voltage increases above the EDVF threshold. The EDVF threshold is programmed in EDVF/ EDV0 EE 0x72-0x73. POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 13 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 D Temperature: The bq2063 requests the precharge rate when Temperature( ) is between 0°C and the low temperature fault (LTF) threshold programmed in MaxT_LowT. Temperature( ) must be equal to or greater than the LTF threshold to allow the fast-charge rate. The LTF threshold is programmed in the lower nibble of MaxT_LowT EE 0x45. charge suspension The bq2063 may temporarily suspend charge if it detects a charging fault. A charging fault includes the following conditions. D Overcurrent: An overcurrent condition exists when the bq2063 measures the charge current to be more than Overcurrent Margin plus ChargingCurrent( ). Overcurrent Margin is programmed in EE 0x49. On detecting an overcurrent condition, the bq2063 sets the ChargingCurrent( ) to zero and sets the TERMINATE_CHARGE_ALARM bit in Battery Status( ). The overcurrent condition and TERMINATE_CHARGE_ALARM are cleared when the measured current drops below Overcurrent Margin. D Overvoltage: An overvoltage condition exists when the bq2063 measures the battery voltage to be more than Overvoltage Margin plus ChargingVoltage( ), or when a Li-Ion cell voltage has exceeded the overvoltage limit programmed in Cell Under/Overvoltage. Overvoltage Margin is programmed in EE 0x48 and Cell Under/Over Voltage in EE 0x4a. On detecting an overvoltage condition, the bq2063 sets the ChargingCurrent( ) to zero and sets the TERMINATE_CHARGE_ALARM bit in BatteryStatus( ). The bq2063 clears the TERMINATE_ CHARGE_ALARM bit when it detects that the battery is no longer being charged (DISCHARGING bit set in BatteryStatus( )). The bq2063 continues to broadcast zero charging current until the overvoltage condition is cleared. The overvoltage condition is cleared when the measured battery voltage drops below the ChargingVoltage( ) plus the Overvoltage Margin and all cell voltages are less than the Cell Under/Over Voltage threshold. D Overtemperature: An overtemperature condition exists when Temperature( ) is greater than or equal to the Max T value programmed in EE 0x45 (MSN). On detecting an overtemperature condition, the bq2063 sets the ChargingCurrent( ) to zero and sets the OVER_TEMP_ALARM and TERMINATE_CHARGE_ ALARM bit in BatteryStatus( ) and the CVOV bit in Pack Status. The overtemperature condition is cleared when Temperature( ) is equal to or below (MaxT −5°C) or 43°C. D Overcharge: An overcharge condition exists if the battery is charged more than the Maximum Overcharge value after RM = FCC. Maximum Overcharge is programmed in EE 0x2e-0x2f. On detecting an overcharge condition, the bq2063 sets the ChargingCurrent( ) to zero and sets the OVER_CHARGED_ALARM, TERMINATE_CHARGE_ ALARM, and FULLY_CHARGED bits in BatteryStatus( ). The bq2063 clears the OVER_ CHARGED_ALARM and TERMINATE_CHARGE_ ALARM when it detects that the battery is no longer being charged. The FULLY_CHARGED bit remains set and the bq2063 continues to broadcast zero charging current until RelativeStateOfCharge( ) is less than Fully Charged Clear% programmed in EE 0x4c. The counter used to track overcharge capacity is reset with 2 mAh of discharge. D Undertemperature: An undertemperature condition exists if Temperature( ) < 0°C. On detecting an under temperature condition, the bq2063 sets ChargingCurrent( ) to zero. The bq2063 sets ChargingCurrent( ) to the appropriate precharge rate or fast-charge rate when Temperature( ) ≥ 0°C. primary charge termination The bq2063 terminates charge if it detects a charge-termination condition based on current taper. A charge-termination condition includes the following: For current taper, ChargingVoltage( ) must be set to the pack voltage desired during the constant-voltage phase of charging. The bq2063 detects a current taper termination when the pack voltage is greater than ChargingVoltage( ) minus Current Taper Qual Voltage in EE 0x4f and the charging current is below a threshold determined by Current Taper Threshold in EE 0x4e, for at least 40 seconds. The bq2063 uses the VFC to measure current for current taper termination. The current must also remain above 0.5625/Rs mA to qualify the termination condition. 14 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 primary charge termination (continued) Once the bq2063 detects a primary charge termination, the bq2063 sets the TERMINATE_CHARGE_ALARM and FULLY_CHARGED bits in BatteryStatus( ), and sets the ChargingCurrent( ) to the maintenance charge rate as programmed in Maintenance Charging Current EE 0x1d. On termination, the bq2063 also sets RM to a programmed percentage of FCC, provided that RelativeStateOfCharge( ) is below the desired percentage of FCC and the CSYNC bit in Pack Configuration EE 0x3f is set. The programmed percentage of FCC, Fast Charge Termination %, is set in EE 0x4b. The bq2063 clears the FULLY_CHARGED bit when RelativeStateOfCharge( ) is less than the programmed Fully Charged Clear %. The bq2063 broadcasts the fast-charge rate when the FULLY_CHARGED bit is cleared and voltage and temperature permit. The bq2063 clears the TERMINATE_CHARGE_ALARM when it no longer detects that the battery is being charged or it no longer detects the termination condition. See Table 5 for a summary of BatteryStatus( ) alarm and status bit operation. Table 5. Alarm and Status Bit Summary BATTERY STATE CC( ) CURRENT AND STATUS BITS SET CONDITIONS STATUS CLEAR CONDITION Overcurrent C( ) ≥ CC( ) + Overcurrent Margin CC( ) = 0, TCA = 1 C( ) < Overcurrent Margin Prolonged overcurrent AC( ) ≥ Fast-Charging Current + Overcurrent Margin CVOV = 1 CC( ) = 0, TCA = 1 AC( ) < 256 mA Overload AC( ) ≤ −Overload Current CVUV = 1 AC( ) ≥ –256 mA TCA = 1 DISCHARGING = 1 CC( ) = 0, CVOV = 1 V( ) < CV( ) + Overvoltage Margin VCELL(all) ≤ Cell Over Voltage Overvoltage V( ) ≥ CV( ) + Overvoltage Margin VCELL1, 2, 3, or 4 ≥ Cell Over Voltage Overtemperature T( ) ≥ Max T CC( ) = 0, OTA = 1, TCA = 1, CVOV = 1 T( ) ≤ Max T - 5°C or T( ) ≤ 43°C Capacity added after RM( ) = FCC( ) ≥ Maximum Overcharge CC( ) = 0, FC = 1 RSOC( )< Fully Charged Clear % Overcharge OCA = 1, TCA = 1 DISCHARGING = 1 T( ) < 0°C CC( ) = 0 0°C ≤ T( ) 0°C ≤ T( ) < LTF CC( ) = Pre-Charge Current T( ) ≥ LTF Primary charge termination Current taper FC = 1 CC( ) = Maintenance Charging Current RSOC( ) < Fully Charged Clear% Fully discharged RM( ) < Battery Low % and DISCHARGING = 1 FD = 1 RSOC( ) ≥ 20% RM( ) = 0 V( ) or VCELL1, 2, 3, or 4 ≤ EDV0 TDA = 1 V( ) or VCELL(all) > EDV0 and RM( ) > 0 VCELL1, 2, 3 or 4 < Cell Under Voltage TDA = 1, CVUV = 1 V( ) > EDV0 VCELL(all) ≥ Cell Under Voltage Low capacity RM( ) < RCA( ) RCA = 1 RM( ) ≥ RCA( ) Low run time ATTE( ) < RTA( ) RTA = 1 ATTE( ) ≥ RTA( ) Undertemperature Overdischarged NOTE: AC( ) = AverageCurrent( ), C( ) = Current( ), CV( ) = ChargingVoltage( ), CC( ) = ChargingCurrent( ), V( ) = Voltage( ), T( ) = Temperature( ), TCA = TERMINATE_CHARGE_ALARM, OTA = OVER_TEMPERATURE_ALARM, OCA = OVER_CHARGED_ALARM, TDA = TERMINATE_DISCHARGE_ALARM, FC = FULLY_CHARGED, FD = FULLY_DISCHARGED, RSOC( ) = RelativeStateOfCharge( ). RM( ) = RemainingCapacity( ), RCA = REMAINING_CAPACITY_ALARM, RTA = REMAINING_TIME_ALARM, ATTE( ) = AverageTimeToEmpty( ), RTA( ) = RemainingTimeAlarm( ), RCA( ) = RemainingCapacityAlarm( ). LTF = Low Temperature Fault threshold FCC( ) = Full Charge Capacity POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 15 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 display port general The display port drives a 4 or 5 LED bar-graph display. The display is activated by a logic signal on the DISP input. The bq2063 can display RM in either a relative or absolute mode with each LED representing a percentage of the full-battery reference. In relative mode, the bq2063 uses FCC as the full-battery reference; in absolute mode, it uses dc. The DMODE bit in Pack Configuration programs the bq2063 for the absolute or relative display mode. The LED bit in Control Mode programs the 4- or 5-LED option. A fifth LED can be used with the 4-LED display option to show when the battery capacity is ≥100%. activation The display may be activated at any time by a high-to-low transition on the DISP input. This is usually accomplished with a pullup resistor and a pushbutton switch. Detection of the transition activates the display and starts a four second display timer. Reactivation of the display requires that the DISP input return to a logic-high state and then transition low again. The second high-to-low transition must occur after the display timer expires. The bq2063 requires the input to remain stable for a minimum of 250 ms to detect the logic state. If unused, the DISP input must be pulled up to VCC. If the EDV0 bit is set, the bq2063 disables the LED display. The display is also disabled during a VFC calibration and should be turned off before entering low-power storage mode. display modes In relative mode, each LED output represents 20% or 25% of the RelativeStateOfCharge( ) value. In absolute mode, each LED output represents 20% or 25% of the AbsoluteStateOfCharge( ) value. Table 6 shows the display options for 5 LEDs and Table 7 for 4 LEDs. In either mode, the bq2063 blinks the LED display if RemainingCapacity( ) is less than Remaining CapacityAlarm( ). The display is disabled if EDV0 = 1. Table 6. Display Mode for Five LEDs CONDITION RELATIVE OR ABSOLUTE StateOfCharge( ) LED1 LED2 LED3 LED4 LED5 EDV0 = 1 OFF OFF OFF OFF OFF <20% ON OFF OFF OFF OFF ≥20%, < 40% ON ON OFF OFF OFF ≥40%, < 60% ON ON ON OFF OFF ≥60%, < 80% ON ON ON ON OFF ≥80% ON ON ON ON ON FIVE LED DISPLAY OPTION Table 7. Display Mode for Four LEDs 16 CONDITION RELATIVE OR ABSOLUTE StateOfCharge( ) LED1 LED2 LED3 LED4 EDV0 = 1 OFF OFF OFF OFF <25% ON OFF OFF OFF ≥25%, < 50% ON ON OFF OFF ≥50%, < 75% ON ON ON OFF ≥75% ON ON ON ON POST OFFICE BOX 655303 FOUR LED DISPLAY OPTION • DALLAS, TEXAS 75265 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 Li-Ion protector control The bq2063 provides a secondary level of protection for lithium Ion batteries, as shown in Table 8. The bq2063 uses the CTL2 output to communicate battery conditions to the S-8243A/B Protector IC. When the CVOV or CVUV condition occurs the bq2063 changes the state of the CTL2 pin according to Table 8. The cell overvoltage threshold should be set higher than the overvoltage threshold of the S-8243 protector, establishing a secondary overvoltage protection limit. The cell undervoltage threshold should be set somewhat higher than the overdischarged threshold of the S-8243 protector, establishing the primary undervoltage limit. There is no secondary undervoltage limit if the cell undervoltage threshold is set lower, because the S-8243 goes into a power-down mode and removes VCC to the bq2063 when it detects the overdischarged limit. It is also recommended that the bq2063 protection control be validated by two successive measurements by setting PDLY=1 in Pack Programming. The bq2063 asserts CVOV to turn off the charge FET if cell overvoltage, battery overvoltage, or overtemperature conditions exist, or if AverageCurrent( ) ≥ Fast-Charging Current + Overcurrent Margin (Prolonged Overcurrent condition in Table 5). It returns control to the S-8243 when overvoltage and overtemperature conditions no longer exist, AverageCurrent( ) < 256 mA (if Prolonged Current generated the fault condition), or Current( ) < 0. The bq2063 asserts CVUV to turn off the discharge FET if a cell undervoltage condition exists, or if AverageCurrent( ) ≤ −Overload current (Overload). It returns control to the S−8243 when the undervoltage condition no longer exists and AverageCurrent( ) ≥ −256mA (if Overload generated the fault condition), or Current( ) > 0. Table 8. bq2063 to S-8243A/B Interface (FET Protection Control) OUTPUT Battery State (Table 5) CTL2 INSTRUCTION TO S-8243A/B (CTL1 = LOW) DISCHARGING FET CHARGING FET CVOV = 1: Prolonged Overcurrent, Overvoltage, Overtemperature High Normal (see Note) Off CVOV = CVUV = 0 Open Normal (see Note) Normal (see Note) CVUV = 1: Overload, Overdischarged Low Off Normal (see Note) NOTE: State determined by S-8243A/B SAFETY output The SAFETY output of the bq2063 provides an additional level of safety control. The active low safety output can be used to blow fuse or control another switch based on temperature or a programmable pack-voltage level. The safety temperature threshold is programmable in Safety Overtemperature in EE 0x08 and the voltage level is programmable in Safety Overvoltage in EE 0x1f. The bq2063 SAFETY is allowed to go low only after the CVOV bit is set 2 seconds before either Voltage( ) > Safety Overvoltage or Temperature( ) ≥ Safety Overtemperature. If the SAFETY output activates, the bq2063 sets the SOV bit in Pack Status. SOV remains set until the bq2063 is reset or the bit is overwritten. An example circuit using the SAFETY output to blow a fuse is shown in Figure 7. POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 17 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 SAFETY output (continued) FUSE BAT+ VCC 1 MΩ Cell 4 0.1 µF BSS84 100 kΩ 2N7002 SAFETY 1 MΩ Figure 7. Example SAFETY Circuit Implementation low-power storage mode The bq2063 enters low-power mode 5-8 seconds after receiving the Enable Low-Power command. In this mode the bq2063 consumes less than 10 µA. A rising edge on SMBC, SMBD, or HDQ16 restores the bq2063 to the full operating mode. The bq2063 does not perform any gas-gauge functions during low-power storage mode. device reset The bq2063 can be reset with commands over the HDQ16 or SMBus. Upon reset, the bq2063 initializes its internal registers with the information contained in the configuration EEPROM. The following command sequence initiates a full bq2063 reset: 1. Write 0x005a to address 0x4f 2. Write 0x0000 to address 0x7d 3. Write 0x0080 to address 0x7d A partial reset of the bq2063 occurs if step one is omitted. All initial program values are read from EEPROM for both full and partial resets. A full reset initializes MaxError( ) = 100%, sets RELEARN FLAG (bit 7) in BatteryMode, and initializes RM from EEPROM 0x2c−2d . This initial RM value should be programmed to zero for secondary (rechargeable) batteries. A partial reset leaves MaxError( ), RELEARN_FLAG, and RM unchanged. communication The bq2063 includes two types of communication ports: SMBus and HDQ16. The SMBus interface is a 2-wire bidirectional protocol using the SMBC (clock) and SMBD (data) pins. The HDQ16 interface is a 1-wire bidirectional protocol using the HDQ16 pin. All three communication lines are isolated from VCC and may be pulled-up higher than VCC. Also, the bq2063 does not pull these lines low if VCC to the part is zero . HDQ16 should be pulled down with a 100-kΩ resistor, or may be grounded, if not used. The communication ports allow a host controller, an SMBus compatible device, or other processor to access the memory registers of the bq2063. In this way a system can efficiently monitor and manage the battery. SMBus The SMBus interface is a command-based protocol. A processor acting as the bus master initiates communication to the bq2063 by generating a START condition. A START condition consists of a high-to-low transition of the SMBD line while the SMBC is high. The processor then sends the bq2063 device address of 18 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 0001011 (bits 7-1) plus a R/W bit (bit 0) followed by an SMBus command code. The R/W bit (LSB) and the command code instruct the bq2063 to either store the forthcoming data to a register specified by the SMBus command code or output the data from the specified register. The processor completes the access with a STOP condition. A STOP condition consists of a low-to-high transition of the SMBD line while the SMBC is high. With SMBus, the most-significant bit (MSB) of a data byte is transmitted first. In some instances, the bq2063 acts as the bus master. This occurs when the bq2063 broadcasts charging requirements and alarm conditions to device addresses 0x12 (SBS Smart Charger) and 0x10 (SBS Host Controller.) SMBus protocol The bq2063 supports the following SMBus protocols: D Read Word D Write Word D Block Read A processor acting as the bus master uses the three protocols to communicate with the bq2063. The bq2063 acting as the bus master uses the Write Word protocol. The SMBD and SMBC pins are open drain and require external pullup resistors. If detection of an SMBus Off State is required when the SMBC and SMBD lines are open, a 1-MΩ pulldown resistor in the battery pack is recommended. SMBus packet error checking The bq2063 supports Packet Error Checking as a mechanism to confirm proper communication between it and another SMBus device. Packet Error Checking requires that both the transmitter and receiver calculate a Packet Error Code (PEC) for each communication message. The device that supplies the last byte in the communication message appends the PEC to the message. The receiver compares the transmitted PEC to its PEC result to determine if there is a communication error. PEC protocol The bq2063 can receive or transmit data with or without PEC. Figure 8 shows the communication protocol for the Read Word, Write Word, and Read Block messages without PEC. Figure 8 includes PEC. In the Write Word protocol, the bq2063 receives the PEC after the last byte of data from the host. If the host does not support PEC, the last byte of data is followed by a STOP condition. After receipt of the PEC, the bq2063 compares the value to its calculation. If the PEC is correct, the bq2063 responds with an ACKNOWLEDGE. If it is not correct, the bq2063 responds with a NOT ACKNOWLEDGE and sets an error code. In the Read Word and Block Read, the host generates an ACKNOWLEDGE after the last byte of data sent by the bq2063. The bq2063 then sends the PEC and the host acting as a master-receiver generates a NOT ACKNOWLEDGE and a STOP condition. POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 19 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 PEC protocol (continued) 1 S 1 S 7 Battery Address 0001011 7 Battery Address 0001011 ÎÎÎ ÎÎÎ 1 8 0 A Command Code ÎÎÎ ÎÎÎ 1 Data Byte Low A 8 0 A Command Code 1 S 7 Battery Address 0001011 Data Byte High ÎÎÎ ÎÎÎ 8 A Data Byte Low ÎÎÎ ÎÎÎ 1 8 ÎÎ ÎÎ 1 Write Word 1 ÎÎÎÎÎÎÎÎÎÎÎ ÎÎÎÎÎÎÎÎÎÎÎ 8 ÎÎÎ ÎÎÎ 1 1 8 A Data Byte High 1 1 7 1 A S Battery Address 1 1 1 A P ÎÎ ÎÎ 1 A 1 P A Read Word ÎÎÎ ÎÎÎ 1 1 8 0 A Command Code 1 1 7 1 A S Battery Address 1 ÎÎ ÎÎ 1 A ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ ÎÎÎÎÎ ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ ÎÎÎÎÎ ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ ÎÎÎÎÎ 8 1 8 1 8 1 8 1 1 Byte Count = N A Data Byte 1 A Data Byte 2 A Data Byte N A P Block Read ÎÎ ÎÎ Host Processor bq2063 A − ACKNOWLEDGE A − NOT ACKNOWLEDGE S − START P − STOP Figure 8. SMBus Communication Protocol Without PEC 20 ÎÎ ÎÎ POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 PEC protocol (continued) 1 S ÎÎÎ ÎÎÎ 7 1 Battery Address 0 0001011 8 Command Code Write Word 1 S ÎÎÎ ÎÎÎ 7 1 Battery Address 0 0001011 ÎÎ ÎÎ 1 A 8 Data Byte Low ÎÎ ÎÎ 1 8 A Command Code ÎÎÎ ÎÎÎ 1 A 1 1 A S 8 Data Byte High 7 1 Battery Address 1 ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ 8 1 8 1 8 1 1 Data Byte Low A Data Byte High A PEC A P ÎÎÎ ÎÎÎ 1 A 1 8 A PEC ÎÎ ÎÎ 1 A 1 P ÎÎ ÎÎ 1 A Read Word 1 S ÎÎÎ ÎÎÎ 7 1 Battery Address 0 0001011 ÎÎ ÎÎ 1 8 A Command Code 1 1 A S 7 1 Battery Address 1 ÎÎ ÎÎ 1 A ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ ÎÎÎÎÎÎÎÎÎÎÎ ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ ÎÎÎÎÎÎÎÎÎÎÎ 8 Byte Count = N 1 8 1 8 1 8 1 8 1 1 A Data Byte 1 A Data Byte 2 A Data Byte N A PEC A P Block Read ÎÎ ÎÎ ÎÎ Host Processor bq2063 A− A− S− P− ACKNOWLEDGE NOT ACKNOWLEDGE START STOP Figure 9. SMBus Communication Protocol With PEC PEC calculation The basis of the PEC calculation is an 8-bit Cyclic Redundancy Check (CRC-8) based on the polynomial C(X) = X8 + X2 + X1 + 1. The PEC calculation includes all bytes in the transmission, including address, command, and data. The PEC calculation does not include ACKNOWLEDGE, NOT ACKNOWLEDGE, START, STOP, and Repeated START bits. For example, the host requests RemainingCapacity( ) from the bq2063. This includes the host following the Read Word protocol. The bq2063 calculates the PEC based on the following 5 bytes of data, assuming the remaining capacity of the battery is 1001 mAh. D Battery Address with R/W = 0: 0x16 D Command Code for RemainingCapacity( ): 0x0f D Battery Address with R/W = 1: 0x17 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 21 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 D RemainingCapacity( ): 0x03e9 For 0x160f17e903, the bq2063 transmits a PEC of 0xe8 to the host. PEC enable in master mode PEC for master mode broadcasts to the charger, host, or both can be enabled/disabled with the combination of the bits HPE and CPE in Control Mode. SMBus on and off state The bq2063 detects whether the SMBus enters the Off State by monitoring the SMBC and SMBD lines. When both signals are continually low for at least 2.5 s, the bq2063 detects the Off State. When the SMBC and SMBD lines go high, the bq2063 detects the On State and can begin communication within 1 ms. One-MΩ pulldown resistors on SMBC and SMBD are recommended for reliable Off State detection. HDQ16 The HDQ16 interface is a command-based protocol. (See Figure 10.) A processor sends the command code to the bq2063. The 8-bit command code consists of two fields: the 7-bit HDQ16 command code (bits 0-6) and the 1-bit R/W field (MSB bit 7). The R/W field directs the bq2063 either to D Store the next 16 bits of data to a specified register or D Output 16 bits of data from the specified register Send Host to bq2063 Send Host to bq2063 or Receive From bq2063 16 Bit data HDQ Command Code Break R/W MSB Bit7 LSB Bit0 tRSPS Start-Bit Address-Bit/Data-Bit Stop-Bit Figure 10. HDQ16 Communication Example With HDQ16, the least significant bit (LSB) of a data byte (command) or word (data) is transmitted first. A bit transmission consists of three distinct sections. The first section starts the transmission by either the host or the bq2063 taking the HDQ16 pin to a logic-low state for a period tSTRH;B. The next section is the actual data-transmission, where the data bit is valid by the time tDSU;B after the negative edge used to start communication. The data bit is held for a period t(DH;DV) to allow the host processor or bq2063 to sample the data bit. The final section is used to stop the transmission by returning the HDQ16 pin to a logic-high state by at least the time tSSUB after the negative edge used to start communication. The final logic-high state should continue for a period tCYCH;B to allow time to ensure that the bit transmission was stopped properly. 22 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 If a communication error occurs (e.g., tCYCB > 250 µs), the host sends the bq2063 a BREAK to reinitiate the serial interface. The bq2063 detects a BREAK when the HDQ16 pin is in a logic-low state for a time tB or greater. The HDQ16 pin is then returned to its normal ready high-logic state for a time tBR. The bq2063 is then ready to receive a command from the host processor. The HDQ16 pin is open drain and requires an external pullup resistor. Figure 2 shows the HDQ16 break timing for the bq2063. command codes The SMBus command codes are in ( ), the HDQ16 in [ ]. Temperature( ), Voltage( ), Current( ), and AverageCurrent( ), performance specifications are at regulated VCC (V(RO)) and a temperature of 0-70_C. ManufacturerAccess( ) (0x00); [0x00-0x01] Description: This function provides writable command codes to control the bq2063 during normal operation and pack manufacture. These commands may be ignored if sent within one second of a device reset. The following commands are available: 0x0618 Enable Low-Power Storage Mode activates the low-power storage mode. The bq2063 enters the storage mode after a 5-8 second delay. The bq2063 accepts other commands to ManufacturerAccess( ) during the delay before entering low-power storage mode. The LEDs must be off before entering the low-power storage mode as the display state remains unchanged. The bq2063 clears the ManufacturerAccess( ) command within 900ms of acknowledging the Enable Low-Power Storage command. During the delay following the low-power storage command, a VFC Calibration command may be issued. The VFC Calibration command must be sent 900-5000ms after SMBus acknowledgment of the Enable Low-Power Storage command. The bq2063 delays entering storage mode until the calibration process completes and the bq2063 stores the new calibration values in EEPROM. 0x062b SEAL instructs the bq2063 to restrict access to those functions listed in Table 3. Note: The SEAL command does not change the state of the SEAL bit in Pack Configuration in EEPROM. The bq2063 completes the seal function and clears ManufacturerAccess( ) within 900 ms of acknowledging the command. 0x064d Charge Synchronization instructs the bq2063 to update RM to a percentage of FCC as defined in Fast Charge Termination %. The bq2063 updates RM and clears ManufacturerAccess( ) within 900ms of acknowledging the command. 0x0653 Enable VFC Calibration instructs the unsealed bq2063 to begin VFC calibration. With this command the bq2063 deselects the SR1 and SR2 inputs and calibrates for IC offset only. It is best to avoid charge or discharge currents through the sense resistor during this calibration process. 0x067e Alternate VFC Calibration instructs the unsealed bq2063 to begin VFC calibration. With this command the bq2063 does not deselect the SR1 and SR2 inputs and does calibrate for IC and PCB offset. During this procedure no charge or discharge currents must flow through the sense resistor. During VFC calibration, the bq2063 disables the LED display and accepts only the Enable Low-Power Storage mode, the Stop VFC Calibration, and the SEAL commands to ManufacturerAccess( ). The bq2063 disregards all other commands. SMBus communication should be kept to a minimum during VFC calibration to reduce the noise level and allow a more accurate calibration. Once started, the VFC calibration procedures completes automatically. When complete, the bq2063 saves the calibration values in EEPROM. The calibration normally takes about 8 to 10 minutes. The calibration time is inversely proportional to the bq2063 VFC (and PCB) offset error. The bq2063 caps the calibration time at one hour in the event of calibrating zero offset error. The VFC calibration can be done as the last step in a battery pack test procedure since the calibration can complete automatically after removal from a test setup. The bq2063 clears ManufacturerAccess( ) within 900 ms and starts calibration within 3.2 seconds of acknowledging the command. POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 23 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 0x0660 Stop VFC Calibration instructs the bq2063 to abort a VFC calibration procedure. If aborted, the bq2063 disables offset correction. The bq2063 stops calibration within 20 ms of acknowledging the command. 0x0606 Program EEPROM instructs the unsealed bq2063 to connect the SMBus to the EEPROM I2C bus. The bq2063 applies power to the EEPROM within 900 ms of acknowledging the command. After issuing the program EEPROM command, the bq2063 monitoring functions are disabled until the I2C bus is disconnected. The bq2063 disconnects the I2C bus when it detects that the Battery Address 0x16 is sent over the SMBus. The Battery Address 0x16 to disconnect the I2C bus should not be sent until 10 ms after the last write to the EEPROM. 0x07e6 Device Revision instructs the bq2063 to return the device revision level to ManufactureAccess( ) so it may be read. Purpose: The ManufacturerAccess( ) function provides the system host access to bq2063 functions that are not defined by the SBD. SMBus Protocol: Read or Write Word Input/Output: Word Example: The following sequence of actions is an example of how to use the ManufacturerAccess( ) commands efficiently to take a battery pack that has completed all testing and calibration except for VFC calibration and to make it ready for shipment in the SEALED state and in low-power storage mode: 1. Complete testing, programming, and calibration with desired final values stored in EEPROM with the SEAL bit not set. Sending a reset command to the bq2063 during test ensures that RAM values correspond to the final EEPROM values. 2. If the initial value of RemainingCapacity( ) must be nonzero, the desired value may be written to command 0x26. 3. Issue the Program EEPROM command and set the SEAL bit in EEPROM. 4. Issue the Enable VFC (or Alternate VFC) Calibration command. The bq2063 resets the OCE bit in Pack Status when calibration begins and sets the bit when calibration successfully completes and the calibration values have been written to EEPROM. 5. Issue the Enable Low-Power Storage Mode command. This must be done before VFC offset calibration completes. 6. Issue the SEAL command. This must be done before VFC offset calibration completes. After VFC calibration completes automatically, the bq2063 saves the VFC offset cancellation values in EEPROM and then enters the low-power storage mode after about 20 seconds. In addition, the bq2063 is sealed, allowing access only as defined in Table 2. 24 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 RemainingCapacityAlarm( ) (0x01); [0x01] Description: Sets or gets the low-capacity threshold value. Whenever the RemainingCapacity( ) falls below the low capacity value, the bq2063 sends AlarmWarning( ) messages to the SMBus Host with the REMAINING_CAPACITY_ALARM bit set. A low-capacity value of 0 disables this alarm. The bq2063 initially sets the low-capacity value to Remaining Capacity Alarm value programmed in EE 0x04−0x05. The low-capacity value remains unchanged until altered by the RemainingCapacityAlarm( ) function. The low-capacity value may be expressed in either current (mA) or power (10 mWh) depending on the setting of the BatteryMode( ) CAPACITY_MODE bit. Purpose: The RemainingCapacityAlarm( ) function can be used by systems that know how much power they require to save their operating state. It enables those systems to more finely control the point at which they transition into suspend or hibernate state. The low-capacity value can be read to verify the value in use by the bq2063’s low capacity alarm. SMBus Protocol: Read or Write Word Input/Output: Unsigned integer-value below which Low Capacity messages are sent. BATTERY MODES CAPACITY_MODE BIT = 0 CAPACITY_MODE BIT = 1 Units mAh at C/5 10 mWh at P/5 Range 0–65,535 mAh 0–65,535 10 mWh Granularity Not applicable Accuracy See RemainingCapacity( ) Description: Sets or gets the remaining time alarm value. Whenever the AverageTimeToEmpty( ) falls below the remaining time value, the bq2063 sends AlarmWarning( ) messages to the SMBus Host with the REMAINING_TIME_ALARM bit set. A remaining time value of 0 effectively disables this alarm. The bq2063 initially sets the remaining time value to the Remaining Time Alarm value programmed in EE 0x02−0x03. The remaining time value remains unchanged until altered by the RemainingTimeAlarm( ) function. Purpose: The RemainingTimeAlarm( ) function can be used by systems that want to adjust when the remaining time alarm warning is sent. The remaining time value can be read to verify the value in use by the bq2063 RemainingTimeAlarm( ). SMBus Protocol: Read or Write Word Input/Output: Unsigned integer—the point below which remaining time messages are sent. Units: minutes Range: 0 to 65,535 minutes Granularity: Not applicable Accuracy: see AverageTimeToEmpty( ) BatteryMode( ) (0x03); [0x03] Description: Selects the various battery operational modes and reports the battery’s mode and requests. Defined modes include D Whether the battery’s capacity information is specified in mAh or 10 mWh (CAPACITY_MODE bit) D Whether the ChargingCurrent( ) and ChargingVoltage( ) values are broadcast to the Smart Battery Charger when the bq2063 detects the battery requires charging (CHARGER_MODE bit) D Whether all broadcasts to the Smart Battery Charger and Host are disabled POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 25 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 command codes (continued) The defined request condition is the battery requesting a conditioning cycle (RELEARN_FLAG). Purpose: The CAPACITY_MODE bit allows power management systems to best match their electrical characteristics with those reported by the battery. For example, a switching power supply represents a constant power load, whereas a linear supply is better represented by a constant current model. The CHARGER_MODE bit allows a SMBus Host or Smart Battery Charger to override the Smart Battery’s desired charging parameters by disabling the bq2063’s broadcasts. The RELEARN_FLAG bit allows the bq2063 to request a conditioning cycle. SMBus Protocol: Read or Write Word Input/Output: Unsigned integer—bit mapped— see below. Units: not applicable Range: 0-1 Granularity: not applicable Accuracy: not applicable The BatteryMode( ) word is divided into two halves, the MSB (bits 8-15) which is read/write and the LSB (bits 0-7) which is read only. The bq2063 forces bits 0-6 to zero and prohibits writes to bit 7. Table 9 summarizes the meanings of the individual bits in the BatteryMode( ) word and specifies the default values, where applicable, are noted. INTERNAL_CHARGE_CONTROLLER bit is not used by the bq2063. PRIMARY_BATTERY_SUPPORT bit is not used by the bq2063. RELEARN_FLAG bit set indicates that the bq2063 is requesting a capacity relearn cycle for the battery. The bq2063 sets the RELEARN_FLAG on a full reset and if it detects 20 cycle counts without an FCC update. The bq2063 clears this flag after a learning cycle has been completed. CHARGE_CONTROLLER_ENABLED bit is not used by the bq2063. The bq2063 forces this bit to zero. PRIMARY_BATTERY bit is not used by the bq2063. The bq2063 forces this bit to zero. Table 9. Battery Mode Bits and Values Battery Mode( ) BITS BITS USED FORMAT INTERNAL_CHARGE_CONTROLLER 0 Read only bit flag PRIMARY_BATTERY_SUPPORT 1 Read only bit flag Reserved 26 2–6 RELEARN_FLAG 7 Read only bit flag CHARGE_CONTROLLER_ENABLED 8 R/W bit flag PRIMARY_BATTERY 9 R/W bit flag Reserved ALLOWABLE VALUES 0—Battery OK 1—Relearn cycle requested 10–12 ALARM_MODE 13 R/W bit flag 0—Enable alarm broadcast (default) 1—Disable alarm broadcast CHARGER_MODE 14 R/W bit flag 0—Enable charging broadcast (default) 1—Disable charging broadcast CAPACITY_MODE 15 R/W bit flag 0—Report in mA or mAh (default) 1—Report in 10mW or 10 mWh POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 command codes (continued) ALARM_MODE bit is set to disable the bq2063’s ability to master the SMBus and send AlarmWarning( ) messages to the SMBus Host and the Smart Battery Charger. When set, the bq2063 does not master the SMBus, and AlarmWarning( ) messages are not sent to the SMBus Host and the Smart Battery Charger for a period of no more than 65 seconds and no less than 45 seconds. When cleared (default), the Smart Battery sends the AlarmWarning( ) messages to the SMBus Host and the Smart Battery Charger any time an alarm condition is detected. D The bq2063 polls the ALARM_MODE bit at least every 150 ms. Whenever the ALARM_MODE bit is set, the bq2063 resets the bit and starts or restarts a 55 seconds (nominal) timer. After the timer expires, the bq2063 automatically enables alarm broadcasts to ensure that the accidental deactivation of broadcasts does not persist. An SMBus host that does not want the bq2063 to be a master on the SMBus must therefore continually set this bit at least once per 50 seconds to keep the bq2063 from broadcasting alarms. D The ALARM_MODE bit defaults to a cleared state within 130 ms after the bq2063 detects the SMBus Off-State. D The condition of the ALARM-MODE bit does not affect the operation or state of the CHARGER_MODE bit which is used to prevent broadcasts of ChargingCurrent( ) and ChargingVoltage( ) to the Smart Battery Charger. CHARGER_MODE bit enables or disables the bq2063’s transmission of ChargingCurrent( ) and ChargingVoltage( ) messages to the Smart Battery Charger. When set, the bq2063 does not transmit ChargingCurrent( ) and ChargingVoltage( ) values to the Smart Battery Charger. When cleared, the bq2063 transmits the ChargingCurrent( ) and ChargingVoltage( ) values to the Smart Battery Charger. The CHARGER_MODE bit defaults to a cleared state within 130 ms after the bq2063 detects the SMBus Off-State. CAPACITY_MODE bit indicates if capacity information is reported in mA/mAh or 10mW/10 mWh. When set, the bq2063 reports capacity information in 10 mW/10 mWh as appropriate. When cleared, the bq2063 reports capacity information in mA/mAh as appropriate. The CAPACITY_MODE bit defaults to a cleared state within 130 ms after the bq2063 detects the SMBus Off-State. The following functions are changed to accept or return values in mA/mAh or 10 mW/10 mWh depending on the CAPACITY_MODE bit: D D D D D RemainingCapacityAlarm( ) AtRate( ) RemainingCapacity( ) FullChargeCapacity( ) DesignCapacity( ) The following functions are calculated on the basis of capacity and may be calculated differently depending on the CAPACITY_MODE bit: D D D D D D D D AtRateOK( ) AtRateTimeToEmpty( ) AtRateTimeToFull( ) RunTimeToEmpty( ) AverageTimeToEmpty( ) AverageTimeToFull( ) Remaining Time Alarm( ) BatteryStatus( ) POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 27 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 command codes (continued) The bq2063 updates the non-AtRate related register values within 3 seconds of changing the state of the CAPACITY_MODE bit. The AtRate( ) values are updated after the next AtRate value is written to the bq2063 (or after the next 20 seconds scheduled refresh calculation). AtRate( ) (0x04); [0x04] Description: The AtRate( ) function is the first half of a two-function call-set used to set the AtRate value used in calculations made by the AtRateTimeToFull( ), AtRateTimeToEmpty( ), and AtRateOK( ) functions. The AtRate value may be expressed in either current (mA) or power (10 mW) depending on the setting of the BatteryMode( ) CAPACITY_MODE bit. Purpose: Since the AtRate( ) function is the first half of a two-function call-set, it is followed by the second function of the call-set that calculates and returns a value based on the AtRate value and the battery’s present state. A delay of up to 1.3 seconds is required after writing AtRate( ) before the bq2063 can acknowledge the requested AtRate function. D When the AtRate( ) value is positive, the AtRateTimeToFull( ) function returns the predicted time to full-charge at the AtRate value of charge. D When the AtRate( ) value is negative, the AtRateTimeToEmpty( ) function returns the predicted operating time at the AtRate value of discharge. D When the AtRate( ) value is negative, the AtRateOK( ) function returns a Boolean value that predicts the battery’s ability to supply the AtRate value of additional discharge energy (current or power) for 10 seconds. The default value for AtRate( ) is zero. Writing AtRate( ) values over the HDQ16 serial port does not trigger a re-calculation of AtRateTimeToFull( ), AtRateTimeToEmpty( ), and AtRateOK( ) functions. It is recommended that AtRate( ) requests should be limited to one request every 4 seconds. SMBus Protocol: Read or Write Word Input/Output: Signed integer-charge or discharge; the AtRate( ) value is positive for charge, negative for discharge, and zero for neither (default). BATTERY MODES CAPACITY_MODE BIT = 0 CAPACITY_MODE BIT = 1 mA 10 mW Units Charge Range 1 to 132,767 mA 1 to 32,767 10 mW Discharge Range −1 to −32,768 mA −1 to −32,768 10 mW Granularity 1 Unit Accuracy NA AtRateTimeToFull( ) (0x05); [0x05] Description: Returns the predicted remaining time to fully charge the battery at the AtRate( ) value (mA). Purpose: The AtRateTimeToFull( ) function is part of a two-function call-set used to determine the predicted remaining charge time at the AtRate value in mA. The bq2063 updates AtRateTimeToFull( ) within 1.3 seconds after the SMBus Host sets the AtRate value. If read before this delay, the command is No Acknowledged and the error code in BatteryStatus is set to not ready. The bq2063 automatically updates AtRateTimeToFull( ) based on the AtRate( ) value every 20 seconds. SMBus Protocol: Read Word Output: Unsigned integer-predicted time in minutes to fully charge the battery. Units: minutes 28 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 AtRateTimeToFull( ) (0x05); [0x05] (continued) Range: 0 to 65,534 min Granularity: 2 min or better Accuracy: ± MaxError( ) * FullChargeCapacity( )/|AtRate( )| Invalid Data Indication: 65,535 indicates the battery is not being charged. AtRateTimeToEmpty( ) (0x06); [0x06] Description: Returns the predicted remaining operating time if the battery is discharged at the AtRate( ) value. Purpose: The AtRateTimeToEmpty( ) function is part of a two-function call-set used to determine the remaining operating time at the AtRate( ) value. The bq2063 updates AtRateTimeToEmpty( ) within 1.3 seconds after the SMBus Host sets the AtRate( ) value. If read before this delay, the command is No Acknowledged, and the error code in BatteryStatus is set to not ready. The bq2063 automatically updates AtRateTimeToEmpty( ) based on the AtRate( ) value every 20 seconds. SMBus Protocol: Read Word Output: Unsigned integer − estimated operating time left. Units: minutes Range: 0 to 65,534 min Granularity: 2 min or better Accuracy: -0,+MaxError( ) × FullChargeCapacity/|AtRate( )| Invalid Data Indication: 65,535 indicates the battery is not being discharged. AtRateOK( ) (0x07); [0x07] Description: Returns a Boolean value that indicates whether or not the battery can deliver the AtRate( )value of additional energy for 10 seconds (Boolean). If the AtRate value is zero or positive, the AtRateOK( ) function ALWAYS returns true. Purpose: The AtRateOK( ) function is part of a two-function call-set used by power management systems to determine if the battery can safely supply enough energy for an additional load. The bq2063 updates AtRateOK( ) within 1.3 seconds after the SMBus Host sets the AtRate( ) value. If read before this delay, the command is No Acknowledged, and the error code in BatteryStatus is set to not ready. The bq2063 automatically updates AtRateOK( ) based on the At Rate( ) value every 20 seconds. SMBus Protocol: Read Word Output: Boolean—indicates if the battery can supply the additional energy requested. Units: Boolean Range: TRUE, FALSE Granularity: not applicable Accuracy: not applicable POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 29 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 command codes (continued) Temperature( ) (0x08); [0x08] Description: Returns the temperature (K) measured by the bq2063. Purpose: The Temperature( ) function provides accurate cell temperatures for use by battery chargers and thermal management systems. A battery charger can use the temperature as a safety check. Thermal management systems may use the temperature because the battery is one of the largest thermal sources in a system. SMBus Protocol: Read Word Output: Unsigned integer—cell temperature in tenth-degree Kelvin increments. Units: 0.1°K Range: 0 to +6553.5°K {real range} Granularity: 0.1°K Accuracy: ±1.5°K (from ideal Semitec 103AT thermistor performance, after calibration) ±3.0°K (Internal temperature sensor after calibration) Voltage( ) (0x09); [0x09] Description: Returns the cell-pack voltage (mV). Purpose: The Voltage( ) function provides power management systems with an accurate battery terminal voltage. Power management systems can use this voltage, along with battery current information, to characterize devices they control. This ability helps enable intelligent, adaptive power-management systems. SMBus Protocol: Read Word Output: Unsigned integer-battery terminal voltage in mV. Units: mV Range: 0 to 20,000 mV Granularity: 1 mV Accuracy: ±0.65% (after calibration) Current( ) (0x0a); [0x0a] Description: Returns the current being supplied (or accepted) by the battery (mA). Purpose: The Current( ) function provides a snapshot for the power management system of the current flowing into or out of the battery. This information is of particular use in power-management systems because they can characterize individual devices and tune their operation to actual system power behavior. SMBus Protocol: Read Word Output: Signed integer-charge/discharge rate in mA increments-positive for charge, negative for discharge. Units: mA Range: (± 250mV/RS) mA Granularity: 0.038mV/RS (integer value) Accuracy: ±0.4 mV/RS (after calibration) 30 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 command codes (continued) AverageCurrent( ) (0x0b); [0x0b] Description: Returns a value that approximates a one-minute rolling average of the current being supplied (or accepted) through the battery terminals (mA). The AverageCurrent( ) function returns meaningful values during the battery’s first minute of operation. Purpose: The AverageCurrent( ) function provides the average current flowing into or out of the battery for the power management system. SMBus Protocol: Read Word Output: Signed integer-charge/discharge rate in mA increments-positive for charge, negative for discharge. Units: mA Range: (± 250 mV/RS) mA Granularity: 0.038 mV/RS (integer value) Accuracy: ±0.4 mV/RS (after calibration) MaxError( ) (0x0c); [0x0c] Description: Returns the expected margin of error (%) in the state of charge calculation. For example, when MaxError( ) returns 10% and RelativeStateOfCharge( ) returns 50%, the Relative StateOfCharge( ) is more likely between 50% and 60%. The bq2063 sets MaxError( ) to 100% on a full reset. The bq2063 sets MaxError( ) to 2% on completion of a learning cycle, unless the bq2063 limits the learning cycle to the +512/-256 mAh maximum adjustment values. If the learning cycle is limited, the bq2063 sets MaxError( ) to 8% unless MaxError( ) was already below 8%. In this case MaxError( ) does not change. The bq2063 increments MaxError( ) by 1% after four increments of CycleCount( ) without a learning cycle. If voltage-based corrections are applied to the coulomb counter, MaxError( ) is set to 25%. Purpose: The MaxError( ) function has real value in two ways: first, to give the user a confidence level about the state of charge and second, to give the power management system information about how aggressive it should be, particularly as the battery nears the end of its life. SMBus Protocol: Read Word Output: Unsigned integer—percent uncertainty for selected information. Units: % Range: 2–100% Granularity: 1% Accuracy: not applicable POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 31 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 command codes (continued) RelativeStateOfCharge( ) (0x0d); [0x0d] Description: Returns the predicted remaining battery capacity expressed as a percentage of FullChargeCapacity( ) (%). Purpose: The RelativeStateOfCharge( ) function is used to estimate the amount of charge remaining in the battery relative to the last learned capacity. SMBus Protocol: Read Word Output: Unsigned integer-percent of remaining capacity. Units: % Range: 0–100% Granularity: 1% Accuracy: -0, +MaxError( ) AbsoluteStateOfCharge( )(0x0e); [0x0e] Description: Returns the predicted remaining battery capacity expressed as a percentage of DesignCapacity( ) (%). Note that AbsoluteStateOfCharge( ) can return values greater than 100%. Purpose: The AbsoluteStateOfCharge( ) function is used to estimate the amount of charge remaining in the battery relative to the nominal or DesignCapacity( ). SMBus Protocol: Read Word Output: Unsigned integer-percent of remaining capacity. Units: % Range: 0–100+% Granularity: 1% Accuracy: -0, +MaxError( ) RemainingCapacity( ) (0x0f); [0x0f] Description: Returns the predicted charge or energy remaining in the battery. The RemainingCapacity( ) value is expressed in either charge (mAh at a C/5 discharge rate) or energy (10 mWh at a P/5 discharge rate), depending on the setting of the BatteryMode( ) CAPACITY_MODE bit. Purpose: The RemainingCapacity( ) function returns the battery’s remaining capacity. This information is a numeric indication of remaining charge or energy given by the Absolute or Relative StateOfCharge( ) functions and may be in a better form for use by power management systems. SMBus Protocol: Read Word Output: Unsigned integer—remaining charge in mAh or 10 mWh. BATTERY MODES CAPACITY_MODE BIT = 0 Units mAh 10 mWh Range 0–65,535mAh 0–65,535 10 mWh mAh 10 mWh Granularity Accuracy 32 CAPACITY_MODE BIT = 1 −0, +MaxError( ) * FullCharageCapacity( ) POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 command codes (continued) FullChargeCapacity( ) (0x10); [0x10] Description: Returns the predicted pack capacity when it is fully charged. The FullChargeCapacity( ) value is expressed in either current (mAh at a C/5 discharge rate) or power (10 mWh at a P/5 discharge rate) depending on the setting of the BatteryMode( ) CAPACITY_MODE bit. Purpose: The FullChargeCapacity( ) function provides a means of understanding the tank size of the battery. This information, along with information about the original capacity of the battery, indicates battery wear. SMBus Protocol: Read Word Output: Unsigned integer—estimated full-charge capacity in mAh or 10 mWh. BATTERY MODES CAPACITY_MODE BIT = 0 CAPACITY_MODE BIT = 1 Units mAh 10 mWh Range 0–65,535 mAh 0–65,535 10 mWh Granularity mAh 10 mWh Accuracy −0, +MaxError( ) * FullCharageCapacity( ) RunTimeToEmpty( ) (0x11); [0x11] Description: Returns the predicted remaining battery life at the present rate of discharge (minutes). The RunTimeToEmpty( ) value is calculated based on either current or power depending on the setting of the BatteryMode( ) CAPACITY_MODE bit. Purpose: The RunTimeToEmpty( ) provides the power management system with information about the relative gain or loss in remaining battery life in response to a change in power policy. This information is not the same as the AverageTimeToEmpty( ), which is not suitable to determine the effects that result from a change in power policy. SMBus Protocol: Read Word Output: Unsigned integer-minutes of operation left. Units: minutes Range: 0 to 65,534 min Granularity: 2 min or better Accuracy: −0, +MaxError( ) * FullChargeCapacity( ) / Current( ) Invalid Data Indication: 65,535 indicates battery is not being discharged. AverageTimeToEmpty( ) (0x12); [0x12] Description: Returns a one-minute rolling average of the predicted remaining battery life (minutes). The AverageTimeToEmpty( ) value is calculated based on either current or power depending on the setting of the BatteryMode( ) CAPACITY_MODE bit. Purpose: The AverageTimeToEmpty( ) displays state-of-charge information in a more useful way. It averages the instantaneous estimations so the remaining time does not appear to jump around. SMBus Protocol: Read Word Output: Unsigned integer—minutes of operation left. Units: minutes Range: 0 to 65,534 min Granularity: 2 min or better Accuracy: −0, +MaxError( ) ∗ FullChargeCapacity( ) / AverageCurrent( ) Invalid Data Indication: 65,535 indicates battery is not being discharged. POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 33 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 command codes (continued) AverageTimeToFull( ) (0x13); [0x13] Description: Returns a one-minute rolling average of the predicted remaining time until the battery reaches full charge (minutes). Purpose: The AverageTimeToFull( ) function can be used by the SMBus Host’s power management system to aid in its policy. It may also be used to find out how long the system must be left on to achieve full charge. SMBus Protocol: Read Word Output: Unsigned integer -remaining time in minutes. Units: minutes Range: 0 to 65,534 minutes Granularity: 2 minutes or better Accuracy: −0, +MaxError( ) * FullChargeCapacity( ) / AverageCurrent( ) Invalid Data Indication: 65,535 indicates the battery is not being charged. ChargingCurrent( ) (0x14); [0x14] Description: Returns the desired charging rate in mA. Purpose: The ChargingCurrent( ) function sets the maximum charge current of the battery. The ChargingCurrent( ) value should be used in combination with the ChargingVoltage( ) value to set the charger’s operating point. Together, these functions permit the bq2063 to dynamically control the charging profile (current/voltage) of the battery. The bq2063 can effectively turn off a charger by returning a value of 0 for this function. The charger may be operated as a constant-voltage source above its maximum regulated current range by returning a ChargingCurrent( ) value of 65,535. SMBus Protocol: Read Word Output: Unsigned integer-maximum charger output current in mA. Units: mA Range: 0 to 65,535 mA Granularity: 1 mA Accuracy: not applicable Invalid Data Indication: 65,535 indicates that a charger should operate as a voltage source outside its maximum regulated current range. ChargingVoltage( ) (0x15); [0x15] Description: Returns the desired charging voltage in mV. Purpose: The ChargingVoltage( ) function sets the maximum charge voltage of the battery. The ChargingVoltage( ) value should be used in combination with the ChargingCurrent( ) value to set the charger’s operating point. Together, these functions permit the bq2063 to dynamically control the charging profile (current/voltage) of the battery. The charger may be operated as a constant-current source above its maximum regulated voltage range by returning a ChargingVoltage( ) value of 65,535. SMBus Protocol: Write Word Output: Unsigned integer-charger output voltage in mV. Units: mV Range: 0 to 65,535 mV Granularity: 1mV Accuracy: not applicable Invalid Data Indication: 65,535 indicates the charger should operate as a current source outside its maximum regulated voltage range. 34 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 command codes (continued) BatteryStatus( )(0x16); [0x16] Description: Returns the bq2063’s status word (flags). Some of the BatteryStatus( ) flags (REMAINING_CAPACITY_ALARM and REMAINING_TIME_ALARM) are calculated based on either current or power depending on the setting of the BatteryMode( ) CAPACITY_MODE bit. This is important because use of the wrong calculation mode may result in an inaccurate alarm. Purpose: The BatteryStatus( ) function is used by the power-management system to get alarm and status bits, as well as error codes from the bq2063. This is basically the same information broadcast to both the SMBus Host and the Smart Battery Charger by the AlarmWarning( ) function except that the AlarmWarning( ) function sets the Error Code bits all high before sending the data. SMBus Protocol: Read Word Output: Unsigned Integer-Status Register With Alarm Conditions Bit Mapped as follows: ALARM BITS 0x8000 OVER_CHARGED_ALARM 0x4000 TERMINATE_CHARGE_ALARM 0x2000 Reserved 0x1000 OVER_TEMP_ALARM 0x0800 TERMINATE_DISCHARGE_ALARM 0x0400 Reserved 0x0200 REMAINING_CAPACITY_ALARM 0x0100 REMAINING_TIME_ALARM STATUS BITS 0x0080 INITIALIZED 0x0040 DISCHARGING 0x0020 FULLY_CHARGED 0x0010 FULLY_DISCHARGED ERROR CODES 0x0007 Unknown Error 0x0006 BadSize 0x0005 Overflow/Underflow 0x0004 AccessDenied 0x0003 UnsupportedCommand 0x0002 ReservedCommand 0x0001 Busy 0x0000 OK alarm bits OVER_CHARGED_ALARM bit is set whenever the bq2063 detects that the battery is being charged beyond the Maximum Overcharge limit. This bit is cleared when the bq2063 detects that the battery is no longer being charged (i.e., the bq2063 detects discharge activity or no activity for the digital filter timeout periods). The digital filter timeout period (seconds) equates to 10× the value shared in Digital Filter EE0x52. TERMINATE_CHARGE_ALARM bit is set when the bq2063 detects that one or more of the battery’s charging parameters are out of range (e.g., its voltage, current, or temperature is too high) or when the bq2063 detects a primary charge termination. This bit is cleared when the parameter falls back into the allowable range, the termination condition ceases, or when the bq2063 detects that the battery is no longer being charged. POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 35 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 alarm bits (continued) OVER_TEMP_ALARM bit is set when the bq2063 detects that the internal battery temperature is greater than or equal to the MaxT limit. This bit is cleared when the internal temperature falls back into the acceptable range. TERMINATE_DISCHARGE_ALARM bit is set when RM = 0, Voltage( ) ≤ EDV0, or the CVUV bit in Pack Status is set indicating that a Li-Ion cell voltage has dropped below the limit programmed in Cell Under /Over Voltage. The bit is cleared when Voltage( ) > EDV0, RM( ) > 0, and the CVUV bit is cleared. REMAINING_CAPACITY_ALARM bit is set when the bq2063 detects that RemainingCapacity( ) is less than that set by the RemainingCapacityAlarm( ) function. This bit is cleared when either the value set by the RemainingCapacityAlarm( ) function is lower than the RemainingCapacity( ) or when the RemainingCapacity( ) is increased by charging. REMAINING_TIME_ALARM bit is set when the bq2063 detects that the estimated remaining time at the present discharge rate is less than that set by the RemainingTimeAlarm( ) function. This bit is cleared when either the value set by the RemainingTimeAlarm( ) function is lower than the AverageTimeToEmpty( ) or when the AverageTimeToEmpty( ) is increased by charging. status bits INITIALIZED bit is set when the bq2063 is has detected a valid load of EEPROM. It is cleared when the bq2063 detects an improper EEPROM load. DISCHARGING bit is set when the bq2063 determines that the battery is not being charged. This is determined by the detection of discharge activity or by the absence of charge activity for 22500/DigitalFilter (µV) seconds. This bit is cleared when the bq2063 detects that the battery is being charged. FULLY_CHARGED bit is set when the bq2063 detects a primary charge termination or an overcharged condition. It is cleared when RelativeStateOfCharge( ) is less than or equal to the programmed Fully Charged Clear % in EE 0x4c. FULLY_DISCHARGED bit is set when Voltage( ) or VCELL is less than the EDV2 threshold and Current( ) < OverloadCurrent or when RelativeStateOfCharge( ) < Battery Low %. This bit is cleared when RelativeStateOfCharge( ) is greater than or equal to 20%. error codes 36 ERROR CODES DESCRIPTION OK The bq2063 processed the function code without detecting any errors. Busy The bq2063 is unable to process the function code at this time. Reserved The bq2063 detected an attempt to read or write to a function code reserved by this version of the specification. The 2063 detected an attempt to access an unsupported optional manufacturer function code. Unsupported The bq2063 does not support this function code which is defined in this version of the specification. AccessDenied The bq2063 detected an attempt to write to a read-only function code. Over/Underflow The bq2063 detected a data overflow or underflow. BadSize The bq2063 detected an attempt to write to a function code with an incorrect data block. UnknownError The bq2063 detected an unidentifiable error. POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 command codes (continued) CycleCount( )(0x17); [0x17] Description: Returns the number of cycles the battery has experienced. The mAh value of each count is determined by programming the Cycle Count Threshold value in EE 0x3c-0x3d. The bq2063 saves the cycle count value to Cycle Count EE 0x0e-0x0f after an update to CycleCount( ). Purpose: The CycleCount( ) function provides a means to determine the battery’s wear. It may be used to give advance warning that the battery is nearing its end of life. SMBus Protocol: Read Word Output: Unsigned integer-count of total charge removed from the battery over its life. Units: cycle Range: 0 to 65,534 cycles; 65,535 indicates battery has experienced 65,535 or more cycles. Granularity: 1 cycle Accuracy: absolute count DesignCapacity( ) (0x18); [0x18] Description: Returns the theoretical or nominal capacity of a new pack. The DesignCapacity( ) value is expressed in either current (mAh at a C/5 discharge rate) or power, (10 mWh at a P/5 discharge rate) depending on the setting of the BatteryMode( ) CAPACITY_MODE bit. Purpose: The DesignCapacity( ) function is used by the SMBus Host’s power management in conjunction with FullChargeCapacity( ) to determine battery wear. The power management system may present this information to the user and also adjust its power policy as a result. SMBus Protocol: Read Word Output: Unsigned integer-battery capacity in mAh or 10 mWh. BATTERY MODES CAPACITY_MODE BIT = 0 CAPACITY_MODE BIT = 1 Units mAh 10 mWh Range 0–65,535 mAh 0–65,535 10 mWh Granularity Not applicable Accuracy Not applicable DesignVoltage( ) (0x19); [0x19] Description: Returns the theoretical voltage of a new pack (mV). The bq2063 sets DesignVoltage( ) to the value programmed in Design Voltage EE0x12-0x13. Purpose: The DesignVoltage( ) function can be used to give additional information about a particular Smart Battery’s expected terminal voltage. SMBus Protocol: Read Word Output: Unsigned integer-the battery’s designed terminal voltage in mV Units: mV Range: 0 to 65,535 mV Granularity: not applicable Accuracy: not applicable POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 37 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 command codes (continued) SpecificationInfo( ) (0x1a); [0x1a] Description: Returns the version number of the Smart Battery specification the battery pack supports, as well as voltage and current scaling information in a packed unsigned integer. Power scaling is the product of the voltage scaling times the current scaling. The SpecificationInfo is packed in the following fashion: (SpecID_H * 0x10 + SpecID_L) + (VScale + IPScale * 0x10) * 0x100. The bq2063 VScale (voltage scaling) and IPScale (current scaling) should always be set to zero. The bq2063 sets SpecificationInfo( ) to the value programmed in Specification Information EE 0x14-0x15. Purpose: The SpecificationInfo( ) function is used by the SMBus Host’s power management system to determine what information the Smart Battery can provide. SMBus Protocol: Read Word Output: Unsigned integer-packed specification number and scaling information: FIELD BITS USED FORMAT ALLOWABLE VALUES SpecID_L 0...3 4-bit binary value 0–15 SpecID_H 4...7 4-bit binary value 0–15 VScale 8...11 4-bit binary value 0 (multiplies voltage by 10^ VScale) IPScale 12...15 4-bit binary value 0 (multiplies current by 10 ^ IPScale) ManufactureDate( ) (0x1b); [0x1b] Description: This function returns the date the cell pack was manufactured in a packed integer. The date is packed in the following fashion: (year-1980) ∗ 512 + month ∗ 32 + day. The bq2063 sets ManufactureDate( ) to the value programmed in Manufacture Date EE 0x16-0x17. Purpose: The ManufactureDate( ) provides the system with information that can be used to uniquely identify a particular battery pack when used in conjunction with SerialNumber( ). SMBus Protocol: Read Word Output: Unsigned integer-packed date of manufacture: FIELD BITS USED FORMAT ALLOWABLE VALUES Day 0...4 5-bit binary value 0–31 (corresponds to date) Month 5...8 4-bit binary value 1–12 (corresponds to month number) Year 9...15 7-bit binary value 0−127 (corresponds to year biased by 1980) SerialNumber( ) (0x1c); [0x1c] Description: This function is used to return a serial number. This number, when combined with the ManufacturerName( ), the DeviceName( ), and the ManufactureDate( ), uniquely identifies the battery (unsigned integer). The bq2063 sets SerialNumber( ) to the value programmed in Serial Number EE 0x18−0x19. Purpose: The SerialNumber( ) function can be used to identify a particular battery. This may be important in systems that are powered by multiple batteries where the system can log information about each battery that it encounters. SMBus Protocol: Read Word Output: Unsigned integer 38 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 command codes (continued) ManufacturerName( ) (0x20); [0x20-0x25] Description: This function returns a character array containing the battery’s manufacturer’s name. For example, MyBattCo identifies the Smart Battery’s manufacturer as MyBattCo. The bq2063 sets ManufacturerName( ) to the value programmed in Manufacturer Name EE 0x20-0x2b. Purpose: The ManufacturerName( ) function returns the name of the Smart Battery’s manufacturer. The manufacturer’s name can be displayed by the SMBus Host’s power management system display as both an identifier and as an advertisement for the manufacturer. The name is also useful as part of the information required to uniquely identify a battery. SMBus Protocol: Read Block Output: String-character string with maximum length of 11 characters (11 + length byte). DeviceName( ) (0x21); [0x28-0x2b] Description: This function returns a character string that contains the battery’s name. For example, a DeviceName( ) of bq2063A indicates that the battery is a model bq2063A. The bq2063 sets DeviceName( ) to the value programmed in Device Name EE 0x30-0x37. Purpose: The DeviceName( ) function returns the battery’s name for identification purposes. SMBus Protocol: Read Block Output: String-character string with maximum length of 7 characters (7 + length byte). DeviceChemistry( ) (0x22); [0x30-0x32] Description: This function returns a character string that contains the battery’s chemistry. For example, if the DeviceChemistry( ) function returns NiMH, the battery pack contains nickel metal hydride cells. The bq2063 sets DeviceChemistry( ) to the value programmed in Device Chemistry EE 0x40-0x44. Purpose: The DeviceChemistry( ) function gives cell chemistry information for use by charging systems. The bq2063 does not use DeviceChemisty( ) values for internal charge control or fuel gauging. SMBus Protocol: Read Block Output: String-character string with maximum length of 4 characters (4 + length byte). The following is a partial list of chemistries and their expected abbreviations. These abbreviations are not case sensitive. Lead acid PbAc Lithium ion LION Nickel cadmium NiCd Nickel metal hydride NiMH Nickel zinc NiZn Rechargeable alkaline-manganese RAM Zinc air ZnAr POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 39 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 command codes (continued) The ManufacturerData( ) (0x23);[0x38–0x3a] Description: This function allows access to the manufacturer data contained in the battery (data). The bq2063 stores seven critical operating parameters in this data area. Purpose: The ManufacturerData( ) function may be used to access the manufacturer’s data area. The data fields of this command reflect the programming of five critical EEPROM locations and can be used to facilitate evaluation bq2063 under various programming sets. The ManufacturerData( ) function returns the following information in order: Control Mode, Digital Filter, Self-Discharge Rate, Battery Low %, Near Full, and the pending EDV threshold voltage (low byte and high byte.) SMBus Protocol: Read Block Output: Block data-data that reflects EEPROM programming as assigned by the manufacturer with maximum length of 7 characters (7 + length byte). Pack Status and Pack Configuration (0x2f); [0x2f] This function returns the Pack Status and Pack Configuration registers. The Pack Status register contains a number of status bits relating to bq2063 operation. The Pack Status register is the least significant byte of the word. The Pack Configuration register reflects how the bq2063 is configured as defined by the value programmed in Pack Configuration in EE 0x3f. The OTVC bit is cleared when the single midrange voltage correction attempt is made. The Pack Status register consists of the following bits: b7 b6 b5 b4 OCE EDV2 EINT VDQ b3 b2 b1 b0 — SOV CVOV CVUV OCE The OCE bit indicates that offset cancellation is enabled. The bq2063 sets this bit after VFC offset calibration is complete. 0 1 Offset calibration not enabled Offset calibration enabled EDV2 The EDV2 bit indicates that pack or cell voltage (program option) is less than the EDV2 threshold. 0 1 Voltage > EDV2 threshold (discharging) Voltage ≤ EDV2 threshold EINT The EINT bit indicates that the VFC has detected a charge or discharge pulse. 0 1 No charge/discharge activity detected Charge/discharge activity detected VDQ The VDQ bit indicates if the present discharge cycle is valid for an FCC update. 0 1 40 Discharge cycle not valid Discharge cycle valid POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 SOV The SOV bit indicates that the safety output limits have been exceeded. Once set, the FLAG stays set until the bq2063 is reset. 0 1 Safety limits not exceeded Safety limits exceeded CVOV The CVOV bit indicates that a secondary Li-Ion protection limit has been exceeded. It is set on a prolonged overcurrent, overvoltage, or overtemperature condition. The bit is not latched and merely reflects the present overvoltage status. 0 1 No secondary protection limits exceeded A secondary protection limit exceeded CVUV The CVUV bit indicates that a secondary Li-Ion protection limit has been exceeded. It is set on an overload or over-discharge condition. The bit is not latched and merely reflects the present undervoltage status. 0 1 No secondary protection limits exceeded A secondary protection limit exceeded VCELL4-VCELL1 (0x3c-0x3f); [0x3c-0x3f] These functions return the calculated individual cell voltages in mV. EEPROM general The bq2063 accesses the external EEPROM during reset and when storing historical data. During an EEPROM access, the VOUT pin becomes active and the bq2063 uses the ESCL and ESDA pins to communicate with the EEPROM. The EEPROM stores basic configuration information for use by the bq2063. The EEPROM must be programmed correctly for proper bq2063 operation. memory map Table 12 shows the memory map for the EEPROM. It contains example data for a 3s3p Li-Ion battery pack with a 0.05-Ω sense resistor. Table 10. EEPROM Memory Map DATA EEPROM ADDRESS NAME Li-ION EXAMPLE MSB LSB 0x00 0x01 Check Byte 1 15487 3c 7f 0x02 0x03 Remaining Time Alarm 10 minutes 00 0a 0x04 0x05 Remaining Capacity Alarm 400 mAh 01 90 0x06 EDV C1 Factor 0 00 0x07 EDV TC Factor 0 00 0x08 Safety Overtemperature 75°C c3 0x09 Reserved 0 00 Charging Voltage 12600 mV 0x0a 0x0b 31 38 NOTE: Reserved locations must be set as shown. Locations marked with an * are calibration values that can be adjusted for maximum accuracy. For these locations the table shows the appropriate default or initial setting. POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 41 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 Table 10. EEPROM Memory Map (Continued) DATA EEPROM ADDRESS NAME Li-ION EXAMPLE MSB LSB 0x0c 0x0d Reserved 128 00 80 0x0e 0x0f Cycle Count 0 00 00 0x10 0x11 Reserved 0 00 00 0x12 0x13 Design Voltage 10800 mV 2a 30 0x14 0x15 Specification Information v1.1/PEC 00 31 0x16 0x17 Manufacture Date 2/25/99=9817 26 59 0x18 0x19 Serial Number 1 00 01 0x1a 0x1b Fast-Charging Current 3000 mA 0b b8 0x1c Pack Load Estimate 0 mA 0x1d Maintenance Charging Current 0 mA 00 00 0x1e Pre-Charge Current 96 mA 00 0C 0x1f Safety Overvoltage 13056 mV 8C 0x20 Manufacturer Name Length 9 09 0x21 Character 1 B 42 0x22 Character 2 E 45 0x23 Character 3 N 4e 0x24 Character 4 C 43 0x25 Character 5 H 48 0x26 Character 6 M 4d 0x27 Character 7 A 41 0x28 Character 8 R 52 0x29 Character 9 Q 51 0x2a Character 10 — 00 0x2b Character 11 — 00 00 0x2c 0x2d Reserved 0 00 00 0x2e 0x2f Maximum Overcharge 350 mAh fe a2 0x30 Device Name Length 6 06 0x31 Character 1 B 42 0x32 Character 2 Q 51 0x33 Character 3 2 32 0x34 Character 4 0 30 0x35 Character 5 6 36 0x36 Character 6 3 33 0x37 Character 7 — 00 0x38 0x39 Last Measured Discharge 4500 mAh 11 94 0x3a 0x3b Pack Capacity 0x3c 0x3d Cycle Count Threshold 4500 mAh 11 94 3600 mAh 0e 10 0x3e Reserved 0 00 0x3f Pack Configuration DMODE, SEAL, CSYNC, OTVC e2 0x40 Device Chemistry Length 4 04 0x41 Character 1 L 4c NOTE: Reserved locations must be set as shown. Locations marked with an * are calibration values that can be adjusted for maximum accuracy. For these locations the table shows the appropriate default or initial setting. 42 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 Table 10. EEPROM Memory Map (Continued) EEPROM ADDRESS NAME Li-ION EXAMPLE DATA MSB LSB 0x42 Character 2 I 0x43 Character 3 O 4f 0x44 Character 4 N 4e 0x45 MaxT LowT 50°C, 4.8°C c6 0x46 0x47 49 Overload Current 6000 mA 0x48 Overvoltage Margin 800 mV 17 70 32 0x49 Overcurrent Margin 512 mA 20 0x4a Cell Under/Over Voltage 2496 mV/4384 mV 79 0x4b Fast Charge Termination % 100% ff a1 0x4c Fully Charged Clear % 95% 0x4d Charge Efficiency 100% ff 0x4e Current Taper Threshold 200 mA 08 0x4f Current Taper Qual Voltage 128 mV 40 0x50 Manufacturer Data Length 7 07 0x51 Control Mode SC 04 0x52 Digital Filter 50 µV 2d 0x53 Self-Discharge Rate 0.21% 05 0x54 Battery Low % 7% 12 0x55 Near Full 200 mAh 64 0x56 0x57 Reserved 0 00 00 0x58 0x59 Reserved 0 00 00 0x5a 0x5b Reserved 0 00 00 0x5c 0x5d Reserved 0 00 00 0x5e 0x5f VFC Offset* 0 00 00 0x60 VFC Offset* 0 - 00 0x61 Temperature Offset* 0 - 00 0x62 ADC Offset* 0 - 00 0x63 Pack Programming PDLY - 01 0x64 Light Load Estimate 0 - 00 0x65 Reserved 0 - 00 0x66 0x67 ADC Voltage Gain* 5:1 30 d4 0x68 0x69 ADC Sense Resistor Gain* 0.05 Ω 30 d4 0x6a 0x6b VFC Sense Resistor Gain* 0.05 Ω 20 00 0x6c 0x6d VOC25 11170 mV d4 5e 0x6e 0x6f VOC50 11370 mV d3 96 0x70 0x71 VOC75 11730 mV d2 2e 0x72 0x73 EDVF/EDV0 3000 mV 0b b8 0x74 0x75 EMF/ EDV1 3433 mV 0d 69 0x76 0x77 EDV T0 Factor 0 00 00 0x78 0x79 EDV C0 Factor/EDV2 3567 mV 0d ef 0x7a 0x7b EDV R0 Factor 0 00 e0 0x7c 0x7d EDV R1 Factor 0 00 00 0x7e 0x7f Check Byte 2 42330 a5 5a NOTE: Reserved locations must be set as shown. Locations marked with an * are calibration values that can be adjusted for maximum accuracy. For these locations the table shows the appropriate default or initial setting. POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 43 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 PROGRAMMING INFORMATION EEPROM programming The following sections describes the function of each EEPROM location and how the data is to be stored. fundamental parameters sense resistor value Two factors are used to scale the current related measurements. The 16-bit ADC Sense Resistor Gain value in EE 0x68-0x69 scales Current( ) to mA. Adjusting ADC Sense Resistor Gain from its nominal value provides a method to calibrate the current readings for system errors and the sense resistor value (Rs) . The nominal value is set by (4) ADC Sense Resistor Gain + 625 (Rs) The 16-bit VFC Sense Resistor Gain in EE 0x6a-0x6b scales each VFC interrupt to mAh. VFC Sense Resistor Gain is based on the resistance of the series sense resistor. The following formula computes a nominal or starting value for VFC Sense Resistor Gain from the sense resistor value. (5) VFC Capital Sense Resistor Gain + 409.6 (Rs) Sense resistor values are limited to the range of 0.00916 to 0.100Ω. digital filter The desired digital filter threshold, VDF (µV), is set by the value stored in Digital Filter EE 0x52. (6) Digital Filter + 2250 VDF cell characteristics battery pack capacity and voltage Pack capacity in mAh units is stored in Pack Capacity, EE 0x3a-0x3b. In mAh mode, the bq2063 copies Pack Capacity to DesignCapacity( ). In mWh mode, the bq2063 multiplies Pack Capacity by Design Voltage EE 0x12-0x13 to calculate DesignCapacity( ) scaled to 10 mWh. Design Voltage is stored in mV. The initial value for Last Measured Discharge, in mAh, is stored in EE 0x38−0x39. Last Measured Discharge is modified over the course of pack usage to reflect cell aging under the particular use conditions. The bq2063 updates Last Measured Discharge in mAh after a capacity learning cycle. The bq2063 uses the Last Measured Discharge value to calculate FullChargeCapacity( ) in mAh or 10 mWh mode. EDV thresholds and near full percentage The bq2063 uses three pack voltage thresholds to provide voltage-based warnings of low battery capacity. The bq2063 uses the values stored in EEPROM for the EDV0, EDV1, and EDV2 values or calculates the three thresholds from a base value and the temperature, capacity, and rate adjustment factors stored in EEPROM. If EDV compensation is disabled then EDV0, EDV1, and EDV2 are stored directly in mV in EE 0x72-0x73, EE 0x74-0x75, and EE 0x78-0x79, respectively. For capacity correction at EDV2, Battery Low % EE 0x54 can be set at a desired state-of-charge, STATEOFCHARGE%, in the range of 3-19%. Typical values for STATEOFCHARGE% are 5-7% representing 5-7% capacity. Battery Low % = STATEOFCHARGE% • 2.56 44 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 (7) Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 PROGRAMMING INFORMATION EDV thresholds and near full percentage (continued) The bq2063 updates FCC if a qualified discharge occurs from a near-full threshold of FCC − NFW, until EDV2 condition is reached. The desired near-full threshold window, NFW (mAh), is programmed in Near Full in EE 0x55. (8) Near Full + NFW 2 EVD discharge rate and temperature compensation If EDV compensation is enabled, the bq2063 calculates battery voltage to determine EDV0, EDV1, and EDV2 thresholds as a function of battery capacity, temperature, and discharge load. The general equation for EDV0, EDV1, and EDV2 calculation is EDV0,1,2 = EMF • FBL - | ILOAD | • R0 • FTZ (9) Where: EMF is a no-load battery voltage higher than the highest EDV threshold computed. EMF is programmed in mV in EMF/EDV1 EE 0x74-0x75. ILOAD is the current discharge load magnitude. FBL is the factor that adjusts the EDV voltage for battery capacity and temperature to match the no-load characteristics of the battery. FBL = f ( C0, C + C1, T ) (10) Where: C (either 0%, 3%, or Battery Low % for EDV0, EDV1, and EDV2, respectively) and C0 are the capacityrelated EDV adjustment factors. C0 is programmed in EDV C0 Factor/EDV2 EE 0x78−79. C1 is the desired residual battery capacity remaining at EDV0 (RM = 0). The C1 factor is stored in EDV C1 Factor EE 0x06. T is the current temperature in °K. R0 • FTZ represents the resistance of the battery as a function of temperature and capacity. (11) FTZ = f ( R1 , T0, T, C + C1, TC) R0 is the first order rate dependency factor stored in EDV R0 Factor EE 0x7a-0x7b. T is the current temperature; C is the battery capacity relating to EDV0, EDV1, and EDV2. R1 adjusts the variation of impedance with battery capacity. R1 is programmed in EDV R1 Rate Factor EE 0x7c-0x7d. T0 adjusts the variation of impedance with battery temperature). T0 is programmed in EDV T0 Rate Factor EE 0x76-0x77. TC adjusts the variation of impedance for cold temperatures (T < 23°C). TC is programmed in EDV TC EE 0x07. POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 45 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 PROGRAMMING INFORMATION EVD discharge rate and temperature compensation (continued) Typical values for the EDV compensation factors, based on overall pack voltages for a Li-lon 3s3p 18650 pack, are EMF = 11550 T0 = 4475 C0 = 235 C1 = 0 R0 = 5350 R1 = 250 TC = 3 The graphs in Figures 11 and 12 show the calculated EDV0, EDV1, and EDV2 thresholds versus capacity using the typical compensation values for different temperatures and loads for a Li-Ion 3s3p 18650 pack. The compensation values vary widely for different cell types and manufacturers and must be matched exactly to the unique characteristics for optimal performance. VOLTAGE vs CAPACITY VOLTAGE vs CAPACITY 11.5 11.5 Battery Low % = 7% Load = 500 mA 11.0 20°C EDV2 EDV2 10.5 45°C 10.5 Battery Low % = 7% TA = 35°C 11.0 500 mA EDV1 V − Voltage − V V − Voltage − V EDV1 10.0 9.5 9.0 8.5 10.0 1A 2A 9.5 9.0 8.5 8.0 8.0 7.5 EDV0 7.5 7.0 0 1 2 3 4 5 6 7 8 9 10 0 1 Capacity − % 2 3 4 5 6 7 8 9 10 Capacity − % Figure 11. EDV Calculations vs Capacity for Various Temperatures Figure 12. EDV Calculations vs Capacity for Various Loads overload current threshold The Overload Current threshold is a 16-bit value stored in EE 0x46-0x47 in mA units. midrange capacity corrections Three voltage-based thresholds, VOC25 EE 0x6c-0x6d, VOC50 EE 0x6e-0x6f, and VOC75 EE 0x70-0x71, are used to test the accuracy of the RM based on open-circuit pack voltages. These thresholds are stored in the EEPROM in 2s complement of voltage in mV. The values represent the open-circuit battery voltage at which the battery capacity should correspond to the associated state of charge for each threshold. 46 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 PROGRAMMING INFORMATION self-discharge rate The nominal self-discharge rate, %PERDAY (% per day), is programmed in an 8-bit value Self-Discharge Rate EE 0x53 by the following relation: Self-Discharge Rate + 256– (12) 52.73 %PERDAY light load estimate The amount of light load current in mA, ILEAK, used for compensation is stored in Light Load Estimate in EE 0x64 as follows: Light Discharge Current + ILEAK • 1024 45 (13) ILEAK is between 0.044 and 11.2 mA. charge efficiency The bq2063 applies the efficiency factor, EFF%, to all charge added to the battery. EFF% is encoded in Charge Efficiency EE 0x4d according to equation 16: Charge Efficiency + (EFF% • 2.56–1) (14) battery electronics load The amount of internal battery electronics load estimate in µA, BEL, is stored in Pack Load Estimate EE 0x1c as follows; Pack Load Estimate = 0.364 • BEL charging voltage The 16-bit value, Charging Voltage EE 0x0a-0x0b programs the ChargingVoltage( ) value broadcast to a Smart Charger. It is also sets the base value for determining overvoltage conditions during charging and voltage compliance during a constant-voltage charging methodology. It is stored in mV. overvoltage The 8-bit value, Overvoltage Margin EE 0x48, sets the limit over ChargingVoltage( ) that is to be considered as an overvoltage charge-suspension condition. The voltage in mV above the ChargingVoltage( ), VOVM, that should trigger a charge suspend is encoded in Overvoltage Margin as follows: (15) Overvoltage Margin + VOVM 16 VOVM is between 0 and 4080 mV. charging current ChargingCurrent( ) values are either broadcast to a Level 2 Smart Battery Charger or read from the bq2063 by a Level 3 Smart Battery Charger. The bq2063 sets the value of ChargingCurrent( ), depending on the charge requirements and charge conditions of the pack. When fast charge is allowed, the bq2063 sets ChargingCurrent( ) to the rate programmed in Fast Charging Current EE 0x1a-0x1b. Fast Charging Current is stored in mA. POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 47 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 PROGRAMMING INFORMATION charging current (continued) When fast charge terminates, the bq2063 sets ChargingCurrent( ) to zero and then to the Maintenance Charging Current EE 0x1d when the termination condition ceases. MC is the desired rate in mA. (16) Maintenance Charging Current + MC 4 When Voltage( ) is less than EDV0, the bq2063 sets ChargingCurrent( ) to Precharge Current EE 0x1e. Typically this rate is larger than the maintenance rate to charge a deeply depleted pack up to the point where it may be fast charged. PCC is the desired rate in mA. (17) Precharge Current + PCC 8 If temperature is between 0° and the LTF threshold, the bq2063 sets ChargingCurrent( ) to PreCharge Current. LTF is programmed in the lower nibble (LSN) OF MaxTLowT EE0x45 as LowT + (18) LTF(°C) 0.8 charge suspension During charge, the bq2063 compares the current to the ChargingCurrent( ) plus the value IOIM. If the pack is charged at a current above the ChargingCurrent( ) plus IOIM, the bq2063 sets ChargingCurrent( ) to zero to stop charging. IOIM is programmed in the EE 0x49 value, Overcurrent Margin, encoded as (19) Overcurrent Margin + IOIM 16 Overcurrent Margin EE 0x49 may be used to program IOIM values of 0 to 4080mA in 16mA steps. The desired temperature threshold for charge suspension, MAXTEMP, may be programmed between 45°C and 69°C in 1.6°C steps. MaxT LowT EE 0x45 (MSN) is stored in a 4-bit value as shown: (20) MaxT + 69–MAXTEMP 1.6 The bq2063 suspends fast charge when fast charge continues past full by the amount programmed in Maximum Overcharge EE 0x2e-0x2f. Maximum Overcharge is programmed in 2s complement form of charge in mAh. FULLY_CHARGED bit clear threshold The bq2063 clears the FULLY_CHARGED bit in BatteryStatus( ) when RelativeStateOfCharge( ) reaches the value, Fully Charged Clear % EE 0x4c. Fully Charged Clear % is an 8-bit value and is stored as a 2s complement of percent. fast charge termination percentage The bq2063 sets RM to a percentage of FCC on charge termination if the CSYNC bit is set in the Pack Configuration register. The percentage of FCC, FCT%, is stored in Fast Charge Termination % in EE 0x4b. The value is stored as shown: Fast Charge Termination% = (FCT% * 2.56−1) cycle count threshold Cycle Count Threshold 0x3c-0x3d sets the number of mAh that must be removed from the battery to increment CycleCount( ). Cycle Count Threshold is a 16-bit value stored in 2s complement of charge in mAh. 48 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 PROGRAMMING INFORMATION current taper termination characteristics Two factors in the EEPROM set the current taper termination for Li-Ion battery packs. The two coded locations are Current Taper Qual Voltage EE 0x4f and Current Taper Threshold EE 0x4e. Current taper termination occurs during charging when the pack voltage is above the charging voltage minus CTQV (mV) and the charging current is below CTT (mA) for at least 40 seconds. Current Taper Qual Voltage + (21) CTQV 2 Current Taper Threshold + Rs < CTT 0.5625 (22) where i = the desired current termination threshold in mA, and Rs = VFC sense resistor in ohms. pack options pack configuration Pack Configuration EE 0x3f contains bit-programmable features. b7 b6 b5 b4 b3 b2 b1 b0 DMODE SEAL CSYNC CEDV VCOR EXTH OTVC 4CELL DMODE The DMODE bit determines RelativeStateOfCharge( ) whether the 0 LEDs reflect AbsoluteStateOfCharge( ) 1 LEDs reflect RelativeStateOfCharge( ) LED outputs indicate AbsoluteStateOfCharge( ) or SEAL The SEAL bit determines the SMBus access state of the bq2063 on reset 0 SMBus commands (0x00-0xff) accessible for both read and write 1 SMBus read access limited to commands (0x05-0x1c) and (0x20-0x23). SMBus read/write access limited to commands (0x00-0x04), (0x2f), and (0x3c-0x3f). CSYNC In usual operation of the bq2063, the CSYNC bit is set so that the coulomb counter is adjusted when a fast charge termination is detected. In some applications, especially those where an externally controlled charger is used, it may be desirable not to adjust the coulomb counter. In these cases the CSYNC bit should be cleared. 0 The bq2063 does not alter RM at the time of a valid charge termination 1 The bq2063 updates RM with a programmed percentage of FCC at a valid charger termination. CEDV The CEDV bit determines whether the bq2063 implements automatic EDV compensation to calculate the EDV0, EDV1, and EDV2 thresholds base on rate, temperature, and capacity. If the bit is cleared, the bq2063 uses the fixed values programmed in EEPROM for EDV0, EDV1, and EDV2. If the bit is set, the bq2063 calculates EDV0, EDV1, and EDV2. 0 EDV compensation disabled 1 EDV compensation enabled POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 49 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 PROGRAMMING INFORMATION pack options (continued) VCOR The VCOR bit enables the midrange voltage correction algorithm. When it is set, the bq2063 compares the pack voltage to RM and may adjust RM according to the values programmed in VOC25, VOC50, and VOC75. 0 Continuous midrange corrections disabled 1 Continuous midrange corrections enabled EXTH The EXTH bit configures the bq2063 for external or internal temperature measurement. When this bit is set, the bq2063 expects an external thermistor input on the TS pin. When the bit is not set, the bq2063 uses its internal temperature sensor. 0 Internal temperature sensor used 1 External thermistor used OTVC The OTVC bit programs the bq2063 to perform a midrange voltage one time after a device reset. 0 One-time midrange correction disabled 1 One-time midrange correction enabled 4CELL The 4CELL bit programs the bq2063 for three or four series-cell operation. 0 Configure the bq2063 for three cells 1 Configure the bq2063 for four cells pack programming Pack Programming EE 0x63 contains bit-programmable features: b7 b6 b5 b4 b3 b2 b1 b0 — — — LLTF LLRN EDVV — PDLY PDLY 0 1 CVUV or CVOV sets immediately on first fault measurement CVUV or CVOV requires two successive VOC measurements (2-second intervals). EDVV The EDVV bit selects whether EDV the termination is to be done with regard to voltage or the lowest single-cell voltage. 0 EDV conditions determined on the basis of the lowest single-cell voltage 1 EDV conditions determined on the basis of Voltage( ). LLRN LLRN bit sets the threshold above which current must be when RM reaches the Low Battery % or when Voltage( ) reached the EDV2 to level to maintain a qualified discharge and allow learning (FCC update). 0 Sets the threshold to 3C/32 1 Sets the threshold to C/32 50 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 PROGRAMMING INFORMATION pack options (continued) LLTF The LLTF bit sets the temperature threshold used to disable the learning cycle (FCC update). 0 Sets the low temperature learning fault to 12C 1 Sets the low temperature learning fault to the value stored in MaxT_LowT remaining time and capacity alarms Remaining Time Alarm in EE 0x02-0x03 and Remaining Capacity Alarm in 0x04-0x05 set the alarm thresholds used in the SMBus command codes 0x01 and 0x02, respectively. Remaining Time Alarm is stored in minutes and Remaining Capacity Alarm in mAh or 10 mWh, depending on the Battery_Mode( ) setting. secondary protection limits for Li-Ion The cell undervoltage (VUV) and overvoltage (VOV) limits are programmed in Cell Undervoltage/Overvoltage EE 0x4a according to the equations: Cell Overvoltage (lower nibble) + VOV–4096 32 (23) Cell Undervoltage (upper nibble) + VUV * 2048 64 (24) CELL UNDER/OVER VOLTAGE (UPPER NIBBLE) VUV (mV) CELL UNDER/OVER VOLTAGE (LOWER NIBBLE) VOV (mV) 0 2048 0 4096 1 2112 1 4128 2 2176 2 4160 3 2240 3 4192 4 2304 4 4224 5 2368 5 4256 6 2432 6 4288 7 2496 7 4320 8 2560 8 4352 9 2624 9 4384 a 2688 a 4416 b 2752 b 4448 c 2816 c 4480 d 2880 d 4512 e 2944 e 4544 f 3008 f 4576 SAFETY Threshold The Safety Voltage threshold (SOV) in mV is programmed in Safety Overvoltage EE 0x1f. It is stored as Safety Overvoltage + SOV * 4096 64 (25) The Safety Overtemperature (SOT) in °C is programmed in Safety Overtemperature EE 0x08. It is stored as Safety Overtemperature + (94.5 * SOT) < 10 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 (26) 51 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 PROGRAMMING INFORMATION pack options (continued) cycle count initialization Cycle Count EE 0x0e-0x0f stores the initial value for the CycleCount( ) function. It should be programmed to 0x0000. control mode Control Mode EE0x51 contains additional bit programmable features. b7 b6 b5 b4 b3 b2 b1 b0 NDF — HPE CPE LED SC — SM NDF The NDF bit disables the digital filter during discharge if the SMBC and SMBD lines are high. 0 Digital filter enabled all the time 1 Digital filter disabled if SMBC and SMBD are high HPE The HPE bit enables/disables PEC transmissions to the Smart Battery host for master mode alarm messages. 0 No PEC byte on alarm warning to host 1 PEC byte on alarm warning to host CPE The CPE bit enables/disables PEC transmissions to the Smart Battery Charger for master mode messages. 0 No PEC byte on broadcasts to charger 1 PEC byte on broadcasts to charger LED The LED bit configures the bq2063 for 4 or 5 LED indication 0 Selects the 5 LED indication mode 1 Selects the 4 LED indication mode SC The SC bit enables learning cycle optimization for a Smart Charger or independent charge 0 Learning cycle optimized for independent charger 1 Learning cycle optimized for Smart Charger SM The SM bit enables/disables master mode broadcasts by the bq2063 0 Broadcasts to host and charger enabled 1 Broadcasts to host and charger disabled If the SM bit is set, modifications to bits in BatteryMode( ) do not re-enable broadcasts. 52 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 PROGRAMMING INFORMATION measurement calibration ADC To describe how the bq2063 calculates reported battery and three individual cell voltages, the following abbreviations and designations are used: D D D D D VCELL = voltage at the input pin of the bq2063 VCELLN = reported single-cell voltages (N = 1–4) Vn = single cell voltage (n = 1−4) VnOffset= single-cell offset voltages (n = 1–4) Voltage( ) = reported battery voltage The bq2063 requests inputs to the VCELL pin. The S-8243 presents either a scaled single-cell voltage or the offset associated with the voltage, per Table 11. The voltage for each cell, Vn, may be determined by subtracting the offset measurement from the corresponding cell plus offset measurement. After subtracting the two ADC readings from each cell voltage, the reported VCELLN voltage is computed as follows: Gain ƪADC Voltage ƫ 65536 VCELLN + [ADC(VnOffset ) 0.2 Vn)–ADC(VnOffset)] (27) (28) ADC(VCELL) + VCELL * 32768 1250 An ADC Voltage Gain factor of 12500 in EE 0x66−0x67 is the nominal value to correct for the nominal 0.2 (5:1 reduction) gain of the S-8243. The bq2063 computes the reported voltages as follows: Voltage( ) = VCELL1 + VCELL2 + VCELL3 + VCELL4 (29) The bq2063 reports VCELL4 as the most positive cell in the cell stack. Note that this is documented as V1 in the S-8243 data sheet. The other cell voltages are also in inverse order. Table 11. bq2063 to S-8243A/B Interface (Cell Voltage Input) OUTPUT CTL3 CTL4 INPUT VCELL (A series) VCELL (A series) High High V1 Offset V1 Offset High Open V1 Offset +0.2 × V1 V1 Offset + 0.2 × V1 High Low Don’t care V2 Offset Open High Don’t care V2 Offset + 0.2 × V2 Open Open V2 Offset V3 Offset Open Low V2 Offset + 0.2 × V2 V3 Offset + 0.2 × V3 Low High V3 Offset V4 Offset Low Open V3 Offset 0.2 × V3 V4 Offset + 0.2 × V4 Low Low Don’t care Don’t care NOTE: V1 = Cell 1 voltage (positive end of cell stack) V2 = Cell 2 voltage V3 = Cell 3 voltage V4 = Cell 4 voltage (negative end of cell stack) POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 53 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 PROGRAMMING INFORMATION measurement calibration (continued) current The bq2063 scales Current( ) to mA units by the 16-bit value ADC Sense Resistor Gain in EE 0x68-0x69. Adjusting ADC Sense Resistor Gain from its nominal value provides a method to calibrate the current readings for variances in the ADC gain, internal voltage reference, and sense resistor value. The bq2063 calculates Current( ) by Current( ) + ) * ADC Sense Resistor Gain ƪ(ADC Reading ) ADC Offset ƫ 16384 (30) The nominal value for ADC Sense Resistor Gain is given by equation (4). ADC Offset in EE 0x62 adjusts the ADC reading for bq2063 measurement offset. ADC Offset is a signed 8-bit value that cancels offset present in the ADC measurement. ADC Offset is typically between –20 and 20. vfc To calibrate the coulomb counting measurement for VFC gain errors and sense resistor tolerance, the value of VFC Sense Resistor Gain EE 0x6a-0x6b may be adjusted from its nominal value. The nominal value of VFC Sense Resistor Gain is given by equation (6). The bq2063 VFC circuit has the ability to introduce a signal opposite in sign to the inherent device and circuit offset to cancel this error. The offset calibration routine is initiated with commands to ManufacturerAccess( ). The bq2063 calculates the offset with the calibration routine and stores the calibration value using the least 21 bits of VFC Offset in EE 0x5e-0x60. The least 20 bits store the offset calibration value (OCV). The sign of the offset calibration value is positive if the 21st bit is 0. OCV + (31) 0.6 V VFC Offset 19–0 temperature The bq2063 uses Temperature Offset in EE 0x61 to calibrate the Temperature( ) function for offset. The required offset adjustment, TOFF (°C), sets Temperature Offset according to the equation Temperature Offset + TOFF * 10 (32) Where: –12.8 ≤ TOFF ≤ 12.7 constants and string data EEPROM constants Check Byte 1 EE 0x00-0x01 and Check Byte 2 EE 0x7e-0x7f must be programmed to 0x3c7f and 0xa55a, respectively. specification information Specification Information EE 0x14-0x15 stores the default value for the SpecificationInfo( ) function. It is stored in EEPROM in the same format as the data returned by the SepcificationInfo( ). 54 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 PROGRAMMING INFORMATION measurement calibration (continued) manufacture date Manufacture Date EE 0x16-0x17 stores the default value for the ManufactureDate( ) function. It is stored in EEPROM in the same format as the data returned by the ManufactureDate( ). serial number Serial Number EE 0x18-0x19 stores the default value for the SerialNumber( ) function. It is stored in EEPROM in the same format as the data returned by the SerialNumber( ). manufacturer name data Manufacturer Name Length EE 0x20 stores the length of the desired string that is returned by the ManufacturerName( ) function. Locations EE 0x21-0x2b store the characters for ManufacturerName( ) in ASCII code. device name data Device Name Length EE 0x30 stores the length of the desired string that is returned by the DeviceName( ) function. Locations EE 0x31-0x37 store the characters for DeviceName( ) in ASCII code. device chemistry data Device Chemistry Length EE 0x40 stores the length of the desired string that is returned by the DeviceChemistry( ) function. Locations EE 0x41-0x44 store the characters for DeviceChemistry( ) in ASCII code. manufacturers data length Manufacturers Data Length EE 0x50 stores the length of the desired number of bytes that is returned by the ManufacturersData( ) function. It should be set to 7. APPLICATION INFORMATION Figure 13 shows a typical bq2063-based battery pack application. The circuit consists of the S-8243 protection IC LED display, temperature measurement network, EEPROM connections, serial port, and the sense resistor. The EEPROM stores basic battery pack configuration information and measurement calibration values. The EEPROM must be programmed properly for bq2063 operation. Table 10 shows the EEPROM memory map and outlines the programmable functions available in the bq2063. POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 55 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 APPLICATION INFORMATION D BAT+ C CTL1 Pack+ BAT+ S-8243B DOP COP bq2063 VMP VCC CVR VC1 CTL1 VC2 CTL2 CTL2 LED3 VC3 CTL3 CTL3 LED4 VSS CTL4 CTL4 LED5 VCELL DISP VCC LED1 Cell 4 LED2 Cell 3 Cell 2 Cell 1 VCC VBAT_OUT EEPROM CCT CDT VOUT VCC A0 A1 VCC ESCL SCL A2 WP TS ESDA THON SMBC SDA VSS SMBus RBI SMBD VSS HDQ16 SR2 SR1 SRC RS Optional Pack− Current Sense Resistor 20 mΩ Typ. Figure 13. Typical bq2063 Implementation 56 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 Not Recommended For New Designs SLUS468E− MAY 2001 − REVISED APRIL 2002 MECHANICAL DATA DBQ (R-PDSO-G**) PLASTIC SMALL-OUTLINE 24 PINS SHOWN 0.012 (0,30) 0.008 (0,20) 0.025 (0,64) 24 0.005 (0,13) M 13 0.244 (6,20) 0.228 (5,80) 0.008 (0,20) NOM 0.157 (3,99) 0.150 (3,81) 1 Gage Plane 12 A 0.010 (0,25) 0°−ā 8° 0.069 (1,75) MAX 0.035 (0,89) 0.016 (0,40) Seating Plane 0.010 (0,25) 0.004 (0,10) 0.004 (0,10) PINS ** 16 20 24 28 A MAX 0.197 (5,00) 0.344 (8,74) 0.344 (8,74) 0.394 (10,01) A MIN 0.188 (4,78) 0.337 (8,56) 0.337 (8,56) 0.386 (9,80) DIM 4073301/E 10/00 NOTES: A. B. C. D. All linear dimensions are in inches (millimeters). This drawing is subject to change without notice. Body dimensions do not include mold flash or protrusion not to exceed 0.006 (0,15). Falls within JEDEC MO-137 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 57 PACKAGE OPTION ADDENDUM www.ti.com 25-Sep-2015 PACKAGING INFORMATION Orderable Device Status (1) Package Type Package Pins Package Drawing Qty Eco Plan Lead/Ball Finish MSL Peak Temp (2) (6) (3) Op Temp (°C) Device Marking (4/5) BQ2063DBQ NRND SSOP DBQ 28 40 Green (RoHS & no Sb/Br) CU NIPDAU Level-2-260C-1 YEAR 0 to 70 2063 E616 BQ2063DBQG4 NRND SSOP DBQ 28 40 Green (RoHS & no Sb/Br) CU NIPDAU Level-2-260C-1 YEAR 0 to 70 2063 E616 (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) Eco Plan - The planned eco-friendly classification: Pb-Free (RoHS), Pb-Free (RoHS Exempt), or Green (RoHS & no Sb/Br) - please check http://www.ti.com/productcontent for the latest availability information and additional product content details. TBD: The Pb-Free/Green conversion plan has not been defined. Pb-Free (RoHS): TI's terms "Lead-Free" or "Pb-Free" mean semiconductor products that are compatible with the current RoHS requirements for all 6 substances, including the requirement that lead not exceed 0.1% by weight in homogeneous materials. Where designed to be soldered at high temperatures, TI Pb-Free products are suitable for use in specified lead-free processes. Pb-Free (RoHS Exempt): This component has a RoHS exemption for either 1) lead-based flip-chip solder bumps used between the die and package, or 2) lead-based die adhesive used between the die and leadframe. The component is otherwise considered Pb-Free (RoHS compatible) as defined above. Green (RoHS & no Sb/Br): TI defines "Green" to mean Pb-Free (RoHS compatible), and free of Bromine (Br) and Antimony (Sb) based flame retardants (Br or Sb do not exceed 0.1% by weight in homogeneous material) (3) MSL, Peak Temp. - The Moisture Sensitivity Level rating according to the JEDEC industry standard classifications, and peak solder temperature. (4) There may be additional marking, which relates to the logo, the lot trace code information, or the environmental category on the device. (5) Multiple Device Markings will be inside parentheses. Only one Device Marking contained in parentheses and separated by a "~" will appear on a device. If a line is indented then it is a continuation of the previous line and the two combined represent the entire Device Marking for that device. (6) Lead/Ball Finish - Orderable Devices may have multiple material finish options. Finish options are separated by a vertical ruled line. Lead/Ball Finish values may wrap to two lines if the finish value exceeds the maximum column width. Important Information and Disclaimer:The information provided on this page represents TI's knowledge and belief as of the date that it is provided. TI bases its knowledge and belief on information provided by third parties, and makes no representation or warranty as to the accuracy of such information. Efforts are underway to better integrate information from third parties. TI has taken and continues to take reasonable steps to provide representative and accurate information but may not have conducted destructive testing or chemical analysis on incoming materials and chemicals. TI and TI suppliers consider certain information to be proprietary, and thus CAS numbers and other limited information may not be available for release. Addendum-Page 1 Samples PACKAGE OPTION ADDENDUM www.ti.com 25-Sep-2015 In no event shall TI's liability arising out of such information exceed the total purchase price of the TI part(s) at issue in this document sold by TI to Customer on an annual basis. Addendum-Page 2 IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, enhancements, improvements and other changes to its semiconductor products and services per JESD46, latest issue, and to discontinue any product or service per JESD48, latest issue. Buyers should obtain the latest relevant information before placing orders and should verify that such information is current and complete. All semiconductor products (also referred to herein as “components”) are sold subject to TI’s terms and conditions of sale supplied at the time of order acknowledgment. TI warrants performance of its components to the specifications applicable at the time of sale, in accordance with the warranty in TI’s terms and conditions of sale of semiconductor products. Testing and other quality control techniques are used to the extent TI deems necessary to support this warranty. Except where mandated by applicable law, testing of all parameters of each component is not necessarily performed. TI assumes no liability for applications assistance or the design of Buyers’ products. Buyers are responsible for their products and applications using TI components. To minimize the risks associated with Buyers’ products and applications, Buyers should provide adequate design and operating safeguards. TI does not warrant or represent that any license, either express or implied, is granted under any patent right, copyright, mask work right, or other intellectual property right relating to any combination, machine, or process in which TI components or services are used. Information published by TI regarding third-party products or services does not constitute a license to use such products or services or a warranty or endorsement thereof. Use of such information may require a license from a third party under the patents or other intellectual property of the third party, or a license from TI under the patents or other intellectual property of TI. Reproduction of significant portions of TI information in TI data books or data sheets is permissible only if reproduction is without alteration and is accompanied by all associated warranties, conditions, limitations, and notices. TI is not responsible or liable for such altered documentation. Information of third parties may be subject to additional restrictions. Resale of TI components or services with statements different from or beyond the parameters stated by TI for that component or service voids all express and any implied warranties for the associated TI component or service and is an unfair and deceptive business practice. TI is not responsible or liable for any such statements. Buyer acknowledges and agrees that it is solely responsible for compliance with all legal, regulatory and safety-related requirements concerning its products, and any use of TI components in its applications, notwithstanding any applications-related information or support that may be provided by TI. Buyer represents and agrees that it has all the necessary expertise to create and implement safeguards which anticipate dangerous consequences of failures, monitor failures and their consequences, lessen the likelihood of failures that might cause harm and take appropriate remedial actions. Buyer will fully indemnify TI and its representatives against any damages arising out of the use of any TI components in safety-critical applications. In some cases, TI components may be promoted specifically to facilitate safety-related applications. With such components, TI’s goal is to help enable customers to design and create their own end-product solutions that meet applicable functional safety standards and requirements. Nonetheless, such components are subject to these terms. No TI components are authorized for use in FDA Class III (or similar life-critical medical equipment) unless authorized officers of the parties have executed a special agreement specifically governing such use. Only those TI components which TI has specifically designated as military grade or “enhanced plastic” are designed and intended for use in military/aerospace applications or environments. Buyer acknowledges and agrees that any military or aerospace use of TI components which have not been so designated is solely at the Buyer's risk, and that Buyer is solely responsible for compliance with all legal and regulatory requirements in connection with such use. TI has specifically designated certain components as meeting ISO/TS16949 requirements, mainly for automotive use. In any case of use of non-designated products, TI will not be responsible for any failure to meet ISO/TS16949. Products Applications Audio www.ti.com/audio Automotive and Transportation www.ti.com/automotive Amplifiers amplifier.ti.com Communications and Telecom www.ti.com/communications Data Converters dataconverter.ti.com Computers and Peripherals www.ti.com/computers DLP® Products www.dlp.com Consumer Electronics www.ti.com/consumer-apps DSP dsp.ti.com Energy and Lighting www.ti.com/energy Clocks and Timers www.ti.com/clocks Industrial www.ti.com/industrial Interface interface.ti.com Medical www.ti.com/medical Logic logic.ti.com Security www.ti.com/security Power Mgmt power.ti.com Space, Avionics and Defense www.ti.com/space-avionics-defense Microcontrollers microcontroller.ti.com Video and Imaging www.ti.com/video RFID www.ti-rfid.com OMAP Applications Processors www.ti.com/omap TI E2E Community e2e.ti.com Wireless Connectivity www.ti.com/wirelessconnectivity Mailing Address: Texas Instruments, Post Office Box 655303, Dallas, Texas 75265 Copyright © 2015, Texas Instruments Incorporated