bq2092 Gas Gauge IC with SMBus-Like Interface Features General Description ➤ Provides accurate measurement of available charge in NiCd, NiMH, and Li-Ion rechargeable batteries ➤ Supports SBData charge control commands for Li-Ion, NiMH, and NiCd chemistries The bq2092 Gas Gauge IC With SMBus-Like Interface is intended for battery-pack or in-system installation to maintain an accurate record of available battery charge. The bq2092 directly supports capacity monitoring for NiCd, NiMH, and Li-Ion battery chemistries. ➤ Designed for battery pack integration - 120µA typical operating current - Small size enables implementations in as little as 3 square inch of PCB 4 ➤ Two-wire SMBus-like interface ➤ Measurements compensated for current and temperature ➤ Programmable self-discharge and charge compensation ➤ 16-pin narrow SOIC Pin Connections The bq2092 uses the SMBus protocol that supports many of the Smart Battery Data (SBData) commands. The bq2092 also supports SBData charge control. Battery state-ofcharge, capacity remaining, remaining time and chemistry are available over the serial link. Battery-charge state can be directly indicated using a four-segment LED display to graphically depict battery full-toempty in 25% increments. The bq2092 estimates battery selfdischarge based on an internal timer and temperature sensor and user-programmable rate information stored in external EEPROM. The bq2092 also automatically recalibrates or “learns” battery capacity in the full course of a discharge cycle from full to empty. The bq2092 may operate directly from three nickel chemistry cells. With the REF output and an external transistor, a simple, inexpensive regulator can be built to provide VCC for other battery cell configurations. An external EEPROM is used to program initial values into the bq2092 and is necessary for proper operation. Pin Names VCC 3.0–5.5V SR Sense resistor input SCL Serial memory clock DISP Display control input SB Battery sense input SDA Serial memory data SCD Serial communication data input/output SCC Serial communication clock REF Voltage reference output VOUT EEPROM supply output VCC 1 16 VOUT SCL 2 15 REF SDA 3 14 SCC SEG1 4 13 SCD SEG1 LED segment 1 SEG2 5 12 NC SEG2 LED segment 2 SEG3 6 11 SB SEG3 LED segment 3 SEG4 7 10 DISP SEG4 LED segment 4 VSS 8 9 SR VSS System ground 16-Pin Narrow SOIC PN209101.eps 6/99 C 1 bq2092 SB Pin Descriptions VCC Supply voltage input SCL Serial memory clock This input monitors the cell pack voltage as a single-cell potential through a highimpedance resistor divider network. The cell pack voltage is reported in the SBD register function Voltage (0x09) and is compared to end-of-discharge voltage and charging voltage parameters. This output is used to clock the data transfer between the bq2092 and the external nonvolatile configuration memory. SDA SEG1– SEG4 Serial memory data and address NC No connect This bi-directional pin is used to transfer address and data to and from the bq2092 and the external configuration memory. SCD Serial communication data This open-drain bidirectional pin is used to transfer address and data to and from the bq2092. LED display segment outputs SCC Each output may activate an external LED to sink the current sourced from VCC. VSS Ground SR Sense resistor input Serial communication clock This open-drain bidirectional pin is used to clock the data transfer to and from the bq2092. REF Reference output for regulator REF provides a reference output for an optional micro-regulator. The voltage drop (VSR) across pins SR and VSS is monitored and integrated over time to interpret charge and discharge activity. The SR input is connected to the sense resistor and the negative terminal of the battery. VSR < VSS indicates discharge, and VSR > VSS indicates charge. The effective voltage drop, VSRO, as seen by the bq2092 is VSR + VOS (see Table 3). DISP Secondary battery input VOUT Supply output This output supplies power to the external EEPROM configuration memory. Display control input DISP high disables the LED display. DISP floating allows the LED display to be active during charge if the rate is greater than 100mA. DISP low activates the display for 4 seconds. 2 bq2092 Figure 1 shows a typical battery pack application of the bq2092 using the LED capacity display, the serial port, and an external EEPROM for battery pack programming information. The bq2092 must be configured and calibrated for the battery-specific information to ensure proper operation. Table 1 outlines the externally programmable functions available in the bq2092. Refer to the Programming the bq2092 section for further details. Functional Description General Operation The bq2092 determines battery capacity by monitoring the amount of charge input to or removed from a rechargeable battery. The bq2092 measures discharge and charge currents, estimates self-discharge, and monitors the battery for low-battery voltage thresholds. The charge measurement is made by monitoring the voltage across a small-value series sense resistor between the battery's negative terminal and ground. The available battery charge is determined by monitoring this voltage over time and correcting the measurement for the environmental and operating conditions. An internal temperature sensor eliminates the need for an external thermistor—reducing cost and components. An internal, temperature-compensated timebase eliminates the need for an external resonator, further reducing cost and components. The entire circuit in Figure 1 can occupy less than 3 4 square inch of board space. VCC VOUT REF SCL SCC SDA SCD SEG1 NC SEG2 SB SEG3 DISP SEG4 SR BZX84C5V6 BZX84C5V6 2192L.eps Figure 1. Battery Pack Application Diagram—LED Display 3 bq2092 Table 1. Configuration Memory Programming Values Address Length Units Design capacity Parameter Name 0x00/0x01 16 bits: low byte, high byte mAh Initial battery voltage 0x02/0x03 16 bits: low byte, high byte mV Fast charging current 0x04/0x05 16 bits: low byte, high byte mA Charging voltage 0x06/0x07 16 bit: low byte, high byte mV Remaining capacity alarm 0x08/0x09 16 bits: low byte, high byte mAh FLAGS1 0x0a 8 bits N/A FLAGS2 0x0b 8 bits N/A 0x0c/0x0d 16 bits: low byte, high byte N/A EDV1 0x0e/0x0f 16 bits: low byte, high byte mV EDVF 0x10/0x11 16 bits: low byte, high byte mV Temperature offset 0x12 8 bits 0.1°K Maximum charge temperature/∆T/∆t 0x13 8 bits N/A Self-discharge rate 0x14 8 bits N/A Digital filter 0x15 8 bits N/A 0x16/0x17 16 bits: low byte, high byte N/A Full charge percentage 0x18 8 bits N/A Charge compensation 0x19 8 bits N/A Current measurement gain Current integration gain Battery voltage offset 0x1a 8 bits mV Battery voltage gain 0x1b/0x1c 16 bits: high byte, low byte N/A Serial number 0x1d/0x1e 16 bits: low byte, high byte N/A Hold-off timer 0x1f 8 bits N/A Cycle count 0x20/0x21 16 bits: low byte, high byte N/A Maintenance charge current 0x22/0x23 16 bits: low byte, high byte mA Reserved 0x24/0x31 – – Design voltage 0x32/0x33 16 bits: low byte, high byte mV Specification information 0x34/0x35 16 bits: low byte, high byte N/A Manufacturer date 0x36/0x37 16 bits: low byte, high byte N/A Reserved 0x38/0x3f – – Manufacturer name 0x40/0x4f 8 + 120 bits N/A Device name 0x50/0x5f 8 + 120 bits N/A Chemistry 0x60/0x6f 8 + 120 bits N/A Manufacturer data 0x70/0x7f 8 +120 bits N/A Note: N/A = Not applicable; data packed or coded. See “Programming the bq2092” for details. 4 bq2092 of a single-point ground return. Sharing high-current ground with small signal ground causes undesirable noise on the small signal nodes. Additionally, in reference to Figure 1: Voltage Thresholds In conjunction with monitoring VSR for charge/discharge currents, the bq2092 monitors the battery potential through the SB pin. The voltage potential is determined through a resistor-divider network per the following equation: n R5 MBV = − 1 R4 2.25 n where MBV is the maximum battery voltage, R 5 is connected to the positive battery terminal, and R4 is connected to the negative battery terminal. R5/R4 should be rounded to the next highest integer. The voltage at the SB pin (VSB) should never exceed 2.4V. n n The battery voltage is monitored for the end-ofdischarge voltage (EDV), for maximum pack voltage and for alarm warning conditions. EDV threshold levels are used to determine when the battery has reached an “empty” state, and the charging voltage plus 5% threshold is used for fault detection during charging. The battery voltage gain, two EDV thresholds, and charge voltage limit are programmed via EEPROM. See the Programming the bq2092 section for further details. n The capacitors (C1, C2, and C4) should be placed as close as possible to the SB and VCC pins, and their paths to VSS should be as short as possible. A high-quality ceramic capacitor of 0.1µf is recommended for VCC. The sense resistor capacitor (C3) should be placed as close as possible to the SR pin. The sense resistor (R1) should be as close as possible to the bq2092. The IC should be close to the cells for the best temperature measurement. An optional zener may be necessary to ensure VCC is not above the maximum rating during operation. Gas Gauge Operation The operational overview diagram in Figure 2 illustrates the operation of the bq2092. The bq2092 accumulates a measure of charge and discharge currents, as well as an estimation of self-discharge. Charge currents are compensated for temperature and state-of-charge. Self-discharge is only temperature-compensated. If VSB is below either of the two EDV thresholds, the associated flag is latched and remains latched, independent of VSB, until the next valid charge. The main counter, RemainingCapacity (RM), represents the available battery capacity at any given time. Battery charging increments the RM register, whereas battery discharging and self-discharge decrement the RM register and increment the Discharge Count Register (DCR). EDV monitoring may be disabled under certain conditions. If the discharge current is greater than approximately 6A, EDV monitoring is disabled and resumes after the current falls below 6A. Reset The Discharge Count Register (DCR) is used to update the FullChargeCapacity (FCC) register only if a complete battery discharge from full to empty occurs without any partial battery charges. Therefore, the bq2092 adapts its capacity determination based on the actual conditions of discharge. The bq2092 is reset when first connected to the battery pack. The bq2092 can also be reset with a command over the serial port, as described in the Software Reset section. Temperature The battery's initial capacity is equal to the DesignCapacity (DC). Until FCC is updated, RM counts up to, but not beyond, this threshold during subsequent charges. The bq2092 monitors temperature using an internal sensor. The temperature is used to adapt charge/discharge and self-discharge compensations as well as maximum temperature and ∆T/∆t during bq2092 controlled charge. Temperature may also be accessed over the serial port. See the Programming the bq2092 section for further details. 1. FullChargeCapacity or learned-battery capacity: FCC is the last measured discharge capacity of the battery. On initialization (application of VCC or reset), FCC = DC. During subsequent discharges, the FCC is updated with the latest measured capacity in the Discharge Count Register, representing a discharge from full to below EDV1. A qualified discharge is necessary for a capacity transfer from the DCR to the FCC register. The FCC also serves as the 100% reference threshold used by the relative state-of-charge calculation and display. Layout Considerations The bq2092 measures the voltage differential between the SR and VSS pins. VOS (the offset voltage at the SR pin) is greatly affected by PC board layout. For optimal results, the PC board layout should follow the strict rule 5 bq2092 Inputs Charge Current Discharge Current Self-Discharge Timer Rate and Temperature Compensation Rate and Temperature Compensation Temperature Compensation - + - + Remaining Capacity (RM) Main Counters and Capacity Reference (FCC) < Full Charge Capacity (FCC) + Discharge Count Qualified Register Transfer (DCR) Temperature, Other Data Chip-Controlled Two-Wire Available Charge Serial Interface LED Display Outputs Figure 2. Operational Overview 2. DesignCapacity (DC): n The DC is the user-specified battery capacity and is programmed by using an external EEPROM. The DC also provides the 100% reference for the absolute display mode. 3. The valid discharge flag (VDQ) indicates whether the present discharge is valid for FCC update. FCC cannot be reduced by more than 256mAh during any single cycle. Remaining Capacity (RM): Charge Counting RM counts up during charge to a maximum value of FCC and down during discharge and self-discharge to 0. RM is reset to 0000Ah when EDV1 = 1 and a valid charge is detected. To prevent overstatement of charge during periods of overcharge, RM stops incrementing when RM = FCC. RM may optionally be written to a user-defined value when fully charged when the battery pack is under bq2092 charge control. See the Charge Control section for further details. 4. Charge activity is detected based on a positive voltage on the VSR input. If charge activity is detected, the bq2092 increments RM at a rate proportional to VSRO and, if enabled, activates an LED display. Charge actions increment the RM after compensation for charge rate and temperature. The bq2092 determines charge activity sustained at a continuous rate equivalent to VSRO > |VSRD|. A valid charge equates to sustained charge activity greater than 10 mAh. Once a valid charge is detected, charge counting continues until V SRO falls below |V S R D |. V S R D is a programmable threshold as described in the Digital Magnitude Filter section. Discharge Count Register (DCR): The DCR counts up during discharge independent of RM and can continue increasing after RM has decremented to 0. Before RM = 0 (empty battery), both discharge and self-discharge increment the DCR. After RM = 0, only discharge increments the DCR. The DCR resets to 0 when RM = FCC. The DCR does not roll over but stops counting when it reaches FFFFh. Discharge Counting All discharge counts where VSRO < |VSRD| cause the RM register to decrement and the DCR to increment. VSRD is a programmable threshold as described in the Digital Magnitude Filter section. The DCR value becomes the new FCC value on the first charge after a valid discharge to VEDV1 if: n n The temperature is ≥ 273°K (0°C) when the EDV1 level is reached during discharge. Self-Discharge Estimation No valid charge initiations (charges greater than 10mAh, where VSRO > |VSRD|) occurred during the period between RM = FCC and EDV1 detected. The bq2092 continuously decrements RM and increments DCR for self-discharge based on time and temperature. The self-discharge rate is dependent on the battery chemistry. The bq2092 self-discharge estimation rate is externally programmed in EEPROM The self-discharge count is not more than 256mAh. 6 bq2092 and can be programmed from 0 to 25% per day at 20-30°C. This rate doubles every 10°C increase until T > 70°C or is halved every 10° decrease until T < 10°C. percentage. Once this occurs, the Fully_Charged bit is cleared, and the bq2092 requests the fast charging current and charging voltage. The self-discharge estimate reduces RM by 0.39% of its current value at time intervals spaced so that the average reduction equals the programmed value adjusted for temperature. The EEPROM program constant is the 2’s complement of 52.73 X , where X = % day self-discharge rate desired at 25°C. During fast charge, the bq2092 suspends charge by requesting zero current and setting the Terminate_Charge_Alarm bit in BatteryStatus. Charge is suspended if the actual charge current is 25% greater than the programmed charged current. If the programmed charge current is less than 1024mA, overcurrent suspend occurs if the actual charge current is 256mA greater than the programmed value. Charge is also suspended if the actual battery voltage is 5% greater than the programmed charge voltage. If the battery temperature is greater than the programmed maximum temperature before charge, then the bq2092 suspends charge requests until the temperature falls below 50°C. Charge Control The bq2092 supports SBD charge control by broadcasting ChargingCurrent() and ChargingVoltage() to the Smart Charger address. Smart Charger broadcasts can be disabled by writing bit 14 of Battery Mode() to 1. The bq2092-based charge control can be enabled by setting bit 4 in FLAGS2 (MSB of 0x2f) to 1. See Programming the bq2092 for further details. If the Fully_Charged bit is not set in BatteryStatus, the bq2092 broadcasts the fast charge current and voltage to the Smart Charger. The bq2092 broadcasts the maintenance current values (trickle rate) if the Fully_Charged bit is set or Voltage is below EDVF. If the battery temperature is less than 0°C, the charging current sets to maintenance (trickle) charge current. The fast charging current is requested when the temperature is above 5°C. ∆T/∆t The ∆T/∆t used by the bq2092 is programmable in both the temperature step (1.6°C–4.6°C) and time step (20 seconds–320seconds). Typical settings for 1°C/min include 2°C over 120 seconds and 3°C over 180 seconds. Longer times are required for increased slope resolution. The bq2092 internal charge control is compatible with nickel-based and Li-Ion chemistries. For Li-Ion, the bq2092 broadcasts the required ChargingCurrent and ChargingVoltage according to the values programmed in the external EEPROM. During a valid charge (VQ = 1), the bq2092 signals a valid charge termination when the Terminate_Charge_Alarm and Fully_Charged bits are set in BatteryStatus. These bits are set when the battery is charged more than 256mAh above FCC. ∆T ∆T is set by the formula: = ∆t ∆t [( lower nibble of 0 ∗13 in E PROM ) ∗2 + 16] C [2' s( lower nibble of 0 ∗1f in E PROM ) ∗3.33] minute 2 o 2 For nickel-based chemistries, the bq2092 broadcasts the required charge current and voltage according to the programmed values in the external EEPROM. Maximum temperature and ∆T/∆t are used as valid charge termination methods. Note: Nickel-based chemistries require a charge voltage higher than the maximum cell voltage during charge to ensure constant-current charging. During a valid charge (VQ = 1), if the bq2092 determines a maximum temperature condition, a ∆T/∆t rate greater than the programmed value, or a charge state greater than 256mAh above FCC, then the Termin a t e _ C h a r g e _ A l a r m , O v e r _ C har g e _ A l a r m , a n d Fully_Charged bits are set in BatteryStatus. In addition to the ∆T/∆t timer, there is a hold-off timer, which starts when the battery is being charged at more than 256mA and the temperature is above 25°C. (This is valid only for NiMH chemistry, bit 5 in FLAGS2 set to 0.) Until this timer expires, ∆T/∆t is suspended. If the temperature falls below 25°C, or if charging current fallls below 255mA, the timer is reset and restarts only if the above conditions are once again met. Safety Termination If charging continues for more than 256mAh beyond R M = F C C, t h e Ter m in a t e_C h a r g e_A la r m a n d Fully_Charged bits are set, and the charging current is modified to request maintenance current. If the battery is discharged from full by less than 256mAh, then the safety overcharge termination, for NiMH only, is allowed to extend to 512 mAh. Once the bq2092 detects a valid charge termination, the Fully_Charged bit, Terminate_Charge_Alarm, and Over_Charge_Alarm bits are set and the ChargingCurrent is set to zero. Once the terminating condition ceases, the Terminate_Charge_Alarm and OverCharge Alarm bits are cleared and the ChargingCurrent is set to the maintenance rate. The bq2092 requests the maintenance current and charging voltage until RM falls below the full charge Updating RM after a valid charge termination, RM may optionally be set to a value from 0 to 100% of the FullChargeCapacity. If RM is below the value programmed 7 bq2092 in full charge percentage, RM is set to full charge percentage of FCC on valid charge termination. If RM is above the full charge percentage, RM is not modified. Table 2. Typical Digital Filter Settings Count Compensations Charge activity is compensated for temperature and state-of-charge before updating the RM and/or DCR. RM is compensated for temperature before updating the RM register. Self-discharge estimation is compensated for temperature before updating RM or DCR. DMF DMF Hex. |VSRD (mV)| 75 4B ±0.60 100 64 ±0.45 150 (default) 96 ±0.30 175 AF ±0.26 200 C8 ±0.23 Charge Compensation Charge efficiency is compensated for state-of-charge, temperature, and battery chemistry. For Li-Ion chemistry cells, the charge efficiency is unity for all cases. The charge efficiency for nickel chemistry cells, however, is adjusted using the following equation: RM adjusts upward to Nominal Available Capacity as the temperature increases. Digital Magnitude Filter RM = RM ∗ (Q EFC − Q ET ) The bq2092 has a programmable digital filter to eliminate charge and discharge counting below a set threshold. Table 2 shows typical digital filter settings. The proper digital filter setting can be calculated using the following equation. where RelativeStateofCharge ≤ FullChargePercentage and Q EFC is the programmed fast charge efficiency varying from .75 to .99. RM = RM ∗ (Q ETC − Q ET ) |VSRD (mV)| = 45 / DMF where RelativeStateofCharge ≥ FullChargePercentage Error Summary and Q ETC is the programmed maintenance (trickle) charge efficiency varying from 0.50 to 0.97. Capacity Inaccurate Q ET is used to adjust the charge efficiency as the battery temperature increases according to the following: The FCC is susceptible to error on initialization or if no updates occur. On initialization, the FCC value includes the error between the design capacity and the actual capacity. This error is present until a valid discharge occurs and FCC is updated (see the DCR description on page 6). The other cause of FCC error is battery wearout. As the battery ages, the measured capacity must be adjusted to account for changes in actual battery capacity. Periodic discharges from full to empty will minimize errors in FCC. Q ET = 0 if T < 30°C Q ET = 0.02 if 30 ° C ≤ T < 40 ° C Q ET = 0.05 if T ≥ 40 ° C Remaining Capacity Compensation The bq2092 adjusts the RM as a function of temperature. This adjustment accounts for the reduced capacity of the battery at colder temperatures. The following equation is used to adjust RM: Current-Sensing Error Table 3 illustrates the current-sensing error as a function of V SR . A digital filter eliminates charge and discharge counts to the RM register when V SRO is between VSRQ and VSRD. If T ≥ 5° C RemainingCapacity = Nominal Available Capacity (NAC) Display If T < 5°C The bq2092 can directly display capacity information using low-power LEDs. The bq2092 displays the battery charge state in either absolute or relative mode. In relative mode, the battery charge is represented as a percentage of the FCC. Each LED segment represents 25% of the FCC. RM() = NAC() (1 + TCC ∗ (T − 5° C)) Where T = temperature °C TCC = 0.004 8 bq2092 Table 3. bq2092 Current-Sensing Errors Typical Maximum Units VOS Symbol Offset referred to VSR Parameter ± 50 ± 150 µV Notes INL Integrated non-linearity error ±2 ±4 % Add 0.1% per °C above or below 25°C and 1% per volt above or below 4.25V. INR Integrated nonrepeatability error ±1 ±2 % Measurement repeatability given similar operating conditions. DISP = VCC. the interface to access various bq2092 registers; see Table 4. This allows battery characteristics to be easily monitored. The open-drain SCD and SCC pins on the bq2092 are pulled up by the host system, or may be connected to VSS, if the serial interface is not used. In absolute mode, each segment represents a fixed amount of charge, 25% of the design capacity. As the battery wears out over time, it is possible for the FCC to be below the design capacity. In this case, all of the LEDs may not turn on in absolute mode, representing the reduction in the actual battery capacity. The interface uses a command-based protocol, where the host processor sends the battery address and an eightbit command byte to the bq2092. The command directs the bq2092 to either store the next data received to a register specified by the command byte or output the data specified by the command byte. The displayed capacity is compensated for the present battery temperature. The displayed capacity varies as temperature varies, indicating the available charge at the present conditions. When DISP is tied to VCC, the SEG1–4 outputs are inactive. When DISP is left floating, the display becomes active whenever the bq2092 detects a charge rate of 100mA or more. When pulled low, the segment outputs become active immediately for a period of approximately 4 seconds. The DISP pin must be returned to float or VCC to reactivate the display. bq2092 Data Protocols The host system, acting in the role of a Bus master, uses the read word and write word protocols to communicate integer data with the bq2092. (See Figure 3.) The segment outputs are modulated as two banks of two, with segments 1 and 3 alternating with segments 2 and 4. The segment outputs are modulated at approximately 100Hz with each segment bank active for 30% of the period. Host-to-bq2092 Message Protocol SEG1 blinks at a 4Hz rate whenever VSB has been detected to be below VEDV1 (EDV1 = 1), indicating a lowbattery condition. VSB below VEDVF (EDVF = 1) disables the display output. n Read word n Write word n Read block The Bus Host communicates with the bq2092 using one of three protocols: Microregulator The particular protocol used is a function of the command. The protocols used are shown in Figure 3. The bq2092 can operate directly from three nickel chemistry cells. To facilitate the power supply requirements of the bq2092, an REF output is provided to regulate an external low-threshold n-FET. A micropower source for the bq2092 can be inexpensively built using the FET and an external resistor; see Figure 1. Note that an optional zener diode may be necessary to limit VCC during charge. Host-to-bq2092 Messages (see Table 4) ManufacturerAccess() (0x00) This optional function is not operational for the bq2092. RemainingCapacityAlarm() (0x01) This function sets or returns the low-capacity alarm value. When RM falls below the RemainingCapacityAlarm value, the Remaining_Capacity_Alarm bit is set in BatteryStatus (0x16). The system may alter this alarm value during operation. Communicating With the bq2092 The bq2092 includes a simple two-pin (SCC and SCD) bidirectional serial data interface. A host processor uses 9 bq2092 Table 4. bq2092 Register Functions Code Access Units Defaults1 ManufacturerAccess 0x00 read/write - - RemaningCapacityAlarm 0x01 read/write unsigned int. E2 RemainingTimeAlarm 0x02 read/write unsigned int. 10 BatteryMode 0x03 read/write bit flag - Temperature 0x08 read 0.1°K - Voltage 0x09 read mV - Current 0x0a read mA 0000h AverageCurrent 0x0b read mA 0000h MaxError 0x0c read percent 100 RelativeStateOfCharge 0x0d read percent 0000h AbsoluteStateOfCharge 0x0e read percent 0000h RemainingCapacity 0x0f read mAh 0000h FullChargeCapacity 0x10 read mAh E2 RunTimeToEmpty 0x11 read minutes - AverageTimeToEmpty 0x12 read minutes - Reserved 0x13 - - - ChargingCurrent 0x14 read mA E2 ChargingVoltage 0x15 read mV E2 BatteryStatus 0x16 read number 0000h CycleCount 0x17 read count E2 DesignCapacity 0x18 read mAh E2 DesignVoltage 0x19 read mV E2 SpecificationInfo 0x1a read number E2 ManufactureDate 0x1b read unsigned int E2 SerialNumber 0x1c read number E2 0x1d - 0x1f - - - ManufacturerName 0x20 read string E2 DeviceName 0x21 read string E2 DeviceChemistry 0x22 read string E2 ManufacturerData 0x23 read string E2 FLAGS1 and FLAGS2 0x2f read bit flag E2 Endof DischargeVoltage1 0x3e read mV E2 EndofDischargeVoltageFinal 0x3f read mV E2 Function Reserved Note: 1. Defaults after reset or power-up. 10 bq2092 1 S 7 Battery Address 0001011 1 1 8 1 8 1 8 1 1 0 A Command Code A Data byte low A Data byte high A P Write Word 1 S 7 Battery Address 0001011 1 1 8 1 1 7 1 1 0 A Command Code A S Battery Address 1 A 8 1 8 1 Data byte low A Data byte high A P Read Word 1 S 7 Battery Address 0001011 0x16 8 1 Byte Count =N A 1 1 8 1 1 7 1 1 0 A Command Code A S Battery Address 1 A 8 1 8 1 8 1 1 Data byte 1 A Data byte 2 A Data byte N A P Block Read A – ACKNOWLEDGE A – NOT ACKNOWLEDGE S – START P – STOP System Host bq2092 FG209202.eps Figure 3. Host Communication Protocols 11 bq2092 Accuracy: ±1% of DesignVoltage after calibration Input/Output: unsigned integer. This sets/returns the value where the Remaining Capacity Alarm bit is set in BatteryStatus. Current() (0x0a) This read-only word returns the current through the battery's terminals (mA). RemainingTimeAlarm() (0x02) This function sets or returns the low remaining time alarm value. When the AverageTimeToEmpty (0x12) falls below this value, the Remaining_Time_Alarm bit in BatteryStatus is set. The default value for this register is set in EEPROM. The system may alter this alarm value during operation. Output: signed integer. Returns the charge/discharge rate in mA, where positive is for charge and negative is for discharge Units: mA Range: 0 to 32,767 mA for charge or 0 to –32,768 mA for discharge Input/Output: unsigned integer. This sets/returns the value where the Remaining_Time_Alarm bit is set in BatteryStatus. Granularity: 0.2% of the DesignCapacity or better Accuracy: ± 1% of the DesignCapacity after calibration BatteryMode() (0x03) AverageCurrent() (0x0b) This read/write word selects the various battery operational modes. The bq2092 supports the battery capacity information specified in mAh. This function also determines whether the bq2092 charging values are broadcasted to the Smart Battery Charger address. This read-only word returns a rolling average of the current through the battery's terminals. For the bq2092 Current = AverageCurrent. The AverageCurrent function returns meaningful values after the battery's first minute of operation. Writing bit 14 to 1 disables voltage and current Smart Battery Charger messages. Bit 14 is reset to 0 once the pack is removed from the system (SCC and SCD = 0 for greater than 2 seconds.) Output: signed integer. Returns the charge/discharge rate in mA, where positive is for charge and negative is for discharge Writing bit 13 to 1 disables all Smart Battery Charger messages including alarm messages. This bit remains set until overwritten. Programming bit 3 of FLAGS2 in EEPROM (EE 0x0b) initializes bit 13 of BatteryMode to 1. Units: mA Range: 0 to 32,767 mA for charge or 0 to –32,768 mA for discharge Temperature() (0x08) Granularity: 0.2% of the DesignCapacity or better This read-only word returns the cell-pack's internal temperature (0.1°K). Accuracy: ± 1% of the DesignCapacity after calibration Output: unsigned integer. Returns cell temperature in tenths of degrees Kelvin increments MaxError() (0x0c) Units: 0.1°K This read-only word returns the expected margin of error (%). Range: 0 to +500.0°K Output: unsigned integer. Returns percent uncertainty Granularity: 0.5°K or better Units: % Accuracy: ±3°K after calibration Range: 0 to 100% Voltage() (0x09) RelativeStateOfCharge() (0x0d) This read-only word returns the cell-pack voltage (mV). This read-only word returns the predicted remaining battery capacity expressed as a percentage of FullChargeCapacity (%). RelativeStateOfCharge is only valid for battery capacities less than 10,400mAh. Output: unsigned integer. Returns battery terminal voltage in mV Units: mV Range: 0 to 65,535 mV Output: unsigned integer. Returns the percent of remaining capacity Granularity: 0.2% of DesignVoltage 12 bq2092 Units: % Output: unsigned integer. Returns the minutes of operation left. Range: 0 to 100% Units: minutes Granularity: 1% Range: 0 to 65,534 minutes AbsoluteStateOfCharge() (0x0e) Granularity: 2 minutes or better This read-only word returns the predicted remaining battery capacity expressed as a percentage of DesignCapacity (%). Note that AbsoluteStateOfCharge can return values greater than 100%. Absolute StateOfCharge is only valid for battery capacities less than 10,400mAh. Invalid data indication: 65,535 indicates battery is not being discharged AverageTimeToEmpty() (0x12) This read-only word returns the predicted remaining battery life at the present average discharge rate (minutes). The AverageTimeToEmpty is calculated based on AverageCurrent. Output: unsigned integer. Returns the percent of remaining capacity. Output: unsigned integer. Returns the minutes of operation left. Units: % Range: 0 to 65,535 % Units: minutes Granularity: 1% or better Range: 0 to 65,534 minutes Accuracy: ± MaxError Granularity: 2 minutes or better RemainingCapacity() (0x0f) Invalid data indication: 65,535 indicates battery is not being charged This read-only word returns the predicted remaining battery capacity. The RemainingCapacity value is expressed in mAh. ChargingCurrent() (0x14) If enabled, the bq2092 sends the desired charging rate in mA to the Smart Battery Charger. Output: unsigned integer. Returns the estimated remaining capacity in mAh. Output: unsigned integer. Transmits/returns the maximum charger output current in mA. Units: mAh Range: 0 to 65,535 mAh Units: mA Granularity: 0.2% of DesignCapacity or better Range: 0 to 65,534 mA FullChargeCapacity() (0x10) Granularity: 0.2% of the design capacity or better This read-only word returns the predicted pack capacity when it is fully charged. FullChargeCapacity defaults to the value programmed in the external EEPROM until a new pack capacity is learned. Invalid data indication: 65,535 indicates that the Smart Charger should operate as a voltage source outside its maximum regulated current range. ChargingVoltage() (0x15) Output: unsigned integer. Returns the estimated full charge capacity in mAh. If enabled, the bq2092 sends the desired voltage in mV to the Smart Battery Charger. Units: mAh Output: unsigned integer. Transmits/returns the charger voltage output in mV. Range: 0 to 65,535 mAh Granularity: 0.2% of DesignCapacity or better Units: mV RunTimeToEmpty() (0x11) Range: 0 to 65,534mV This read-only word returns the predicted remaining battery life at the present rate of discharge (minutes). The RunTimeToEmpty() value is calculated based on Current(). Granularity: 0.2% of the DesignVoltage or better Invalid data indication: 65,535 indicates that the Smart Battery Charger should operate as a cur- 13 bq2092 rent source outside its maximum regulated voltage range. SpecificationInfo() (0x1a) This read-only word returns the specification revision the bq2092 supports. It is typically set to all zeros to represent non-Rev 1.0 compliance to the SMBus specification output: unsigned integer. BatteryStatus() (0x16) This read-only word returns the BatteryStatus word. Output: unsigned integer. Returns the status register with alarm conditions bitmapped as shown in Table 5. ManufactureDate() (0x1b) This read-only word returns the date the cell was manufactured in a packed integer word. The date is packed as follows: (year - 1980) ∗ 512 + month ∗ 32 + day. Some of the BatteryStatus flags (Remaining_Capacity_Alarm and Remaining_Time_Alarm) are calculated based on current. See Table 8 for definitions. CycleCount() (0x17) Field This read-only word returns the number of charge/discharge cycles the battery has experienced. A charge/discharge cycle starts from a base value equivalent to the battery's state-of-charge, on completion of a charge cycle. The bq2092 increments the cycle counter during the current charge cycle, if the battery has been discharged 15% below the state-of-charge at the end of the last charge cycle. This prevents false reporting of small charge/discharge cycles. Bits Used Format Allowable Value 1–31 (corresponds to date) Day 0–4 5-bit binary value 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) Table 5. Status Register Output: unsigned integer. Returns the count of charge/discharge cycles the battery has experienced. 0x8000 0x4000 0x2000 0x1000 0x0800 0x0400 0x0200 0x0100 Units: cycles Range: 0 to 65,535 cycles; 65,535 indicates battery has experienced 65,535 or more cycles Granularity: 1 cycle DesignCapacity() (0x18) This read-only word returns the theoretical capacity of a new pack. The DesignCapacity() value is expressed in mAh at the nominal discharge rate. 0x0080 0x0040 0x0020 0x0010 Output: unsigned integer. Returns the battery capacity in mAh. Units: mAh Range: 0 to 65,535 mAh 0x00000x000f DesignVoltage() (0x19) Alarm Bits Overcharge_Alarm Terminate_Charge_Alarm Reserved Over_Temp_Alarm Terminate_Discharge_Alarm Reserved Remaining_Capacity_Alarm Remaining_Time_Alarm Status Bits Initialized Discharging Fully_Charged Fully_Discharged Error Code Reserved for error codes This read-only word returns the theoretical voltage of a new pack in mV. SerialNumber() (0x1c) Output: unsigned integer. Returns the battery's normal terminal voltage in mV. This read-only word returns a serial number. This number, when combined with the ManufacturerName, the DeviceName, and the ManufactureDate, uniquely identifies the battery. Units: mV Range: 0 to 65,535 mV Output: unsigned integer 14 bq2092 ManufacturerName() (0x20) EndofDischargeVoltageF() (0x3f) This read-only string returns a character string where the first byte is the number of characters available. The maximum number of characters is 15. The character string contains the battery manufacturer's name. For example, “Unitrode” identifies the battery pack manufacturer as Unitrode. This read-only word returns the final end-of-discharge voltage programmed for the pack. Output: two’s complemented unsigned integer. Returns battery final end-of-discharge voltage programmed in EEPROM in mV. FLAGS1&2() (0x2f) Output: string or ASCII character string This read-only register returns an unsigned integer representing the internal status registers of the bq2092. The MSB represents FLAGS2, and the LSB represents FLAGS1. See Table 6 for the bit description for FLAGS1 and FLAGS2. DeviceName() (0x21) This read-only string returns a character string where the first byte is the number of characters available. The maximum number of characters is 15. The 15-byte character string contains the battery's name. For example, a DeviceName of “bq2092” indicates that the battery is a model bq2092. FLAGS2 The Display Mode flag (DMODE), bit 7, determines whether the bq2092 displays Relative or Absolute capacity. Output: string or ASCII character string DeviceChemistry() (0x22) The DMODE values are: This read-only string returns a character string where the first byte is the number of characters available. The maximum number of characters is 15. The 15-byte character string contains the battery's chemistry. For example, if the DeviceChemistry function returns “NiMH,” the battery pack contains nickel-metal hydride cells. 7 DMODE Output: string or ASCII character string 6 - 5 - FLAGS2 Bits 4 3 - 2 - 1 - 0 - Where DMODE is: ManufacturerData() (0x23) This read-only string allows access to an up to 15-byte manufacturer data string. 0 Selects Absolute display 1 Selects Relative display Bit 6 is reserved. Output: block data—data whose meaning is assigned by the Smart Battery's manufacturer. The Chemistry flag (CHM), bit 5, selects Li-Ion or nickel compensation factors. EndofDischargeVoltage1() (0x3e) The CHM values are: This read-only word returns the first end-of-discharge voltage programmed for the pack. 7 - Output: two’s complemented unsigned integer. Returns battery end-of-discharge voltage programmed in EEPROM in mV. 6 - 5 CHM FLAGS2 Bits 4 3 - 2 - 1 - 0 - Table 6. Bit Descriptions for FLAGS1 and FLAGS2 (MSB) 7 6 5 4 3 2 1 0 (LSB) FLAGS2 DMODE - CHM CC - OV LTF OC FLAGS1 - VQ WRINH VDQ SEDV EDV1 EDVF - Note: - = Reserved 15 bq2092 This flag is cleared when the average current falls below 256mA. Where CHM is: 0 Selects Nickel 1 Selects Li-Ion The OC values are: Bit 4, the Charge Control flag (CC), determines whether a bq2092-based charge termination will set RM to a user-defined programmable full charge capacity. 7 - The CC values are: 7 - 6 - 5 - 2 - 1 - 0 RM is not modified on valid bq2092 charge termination 1 RM is set to a programmable percentage of the FCC when a valid bq2092 charge termination occurs 1 - 0 OC 1 Average current exceeds 1.25 ∗ charging current or 256mA if the charging current is programmed less than 1024mA. This bit is cleared if average current < 256mA Bits 7 and 6 are reserved. The Valid Charge flag (VQ), bit 5, is set when VSRO ≥ |VSRD| and 10mAh of charge has accumulated. This bit is cleared during a discharge and when VSRO ≤ |VSRD|. The VQ values are: 7 - The OV values are: FLAGS2 Bits 4 3 - Average current is less than 1.25 ∗ charging current or less than 256mA if charging current is programmed less than 1024mA FLAGS1 Bit 2, the Overvoltage flag (OV), is set when the bq2092 detects a pack voltage 5% greater than the programmed charging voltage. This bit is cleared when the pack voltage falls 5% below the programmed charging voltage. 5 - FLAGS2 Bits 4 3 2 - 0 0 - Bit 3 is reserved. 6 - 5 - Where OC is: FLAGS2 Bits 4 3 CC - Where CC is: 7 - 6 - 2 OV 1 - 0 - BatteryVoltage() < 1.05 ∗ ChargingVoltage 1 BatteryVoltage() ≥ 1.05 ∗ ChargingVoltage 5 VQ Temperature < 0°C 0 - V SRO ≤ |VSRD| 1 V SRO ≥ |V SRD| and 10mAh of charge has accumulated The WRINH values are: 7 - Where LTF is: 1 1 - 0 The LTF values are: Temperature > 5°C 2 - The Write Inhibit flag (WRINH), bit 4, allows or inhibits writes to all registers. Bit 1, the Low Temperature Fault flag (LTF), is set when temperature < 0°C and cleared when temperature > 5°C. 0 FLAGS1 Bits 4 3 - Where VQ is: Where OV is: 0 6 - 6 - 5 - FLAGS1 Bits 4 3 WRINH - 2 - 1 - Where WRINH is: Bit 0, the Overcurrent flag (OC), is set when the average current is 25% greater than the programmed charging current. If the charging current is programmed less than 1024mA, overcurrent is set if the average current is 256mA greater than the programmed charging current. 16 0 Allows writes to all registers 1 Inhibits all writes and secures the bq2092 from invalid/undesired writes. 0 - bq2092 The EDVF values are: WRINH should be set at the time of pack assembly and tested to prevent special read-write registers from accidental over-writing. 7 - The Valid Discharge flag (VDQ), bit 3, is set when a valid discharge is occurring (discharge cycle valid for learning new full charge capacity) and cleared if a partial charge is detected, EDV1 is asserted when T < 0°C, or self-discharge accounts for more than 256mAh of the discharge. 6 - 5 - FLAGS1 Bits 4 3 VDQ 5 - FLAGS1 Bits 4 3 2 - 1 - 0 EDVF Where EDVF is: The VDQ values are: 7 - 6 - 0 VQ = 1 and Voltage > EDVF 1 Voltage < EDVF and SEDV = 0 Software Reset 2 - 1 - 0 - The bq2092 can be reset over the serial port by confirming that the WRINH bit is set to zero in FLAGS1, writing MaxError (0x0c) to any value other than 2, and writing the reset register (0x44) to 8009, causing the bq2092 to reinitialize and read the default values from the external EEPROM. Where VDQ is: 0 Self-discharge is greater than 256mAh, EDV1 = 1 when T < 0°C or VQ = 1 1 On first discharge after RM=FCC Error Codes and Status Bits The Stop EDV flag (SEDV), bit 2, is set when the discharge current > 6.15A and cleared when the discharge current falls below 6.15A. Error codes and status bits are listed in Table 7 and Table 8, respectively. The SEDV values are: 7 - 6 - 5 - FLAGS1 Bits 4 3 2 SEDV Programming the bq2092 1 - 0 - The bq2092 requires the proper programming of an external EEPROM for proper device operation. Each module can be calibrated for the greatest accuracy, or general “default” values can be used. A programming kit (interface board, software, and cable) for an IBMcompatible PC is available from Unitrode. Please contact Unitrode for further details Where SEDV is: 0 Current < 6.15A 1 Current > 6.15A The bq2092 uses a 24LC01 or equivalent serial EEPROM for storing the various initial values, calibration data, and string information. Table 1 outlines the parameters and addresses for this information. Tables 9 and 10 detail the various register contents and show an example program value for an 1800mAh NiMH battery pack, using a 50mΩ sense resistor. The First End-of-Discharge Voltage flag (EDV1), bit 1, is set when Voltage < EDV1 = 1 if SEDV = 0 and cleared when VQ = 1 and Voltage > EDV1. The EDV1 values are: 7 - 6 - 5 - FLAGS1 Bits 4 3 2 - 1 EDV1 0 - Where EDV1 is: 0 VQ = 1 and Voltage > EDV1 1 Voltage < EDV1 and SEDV = 0 The Final End-of-Discharge Voltage flag (EDVF), bit 0, is set when Voltage < EDVF = 1 if SEDV = 0 and cleared when VQ = 1 and Voltage() > EDVF. 17 bq2092 Table 7. Error Codes (BatteryStatus() (0x16)) Error Code Access Description OK 0x0000 read/write bq2092 processed the function code without detecting any errors Busy 0x0001 read/write bq2092 is unable to process the function code at this time NotReady 0x0002 read/write UnsupportedCommand 0x0003 read/write bq2092 does not support the requested function code AccessDenied 0x0004 Overflow/Underflow 0x0005 BadSize 0x0006 UnknownError 0x0007 Note: write bq2092 cannot read or write the data at this time—try again later bq2092 detected an attempt to write to a read-only function code read/write bq2092 detected a data overflow or underflow write bq2092 detected an attempt to write to a function code with an incorrect size data block read/write bq2092 detected an unidentifiable error Reading the bq2092 after an error clears the error code. 18 bq2092 Table 8. Status Bits Alarm Bits Bit Name Set When: Reset When: OVER_CHARGE_ALARM bq2092 detects over-temperature or ∆T/ A discharge occurs or when ∆T/∆t, or over-temperature, ceases during ∆t. (Note: valid charge terminacharge. tion). TERMINATE_CHARGE_ALARM bq2092 detects over-current, overvoltage, over-temperature, or ∆T/∆t A discharge occurs or when all condiconditions exist during charge. tions causing the event cease. Charging current is set to zero, indicating a charge suspend. ∆T/∆t_ALARM bq2092 detects the rate-ofThe temperature rise falls below the temperature increase is above the proprogrammed rate. grammed value (valid termination) OVER_TEMP_ALARM bq2092 detects that its internal temperature is greater than the programmed value (valid termination). Internal temperature falls below 50°C. TERMINATE_DISCHARGE_ALARM bq2092 determines that it has supplied all the charge that it can without being damaged (EDVF). VBAT > VEDVF signifying that the battery has reached a state of charge sufficient for it to once again safely supply power. REMAINING_CAPACITY_ALARM bq2092 detects that the RemainingCapacity() is less than that set by the RemainingCapacity() function. Either the value set by the RemainingCapacityAlarm() function is lower than the Remaining Capacity() or the RemainingCapacity() is increased by charging. REMAINING_TIME_ALARM bq2092 detects that the estimated remaining time at the present discharge rate is less than that set by the RemainingTimeAlarm() function. Either the value set by the RemainingTimeAlarm() function is lower than the AverageTimeToEmpty() or a valid charge is detected. Status Bits Bit Name Set When: Reset When: INITIALIZED bq2092 is set when the bq2092 has reached a full or empty state. Battery detects that power-on or user-initiated reset has occurred. DISCHARGING bq2092 determines that it is not being charged. Battery detects that it is being charged. FULLY_CHARGED bq2092 determines a valid charge termination. RM will then be set to full charge percentage if necessary. RM discharges below the full charge percentage FULLY_DISCHARGED bq2092 determines that it has supplied all the charge that it can RelativeStateOfCharge is greater without being damaged (that is, conthan or equal to 20% tinued use will result in permanent capacity loss to the battery) 19 bq2092 Table 9. Example Register Contents EEPROM Address Description Low Byte High Byte EEPROM Hex Contents Low Byte High Byte Example Values Notes De si g n C a p a ci t y 0x00 0x01 08 07 1800mAh This sets the initial full charge battery capacity stored in FCC. FCC is updated with the actual full to empty discharge capacity after a valid discharge from RM = FCC to Voltage() = EDV1. Initial Battery Voltage 0x02 0x03 30 2a 10800mV This register is used to set the battery voltage on reset. Fast charging current 0x04 0x05 08 07 1800mA This register is used to set the fast charge current for the Smart Charger. Fast charging voltage 0x06 0x07 c4 3b 15300mV This register is used to set the fast charge voltage for the Smart Charger. Remaining Capacity Alarm 0x08 0x09 b4 00 180mAh This value represents the low capacity alarm value. FLAGS1 0x0a FLAGS2 0x0b 10 FLAGS1 should be set to 10h before pack shipment to inhibit undesirable writes to the bq2092. (WRINH = 1.) 90 See FLAGS2 register for the bit description and the Li-Ion = b0h proper value for programming FLAGS2. Selects relaNiMH = 90h tive display mode, selects NiMH compensation factors, and enables bq2092 Smart Charger control. The current gain measurement and current integration gain are related and defined for the bq2092 current measurement. 0x0c = 37.5/sense resistor value in ohms. Current Measurement Gain1 0x0c 0x0d ee 02 37.5/.05 EDV1 0x0e 0x0f 16 db 9450mV (1.05V/cell) The value programmed is the two's complement of the threshold voltage in mV. EDVF 0x10 0x11 d8 dc 9000mV (1.0V/cell) The value programmed is the two's complement of the threshold voltage in mV. Note: 1. Can be adjusted to calibrate the battery pack. 20 bq2092 Table 9. Example Register Contents (Continued) EEPROM Address Description Low Byte High Byte EEPROM Hex Contents Low High Byte Byte Example Values Notes The default value is 0x80 (12.8° + nominal value). Actual temp (20°C) = Nominal temp. (15°C) - temp. offset (5°C) where temperature determined by the bq2092 can be adjusted from 0° to 25.5° (Temperature offset (0-255) ∗ 0 .1) + nominal value temp. Temperature Offset1 0x12 32 Maximum Charge Temperature, ∆Temp. 0x13 87 Self0x14 Discharge Rate dd 1.5% This packed field is the two's complement of 52.73/x, where x = %/day is the self-discharge rate desired at room temperature. Digital Filter 96 0.3mV This field is used to set the digital magnitude filter as described in Table 2. 3.2/0.05 This field represents the following: 3.2/sense resistor in ohms. It is used by the bq2092 to scale the measured voltage values on the SR pin in mA and mAh. This register also compensates for variations in the reported sense resistor value. a0 96% = 60h 2’s (60h) = a0h This packed field is the two’s complement of the desired value in RM when the bq2092 determines a full charge termination. If RM is below this value, RM is set to this value. If RM is above this value, then RM is not adjusted. This packed value is used to set the fast charge and maintenance charge efficiency for nickel-based batter85% = mainteies. The upper nibble adjusts the maintenance charge nance comp. compensation; the lower nibble adjusts the fast 95% = fast charge compensation. charge comp. Maintenance, upper nibble = (eff% ∗ 256 - 128)/8 Fast charge, lower nibble = (eff% ∗ 256 - 192)/4 Current Integration Gain1 Full Charge Percentage 0x15 0x16 0x17 0x18 40 5.0°C MaxT = 61.2°C Maximum charge temperature is 74 - (mt x 1.6)°C (74 - (8 * 1.6)) (mt = upper nibble). The ∆T step is (dT*2+16)/10°C ∆T = 3°C (dT = lower nibble). ((7*2) + 16)/10 00 Charge Compensation 0x19 bd Battery Voltage Offset1 (VOFF) 0x1a 0a Voltage Gain1 0x1b 0x1c 09 17 9.09 Serial Number 0x1d 0x1e 12 27 10002 This value is used to adjust the battery voltage offset according to the following: Voltage () = (VSB (mV) + VOFF) ∗ Voltage Gain 10mV Voltage gain is packed as two units. For example, (R4 + R5)/R4 = 9.09 would be stored as: whole number stored in 0x1b (=09h) and the decimal component stored in 0x1c as 256 x 0.09 = 23. This contains the optional pack serial number. 21 bq2092 Table 9. Example Register Contents (Continued) EEPROM Address Description Low Byte High Byte EEPROM Hex Contents Low Byte Example Values High Byte Notes Hold-off time is 20 s ∗ the two’s complement of the upper nibble value. ∆T is 20 s ∗ the two’s complement of the lower nibble value. Hold-off Timer/ ∆Time 0x1f Charge Cycle Count 0x20 0x21 00 00 0 This field contains the charge cycle count and should be set to zero for a new battery. Maintenance Charge Current 0x22 0x23 64 00 100mA This field contains the desired maintenance current after fast charge termination by the bq2092. Reserved 0x24 0x31 Design Voltage 0x32 0x33 30 2a 10800mV Specification Information 0x34 0x35 00 00 Manufacturer 0x36 Date 0x37 a1 20 320 s hold-off 180 s ∆time 07 This is nominal battery pack voltage. This is the default value for this register. May 1, 1996 = 8353 Packed per the ManufactureDate description, which represents May 1, 1996 in this example. Table 10. Example Register Contents (String Data) String Description Address 0x X0 0x X1 0x X2 0x X3 0x X4 0x X5 0x X6 0x X7 0x X8 0x X9 0x Xa 0x Xb-Xf Reserved 0x380x3f 00 00 00 00 00 00 00 00 00 00 00 00-00 Manufacturer's Name 0x400x4f 09 42 B 45 E 4e N 43 C 48 H 4d M 41 A 52 R 51 Q 00 00-00 Device Name 0x500x5f 08 42 B 51 Q 32 2 30 0 39 9 32 2 41 A 33 3 31 1 31 1 00-00 Chemistry 0x600x6f 04 4e N 69 I 4d M 48 H 00 00 00 00 00 00 00-00 Manufacturer's Data 0x700x7f 04 44 D 52 R 31 1 35 5 00 00 00 00 00 00 00-00 22 bq2092 Absolute Maximum Ratings Minimum Maximum Unit VCC Symbol Relative to VSS Parameter -0.3 +7.0 V All other pins Relative to VSS -0.3 +7.0 V REF Relative to VSS -0.3 +8.5 V Current limited by R1 (see Figure 1) VSR Relative to VSS TOPR Operating temperature Note: Notes -0.3 +7.0 V Minimum 100Ω series resistor should be used to protect SR in case of a shorted battery (see the bq2092 application note for details). 0 +70 °C Commercial Permanent device damage may occur if Absolute Maximum Ratings are exceeded. Functional operation should be limited to the Recommended DC Operating Conditions detailed in this data sheet. Exposure to conditions beyond the operational limits for extended periods of time may affect device reliability. DC Voltage Thresholds (TA = TOPR; V = 3.0 to 5.5V) Symbol Parameter Minimum Typical Maximum Unit -50mV - 50mV V Notes EVSB Battery voltage error relative to SB Note: The accuracy of the voltage measurement may be improved by adjusting the battery voltage offset and gain, stored in external EEPROM. For proper operation, VCC should be 1.5V greater than VSB. 23 See note bq2092 Recommended DC Operating Conditions (TA = TOPR) Symbol VCC VREF RREF ICC Parameter Minimum Typical Maximum Unit Notes Supply voltage 3.0 4.25 5.5 V VCC excursion from < 2.0V to ≥ 3.0V initializes the unit. Reference at 25°C 5.7 6.0 6.3 V IREF = 5µA Reference at -40°C to +85°C 4.5 - 7.5 V IREF = 5µA Reference input impedance 2.0 5.0 - MΩ VREF = 3V - 90 135 µA VCC = 3.0V - 120 180 µA VCC = 4.25V - 170 250 µA VCC = 5.5V Normal operation VSB Battery input 0 - VCC V RSBmax SB input impedance 10 - - MΩ 0 < VSB < VCC IDISP DISP input leakage - - 5 µA VDISP = VSS ILVOUT VOUT output leakage -0.2 - 0.2 µA EEPROM off VSR Sense resistor input -0.3 - 2.0 V VSR < VSS = discharge; VSR > VSS = charge RSR SR input impedance 10 - - MΩ -200mV < VSR < VCC VIH 0.5 ∗ VCC - VCC V SCL, SDA Logic input high 1.4 - 5.5 V SCC, SCD 0 - 0.3 ∗ VCC V SCL, SDA 0.6 V SCC, SCD VIL Logic input low -0.5 VOL Data, clock output low - - 0.4 V IOL=350µA, SDA, SCD IOL Sink current 100 - 350 µA VOL≤0.4V, SDA, SCD VOLSL SEGX output low, low VCC - 0.1 - V VCC = 3V, IOLS ≤ 1.75mA SEG1–SEG4 VOLSH SEGX output low, high VCC - 0.4 - V VCC = 5.5V, IOLS ≤ 11.0mA SEG1–SEG4 VOHVL VOUT output, low VCC VCC - 0.3 - - V VCC = 3V, IVOUT = -5.25mA VOHVH VOUT output, high VCC VCC - 0.6 - - V VCC = 5.5V, IVOUT = -33.0mA IVOUT VOUT source current -33 - - mA At VOHVH = VCC - 0.6V IOLS SEGX sink current - - 11.0 mA At VOLSH = 0.4V Note: All voltages relative to VSS. 24 bq2092 AC Specifications Min Max Units FSMB Symbol SMBus operating frequency Parameter 10 100 KHz Notes TBUF Bus free time between stop and start condition 4.7 µs THD:STA Hold time after (repeated) start condition 4.0 µs TSU:STA Repeated start condition setup time 250 ns SCD 4.7 µs External Memory TSU:STO Stop condition setup time 4.0 µs THD:DAT Data hold time 1 µs 250 TSU:DAT Data setup time TEXT1 Data buffering time addresses 40 ms 0x19, 0x1a, 0x1b TEXT2 String buffering time addresses 0x20-0x23 per character 15 ms 40ms for first character TPD Data output delay time 300 3500 ns External memory only. See Note. TLOW Clock low period 4.7 THIGH Clock high period 4.0 TF Clock/Data fall time 300 ns TR Clock/data rise time 1000 ns Note: ns µs µs The external memory must provide this internal minimum delay time to bridge the undefined region (minimum 300 ns) of the falling edge of SCL to avoid unintended generation of START or STOP conditions. Bus Timing Data tR SCC tF tHIGH tSU:STA tHD:STA tLOW tSU:DAT tSU:STO tHD:DAT (receiver) (transmitter) tPD SCD tBUF TD209201.eps 25 bq2092 16-Pin SOIC Narrow (SN) 16-Pin SN (0.150" SOIC) D e Inches B E H A C A1 .004 L 26 Millimeters Dimension Min. Max. Min. Max. A 0.060 0.070 1.52 1.78 A1 0.004 0.010 0.10 0.25 B 0.013 0.020 0.33 0.51 C 0.007 0.010 0.18 0.25 D 0.385 0.400 9.78 10.16 E 0.150 0.160 3.81 4.06 e 0.045 0.055 1.14 1.40 H 0.225 0.245 5.72 6.22 L 0.015 0.035 0.38 0.89 bq2092 Data Sheet Revision History Change No. 1 Page No. 21 1 21 2 2 2 2 2 2 Note: Description Correction in the Self-Discharge Rate EEPROM Hex contents Correction in the Self-Discharge Rate example values Nature of Change Was: f0 Is: df Was: 0.15C Is: 1.5% 3 Updated application diagram 5 Added VSB should not exceed 2.4V 12 Clarified operation of bits 13 and 14 in BatteryMode() 13 Clarified invalid data indication in RunTimeToEmpty() 13 Clarified invalid data indication in AverageTimeToEmpty() 21 Update formula for voltage divider in Voltage Gain. Change 1 = Nov. 1997 B changes from April 1997. Change 2 = June 1999 C changes from Nov. 1997 B. Ordering Information bq2092 Temperature Range: blank = Commercial (-20 to +70°C) Package Option: SN = 16-pin narrow SOIC Device: bq2092 Gas Gauge IC With SMBus-Like Interface 27 IMPORTANT NOTICE Texas Instruments and its subsidiaries (TI) reserve the right to make changes to their products or to discontinue any product or service without notice, and advise customers to obtain the latest version of relevant information to verify, before placing orders, that information being relied on is current and complete. All products are sold subject to the terms and conditions of sale supplied at the time of order acknowledgement, including those pertaining to warranty, patent infringement, and limitation of liability. TI warrants performance of its semiconductor products to the specifications applicable at the time of sale in accordance with TI’s standard warranty. Testing and other quality control techniques are utilized to the extent TI deems necessary to support this warranty. Specific testing of all parameters of each device is not necessarily performed, except those mandated by government requirements. CERTAIN APPLICATIONS USING SEMICONDUCTOR PRODUCTS MAY INVOLVE POTENTIAL RISKS OF DEATH, PERSONAL INJURY, OR SEVERE PROPERTY OR ENVIRONMENTAL DAMAGE (“CRITICAL APPLICATIONS”). TI SEMICONDUCTOR PRODUCTS ARE NOT DESIGNED, AUTHORIZED, OR WARRANTED TO BE SUITABLE FOR USE IN LIFE-SUPPORT DEVICES OR SYSTEMS OR OTHER CRITICAL APPLICATIONS. INCLUSION OF TI PRODUCTS IN SUCH APPLICATIONS IS UNDERSTOOD TO BE FULLY AT THE CUSTOMER’S RISK. In order to minimize risks associated with the customer’s applications, adequate design and operating safeguards must be provided by the customer to minimize inherent or procedural hazards. TI assumes no liability for applications assistance or customer product design. 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 of TI covering or relating to any combination, machine, or process in which such semiconductor products or services might be or are used. TI’s publication of information regarding any third party’s products or services does not constitute TI’s approval, warranty or endorsement thereof. Copyright 1999, Texas Instruments Incorporated