Maxim DS2786B Stand-alone ocv-based fuel gauge Datasheet

19-5223; Rev 1; 4/10
Stand-Alone OCV-Based Fuel Gauge
Features
The DS2786B is intended for use on the host side of
portable devices, though it can also be mounted within a
battery pack. Measurement and estimated capacity data
are accessed through an I2C interface. Temperature
data is available from an on-die sensor. Resistance measurements of a pack identification resistor and pack thermistor are supported by ratiometric measurements on
two auxiliary inputs.
The DS2786B comes in a 10-pin, lead-free, TDFN 3mm
x 3mm package with an exposed pad (EP).
♦ Relative Capacity Calculated from Combination
Coulomb Counter and Open-Circuit Cell Voltage
(OCV) Battery Model
♦ Accurate Warning of Low-Battery Conditions
Even on First Cycle (No Learn Cycle Needed)
♦ 12-Bit Battery Voltage Measurement
±10mV Accuracy
1.22mV LSB, 0V to 4.5V Input Range
♦ 11-Bit Bidirectional Current Measurement
25µV LSB, ±51.2mV Dynamic Range
1.67mA LSB, ±3.4A (RSNS = 15mΩ)
♦ Current Accumulation Measurement Resolution
±204.8mVh Range
±13.65Ah (RSNS = 15mΩ)
♦ Internal Temperature Measurement
0.125°C LSB, ±3°C Accuracy
♦ Two 11-Bit Auxiliary Input-Voltage Measurements
±8 LSB Accuracy, Ratiometric Inputs Eliminate
Supply Accuracy Issues
♦ VOUT Pin Drives Resistive Dividers, Reduces
Current Consumption
♦ 2-Wire Interface
♦ Low Power Consumption
Active Current: 50µA (typ), 80µA (max)
Sleep Current: 1µA (typ), 3µA (max)
Applications
Ordering Information
The DS2786B estimates available capacity for rechargeable Li-ion (Li+) and Li+ polymer batteries based on the
cell voltage in the open-circuit state following a relaxation period. The open-circuit voltage (OCV) is used to
determine relative cell capacity based on a lookup table
stored in the IC. This capability makes accurate capacity
information available immediately after a battery pack is
inserted. During periods of moderate to high rate discharging, which preclude OCV measurements, the
DS2786B uses coulomb counting as a secondary
means of estimating relative capacity.
Remaining capacity is reported in percent, along with
cell voltage, current, and temperature information. Cell
characteristics and application parameters used in the
calculations are stored in on-chip EEPROM.
3G Multimedia Wireless Handsets
Digital Still Cameras
PART
DS2786BG+
Digital Audio (MP3) Players
TEMP RANGE
PIN-PACKAGE
-20°C to +70°C
10 TDFN-EP*
DS2786BG+T&R
-20°C to +70°C
10 TDFN-EP*
+Denotes a lead(Pb)-free/RoHS-compliant package.
*EP = Exposed pad.
T&R = Tape and reel.
Operating Diagram
VOUT
VIN
SYSTEM
μP
DS2786B
Li+
PROTECTION
CIRCUIT
SDA
I2C
AIN1
SCL
INTERFACE
VSS
SNS
THERMISTOR
PACKID
AIN0
RSNS
(EEPROM PROGRAMMING TEST POINT NOT SHOWN)
________________________________________________________________ Maxim Integrated Products
For pricing, delivery, and ordering information, please contact Maxim Direct at 1-888-629-4642,
or visit Maxim’s website at www.maxim-ic.com.
1
DS2786B
General Description
DS2786B
Stand-Alone OCV-Based Fuel Gauge
ABSOLUTE MAXIMUM RATINGS
Voltage on All Pins Except VPROG Relative to VSS ...-0.3V to +6V
Voltage on VPROG Relative to VSS ..........................-0.3V to +18V
Operating Temperature Range ...........................-40°C to +85°C
Storage Temperature Range .............................-55°C to +125°C
Lead Temperature (soldering, 10s) .................................+300°C
Soldering Temperature (reflow) .......................................+260°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 in the operational sections of the specifications is not implied. Exposure to
absolute maximum rating conditions for extended periods may affect device reliability.
RECOMMENDED DC OPERATING PROCEDURE
(2.5V ≤ VDD ≤ 4.5V, TA = -20°C to +70°C.)
PARAMETER
Supply Voltage
Data I/O Pins
Programming Pin
VIN, AIN0, AIN1 Pin
SYMBOL
CONDITIONS
MIN
TYP
MAX
UNITS
+4.5
V
VDD
(Note 1)
+2.5
SCL, SDA
(Note 1)
-0.3
+4.5
V
VPROG
(Note 1)
-0.3
+15.5
V
VIN, AIN0,
AIN1
(Note 1)
-0.3
VDD +
0.3
V
MAX
UNITS
μA
DC ELECTRICAL CHARACTERISTICS
(2.5V ≤ VDD ≤ 4.5V, TA = -20°C to +70°C, unless otherwise noted.)
PARAMETER
Active Current
Sleep-Mode Current
Current-Measurement Resolution
SYMBOL
CONDITIONS
IACTIVE
ISLEEP
VDD = 2.0V, SCL, SDA = VSS
SCL, SDA = VSS
ILSB
Current-Measurement
Full-Scale Magnitude
IFS
(Note 1)
Current-Measurement
Offset Error
IOERR
(Note 2)
Current-Measurement Gain Error
IGERR
VDD = 3.6V at +25°C
Timebase Accuracy
Voltage Error
Input Resistance VIN, AIN0, AIN1
MIN
tERR
VGERR
50
75
0.3
1.0
1
3
μV
±51.2
mV
-50
+50
μV
-1.5
+1.5
% of
reading
-1
+1
-2
+2
TA = -20°C to +70°C
-3
+3
VDD = VIN = 3.6V, TA = 0°C to +50°C
TA = -20°C to +70°C
-10
+10
-20
+20
RIN
15
+8
VDD 0.5
IO = 1mA
VOUT Precharge Time
tPRE
13.2
Temperature Error
TERR
-3
%
mV
M
-8
VOUT Output Drive
μA
25
TA = 0°C to +70°C
AIN0, AIN1 Error
2
TYP
13.7
_______________________________________________________________________________________
LSB
V
14.2
ms
+3
°C
Stand-Alone OCV-Based Fuel Gauge
(2.5V ≤ VDD ≤ 4.5V, TA = -20°C to +70°C, unless otherwise noted.)
PARAMETER
SYMBOL
CONDITIONS
MIN
TYP
MAX
UNITS
Input Logic-High: SCL, SDA
VIH
(Note 1)
Input Logic-Low: SCL, SDA
VIL
(Note 1)
0.6
V
Output Logic-Low: SDA
VOL
IOL = 4mA (Note 1)
0.4
V
IPD
VDD = 4.2V, VPIN = 0.4V
Pulldown Current: SCL, SDA
VPROG Pulldown
1.4
0.2
RVPROG
Input Capacitance: SCL, SDA
V
CBUS
Bus Low Timeout
tSLEEP
EEPROM Programming Voltage
VPROG
EEPROM Programming Current
IPROG
EEPROM Programming Time
tPROG
1.0
20
50
(Note 3)
EEPROM Copy Endurance
μA
k
pF
1.5
2.2
s
14
15
V
2
mA
3.1
14
100
ms
Writes
ELECTRICAL CHARACTERISTICS: 2-WIRE INTERFACE
(2.5V ≤ VDD ≤ 4.5V, TA = -20°C to +70°C.)
PARAMETER
SYMBOL
SCL Clock Frequency
fSCL
Bus Free Time Between a STOP
and START Condition
tBUF
Hold Time (Repeated)
START Condition
tHD:STA
CONDITIONS
(Note 4)
(Note 5)
MIN
0
TYP
MAX
UNITS
400
kHz
1.3
μs
0.6
μs
Low Period of SCL Clock
tLOW
1.3
μs
High Period of SCL Clock
tHIGH
0.6
μs
Setup Time for a Repeated
START Condition
tSU:STA
0.6
μs
Data Hold Time
tHD:DAT
(Notes 6, 7)
Data Setup Time
tSU:DAT
(Note 6)
0
0.9
100
μs
ns
Rise Time of Both SDA and
SCL Signals
tR
20 +
0.1CB
300
ns
Fall Time of Both SDA and
SCL Signals
tF
20 +
0.1CB
300
ns
Setup Time for STOP Condition
tSU:STO
0.6
Spike Pulse Widths Suppressed
by Input Filter
tSP
(Note 8)
CB
(Note 9)
Capacitive Load for Each Bus Line
SCL, SDA Input Capacitance
CBIN
0
μs
50
ns
400
pF
60
pF
Note 1: All voltages are referenced to VSS.
Note 2: Offset specified after autocalibration cycle and Current Offset Bias Register = 00h.
Note 3: The DS2786B enters the sleep mode 1.5s to 2.2s after (SCL < VIL) and (SDA < VIL).
Note 4: Timing must be fast enough to prevent the DS2786B from entering sleep mode due to bus low for period > tSLEEP.
Note 5: fSCL must meet the minimum clock low time plus the rise/fall times.
_______________________________________________________________________________________
3
DS2786B
DC ELECTRICAL CHARACTERISTICS (continued)
DS2786B
Stand-Alone OCV-Based Fuel Gauge
ELECTRICAL CHARACTERISTICS: 2-WIRE INTERFACE (continued)
(2.5V ≤ VDD ≤ 4.5V, TA = -20°C to +70°C.)
Note 6: The maximum tHD:DAT has only to be met if the device does not stretch the low period (tLOW) of the SCL signal.
Note 7: This device internally provides a hold time of at least 100ns for the SDA signal (referred to the VIHMIN of the SCL signal) to
bridge the undefined region of the falling edge of SCL.
Note 8: Filters on SDA and SCL suppress noise spikes at the input buffers and delay the sampling instant.
Note 9: CB—total capacitance of one bus line in pF.
SDA
tF
tLOW
tSU;DAT
tR
tSP
tF
tR
tBUF
tHD;STA
SCL
tHD;STA
S
tSU;STA
tHD;DAT
tSU;STO
Sr
P
Figure 1. 2-Wire Bus Timing Diagram
4
_______________________________________________________________________________________
S
Stand-Alone OCV-Based Fuel Gauge
TOP VIEW
AIN1
1
10
VDD
AIN0
2
9
VIN
SCL
3
8
VOUT
7
VPROG
6
VSS
DS2786B
SDA
4
SNS
5
EP
TDFN
(3mm x 3mm)
Pin Description
PIN
NAME
FUNCTION
1
AIN1
Auxiliary Voltage Input Number 1
2
AIN0
Auxiliary Voltage Input Number 0
3
SCL
Serial Clock Input. Input only 2-wire clock line. Connect this pin to the clock signal of the 2-wire
interface. This pin has a 0.2μA typical pulldown to sense disconnection.
4
SDA
Serial Data Input/Output. Open-drain 2-wire data line. Connect this pin to the clock signal of the 2wire interface. This pin has a 0.2μA typical pulldown to sense disconnection.
5
SNS
Current-Sense Input. Connect to the handset side of the sense resistor.
6
VSS
Device Ground. Connect to the battery side of the sense resistor.
7
VPROG
EEPROM Programming Voltage Input. Connect to external supply for production programming.
Connect to VSS during normal operation.
8
VOUT
Voltage Out. Supply for auxiliary input voltage measurement dividers. Connect to high side of
resistor-divider circuits.
9
VIN
Battery Voltage Input. The voltage of the cell pack is measured through this pin.
10
VDD
Power-Supply Input. 2.5V to 4.5V Input Range. Connect to system power through a decoupling
network.
—
EP
Exposed Pad. Connect to VSS.
_______________________________________________________________________________________
5
DS2786B
Pin Configuration
DS2786B
Stand-Alone OCV-Based Fuel Gauge
Detailed Description
The DS2786B provides current-flow, voltage, and
temperature-measurement data to support batterycapacity monitoring in cost-sensitive applications.
Current is measured bidirectionally over a dynamic
range of ±51.2mV with a resolution of 25µV. Assuming
a 15mΩ sense resistor, the current-sense range is
±3.4A, with a 1 least significant bit (LSB) resolution of
1.667mA. Current measurements are performed at regular intervals and each measurement is accumulated
internally to coulomb count host power consumption.
Each current measurement is reported with sign and
magnitude in the 2-byte Current Register. Batteryvoltage measurements are reported in the 2-byte
Voltage Register with 12-bit (1.22mV) resolution, and
auxiliary voltage measurements are reported in the 2byte Aux Volt Registers with 11-bit resolution.
Additionally, the Temperature Register reports temperature with 0.125°C resolution and ±3°C accuracy from
the on-chip sensor. The on-chip temperature measurement is optional and replaces auxiliary voltage channel
AIN1. Figure 1 is the 2-wire bus timing diagram; Figure
2 is the DS2786B block diagram. Figure 3 is an application example.
SWITCH IS ON WHEN AIN0 OR AIN1 IS BEING MEASURED.
VDD
VOUT
BIAS
TIMEBASE
VOLTAGE
REFERENCE
TEMPERATURE
MEASUREMENT
ADC
EEPROM
VPROG
2-WIRE
INTERFACE
SDA
STATE
MACHINE
SCL
1kΩ
SNS
AIN1
1kΩ
VSS
VIN AIN0
IC
GROUND
Figure 2. Block Diagram
6
_______________________________________________________________________________________
Stand-Alone OCV-Based Fuel Gauge
SYSTEM
SYSTEM
VDD
PACK+
150Ω
1kΩ
VOUT
VIN
VDD
1kΩ
10nF
(1) 5.6V
VPROG
AIN0
SDA
AIN1
1kΩ
SCL
VSS
RSNS
1nF
(1) OPTIONAL FOR 8kV/15kV ESD
SYSTEM
SERIAL
BUS
SNS
PROTECTION IC
(Li+/POLYMER)
PACK-
PROGRAMMING
TEST POINT
DS2786B
PACKID
THERM
DS2786B
BATTERY
2.5V
SYSTEM
VSS
(1)
1nF
Figure 3. Application Example
The DS2786B provides accurate relative capacity measurements during periods of host system inactivity by
looking at cell open-circuit voltage. Cell capacity is calculated using an OCV voltage profile and a 1-byte
scale factor to weight-accumulated current. The OCV
voltage profile and scale factor are stored in EEPROM
memory. The EEPROM memory is constructed with a
SRAM shadow so that the OCV voltage profile and
scale factor can be overwritten by the host to accommodate a variety of cell types and capacities from multiple-cell vendors. The I 2 C interface also allows
read/write access to the Status, Configuration, and
Measurement Registers.
Power Modes
The DS2786B operates in one of two power modes:
Active and Sleep. While in Active Mode, the DS2786B
operates as a high-precision battery monitor with temperature, voltage, auxiliary inputs, current, and accumulated
current measurements acquired continuously and the
resulting values updated in the measurement registers. In
Sleep Mode, the DS2786B operates in a low-power mode
with no measurement activity. Read-and-write access is
allowed to all registers in either mode.
The DS2786B operating mode transitions from sleep to
active when:
(SCL > VIH) or (SDA > VIH)
The DS2786B operating mode transitions from Active to
Sleep when:
SMOD = 1 and (SCL < VIL) and (SDA < VIL)
for tSLEEP
Caution: If SMOD = 1, a pullup resistor is required on
SCL and SDA in order to ensure that the DS2786B transitions from Sleep to Active Mode when the battery is
charged. If the bus is not pulled up, the DS2786B
remains in Sleep and cannot accumulate the charge
current. This caution statement applies particularly to a
battery that is charged on a standalone charger.
_______________________________________________________________________________________
7
DS2786B
Stand-Alone OCV-Based Fuel Gauge
Parameter Measurement
The DS2786B uses a sigma-delta A/D converter to
make measurements. The measurement sequence
shown in Figure 4 repeats continuously while the
DS2786B is in Active Mode. The VOUT pin is activated
tPRE before the AIN0 and AIN1 conversion to allow for
VIN PIN
MEASUREMENT
the VOUT output voltage to settle. The DS2786B can be
configured to measure temperature using its on-chip
sensor instead of the AIN1 input. When the internal temperature measurement uses the AIN1 conversion timeslot, VOUT is not activated. A full sequence of voltage
measurements nominally takes 1760ms to complete.
AVERAGE OVER 440ms
0.86ms
DELAY
VOLTAGE
REGISTER
NEW REGISTER VALUE
ACTIVE
(INACTIVE FOR TEMPERATURE MEASUREMENT)
INACTIVE
VOUT PIN
INACTIVE
tPRE
ALTERNATING AIN0 OR
AIN1/TEMPERATURE
MEASUREMENT
AVERAGE OVER 220ms
0.86ms
DELAY
AIN0 OR AIN1/
TEMPERATURE REGISTER
DIFFERENTIAL
CURRENT
MEASUREMENT
CURRENT
REGISTER
NEW REGISTER VALUE
AVERAGE OVER 220ms
0.86ms
DELAY
0.86ms
DELAY
NEW REGISTER VALUE
440ms
220ms
220ms
CYCLE OF MEASUREMENTS REPEATS EVERY 880ms.
Figure 4. Measurement Sequence
8
_______________________________________________________________________________________
Stand-Alone OCV-Based Fuel Gauge
conversion is displayed in the Voltage Register. The
OCV algorithm automatically adjusts for the effects of
the offset-correction cycle.
Battery voltage is measured at the VIN input with respect
to VSS over a 0 to 4.999V range and with a resolution of
1.22mV. The result is updated every 880ms and placed
in the Voltage Register in two’s-complement form.
Voltages above the maximum register value are reported
as 7FFFh. Figure 5 is the Voltage Register format.
The input impedance of V IN is sufficiently large
(> 15MΩ) to be connected to a high-impedance voltage-divider in order to support multiple-cell applications. The pack voltage should be divided by the
number of series cells to present a single-cell average
voltage to the VIN input.
Every 1024th conversion, the ADC measures its input
offset to facilitate offset correction to improve voltage
accuracy. Offset correction occurs approximately every
15min. The resulting correction factor is applied to the
subsequent 1023 measurements. During the offset-correction conversion, the ADC does not measure the VIN
signal. The voltage measurement just prior to the offset
The DS2786B has two auxiliary voltage-measurement
inputs, AIN0 and AIN1. Both are measured with respect
to VSS. These inputs are designed for measuring resistor ratios, particularly useful for measuring thermistor or
pack identification resistors. Prior to the beginning of a
measurement cycle on AIN0 or AIN1, the VOUT pin outputs a reference voltage in order to drive a resistive
divider formed by a known resistor value, and the
unknown resistance to be measured. This technique
delivers good accuracy at a reasonable cost, as it
removes reference tolerance from the error calculations. Measurements alternate between each input.
Each auxiliary measurement is therefore updated every
1760ms and placed in the corresponding AIN0 or AIN1
Register in two’s-complement form. Figure 6 shows the
Auxiliary Input Registers format.
MSB—ADDRESS 0Ch
LSB—ADDRESS 0Dh
S
211
210
29
28
27
26
MSB
25
LSB
Auxilary Input Measurements
24
23
22
21
20
X
X
MSB
X
LSB
“S”: SIGN BIT(S), “X”: RESERVED
UNITS: 1.22mV
Figure 5. Voltage Register Format
MSB—ADDRESS 08h
AIN0
S
210
29
28
27
26
25
MSB
LSB—ADDRESS 09h
24
LSB
23
22
21
20
X
S
29
28
X
LSB
UNITS: VOUT × 1/2047
MSB—ADDRESS 0Ah
210
X
MSB
“S”: SIGN BIT, “X”: RESERVED
AIN1
X
27
MSB
26
25
LSB—ADDRESS 0Bh
24
LSB
“S”: SIGN BIT, “X”: RESERVED
23
MSB
22
21
20
X
X
X
X
LSB
UNITS: VOUT × 1/2047
Figure 6. Auxiliary Input Registers Format
_______________________________________________________________________________________
9
DS2786B
Voltage Measurement
DS2786B
Stand-Alone OCV-Based Fuel Gauge
Temperature Measurement
The DS2786B uses an integrated temperature sensor to
measure battery temperature with a resolution of
0.125°C. Temperature measurements are updated
every 1760ms and placed in the Temperature Register
in two’s-complement form. The format of the
Temperature Register is shown in Figure 7. The ITEMP
bit in the Status/Configuration Register must be set to
enable the internal temperature measurement instead
of the AIN1 measurement.
Current Measurement
input as long as the continuous or average signal level
does not exceed ±51.2mV over the conversion-cycle
period. The ADC samples the input differentially and
updates the Current Register every 880ms at the completion of each conversion cycle. Figure 8 describes
the Current Measurement Register format and resolution for each option. Charge currents above the maximum register value are reported at the maximum value
(7FFFh = +51.2mV). Discharge currents below the minimum register value are reported at the minimum value
(8000h = -51.2mV).
In the Active Mode of operation, the DS2786B continually measures the current flow into and out of the battery by measuring the voltage drop across a low-value
current-sense resistor, RSNS, connected between the
SNS and VSS pins. The voltage-sense range between
SNS and VSS is ±51.2mV. Note that positive current values occur when VSNS is less than VSS, and negative
current values occur when VSNS is greater than VSS.
Peak signal amplitudes up to 102mV are allowed at the
Every 1024th conversion, the ADC measures its input
offset to facilitate offset correction to improve current
accuracy. Offset correction occurs approximately every
15min. The resulting correction factor is applied to the
subsequent 1023 measurements. During the offset correction conversion, the ADC does not make a measurement. The current measurement just prior to the offset
conversion is displayed in the Current Register. See
Table 1 for current range and resolution for various
RSNS values.
MSB—ADDRESS 0Ah
LSB—ADDRESS 0Bh
29
S
28
27
26
25
24
MSB
23
LSB
22
21
20
X
X
X
X
MSB
X
LSB
“S”: SIGN BIT(S), “X”: RESERVED
UNITS: 0.125°C
Figure 7. Temperature Register Format
MSB—ADDRESS 0Eh
210
S
29
28
27
LSB—ADDRESS 0Fh
26
25
MSB
24
LSB
23
22
21
20
X
X
X
MSB
X
LSB
“S”: SIGN BIT
UNITS: 25μV/RSNS
Figure 8. Current Register Formats
Table 1. Current Range and Resolution for Various RSNS Values
CURRENT RESOLUTION (1 LSB)
|V SS - VSNS|
25μV
CURRENT INPUT RANGE
RSNS
20m
15m
10m
5m
1.25mA
1.667mA
2.5mA
5mA
10
VSS - VSNS
±51.2mV
RSNS
20m
15m
10m
5m
±2.56A
±3.41A
±5.12A
±10.24A
______________________________________________________________________
Stand-Alone OCV-Based Fuel Gauge
The Current Offset Bias Register (COBR) allows a programmable offset value to be added to raw current
measurements. The result of the raw current measurement plus the COBR value is displayed as the current
measurement result in the Current Register, and is used
for current accumulation and detection of an OCV condition. The COBR value can be used to correct for a static offset error, or can be used to intentionally skew the
current results and therefore the current accumulation.
Read and write access is allowed to COBR. Whenever
the COBR is written, the new value is applied to all subsequent current measurements. COBR can be programmed in 25µV steps to any value between
+3.175mV and -3.2mV. The COBR value is stored as a
two’s-complement value in nonvolatile (NV) memory.
The COBR factory default value is 00h. Figure 9 shows
the Current Offset Bias Register format.
Current Accumulation
An Internal Accumulated Current Register (IACR)
serves as an up/down counter holding a running count
of charge since the last OCV condition. Current measurement results, plus a programmable bias value are
internally summed, or accumulated, at the completion
of each current measurement-conversion period. The
IACR has a range of ±204.8mVh. The IACR uses the
Initial or Learned Cell Capacity Registers to increment
or decrement the Relative Capacity Register as current
flows into or out of the battery. In this way, the fuel
gauge is accurate even when an OCV condition does
not occur for an extended time period. See Table 2 for
the accumulated current range for various RSNS values.
Table 2. Accumulated Current Range for
Various RSNS Values
IACR RANGE
VSS - VSNS
±204.8mVh
RSNS
20m
15m
10m
5m
±10.24Ah
±13.65Ah
±20.48Ah
±40.96Ah
Cell-Capacity Estimation
The DS2786B uses a hybrid OCV measurement and
coulomb-counting algorithm to estimate remaining cell
capacity. During periods of charging or discharging the
cell, the DS2786B counts charge flow into and out of
the cell. When the application becomes inactive, the
DS2786B waits for the cell voltage to relax and then
adjusts the coulomb count based on an open-circuit
voltage cell model stored in device EEPROM. The
resulting calculation is reported to the system as a percentage value between 0 and 100%. As the cell ages, a
learn feature adjusts for changes in capacity.
The Relative Capacity Register reports remaining cell
charge as a percentage of full. Relative capacity is
reported with a resolution of 0.5% and is limited to a
value between 0% and 100%. The Relative Capacity
Register is updated each time the IC performs a current
measurement or open-circuit cell-voltage measurement.
See Figure 10.
ADDRESS 02h
27
26
25
24
23
22
MSB
ADDRESS 60h
S
26
25
24
23
20
LSB
UNITS: 0.5%
22
MSB
“S”: SIGN BIT
21
21
20
Figure 10. Relative Capacity Register Format
LSB
UNITS: 25μV/RSNS
Figure 9. Current Offset Bias Register Format
______________________________________________________________________________________
11
DS2786B
Current Offset Bias
DS2786B
Stand-Alone OCV-Based Fuel Gauge
Prior to the first learn operation, the relative capacity
value is calculated by adding the IACR multiplied by the
initial capacity scaling factor (7Ah) to the last OCV relative capacity (16h). After the first learn operation, the relative capacity value is calculated by adding the IACR
multiplied by the learned capacity scaling factor (17h) to
the last OCV relative capacity (16h).
Each Capacity Scaling Factor Register has a resolution
of 78.125%/Vh and a maximum range of 0 to
19921.875%/Vh. During assembly, the Initial Capacity
Register should be programmed to the capacity of the
cell. For example, an application using a 1Ah cell and
0.015Ω sense resistor would set the Initial Capacity
Register to a value of (100%/(1Ah x 0.015Ω))/
78.125%/Vh = 55h. The Learned Capacity Scaling Factor
Register is controlled by the DS2786B. The power-up
value is 00h, and the register is updated with the calculated new cell capacity value after every learn operation.
See Figures 11 and 12.
OCV Detection
When the magnitude of the measured current (after
COBR is applied) is less than the value defined by the
OCV Threshold Register, the DS2786B begins dV/dt
measurement evaluation to detect an OCV voltage
condition. A threshold value that is below the minimum
operational current, but above the maximum idle current of the application should be selected. The OCV
Threshold Register has a resolution of 25µV/RSNS, and
a range from 0mV/RSNS to 6.375mV/RSNS. The factory
default value is 28h. See Figure 13 for the OCV threshold register format.
While the measured current is below the OCV threshold
level, the DS2786B actively searches for a relaxed cell
by calculating the change in cell voltage as reported in
the Voltage Register over 7.5min intervals (dV/dt). If the
7.5min dV/dt change of an average of four Voltage
Register readings is less than the value stored in the
OCV dV/dt Threshold Register, the DS2786B determines that the cell is now in a relaxed state and the
Relative Capacity Register is adjusted based on the
OCV cell model stored in parameter EEPROM. This
operation occurs repeatedly every 7.5min up to 1hr
after the cell enters a relaxed state.
The OCV dV/dt Threshold Register has a resolution of
0.61mV/7.5min and a range from 0mV/7.5min to
9.15mV/7.5min. The factory default value is
2.44mV/7.5min. Note that the upper 4 bits of the OCV
dV/dt Threshold Register are used to EEPROM back
bits from the Status/Configuration Register. Figure 14
shows the OCV dV/dt threshold register format.
ADDRESS 7Ah
27
26
25
24
23
ADDRESS 7Bh
22
21
MSB
20
27
LSB
MSB
26
25
24
23
22
UNITS: 25μV/RSNS
Figure 13. OCV Threshold Register Format
ADDRESS 7Ch
ADDRESS 17h
27
MSB
26
25
24
23
22
21
20
SMOD
LSB
MSB
UNITS: 78.125%/Vh
Figure 12. Learned Capacity Scaling Factor Register Format
12
20
LSB
UNITS: 78.125%/Vh
Figure 11. Initial Capacity Scaling Factor Register Format
21
LDIS VODIS ITEMP
23
22
21
20
LSB
UNITS: 0.61mV/7.5min
Figure 14. OCV dV/dt Threshold Register Format
______________________________________________________________________________________
Stand-Alone OCV-Based Fuel Gauge
The OCV cell model is a 9-point piece-wise linear
approximation of open-circuit cell voltage vs. the
remaining capacity of the cell. Whenever an OCV
update occurs, the Relative Capacity Register is adjusted to a new value based on the OCV voltage reading
and a linear approximation of the table values. Figure 15
shows the factory-default cell model stored in EEPROM.
The OCV cell model can be modified by changing the
Capacity and Voltage Breakpoint Registers in EEPROM.
Capacity 0 is fixed at 0% and cannot be changed.
Capacity 1 through Capacity 7 are stored with 0.5%
resolution at addresses 61h through 67h, respectively.
Capacity values must be monotonic (Capacity 1 >
Capacity 0, Capacity 2 > Capacity 1, etc.), but otherwise can be written to any value between 0.5% to
99.5%. Capacity 8 is fixed at a value of 100% and cannot be changed. See Figure 16.
Voltage breakpoints require 2 bytes per breakpoint, but
are otherwise stored in a similar manner: voltage breakpoint 0: MSB stored at address 68h, LSB stored at
address 69h. Other voltage breakpoints are stored
sequentially through address location 79h. Each voltage breakpoint has a resolution of 1.22mV, and a range
from 0.0V to 4.996V. Voltage breakpoint values must
also be monotonic. Figure 17 is the Voltage Breakpoint
Register format.
4.2
BREAKPOINT 7
4.087V
90.5%
4.0
BREAKPOINT 4
3.831V
52.5%
BREAKPOINT 2
3.673V
10%
BREAKPOINT 8
4.171V
100%
BREAKPOINT 6
4.042V
85%
BREAKPOINT 5
4.005V
80%
3.8
3.6
BREAKPOINT 3
3.752V
25%
BREAKPOINT 1
3.619V
5%
3.4
3.2
BREAKPOINT 0
3.186V
0%
3.0
100%
80%
60%
40%
20%
0%
Figure 15. DS2786BG-C3 OCV Cell Model
ADDRESS 61h–67h
27
26
MSB
25
24
23
22
21
20
LSB
UNITS: 0.5%
Figure 16. Capacity 1 to Capacity 7 Registers Format
______________________________________________________________________________________
13
DS2786B
OCV Cell Model
DS2786B
Stand-Alone OCV-Based Fuel Gauge
MSB—EVEN ADDRESSES 68h–78h
211
210
29
28
27
26
LSB—ODD ADDRESS 69h–79h
25
MSB
24
23
LSB
22
21
20
X
X
X
MSB
X
LSB
“X”: RESERVED
UNITS: 1.22mV
Figure 17. Voltage Breakpoint Register Format
Initial Capacity Estimation
The DS2786B calculates relative capacity immediately
upon power-up. During initialization, the DS2786B
makes a voltage measurement and uses the OCV cell
model data to determine a starting point for the Relative
Capacity Register. This estimation occurs regardless of
the load on the cell. Any error induced from cell loading
is removed at the next OCV adjustment. The initial voltage measurement used in determining the starting
point is stored in the Initial Voltage Register until the IC
is power cycled. See Figure 18.
New Capacity Learning
As the cell ages, the Initial Capacity Scaling Factor
Register value might no longer accurately reflect the
true capacity of the cell, causing error in relative capacity calculation while in coulomb-counting mode of operation. The DS2786B has a learn feature that allows the IC
to remain accurate as the cell changes. The DS2786B
compares the percent relative capacity difference
between the last two OCV updates to the change in the
coulomb count to learn the new cell capacity. The Last
OCV Register maintains the relative capacity percentage at the previous OCV adjustment point used for
learning the new cell capacity. The last OCV is updated
with a new value at each OCV adjustment. Figure 19
shows the Last OCV Register format.
Example: Assuming a 15mΩ sense resistor, the
DS2786B adjusts the relative capacity of a 1000mAh
cell to 10% based on an OCV measurement during an
idle period of the application. The cell is then charged
by 500mAh (to 60% expected) based on the internal
coulomb count multiplied by the learned capacity scaling factor value of 55h. The next OCV adjustment determines the relative capacity should actually be at 65%,
not 60%. The DS2786B then adjusts the learned capacity scaling factor value upward to (65% - 10%)/(500mAh
x 0.015Ω) = 5Eh, lowering the expected cell capacity
by approximately 10%.
MSB—ADDRESS 14h
S
211
210
29
28
LSB—ADDRESS 15h
27
26
MSB
25
24
LSB
23
22
21
20
X
MSB
X
LSB
“S”: SIGN BIT(S), “X”: RESERVED
UNITS: 1.22mV
Figure 18. Initial Voltage Register Format
ADDRESS 16h
27
MSB
26
25
24
23
22
21
20
LSB
UNITS: 0.5%
Figure 19. Last OCV Register Format
14
X
______________________________________________________________________________________
Stand-Alone OCV-Based Fuel Gauge
27
26
25
24
23
22
21
20
MSB
LSB
UNITS: 0.5%
Figure 20. Learn Delta Percent Threshold
The learn delta percent threshold allows the application
to select how large a cell capacity change is required
before the new cell-capacity value is learned. The difference between the present OCV measurement and
the last OCV measurement must be greater than the
learn delta percent threshold value for a learn to occur.
This prevents IC measurement resolution from adding
error to the learned cell-capacity value. It is recommended this register be set to a value of at least 50%.
Figure 20 shows the learn delta percent threshold.
Memory Map
The DS2786B has memory space with registers for instrumentation, status, and control. When the MSB of a 2-byte
register is read, both the MSB and LSB are latched and
held for the duration of the read data command to prevent updates during the read and ensure synchronization
between the 2 register bytes. For consistent results,
always read the MSB and the LSB of a 2-byte register
during the same read data command sequence.
Memory locations 60h through 7Fh are EEPROM storage locations. EEPROM memory is shadowed by RAM
to eliminate programming delays between writes and to
allow the data to be verified by the host system before
being copied to EEPROM. The read data and write data
protocols to/from EEPROM memory addresses access
the shadow RAM. Setting the RCALL bit in the
Command Register (FEh) initiates data transfer from the
EEPROM to the shadow RAM. See Figure 21.
Setting the COPY bit in the Command Register initiates
data transfer from the shadow RAM to the EEPROM. An
external voltage supply must be provided on the
VPROG pin prior to writing the COPY bit. The DS2786B
requires the COPY bit be reset to zero within the tPROG
time window to properly program EEPROM. Resetting
COPY too soon might prevent a proper write of the
cells. Resetting COPY too late might degrade EEPROM
copy endurance.
The DS2786B uses shadow RAM data for fuel-gauge
calculations. Fuel-gauge information can be changed in
the application by writing the shadow RAM locations.
Afterwards, the SOCV bit should be written to reset the
fuel gauge. Note that any reset of the IC causes the
shadow RAM data to be restored from EEPROM.
COPY
EEPROM
WRITE
SERIAL
INTERFACE
READ
SHADOW
RECALL
Figure 21. EEPROM Access Through Shadow RAM
______________________________________________________________________________________
15
DS2786B
ADDRESS 7Eh
DS2786B
Stand-Alone OCV-Based Fuel Gauge
Table 3. Memory Map
ADDRESS
DESCRIPTION
ADDRESS
—
0Fh
R/W
10h to 13h
Relative Capacity
R
00h
Reserved
01h
Status/Config Register
02h
03h to 07h
READ/WRITE
DESCRIPTION
READ/WRITE
Current Register LSB
R
Reserved
—
14h
Initial Voltage MSB
R
15h
Initial Voltage LSB
R
16h
Last OCV Relative
Capacity
R
17h
Learned Capacity
Scaling Factor
R
Reserved
—
Reserved
—
08h
Auxiliary Input 0 MSB
R
09h
Auxiliary Input 0 LSB
R
0Ah
Auxiliary Input 1/
Temperature MSB
R
0Bh
Auxiliary Input 1/
Temperature LSB
R
60h to 7Fh
Parameter EEPROM
0Ch
Voltage Register MSB
R
80h to FDh
Reserved
—
Command
R/W
Reserved
—
18h to 5Fh
0Dh
Voltage Register LSB
R
FEh
0Eh
Current Register MSB
R
FFh
R/W
Table 4. Parameter EEPROM Memory Block
FACTORY
VALUE
ADDRESSS
DESCRIPTION
FACTORY
VALUE
ADDRESS
60h
Current Offset Bias Register
00h
70h
Voltage Breakpoint 4 MSB
61h
Capacity 1
0Ah
71h
Voltage Breakpoint 4 LSB
20h
62h
Capacity 2
14h
72h
Voltage Breakpoint 5 MSB
CDh
63h
Capacity 3
32h
73h
Voltage Breakpoint 5 LSB
10h
64h
Capacity 4
69h
74h
Voltage Breakpoint 6 MSB
CEh
65h
Capacity 5
A0h
75h
Voltage Breakpoint 6 LSB
F0h
66h
Capacity 6
AAh
76h
Voltage Breakpoint 7 MSB
D1h
67h
Capacity 7
B5h
77h
Voltage Breakpoint 7 LSB
40h
68h
Voltage Breakpoint 0 MSB
A3h
78h
Voltage Breakpoint 8 MSB
D5h
69h
Voltage Breakpoint 0 LSB
20h
79h
Voltage Breakpoint 8 LSB
90h
6Ah
Voltage Breakpoint 1 MSB
B9h
7Ah
Initial Capacity Scaling
80h
6Bh
Voltage Breakpoint 1 LSB
50h
7Bh
OCV Current Threshold
06h
6Ch
Voltage Breakpoint 2 MSB
BCh
7Ch
OCV dV/dt Threshold
94h
60h*
DESCRIPTION
C4h
6Dh
Voltage Breakpoint 2 LSB
10h
7Dh
I2C Address Configuration*
6Eh
Voltage Breakpoint 3 MSB
C0h
7Eh
Learn Threshold
78h
6Fh
Voltage Breakpoint 3 LSB
20h
7Fh
User EEPROM
00h
*The factory default 7-bit slave address is 0110110. The upper 3 bits are fixed at 011; the lower 4 bits can be changed by writing the
I2C Address Configuration Register as illustrated in Figures 24 and 25.
16
______________________________________________________________________________________
Stand-Alone OCV-Based Fuel Gauge
The Status/Config Register is read/write with individual
bits designated as read only. Bit values indicate status as
well as program or select device functionality. Bits 3
though 6 are EEPROM backed at memory location 7Ch.
Note that their bit positions differ between these locations.
See Figure 22:
• PORF—The power-on-reset flag is set to indicate
initial power-up. PORF is not cleared internally. The
user must write this flag value to a zero in order to
use it to indicate subsequent power-up events. POR
event causes a reset of the fuel gauge. PORF is
read/write-to-zero.
•
SMOD—Sleep Mode enable. A value of 1 allows the
IC to enter Sleep Mode when SCL and SDA are low
for tSLEEP. A value of zero disables the transition to
Sleep Mode. This bit is EEPROM backed by bit 7 of
memory location 7Ch. The factory-programmed
value is 1.
Caution: SMOD sleep feature must be disabled
when a battery is charged on an external charger
that does not connect to the SDA or SCL pins.
SMOD sleep can be used if the charger pulls SDA
or SCL high. The IC remains in sleep on a charger
that fails to properly drive SDA or SCL and therefore
does not adjust relative capacity when a battery is
charged.
•
LDIS—Learn disable. A value of 1 disables cellcapacity learning by the IC. A value of zero allows
cell-capacity learning to occur normally. This bit is
EEPROM backed by bit 6 of memory location 7Ch.
The factory-programmed value is zero.
•
VODIS—VOUT disable. A value of 1 disables the
VOUT output. When set to zero, this output is driven
tPRE before the AIN0 conversion begins, and disabled after the AIN1 conversion ends. This bit is
EEPROM backed by bit 5 of memory location 7Ch.
The factory-programmed value is zero.
•
ITEMP—ITEMP. A value of 1 enables measurement
of temperature using the internal sensor during the
AIN1 conversion timeslot. The AIN1 input is not
selected and VOUT is not enabled during the AIN1
timeslot. A value of zero restores the measurement
of AIN1 and enables VOUT during the AIN1 timeslot.
This bit is EEPROM backed by bit 4 of memory
location 7Ch. The factory-programmed value is 1.
•
AIN1—AIN1 conversion valid. This read-only bit
indicates that the VOUT output was enabled and a
conversion has occurred on the AIN1 pin. When
using the VODIS bit, before reading the AIN1
Registers, read the AIN1 bit. Only once the AIN1 bit
is set should the AIN1 Register be read.
•
AIN0—AIN0 conversion valid. This read-only bit
indicates that the VOUT output was enabled and a
conversion has occurred on the AIN0 pin. When
using the VODIS bit, before reading the AIN0
Registers, read the AIN0 bit. Only once the AIN0 bit
is set should the AIN0 Register be read.
Command Register
The Command Register is read/write accessible. Bit values indicate operations requested to be performed by the
device. See Figure 23 for the Command Register format.
ADDRESS 01h
BIT 7
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
X
PORF
SMOD
LDIS
VODIS
ITEMP
AIN1
AIN0
X—Reserved.
Figure 22. Status/Config Register Format
ADDRESS FEh
BIT 7
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
POR
1
X
X
POCV
SOCV
RCALL
COPY
1—Bit always reads logic 1.
X—Reserved.
Figure 23. Command Register Format
______________________________________________________________________________________
17
DS2786B
Status/Config Register
DS2786B
Stand-Alone OCV-Based Fuel Gauge
•
COPY—The Copy bit is set to start a copy command
of the scratchpad to EEPROM. A programming voltage must be present on the VPROG pin prior for the
copy to be successful. The Copy bit must be cleared
by software within the tPROG time window.
•
RCALL—The Recall bit is set to recall the contents
of EEPROM into the scratchpad.
•
SOCV—Stored OCV calculation. This command can
be used to reset the relative capacity calculation
after updating OCV cell model data in the scratchpad. When set to 1, the part is performing an OCV
calculation based on the voltage stored in the Initial
Voltage Register and the OCV lookup table values
present in the scratchpad. Writing the bit to 1 forces
a calculation. Forcing an OCV calculation creates
capacity-estimation error. The bit is cleared when
the hardware completes the calculation.
•
POCV—Present OCV calculation. When set to 1,
the part is performing an OCV calculation based on
the voltage stored in the Voltage Register and the
OCV lookup table values present in the scratchpad.
Writing the bit to 1 forces a calculation. This function should be used for test purposes only. Forcing
an OCV calculation creates capacity-estimation
error. The bit is cleared when the hardware completes the calculation.
•
POR—Power-on reset. A value of 1 starts a poweron reset event. The bit is cleared on the next start or
stop on the 2-wire bus, exiting the reset state.
User EEPROM
Location 7Fh provides 1 byte available for storage of
user-defined information. This byte does not affect
operation of the fuel gauge. Factory default is 00h.
2-Wire Bus System
The 2-wire bus system supports operation as a slaveonly device in a single or multislave, and single or multimaster system. The 2-wire interface consists of a serial
data line (SDA) and serial clock line (SCL). SDA and
SCL provide bidirectional communication between the
DS2786B slave device and a master device at speeds
up to 400kHz. The DS2786B’s SDA pin operates bidirectionally; that is, when the DS2786B receives data,
SDA operates as an input, and when the DS2786B
returns data, SDA operates as an open-drain output,
with the host system providing a resistive pullup. The
DS2786B always operates as a slave device, receiving
and transmitting data under the control of a master
device. The master initiates all transactions on the bus
and generates the SCL signal, as well as the START
and STOP bits, which begin and end each transaction.
18
Bit Transfer
One data bit is transferred during each SCL clock
cycle, with the cycle defined by SCL transitioning low to
high and then high to low. The SDA logic level must
remain stable during the high period of the SCL clock
pulse. Any change in SDA when SCL is high is interpreted as a START or STOP control signal.
Bus Idle
The bus is defined to be idle, or not busy, when no
master device has control. Both SDA and SCL remain
high when the bus is idle. The STOP condition is the
proper method to return the bus to the idle state.
START and STOP Conditions
The master initiates transactions with a START condition (S) by forcing a high-to-low transition on SDA while
SCL is high. The master terminates a transaction with a
STOP condition (P), a low-to-high transition on SDA
while SCL is high. A Repeated START condition (Sr)
can be used in place of a STOP then START sequence
to terminate one transaction and begin another without
returning the bus to the idle state. In multimaster systems, a Repeated START allows the master to retain
control of the bus. The START and STOP conditions are
the only bus activities in which the SDA transitions
when SCL is high.
Acknowledge Bits
Each byte of a data transfer is acknowledged with an
Acknowledge bit (A) or a No Acknowledge bit (N). Both
the master and the DS2786B slave generate
Acknowledge bits. To generate an acknowledge, the
receiving device must pull SDA low before the rising
edge of the acknowledge-related clock pulse (ninth
pulse) and keep it low until SCL returns low. To generate a no acknowledge (also called NAK), the receiver
releases SDA before the rising edge of the acknowledge-related clock pulse and leaves SDA high until
SCL returns low. Monitoring the Acknowledge bits
allows for detection of unsuccessful data transfers. An
unsuccessful data transfer can occur if a receiving
device is busy or if a system fault has occurred. In the
event of an unsuccessful data transfer, the bus master
should reattempt communication.
Data Order
A byte of data consists of 8 bits ordered MSB first. The
LSB of each byte is followed by the Acknowledge bit.
The DS2786B registers composed of multibyte values
are ordered MSB first. The MSB of multibyte registers is
stored on even data memory addresses.
______________________________________________________________________________________
Stand-Alone OCV-Based Fuel Gauge
Bus Timing
The DS2786B is compatible with any bus timing up to
400kHz. No special configuration is required to operate
at any speed.
Read/Write Bit
The R/W bit following the slave address determines the
data direction of subsequent bytes in the transfer. R/W
= 0 selects a write transaction, with the following bytes
being written by the master to the slave. R/W = 1 selects
a read transaction, with the following bytes being read
from the slave by the master. With the ADDR3–ADDR0
bits at their default of 0110, writes occur using address
0x6Ch, while reads occur at 0x6Dh.
2-Wire Command Protocols
The command protocols involve several transaction formats. The simplest format consists of the master writing
the START bit, slave address, and R/W bit, and then
monitoring the Acknowledge bit for presence of the
DS2786B. More complex formats such as the write
data, read data, and function command protocols write
data, read data, and execute device-specific operations. All bytes in each command format require the
slave or host to return an Acknowledge bit before continuing with the next byte. Each function command definition outlines the required transaction format. Table 5
applies to the transaction formats.
ADDRESS 7Dh
BIT 7
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
ADDR3
ADDR2
ADDR1
ADDR0
X
X
X
X
X—RESERVED.
ADDR3:0—USER-ADJUSTABLE BITS OF THE DS2786BG-C3’S I2C ADDRESS. FACTORY DEFAULT IS 0110.
Figure 24. I2C Address Configuration Register Format
BIT 7
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
0
1
1
ADDR3
ADDR2
ADDR1
ADDR0
R/W
Figure 25. DS2786B I2C Address Byte Format
Table 5. 2-Wire Protocol Key
KEY
S
DESCRIPTION
KEY
DESCRIPTION
START bit
Sr
Repeated START
SAddr
Slave address (7 bit)
W
R/W bit = 0
FCmd
Function command byte
R
R/W bit = 1
MAddr
Memory address byte
P
STOP bit
Data
Data byte written by master
Data
Data byte returned by slave
A
Acknowledge bit—master
A
Acknowledge bit—slave
N
No acknowledge—master
N
No acknowledge—slave
______________________________________________________________________________________
19
DS2786B
Slave Address
A bus master initiates communication with a slave
device by issuing a START condition followed by a
slave address (SAddr) and the read/write (R/W) bit.
When the bus is idle, the DS2786B continuously monitors for a START condition followed by its slave
address. When the IC receives an address that matches its slave address, it responds with an Acknowledge
bit during the clock period following the R/W bit. The
DS2786BG-C3 7-bit slave address is 0110110. The
upper 3 bits are fixed at 011; the lower 4 bits can be
changed by writing the I 2 C Address Configuration
Register at location 7Dh.
DS2786B
Stand-Alone OCV-Based Fuel Gauge
Basic Transaction Formats
Write: S SAddr W A MAddr A Data0 A P
A write transaction transfers 1 or more data bytes to the
DS2786B. The data transfer begins at the memory
address supplied in the MAddr byte. Control of the SDA
signal is retained by the master throughout the transaction, except for the acknowledge cycles.
Read: SAddr W A MAddr A Sr SAddr R A Data0 N P
Write Portion
Read Portion
A read transaction transfers 1 or more bytes from the
DS2786B. Read transactions are composed of two
parts—a write portion followed by a read portion—and
are therefore inherently longer than a write transaction.
The write portion communicates the starting point for
the read operation. The read portion follows immediately, beginning with a Repeated START, Slave Address
with R/W set to 1. Control of SDA is assumed by the
DS2786B beginning with the Slave Address
Acknowledge cycle. Control of the SDA signal is
retained by the DS2786B throughout the transaction,
except for the acknowledge cycles. The master indicates the end of a read transaction by responding to
the last byte it requires with a no acknowledge. This
signals the DS2786B that control of SDA is to remain
with the master following the acknowledge clock.
Write Data Protocol
The write data protocol is used to write to register and
shadow RAM data to the DS2786B starting at memory
address MAddr. Data0 represents the data written to
MAddr, Data1 represents the data written to MAddr +
1, and DataN represents the last data byte, written to
MAddr + N. The master indicates the end of a write
transaction by sending a STOP or Repeated START
after receiving the last acknowledge bit:
S SAddr W A MAddr A Data0 A Data1 A … DataN A P
The MSB of the data to be stored at address MAddr
can be written immediately after the MAddr byte is
acknowledged. Because the address is automatically
incremented after the LSB of each byte is received by
the DS2786B, the MSB of the data at address MAddr +
20
1 can be written immediately after the acknowledgment
of the data at address MAddr. If the bus master continues an autoincremented write transaction beyond
address 4Fh, the DS2786B ignores the data. Data is
also ignored on writes to read-only addresses and
reserved addresses, as well as a write that autoincrements to the Function Command Register (address
FEh). Incomplete bytes and bytes that are not acknowledged by the DS2786B are not written to memory. As
noted in the Memory Map section, writes to EEPROM
locations modify the shadow RAM only.
Read Data Protocol
The read data protocol is used to read register and
shadow RAM data from the DS2786B starting at memory address specified by MAddr. Data0 represents the
data byte in memory location MAddr, Data1 represents
the data from MAddr + 1, and DataN represents the
last byte read by the master:
S SAddr W A MAddr A Sr SAddr R A Data0 A Data1
...DataN N P
Data is returned beginning with the MSB of the data in
MAddr. Because the address is automatically incremented after the LSB of each byte is returned, the MSB
of the data at address MAddr + 1 is available to the
host immediately after the acknowledgment of the data
at address MAddr. If the bus master continues to read
beyond address FFh, the DS2786B outputs data values
of FFh. Addresses labeled Reserved in the memory
map (Table 3) return undefined data. The bus master
terminates the read transaction at any byte boundary
by issuing a no acknowledge followed by a STOP or
Repeated START.
Package Information
For the latest package outline information and land patterns,
go to www.maxim-ic.com/packages. Note that a “+”, “#”, or
“-” in the package code indicates RoHS status only. Package
drawings may show a different suffix character, but the drawing
pertains to the package regardless of RoHS status.
PACKAGE TYPE
PACKAGE CODE
DOCUMENT NO.
10 TDFN
T1033+1
21-0137
______________________________________________________________________________________
Stand-Alone OCV-Based Fuel Gauge
REVISION
NUMBER
REVISION
DATE
0
7/08
Initial release
1
4/10
Changed the maximum operating voltage on VDD to 4.5V in the Features, Electrical
Characteristics, and Pin Description sections
DESCRIPTION
PAGES
CHANGED
—
1–4
Maxim cannot assume responsibility for use of any circuitry other than circuitry entirely embodied in a Maxim product. No circuit patent licenses are
implied. Maxim reserves the right to change the circuitry and specifications without notice at any time.
Maxim Integrated Products, 120 San Gabriel Drive, Sunnyvale, CA 94086 408-737-7600 ____________________ 21
© 2010 Maxim Integrated Products
Maxim is a registered trademark of Maxim Integrated Products, Inc.
DS2786B
Revision History
Similar pages