AN3064
Application note
Using the STC3100 battery monitor for gas gauge applications
Introduction
Handheld devices such as mobile phones, music and video players, as well as portable navigation devices, tend to integrate ever more multimedia functions, all of which have different power needs. As a consequence, it has become difficult to manage the battery’s state-of-charge (SoC) and predict the remaining operating time with no dedicated gas gauge support. The STC3100 is a new device that includes battery monitoring features (voltage, current and temperature) and a Coulomb counter to implement a gas gauge system in existing or future applications.
This application note is intended to assist product designers by taking advantage of using the STC3100 in one-cell Li-Ion battery handheld applications to implement the gas gauge function. The document provides:
■a brief description of the STC3100 device and typical applications,
■information on how to use the battery monitoring functions of the STC3100,
■a general flow chart of the tasks needed to implement a simple gas gauge system.
October 2009 |
Doc ID 16263 Rev 1 |
1/15 |
www.st.com
Using the STC3100 |
AN3064 |
|
|
The STC3100 battery monitoring function includes the measurement of the battery voltage and current, measurement of the IC’s die temperature and computation of the battery charge variation (Coulomb counter). An external sense resistor is used in series with the battery to adapt the current measurement to the application requirements.
Figure 1 shows a typical application using the STC3100.
|
Battery State-of-charge |
|
|
|
|
Battery data |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|||||||||||
|
Remaining percentage |
|
|
|
|
Current |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
0.32 A |
|
|
||||||
|
|
|
|
|
|
|
80 % |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Voltage |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
Remaining time |
|
|
|
|
|
|
|
|
|
|
3.71 V |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
2:06 |
|
|
|
|
|
|
|
Temperature |
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 ° C |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
VCC |
|
|
32768 Hz |
|
|
|
|
|
clock |
ROSC |
STC3100 |
VIN |
Battery |
uC with |
|
|
|||
|
|
|
|
|
|
Gas Gauge |
|
SCL |
|
CG |
|
firmware |
|
|
Rcg |
||
I2C bus |
|
|
|
||
|
SDA |
GND |
IO0 |
||
|
|
|
|||
|
|
|
|
|
AM04578 |
The STC3100 mode and operation are controlled through an I²C interface. SCL and SDA are the clock and data signals of the I²C interface.
The Coulomb counter system needs an accurate 32,768 Hz timebase to compute the level of charge flowing from and to the battery. The STC3100 can operate from an internal oscillator or use an external RTC signal for highest accuracy. To use the internal oscillator, a 200 kΩ 0.1% resistor must be connected to the ROSC pin. The accuracy of the internal oscillator is 2.5% maximum over the supply voltage and temperature ranges. An external RTC signal can be applied to the ROSC pin (no resistor required in this case). The signal must be a square wave with a low level below 0.5 V and a high level above 1.5 V.
2/15 |
Doc ID 16263 Rev 1 |
AN3064 |
|
|
|
|
|
Using the STC3100 |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Figure 2. ROSC connection for internal or external timebase |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
200 kΩ, 0.1% |
|
|
|
|
|
|
|
|
|||||||
|
|
ROSC |
|
|
|
|
|
ROSC |
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
STC3100 |
32,768 Hz RTC |
STC3100 |
|
||||
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AM04579
The STC3100 automatically recognizes the presence of the external clock signal and uses it if present. The internal oscillator, however, can be inhibited to force the use of an external signal by setting the SEL_EXT_CLK bit in the REG_MODE register.
The Rcg resistor is used to sense the current flowing into or from the battery. The value of the Rcg resistor must be selected based on the maximum peak current in the application; the voltage drop across the Rcg resistor must not exceed +/-80 mV.
Rcg resistance (Ohm) <= 0.08/peak current (A).
For instance, a current of up to +/- 2 A can be monitored using a 33 mΩ resistor.
The STC3100 has separate pins for the power supply (VCC) and voltage measurement (VIN) inputs, providing an easy way of implementing an input filter or additional ESD protection without affecting the accuracy of the voltage measurement.
|
|
System supply |
|
C1 D1 |
R1 |
|
VCC |
|
STC3100 |
R2 |
|
VIN |
Battery |
|
|
C2 |
|
|
CG |
|
|
|
Rcg |
|
GND |
|
|
|
Gnd |
|
|
AM04580 |
C1 is the normal recommended decoupling capacitor (1 µF).
R1 and D1 provide additional ESD protection to the STC3100’s VCC pin. A typical value for R1 is 150 Ω and D1 is a 5.6 V Zener diode.
R2 provides additional ESD protection to the STC3100’s VIN pin. A typical value for R2 is 1 kΩ.. The input impedance of the VIN pin is approximately 500 kΩ; an R2 resistor value of 1 kΩ will not affect the accuracy of the battery voltage measurement. The VIN input must be connected directly (through the R2 resistor) to the battery’s positive terminal.
Doc ID 16263 Rev 1 |
3/15 |
Using the STC3100 |
AN3064 |
|
|
The C2 capacitor is optional and can be used if additional filtering is required, with typical values of 47 to 220 nF.
The STC3100’s ground connection (GND) is used as the reference input for the current measurement and must be connected to the ground side of the sense resistor by a dedicated track. No current, except the supply current of the STC3100 itself, must flow in this track to avoid creating an offset error in the current measurement.
4/15 |
Doc ID 16263 Rev 1 |
AN3064 |
Battery monitoring functions |
|
|
The STC3100 includes the following battery monitoring functions.
●A Coulomb counter for automatic computation of the battery’s charge variation: this is done by integrating the battery current versus the time and accumulating the resulting charge variation into the accumulator register. The last current measurement is always available.
●Automatic periodic measurement of the battery voltage.
●Automatic periodic measurement of the temperature using the STC3100’s internal sensor.
The battery monitoring functions are controlled by the GG_RUN bit in the REG_MODE register. Since GG_RUN is reset at power-up, the battery monitoring functions are disabled, ensuring a low standby current when the battery is inserted until the application is started.
The Coulomb counter function uses a 12/14-bit ADC and runs continuously after it has been enabled by the GG_RUN bit.
Values held in consecutive registers (such as the charge value in the REG_CHARGE_LOW and REG_CHARGE_HIGH registers) must be read with a single I2C access to ensure data integrity. Multiple values can be read in one I²C access; all values will then be consistent, that is, will be relative to the same time.
The voltage drop between the CG and GND pins is integrated during a conversion period and input to a 12to 14-bit AD converter. The output conversion is accumulated into a 28-bit accumulator. The system controller can control the Coulomb counter and read the data (upper 16 bits of the accumulator) through the I2C control registers.
Doc ID 16263 Rev 1 |
5/15 |