MAXIM DS2778G+

Rev 0; 10/08
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
Features
The DS2775–DS2778 report available capacity for
rechargeable lithium-ion (Li+) and Li+ polymer (Li-Poly)
batteries in mAh and as a percentage of full. Safe operation is ensured by the integrated Li+ protector. The
DS2776/DS2778 support SHA-1-based challengeresponse authentication in addition to all other DS2775/
DS2777 features.
♦ High-Side nFET Drivers and Protection Circuitry
Precision measurements of voltage, temperature, and
current, along with a cell characteristics table and
application parameters, are used for capacity estimation calculations. The capacity registers report a conservative estimate of the amount of charge that can be
removed given the current temperature, discharge rate,
stored charge, and application parameters.
The DS2775–DS2778 operate from +4.0V to +9.2V for
direct integration into battery packs with two Li+ or LiPoly cells.
In addition to nonvolatile storage for cell compensation
and application parameters, the DS2775–DS2778 offer
16 bytes of EEPROM for use by the host system and/or
pack manufacturer to store battery lot and date tracking
information. The EEPROM can also be used for nonvolatile storage of system and/or battery usage statistics. A Maxim 1-Wire ® (DS2775/DS2776) or 2-wire
(DS2777/DS2778) interface provides serial communication to access measurement and capacity data registers, control registers, and user memory. The
DS2776/DS2778 use the SHA-1 hash algorithm in a
challenge-response pack authentication protocol for
battery-pack verification.
♦ Estimates Cell Aging Between Learn Cycles
Applications
♦ Precision Voltage, Temperature, and Current
Measurement System
♦ Cell-Capacity Estimation from Coulomb Count,
Discharge Rate, Temperature, and Cell
Characteristics
♦ Uses Low-Cost Sense Resistor
♦ Allows Calibration of Gain and Temperature
Coefficient
♦ Programmable Thresholds for Overvoltage and
Overcurrent
♦ Pack Authentication Using SHA-1 Algorithm
(DS2776/DS2778)
♦ 32-Byte Parameter EEPROM
♦ 16-Byte User EEPROM
♦ Maxim 1-Wire Interface with 64-Bit Unique ID
(DS2775/DS2776)
♦ 2-Wire Interface with 64-Bit Unique ID
(DS2777/DS2778)
♦ 3mm x 5mm, 14-pin TDFN Lead-Free Package
Ordering Information
PART
DS2775G+*
PIN-PACKAGE
14 TDFN-EP**
TOP MARK
D2775
Low-Cost Notebooks
DS2775G+T&R*
14 TDFN-EP**
D2775
UMPCs
DS2776G+
14 TDFN-EP**
D2776
DSLR Cameras
DS776G+T&R
14 TDFN-EP**
D2776
Video Cameras
DS2777G+*
14 TDFN-EP**
D2777
DS2777G+T&R*
14 TDFN-EP**
D2777
DS2778G+
14 TDFN-EP**
D2778
DS2778G+T&R
14 TDFN-EP**
D2778
Commercial and Military Radios
Portable Medical Equipment
Selector Guide and Pin Configuration appear at end of data
sheet.
Note: All devices are specified over the -20°C to +70°C operating temperature range.
+Denotes a lead-free/RoHS-compliant package.
T&R = Tape and reel.
*Future product—contact factory for availability.
**EP = Exposed pad.
1-Wire is a registered trademark of Maxim Integrated Products, Inc.
________________________________________________________________ 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
DS2775/DS2776/DS2777/DS2778
General Description
DS2775/DS2776/DS2777/DS2778
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
ABSOLUTE MAXIMUM RATINGS
Continuous Sink Current, PIO, DQ......................................20mA
Continuous Sink Current, CC, DC.......................................10mA
Operating Temperature Range ...........................-20°C to +70°C
Storage Temperature Range .............................-55°C to +125°C
Soldering Temperature...........................Refer to the IPC/JEDEC
J-STD-020 Specification.
Voltage Range on PLS, CP, CC, DC Pins
Relative to VSS .....................................................-0.3V to +18V
Voltage Range on VDD, VIN1, VIN2, SRC Pins
Relative to VSS ....................................................-0.3V to +9.2V
Voltage Range on All Other Pins Relative to VSS ..-0.3V to +6.0V
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.
ELECTRICAL CHARACTERISTICS
(VDD = +4.0V to +9.2V, TA = -20°C to +70°C, unless otherwise noted. Typical values are at TA = +25°C.)
PARAMETER
SYMBOL
IDD0
Supply Current
Temperature Accuracy
CONDITIONS
TYP
MAX
3
5
Sleep mode, TA > +50°C
IDD1
Active mode
IDD2
Active mode during SHA-1 computation
TERR
Voltage Accuracy
MIN
Sleep mode, TA +50°C
10
80
135
120
300
-3
+3
2.0 VIN1 4.6, 2.0 (VIN2 - VIN1) 4.6,
0°C TA +50°C
-35
+35
2.0 VIN1 4.6, 2.0 (VIN2 – VIN1) 4.6,
TA = 25°C
-22
22
2.0 VIN1 4.6, 2.0 (VIN2 - VIN1) 4.6
-50
+50
Input Resistance (VIN1, VIN2)
15
UNITS
μA
°C
mV
M
Current Resolution
ILSB
Current Full Scale
IFS
-51.2
1.56
+51.2
mV
μV
Current Gain Error
IGERR
-1
+1
% FS
Current Offset
IOERR
0°C TA +70°C (Note 1)
-9.375
9.375
μVh
Accumulated Current Offset
qOERR
0°C TA +70°C (Note 1)
-255
0
μVh/Day
-2
+2
-3
+3
Time-Base Error
tERR
CP Output Voltage (VCP - VSRC)
VGS
CP Startup Time
tSCP
0°C TA +50°C
IOUT = 0.9μA
VOHCP
IOH = 100μA (Note 2)
Output Low: CC
VOLCC
IOL = 100 μA
Output Low: DC
VOLDC
IOL = 100 μA
VIH
DQ, PIO, SDA, SCL Input
Logic-Low
VIL
OVD Input Logic-High
VIH
OVD Input Logic-Low
VIL
5
V
200
ms
VCP - 0.4
V
VSRC + 0.1
VSRC + 0.1
-0.3
DQ, PIO, SDA, SCL Input
Logic-High
2
4.7
CE = 0, DE = 0, CCP = 0.1 μF, active mode
Output High: CC, DC
DQ, PIO Voltage Range
4.4
%
+5.5
1.5
V
V
V
0.6
VBAT - 0.2
_______________________________________________________________________________________
V
V
V
VSS + 0.2
V
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
(VDD = +4.0V to +9.2V, TA = -20°C to +70°C, unless otherwise noted. Typical values are at TA = +25°C.)
PARAMETER
SYMBOL
DQ, PIO, SDA Output Logic-Low
VOL
IOL = 4mA
DQ, PIO Pullup Current
IPU
Sleep mode, VPIN = (VDD - 0.4V)
30
DQ, PIO, SDA, SCL Pulldown
Current
IPD
Active mode, VPIN = 0.4V
30
DQ < VIL
2
DQ Input Capacitance
DQ Sleep Timeout
MIN
CDQ
tSLEEP
PIO, DQ Wake Debounce
CONDITIONS
tWDB
TYP
MAX
UNITS
0.4
V
100
200
nA
100
200
nA
50
Sleep mode
pF
9
100
s
ms
SHA-1 COMPUTATION TIMING (DS2776/DS2778 ONLY)
(VDD = +4.0V to +9.2V, TA = 0°C to +70°C, unless otherwise noted. Typical values are at TA = +25°C.)
PARAMETER
Computation Time
SYMBOL
CONDITIONS
MIN
TYP
tCOMP
MAX
UNITS
30
ms
UNITS
ELECTRICAL CHARACTERISTICS: PROTECTION CIRCUIT
(VDD = +4.0V to +9.2V, TA = 0°C to +50°C, unless otherwise noted. Typical values are at TA = +25°C.)
PARAMETER
SYMBOL
MIN
TYP
MAX
VOV = 1110111b
CONDITIONS
4.438
4.473
4.508
VOV = 1100011b
4.242
4.277
4.312
Overvoltage Detect
VOV
Charge-Enable Voltage
VCE
Relative to V OV
Undervoltage Detect
VUV
Programmable in Control register 0x60h,
UV[1:0] = 10
Overcurrent Detect: Charge
VCOC
Overcurrent Detect: Discharge
VDOC
-100
2.415
2.450
V
mV
2.485
OC = 11b
-60
-75
-90
OC = 00b
-12.5
-25
-38
OC = 11b
80
100
120
OC = 00b
25
38
50
SC =1b
240
300
360
SC = 0b
120
150
180
V
mV
mV
mV
Short-Circuit Current Detect
VSC
Overvoltage Delay
tOVD
(Note 3)
600
1400
ms
Undervoltage Delay
tUVD
(Note 3)
600
1400
ms
Overcurrent Delay
tOCD
8
10
12
ms
Short-Circuit Delay
tSCD
80
120
160
Charger-Detect Hysteresis
VCD
VUV condition
Test Threshold
VTP
COC, DOC condition
0.4
1.0
1.2
DOC condition
20
40
80
COC condition
-45
-60
-95
50
μs
mV
V
μA
Test Current
ITST
PLS Pulldown Current
IPPD
Sleep mode
200
400
630
μA
IRC
VUV condition, max: VPLS = 15V, VDD = 1.4V;
min: VPLS = 4.2V, VDD = 2V
3.3
8
13
mA
Recovery Current
_______________________________________________________________________________________
3
DS2775/DS2776/DS2777/DS2778
ELECTRICAL CHARACTERISTICS (continued)
DS2775/DS2776/DS2777/DS2778
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
EEPROM RELIABILITY SPECIFICATION
(VDD = +4.0V to +9.2V, TA = -20°C to +70°C, unless otherwise noted.)
PARAMETER
SYMBOL
EEPROM Copy Time
tEEC
EEPROM Copy Endurance
NEEC
CONDITIONS
TA = +50°C
MIN
TYP
MAX
UNITS
10
ms
50,000
Cycles
ELECTRICAL CHARACTERISTICS: 1-Wire INTERFACE, STANDARD (DS2775/DS2776 ONLY)
(VDD = +4.0V to +9.2V, TA = -20°C to +70°C.)
PARAMETER
SYMBOL
CONDITIONS
MIN
TYP
MAX
UNITS
120
μs
Time Slot
t SLOT
60
Recovery Time
tREC
1
Write-Zero Low Time
tLOW0
60
120
μs
Write-One Low Time
tLOW1
1
15
μs
μs
Read Data Valid
tRDV
Reset Time High
tRSTH
480
15
μs
Reset Time Low
tRSTL
480
960
μs
Presence-Detect High
t PDH
15
60
μs
Presence-Detect Low
t PDL
60
240
μs
μs
ELECTRICAL CHARACTERISTICS: 1-Wire INTERFACE, OVERDRIVE (DS2775/DS2776 ONLY)
(VDD = +4.0V to +9.2V, TA = -20°C to +70°C.)
PARAMETER
Time Slot
Recovery Time
SYMBOL
CONDITIONS
MIN
t SLOT
6
TYP
MAX
UNITS
16
μs
tREC
1
Write-Zero Low Time
tLOW0
6
16
μs
μs
Write-One Low Time
tLOW1
1
2
μs
2
μs
80
μs
Read Data Valid
tRDV
Reset Time High
tRSTH
48
Reset Time Low
tRSTL
48
Presence-Detect High
t PDH
2
6
μs
Presence-Detect Low
t PDL
8
24
μs
4
_______________________________________________________________________________________
μs
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
(VDD = +4.0V to +9.2V, TA = -20°C to +70°C.)
PARAMETER
SYMBOL
SCL Clock Frequency
f SCL
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
t SU:STA
0.6
μs
Data Hold Time
tHD:DAT
(Notes 6, 7)
Data Setup Time
t SU:DAT
(Note 6)
Rise Time of Both SDA and SCL
Signals
0
0.9
100
μs
ns
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
t SU:STO
0.6
Spike Pulse Widths Suppressed
by Input Filter
t SP
(Note 8)
Capacitive Load for Each Bus
Line
CB
(Note 9)
SCL, SDA Input Capacitance
CBIN
0
μs
50
ns
400
pF
60
pF
Note 1: Accumulation bias and offset bias registers set to 00h. NBEN bit set to 0.
Note 2: Measurement made with VSRC = +8V, VGS driven with external +4.5V supply.
Note 3: Overvoltage (OV) and undervoltage (UV) delays (tOVD, tUVD) are reduced to zero seconds if the OV or UV condition is
detected within 100ms of entering active mode.
Note 4: Timing must be fast enough to prevent the DS2777/DS2778 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.
Note 6: The maximum tHD:DAT need only 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 75ns 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 is total capacitance of one bus line in pF.
_______________________________________________________________________________________
5
DS2775/DS2776/DS2777/DS2778
ELECTRICAL CHARACTERISTICS: 2-WIRE INTERFACE (DS2777/DS2778 ONLY)
Typical Operating Characteristics
(TA = +25°C, unless otherwise noted.)
CC FET GATE TURN-OFF DURING
CHARGE-OVERCURRENT EVENT
DISCHARGE-OVERCURRENT
PROTECTION DELAY
DS2775/6/7/8 toc02
DS2775/6/7/8 toc01
CC FET
GATE
2V/div
2V/div
DC FET
GATE
0V
2V/div
0V
CC FET
SOURCE
2V/div
DC FET
SOURCE
0V
0V
1V/div
1V/div
VGS
0V
20mV/div
0V
0
2
4
6
VSNS 25mΩ
SENSE RESISTOR
WITH DISCHARGEOVERCURRENT
8 10 12 14 16 18 20 THRESHOLD = 38mV
TIME (ms)
VGS CC FET
0V
0V
20mV/div
0
5
VSNS 25mΩ
SENSE RESISTOR
WITH CHARGEOVERCURRENT
10 15 20 25 30 35 40 45 50 THRESHOLD = 25mV
TIME (μs)
SHORT-CIRCUIT PROTECTION
DELAY
DC FET GATE TURN-OFF DURING
SHORT-CIRCUIT EVENT
DS2775/6/7/8 toc04
DS2775/6/7/8 toc03
2V/div
2V/div
DC FET
GATE
0V
DC FET
GATE
0V
2V/div
2V/div
DC FET
SOURCE
0V
DC FET
SOURCE
0V
1V/div
1V/div
VSNS 25mΩ
SENSE RESISTOR
WITH SHORT-CIRCUIT
THRESHOLD = 150mV
50mV/div
0V
0
2
4
6
8
VGS DC FET
0V
VGS DC FET
0V
100mV/div
0V
0
10 12 14 16 18 20
VSNS 25mΩ
SENSE RESISTOR
WITH SHORT-CIRCUIT
THRESHOLD = 150mV
20 40 60 80 100 120 140 160 180 200
TIME (μs)
TIME (μs)
VOLTAGE MEASUREMENT
ACCURACY
CHARGE-PUMP STARTUP EXITING SLEEP
MODE (VDD = 8V NO LOAD ON PK+)
18
16
7
VOLTAGE (V)
+70°C
12
10
+25°C
8
12.6V
6
-20°C
14
DS2775/6/7/8 toc06
8
DS2775/6/7/8 toc05
20
ACCURACY (mV)
DS2775/DS2776/DS2777/DS2778
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
5
4
3
2.75V
6
2
4
0
2
0
-2
0
1
2
VINX (V)
6
3
4
0
10 20 30 40 50 60 70 80 90 100
TIME (ms)
_______________________________________________________________________________________
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
CURRENT MEASUREMENT
ACCURACY
6
1
5
-25
0
LSB (1.5625μV)
+25°C
25
DS2775/6/7/8 toc09
2
DS2775/6/7/8 toc08
-20°C
1kΩ RESISTOR FROM PLS TO PK+
IRC (mA)
ACCURACY (μV)
75
7
DS2775/6/7/8 toc07
125
CURRENT MEASUREMENT OFFSET
vs. TEMPERATURE
IRC vs. VDD
4
3
+70°C
-1
-2
2
-3
1
-4
-75
125
-0.052
0
-0.032
-0.012
0.008
VSNS (mV)
0.028
0.048
-5
0
1
2
3
4
5
6
-20
0
VDD (V)
20
40
60
TEMPERATURE (°C)
Pin Description
PIN
NAME
FUNCTION
1
CC
Charge Control. Charge FET control output.
2
VDD
Chip-Supply Input. Bypass with 0.1μF to VSS.
3
DC
Discharge Control. Discharge FET control output.
4
VIN2
Battery Voltage Sense Input 2. Connect to highest voltage potential positive cell terminal through
decoupling network.
5
VIN1
Battery Voltage Sense Input 1. Connect to lowest voltage potential positive cell terminal through decoupling
network.
6
VB
Regulated Operating Voltage. Bypass with 0.1μF to VSS.
7
VSS
Device Ground. Chip ground and battery-side sense resistor input.
8
SNS
Sense Resistor Connection. Pack-side sense resistor sense input.
9
PIO
Programmable I/O. Can be configured as wake input.
10
PLS
Pack Plus Terminal Sense Input. Used to detect the removal of short-circuit, discharge overcurrent, and
charge overcurrent conditions.
11
SDA/DQ
Data Input/Output. Serial data I/O, includes weak pulldown to detect system disconnect and can be
configured as wake input for 1-Wire devices.
12
SCL/OVD
Serial Clock Input/Overdrive Select. Communication clock for 2-wire devices/overdrive select pin for
1-wire devices.
13
SRC
14
CP
Charge Pump Output. Generates gate drive voltage for protection FETs. Bypass with 0.47μF to SRC.
—
EP
Exposed Pad. Connect to ground or no connection.
Protection MOSFET Source Connection. Used as a reference for the charge pump.
_______________________________________________________________________________________
7
DS2775/DS2776/DS2777/DS2778
Typical Operating Characteristics (continued)
(TA = +25°C, unless otherwise noted.)
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
DS2775/DS2776/DS2777/DS2778
Block Diagram
VOLTAGE
POWER-MODE
CONTROL
PLS
DC
CURRENT
15-BIT + SIGN
ADC
SNS
PRECISION ANALOG
OSCILLATOR
VREF
VSS
TEMPERATURE
CONTROL AND
STATUS REGISTERS
PIO LOGIC
CHARGE
PUMP
32-BYTE
PARAMETER
EEPROM
VOLTAGE
REGULATOR
COMMUNICATION
INTERFACE
PIN
DRIVERS
AND
POWER
SWITCH
CONTROL
16-BYTE USER
EEPROM
VB
DS2775–DS2778
VB INTERNAL
FuelPack is a trademark of Maxim Integrated Products, Inc.
8
VIN1
FET DRIVERS
CP
VDD
VIN2
Li+
PROTECTOR
FuelPack™
ALGORITHM
CC
10-BIT + SIGN
ADC/MUX
_______________________________________________________________________________________
SDA/DQ
SCL/OVD
PIO
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
PK+
1kΩ
1kΩ
PLS
150Ω
DATA
CC
SRC
DC
1kΩ
VDD
VIN2
DQ
VB
CP
0.47μF
VSS OVD
SNS
0.1μF
1kΩ
VIN1
DS2775
DS2776
PIO
5.1V
150Ω
1kΩ
0.1μF
SRC
RSNS
PK-
DS2777/DS2778 Typical Application Circuit
PK+
1kΩ
1kΩ
PLS
150Ω
SDA
SDA
SCL
SCL
150Ω
5.1V
CC
5.1V
0.1μF
SRC
DC
1kΩ
VIN1
DS2777
DS2778
CP
0.47μF
VSS
SNS
1kΩ
VDD
VIN2
PIO
VB
150Ω
1kΩ
0.1μF
SRC
RSNS
PK-
_______________________________________________________________________________________
9
DS2775/DS2776/DS2777/DS2778
DS2775/DS2776 Typical Application Circuit
DS2775/DS2776/DS2777/DS2778
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
Detailed Description
The DS2775–DS2778 function as an accurate fuel
gauge, Li+ protector, and SHA-1-based authentication
token (SHA-1-based authentication available only on
the DS2776/DS2778). The fuel gauge provides accurate estimates of remaining capacity and reports timely
voltage, temperature, and current measurement data.
Capacity estimates are calculated from a piecewise linear model of the battery performance over load and
temperature along with system parameters for charge
and end-of-discharge conditions. The algorithm parameters are user programmable and can be modified
within the pack. Critical capacity and aging data are
periodically saved to EEPROM in case of short-circuit
or deep-depletion events.
The Li+ protection function ensures safe, high-performance operation. nFET protection switches are driven
with a charge pump that maintains gate drive as the
cell voltage decreases. The high-side topology preserves the ground path for serial communication while
eliminating the parasitic charge path formed when the
fuel-gauge IC is located inside the protection FETs in a
low-side configuration. The thresholds for overvoltage,
undervoltage, overcurrent, and short-circuit current are
user programmable for customization to each cell and
application.
The 32-bit-wide SHA-1 engine with 64-bit secret and
64-bit challenge words resists brute force and other
attacks with financial-level HMAC security. The challenge of managing secrets in the supply chain is
addressed with the compute next secret feature. The
unique serial number or ROM ID can be used to assign
a unique secret to each battery.
Power Modes
The DS2775–DS2778 have two power modes: active
and sleep. On initial power-up, the DS2775–DS2778
default to active mode. In active mode, the DS2775–
DS2778 are fully functional with measurements and
capacity estimation registers continuously updated.
The protector circuit monitors battery pack, cell voltages, and battery current for safe conditions. The protection FET gate drivers are enabled when conditions
are deemed safe. Also, the SHA-1 authentication function is available in active mode. When an SHA-1 computation is performed, the supply current increases to
IDD2 for tSHA. In sleep mode, the DS2775–DS2778 con-
serve power by disabling measurement and capacity
estimation functions, but preserve register contents.
Gate drive to the protection FETs is disabled in sleep;
the SHA-1 authentication feature is not operational.
The IC enters sleep mode under two different conditions: bus low and undervoltage. An enable bit makes
entry into sleep optional for each condition. Sleep mode
is not entered if a charger is connected (VPLS > VDD +
VCD) or if a charge current of 1.6mV/RSNS measured
from SNS to VSS. The DS2775–DS2778 exit sleep mode
upon charger connection or a low-to-high transition on
any communication line. The bus-low condition, where
all communication lines are low for tSLEEP, indicates
pack removal or system shutdown in which the bus
pullup voltage, V PULLUP, is not present. The power
mode (PMOD) bit must be set to enter sleep when a
bus-low condition occurs. After the DS2775–DS2778
enter sleep due to a bus-low condition, it is assumed
that no charge or discharge current flows and that
coulomb counting is unnecessary.
The second condition to enter sleep is an undervoltage
condition, which reduces battery drain due to the
DS2775–DS2778 supply current and prevents overdischarging the cell. The DS2775–DS2778 transition to
sleep mode if the VIN1 or VIN2 voltage is less than VUV
and the undervoltage enable (UVEN) bit is set. The
communication bus must be in a static state, that is,
with DQ (SDA and SCL for 2-wire) either high or low for
t SLEEP . The DS2775–DS2778 transition from sleep
mode to active mode when DQ (SDA and SCL for
2-wire) changes logic state. See Figures 1 and 2 for
more information on sleep-mode state.
The DS2775–DS2778 have a “power switch” capability
for waking the device and enabling the protection FETs
when the host system is powered down. A simple dry
contact switch on the PIO pin or DQ pin can be used to
wake up the battery pack. The power-switch function is
enabled using the PSPIO and PSDQ configuration bits
in the Control register.
When PSPIO or PSDQ are set and sleep mode is
entered through the PMOD condition*, the PIO and DQ
pins pull high, respectively. Sleep mode is exited upon
the detection of a low-going transition on PIO or DQ.
PIO has a 100ms debounce period to filter out glitches
that can be caused when a sleeping battery is inserted
into a system.
*The “power switch” feature is disabled if sleep mode is
entered because of a UV condition.
10
______________________________________________________________________________________
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
RISING EDGE ON DQ
SLEEP
PSPIO = 0
PSDQ = 0
ACTIVE
PMOD = 0
UVEN = 0
RISING EDGE ON SDA OR SCL
DS2775/DS2776/DS2777/DS2778
ACTIVE
PMOD = 0
UVEN = 0
SLEEP
PSPIO = 0
PSDQ = X
CHARGER DETECT
CHARGER DETECT
VIN1 OR VIN2 < VUV
PULL DQ LOW
ACTIVE
PMOD = 0
UVEN = 1
VIN1 OR VIN2 < VUV
SLEEP
PSPIO = 0
PSDQ = 1
ACTIVE
PMOD = 0
UVEN = 1
RISING EDGE ON SDA OR SCL
SLEEP
PSPIO = 0
PSDQ = X
CHARGER DETECT
CHARGER DETECT
PULL PIO LOW
PULL PIO LOW
ACTIVE
PMOD = 1
UVEN = 0
PULL DQ LOW FOR tSLEEP
SLEEP
PSPIO = 1
PSDQ = 0
ACTIVE
PMOD = 1
UVEN = 0
RISING EDGE ON SDA OR SCL
SLEEP
PSPIO = 1
PSDQ = X
CHARGER DETECT
RISING EDGE ON DQ
ACTIVE
PMOD = 1
UVEN = 1
CHARGER DETECT
PULL SDA AND SCL LOW
FOR tSLEEP
PULL PIO LOW
VIN1 OR VIN2 < VUV
PULL DQ LOW FOR tSLEEP
PULL PIO LOW
VIN1 OR VIN2 < VUV
SLEEP
PSPIO = 1
PSDQ = 1
ACTIVE
PMOD = 1
UVEN = 1
RISING EDGE ON SDA OR SCL
PULL DQ LOW
CHARGER DETECT
CHARGER DETECT
PULL SDA AND SCL LOW
FOR tSLEEP
Figure 1. Sleep-Mode State Diagram for DS2775/DS2776
Li+ Protection Circuitry
During active mode, the DS2775–DS2778 constantly
monitor SNS, VIN1, VIN2, and PLS to protect the battery
from overvoltage (overcharge), undervoltage (overdischarge), and excessive charge and discharge currents
(overcurrent, short circuit). Table 1 summarizes the
conditions that activate the protection circuit, the
response of the DS2775–DS2778, and the thresholds
that release the DS2775–DS2778 from a protection
state. Figure 3 shows Li+ protection circuitry example
waveforms.
SLEEP
PSPIO = 1
PSDQ = X
Figure 2. Sleep-Mode State Diagram for DS2777/DS2778
Overvoltage (OV)
If either of the voltages on (VIN2 - VIN1) or (VIN1 - VSS)
exceeds the overvoltage threshold, VOV, for a period
longer than overvoltage delay, tOVD, the CC pin is driven low to shut off the external charge FET and the OV
flag in the Protection register is set. The DC output
remains high during overvoltage to allow discharging.
When (V IN2 - V IN1) and (V IN1 - V SS) falls below the
charge-enable threshold, VCE, the DS2775–DS2778
turn the charge FET on by driving CC high. The
DS2775–DS2778 drive CC high before [(VIN2 - VIN1)
and (VIN1 - VSS)] < VCE if a discharge condition persists with VSNS ≥ 1.2mV and [(VIN2 - VIN1) and (VIN1 VSS)] < VOV.
______________________________________________________________________________________
11
DS2775/DS2776/DS2777/DS2778
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
Table 1. Li+ Protection Conditions and DS2775/DS2776 Responses
ACTIVATION
CONDITION
RELEASE THRESHOLD
THRESHOLD
DELAY
RESPONSE
Overvoltage (OV) (Note 1)
VCELL > VOV
tOVD
CC Off
Both VCELL < VCE or
(VSNS 1.2mV and both
VCELL < VOV) (Note 1)
Undervoltage (UV) (Note 1)
VCELL < VUV
tUVD
CC Off, DC Off,
Sleep Mode (Note 2)
VPLS > VIN2 (charger connected)
or (both VCELL > VUV and
UVEN = 0) (Note 3)
Overcurrent, Charge (COC)
VSNS < VCOC
tOCD
CC Off, DC Off
VPLS < VDD – VTP
(charger removed) (Note 4)
Overcurrent, Discharge
(DOC)
VSNS > VDOC
tOCD
DC Off
VPLS > VDD – VTP
(load removed) (Note 5)
VSNS > VSC
tSCD
DC Off
VPLS > VDD – VTP (Note 5)
Short Circuit (SC)
Note 1: VCELL is defined as (VIN1 - VSS) or (VIN2 - VIN1).
Note 2: Sleep mode is only entered if UVEN = 1.
Note 3: If VCELL < VUV when a charger connection is detected, release is delayed until VCELL ≥ VUV. The recovery charge path provides an internal current limit (IRC) to safely charge the battery.
Note 4: With test current IPPD flowing from PLS to VSS (pulldown on PLS) enabled.
Note 5: With test current ITST flowing from VDD to PLS (pullup on PLS).
VOV
VCE
VIN
VUV
DISCHARGE
VSC
VDOC
VSNS
0
-VCOC
CHARGE
VOHCC
VCP
CC
tOVD
tOVD
tOCD
tUVD
VDD
VCP
DC
tSCO
tOCD
tUVD
VPLS
POWER
MODE
*IF UVEN = 1.
Figure 3. Li+ Protection Circuitry Example Waveforms
12
______________________________________________________________________________________
ACTIVE
SLEEP*
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
Overcurrent, Charge Direction (COC)
Charge current develops a negative voltage on VSNS
with respect to VSS. If VSNS is less than the charge
overcurrent threshold, VCOC, for a period longer than
overcurrent delay, tOCD, the DS2775–DS2778 shut off
both external FETs and set the COC flag in the
Protection register. The charge current path is not reestablished until the voltage on the PLS pin drops
below (VDD - VTP). The DS2775–DS2778 provide a test
current of value IPPD from PLS to VSS, pulling PLS up,
in order to detect the removal of the offending charge
current source.
Overcurrent, Discharge Direction (DOC)
Discharge current develops a positive voltage on VSNS
with respect to VSS. If VSNS exceeds the discharge
overcurrent threshold, VDOC, for a period longer than
tOCD, the DS2775–DS2778 shut off the external discharge FET and set the DOC flag in the Protection register. The discharge current path is not reestablished
until the voltage on PLS rises above (VDD - VTP). The
DS2775–DS2778 provide a test current of value ITST
from VDD to PLS, pulling PLS up, in order to detect the
removal of the offending low-impedance load.
Short Circuit (SC)
If V SNS exceeds short-circuit threshold, V SC , for a
period longer than short-circuit delay, t SCD , the
DS2775–DS2778 shut off the external discharge FET
and set the DOC flag in the Protection register. The
discharge current path is not reestablished until the
voltage on PLS rises above (VDD - VTP). The DS2775–
DS2778 provide a test current of value ITST from VDD
to PLS, pulling PLS up, in order to detect the removal
of the short circuit.
All the protection conditions described are logic
ANDed to affect the CC and DC outputs.
CC = (overvoltage) AND (undervoltage) AND
(overcurrent, charge direction) AND (Protection register
bit CE = 0)
DC = (undervoltage) AND (overcurrent, either direction)
and (short circuit) AND (Protection register bit
DE = 0)
Voltage Measurements
Cell voltages are measured every 440ms. The lowest
potential cell, VIN1, is measured with respect to VSS.
The highest potential cell, V IN2 , is measured with
respect to VIN1. Battery voltages are measured with a
range of -5V to +4.9951V and a resolution of 4.8828mV
and placed in the Result register in two’s complement
form. Voltages above the maximum register value are
reported as 7FE0h.
MSB - ADDRESS 0Ch, VIN1 - VSS
LSB - ADDRESS 0Dh, VIN1 - VSS
MSB - ADDRESS 1Ch, VIN2 - VIN1
S
MSb
29
28
27
26
“S”: SIGN BITS(S), “X”: RESERVED
25
LSB - ADDRESS 1Dh, VIN2 - VIN1
24
23
LSb
22
MSb
21
20
X
X
X
X
X
LSb
UNITS: 4.883mV
Figure 4. Voltage Register Format
______________________________________________________________________________________
13
DS2775/DS2776/DS2777/DS2778
Undervoltage (UV)
If the average of the voltages on (V IN2 - V IN1 ) or
(VIN1 - VSS) drops below the undervoltage threshold,
VUV, for a period longer than undervoltage delay, tUVD,
the DS2775–DS2778 shut off the charge and discharge
FETs and set the UV flag in the Protection register. If
UVEN is set, the DS2775–DS2778 also enter sleep
mode. When a charger is detected and VPLS > VIN2,
the DS2775–DS2778 provide a current-limited recovery
charge path (IRC) from PLS to VDD to gently charge
severely depleted cells. The recovery charge path is
enabled when 0 ≤ [(VIN2 - VIN1) and (VIN1 - VSS)] <
V CE . The FETs remain off until (V IN2 - V IN1 ) and
(VIN1 - VSS) exceed VUV.
DS2775/DS2776/DS2777/DS2778
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
Temperature Measurement
The DS2775–DS2778 use an integrated temperature
sensor to measure battery temperature with a resolution
of 0.125°C. Temperature measurements are updated
every 440ms and placed in the Temperature register in
two’s complement form.
Current Measurement
In active mode, the DS2775–DS2778 continuously measure the current flow into and out of the battery by measuring the voltage drop across a low-value current-sense
resistor, RSNS. The voltage-sense range between SNS
and VSS is ±51.2mV with a least significant byte (LSB) of
1.5625µV. The input linearly converts peak signal amplitudes up to 102.4mV as long as the continuous signal
level (average over the conversion cycle period) does
not exceed ±51.2mV. The ADC samples the input differentially at 18.6kHz and updates the Current register at
the completion of each conversion cycle (3.52s). Charge
currents above the maximum register value are reported
as 7FFFh. Discharge currents below the minimum register value are reported as 8000h.
The Average Current register reports an average current level over the preceding 28.16s. The register value
is updated every 28.16s in two’s complement form and
represents an average of the eight preceding Current
register values.
MSB—ADDRESS 0Ah
S
29
28
27
26
25
LSB—ADDRESS 0Bh
24
MSb
23
22
LSb
MSb
“S”: SIGN BIT(S), “X”: RESERVED
21
20
X
X
X
X
X
LSb
UNITS: 0.125°C
Figure 5. Temperature Register Format
MSB—ADDRESS 0Eh
S
214
213
212
211
210
LSB—ADDRESS 0Fh
29
MSb
28
27
LSb
MSb
26
25
24
23
22
21
20
LSb
UNITS: 1.5625μV/RSNS
“S”: SIGN BIT(S)
Figure 6. Current Register Format
MSB—ADDRESS 08h
S
214
213
212
211
MSb
“S”: SIGN BIT(S)
210
LSB—ADDRESS 09h
29
28
LSb
27
26
25
24
23
22
MSb
UNITS: 1.5625μV/RSNS
Figure 7. Average Current Register Format
14
______________________________________________________________________________________
21
20
LSb
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
Current Blanking
Every 1024th conversion, the ADC measures its input
offset to facilitate offset correction. Offset correction
occurs approximately once per hour. The resulting correction factor is applied to the subsequent 1023 measurements. During the offset correction conversion, the
ADC does not measure the sense resistor signal. A
maximum error of 1/1024 in the Accumulated Current
register (ACR) is possible; however, to reduce the error,
the current measurement made just prior to the offset
conversion is retained in the Current register and is
substituted for the dropped current measurement in the
current accumulation process. Therefore the accumulated current error due to offset correction is typically
much less than 1/1024.
The current blanking feature modifies current measurement result prior to being accumulated in the ACR.
Current blanking occurs conditionally when a current
measurement (raw current and COBR) falls in one of
two defined ranges. The first range prevents charge
currents less than 100µV from being accumulated. The
second range prevents discharge currents less than
25µV in magnitude from being accumulated. Charge
current blanking is always performed; however, discharge current blanking must be enabled by setting the
NBEN bit in the Control register. See the Control register description for additional information.
Current Offset Bias
The current offset bias value (COB) allows a programmable offset value to be added to raw current measurements. The result of the raw current measurement plus
COB is displayed as the current measurement result in
the Current register and is used for current accumulation. COB 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 COB. Whenever the COB is written, the new value is applied to all subsequent current
measurements. COB can be programmed in 1.56µV
steps to any value between -199.7µV and +198.1µV.
The COBR value is stored as a two’s complement value
in volatile memory and must be initialized through the
interface on power-up. The factory default value is 00h.
Current Measurement Gain
The DS2775–DS2778’s current measurement gain can
be adjusted through the RSGAIN register, which is factory calibrated to meet the data sheet specified accuracy.
RSGAIN is user accessible and can be reprogrammed
after module or pack manufacture to improve the current
measurement accuracy. Adjusting RSGAIN can correct
for variation in an external sense resistor’s nominal value
and allows the use of low-cost, nonprecision currentsense resistors. RSGAIN is an 11-bit value stored in 2
bytes of the parameter EEPROM memory block. The
RSGAIN value adjusts the gain from 0 to 1.999 in steps
of 0.001 (precisely 2–10). The user must use caution
when programming RSGAIN to ensure accurate current
measurement. When shipped from the factory, the gain
calibration value is stored in two separate locations in the
parameter EEPROM block, RSGAIN, which is reprogrammable and FRSGAIN, which is read-only. RSGAIN determines the gain used in the current measurement. The
ADDRESS 7Bh
26
S
25
24
23
22
21
MSb
20
LSb
UNITS: 1.56μV/RSNS
“S”: SIGN BIT(S)
Figure 8. Current Offset Bias Register Format
MSB—ADDRESS 78h
X
SC0
OC1
MSb
OC0
X
20
LSB—ADDRESS 79h
2-1
2-2
LSb
“S”: SIGN BIT(S)
2-3
2-4
MSb
2-5
2-6
2-7
2-8
2-9
2-10
LSb
UNITS: 2–10
Figure 9. RSGAIN Register
______________________________________________________________________________________
15
DS2775/DS2776/DS2777/DS2778
Current Offset Correction
DS2775/DS2776/DS2777/DS2778
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
FRSGAIN value is provided to preserve the factory calibration value only and is not used to calibrate the current
measurement. The 16-bit FRSGAIN value is readable
from addresses B0h and B1h.
Sense-Resistor Temperature
Compensation
The DS2775–DS2778 can temperature compensate the
current-sense resistor to correct for variation in a sense
resistor’s value over temperature. The DS2775–DS2778
are factory programmed with the sense-resistor temperature coefficient, RSTC, set to zero, which turns off the
temperature compensation function. RSTC is user
accessible and can be reprogrammed after module or
pack manufacture to improve the current accuracy
when using a high-temperature coefficient currentsense resistor. RSTC is an 8-bit value stored in the
parameter EEPROM memory block. The RSTC value
sets the temperature coefficient from 0 to +7782ppm/°C
in steps of 30.5ppm/°C. The user must program RSTC
cautiously to ensure accurate current measurement.
Temperature compensation adjustments are made when
the Temperature register crosses 0.5°C boundaries. The
temperature compensation is most effective with the
resistor placed as close as possible to the VSS terminal
to optimize thermal coupling of the resistor to the on-chip
temperature sensor. If the current shunt is constructed
with a copper PCB trace, run the trace under the
DS2775–DS2778 package whenever possible.
Current Accumulation
Current measurements are internally summed, or accumulated, at the completion of each conversion period
with the results displayed in the Accumulated Current
register (ACR). The accuracy of the ACR is dependent
on both the current measurement and the conversion
time base. The ACR has a range of 0 to +409.6mVh
with an LSb of 6.25µVh. Additional registers hold fractional results of each accumulation to avoid truncation
errors. The fractional result bits are not user accessible.
Accumulation of charge current above the maximum
register value is reported at the maximum value; conversely, accumulation of discharge current below the
minimum register value is reported at the minimum
value.
Charge currents (positive Current register values) less
than 100µV are not accumulated in order to mask the
effect of accumulating small positive offset errors over
long periods. This effect limits the minimum charge current, for coulomb counting purposes, to 5mA for RSNS
= 0.020Ω and 20mA for RSNS = 0.005Ω (see Table 2 for
more details).
Read and write access is allowed to the ACR. The
ACR must be written most significant byte (MSB) first,
then LSB. Whenever the ACR is written, the fractional
accumulation result bits are cleared. The write must
be completed in 3.5s. A write to the ACR forces the
ADC to perform an offset correction conversion and
update the internal offset correction factor. The current measurement and accumulation begin with the
second conversion following a write to the ACR. To
preserve the ACR value in case of power loss, the
ACR value is backed up to EEPROM. The ACR value
is recovered from EEPROM on power-up. See the
Memory Map for specific address location and backup frequency.
MSB—ADDRESS 10h
215
214
213
212
211
LSB—ADDRESS 11h
210
29
MSb
28
27
LSb
26
25
24
23
22
MSb
21
20
LSb
UNITS: 6.25μV/RSNS
“S”: SIGN BIT(S)
Figure 10. Accumulated Current Register Format
Table 2. Resolution and Range vs. Sense Resistor
TYPE OF RESOLUTION/RANGE
VSS - VSNS
RSNS
20m
15m
10m
5m
78.13μA
104.2μA
156.3μA
312.5μA
Current Resolution
1.5625μV
Current Range
±51.2mV
±2.56
±3.41
±5.12
±10.2
ACR Resolution
6.25μVh
312.5μAh
416.7μAh
625μAh
1.250mAh
±409.6mVh
±20.48Ah
±27.30Ah
±40.96Ah
±81.92Ah
ACR Range
16
______________________________________________________________________________________
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
Modeling Cell Characteristics
In some designs a systematic error or an application
preference requires the application of an arbitrary bias
to the current accumulation process. The Current
Accumulation Bias register (CAB) allows a user-programmed constant positive or negative polarity bias to
be included in the current accumulation process. The
value in CAB can be used to estimate battery currents
that do not flow through the sense resistor, estimate
battery self-discharge, or estimate current levels below
the current measurement resolution. The user-programmed two’s complement value, with bit weighting
the same as the current register, is added to the ACR
once per current conversion cycle. CAB is loaded on
power-up from EEPROM memory.
To achieve reasonable accuracy in estimating remaining capacity, the cell performance characteristics over
temperature, load current, and charge-termination point
must be considered. Since the behavior of Li+ cells is
nonlinear, these characteristics must be included in the
capacity estimation to achieve an acceptable level of
accuracy in the capacity estimation. The FuelPack
method used in the DS2775–DS2778 is described in
general in Application Note 131: Lithium-Ion Cell Fuel
Gauging with Maxim Battery Monitor ICs. To facilitate
efficient implementation in hardware, a modified version
of the method outlined in Application Note 131 is used
to store cell characteristics in the DS2775–DS2778. Full
and empty points are retrieved in a lookup process that
retraces a piecewise linear model consisting of three
model curves named full, active empty, and standby
empty. Each model curve is constructed with five line
segments, numbered 1 through 5. Above 40°C, the segment 5 model curves extend infinitely with zero slope,
approximating the nearly flat change in capacity of Li+
cells at temperatures above +40°C. Segment 4 of each
model curves originates at +40°C on its upper end and
extends downward in temperature to the junction with
segment 3. Segment 3 joins with segment 2, which in
turn joins with segment 1. Segment 1 of each model
curve extends from the junction with segment 2 to infinitely colder temperatures. The three junctions or breakpoints that join the segments (labeled TBP12, TBP23,
and TBP34 in Figure 14) are programmable in 1°C
increments from -128°C to +40°C. The slope or derivative for segments 1, 2, 3, and 4 are also programmable
over a range of 0 to 15,555ppm in steps of 61ppm.
Cycle Counter
The cycle counter is an absolute count of the cumulative discharge cycles. This register is intended to act as
a “cell odometer.” The LSB is two cycles, which allows
a maximum count of 510 discharge cycles. The register
does not loop. Once the maximum value is reached,
the register is clamped. This register is read and write
accessible while the parameter EEPROM memory block
(block 1) is unlocked. The Cycle Count register
becomes read-only once the EEPROM block is locked.
Capacity Estimation Algorithm
Remaining capacity estimation uses real-time measured values and stored parameters describing the cell
characteristics and application operating limits. Figure
13 describes the algorithm inputs and outputs.
ADDRESS 61h
S
26
25
24
23
22
21
MSb
20
LSb
UNITS: 6.25μV/RSNS
“S”: SIGN BIT(S)
Figure 11. Current Accumulation Bias Register Format
ADDRESS 1Eh
27
MSb
26
25
24
23
22
21
20
LSb
UNITS: 2 cycles
Figure 12. Cycle Counter Register Format
______________________________________________________________________________________
17
DS2775/DS2776/DS2777/DS2778
Accumulation Bias
DS2775/DS2776/DS2777/DS2778
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
VOLTAGE
(R)
TEMPERATURE
(R)
FULL
FULL(T)
(R)
ACTIVE EMPTY
AE(T)
(R)
STANDBY EMPTY SE(T)
(R)
CAPACITY LOOKUP
CURRENT
(R)
ACCUMULATED
CURRENT (ACR) (RW)
AVAILABLE CAPACITY CALCULATION
ACR HOUSEKEEPING
AGE ESTIMATOR
AVERAGE CURRENT
(R)
LEARN FUNCTION
REMAINING ACTIVE-ABSOLUTE
CAPACITY (RAAC) mAh
(R)
REMAINING STANDBY-ABSOLUTE
CAPACITY (RSAC) mAh
(R)
REMAINING ACTIVE-RELATIVE
CAPACITY (RARC) %
(R)
REMAINING STANDBY-RELATIVE
CAPACITY (RSRC) %
(R)
CELL MODEL PARAMETERS
(EEPROM)
USER MEMORY (EEPROM)
AGING CAPACITY (AC)
(2 BYTES EE)
16 BYTES
AGE SCALAR (AS)
(1-BYTE EE)
CYCLE COUNTER (EEPROM)
SENSE-RESISTOR PRIME (RSNSP)
(1-BYTE EE)
CHARGE VOLTAGE (VCHG)
(1-BYTE EE)
MINIMUM CHARGE CURRENT (IMIN)
(1-BYTE EE)
ACTIVE-EMPTY VOLTAGE (VAE)
(1-BYTE EE)
ACTIVE-EMPTY CURRENT (IAE)
(1-BYTE EE)
Figure 13. Top-Level Algorithm Diagram
Full
Active Empty
The full curve defines how the full point of a given cell
depends on temperature for a given charge termination. The application’s charge termination method
should be used to determine the table values. The
DS2775–DS2778 reconstruct the full line from cell characteristic table values to determine the full capacity of
the battery at each temperature. Reconstruction occurs
in one-degree temperature increments.
The active-empty curve defines the variation of the
active-empty point over temperature. The active-empty
point is defined as the minimum voltage required for
system operation at a discharge rate based on a highlevel load current (one that is sustained during a highpower operating mode). This load current is
programmed as the active-empty current (IAE), and
should be a 3.5s average value to correspond to values
18
______________________________________________________________________________________
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
SEGMENT 3
SEGMENT 2
SEGMENT 4
DS2775/DS2776/DS2777/DS2778
SEGMENT 1
SEGMENT 5
100%
FULL
DERIVATIVE
(ppm/°C)
CELL
CHARACTERIZATION
DATA
CHARACTERIZATION
ACTIVE
EMPTY
TBP12
STANDBY
EMPTY
TBP23
TBP34
+40°C
Figure 14. Cell Model Example Diagram
read from the Current register. The specified minimum
voltage, or active-empty voltage (VAE), should be a
110ms average value to correspond to the values read
from the voltage register. The VAE value represents the
average of the two cell’s voltages, VIN1 and VIN2. The
DS2775–DS2778 reconstruct the active-empty line from
the cell characteristic table to determine the activeempty capacity of the battery at each temperature.
Reconstruction occurs in one-degree temperature
increments.
Standby Empty
The standby-empty curve defines the variation of the
standby-empty point over temperature. The standbyempty point is defined as the minimum voltage required
for standby operation at a discharge rate dictated by
the application standby current. In typical handheld
applications, standby empty represents the point that
the battery can no longer support DRAM refresh and
thus the standby voltage is set by the minimum DRAM
voltage-supply requirements. In other applications,
standby empty can represent the point that the battery
can no longer support a subset of the full application
operation, such as games or organizer functions. The
standby-load current and voltage are used for determining the cell characteristics but are not programmed
into the DS2775–DS2778. The DS2775–DS2778 reconstruct the standby-empty line from the cell characteristic table to determine the standby-empty capacity of
the battery at each temperature. Reconstruction occurs
in one-degree temperature increments.
Cell Model Construction
The model is constructed with all points normalized to
the fully charged state at +40°C. All values are stored in
the cell parameter EEPROM block. The +40°C full value
is stored in µVhr with an LSB of 6.25µVhr. The +40°C
active-empty value is stored as a percentage of +40°C
______________________________________________________________________________________
19
DS2775/DS2776/DS2777/DS2778
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
full with a resolution of 2-10. Standby empty at +40°C is,
by definition, zero and therefore no storage is required.
The slopes (derivatives) of the four segments for each
model curve are stored in the cell parameter EEPROM
block as ppm/°C. The breakpoint temperatures of each
segment are stored there also (refer to Application Note
3584: Storing Battery Fuel Gauge Parameters in
DS2780 for more details on how values are stored). An
example of data stored in this manner is shown in
Table 3.
CELL MODEL
PARAMETERS
(EEPROM)
Application Parameters
In addition to cell model characteristics, several application parameters are needed to detect the full and
empty points, as well as calculate results in mAh units.
Sense Resistor Prime (RSNSP)
RSNSP stores the value of the sense resistor for use in
computing the absolute capacity results. The value is
stored as a 1-byte conductance value with units of
mhos (1/Ω). RSNSP supports resistor values of 1Ω to
3.922mΩ. RSNSP is located in the parameter EEPROM
block.
RSNSP = 1/RSNS (units of mhos; 1/Ω)
FULL(T)
LOOKUP
FUNCTION
Charge Voltage (VCHG)
VCHG stores the charge voltage threshold used to
detect a fully charged state. The voltage is stored as a
1-byte value with units of 19.5mV and can range from 0
to 4.978V. VCHG should be set marginally less than the
average cell voltage at the end of the charge cycle to
ensure reliable charge termination detection. VCHG is
located in the parameter EEPROM block.
AE(T)
SE(T)
TEMPERATURE
Figure 15. Lookup Function Diagram
Table 3. Example Cell Characterization Table (Normalized to +40°C)
Manufacturer’s Rated Cell Capacity: 1000mAh
Charge Voltage: 4.2V
Termination Current: 50mA
Active Empty (V): 3.0V
Standby Empty (I): 300mA
Sense Resistor: 0.020
SEGMENT BREAKPOINTS
TBP12 = -12°C
TBP23 = 0°C
TBP34 = 18°C
CALCULATED VALUE
Full
+40°C NOMINAL
(mAh)
SEGMENT 2
(ppm/°C)
SEGMENT 3
(ppm/°C)
SEGMENT 4
(ppm/°C)
3601
3113
1163
854
Active Empty
2380
1099
671
305
Standby Empty
1404
427
244
183
20
1051
SEGMENT 1
(ppm/°C)
______________________________________________________________________________________
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
Active-Empty Voltage (VAE)
VAE stores the voltage threshold used to detect the
active-empty point. The value is stored in 1 byte with
units of 19.5mV and can range from 0 to 4.978V. VAE is
stored as an average of the cell’s voltages. VAE is located in the parameter EEPROM block. See the Modeling
Cell Characteristics section for more information.
Active-Empty Current (IAE)
IAE stores the discharge-current threshold used to
detect the active-empty point. The unsigned value represents the magnitude of the discharge current and is
stored in 1 byte with units of 200µV and can range from
0 to 51.2mV. Assuming RSNS = 20mΩ, IAE can be programmed from 0 to 2550mA in 10mA steps. IAE is located in the parameter EEPROM block. See the Modeling
Cell Characteristics section for more information.
Aging Capacity (AC)
AC stores the rated cell capacity, which is used to estimate the decrease in battery capacity that occurs during normal use. The value is stored in 2 bytes in the
same units as the ACR (6.25µVh). When set to the manufacturer’s rated cell capacity, the aging estimation rate
is approximately 2.4% per 100 cycles of equivalent full
capacity discharges. Partial discharge cycles are
added to form equivalent full capacity discharges. The
default aging estimation results in 88% capacity after
500 equivalent cycles. The aging estimation rate can
be adjusted by setting the AC to a value other than the
cell manufacturer’s rating. Setting AC to a lower value
accelerates the aging estimation rate. Setting AC to a
higher value retards the aging estimation rate. The AC
is located in the parameter EEPROM block.
Age Scalar (AS)
AS adjusts the cell capacity estimation results downward to compensate for aging. The AS is a 1-byte value
that has a range of 49.2% to 100%. The LSb is weighted at 0.78% (precisely 2-7). A value of 100% (128 decimal or 80h) represents an unaged battery. A value of
95% is recommended as the starting AS value at the
time of pack manufacture to allow the learning of a larger capacity on batteries that have an initial capacity
greater than the rated cell capacity programmed in the
cell characteristic table. The AS is modified by aging
estimation introduced under aging capacity and by the
learn function.
Batteries are typically considered worn out when the full
capacity reaches 80% of the rated capacity; therefore,
the AS value is not required to range to 0%. It is
clamped to 50% (64 decimal or 40h). If a value of 50%
is read from the AS, the host should prompt the user to
initiate a learning cycle.
The host system has read and write access to the AS;
however, caution should be exercised when writing it to
ensure that the cumulative aging estimate is not overwritten with an incorrect value. The AS is automatically
saved to EEPROM. The EEPROM value is recalled on
power-up.
Capacity Estimation Operation
Cycle-Count-Based Aging Estimation
As previously discussed, the AS register value is
adjusted occasionally based on cumulative discharge.
As the ACR register decrements during each discharge
cycle, an internal counter is incremented until equal to
32 times the AC. The AS is then decremented by one,
resulting in a decrease of the scaled full battery capacity by 0.78% (approximately 2.4% per 100 cycles). The
internal counter is reset in the event of a learn cycle.
See the Aging Capacity (AC) section for recommendations on customizing the age estimation rate.
Learn Function
Because Li+ cells exhibit charge efficiencies near unity,
the charge delivered to a Li+ cell from a known empty
point to a known full point is a dependable measure of
the cell’s capacity. A continuous charge from empty to
full results in a learn cycle. First, the active-empty point
must be detected. The learn flag (LEARNF) is set at this
point. Then, once charging starts, the charge must continue uninterrupted until the battery is charged to full.
Upon detecting full, the LEARNF is cleared, the chargeto-full (CHGTF) flag is set, and the AS is adjusted
according to the learned capacity of the cell.
Full capacity estimation based on the learn function is
more accurate than the cycle-count-based estimation
introduced under aging capacity. The learn function
reflects the current performance of the cell. Cyclecount-based estimation is an approximation derived
from the manufacturer’s recommendation for a typical
cell. Therefore, the internal counter used for cycle-
______________________________________________________________________________________
21
DS2775/DS2776/DS2777/DS2778
Minimum Charge Current (IMIN)
IMIN stores the charge-current threshold used to detect
a fully charged state. It is stored as a 1-byte value with
units of 50µV (IMIN x RSNS) and can range from 0 to
12.75mV. Assuming RSNS = 20mΩ, IMIN can be programmed from 0 to 637.5mA in 2.5mA steps. IMIN
should be set marginally greater than the charge current at the end of the charge cycle to ensure reliable
charge termination detection. IMIN is located in the
parameter EEPROM block.
DS2775/DS2776/DS2777/DS2778
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
count-based estimation is reset after a learn cycle. The
cycle-count-based estimation is used only in the
absence of a learn cycle.
ACR Housekeeping
The ACR value is adjusted occasionally to maintain the
coulomb count within the model curve boundaries. When
the battery is charged to full (CHGTF set), the ACR is set
equal to the age-scaled full lookup value at the present
temperature. If a learn cycle is in progress, correction of
the ACR value occurs after the AS is updated. When an
empty condition is detected (LEARNF and/or AEF set),
the ACR adjustment is conditional:
• If the AEF is set and the LEARNF is not set, the
active-empty point was not detected. The battery is
likely below the active-empty capacity of the model.
The ACR is set to the active-empty model value at
present temperature only if it is greater than the
active-empty model value at present temperature.
• If the AEF is set, the LEARNF is not set, and the ACR
is below the active-empty model value at present
temperature, the ACR is not updated.
• If the LEARNF is set, the battery is at the activeempty point and the ACR is set to the active-empty
model value.
Full Detect
Full detection occurs when the average of VIN1 and
VIN2 voltage registers remain continuously above the
charge voltage (VCHG) threshold for the duration of two
average current (IAVG) readings, and both IAVG readings are below terminating current (IMIN). The two consecutive IAVG readings must also be positive and
nonzero (>16 LSB). This ensures that removing the battery from the charger does not result in a false detection of full. Full detect sets the charge to full (CHGTF)
bit in the Status register.
Active-Empty Point Detect
Active-empty point detection occurs when the average
of VIN1 and VIN2 voltage registers drops below the VAE
threshold and the two previous current readings are
above IAE. This captures the event of the battery reaching the active-empty point. Note that the two previous
current readings must be negative and greater in magnitude than IAE (i.e., a larger discharge current than
specified by the IAE threshold). Qualifying the voltage
22
level with the discharge rate ensures that the activeempty point is not detected at loads much lighter than
those used to construct the model. Also, the activeempty point must not be detected when a deep discharge at a very light load is followed by a load greater
than IAE. Either case would cause a learn cycle on the
following charge to include part of the standby capacity
in the measurement of the active capacity. Activeempty point detection sets the learn flag (LEARNF) bit
in the Status register.
Note: Do not confuse the active-empty point with the
active-empty flag. The active-empty flag is set only
when the VAE threshold is passed.
Result Registers
The DS2775–DS2778 process measurement and cell
characteristics on a 3.5s interval and yield seven result
registers. The result registers are sufficient for direct
display to the user in most applications. The host system can produce customized values for system use or
user display by combining measurement, result, and
user EEPROM values.
Full(T)
The full capacity of the battery at the present temperature is reported normalized to the +40°C full value. This
15-bit value reflects the cell model full value at the
given temperature. The Full(T) register reports values
between 100% and 50% with a resolution of 61ppm
(precisely 2-14). Though the register format permits values greater than 100%, the register value is clamped to
a maximum value of 100%.
Active Empty, AE(T)
The active-empty capacity of the battery at the present
temperature is reported normalized to the +40°C full
value. This 13-bit value reflects the cell model activeempty value at the given temperature. The AE(T) register reports values between 0% and 49.8% with a
resolution of 61ppm (precisely 2-14).
Standby Empty, SE(T)
The standby-empty capacity of the battery at the present temperature is reported normalized to the +40°C
full value. This 13-bit value reflects the cell model
standby-empty value at the current temperature. The
SE(T) register reports values between 0% and 49.8%
with a resolution of 61ppm (precisely 2-14).
______________________________________________________________________________________
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
214
213
212
211
LSB—ADDRESS 03h
210
29
28
MSb
27
LSb
26
25
24
23
22
21
MSb
20
LSb
UNITS: 1.6mAh
Figure 16. Remaining Active Absolute Capacity (RAAC) [mAh]
The RAAC register reports the capacity available under the current temperature conditions to the the active-empty
point in absolute units of milliamps/hour (mAh). RAAC is 16 bits.
MSB—ADDRESS 04h
215
214
213
212
211
LSB—ADDRESS 05h
210
29
28
MSb
27
LSb
26
25
24
23
22
MSb
21
20
LSb
UNITS: 1.6mAh
Figure 17. Remaining Standby Absolute Capacity (RSAC) [mAh]
The RSAC register reports the remaining battery capacity available under the current temperature conditions to the
standby-empty point capacity in absolute units of milliamps/hour (mAh). RSAC is 16 bits.
MSB–ADDRESS 06h
215
214
213
212
211
210
29
MSb
28
LSb
UNITS: 1%
Figure 18. Remaining Active Relative Capacity (RARC) [%]
The RARC register reports the remaining battery capacity available under the current temperature conditions to the
active-empty point in relative units of percent (%). RARC is 8 bits.
MSB–ADDRESS 07h
215
214
213
212
211
210
MSb
29
28
LSb
UNITS: 1%
Figure 19. Remaining Standby Relative Capacity (RSRC) [%]
The RSRC register reports the remaining battery capacity available under the current temperature conditions to the
standby-empty point capacity in relative units of percent (%). RSRC is 8 bits.
Calculation of Results
RAAC [mAh] = (ACR[mVh] - AE(T) x FULL40[mVh]) x RSNSP [mhos]*
RSAC [mAh] = (ACR[mVh] - SE(T) x FULL40[mVh]) x RSNSP [mhos]*
RARC [%] = 100% x (ACR[mVh] - AE(T) x FULL40[mVh])/{(AS x FULL(T) - AE(T)) x FULL40[mVh]}
RSRC [%] = 100% x (ACR[mVh] - SE(T) x FULL40[mVh])/(AS x FULL(T) - SE(T)) x FULL40[mVh]}
*RSNSP = 1/RSNS
______________________________________________________________________________________
23
DS2775/DS2776/DS2777/DS2778
MSB—ADDRESS 02h
215
DS2775/DS2776/DS2777/DS2778
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
Protection, Status, and Control Registers
Protection Register Format
The Protection register reports events detected by the Li+ safety circuit on bits [7:2]. Bits 0 and 1 are used to disable
the charge and discharge FET gate drivers. Bits [7:2] are set by internal hardware only. Bits 2 and 3 are cleared by
hardware only. Bits [7:4] are cleared by writing the register with a 0 in the bit position of interest. Writing a 1 to bits
[7:4] has no effect on the register. Bits 0 and 1 are set on power-up and a transition from sleep to active modes.
While in active mode, these bits can be cleared to disable the FET gate drive of either or both FETs. Setting these
bits only turns on the FETs if there are no protection faults.
Protection Register (00h)
BIT 7
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
OV
UV
COC
DOC
CC
DC
CE
DE
Bit 7: Overvoltage Flag (OV). OV is set to indicate that an overvoltage condition has been detected. The average of
the voltages on VIN1 and VIN2 has persisted above the OV threshold for tOVD. OV remains set until written to 0,
cleared by a power-on reset, or transitioned to sleep mode.
Bit 6: Undervoltage Flage (UV). UV is a read-only mirror of the UVF flag located in the Status register. UVF is set to
indicate that the average of the voltages on VIN1 and VIN2 has persisted below the UV threshold for tUVD. The UVF
bit must be written to 0 to clear UV and UVF.
Bit 5: Charge Overcurrent Flag (COC). COC is set to indicate that an overcurrent condition has occurred while
charging. The sense-resistor voltage has persisted above the COC threshold for tOC. COC remains set until written
to 0, cleared by a power-on reset, or transitioned to sleep mode.
Bit 4: Discharge Overcurrent Flag (DOC). DOC is set to indicate that an overcurrent condition has occurred while
discharging. The sense-resistor voltage has persisted above the DOC threshold for tOC. DOC remains set until written to 0, cleared by a power-on reset, or transitioned to sleep mode.
Bit 3: Charge Control Flag (CC). CC indicates the logic state of the CC pin driver. The CC flag is set to indicate CC
high and is cleared to indicate CC low. The CC flag is read-only.
Bit 2: Discharge Control Flag (DC). DC indicates the logic state of the DC pin driver. DC flag is set to indicate DC
high and is cleared to indicate DC low. DC flag is read-only.
Bit 1: Charge-Enable Bit (CE). CE must be set to allow the CC pin to drive the charge FET to the on state. CE acts
as an enable input to the safety circuit. If all safety conditions are met and CE is set, the CC pin drives to VCP. If CE
is cleared, the CC pin is driven low to disable the charge FET. The power-up default state of CE is 1.
Bit 0: Discharge-Enable Bit (DE). DE must be set to allow the DC pin to drive the discharge FET to the on state. DE
acts as an enable input to the safety circuit. If all safety conditions are met and DE is set, the DC pin drives to VCP. If
DE is cleared, the DC pin is driven low to disable the charge FET. The power-up default state of DE is 1.
24
______________________________________________________________________________________
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
The Status register contains bits that report the device status. All bits are set internally. The CHGTF, AEF, SEF,
LEARNF, and VER bits are read-only. The UVF and PORF bits can be cleared by writing a 0 to the bit locations.
Status Register (01h)
BIT 7
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
CHGTF
AEF
SEF
LEARNF
X
UVF
PORF
X
Bit 7: Charge-Termination Flag (CHGTF). CHGTF is set to indicate that the average of the voltages on VIN1 and
VIN2 and the Average Current register values have persisted above the VCHG and below the IMIN thresholds sufficiently long enough to detect a fully charged condition. CHGTF is cleared when RARC is less than 90%. CHGTF is
read-only.
Bit 6: Active-Empty Flag (AEF). AEF is set to indicate that the battery is at or below the active-empty point. AEF is
set when the average of the voltages on VIN1 and VIN2 is less than the VAE threshold. AEF is cleared when RARC is
greater than 5%. AEF is read-only.
Bit 5: Standby-Empty Flag (SEF). SEF is set to indicate RSRC is less than 10%. SEF is cleared when RSRC is
greater than 15%. SEF is read-only.
Bit 4: Learn Flag (LEARNF). LEARNF indicates that the current-charge cycle can be used to learn the battery
capacity. LEARNF is set when the active-empty point is detected. This occurs when the average of the voltages on
VIN1 and VIN2 drops below the VAE threshold and the two previous current register values were negative and
greater in magnitude than the IAE threshold. See the Active-Empty Point Detect section for additional information.
LEARNF is cleared when any of the following occur:
1) Learn cycle completes (CHGTF set).
2) Current register value becomes negative indicating discharge current flow.
3) ACR = 0.
4) ACR value is written or recalled from EEPROM.
5) Sleep mode is entered.
LEARNF is read-only.
Bit 3 and 0: Reserved.
Bit 2: Undervoltage Flag (UVF). UVF is set to indicate that the average of the voltages on VIN1 and VIN2 is less than
VUV and must be written to 0 to allow subsequent undervoltage events to be reported. UVF is not cleared internally.
Writing UVF to 0 is effective only when the average of the voltages on VIN1 and VIN2 is greater than or equal to VUV,
otherwise, UV remains set due to the persistent undervoltage condition. UVF is set on power-up.
Bit 1: Power-On Reset Flag (PORF). PORF is set to indicate initial power-up. PORF is not cleared internally. The
user must write this flag value to a 0 to use it to indicate subsequent power-up events. If PORF indicates a power-on
reset, the ACR could be misaligned with the actual battery state of charge. The system can request a charge to full
to synchronize the ACR with the battery charge state. PORF is read/write to 0.
______________________________________________________________________________________
25
DS2775/DS2776/DS2777/DS2778
Status Register Format
DS2775/DS2776/DS2777/DS2778
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
Control Register Format
All Control register bits are read and write accessible. The Control register is recalled from parameter EEPROM
memory at power-up. Register bit values can be modified in shadow RAM after power-up. Power-up default values
are saved by using the Copy Data command.
Control Register (60h)
BIT 7
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
NBEN
UVEN
PMOD
RNAOP
VUV1
VUV0
PSPIO
PSDQ
Bit 7: Negative Blanking Enable (NBEN). A value of 1 enables blanking of negative current values up to 25µV. A
value of 0 disables blanking of negative currents. The power-up default of NBEN = 0.
Bit 6: Undervoltage Enable (UVEN). A value of 1 allows the DS2775–DS2778 to enter sleep mode when the average of the voltages on VIN1 and VIN2 is less than VUV and DQ is stable at either logic level for tSLEEP. A value of 0
disables transitions to sleep mode during an undervoltage condition.
Bit 5: Power-Mode Enable (PMOD). A value of 1 allows the DS2775–DS2778 to enter sleep mode when DQ is low
for tSLEEP. A value of 0 disables DQ-related transitions to sleep mode.
Bit 4: Read Net Address Op Code (RNAOP). A value of 0 selects 33h as the op code value for the Read Net
Address command. A value of 1 selects 39h as the read net address op code value.
Bit 3 and 2: Undervoltage Threshold (VUV[1:0]). Sets the voltage at which the part detects an undervoltage condition according to Table 4.
Bit 1: Power-Switch PIO Enable (PSPIO). A value of 1 enables the PIO pin as a power-switch input. A value of 0
disables the power-switch input function on PIO pin. This control is independent of the PSDQ state.
Bit 0: Power-Switch DQ Enable (PSDQ). A value of 1 enables the DQ pin as a power-switch input. A value of 0 disables the power-switch input function on DQ pin. This control is independent of the PSPIO state. This bit has no
effect in the DS2777/DS2778.
Table 4. Undervoltage Threshold
26
VUV[1:0] BIT FIELD
VUV (V)
00
2.00
01
2.30
10
2.45
11
2.60
______________________________________________________________________________________
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
The 8-bit Overvoltage Threshold register (VOV) sets the overvoltage threshold for the protection circuitry. An overvoltage condition is detected if either of the voltages on VIN1 or VIN2 exceeds the OV threshold for tOVD. The LSB of
the VOV register is 2 x 5V/1024 = 31.25mV. The VOV set point can be calculated by the following formula.
VOV = (678 + 2 x Overvoltage_Threshold_Register_Value) x 5V/1024
Example:
Overvoltage Threshold register = 1110110b = 118D
VOV = (678 + 2 x 118) x 5V/1024 = 4.46289V
Overvoltage Threshold Register (7Fh)
BIT 7
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
X
VOV6
VOV5
VOV4
VOV3
VOV2
VOV1
VOV0
Table 5. VOV Register Programmability
VOV[6:0] BIT FIELD
V OV
VOV[6:0] BIT FIELD
V OV
0000000
3.311
1110000
4.404
0000001
3.320
1110001
4.414
0000010
3.330
1110010
4.424
0000011
3.340
1110011
4.434
0000100
3.359
1110100
4.443
0000101
3.369
1110101
4.453
0000110
3.379
1110110
4.463
0000111
3.389
1110111
4.473
0001000
3.398
1111000
4.482
0001001
3.408
1111001
4.492
0001010
3.418
1111010
4.502
0001011
3.428
1111011
4.512
0001100
3.438
1111100
4.521
0001101
3.447
1111101
4.531
0001110
3.457
1111110
4.541
0001111
3.467
1111111
4.551
...
...
______________________________________________________________________________________
27
DS2775/DS2776/DS2777/DS2778
Overvoltage Threshold Register Format
DS2775/DS2776/DS2777/DS2778
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
Overcurrent Thresholds
The overcurrent thresholds are set in the upper nibble of the RSGAIN register. The OC1 and OC2 bits set the overcurrent thresholds for the charge and discharge thresholds. The short-circuit threshold is set by the SC0 bit (see
Tables 6 and 7, respectively, for overcurrent and short-circuit threshold values). The DS2775–DS2778 have a built-in
fixed delay of tOCD for overcurrent events and tSCD for short-circuit events. This means that the current ADC must
read a value greater than the overcurrent threshold for longer than tOCD and greater than the short-circuit threshold
for longer than tSCD before turning off the FET. Overcurrent and short-circuit events less than their respective delays
are ignored.
ADDRESS 78h
X
SC0
OC1
OC0
20
X
2-1
MSb
2-2
LSb
Figure 20. Overcurrent and Short-Circuit Threshold Bits Format
Table 6. COC, DOC Programmability
Table 7. SC Programmability
OC[1:0] BIT FIELD
VCOC (mV)
VDOC (mV)
SC0 BIT FIELD
VSC (mV)
00
-25
38
0
150
01
-38
50
1
300
10
-50
75
11
-75
100
Special Feature Register Format
All register bits are read and write accessible with default values specified in each bit definition.
Special Feature Register (15h)
BIT 7
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
X
X
X
X
X
X
SHA_IDLE
PIOB
Bits 7 to 2: Reserved.
Bit 1: SHA Idle Bit (SHA_IDLE). For the DS2777/DS2778, this bit reads logic 1 while an SHA calculation is in
progress and reads logic 0 when the calculation is complete.
Bit 0: PIO Pin Sense and Control Bit (PIOB). Writing a 0 to the PIOB bit activates the PIO pin open-drain output
driver, forcing the PIO pin low. Writing a 1 to PIOB disables the output driver, allowing the PIO pin to be pulled high
or used as an input. Reading PIOB returns the logic level forced on the PIO pin. Note that if the PIO pin is left unconnected with PIOB set, a weak pulldown current source pulls the PIO pin to VSS. PIOB is set to a 1 on power-up.
PIOB is also set in sleep mode to ensure the PIO pin is high-impedance in sleep mode. Note: Do not write PIOB to 0
if PSPIO is enabled.
28
______________________________________________________________________________________
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
The EEPROM register provides access control of the EEPROM blocks. EEPROM blocks can be locked to prevent
alteration of data within the block. Locking a block disables write access to the block. Once a block is locked, it cannot be unlocked. Read access to EEPROM blocks is unaffected by the lock/unlock status.
EEPROM Register Format (1Fh)
BIT 7
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
EEC
LOCK
X
X
X
X
BL1
BL0
Bit 7: EEPROM Copy Flag (EEC). A 1 in this read-only bit indicates that a Copy Data Function command is in
progress. While this bit is high, writes to EEPROM addresses are ignored. A 0 value in this bit indicates that data can
be written to unlocked EEPROM.
Bit 6: EEPROM Lock Enable (LOCK). When the LOCK bit is 0, the Lock Function command is ignored. Writing a 1
to this bit enables the Lock Function command. After setting the LOCK bit, the Lock Function command must be
issued as the next command, else the LOCK bit is reset to 0. After the lock operation is completed, the LOCK bit is
reset to 0. The LOCK bit is a volatile R/W bit, initialized to 0 upon POR.
Bits 5 to 2: Reserved.
Bit 1: Parameter EEPROM Block 1 Lock Flag (BL1). A 1 in this read-only bit indicates that EEPROM block 1
(addresses 60h to 7Fh) is locked (read-only), while a 0 indicates block 1 is unlocked (read/write).
Bit 0: User EEPROM Block 0 Lock Flag (BL0). A 1 in this read-only bit indicates that EEPROM block 0 (addresses
20h to 2Fh is locked (read-only), while a 0 indicates block 0 is unlocked (read/write).
______________________________________________________________________________________
29
DS2775/DS2776/DS2777/DS2778
EEPROM Register
DS2775/DS2776/DS2777/DS2778
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
Memory
The DS2775–DS2778 have a 256-byte linear memory
space with registers for instrumentation, status, and
control, as well as EEPROM memory blocks to store
parameters and user information. Byte addresses designated as “reserved” typically return FFh when read.
These bytes should not be written. Several byte registers are paired into 2-byte registers to store 16-bit values. The MSB of the 16-bit value is located at the even
address and the LSB is located at the next address
(odd) byte. When the MSB of a 2-byte register is read,
the MSB and LSB are latched simultaneously and held
for the duration of the Read Data command to prevent
updates to the LSB during the read. This ensures synchronization between the two register bytes. For consistent results, always read the MSB and the LSB of a
2-byte register during the same read data sequence.
EEPROM memory consists of nonvolatile EEPROM cells
overlaying volatile shadow RAM. The read data and
write data protocols allow the 1-Wire interface to directly accesse the shadow RAM (Figure 21). The Copy
Data and Recall Data Function commands transfer data
between the EEPROM cells and the shadow RAM. In
order to modify the data stored in the EEPROM cells,
data must be written to the shadow RAM and then
copied to the EERPOM. To verify the data stored in the
EEPROM cells, the EEPROM data must be recalled to
the shadow RAM and then read from the shadow. After
issuing the Copy Data Function command, access to
the EEPROM block is not available until the EEPROM
copy completes (see tEEC in the EEPROM Reliability
Specification table).
User EEPROM—Block 0
A 16-byte user EEPROM memory (block 0, addresses
20h to 2Fh) provides nonvolatile memory that is uncommitted to other DS2775–DS2778 functions. Accessing
the user EEPROM block does not affect the operation of
the DS2775–DS2778. User EEPROM is lockable and,
once locked, write access is not allowed. The battery
pack or host system manufacturer can program lot
codes, date codes, and other manufacturing or warranty or diagnostic information and then lock it to safeguard the data. User EEPROM can also store
parameters for charging to support different size batteries in a host device as well as auxiliary model data
such as time to full-charge estimation parameters.
Parameter EEPROM—Block 1
Model data for the cells as well as application operating
parameters are stored in the parameter EEPROM memory (block 1, addresses 60h to 80h). The ACR (MSB
and LSB) and AS registers are automatically saved to
EEPROM when the RARC result crosses 4% boundaries (see Table 8 for more information).
COPY
EEPROM
WRITE
SERIAL
INTERFACE
READ
RECALL
SHADOW RAM
Figure 21. EEPROM Access Through Shadow RAM
30
______________________________________________________________________________________
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
ADDRESS
(HEX)
ADDRESS
(HEX)
DESCRIPTION
DESCRIPTION
60h
Control Register
71h
AE Segment 3 Slope Register
61h
Accumulation Bias Register (AB)
72h
AE Segment 2 Slope Register
62h
Aging Capacity Register MSB (AC)
73h
AE Segment 1 Slope Register
63h
Aging Capacity Register LSB (AC)
74h
SE Segment 4 Slope Register
64h
Charge Voltage Register (VCHG)
75h
SE Segment 3 Slope Register
65h
Minimum Charge Current Register (IMIN)
76h
SE Segment 2 Slope Register
66h
Active-Empty Voltage Register (VAE)
77h
SE Segment 1 Slope Register
67h
Active-Empty Current Register (IAE)
78h
Sense-Resistor Gain Register MSB (RSGAIN)
68h
Active-Empty 40 Register
79h
Sense-Resistor Gain Register LSB (RSGAIN)
7Ah
Sense-Resistor Temperature Coefficient Register
(RSTC)
69h
Sense Resistor Prime Register (RSNSP)
6Ah
Full 40 MSB Register
6Bh
Full 40 LSB Register
7Bh
Current Offset Bias Register (COB)
6Ch
Full Segment 4 Slope Register
7Ch
TBP34 Register
6Dh
Full Segment 3 Slope Register
7Dh
TBP23 Register
6Eh
Full Segment 2 Slope Register
7Eh
TBP12 Register
6Fh
Full Segment 1 Slope Register
7Fh
Protector Threshold Register
70h
AE Segment 4 Slope Register
80h
2-Wire Slave Address Register
Table 9. Memory Map
ADDRESS (HEX)
DESCRIPTION
READ/WRITE
00h
Protection Register
R/W
01h
Status Register
R/W
02h
RAAC Register MSB
R
03h
RAAC Register LSB
R
04h
RSAC Register MSB
R
05h
RSAC Register LSB
R
06h
RARC Register
R
07h
RSRC Register
R
08h
Average Current Register MSB
R
09h
Average Current Register LSB
R
0Ah
Temperature Register MSB
R
0Bh
Temperature Register LSB
R
0Ch
Voltage Register MSB, VIN1 - VSS
R
0Dh
Voltage Register LSB, VIN1 - VSS
R
0Eh
Current Register MSB
R
0Fh
Current Register LSB
R
10h
Accumulated Current Register MSB
R/W*
11h
Accumulated Current Register LSB
R/W*
12h
Accumulated Current Register LSB - 1
R
______________________________________________________________________________________
31
DS2775/DS2776/DS2777/DS2778
Table 8. Parameter EEPROM Memory Block
DS2775/DS2776/DS2777/DS2778
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
Table 9. Memory Map (continued)
ADDRESS (HEX)
DESCRIPTION
READ/WRITE
13h
Accumulated Current Register LSB - 2
14h
Age Scalar Register
R/W*
R
15h
Special Feature Register
R/W
16h
Full Register MSB
R
17h
Full Register LSB
R
18h
Active-Empty Register MSB
R
R
19h
Active-Empty Register LSB
1Ah
Standby-Empty Register MSB
R
1Bh
Standby-Empty Register LSB
R
1Ch
Voltage Register MSB, VIN2 - VIN1
R
1Dh
Voltage Register LSB, VIN2 - VIN1
R
1Eh
Cycle Counter Register
R/W*
EEPROM Register
R/W
20h to 2Fh
1Fh
User EEPROM Register, Lockable, Block 0
R/W
30h to 5Fh
Reserved
60h to 80h
Parameter EEPROM Register, Lockable, Block 1
81h to AFh
Reserved
—
B0h
Factory Gain RSGAIN Register MSB
R
B1h
Factory Gain RSGAIN Register LSB
R
Reserved
—
2-Wire Command Register
W
B2h to FDh
FEh
—
R/W
FFh
Reserved
—
*Register value is automatically saved to EEPROM during active-mode operation and recalled from EEPROM on power-up.
64-Bit Net Address (ROM ID)
Each DS2775–DS2778 has a unique, factory-programmed ROM ID that is 64 bits. The first 8 bits of the
net address are the product family code (32h). The next
48 bits are a unique serial number. The last 8 bits are a
cyclic redundancy check (CRC) of the first 56 bits (see
Figure 22).
Authentication
The DS2776/DS2778 have an authentication feature
that is performed using a FIPS-180-compliant SHA-1
one-way hash algorithm on a 512-bit message block.
The message block consists of a 64-bit secret, a 64-bit
8-BIT CRC
MSb
challenge, and 384 bits of constant data. Optionally,
the 64-bit net address replaces 64 of the 384 bits of
constant data used in the hash operation. Contact
Maxim for details of the message block organization.
The host and the DS2776/DS2778 both calculate the
result based on the mutually known secret. The result
data, known as the message authentication code
(MAC) or message digest, is returned by the
DS2776/DS2778 for comparison to the host’s result.
Note that the secret is never transmitted on the bus and
thus cannot be captured by observing bus traffic. Each
authentication attempt is initiated by the host system by
providing a 64-bit random challenge through the Write
48-BIT SERIAL NUMBER
8-BIT FAMILY
CODE (32h)
LSb
Figure 22. 1-Wire Net Address Format (ROM ID)
32
______________________________________________________________________________________
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
DS2776/DS2778 Authentication
Commands
Write Challenge [0Ch]
This command writes the 64-bit challenge to the
DS2776/DS2778. The LSB of the 64-bit data argument
can begin immediately after the MSB of the command
has been completed. If more than 8 bytes are written,
the final value in the Challenge register is indeterminate. The Write Challenge command must be issued
prior to every Compute MAC or Compute Next Secret
command for reliable results.
Computer MAC Without ROM ID [36h]
This command initiates an SHA-1 computation without
including the ROM ID in the message block. Because
the ROM ID is not used, this command allows the use
of a master secret and MAC response independent of
the ROM ID. The DS2776/DS2778 computes the MAC
in tSHA after receiving the last bit of this command.
After the MAC computation is complete, the host must
write eight write-zero time slots and then issue 160 read
time slots to receive the 20-byte MAC. See Figure 25 for
command timing.
Compute MAC with ROM ID [35h]
This command is structured the same as the Compute
MAC without ROM ID, except that the ROM ID is included in the message block. With the ROM ID unique to
each DS2776/DS2778 included in the MAC computation,
use of a unique secret in each token and a master secret
in the host device is allowed. Refer to Application Note
1099: White Paper 4: Glossary of 1-Wire SHA-1 Terms for
more information. See Figure 25 for command timing.
Table 10 summarizes SHA-1-related commands used
while authenticating a battery or peripheral device. The
Secret Management Function Commands section
describes four additional commands for clearing, computing, and locking of the secret.
Secret Management Function
Commands
Table 11 summarizes all the secret management function commands.
Clear Secret [5Ah]
This command sets the 64-bit secret to all 0s (0000
0000 0000 0000h). The host must wait for tEEC for the
DS2776/DS2778 to write the new secret value to
EEPROM. See Figure 28 for command timing.
Compute Next Secret Without
ROM ID [30h]
This command initiates an SHA-1 computation of the
MAC and uses a portion of the resulting MAC as the
next or new secret. The MAC computation is performed
with the current 64-bit secret and the 64-bit challenge.
Logical 1s are loaded in place of the ROM ID. The output MAC’s 64 bits are used as the new secret value.
The host must allow tSHA after issuing this command for
the SHA calculation to complete, then wait tEEC for the
DS2776/DS2778 to write the new secret value to
EEPROM. See Figure 26 for command timing.
Computer Next Secret with ROM ID [33h]
This command initiates an SHA-1 computation of the
MAC and uses a portion of the resulting MAC as the
next or new secret. The MAC computation is performed
with the current 64-bit secret, the 64-bit ROM ID, and
the 64-bit challenge. The output MAC’s 64 bits are used
as the new secret value. The host must allow tSHA after
issuing this command for the SHA calculation to complete, then wait tEEC for the DS2776/DS2778 to write
Table 10. Authentication Function Commands
COMMAND
HEX
FUNCTION
Write Challenge
0Ch
Writes 64-bit challenge for SHA-1 processing. Required prior to issuing
Compute MAC and Compute Next Secret commands.
Compute MAC without ROM ID (and
Return MAC for the DS2776 only)
36h
Computes hash of the message block with logical 1s in place of the ROM
ID. (Returns the 160-bit MAC for the DS2776 only.)
Compute MAC with ROM ID (and Return
MAC for the DS2776 only)
35h
Computes hash of the message block including the ROM ID. (Returns the
160-bit MAC for the DS2776 only.)
Read ROM ID (DS2778 only)
39h
Returns the ROM ID (DS2778 only).
Read MAC (DS2778 only)
3Ah
Returns the 160-bit MAC (DS2778 only).
______________________________________________________________________________________
33
DS2775/DS2776/DS2777/DS2778
Challenge command. The host then issues the Compute
MAC or Compute MAC with ROM ID command. The
MAC is computed per FIPS 180, and then returned as a
160-bit serial stream, beginning with the LSb.
DS2775/DS2776/DS2777/DS2778
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
Table 11. Secret Loading Function Commands
COMMAND
HEX
FUNCTION
Clear Secret
5Ah
Clears the 64-bit secret to 0000 0000 0000 0000h.
Compute Next Secret without ROM ID
30h
Generates new global secret.
Compute Next Secret with ROM ID
33h
Generates new unique secret.
Lock Secret
60h
Sets lock bit to prevent changes to the secret.
the new secret value to EEPROM. See Figure 26 for
command timing.
Lock Secret [60h]
This command write protects the 64-bit secret to prevent accidental or malicious overwrite of the secret
value. The secret value stored in EEPROM becomes
"final." The host must wait tEEC for the DS2776/DS2778
to write the lock secret bit to EEPROM. See Figure 28
for command timing.
1-Wire Bus System
(DS2775/DS2776 Only)
The 1-Wire bus is a system that has a single bus master
and one or more slaves. A multidrop bus is a 1-Wire
bus with multiple slaves, while a single-drop bus has
only one slave device. In all instances, the DS2775/
DS2776 are slave devices. The bus master is typically a
microprocessor in the host system. The discussion of
this bus system consists of five topics: 64-bit net
address, CRC generation, hardware configuration,
transaction sequence, and 1-Wire signaling.
CRC Generation
The DS2775/DS2776 have an 8-bit CRC stored in the
MSB of its 64-bit net address and generates a CRC
during some command protocols. To ensure error-free
transmission of the address, the host system can compute a CRC value from the first 56 bits of the address
and compare it to the CRC from the DS2775/DS2776.
The host system is responsible for verifying the CRC
value and taking action as a result. The DS2775/
DS2776 do not compare CRC values and do not prevent a command sequence from proceeding as a result
of a CRC mismatch. Proper use of the CRC can result
in a communication channel with a very high level of
integrity.
The CRC can be generated by the host using a circuit
consisting of a Shift register and XOR gates as shown
in Figure 23, or it can be generated in software using
the polynomial X8 + X5 + X4 + 1. Additional information
about the Maxim 1-Wire CRC is available in Application
Note 27: Understanding and Using Cyclic Redundancy
Checks with Maxim iButton® Products.
In the circuit in Figure 23, the Shift register bits are initialized to 0. Then, starting with the LSb of the family
code, one bit at a time is shifted in. After the 8th bit of
the family code has been entered, then the serial number is entered. After the 48th bit of the serial number has
been entered, the Shift register contains the CRC value.
During some command sequences, the DS2775/
DS2776 also generate an 8-bit CRC and provide this
value to the bus master to facilitate validation for the
transfer of command, address, and data from the bus
master to the DS2775/DS2776. The DS2775/DS2776
compute an 8-bit CRC for the command and address
bytes received from the bus master for the Read
Memory, Read Status, and Read/Generate CRC commands to confirm that these bytes have been received
correctly. The CRC generator on the DS2775/DS2776 is
INPUT
MSb
XOR
XOR
LSb
XOR
Figure 23. 1-Wire CRC Generation Block Diagram
iButton is a registered trademark of Maxim Integrated Products, Inc.
34
______________________________________________________________________________________
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
Hardware Configuration
Because the 1-Wire bus has only a single line, it is
important that each device on the bus be able to drive
it at the appropriate time. To facilitate this, each device
attached to the 1-Wire bus must connect to the bus with
open-drain or three-state output drivers. The DS2775/
DS2776 use an open-drain output driver as part of the
bidirectional interface circuitry shown in Figure 24. If a
bidirectional pin is not available on the bus master,
separate output and input pins can be connected
together.
The 1-Wire bus must have a pullup resistor at the bus
master end. A value of between 2kΩ and 5kΩ is recommended. The idle state for the 1-Wire bus is high. If, for
any reason, a bus transaction must be suspended, the
bus must be left in the idle state to properly resume the
transaction later. Note that if the bus is left low for more
than tLOW0, slave devices on the bus begin to interpret
the low period as a reset pulse, effectively terminating
the transaction.
Transaction Sequence
The protocol for accessing the DS2775/DS2776
through the 1-Wire port is as follows:
•
•
•
•
Initialization
Net Address Command
Function Command(s)
Data Transfer (not all commands have data transfer)
Initialization
All transactions of the 1-Wire bus begin with an initialization sequence consisting of a reset pulse transmitted
by the bus master, followed by a presence pulse simultaneously transmitted by the DS2775/DS2776 and any
other slaves on the bus. The presence pulse tells the
bus master that one or more devices are on the bus
and ready to operate. For more details, see the 1-Wire
Signaling section.
Net Address Commands
Once the bus master has detected the presence of one
or more slaves, it can issue one of the net address
commands described in the following sections. The
name of each Net Address command (ROM command)
is followed by the 8-bit op code for that command in
square brackets.
Read Net Address [33h]
This command allows the bus master to read the
DS2775/DS2776’s 1-Wire net address. This command
can only be used if there is a single slave on the bus. If
more than one slave is present, a data collision occurs
when all slaves try to transmit at the same time (open
drain produces a wired-AND result).
VPULLUP
(2.0V TO 5.5V)
BUS MASTER
DS2775/DS2776 1-Wire PORT (DQ)
4.7kΩ
Rx
Rx
100nA
(TYP)
Tx
Rx = RECEIVE
Tx = TRANSMIT
Tx
100Ω MOSFET
Figure 24. 1-Wire Bus Interface Circuitry
______________________________________________________________________________________
35
DS2775/DS2776/DS2777/DS2778
also used to provide verification of error-free data transfer as each EEPROM page is sent to the master during
a Read Data/Generate CRC command and for the
8 bytes of information in the status memory field.
In each case where a CRC is used for data transfer validation, the bus master must calculate the CRC value
using the same polynomial function and compare the
calculated value to the CRC either stored in the
DS2775/DS2776 net address or computed by the
DS2775/DS2776. The comparison of CRC values and
decision to continue with an operation are determined
entirely by the bus master. There is no circuitry in the
DS2775/DS2776 that prevents a command sequence
from proceeding if the stored or calculated CRC from
the DS2775/DS2776 and the calculated CRC from the
host do not match.
DS2775/DS2776/DS2777/DS2778
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
Match Net Address [55h]
This command allows the bus master to specifically
address one DS2775/DS2776 on the 1-Wire bus. Only
the addressed DS2775/DS2776 responds to any subsequent function command. All other slave devices
ignore the function command and wait for a reset pulse.
This command can be used with one or more slave
devices on the bus.
Skip Net Address [CCh]
This command saves time when there is only one
DS2775/DS2776 on the bus by allowing the bus master
to issue a function command without specifying the
address of the slave. If more than one slave device is
present on the bus, a subsequent function command
can cause a data collision when all slaves transmit data
at the same time.
Search Net Address [F0h]
This command allows the bus master to use a process
of elimination to identify the 1-Wire net addresses of all
slave devices on the bus. The search process involves
the repetition of a simple three-step routine: read a bit,
read the complement of the bit, then write the desired
value of that bit. The bus master performs this simple
three-step routine on each bit location of the net
address. After one complete pass through all 64 bits,
the bus master knows the address of one device. The
remaining devices can then be identified on additional
iterations of the process. See Chapter 5 in Application
Note 937: Book of iButton Standards for a comprehensive discussion of a net address search, including an
actual example.
Function Commands
After successfully completing one of the net address
commands, the bus master can access the features of
the DS2775/DS2776 with any of the function commands
described in the following paragraphs. The name of
each function is followed by the 8-bit op code for that
command in square brackets. The function commands
are summarized in Table 12. Table 13 details the
requirements for using the function commands.
Read Data [69h, XXh]
This command reads data from the DS2775/DS2776
starting at memory address XXh. The LSb of the data in
address XXh is available to be read immediately after
the MSb of the address has been entered. Because the
address is automatically incremented after the MSb of
each byte is received, the LSb of the data at address
XXh + 1 is available to be read immediately after the
MSb of the data at address XXh. If the bus master continues to read beyond address FFh, data is read start36
ing at memory address 00h and the address is automatically incremented until a reset pulse occurs.
Addresses labeled “reserved” in the memory map contain undefined data values (see Table 9). The read data
command can be terminated by the bus master with a
reset pulse at any bit boundary. Reads from EEPROM
block addresses return the data in the shadow RAM. A
Recall Data command is required to transfer data from
the EEPROM to the shadow. See the Memory section
for more details.
Write Data [6Ch, XXh]
This command writes data to the DS2775/DS2776 starting at memory address XXh. The LSb of the data to be
stored at address XXh can be written immediately after
the MSb of the address has been entered. Because the
address is automatically incremented after the MSb of
each byte is written, the LSb to be stored at address
XXh + 1 can be written immediately after the MSb to be
stored at address XXh. If the bus master continues to
write beyond address FFh, the data starting at address
00 is overwritten. Writes to read-only addresses,
reserved addresses, and locked EEPROM blocks are
ignored. Incomplete bytes are not written. Writes to
unlocked EEPROM block addresses modify the shadow
RAM. A Copy Data command is required to transfer
data from the shadow to the EEPROM. See the Memory
section for more details.
Copy Data [48h, XXh]
This command copies the contents of the EEPROM
shadow RAM to EEPROM cells for the EEPROM block
containing address XXh. Copy Data commands that
address locked blocks are ignored. While the Copy
Data command is executing, the EEC bit in the EEPROM
register is set to 1 and writes to EEPROM addresses are
ignored. Reads and writes to non-EEPROM addresses
can still occur while the copy is in progress. The Copy
Data command takes tEEC time to execute, starting on
the next falling edge after the address is transmitted.
See Figure 27 for more information.
Recall Data [B8h, XXh]
This command recalls the contents of the EEPROM
cells to the EEPROM shadow memory for the EEPROM
block containing address XXh.
Lock [6Ah, XXh]
EEPROM memory containing memory address XXh.
The LOCK bit in the EEPROM register must be set to 1
before the Lock command is executed. To help prevent unintentional locks, one must issue the Lock command immediately after setting the LOCK bit (EEPROM
register, address 1Fh, bit 6) to a 1. If the LOCK bit is 0
______________________________________________________________________________________
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
no effect. The Lock command is permanent; a locked
block can never be written again.
Table 12. All Function Commands
COMMAND
HEX
DESCRIPTION
Write Challenge
0Ch
Writes 64-bit challenge for SHA-1 processing. Required immediately prior
to all Compute MAC and Compute Next Secret commands.
Compute MAC without ROM ID (and
Return MAC for the DS2776 only)
36h
Computes hash of the message block with logical 1s in place of ROM ID.
(Returns the 160-bit MAC for the DS2776 only.)
Compute MAC with ROM ID (and Return
MAC for the DS2776 only)
35h
Computes hash of the message block using the ROM ID. (Returns the
160-bit MAC for the DS2776 only.)
Clear Secret
5Ah
Clears the 64-bit secret to 0000 0000 0000 0000h.
Compute Next Secret without the ROM ID
30h
Generates new global secret.
Compute Next Secret with ROM ID
33h
Generates new unique secret.
Read ROM ID (DS2778 only)
39h
Returns the ROM ID (DS2778 only).
Read MAC (DS2778 only)
3Ah
Returns the 160-bit MAC (DS2778 only).
Lock Secret
60h
Sets lock bit to prevent changes to the secret.
Read Data
69h, XXh Reads data from memory starting at address XXh.
Write Data
6Ch, XXh Writes data to memory starting at address XXh.
Copy Data
48h, XXh Copies shadow RAM data to EEPROM block containing address XXh.
Recall Data
B8h, XXh Recalls EEPROM block containing address XXh to RAM.
Lock
6Ah, XXh Permanently locks the block of EEPROM containing address XXh.
Reset
BBh
Resets DS2775/DS2776 (software POR).
Table 13. Guide to Function Command Requirements
COMMAND
ISSUE MEMORY ADDRESS
(BITS)
ISSUE 00h BEFORE READ
READ/WRITE TIME SLOTS
Write Challenge
—
—
Write: 64
Compute MAC
—
Yes
Read: Up to 160
Compute Next Secret
—
—
—
Clear/Lock Secret, Set/Clear
—
—
—
Read Data
8
—
Read: Up to 2048
Write Data
8
—
Write: Up to 2048
Copy Data
8
—
—
Recall Data
8
—
—
Lock
8
—
—
Reset
—
—
—
______________________________________________________________________________________
37
DS2775/DS2776/DS2777/DS2778
or if setting the LOCK bit to 1 does not immediately
precede the Lock command, the Lock command has
DS2775/DS2776/DS2777/DS2778
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
tSHA
1-Wire
RESET
WAIT FOR MAC
COMPUTATION
SKIP-ROM
COMMAND
PRESENCE
PULSE
COMPUTE
MAC COMMAND
UO TO 160 READ TIME SLOTS
(READ 20-BYTE MAC)
8 WRITE-ZERO
TIME SLOTS
Figure 25. Compute MAC Function Command
1-Wire
RESET
SKIP-ROM
COMMAND
PRESENCE
PULSE
tSHA
tEEC
WAIT FOR MAC
COMPUTATION
WAIT FOR EEPROM
PROGRAMMING
COMPUTE
NEXT SECRET COMMAND
Figure 26. Compute Next Secret Function Command
tEEC
1-Wire
RESET
SKIP-ROM
COMMAND
COPY
COMMAND
8 WRITE
TIME SLOTS
WAIT FOR EEPROM
PROGRAMMING
PRESENCE
PULSE
Figure 27. Copy Function Command
38
______________________________________________________________________________________
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
DS2775/DS2776/DS2777/DS2778
tEEC
1-Wire
RESET
SKIP-ROM
COMMAND
CLEAR/LOCK
SECRET COMMAND
OR SET/CLEAR
OVERDRIVE COMMAND
WAIT FOR EEPROM
COPY TIME
PRESENCE
PULSE
Figure 28. Clear/Lock Secret, Set/Clear Overdrive Function Commands
tRSTL
tRSTH
tPDH
tPDL
PK+
DQ
PK-
LINE TYPE LEGEND:
BUS MASTER ACTIVE LOW
DS2775/DS2776 ACTIVE LOW
RESISTOR PULLUP
Figure 29. 1-Wire Initialization Sequence
1-Wire Signaling
The 1-Wire bus requires strict signaling protocols to
ensure data integrity. The four protocols used by the
DS2775/DS2776 are as follows: the initialization
sequence (reset pulse followed by presence pulse),
write-zero, write-one, and read data. The bus master
initiates all these types of signaling except the presence pulse.
Figure 29 shows the initialization sequence required to
begin any communication with the DS2775/DS2776. A
presence pulse following a reset pulse indicates that
the DS2775/DS2776 are ready to accept a Net Address
command. The bus master transmits (Tx) a reset pulse
for tRSTL. The bus master then releases the line and
goes into receive mode (Rx). The 1-Wire bus line is
then pulled high by the pullup resistor. After detecting
the rising edge on the DQ pin, the DS2775/DS2776 wait
for tPDH and then transmit the presence pulse for tPDL.
______________________________________________________________________________________
39
DS2775/DS2776/DS2777/DS2778
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
Write Time Slots
A write time slot is initiated when the bus master pulls
the 1-Wire bus from a logic-high (inactive) level to a
logic-low level. There are two types of write time slots:
write-one and write-zero. All write time slots must be
tSLOT in duration with a 1µs minimum recovery time,
tREC, between cycles. The DS2775/DS2776 sample the
1-Wire bus line between tLOW1_MAX and tLOW0_MIN
after the line falls. If the line is high when sampled, a
write-one occurs. If the line is low when sampled, a
write-zero occurs. Figure 30 illustrates the sample window. For the bus master to generate a write-one time
slot, the bus line must be pulled low and then released,
allowing the line to be pulled high less than tRDV after
the start of the write time slot. For the host to generate a
write-zero time slot, the bus line must be pulled low and
held low for the duration of the write time slot.
Read Time Slots
A read time slot is initiated when the bus master pulls the
1-Wire bus line from a logic-high level to a logic-low
level. The bus master must keep the bus line low for at
least 1µs and then release it to allow the DS2775/
DS2776 to present valid data. The bus master can then
sample the data tRDV from the start of the read time slot.
By the end of the read time slot, the DS2775/DS2776
release the bus line and allow it to be pulled high by the
external pullup resistor. All read time slots must be tSLOT
in duration with a 1µs minimum recovery time, tREC,
between cycles. See Figure 15 and the timing specifications in the Electrical Characteristics: 1-Wire Interface,
Standard/Overdrive tables for more information.
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. Up to 128 slave devices can share the
bus by uniquely setting the 7-bit slave address. The
2-wire interface consists of a serial data line (SDA) and
serial clock line (SCL). SDA and SCL provide bidirectional communication between the DS2777/DS2778
slave device and a master device at speeds up to
400kHz. The DS2777/DS2778’s SDA pin operates bidirectionally, that is, when the DS2777/DS2778 receive
data, SDA operates as an input, and when the
DS2777/DS2778 return data, SDA operates as an opendrain output with the host system providing a resistive
pullup. The DS2777/DS2778 always operate as a slave
device, receiving and transmitting data under the con-
40
trol 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.
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 not acknowledge bit (N). Both
the master and the DS2777/DS2778 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 (9th
pulse) and keep it low until SCL returns low. To generate a not acknowledge (also called NACK), 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.
______________________________________________________________________________________
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
DS2775/DS2776/DS2777/DS2778
WRITE-ZERO SLOT
WRITE-ONE SLOT
tSLOT
tSLOT
tLOW0
tLOW1
tREC
VPULLUP
GND
DEVICE SAMPLE WINDOW
MIN
TYP
MAX
> 1μs
MIN
DEVICE SAMPLE WINDOW
TYP
MAX
MODE:
STANDARD
15μs
15μs
30μs
15μs
15μs
30μs
OVERDRIVE
2μs
1μs
3μs
2μs
1μs
3μs
READ-ZERO SLOT
tSLOT
VPULLUP
tRDV
READ-ONE SLOT
tSLOT
tREC
tRDV
GND
> 1μs
MASTER SAMPLE WINDOW
MASTER SAMPLE WINDOW
MODE:
STANDARD
15μs
15μs
OVERDRIVE
2μs
2μs
LINE TYPE LEGEND:
BUS MASTER ACTIVE LOW
SLAVE ACTIVE LOW
BOTH BUS MASTER AND
SLAVE ACTIVE LOW
RESISTOR PULLUP
Figure 30. 1-Wire Write and Read Time Slots
______________________________________________________________________________________
41
DS2775/DS2776/DS2777/DS2778
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
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 DS2777/DS2778 registers composed of multibyte
values are ordered MSB first. The MSB of multibyte registers is stored on even data memory addresses.
selects a read transaction, with the subsequent bytes
being read from the slave by the master.
Bus Timing
The DS2777/DS2778 are compatible with any bus timing up to 400kHz. No special configuration is required
to operate at any speed.
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 DS2777/DS2778 continuously
monitor for a START condition followed by its slave
address. When the DS2777/DS2778 receive a slave
address that matches the value in its Programmable
Slave Address register, they respond with an acknowledge bit during the clock period following the R/W bit.
The 7-bit Programmable Slave Address register is factory programmed to 0110100. The slave address can
be reprogrammed. See the Programmable Slave
Address section for details.
Programmable Slave Address
The 2-wire slave address of the DS2777/DS2778 is
stored in the parameter EEPROM block, address 80h.
Programming the slave address requires a write to 80h
with the desired slave address. The new slave address
value is effective following the write to 80h and must be
used to address the DS2777/DS2778 on subsequent
bus transactions. The slave address value is not stored
to EEPROM until a Copy EEPROM Block 1 command is
executed. Prior to executing the Copy command,
power cycling the DS2777/DS2778 restores the original
slave address value. The data format of the slave
address value in address 80h is shown in the Slave
Address Format (80h) section.
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 subsequent
bytes being written by the master to the slave. R/W = 1
2-Wire Command Protocols
The command protocols involve several transaction formats. The simplest format consists of the master writing
the START bit, slave address, R/W bit, and then monitoring the acknowledge bit for presence of the
DS2777/DS2778. 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
14 applies to the transaction formats.
Basic Transaction Formats
Write: S SAddr W A MAddr A Data0 A P
A write transaction transfers one or more data bytes to
the DS2777/DS2778. 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: S SAddr W A MAddr A Sr SAddr R A Data0 N P
Write Portion
Read Portion
A read transaction transfers one or more bytes from the
DS2777/DS2778. Read transactions are composed of
two parts with 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, and
slave address with R/W set to a 1. Control of SDA is
Slave Address Format (80h)
BIT 7
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
A6
A5
A4
A3
A2
A1
A0
X
Bits 7 to 1: Slave Address (A[6:0]). A[6:0] contains the 7-bit slave address of the DS2777/DS2778. The factory
default is 0110100b.
Bit 0: Reserved.
42
______________________________________________________________________________________
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
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
P
STOP bit
MAddr
Data
Memory Address Byte
Data Byte Written by Master
Data
Data Byte Returned by Slave
A
Acknowledge Bit (Master)
A
Acknowledge Bit (Slave)
N
Not Acknowledge (Master)
N
Not Acknowledge (Slave)
assumed by the DS2777/DS2778 beginning with the
slave address acknowledge cycle. Control of the SDA
signal is retained by the DS2777/DS2778 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 DS2777/DS2778 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 DS2777/DS2778 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 DS2777/DS2778, the MSb of the data at address
MAddr + 1 is written immediately after the acknowledgement of the data at address MAddr. If the bus
master continues an autoincremented write transaction
beyond address 4Fh, the DS2777/DS2778 ignore the
data. Data is also ignored on writes to read-only
addresses and reserved addresses, locked EEPROM
blocks, as well as a write that auto-increments to the
Function Command register (address FEh). Incomplete
bytes and bytes that are not acknowledged by the
DS2777/DS2778 are not written to memory. As noted in
the Memory section, writes to unlocked EEPROM
blocks modify the shadow RAM only.
Read-Data Protocol
The read-data protocol is used to read register and
shadow RAM data from the DS2777/DS2778 starting at
a 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 A
… 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 acknowledgement of the
data at address MAddr. If the bus master continues to
read beyond address FFh, the DS2777/DS2778 output
data values of FFh. Addresses labeled reserved in the
Memory Map return undefined data. The bus master
terminates the read transaction at any byte boundary
by issuing a not acknowledge followed by a STOP or
repeated START.
Function Command Protocol
The function command protocol executes a devicespecific operation by writing one of the function command values (FCmd) to memory address FEh. Table 15
lists the DS2777/DS2778 FCmd values and describes
the actions taken by each. A 1-byte write protocol is
used to transmit the function command, with the MAddr
set to FEh and the data byte set to the desired FCmd
value. Additional data bytes are ignored. Data read
from memory address FEh is undefined.
S SAddr W A MAddr=0FEh A FCmd A P
______________________________________________________________________________________
43
DS2775/DS2776/DS2777/DS2778
Table 14. 2-Wire Protocol Key
DS2775/DS2776/DS2777/DS2778
2-Cell, Stand-Alone, Li+ Fuel-Gauge IC with
Protector and Optional SHA-1 Authentication
Table 15. Function Commands
FUNCTION
COMMAND
TARGET
EEPROM
BLOCK
FCmd
VALUE
0
42h
1
44h
0
B2h
1
B4h
Copy Data
Recall Data
0
63h
1
66h
—
39h
Lock
Read ROM
ID
DESCRIPTION
This command copies the shadow RAM to the target EEPROM block. Copy data
commands that target locked blocks are ignored. While the Copy Data command is
executing, the EEC bit in the EEPROM register is set to 1, and write data commands
with MAddr set to any address within the target block are ignored. Read data and
write data commands with MAddr set outside the target block are processed while
the copy is in progress. The Copy Data command execution time, tEEC, is 2ms
typical and starts after the FCmd byte is acknowledged. Subsequent copy or lock
commands must be delayed until the EEPROM programming cycle completes.
This command recalls the contents of the targeted EEPROM block to its shadow
RAM.
This command locks (write protects) the targeted EEPROM block. The LOCK bit in
the EEPROM register must be set to 1 before the Lock command is executed. If the
LOCK bit is 0, the Lock command has no effect. The Lock command is permanent;
a locked block can never be written again. The Lock command execution time,
t EEC, is 2ms typical and starts after the FCmd byte is acknowledged. Subsequent
copy or lock commands must be delayed until the EEPROM programming cycle
completes.
This command initiates a read of the unique 64-bit ROM ID. After the Read ROM ID
command is sent, the ROM ID can be read with the following sequence:
S SAddr R Data0 A Data1 A ... Data7 N P
Selector Guide
PART
INTERFACE
SHA-1
DS2775G+
1-Wire
No
DS2775G+T&R
1-Wire
No
DS2776G+
1-Wire
Yes
DS2776G+T&R
1-Wire
Yes
DS2777G+
2-Wire
No
DS2777G+T&R
2-Wire
No
DS2778G+
2-Wire
Yes
DS2778G+T&R
2-Wire
Yes
+Denotes a lead-free/RoHS-compliant package.
T&R = Tape and reel.
Pin Configuration
TOP VIEW
CC
VDD
DC
VIN2
VIN1
VB
VSS
1
2
3
4
5
6
7
+
DS2775
DS2776
DS2777
DS2778
*EP
14
13
12
11
10
9
8
CP
SRC
SCL/OVD
SDA/DQ
PLS
PIO
SNS
TDFN-EP
(3mm × 5mm)
*EXPOSED PAD
Package Information
For the latest package outline information and land patterns, go
to www.maxim-ic.com/packages.
PACKAGE TYPE
PACKAGE CODE
DOCUMENT NO.
14 TDFN
T1435+1
56-G0010-001
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.
44 ____________________Maxim Integrated Products, 120 San Gabriel Drive, Sunnyvale, CA 94086 408-737-7600
© 2008 Maxim Integrated Products
is a registered trademark of Maxim Integrated Products, Inc.