MAX17040/MAX17041
Compact, Low-Cost 1S/2S Fuel Gauges
6Maxim Integrated
compared to traditional coulomb counters, which suffer
from SOC drift caused by current-sense offset and cell
self-discharge. This model provides good performance
for many Li+ chemistry variants across temperature
and age. To achieve optimum performance, the
MAX17040/MAX17041 must be programmed with con-
figuration data custom to the application. Contact the
factory for details.
Fuel-Gauge Performance
The classical coulomb-counter-based fuel gauges suf-
fer from accuracy drift due to the accumulation of the
offset error in the current-sense measurement. Although
the error is often very small, the error increases over
time in such systems, cannot be eliminated, and
requires periodic corrections. The corrections are usu-
ally performed on a predefined SOC level near full or
empty. Some other systems use the relaxed battery
voltage to perform corrections. These systems deter-
mine the true SOC based on the battery voltage after a
long time of no activity. Both have the same limitation: if
the correction condition is not observed over time in the
actual application, the error in the system is boundless.
In some systems, a full charge/discharge cycle is
required to eliminate the drift error. To determine the
true accuracy of a fuel gauge, as experienced by end
users, the battery should be exercised in a dynamic
manner. The end-user accuracy cannot be understood
with only simple cycles. The MAX17040/MAX17041 do
not suffer from the drift problem since they do not rely
on the current information.
IC Power-Up
When the battery is first inserted into the system, there is
no previous knowledge about the battery’s SOC. The IC
assumes that the battery has been in a relaxed state for
the previous 30min. The first A/D voltage measurement is
translated into a best “first guess” for the SOC. Initial error
caused by the battery not being in a relaxed state fades
over time, regardless of cell loading following this initial
conversion. Because the SOC determination is conver-
gent rather than divergent (as in a coulomb counter), this
initial error does not have a long-lasting impact.
Quick-Start
A quick-start allows the MAX17040/MAX17041 to restart
fuel-gauge calculations in the same manner as initial
power-up of the IC. For example, if an application’s
power-up sequence is exceedingly noisy such that
excess error is introduced into the IC’s “first guess” of
SOC, the host can issue a quick-start to reduce the
error. A quick-start is initiated by a rising edge on the
EO pin when SEO is logic-low, or through software by
writing 4000h to the MODE register.
External Oscillator Control
When the SEO pin is logic-high, the MAX17040/
MAX17041 disable the 32kHz internal oscillator and rely
on external clocking from the EO pin. A precision exter-
nal clock source reduces current consumption during
normal operation.
When the SEO pin is logic-low, the EO pin becomes an
interrupt input. Any rising edge detected on EO causes
the MAX17040/MAX17041 to initiate a quick-start.
Sleep Mode
Holding both SDA and SCL logic-low forces the
MAX17040/MAX17041 into Sleep mode. While in Sleep
mode, all IC operations are halted and power drain of
the IC is greatly reduced. After exiting Sleep mode,
fuel-gauge operation continues from the point it was
halted. SDA and SCL must be held low for at least 2.5s
to guarantee transition into Sleep mode. Afterwards, a
rising edge on either SDA or SCL immediately transi-
tions the IC out of Sleep mode.
Power-On Reset (POR)
Writing a value of 0054h to the COMMAND register caus-
es the MAX17040/MAX17041 to completely reset as if
power had been removed. The reset occurs when the last
bit has been clocked in. The IC does not respond with an
I2C ACK after this command sequence.
Registers
All host interaction with the MAX17040/MAX17041 is
handled by writing to and reading from register loca-
tions. The MAX17040/MAX17041 have six 16-bit regis-
ters: SOC, VCELL, MODE, VERSION, RCOMP, and
COMMAND. Register reads and writes are only valid if
all 16 bits are transferred. Any write command that is
terminated early is ignored. The function of each regis-
ter is described as follows. All remaining address loca-
tions not listed in Table 1 are reserved. Data read from
reserved locations is undefined.