EVALUATION KIT AVAILABLE
Click here to ask an associate for production status of specific part numbers.
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell
Charger, Fuel Gauge, and Protector
General Description
Benefits and Features
The MAX17330 is a 28μA IQ stand-alone charger, fuel
gauge, protector, and battery internal self-discharge
detection IC for 1-cell lithium-ion/polymer batteries. When
a voltage source is present, the MAX17330 regulates
charging by modulating the charge N-FET, using Ac
cuCharge™ charger technology. The MAX17330 regulates charge voltage, current, and FET temperature.
Stand-alone charging is supported by flexible configuration in nonvolatile memory. The IC supports the following:
● Non-Volatile Programmable Stand-Alone AccuCharge
Charger
● Low-Power Charging
• 1mA to 500mA directly from universal 5V USB
• No USB identification/coordination needed
● High-Power Parallel Packs (>1000mA)
• Independently charges parallel packs
• Prevents cross-charging for parallel batteries
• Coordinates external DC-DC with alerts
• Minimizes dropout and heat
•
•
•
•
•
0.2% Charge Voltage 3.6V to 4.8V, Configurable
1% Charge Current, 256 Current Settings
FET Temperature Limit and Heat Regulation
Prequal and Step-Charging Options
JEITA—6 Temperature Regions
● Battery Health + Programmable Safety/Protection
• Overvoltage/Overcharge-Current
• Temperature Region Dependent
• Overcharge/Discharge/Short-Circuit Current
• Over/Under Temperature
• Zero-Volt or Greater than 1.8V Charging Option
• Undervoltage + SmartEmpty
● Protection and Charging Control—pack or host side
● Pushbutton Wakeup/Factory Ship Mode (0.5μA)
● ModelGauge m5 EZ Algorithm
• Percent, Capacity, Time-to-Empty/Full, Age
• Cycle+™ Age Forecast
The MAX17330 ideal diode circuit supports a quick response to system transients and adapter removal with low
voltage drop across the CHG FET.
● Dynamic Power—Estimates Power Capability
● SHA-256 Authentication to Prevent Cloning
● Precision Measurement Without Calibration
The IC uses the ModelGauge™ m5 EZ algorithm that
combines the short-term accuracy and linearity of a
coulomb counter with the long-term stability of a voltagebased fuel gauge to provide industry-leading accuracy.
The IC automatically compensates for cell aging, temperature, and discharge rate while providing accurate state-ofcharge (SOC) in milliampere-hours (mAh) or percentage
(%) over a wide range of operating conditions.
The IC monitors the voltage, current, temperature, and
state of the battery to provide protection against over/undervoltage, overcurrent, short-circuit, over/undertemperature and overcharge conditions, and internal self-discharge protection using external high-side N-FETs to ensure that the lithium-ion/polymer battery operates under
safe conditions which prolongs the life of the battery.
Applications
●
●
●
●
●
●
●
●
USB PPS and Direct Charging
Smart Batteries and Hybrid Supercap Batteries
Dual Screen Smartphones, Tablets
Hearables, Wearables, Smartwatches
Medical Devices, Health, Fitness Monitors
Handheld Radios, Computers, Accessories
Home/Building Automation, Sensors, Cameras
Parallel Battery AR/VR Systems
Ordering Information appears at end of data sheet.
ModelGauge, AccuCharge, and Cycle+ are trademarks of Maxim
Integrated Products, Inc.
SMBus is a trademark of Intel Corp.
• Current, Voltage, Power, Time, Cycles
• Die Temperature and two Thermistors
● History Logging, User Data
● Low Quiescent Current
• FETs Enabled: 28µA Active, 21µA Hibernate
• FETs Disabled: 8µA Ship, 0.5µA/0.1µA Shutdown
● 2-wire (I2C/SMBus™)
● 1.9mm x 2.5mm 15-bump 0.5mm pitch WLP
Simple Charger, Fuel Gauge with
Protector Diagram
CHARGE
SOURCE
SYSTEM
MAX17330 CHARGER
PROTECTOR
FUEL GAUGE
MAX17330 CHARGER
PROTECTOR
FUEL GAUGE
PARALLEL BATTERY
19-100962; Rev 1; 4/23
© 2023 Analog Devices, Inc. All rights reserved. Trademarks and registered trademarks are the property of their respective owners.
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
TABLE OF CONTENTS
General Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Benefits and Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Simple Charger, Fuel Gauge with Protector Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Package Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
15 WLP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Typical Operating Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Pin Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
WLP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Pin Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Functional Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
General Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Charge Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Charging Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Step Charging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Zero-Volt Charging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
End-of-Charge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Charger Restart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Parallel Battery Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Ideal Diode Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Protector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Battery Internal Self-Discharge Detection (ISD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Protector Thresholds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Voltage Thresholds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Current Thresholds. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Overcurrent Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Fast Overcurrent Comparators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Slow Overcurrent Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Overcurrent Comparator Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Temperature Thresholds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Other Thresholds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Permanent Failure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Disabling FETs by Pin-Control or I2C Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Fuel Gauge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
ModelGauge m5 EZ Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Wakeup/Shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
www.analog.com
Analog Devices | 2
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
TABLE OF CONTENTS (CONTINUED)
Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Power Mode Transition State Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Pushbutton Wakeup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Applications Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Component Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Sense Resistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Charging and Protection FETs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
ESD and Optional Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Register Description Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Standard Register Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Device Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Nonvolatile Backup and Initial Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Register Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Charging Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Charging Status and Configuration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
ChgStat Register (0A3h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
nChgCfg0 Register (1C2h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
nChgCfg1 Register (1CBh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
nMiscCfg2 Register (1E4h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Charging Configuration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
ChargingVoltage Register (02Ah) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
ChargingCurrent Register (028h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
nIChgTerm Register (19Ch) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
nVChgCfg Register (1D9h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
nIChgCfg Register (1D8h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
nStepChg Register (1DBh). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Protection Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Voltage Protection Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
nUVPrtTh Register (1D0h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
nOVPrtTh Register (1DAh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Current Protection Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
nODSCTh Register (1DDh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
nODSCCfg Register (1DEh). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
nIPrtTh1 Register (1D3h)—Overcurrent Protection Thresholds. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Temperature Protection Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
nTPrtTh1 Register (1D1h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
nTPrtTh2 Register (1D5h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
nTPrtTh3 Register (1D2h) (beyond JEITA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Fault Timer Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
www.analog.com
Analog Devices | 3
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
TABLE OF CONTENTS (CONTINUED)
nDelayCfg Register (1DCh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Battery Internal Self-Discharge Detection Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Status/Configuration Protection Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
nProtCfg Register (1D7h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
nBattStatus Register (1A8h). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
ProtStatus Register (0D9h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
ProtAlrt Register (0AFh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
HProtCfg2 Register (0F1h). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
FProtStat Register (0DAh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Other Protection Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
nProtMiscTh Register (1D6h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
ModelGauge m5 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
ModelGauge m5 EZ Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
ModelGauge m5 EZ Algorithm Output Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
RepCap Register (005h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
RepSOC Register (006h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
FullCapRep Register (010h). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
TTE Register (011h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
TTF Register (020h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Age Register (007h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Cycles Register (017h) and nCycles (1A4h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
TimerH Register (0BEh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
FullCap Register (035h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
nFullCapNom Register (1A5h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
RCell Register (014h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
VRipple Register (0B2h). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
nVoltTemp Register (1AAh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
ModelGauge m5 EZ Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
OCV Estimation and Coulomb Count Mixing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Empty Compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Fuel Gauge Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Converge-To-Empty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Determining Fuel-Gauge Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Initial Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Cycle+ Age Forecasting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
nAgeFcCfg Register (1E2h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
AgeForecast Register (0B9h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Age Forecasting Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Enabling Age Forecasting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
www.analog.com
Analog Devices | 4
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
TABLE OF CONTENTS (CONTINUED)
Battery Life Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Life Logging Data Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Determining Number of Valid Logging Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Reading History Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
History Data Reading Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
ModelGauge m5 EZ Algorithm Input Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
nXTable0 (180h) to nXTable11 (18Bh) Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
nOCVTable0 (190h) to nOCVTable11 (19Bh) Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
nQRTable00 (1A0h) to nQRTable30 (1A3h) Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
nFullSOCThr Register (1C6h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
nVEmpty Register (19Eh). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
nDesignCap Register(1B3h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
nRComp0 Register (1A6h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
nTempCo Register (1A7h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
ModelGauge m5 EZ Algorithm Configuration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
nFilterCfg Register (19Dh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
nRelaxCfg Register (1B6h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
nTTFCfg Register (1C7h)/CV_MixCap (0B6h) and CV_HalfTime (0B7h) Registers . . . . . . . . . . . . . . . . . . . . 91
nConvgCfg Register (1B7h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
nRippleCfg Register (1B1h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
nMiscCfg Register (1B2h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
ModelGauge m5 EZ Algorithm Additional Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Timer Register (03Eh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
dQAcc Register (045h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
dPAcc Register (046h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
QResidual Register (00Ch) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
VFSOC Register (0FFh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
VFOCV Register (0FBh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
QH Register (4Dh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
AvCap Register (01Fh). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
AvSOC Register (00Eh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
MixSOC Register (00Dh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
MixCap Register (02Bh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
VFRemCap Register (04Ah) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
SOCHold Register (0D0h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
FStat Register (03Dh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
nLearnCfg Register (19Fh). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
ModelGauge m5 EZ Memory Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
www.analog.com
Analog Devices | 5
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
TABLE OF CONTENTS (CONTINUED)
Nonvolatile Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Nonvolatile Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
100 Record Life Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
nNVCfg0 Register (1B8h). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
nNVCfg1 Register (1B9h). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
nNVCfg2 Register (1BAh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Enabling and Freeing Nonvolatile vs. Defaults. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Shadow RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Shadow RAM and Nonvolatile Memory Relationship . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Nonvolatile Memory Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
COPY NV BLOCK [E904h] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
NV RECALL [E001h] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
HISTORY RECALL [E2XXh] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Nonvolatile Block Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Determining Number of Remaining Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Memory Locks and Write Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
CommStat Register (061h). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
NV LOCK [6AXXh] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Locking Memory Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Reading Lock State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Analog Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Voltage Measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
VCell Register (01Ah). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
AvgVCell Register (019h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
MaxMinVolt Register (0008h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Cell1 Register (0D8h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
AvgCell1 Register (0D4h). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Batt Register (0D7h). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
PCKP Register (0DBh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
MinVolt Register (0ADh). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Current Measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Current Measurement Timing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Current Register (01Ch) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
AvgCurrent Register (01Dh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
MaxMinCurr Register (00Ah) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
nCGain Register (1C8h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
CGTempCo (0B8h)/nCGTempCo (0x1C9) Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Copper Trace Current Sensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
MinCurr Register (0AEh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
www.analog.com
Analog Devices | 6
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
TABLE OF CONTENTS (CONTINUED)
Temperature Measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Temperature Measurement Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Temp Register (01Bh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
AvgTA Register (016h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
MaxMinTemp Register (009h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
nThermCfg Register (1CAh). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
DieTemp (034h) Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
AvgDieTemp (040h) Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
FETTemp (015h) Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
nADCCfg Register (1C9h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Status and Configuration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
DevName Register (021h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
nROMID0 (1BCh)/nROMID1 (1BDh)/nROMID2 (1BEh)/nROMID3 (1BFh) Registers . . . . . . . . . . . . . . . . . . . . 121
Status Register (000h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Status2 Register (0B0h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
nI2CCfg Register (1B4h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
nPackCfg Register(1B5h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
I2CCmd Register(12Bh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
nConfig Register (1B0h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
nHibCfg Register (1BBh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
nRSense Register (1CFh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
nDesignVoltage Register (1E3h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
AtRate Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
AtRate Register (004h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
AtQResidual Register (0DCh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
AtTTE Register (0DDh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
AtAvSOC Register (0CEh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
AtAvCap Register (0DFh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Alert Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
nVAlrtTh Register (18Ch) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
nTAlrtTh Register (18Dh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
nSAlrtTh Register (18Fh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
nIAlrtTh Register (0ACh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Smart Battery Compliant Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
SBS Compliant Memory Space (I2C Interface Only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
sRemCapAlarm/sRemTimeAlarm Registers (101h/102h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
At-Rate Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
sAtRate Register (104h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
www.analog.com
Analog Devices | 7
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
TABLE OF CONTENTS (CONTINUED)
sAtTTF Register (105h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
sAtTTE Register (105h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
sAtRateOK Register (107h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
sTemperature Register (108h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
sPackVoltage Register (109h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
sChargingCurrent Register (114h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
sDesignVolt Register (119h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
sSpecInfo Register (11Ah) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
sSerialNumber Register (11Ch to 11Eh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
sManfctrName Register (120h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
sDeviceName Register (121h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
sDevChemistry Register (122h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
sManfctData Registers (123h to 12Fh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
sFirstUsed Register (136h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
sCell1 Register (13Fh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
sAvgCell1 Register (14Fh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
sAvCap Register (167h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
sMixCap Register (168h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
sManfctInfo Register (170h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Nonvolatile SBS Register Back-Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
nCGain and Sense Resistor Relationship . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Dynamic Battery Power Technology (DBPT) Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
MaxPeakPower Register (0A4h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
SusPeakPower Register (0A5h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
sPackResistance (0A6h) and nPackResistance (1C5h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
SysResistance (0A7h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
MinSysVoltage() (0A8h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
MPPCurrent (0A9h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
SPPCurrent (0AAh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
SHA-256 Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Authentication Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Procedure to Verify a Battery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Alternate Authentication Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Battery Authentication without a Host Side Secret . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Secret Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Single-Step Secret Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Single-Step Secret Generation Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Multi-Step Secret Generation Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Multi-Step Secret Generation Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
www.analog.com
Analog Devices | 8
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
TABLE OF CONTENTS (CONTINUED)
2-Stage Authentication Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Create a Unique Intermediate Secret . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Procedure for 2-Stage Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Determining Number of Remaining Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Authentication Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
COMPUTE MAC WITHOUT ROM ID [3600h] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
COMPUTE MAC WITH ROM ID [3500h] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
COMPUTE NEXT SECRET WITHOUT ROM ID [3000h] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
COMPUTE NEXT SECRET WITH ROM ID [3300h] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
CLEAR SECRET [5A00h] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
LOCK SECRET [6000h] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
COPY TEMPORARY SECRET FROM NVM [3800] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
COMPUTE NEXT TEMPORARY SECRET WITH ROMID [3900] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
COMPUTE NEXT TEMPORARY SECRET WITHOUT ROMID [3A00] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
COMPUTE MAC FROM TEMPORARY SECRET WITHOUT ROMID [3C00] . . . . . . . . . . . . . . . . . . . . . . . . 145
COMPUTE MAC FROM TEMPORARY SECRET WITH ROMID [3D00]. . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Device Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Reset Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
HARDWARE RESET [000Fh to address 060h] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
CONFIGURATION RESET [8000h to address 0ABh] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Summary of Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
2-Wire Bus System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Hardware Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
2-Wire Bus Interface Circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
I/O Signaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Bit Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Bus Idle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
START and STOP Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Acknowledge Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Data Order. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Slave Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Read/Write Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Bus Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
2-Wire Bus Timing Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
I2C Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
I2C Write Data Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
I2C Read Data Protocol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
SBS Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
www.analog.com
Analog Devices | 9
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
TABLE OF CONTENTS (CONTINUED)
SBS Write Word Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Example SBS Write Word Communication Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
SBS Read Word Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Example SBS Read Word Communication Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
SBS Write Block Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
SBS Read Block Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Example SBS Read Block Communication Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Valid SBS Read Block Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Packet Error Checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
PEC CRC Generation Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Appendix A: Reading History Data Pseudo-Code Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Appendix B: Parallel Cell Management Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Typical Application Circuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Typical Application Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Typical Application Schematic with Fuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Pushbutton Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Typical Application Schematic for System Side Implementaiton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Ordering Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
www.analog.com
Analog Devices | 10
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
LIST OF FIGURES
Figure 1. Li+/Li-Poly Charge Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Figure 2. Step-Charging State Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Figure 3. Zero-Volt Charge Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Figure 4. FullCapRep Learning at End-of-Charge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Figure 5. Supplement and Charging Comparators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Figure 6. Charging and Discharging States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Figure 7. Simplified Protector State Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Figure 8. Programmable Voltage Thresholds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Figure 9. Programmable Current Thresholds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Figure 10. Example of Internal Self-Discharge with Temperature Variation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Figure 11. Fast, Medium, and Slow Overdischarge Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Figure 12. Overcurrent Comparator Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Figure 13. Merger of Coulomb Counter and Voltage Based Fuel Gauge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Figure 14. ModelGauge m5 EZ Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Figure 15. Power Mode Transition State Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Figure 16. ModelGauge m5 EZ Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Figure 17. Voltage and Coulomb Count Mixing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Figure 18. ModelGauge m5 EZ Typical Accuracy Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Figure 19. Handling Changes in Empty Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Figure 20. FullCapNom Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Figure 21. Converge-To-Empty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Figure 22. Benefits of Age Forecasting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Figure 23. Sample Life Logging Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Figure 24. Write Flag Register and Valid Flag Register Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Figure 25. Cell Relaxation Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Figure 26. Shadow RAM and Nonvolatile Memory Relationship . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Figure 27. Procedure to Verify a Battery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Figure 28. Battery Authentication without a Host Side Secret . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Figure 29. Single-Step Secret Generation Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Figure 30. Multi-Step Secret Generation Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Figure 31. Create a Unique Intermediate Secret . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Figure 32. Procedure for 2-Stage Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Figure 33. 2-Wire Bus Interface Circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Figure 34. 2-Wire Bus Timing Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Figure 35. Example I2C Write Data Communication Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Figure 36. Example I2C Read Data Communication Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Figure 37. Example SBS Write Word Communication Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Figure 38. Example SBS Read Word Communication Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Figure 39. Example SBS Read Block Communication Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
www.analog.com
Analog Devices | 11
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
LIST OF FIGURES (CONTINUED)
Figure 40. PEC CRC Generation Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
www.analog.com
Analog Devices | 12
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
LIST OF TABLES
Table 1. Charging Current with Step Charging and JEITA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Table 2. Charging Voltage with Step Charging and JEITA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Table 3. Parallel Management FET Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Table 4. AvgCurrDet Threshold when using 10mΩ and Default nProtMiscTh.CurrDet = 7.5mA . . . . . . . . . . . . . . . . . . 37
Table 5. Summary of Protector Registers by Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Table 6. Voltage Thresholds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Table 7. Current Threshold Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Table 8. Other Thresholds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Table 9. Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Table 10. MAX17330 Ship Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Table 11. Recommended nHibCfg Settings and the Impact on IQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Table 12. MAX17330 Standard Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Table 13. Sense Resistor Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Table 14. ModelGauge Register Standard Resolutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Table 15. ChgStat (0A3h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Table 16. nChgCfg0 Register (1C2h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Table 17. nChgCfg1 (1CBh) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Table 18. HeatLim Range and Resolution for Different Sense Resistors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Table 19. nMiscCfg2 Register (1E4h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Table 20. nVChgCfg Register (1D9h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Table 21. nIChgCfg Register (1D8h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Table 22. Charging Current for Different Sense Resistors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Table 23. nStepChg Register (1DBh) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Table 24. nUVPrtTh Register (1D0h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Table 25. nOVPrtTh Register (1DAh) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Table 26. nODSCTh Register (1DDh) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Table 27. OCTH, SCTh, and ODTH Sample Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Table 28. nODSCCfg Register (1DEh) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Table 29. nIPrtTh1 Register (1D3h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Table 30. nTPrtTh1 Register (1D1h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Table 31. nTPrtTh2 (1D5h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Table 32. nTPrtTh3 Register (1D2h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Table 33. nDelayCfg (1DCh) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Table 34. UVPTimer Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Table 35. TempTimer Setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Table 36. TempTrans Configuration Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Table 37. PermFailTimer Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Table 38. OverCurrTimer Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Table 39. OVPTimer Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
www.analog.com
Analog Devices | 13
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
LIST OF TABLES (CONTINUED)
Table 40. FullTimer Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Table 41. ChgWDT/ChgRm Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Table 42. nProtCfg2 Register (1DFh) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Table 43. Alert and Fault Mode Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Table 44. LeakCurrRep Register (0x16F) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Table 45. nProtCfg Register (1D7h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Table 46. nBattStatus Register (1A8h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Table 47. ProtStatus Register (0D9h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Table 48. ProtAlrt Register (0AFh) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Table 49. HProtCfg2 (0F1h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Table 50. FProtStat Register (0DAh) format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Table 51. nProtMiscTh Register (1D6h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Table 52. nCycles Register (1A4h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Table 53. nNVCfg2.FibScl Setting Determines LSb of nNVCfg2.CyclesCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Table 54. nVoltTemp Register (1AAh) Format when nNVCfg2.enVT = 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Table 55. nAgeFcCfg Register (1E2h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Table 56. Minimum and Maximum Cell Sizes for Age Forecasting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Table 57. Life Logging Register Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Table 58. Reading History Page Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Table 59. Decoding History Page Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Table 60. Reading History Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Table 61. nFullSOCThr (1C6h)/FullSOCThr (013h) Register Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Table 62. nVEmpty (19Eh) Register Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Table 63. FilterCfg (029h)/nFilterCfg (19Dh) Register Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Table 64. RelaxCfg (0A0h)/nRelaxCfg (1B6h) Register Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Table 65. nTTFCfg Register (1C7h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Table 66. nConvgCfg Register (1B7h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Table 67. nRippleCfg Register (1B1h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Table 68. MiscCfg (00Fh)/nMiscCfg (1B2h) Register Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Table 69. SOCHold (0D0h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Table 70. FStat Register (03Dh) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Table 71. LearnCfg (0A1h)/nLearnCfg (19Fh) Register Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Table 72. Top Level Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Table 73. Individual Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Table 74. ModelGauge m5 EZ Register Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Table 75. Nonvolatile Register Memory Map (Slave Address 0x16) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Table 76. Fibonacci Configuration Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Table 77. Eventual Matured Update Interval (in battery cycles) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Table 78. Saving Schedule Example with the Most Preferred Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
www.analog.com
Analog Devices | 14
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
LIST OF TABLES (CONTINUED)
Table 79. nNVCfg0 Register (1B8h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Table 80. nNVCfg1 Register (1B9h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Table 81. nNVCfg2 Register (1BAh) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Table 82. Making Nonvolatile Memory Available for User Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Table 83. Nonvolatile Memory Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Table 84. History Recall Command Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Table 85. Number of Remaining Config Memory Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Table 86. CommStat Register (061h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Table 87. Format of LOCK Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Table 88. Format of Lock Register (07Fh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Table 89. MaxMinVolt (008h)/nMaxMinVolt (1ACh) Register Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Table 90. Current Measurement Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Table 91. Current Measurement Range and Resolution vs. Sense Resistor Value . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Table 92. MaxMinCurr (00Ah)/nMaxMinCurr (1ABh) Register Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Table 93. nCGain Register (1C8h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Table 94. Copper Trace Sensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Table 95. Temperature Measurement Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Table 96. MaxMinTemp (009h)/nMaxMinTemp (1ADh) Register Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Table 97. Register Settings for Common Thermistor Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Table 98. nADCCfg (0x1C9) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Table 99. DevName Register (021h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Table 100. nROMID Registers (1BCh to 1BFh) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Table 101. Status Register (000h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Table 102. Status2 Register (0B0h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Table 103. nI2CCfg Register (1B4h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Table 104. nPackCfg (1B5h) Register Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Table 105. I2C Address Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Table 106. Thermistor Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Table 107. I2CCmd (12Bh) Register Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Table 108. GoToSID Address Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Table 109. nConfig Register (1B0h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Table 110. Config Register (00Bh) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Table 111. Config2 Register (0ABh) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Table 112. nHibCfg Register (1BBh) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Table 113. Recommended nRSense Register Values for Common Sense Resistors . . . . . . . . . . . . . . . . . . . . . . . . . 126
Table 114. nDesignVoltage Register (1E3h) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Table 115. VAlrtTh (001h)/nVAlrtTh (18Ch) Register Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Table 116. TAlrtTh (002h)/nTAlrtTh (18Dh) Register Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Table 117. SAlrtTh (003h)/nSAlrtTh (18Fh) Register Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
www.analog.com
Analog Devices | 15
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
LIST OF TABLES (CONTINUED)
Table 118. IAlrtTh (0ACh)/nIAlrtTh (18Eh) Register Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Table 119. SBS Register Space Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Table 120. SpecInfo (11Ah) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Table 121. SBS to Nonvolatile Memory Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Table 122. nCGain Register Settings to Meet SBS Compliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Table 123. Number of Remaining Secret Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Table 124. All Function Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Table 125. 2-Wire Slave Addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Table 126. Valid SBS Read Block Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
www.analog.com
Analog Devices | 16
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Absolute Maximum Ratings
CP to BATT .................................................... -0.3V to BATT +6V
CHG to BATT .................................................. -0.3V to CP +0.3V
Continuous Source Current for BATT (during zero-volt
charging) ............................................................................. 50mA
Continuous Sink Current for SDA, ALRT, PFAIL ................ 20mA
Continuous Source Current for PFAIL ................................. 20mA
Continuous Sink Current for ZVC ........................................ 50mA
Operating Temperature Range ............................ -40°C to +85°C
Storage Temperature Range .............................. -55°C to +125°C
Soldering Temperature (reflow) ........................................ +260°C
Lead Temperature (soldering 10s) ................................... +300°C
BATT to GND ............................................................ -0.3V to +6V
ALRT to GND .......................................................... -0.3V to +17V
TH, PFAIL to GND .......................................-0.3V to BATT +0.3V
ZVC/TH2 to GND ...................................................... -0.3V to +6V
REG to GND .......................................................... -0.3V to +2.2V
CSN to BATT ................................... BATT - 0.3V to BATT +0.3V
CSP to BATT ................................... BATT - 0.3V to BATT +0.3V
DIS to GND ...................................................... -0.3V to CP +0.3V
PCKP to GND ......................................................... -0.3V to +28V
SDA, SCL to GND ................................................... -0.3V to +20V
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.
Package Information
15 WLP
Package Code
W151J2+1
Outline Number
21-100433
Land Pattern Number
Refer to Application Note 1891
Thermal Resistance, Four-Layer Board:
Junction to Ambient (θJA)
62°C/W
Junction to Case (θJC)
N/A
www.analog.com
Analog Devices | 17
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Pin 1
Ind ic a tor
COMMON DIMENSIONS
E
1
Ma rking
see Note 7
A
AAAA
D
A1
0.64 0.05
0.24 0.03
A2
0.40 REF
A3
0.04 BASIC
0.31 0.03
A
b
D
TOP VIEW
E
SIDE VIEW
A1
A
S
A2
0.025
0.025
E1
1.00 BASIC
2.00 BASIC
e
0.50 BASIC
SD
0.00 BASIC
D1
A3
1.908
2.448
0.00 BASIC
DEPOPULATED BUMPS:
NONE
SE
0.05 S
FRONT VIEW
E1
SE
e
B
NOTES:
1. Term ina l p itc h is d efined b y term ina l c enter to c enter va lue.
2. Outer d im ension is d efined b y c enter lines b etw een sc rib e lines.
3. All d im ensions in m illim eter.
4. Ma rking show n is for p a c ka g e orienta tion referenc e only.
5. Tolera nc e is ± 0.02 unless sp ec ified otherw ise.
6. All d im ensions a p p ly to Pb Free (+) p a c ka g e c od es only.
7. Front - sid e finish c a n b e either Bla c k or Clea r.
SD
C
B
D1
A
1
2
3
4
A
BOTTOM VIEW
- DRAWING NOT TO SCALE -
5
b
0.05 M
maxim
integrated
S AB
TITLE
TM
PACKAGE OUTLINE 15 BUMPS
WLP PKG. 0.5 m m PITCH, W151J2+1
APPROVAL
DOCUMENT CONTROL NO.
21-100433
REV.
A
1
1
For the latest package outline information and land patterns (footprints), go to www.maximintegrated.com/packages. Note that a “+”, “#”, or “-” in the package code indicates
RoHS status only. Package drawings may show a different suffix character, but the drawing pertains to the package regardless of RoHS status.
Package thermal resistances were obtained using the method described in JEDEC specification JESD51-7, using a four-layer board. For detailed information on package thermal
considerations, refer to www.maximintegrated.com/thermal-tutorial.
www.analog.com
Analog Devices | 18
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Electrical Characteristics
(VBATT = 2.16V to 4.9V, typical value at 3.6V (Note 1), TA = -40°C to +85°C, typical values are TA = +25°C, see the Functional Diagram.
Limits are 100% tested at TA = +25°C. Limits over the operating temperature range and relevant supply voltage range are guaranteed
by design and characterization.)
PARAMETER
SYMBOL
CONDITIONS
MIN
TYP
MAX
UNITS
4.9
V
0.1
μA
μA
POWER SUPPLY
Supply Voltage
VBATT
(Note 1)
2.16
Undervoltage Shutdown
Supply Current
IDD0
Undervoltage shutdown
DeepShip Supply
Current
IDD1
TA ≤ +50°C, typical at +25°C
0.5
1.1
11
24
IDD2
DpShpEn = 0, TA ≤
+50°C, typical at
+25°C, protection
FETs off
1.4s updates
Ship Supply Current
5.625s updates
8
Hibernate Supply
Current
IDD3
TA ≤ +50°C, typical at +25°C, average
current, CHG and DIS on, 1.4s updates
21
42
μA
Active Supply Current
IDD4
TA ≤ +50°C, typical at +25°C, average
current, not including thermistor
measurement current
28
52
μA
Regulation Voltage
VREG
μA
1.8
V
CHARGE ACCURACY
Charge Voltage
Accuracy
Charge Voltage Range
Charge Current
Accuracy
Charge Current Range
VGERR
VFS
IGERR
IFS
nVChgCfg setting, TA = +25°C
-7.5
+7.5
nVChgCfg setting, -40ºC ≤ TA ≤ +85ºC
-20
+20
nVChgCfg setting, 5mV resolution
3.56
4.835
nIChgCfg vs. CSP-CSN, Charge Current
set 10mV to 25.6mV
-1.1
+1.1
nIChgCfg vs. CSP-CSN, Charge Current
set 6mV to 10mV
-1.15
+1.15
nIChgCfg vs. CSP-CSN, nIChgCfg from
4mV to 6mV
-1.25
+1.25
% of
Reading
nIChgCfg vs. CSP-CSN, nIChgCfg from
2.5mV to 4mV
-1.4
+1.4
%
nIChgCfg setting, 400mA to 2560mA,
10mA steps (with 10mΩ)
2.5
25.6
mV
V
%
nChgCfg1.HeatLim; RSENSE = 10mΩ;
multiply RSENSE/10mΩ for other sense
resistors
Charge Heat Regulation
Max Setting
mV
3264
mW
ANALOG-TO-DIGITAL CONVERSION
TA = +25°C, 2.3V ≤ VBATT ≤ 4.9V
-7.5
+7.5
-40ºC ≤ TA ≤ +85ºC, 2.3V ≤ VBATT ≤ 4.9V
-20
+20
Voltage Measurement
Error
VGERR
Voltage Measurement
Resolution
VLSB
Current Measurement
Offset Error
IOERR
CSP = CSN = 3.6V, long-term average
(Note 2)
Current Measurement
Gain Error
IGERR
CSP between CSN-50mV and
CSN+50mV
www.analog.com
-1
mV
78.125
μV
±1.5
μV
+1
% of
Reading
Analog Devices | 19
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Electrical Characteristics (continued)
(VBATT = 2.16V to 4.9V, typical value at 3.6V (Note 1), TA = -40°C to +85°C, typical values are TA = +25°C, see the Functional Diagram.
Limits are 100% tested at TA = +25°C. Limits over the operating temperature range and relevant supply voltage range are guaranteed
by design and characterization.)
PARAMETER
SYMBOL
CONDITIONS
MIN
TYP
MAX
UNITS
Current Measurement
Resolution
ILSB
1.5625
μV
Current Measurement
Range
IFS
±51.2
mV
Internal Temperature
Measurement Error
TIGERR
±1
ºC
Internal Temperature
Measurement
Resolution
TILSB
0.00391
ºC
Auxiliary Ratiometric
Measurement Error
TEGERR
PCKP Measurement
Resolution
VPLSB
PCKP Measurement
Range
VPFS
PCKP Versus BATT
Measurement Error
VP2Berr
TH (Note 2)
-0.5
+0.5
312.5
TA = +25ºC
% of
Reading
μV
1.5
BATT +
5.12
V
-10
+10
mV
PCKP
PCKP Startup Voltage
3.1
PCKP Startup
Hysteresis
100
PCKP Current
PCKP Pulldown
Resistor
BATT = PCKP
170
220
mV
1.2
2.5
μA
24
40
60
kΩ
2x
VBATT 0.4
2x
VBATT 0.2
2x
VBATT
V
TA < +85°C, typical
at TA = +25°C
RPDPCKP
V
CHARGE PUMP
CP Output Voltage
VCP
Battery only
CHG Output High
VOHC
IOH = -1mA
CHG Output Low
VOLC
IOL = 1mA
DIS Output High
VOHD
IOH = -100μA
DIS Output Low
VOLD
IOL = 100μA
ICHG + IDIS = 1μA
CHG DRIVER
VCP 0.4
V
BATT +
0.4
V
DIS DRIVER
VCP 0.4
V
0.1
V
ZERO-VOLT CHARGE
Voltage Drop Between
ZVC and BATT
www.analog.com
VZVCDROP
30mA into ZVC
BATT = 0V
1.4
2
BATT = 2.3V
0.15
0.5
V
Analog Devices | 20
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Electrical Characteristics (continued)
(VBATT = 2.16V to 4.9V, typical value at 3.6V (Note 1), TA = -40°C to +85°C, typical values are TA = +25°C, see the Functional Diagram.
Limits are 100% tested at TA = +25°C. Limits over the operating temperature range and relevant supply voltage range are guaranteed
by design and characterization.)
PARAMETER
SYMBOL
CONDITIONS
MIN
TYP
MAX
UNITS
0.4
V
INPUT/OUTPUT
Output Drive Low,
ALRT, SDA, PFAIL
VOL
IOL = 4mA, VBATT = 2.3V
0.01
Output Drive High,
PFAIL
VOH
IOH = -1mA, VBATT = 2.3V
VBATT 0.1
V
Input Logic High, SCL,
SDA, PIO
VIH
1.5
V
Input Logic Low, SCL,
SDA, PIO
VIL
PIO Wake Debounce
PIO_WD
Ship mode
100
External Thermistance
Resistance
REXT10
nPackCfg.R100 = 0
10
REXT100
nPackCfg.R100 = 1
100
0.5
V
ms
kΩ
RESISTANCE AND LEAKAGE
Leakage Current, CSN,
CSP, ALRT, TH
ILEAK
Input Pulldown Current
IPD
VALRT < 15V
-1
SDA, SCL pin = 0.4V
0.2
+1
μA
0.5
μA
COMPARATORS
Overcharge Current
Threshold Offset Error
OCOE
OC comparator
-0.8
+0.8
mV
Overdischarge Current
Threshold Offset Error
ODOE
OD comparator
-1.5
+1.5
mV
Short-Circuit Threshold
Offset Error
SCOE
SC comparator
-2.5
+2.5
mV
Overcurrent Threshold
Gain Error
ODOCSCGE
OC, OD, or SC comparator
-4.0
+4.0
% of
Threshold
6
μs
Overcurrent Comparator
Delay
Supplement Mode
Comparator Threshold
Falling PCKP Versus
BATT
OCDLY
VSUP_TH_F
OD or SC comparator, 20mV minimum
input overdrive, delay configured to
minimum
2
BATT ≥ 3.4V, PCKP sweep down
30
mV
TIMING
Time-Base Accuracy
tERR
TA = +25°C
SHA Calculation Time
tSHA
VBATT > 3V
tPRE
Time between turning on the TH bias and
analog-to-digital conversions
TH Precharge Time
Task Period
-1
4.5
+1
%
10
ms
8.48
tTP
ms
351.5
ms
NONVOLATILE MEMORY
Nonvolatile Access
Voltage
VNVM
For block programming and recalling,
applied on BATT
3.0
Programming Supply
Current
IPROG
Current from BATT at 2.9V for block
programming
2
www.analog.com
V
5.5
10
mA
Analog Devices | 21
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Electrical Characteristics (continued)
(VBATT = 2.16V to 4.9V, typical value at 3.6V (Note 1), TA = -40°C to +85°C, typical values are TA = +25°C, see the Functional Diagram.
Limits are 100% tested at TA = +25°C. Limits over the operating temperature range and relevant supply voltage range are guaranteed
by design and characterization.)
PARAMETER
SYMBOL
CONDITIONS
MIN
TYP
MAX
UNITS
368
7360
ms
64
1280
ms
5
ms
Block Programming
Time
tBLOCK
Page Programming
Time
tUPDATE
Nonvolatile Memory
Recall Time
tRECALL
Write Capacity,
Configuration Memory
nCONFIG
(Notes 2, 3, 4)
7
writes
Write Capacity, SHA
Secret
nSECRET
(Notes 2, 3, 4)
5
writes
Write Capacity, Learned
Parameters
nLEARNED
(Notes 2, 3, 4)
99
writes
Data Retention
SHA secret update or learned parameters
update
tNV
(Note 2)
10
SCL Clock Frequency
fSCL
(Note 5)
0
Bus Free Time Between
a STOP and START
Condition
tBUF
years
2-WIRE INTERFACE
Hold Time (Repeated)
START Condition
tHD:STA
(Note 6)
400
kHz
1.3
μs
0.6
μs
Low Period of SCL
Clock
tLOW
1.3
μs
High Period of SCL
Clock
tHIGH
0.6
μs
Setup Time for a
Repeated START
Condition
tSU:STA
0.6
μs
Data Hold Time
tHD:DAT
(Notes 7, 8)
Data Setup Time
tSU:DAT
(Note 7)
0
0.9
100
μs
ns
Rise Time of Both SDA
and SCL Signals
tR
5
300
ns
Fall Time of Both SDA
and SCL Signals
tF
5
300
ns
Setup Time for STOP
Condition
tSU:STO
0.6
Spike Pulse Width
Suppressed by Input
Filter
tSP
Capacitive Load for
Each Bus Line
CB
SCL, SDA Input
Capacitance
μs
(Note 9)
CBIN
6
50
ns
400
pF
pF
Note 1: All voltages are referenced to GND.
Note 2: Specification is guaranteed by design (GBD) and not production tested.
www.analog.com
Analog Devices | 22
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Note 3: Write capacity numbers shown have one write subtracted for the initial write performed during manufacturing test to set
nonvolatile memory to a known value.
Note 4: Due to the nature of one-time programmable memory, write endurance cannot be production tested. Follow the nonvolatile
memory and SHA secret update procedures detailed in the data sheet.
Note 5: Timing must be fast enough to prevent the IC from entering shutdown mode due to bus low for a period greater than the
shutdown timer setting.
Note 6: fSCL must meet the minimum clock low time plus the rise/fall times.
Note 7: The maximum tHD:DAT has to only be met if the device does not stretch the low period (tLOW) of the SCL signal.
Note 8: This device internally provides a hold time of at least 100ns for the SDA signal (referred to the minimum VIH of the SCL signal)
to bridge the undefined region of the falling edge of SCL.
Note 9: On 10mΩ RSENSE
www.analog.com
Analog Devices | 23
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Typical Operating Characteristics
(TA = +25°C, unless otherwise noted.)
www.analog.com
Analog Devices | 24
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Typical Operating Characteristics (continued)
(TA = +25°C, unless otherwise noted.)
www.analog.com
Analog Devices | 25
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Typical Operating Characteristics (continued)
(TA = +25°C, unless otherwise noted.)
Pin Configuration
WLP
TOP VIEW
(BUMP SIDE DOWN)
1
2
A
TH
B
C
MAX17330X22
3
4
5
GND
CSP
CSN
REG
CP
PFAIL
ZVC/
TH2
ALRT/
PIO
SCL
BATT
CHG
DIS
PCKP
SDA
+
(1.9mm x 2.5mm, 0.5mm PITCH)
Pin Description
PIN
NAME
A1
TH
Battery Thermistor Connection. Connect an external 10kΩ or 100kΩ thermistor between TH and
GND to measure the battery temperature. Connect to BATT if not used.
B1
CP
Charge Pump Output. CP provides the voltage for driving external charge and discharge protection
N-FETs. Connect a bypass 0.1μF capacitor between CP and BATT.
C1
BATT
Battery Connection. The MAX17330 receives power from BATT and measures cell voltage at
BATT. Connect BATT to positive terminal of the battery with a 10Ω resistor and bypass with a
0.1μF capacitor to GND.
B2
PFAIL
Permanent Failure Indicator (Optional). Connect to secondary protector to take action in case of
primary FET failure detection. Disconnect if not used, or connect to GND with a 2MΩ resistor.
www.analog.com
FUNCTION
Analog Devices | 26
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Pin Description (continued)
PIN
NAME
A3
CSP
Current-Sense-Resistor Positive Input. Kelvin-connect to the Pack+ side of the sense resistor.
FUNCTION
A4
CSN
Current-Sense Negative Input. Kelvin connect to the cell side of the sense resistor.
A5
REG
1.8V Regulator. REG provides a 1.8V supply for the IC. Bypass with a 0.47μF capacitor between
REG and GND.
C5
SDA
Serial Data Input/Output for I2C Communication Modes. Open-drain output driver. Connect to the
DATA terminal of the battery pack. SDA has an internal pulldown (IPD) for sensing pack
disconnection.
B5
SCL
Serial Clock Input for I2C Communication. Input only. For I2C communication, connect to the clock
terminal of the battery pack. SCL has an internal pulldown (IPD) for sensing pack disconnection.
Alert Output. ALRT is open-drain and active-low. Connect an external pullup resistor to indicate
alerts. See the Alerts section for more details.
B4
ALRT/PIO
C4
PCKP
C3
DIS
Discharge FET Control. DIS enables/disables battery discharge by driving an external N-FET
between CP and GND.
B3
ZVC/TH2
Zero-Volt Charge Input Pin. Connect to PCKP through a resistor for ZVC function. Alternative
function is temperature sense for CHG-FET, connect to Thermistor. Leave disconnected or
connect to GND if unused.
C2
CHG
Charge FET Control. CHG blocks/allows battery charge by controlling an external N-FET between
CP and BATT.
A2
GND
IC GND
www.analog.com
Pushbutton Wakeup. Connect to the host-system's power button to GND without any external
pullup since the IC has an internal pullup. The IC wakes up from shutdown mode when the button
is pressed.
Pack Positive Terminal or System Positive Terminal. PCKP pin is used for charger detection, input
voltage measurement, and overcurrent fault removal detection.
Analog Devices | 27
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
SYS +
N
N
Functional Diagram
CHG
DIS
PCKP
CP
CP
GND
BATT
CHARGE
DETECT
CSP
ALRT/PIO
MODELGAUGE m5
CSN
PFAIL
MUX
INTERNAL
TEMPERATURE
SENSOR
BATT
1.8V
REG
OUT IN
REGULATOR
I 2C
INTERFACE
ADC
MAX17330
CP
SHA-256
PROTECTOR CONTROL
CHARGE
PUMP
OPTIONAL
ZVC
SDA
SCL
TH BIAS
GENERATOR
TH
ZERO-VOLT
CHARGING
ZVC/TH2
GND
OPTIONAL
TH2
SYS –
www.analog.com
Analog Devices | 28
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Detailed Description
General Description
The MAX17330 is a 28μA IQ stand-alone charger, fuel gauge IC with protector and SHA-256 authentication for 1-cell
lithium-ion/polymer batteries. The MAX17330 implements Maxim Integrated's ModelGauge m5 EZ fuel gauge algorithm
without requiring host interaction for configuration, which makes the MAX17330 an excellent charger, protector, and
fuel gauge. Using AccuCharge charger technology, the MAX17330 charges the battery with programmable voltage and
current based on measured temperature and battery state using a configurable profile of voltage and current based on
temperature and cell voltage. The MAX17330 monitors the voltage, current, temperature, and state of the battery to
ensure that the lithium-ion/polymer battery is operating under safe conditions to prolong the life of the battery. Voltage
of the battery pack is measured at the BATT connection. Current is measured with an external sense resistor placed
between the CSP and CSN pins. Power and average power are also reported. An external NTC thermistor connection
allows the IC to measure the temperature of the battery pack by monitoring the TH pin and optionally calculate the
temperature of the FET with the ZVC/TH2 pin. The TH/TH2 pins provides an internal pull-up for the thermistor that is
disabled internally when temperature is not being measured. Internal die temperature of the IC is also measured and can
be a proxy for the protection/charge FET temperature if it is located close to the IC, or used with the TH2 thermistor to
calculate the FET temperature if located further from the IC.
The MAX17330 controls charging in current, voltage, temperature, and power limit modes. Each of these limits is set
in non-volatile memory, and the battery is charged at the highest rate within these limits. The voltage and current are
adjusted over temperature to comply with the 6 zone JEITA temperature settings and with 3 zone step-charging based
on the battery voltage. For additional functionality, see the Charger section.
The MAX17330 scales the charging current based on the sense resistor, making it well suited to many types of batteries,
ranging from less than 10mAh in wearable applications to greater than 10,000mAh in parallel packs or large capacity
applications.
The MAX17330 provides programmable discharge protection for overdischarge currents (fast, medium, and slow
protection), overtemperature, and undervoltage. The IC also provides programmable charge protection for overvoltage,
over/undertemperature, overcharge currents (fast and slow), charge done, charger communication timeout, and
overcharge capacity fault. The IC provides ideal diode discharge behavior even while a charge fault persists. The
IC provides programmable charging current/voltage prescription following JEITA temperature regions as well as stepcharging. The MAX17330 provides additional protection to permanently disable the battery by overriding a secondary
protector or blowing a fuse in severe fault conditions. This is useful when the IC has detected FET failure and is unable
to block charge/discharge any other way. Additional functionality is described in the Protector section.
The ModelGauge m5 EZ algorithm combines the short-term accuracy and linearity of a coulomb counter with the longterm stability of a voltage-based fuel gauge, along with temperature compensation to provide industry-leading fuelgauge accuracy. Additionally, the algorithm does not suffer from abrupt corrections that normally occur in coulombcounter algorithms since tiny continual corrections are distributed over time. The MAX17330 automatically compensates
for aging, temperature, and discharge rate and provides accurate state of charge (SOC) in milliampere-hours (mAh)
or percentage (%) over a wide range of operating conditions. Fuel gauge errors always converge to 0% as the cell
approaches empty. Dynamic power functionality provides instantaneous maximum battery output power which can be
delivered to the system without violating the minimum system input voltage. The IC provides accurate estimates of timeto-empty and time-to-full and provides three methods for reporting the age of the battery: reduction in capacity, increase
in battery resistance, and cycle odometer. In addition, age forecasting allows the user to estimate the expected lifespan
of the cell.
To prevent battery clones, the IC integrates SHA-256 authentication with a 160-bit secret key. Every IC also incorporates
a 64-bit unique identification number (ROM ID). Additionally, up to 122 bytes of user memory (NVM) can be made
available to store custom information.
The IC supports three low-power modes: undervoltage shutdown (0.1μA), deepship (0.1μA or 0.5μA), and ship (8μA).
The IC can enter these low-power modes by command, communication collapsed (if enabled), or undervoltage shutdown.
The IC can wake up from these low-power modes by communication, charger detection, or pushbutton wakeup (if
enabled and installed). Pushbutton wakeup disconnects the battery from the system during shipping, yet wakes up
immediately upon the user pressing the button so the user does not need to plug in a charger.
www.analog.com
Analog Devices | 29
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Communication to the host occurs over a standard I2C interface. SCL is an input from the host, and SDA is an open-drain
I/O pin that requires an external pullup. The ALRT pin is an output that can be used as an external interrupt to the host
processor if certain application conditions are detected.
Charge Control
Lithium-ion/polymer batteries are very common in a wide variety of portable electronic devices because they have very
high energy density, minimal memory effect, and low self-discharge. However, care must be taken to avoid overheating
or overcharging these batteries to prevent damage to the batteries, potentially resulting in dangerous outcomes/explosive
results. By operating in safe temperature ranges, at safe voltages and under safe current levels, the overall safety of the
lithium-ion/polymer batteries can be assured throughout the life of the battery.
Using AccuCharge technology, the MAX17330 controls the charging voltage and current dynamically based on the JEITA
charge profile, step-charging, battery temperature, and temperature of the charging FET. The charge current is reduced
at low battery voltage (prequal), low and high temperature, or when the charging FET is at a temperature or power
dissipation limit. Figure 1 shows the typical charge profile through the operating range of a battery. MAX17330 has
several regulation and control options, shown in the following list.
● Autonomous Charger with non-volatile configuration.
● Constant Current Regulation Configurable in 10mA steps, 350mA to 2560mA (with a 10mΩ sense resistor), with
1% accuracy. Scalable with sense resistor for larger or smaller currents and batteries. See Table 13.
● Constant Voltage Regulation Configurable in 5mV steps from 3.56V to 4.835V with 0.2% accuracy.
● Constant Power Regulation MAX17330 measures the pack and battery voltage, as well as charging current to
calculate the power in the FET and sense resistor. The IC regulates heat with a configurable threshold (scalable with
sense resistor).
● Temperature Regulation The IC regulates the FET temperature to a configurable threshold.
● Supplement Mode quickly supported with ideal diode.
● Parallel Cell Management including cross-charge blocking.
● Zero Volt Charging/Blocking and Battery Prequalification.
Table 1 and Table 2 show an example of the charge profile with step charging and JEITA profile changing the
target charge current and charge voltage. See nIChgCfg, nVChgCfg, nStepChg, and nTPrtTh1, nTPrtTh2, nTPrtTh3 for
configuration details.
Table 1. Charging Current with Step Charging and JEITA
TEMPERATURE
TOO COLD
COLD
ROOM
WARM
HOT
TOO HOT
55°C
Step 2
No Charging
0.19C
0.25C
0.22C
0.15C
No Charging
Step 1
No Charging
0.38C
0.5C
0.44C
0.31C
No Charging
Step 0
No Charging
0.75C
1C
0.88C
0.625C
No Charging
TOO HOT
Table 2. Charging Voltage with Step Charging and JEITA
TEMPERATURE
TOO COLD
COLD
ROOM
WARM
HOT
55°C
Step 2
No Charging
4.14V
4.2V
4.18V
4.16V
No Charging
Step 1
No Charging
4.1V
4.16V
4.14V
4.12V
No Charging
Step 0
No Charging
4.06V
4.12V
4.1V
4.08V
No Charging
www.analog.com
Analog Devices | 30
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
BATTERY VOLTAGE
DONE
TOP-OFF
RESTART
FAST CHARGE (CV)
DONE
TOP-OFF
FAST CHARGE (CV)
FAST CHARGE (CC)
STEP CHARGING
OPTIONAL
LOW-BATTERY
PREQUALIFICATION
CHARGING
VOLTAGE
ZERO-VOLT
CHARGING
STATES
NOT TO SCALE. DRAWN WITHOUT STEP CHARGING. NO
CONSTANT POWER OR CONSTANT TEMPERATURE MODES
VRSTRT
VPREQUAL
VBATTMIN
(2.16V)
0V
BATTERY CHARGE CURRENT
TIME
CHARGING
CURRENT
IPQL
ICHGTERM
IZVC
0A
CHARGER
ENABLED
TIME
Figure 1. Li+/Li-Poly Charge Profile
VBATTMIN: Minimimum operating voltage of MAX17330. If ZVC is used, the battery is charged through the external
resistor and ZVC pin until the IC powers on.
VPREQUAL: Enabled in nProtCfg. The battery is charged at a limited rate to check if it is safe to charge. Prequal Voltage
and Current are set in nChgCfg0 register.
Charging Voltage: The battery is charged to this terminal voltage. The voltage is set in the nVChgCfg register for room
temperature and other temperatures.
VRSTRT: Once the CHG FET turns off, the cell voltage drops over time as the cell relaxes. If the cell voltage drops below
the restart threshold, the CHG FET turns on and brings the cell voltage up again.
IZVC: Zero-Volt Charging current. See the Zero-Volt Charging section for details.
ICHGTERM: The charger goes into top off mode after this current is reached. Top off ends based on a programmable
timer. Set IChgTerm in the nIchgTerm register.
IPQL: Prequal Charge Current. Set in nChgCfg0.
Charging Current: Fast Charging current. The current is set in nIChgCfg register for room temperature and other
www.analog.com
Analog Devices | 31
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
temperatures. In Fast Charge CC state, the regulation current is adjusted by nStepChg.
The charging current and voltage are configured by the Charging Calculation registers. See the Charging Calculation
section below. The Power Limit, FET Temperature limit, and second thermistor configuration are set in the nChgCfg1
register.
More details on each register are available in the Charging Registers section.
Charging Calculation
The MAX17330 calculates the safe charging voltage and charging current depending on the state of the battery and the
temperature. The ChargingVoltage and ChargingCurrent registers provide the settings according to the charge profile,
cell voltage, and cell temperature. This safe voltage and current, along with the power and temperature limits, are used
to control the charge current to the battery.
As the temperature of the battery changes significantly above and below room temperature, most cell manufacturers
recommend charging at reduced current and lower termination voltage to assure safety and improve lifespan. The
MAX17330 can be configured to change its charging when the temperature crosses the TooCold/Cold/Room/Warm/Hot/
TooHot programmable temperature thresholds (see nTPrtTh1/2/3). Both charging current and voltage are updated at
Cold/Warm/Hot (see nVChgCfg and nIChgCfg). See Figure 8 and Figure 9.
Additionally, the IC provides step-charging to improve lifespan of the battery and charge speed by applying a stepcharging profile (see the Step-Charging section) as shown in Figure 2.
Step Charging
A step-charging profile sets three charge voltages, three corresponding charge currents, and manages a state-machine
to transit through the stages as shown in Figure 2.
FULL VOLTAGE
STEPVOLT1
STEPVOLT0
90%
STEPCURR0
SOC
50%
30%
CURRENT
VC
E
LL
STEPCURR1
SOC
STEPCURR2
ICHGTERM
IPREQUAL
MEDIUM CURRENT
HIGHEST CURRENT,
LOWEST VOLTAGE
PROTTMRSTAT.CHARGESTEP
STAGE 0
VCELL > STEPVOLT0
STAGE 1
REDUCED CURRENT UNTIL FULL
VCELL > STEPVOLT1
TIME
STAGE 2
NOT CHARGING/DISCHARGING
NOT CHARGING/DISCHARGING
Figure 2. Step-Charging State Machine
www.analog.com
Analog Devices | 32
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
As a result, charging takes place in three stages:
1. Stage 0: Highest current, lowest voltage. ChargingCurrent comes from nIChgCfg until VCell > StepVolt0. After VCell
> StepVolt0, ChargingCurrent becomes defined by Stage 1.
2. Stage 1: Medium current. ChargingCurrent comes from nIChgCfg x (StepCurr1 + 1)/16, which is a ratio from 1/16 to
16/16 until VCell > StepVolt1. When VCell > StepVolt1, ChargingCurrent becomes defined by Stage 2.
3. Stage 2: Reduced current until full. ChargingCurrent comes from nIChgCfg x (StepCurr2 + 1)/16, which is a ratio from
1/16 to 16/16 until full.
For example, a charge can start with a ChargingCurrent of 2000mA until the cell voltage reaches 4.12V. At that point, the
ChargingCurrent is reduced to 1000mA until the cell voltage reaches 4.16V. Then, the ChargingCurrent is further reduced
to 500mA where it remains until the current begins to taper off naturally as the cell voltage is regulated at FullVoltage.
Disconnecting the charge source, or discharging the battery causes the state-machine to return to Stage 0.
Zero-Volt Charging
When in undervoltage protection, the MAX17330 turns both FETs off and then enters a low quiescent state. After a long
time in the undervoltage state, it is possible for the battery voltage to fall below the minimum 2.16V operating voltage,
making it unable to wakeup by communications or pushbutton. In this situation, an external charge voltage must be
applied to the system side positive node of MAX17330 (PCKP or SYSP) in order to wake up the IC.
Zero-Volt Charge Recovery
In the ZVC circuit configuration (connect ZVC/TH2 PCKP through a current-limiting resistor), even a battery at zero
volts can be charged by applying a charger at PCKP. If a secondary protector is used, zero-volt charge recovery must
be enabled. If a secondary protector is not used, ZVC/TH2 can be connected to GND, a second thermistor for FET
Temperature measurement, or used as an auxiliary voltage measurement pin.
Zero-Volt Charge current can be calculated as IZVC = (VPCKP - VZVCDROP)/RZVC as shown in Figure 3. RZVC must be
selected to keep ZVC current below the 50mA rated limit for the ZVC/TH2 pin.
N
N
PACK+
RSENSE
RPCKP
1kΩ
CHG
DIS
PCKP
ZERO-VOLT RECOVERY CURRENT PATH
RIN
10Ω
BATT
ZVC
RZVC
BATT+
Figure 3. Zero-Volt Charge Recovery
End-of-Charge
The IC stops charging the battery when the current falls below the IChgTerm register value while the VFSOC value
is above the FullSOCThr register value. Once the End-of-Charge conditions are met and nDelayCfg.FullTmr delay is
reached, the CHG FET is turned off. The IC rejects false end-of-charge events such as application load spikes or early
charge source removal. When charge termination is detected, the device learns a new FullCapRep register value based
on the RepCap register output. If the old FullCapRep value was too high, it is adjusted on a downward slope near the
www.analog.com
Analog Devices | 33
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
end-of-charge as defined by the MiscCfg.FUS setting until it reaches RepCap. If the old FullCapRep value was too low,
it is adjusted upward to match RepCap. This prevents the calculated state-of-charge from ever reporting a value greater
than 100%. See Figure 4.
Charge termination occurs when all of the following conditions are met:
• VFSOC > FullSOCThr
• Current < IChgTerm
• AvgCurrent < IChgTerm
CHARGING
• FullTimer Expired
AVGCURRENT
CURRENT
ICHGTERM
DISCHARGING
0mA
CORRECT
END-OF-CHARGE
DETECTION AREA
CASE 1: OLD FULLCAPREP TOO HIGH
NEW FULLCAPREP
CASE 2: OLD FULLCAPREP TOO LOW
REPCAP
Figure 4. FullCapRep Learning at End-of-Charge
Charger Restart
MAX17330 supports restart charging if the charge source is plugged in for an extended period. This allows topping off
the battery for charge lost due to normal self discharge. In the Charge done state, the IC begins charging the battery
when VFOCV falls below ChargeVoltage - dFullOCV - 10mV. Set nMiscCfg2.dFullOCV = 0 to disable this function.
Parallel Battery Management
The MAX17330 supports automation to manage parallel charging or discharging of multiple batteries and prevent one
battery from charging the other (cross-charging) with the following features and benefits:
● Converge cell voltages faster with independent control
www.analog.com
Analog Devices | 34
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
• Priority to charge emptiest battery first
• Priority to discharge fullest battery first
• Charge and discharge in parallel once cell voltages converge
● Prevent cross-charge to optimize heat and dropout
• Break-Before-Make Control
• Charge Source Insertion: Discharge blocking applies before enabling charge.
• Charger Source Removal: Charge blocking applies before enabling discharge.
Set nPackCfg.ParEn = 1 to enable the Parallel Battery Management functionality. When enabled, a timeout automatically
sequences charge/discharge blocking and enabling. The automatic charge-blocking feature allows the host to determine
which battery must be charged first and charge only the battery that is selected. Automatic discharge blocking prevents
batteries at a higher state from charging batteries at a lower state.
● To block discharging while allowing charging, set Config2.BlockDisEn = 1.
● Status.AllowChgB is internally set every 1.4s.
Parallel Applications:
● Low-Power Parallel Charging (less than 500mA total). This application eliminates the USB-charge-controller IC. A
5V source, such as USB, connects directly (or by USB-switch) to the system as well as both packs. USB detection
(such as BC1.2) is often not necessary since all generations of USB provide 500mA. Charging parallel batteries
(multiple MAX17330 ICs) with greater than 500mA is not recommended without determining the source capability.
The combined charging current should be limited to less than the source capability to prevent oscillations in charging
current.
Example: Two batteries each charging less than 250mA, the CHG FET heat is lower than 350mW across 99%
of the charge curve, and less than 200mW for the majority of charging. During charging, a lithium battery exceeds
3.6V for 99% of the charge curve. Heat dissipated = 250mA x (5.0V - 3.6V) = 350mW.
● High-Power Parallel Charging (>500mA total). A USB-charger or other configurable DC-DC should deliver voltage
about 50mV above the battery voltage. The charging source must operate as a voltage source. By operating near
dropout, the MAX17330 has reduced heat in the charge MOSFET. In this application, charge currents beyond
2500mA are achievable.
Host Responsibility (See the Appendix B: Parallel Cell Management Example):
● Declare the presence of charge source. Only the host has this knowledge. Repeatedly write STATUS = 0xFFDF
(AllowChgB = 0). The IC automatically blocks charging if AllowChgB is not cleared repeatedly before the 1.4s timeout.
After this timeout, all MAX17330 ICs revert to allow-discharge and block-charge state.
● Configure to prevent cross-charging. If cell voltages differ by more than 400mV, configure the higher voltage packs
to block discharging. Note that the higher voltage pack resumes discharge when charge-source-presence is no longer
indicated.
• Determine if emptiest cell can support system load (3.3V, for example). Until lowest cell charges enough to
support system loading, there is a risk of system crash while higher-voltage packs are denied discharge support.
Cross-charging should be allowed/tolerated during the limited time associated with VCell less than 3.3V.
• Block discharge on packs identified as cross-charging risk. Set Config2.BlockDis = 1.
● Manage DC-DC voltage setting (applications greater than 500mA). Use the dropout-alert and heat-alert of all
MAX17330 ICs to decide to step DC-DC voltage up or down.
Table 3. Parallel Management FET Logic
PAREN
BLOCKDIS
ALLOWCHGB
CHG FET
DIS FET
0
x
x
NORMAL
NORMAL
1
0
0
NORMAL
NORMAL
1
0
1 (timeout)
BLOCK READY
NORMAL
1
1
0
NORMAL
BLOCK READY
1
1
1 (timeout)
BLOCK READY
NORMAL
www.analog.com
Analog Devices | 35
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
In the BLOCK READY state, the CHG or DIS FET is ready to block and is turned off if charging or discharging current is
observed. In the NORMAL case, the CHG/DIS FET is controlled by standard protection and charging control.
Ideal Diode Behavior
While the CHG FET is in the OFF state (CHG fault present) or in regulation mode (Charging), if a discharge current is
requested from the battery, the MAX17330 provides automatic control to operate the CHG FET as a 30mV Ideal-Diode
using a comparator for fast response.
The CHG FET:
● Quickly turns on upon discharge detection
● Quickly turns off upon charge detection
Upon discharge, the CHG FET is fully enhanced to prevent voltage drop when a comparator detects VPCKP < VBATT 30mV (typ). This prevents the 600mV voltage drop and associated heat during discharging.
Upon charge, a current-sense comparator detects charging when the sense voltage exceeds 1mV (typ) and turns off
the CHG FET. The MAX17330 then decides whether or not to start or resume charging. Charge faults continue to block
charging. If there are no faults, the MAX17330 starts or resumes regulated charging. See Figure 5.
The ideal diode operates during discharge as well as charge regulation. During charge regulation, the system can
briefly and repeatedly overload the charge source, demanding the battery to briefly support a load pulse. The charging
regulation is paused until the load pulse finishes, and the MAX17330 resumes charging regulation.
N
CSN
CSP
CHG
N
BATT+
SYS+
DIS
CHARGE CURRENT
DETECTION
CHG
CONTROL
BATT
MAX1733x
SUPPLEMENT
COMPRARATOR
Figure 5. Supplement and Charging Comparators
The IC uses these comparators combined with additional information to detect charger presence and absence. During
discharge, any charge faults, such as overvoltage fault or overtemperature fault, are preserved. The CHG FET is turned
on fully to allow discharging and returned to the OFF state when a charger is detected. See Figure 6.
www.analog.com
Analog Devices | 36
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
(VPCKP – VBATT)*> + 30mV
AvgCurrent* > +1.4mA
* ADC MEASUREMENTS
10m RSENSE
Current* > +7.5mA
CC COMPARATOR
(VCSP-VCSN) > +180mA
CHARGE SOURCE PRESENT
CHARGE SOURCE ABSENT
IsDis = 0 , CHG = AUTO
IsDis = 1, CHG = AUTO
CHG FET AUTOMATION:
* CHARGE REGULATION
* FULL-ENHANCEMENT UPON DISCHARGE
* CHG OFF DURING PROTECTION
CHARGE REGULATOR DISABLED
IDEAL DIODE BLOCKS CHARGE
AN
DC
nD REM HAR
G
ela
yCf OVAL E SO
COMPARATOR
g (
U
T
11. IMEO RCE
25s
VPCKP - VBATT < - 30mV
UT
DE
FAU
Current* < -7.5mA +7.5mA
LT)
AvgCurrent* < -1.4mA +1.4mA
+30mV
WHILE CHARGING
SEEK ABSENCE OF
CHARGE-SOURCE
CHARGE BLOCKING
SEEK DISCHARGE
EVIDENCE
(PCKP – BATT)* < -30mV
Figure 6. Charging and Discharging States
ADC Measurements corresponding to Current, AvgCurrent, and PCKP enhance the accuracy of charger detection. The
charge source removal timeout waits for 11.25s (configurable with nDelayCfg.ChgWDT) of charge source absence before
turning off the charge regulation. This allows charging to quickly resume after many seconds of battery-supplement when
the system load exceeds charge source current-limit.
nProtMiscTh.CurrDet configures the previous current-detection thresholds, corresponding with ±1.4mA and ±7.5mA (on
10mΩ). Analog Devices recommends these settings which are optimized according to the ADC noise.
Table 4. AvgCurrDet Threshold when using 10mΩ and Default nProtMiscTh.CurrDet
= 7.5mA
AVGCURRENT FILTER CONFIGURATION (nFilterCfg.nCurr)
www.analog.com
Analog Devices | 37
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Table 4. AvgCurrDet Threshold when using 10mΩ and Default nProtMiscTh.CurrDet
= 7.5mA (continued)
1 (0.7s)
2 (1.4s)
3 (2.8s)
4 (5.6s)
5 (11.25s)
6 (22.5s)
7 (45s)
8 (90s)
1.41mA
0.94mA
0.94mA
0.7mA
Active (0.351s)
4.22mA
2.34mA
2.34mA
1.41mA
(default)
Hibernate (1.4s)
7.5mA
4.2mA
4.2mA
2.3mA
2.3mA
1.4mA
1.4mA
0.94mA
Hibernate (2.8s)
7.5mA
7.5mA
7.5mA
4.2mA
4.2mA
2.3mA
2.3mA
1.4mA
The fast responses in Table 4 correspond with the 0.351s ADC update rate. The more accurate slow responses
correspond with the AvgCurrent filter delay configuration.
Protector
Simple protection schemes are available to protect a battery from exceeding the safe levels. These schemes include
protection for overdischarge current, short-circuit current, overcharge current, undervoltage, and overvoltage. The
next level of protection offers smart protection schemes which include protection for under OCV (SmartEmpty), long
overdischarge current, overtemperature limits for charge and discharge, undertemperature charge limits, and chargedone protection. The MAX17330 provides all of these simple and smart protection schemes with programmable
thresholds and programmable timer delays for each fault.
The MAX17330 provides additional protection functionality beyond these schemes as follows:
Discharging Protection Functionality:
● Overcurrent: (see nODSCCfg and nODSCTh)
• Fast Short-Circuit (70μs to 985μs): The short-circuit comparator is programmable from 5.12mV to 158.72mV
with delay programmable from 70μs to 985μs.
• Medium (1ms to 15ms): The overdischarge current comparator is programmable from 2.55mV to 79.36mV with
delay programmable from 1ms to 15ms.
• Slow (351ms to 35s): Slow overdischarge protection is programmable from 0mV to 51.2mV in 0.2mV steps with
delay programmable from 351ms to 35s (see nDelayCfg and nIPrtTh1).
● Overtemperature:
• Hot (OTPD—Overtemperature Discharge): Discharge overtemperature (OTPD, see nProtMiscTh) is separately
programmable from charge overtemperature (OTPC). OTPD is typically a higher temperature than OTPC, since
charging while hot is more hazardous than discharging. OTPD is programmable in 1°C steps, with a programmable
timer (see nDelayCfg).
• Die-Hot: The MAX17330 measures die temperature as well as a thermistor's temperature. Since the IC is
generally located close to the external FETs, the die temperature can indicate when the FETs are overheating. This
separately programmable threshold (see nProtMiscTh) blocks both charging and discharging.
• Permanent-Fail-Hot: When a severe overtemperature is detected, the fault is recorded into NVM and permanently
disables the charge and discharge FETs and blows the three-terminal fuse if enabled.
● Too Cold Discharge: If enabled, the IC blocks discharging if the cell temperature is too low. It prevets discharge of a
cell when cell impedance due to temperautre is too large to support the application load.
● Undervoltage (UVP): Undervoltage is protected by three thresholds: UVP (undervoltage protect), UVShdn
(undervoltage shutdown), and UOCVP (under OCV protect—SmartEmpty). UOCVP provides a deep-discharge-state
protection that is immune from load and cell impedance/resistance variations.
Charging Protection Functionality:
● Overvoltage Protection (OVP): Overvoltage protection is programmable with 10mV resolution (see nOVPrtTh).
Temperature-region dependent OVP protection is also provided for cold/room/warm and hot temperature regions (see
nVChgCfg). OVP detection is debounced with a programmable timer (see nDelayCfg). An additional higher OVP
permanent failure threshold is programmable, which records any excessive OVP into NVM and permanently blocks
charging.
● Charge Temperature Protection: Temperature protection thresholds are debounced with a programmable timer (see
nDelayCfg).
www.analog.com
Analog Devices | 38
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
• Hot (OTPC): Charging temperature protection is programmable with 1°C resolution (see nTPrtTh1) and 1°C
hysteresis.
• Cold (UTP): Charging is blocked at cold, programmable with 1°C resolution (see nTPrtTh1) and 1°C hysteresis.
● Overcharge-Current Protection:
• Fast: Overcharge current is detected by a programmable hardware comparator and debounce timer between 0mV
to 39.375mV and 1ms to 15ms thresholds.
• Slow: A lower and slower overcharge current protection ensures that more moderate high currents do not persist
for a long time. With a 10mΩ sense resistor, this is programmable up to 5.12A in 40mA steps, with an additional
delay programmable between 0.35s and 22.5s. Additionally, with nNVCfg1.enJP = 1, this overcurrent protection
threshold is modulated according to temperature region (see nIChgCfg).
● Charge-Done: If enabled, the IC blocks charge whenever charge termination is detected until discharging or charger
removal is eventually detected.
● Charger-Communication Timeout: If enabled, the IC turns off the charge FET during charging if the host has
stopped communicating beyond a timeout configurable from 11s to 3min. In systems which consult the battery for
prescribing the charge current or charge voltage (especially to apply JEITA thresholds or step-charging), this feature
is useful to protect against operating system crash or shutdown.
● Overcharge-Capacity Fault: If the feature is enabled and the charge session delivers more charge (coulombs) to the
battery than the expected full design capacity, charging is blocked. This threshold is programmable as a percentage
(see nProtMiscTh.QOvflwTh) beyond the design capacity.
Other Faults:
● Nonvolatile CheckSum Failure: If enabled (nNVCfg1.enProtChkSm), the MAX17330 blocks charge and discharge
when startup checksum of protector NVM does not match the value stored in nProtCfg2.CheckSum.
Other Protection Functionality:
● Zero-Volt Charging: The IC is able to begin charging when the cell has depleted to 2.16V (ZVC disabled) or from
0V (ZVC enabled). See the Zero-Volt Charging section for more details.
● Overdischarge-Removal Detection: Following any overdischarge current fault, the IC tests for load removal by
sourcing 30μA into PCKP after turning off the discharge FET. Load removal is detected when PCKP exceeds 1V. This
low threshold is intentionally below the startup voltage of most ICs in order to allow active loads by external ICs while
rejecting passive loads by resistors (short-circuit, failed components, etc.).
● Charger Removal Detection: Following any charge fault, the IC measures PCKP to detect the removal of the
offending charger after turning off the charge FET. Charger removal is detected when PCKP falls below BATT nOVPrtTh.ChgDetTh or whenever discharge current is detected.
● Battery Internal Self-Discharge Detection: The IC measures the internal self-discharge of the battery that might
indicate health or safety problems. The IC alerts the system or turns off the charge and discharge FETs when a
leakage is detected above the configurable threshold. See the Battery Internal Self-Discharge section for more details.
● Ideal-Diode Control: During any charge fault, the charge FET turns on when a discharge current is detected. See
the Ideal Diode section for more details. The discharge FET behaves the same way during discharge faults to block
discharging, yet turns on during charging. This ideal diode behavior reduces the heat and voltage drop associated
with the body diode during protection faults.
Protection Fault Reporting:
● Protection Fault Status: Each charge and discharge fault state is latched in the ProtStatus register. When the fault
is cleared, the corresponding bit is cleared.
● Protection Fault Alerts: The ProtAlrt register latches the status of any previous faults detected by the device. Once
a fault is detected, the corresponding bit remains set until it is cleared by the host. Additionally, the Status.ProtAlrt bit
is set when any ProtAlrt bit is set.
● Protection Fault Logging: The nFaultLog register also indicates which protection events happened during each
history log period.
Charging Regulation Registers: The ChargingVoltage and ChargingCurrent registers control and display the calculated
target charging voltage and current. This includes the following information which is generally associated with a particular
battery and can be stored in the battery with the MAX17330:
www.analog.com
Analog Devices | 39
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
● Factory Recommended Charging Current and Voltage: This is useful when a system involves multiple battery
vendors, swappable batteries, aftermarket batteries, or legacy system support.
● Charging Modifications According to Battery Temperature: Significantly above and below room temperature,
most cell manufacturers recommend charging at reduced current and lower termination voltage to assure safety
and improve lifespan. The MAX17330 modulates its settings according to TooCold/Cold/Room/Warm/Hot/TooHot
programmable temperature regions (see nTPrtTh1/nTPrtTh2/nTPrtTh3). Both charging current and voltage are
modulated at Cold/Warm/Hot, targeting lower than Room (see nVChgCfg and nIChgCfg).
● Step-Charging: A common practice to balance lifespan and charge speed is to apply step-charging profiles (see the
Step-Charging section). The MAX17330 supports three programmable steps with programmable charge currents and
voltages.
At a high level, the MAX17330 protector has state machine as shown in Figure 7. Each charge and discharge fault state
is latched in the ProtStatus register, where each fault obeys a separate instance of the state machine shown in Figure 7.
Any single charge fault opens the charge FET to block charge current (charge faults are OR'd together). All charge faults
must be released to allow charge to resume (charge fault release conditions are AND'd together). The behavior is similar
for blocking discharge.
CHARGE FAULT (OR’D)
BLOCK CHARGE
CHARGEGOOD = 0
ALLOW CHARGE
CHARGEGOOD = 1
CHGEN = CHARGEGOOD OR DISCHARGING
CHARGE FAULTS RELEASED (AND’D)
DISCHARGE FAULT (OR’D)
ALLOW DISCHARGE
DISGOOD = 1
BLOCK DISCHARGE
DISGOOD = 0
DISEN = DISCHARGEGOOD OR CHARGING
DISCHARGE FAULTS RELEASED (AND’D)
Figure 7. Simplified Protector State Machine
The IC includes a write protection and a permanent locking function. The write protection prevents accidental overwrites
of protection parameters. This protection must be cleared before updating any registers and should be set after
configuration changes are made. The permanent locks prevent intentional or malicious tampering and should be enabled
after development is complete and the battery pack is ready to ship in production. See the Memory Locks and Write
Protection section for more details.
www.analog.com
Analog Devices | 40
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
The protector registers are summarized by their protection function in Table 5 and are graphically shown across the
various temperature ranges in Figure 8 and Figure 9.
Table 5. Summary of Protector Registers by Function
FUNCTION
REGISTER
VOLTAGE THRESHOLDS
Permanent Fail Overvoltage Protection
Overvoltage Protection
nOVPrtTh
nVChgCfg, nOVPrtTh
Overvoltage Protection Release
nOVPrtTh
UnderOCV Protection
nUVPrtTh
Undervoltage Protection
nUVPrtTh
Undervoltage Shutdown
nUVPrtTh
Prequalification Voltage
nChgCfg0
CURRENT THRESHOLDS
Fast Overcharge Protection
nODSCTh, nODSCCfg
Slow Overcharge Protection
nIPrtTh1
Slow Overdischarge Protection
nIPrtTh1
Fast Overdischarge Protection
nODSCTh, nODSCCfg
Short Circuit Protection
nODSCTh, nODSCCfg
Charging Detected
Discharging Detected
Temperature Thresholds
Fault Timers
nProtMiscTh
nProtMiscTh
nTPrtTh1, nTPrtTh2, nTPrtTh3, nProtMiscTh
nDelayCfg
CHARGING REGULATION
Charging Voltage
nVChgCfg
Charging Current
nIChgCfg
Precharge Current
nOVPrtTh
Step Charging
Protection Status/Configuration
www.analog.com
nStepChg
nProtCfg, ProtStatus, nBattStatus
Analog Devices | 41
T4 (TOO HOT)
T3 (HOT)
T2 (COLD)
4.51V
TWARM
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
T1 (TOO COLD)
MAX17330
CELL VOLTAGE
PERM FAIL OVP
STEPV0
TOO COLD
COLD
0
ROOM
WARM
10 TEMPERATURE (°C) 40
3.7V
DESIGN VOLTAGE
3.3V
VEMPTY
2.92V
UOCV PROTECTION
2.6V
UV PROTECTION AND PREQUAL VOLTAGE
2.3V
UV SHUTDOWN
4.2V (PACK VOLTAGE)
HOT
45
JEITA CHARGING VOLTAGE
STEPDV1
STEPV1
STEP-CHARGING
STEPDV0
4.2V
CHARGING VOLTAGE
PERM FAIL OTP
TOO HOT DISCHARGE
4.21V
OVP RELEASE
DIE TEMP HOT
4.25V
OVERVOLTAGE
PROTECTION
STEPV2
STEPV1
STEPV0
TOO HOT
55
75
90
85
COLD ROOM WARM
HOT
CHARGING
VOLTAGE
4.14V
4.2V
4.18V
4.16V
STEPV1
4.1V
4.16V
4.14V
4.12V
STEPV0
4.06V
4.12V
4.1V
4.08V
MINIMUM OPERATING VOLTAGE
Figure 8. Programmable Voltage Thresholds
www.analog.com
Analog Devices | 42
CHARGING CURRENT
T3 (HOT)
TWARM
3584mA
FAST OVERCHARGE PROTECTION
T4 (TOO HOT)
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
T2 (COLD)
T1 (TOO COLD)
MAX17330
STEPCURR1
STEPCURR2
DIE TEMP HOT
TOO HOT DISCHARGE
1280mA
CHARGING CURRENT
PERM FAIL OTP
3000mA
SLOW OVERCHARGE
PROTECTION
STEP-CHARGING
CHARGING CURRENT
STEPCURR1
STEPCURR2
TOO
COLD
COLD
ROOM
WARM
HOT
TOO HOT
3.5mA
COLD ROOM WARM HOT
PRECHARGE
CHARGING
CURRENT
DISCHARGING CURRENT
7.5mA CURRDET
-10
10 TEMPERATURE (°C) 35
-3000mA
45
60
70
75
80
0.75C
1C
0.88C 0.625C
STEPCURR1 0.38C
C/2
0.44C 0.31C
STEPCURR2 0.19C
C/4
0.22C 0.15C
SLOW OVERDISCHARGE PROTECTION
-4096mA
FAST OVERDISCHARGE PROTECTION
-5120mA
SHORT-CIRCUIT PROTECTION
Figure 9. Programmable Current Thresholds
www.analog.com
Analog Devices | 43
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Battery Internal Self-Discharge Detection (ISD)
A healthy lithium-ion/polymer battery has a very high coulombic-efficiency, typically greater than 99.9% (defined as
discharge mAh vs. charge mAh). Some portion of the charge capacity can be lost by internal self-discharge. This includes
natural aging, which is exacerbated if the battery stays at a high temperature and/or high state for long periods of time.
However, in a damaged battery, additional capacity can be lost (unavailable for discharge), and some portion of this
reflects permanent capacity loss. Unusual self-discharge in a lithium-ion/polymer battery might indicate health or safety
problems.
The MAX17330 internal self-discharge (ISD) detection feature measures battery leakage and provides the following
functions:
● Leakage Measurement: The LeakCurrRep register outputs the milliampere leakage measured across several days
and multiple charge termination events.
• Accurate leakage detection
• Low ppm false-positive rate at a 3mA threshold
• Detection during normal use
• No discharge depth or duration constraints
• Requires at least four full events, each separated by 20 hours or more
● Leakage Log: Leakage measurements are recorded in the battery-life-logging data. This reveals leakage versus time
for any returned battery or for managing deployed packs.
● Leakage Alert: If enabled, an LDET alert (see ProtAlrt) is asserted when LeakCurrRep exceeds the programmable
alert threshold.
● Leakage Fault: If enabled, the protector disconnects the battery when LeakCurrRep exceeds the programmable fault
threshold.
www.analog.com
Analog Devices | 44
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Example of Internal Self-Discharge Detection
Figure 10 shows the current leakage detected by the MAX17330 as a result of placing a 909Ω resistor across a cell to
emulate a battery with internal self-discharge over various temperatures.
Figure 10. Example of Internal Self-Discharge with Temperature Variation
Configuring ISD
Contact Maxim Integrated for configuring the ISD Feature. See the Battery Internal Self-Discharge Registers section for
configuration details.
Protector Thresholds
The MAX17330 provides a variety of programmable protector thresholds that are stored in nonvolatile memory. These
thresholds include voltage, current, temperature, and timer delays.
Voltage Thresholds
All voltage thresholds of the MAX17330 are shown graphically in Figure 8 and in table form with details of which bits
and registers create the various thresholds in Table 6. The description of each register provides additional guidance for
selection of the register value.
www.analog.com
Analog Devices | 45
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Table 6. Voltage Thresholds
NAME
DESCRIPTION
Permanent Fail Overvoltage
Programmable overvoltage at each JEITA band.
Programmable 10mV resolution from 3.9V to 4.88V.
Programmable delay.
Overvoltage
(with 4xJEITA)
CONFIGURATION
REGISTERS
EXAMPLE
nOVPrtTh.OVPPermFail
4.4V
ChargeVoltage[temp] +
nOVPrtTh.dOVP
(4.1V/
4.20V/
4.18V/
4.15V)
+50mV
Overvoltage Release
Programmable release hysteresis
Overvoltage nOVPrtTh.dOVPR
(4.15V/
4.25V/
4.23V/
4.2V)
-10mV
ChargeVoltage-Room
ChargingVoltage() output
nVChgCfg.Room
4.20V
ChargeVoltage-Hot
ChargingVoltage() output
nVChgCfg.Hot
4.15V
ChargeVoltage-Warm
ChargingVoltage() output
nVChgCfg.Warm
4.18V
ChargeVoltage-Cold
ChargingVoltage() output
nVChgCfg.Cold
4.10V
DesignVoltage
For information only, no action
nDesignVolt
3.7V
EmptyVoltage
For fuel gauge only (not related to protection)
nVEmpty
3.0V
Undervoltage Release
Charger applied
Under OCV Protection
(SmartEmpty)
Programmable under-OCV 40mV steps UVP to UVP +
1.28V.
nUVPrtTh.UOCVP
3.2V
Undervoltage Protection
Programmable undervoltage 20mV steps 2.2V to 3.4V.
Gauging and communications work until undervoltageshutdown
nUVPrtTh.UVP
2.7V
Undervoltage Shutdown
Gauging and communications work until undervoltageshutdown
nUVPrtTh.UVShdn
2.5V
Undervoltage Lockout
2.11V typ,
2.16V max
Zero-Voltage Charging
0V
Current Thresholds
All of the current thresholds of the MAX17330 are shown graphically in Figure 9 and in table form with details of each
threshold in Table 7. The description of each register provides additional guidance for selection of the register value.
Table 7. Current Threshold Summary
CURRENT
ACTION
Overcharge
Current (fast)
CHG off
Overcharge
Current
(slow with
4xJEITA)
CHG off
Overdischarge
Current (fast)
DIS off
Overdischarge
Current (slow)
DIS off
Short-Circuit
Current
DIS off
www.analog.com
RELEASE
Discharging
or charger
removal
detection
Charging or
load
removal
detection
DETAILS
Threshold 5-bit, 1.25mV steps to 38.75mV.
Delay programmable 4-bit, 1ms to 15ms in 0.9ms steps.
Programmable 0.4mV steps to 51.2mV. Delay programmable 351ms to 45s. Separate
thresholds for 4 out of 6 JEITA segments.
5-Bit, 2.5mV steps to 77.5mV.
Delay programmable 4-bit, 1ms to 15ms in 0.9ms steps.
Programmable 0.4mV steps to 51.2mV. Delay programmable 351ms to 45s.
5-Bit, 5mV steps to 155mV.
Delay programmable 4-bit, 70μs steps to 985μs.
Analog Devices | 46
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Table 7. Current Threshold Summary (continued)
Charging
Detected
Discharging
Detected
Normal
Normal
—
Current > CurrDet or AvgCurrent > AvgCurrDet or PCKP > BATT + 0.15V to release
overdischarge protection.
—
Current < -CurrDet or AvgCurrent < -AvgCurrDet or PCKP < BATT + 0.15V (falling-edge)
indicates discharging. When discharging is detected, overcharge current faults release.
Other charge faults such as OVP, OTP, and UTP remain set, however the CHG FET
turns on to prevent the heat and voltage drop associated with the 0.6V CHG FET body
diode. See the Ideal Diode Behavior section for more details. An OVP fault remains
remembered (unreleased) until voltage falls and discharging is also detected.
Overcurrent Protection
The MAX17330 provides three levels of protection for overdischarge current events: fast, medium, and slow as shown
in Figure 11. The MAX17330 also provides fast and slow levels of protection for overcharge current protection. The fast
and medium levels of protection are provided by comparators and the slow levels are based on the ADC readings.
The MAX17330 maintains the protection until the source of the fault has been removed. Overcharge protection fault
releases when pack voltage falls below BATT + 0.1V (edge, not level) while the IC tests charger removal by applying a
40kΩ pull down from PCKP to GND (during any charger fault). Overdischarge current (fast or slow) or short-circuit current
protection faults release when PCKP rises above 1V, while the IC applies a 30μA source current test to PCKP.
SHORT-CIRCUIT THRESHOLD
FAST
MEDIUM
SLOW
(MICROSECONDS)
(MILLISECONDS)
(SECONDS, WITH 1% ACCURACY)
OVERDISCHARGE THRESHOLD
NODSCTH.ODTH (0-77.5mV)
ADC OVERDISCHARGE THRESHOLD
NDELAYCFG.OVERCURRTIMER
(0.351s to 22.5s)
OVERDISCHARGE DELAY
NODSCCFG.ODDLY (1.05ms - 14.66ms)
ADC OVERCURRENT DELAY
NIPRTTH1.ODCP (0-51.2mV)
SHORT-CIRCUIT DELAY
NODSCCFG.SCDLY (131µs TO 985µs)
DISCHARGE CURRENT
NODSCTH.SCTH (0-155mV)
DEBOUNCE TIME
Figure 11. Fast, Medium, and Slow Overdischarge Protection
www.analog.com
Analog Devices | 47
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Fast Overcurrent Comparators
The MAX17330 contains three programmable fast overcurrent comparators called Overdischarge (OD), Short-Circuit
(SC), and Overcharge (OC) that allow control protection for overdischarge current, short-circuit current, and overcharge
current. These comparators have programmable threshold levels and programmable debounced delays. See Figure 12.
The OD comparator threshold can be programmed from 0mV to -77.5mV with 2.5mV resolution (0A to -7.75A with 0.25A
resolution using 10mΩ sense resistor). The OC comparator threshold can be programmed from 0mV to 38.75mV with
1.25mV resolution (0A to 38.75A with 0.125A resolution using a 10mΩ sense resistor). The OD and OC comparators
have a programmable delay from 1.05ms to 14.6ms with 0.97ms resolution. The SC comparator threshold can be
programmed from 0mV to -155mV with 5mV resolution (0A to -15.5A with 0.5A resolution using a 10mΩ sense resistor)
and has a programmable delay from 70μs to 985μs with a 61μs resolution.
The nODSCTh register sets the threshold levels where each comparator trips. The nODSCCfg register enables each
comparator and sets their debounce delays. The nODSCCfg register also maintains indicator flags of which comparator
has been tripped. These register settings are maintained in nonvolatile memory if the nNVCfg1.enODSC bit is set.
Slow Overcurrent Protection
The MAX17330 provides programmable thresholds for the slow overdischarge current protection (ODCP) and
overcharge current protection (OCCP). ODCP and OCCP can be configured to provide different levels of protection
across the six temperature zones as shown in Figure 9.
Overcurrent Comparator Diagram
+
SCTH
-
OCTH
+
SCDLY
-
OCDLY
OCi
SCi
ODSCCfg
+
ODTH
OCDLY
-
ODi
CSN
CSP
RSENSE
Figure 12. Overcurrent Comparator Diagram
Temperature Thresholds
The six temperature zones shown in Figure 8 and Figure 9 can be configured in the nTPrtTh1, nTPrtTh2, and nTPrtTh3
registers.
Other Thresholds
The MAX17330 also supports additional thresholds for suspending/releasing charge, detecting permanent failures of the
charge and discharge FETs, and providing the recommended charging prescription as described in Table 8.
www.analog.com
Analog Devices | 48
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Table 8. Other Thresholds
THRESHOLD
ACTION
CONDITIONS
Charge Suspend
CHG off
FullDet Fault—if enabled (nProtCfg.FullEn) and charge termination criteria (see ICHGTerm
and charge termination).
ChgWDT Fault—if enabled (nProtCfg.ChgWDTEn) and communications timeout.
Charge-Suspend
Release
Normal
FullDet Release—Discharge or charger removal detected. ChgWDT
Release—Communications or discharge or charger removal detected.
Charge FET Failure
Blow
fuse
CHG off yet charge-current persists (programmable).
Discharge FET Failure
Blow
fuse
DIS off yet discharge-current persists (programmable).
Charge Voltage/Current
"Prescription"
Six-zone JEITA (four charge currents and voltages).
Permanent Failure
The IC supports several types of faults which result in a permanent failure. When any enabled permanent failure is
detected, both FETs turn off and remain off regardless of power-cycling. Upon permanent failure detection, the IC records
the permanent failure status into nonvolatile nBattStatus. Furthermore, the PFAIL output drives high to either drive an
external fuse or latch a secondary protector. This action is useful when a FET failure is detected since charge and
discharge can not be blocked in any other way.
The following permanent failure faults are supported whenever permanent failures are enabled (nProtCfg.PFEn = 1) and
the condition persists longer than the Permanent Fail debounce timer (nDelayCfg.permFailTimer). When any permanent
failure fault is detected, the nBattStatus.PermFail bit is set in addition to the specific fault bit (also in nBattStatus), and
both FET drivers are put in the off state.
● CHG/DIS FET open/short Failures: Enable/disable this feature by configuring nProtCfg.FetPFEn.
• DIS FET Shorted: If DIS = Off and discharging is detected, nBattStatus.DFETFs is set and written to NVM.
• CHG FET Shorted: If CHG = Off and charging is detected, nBattStatus.CFETFs is set and written to NVM.
• FET Open Failure: For either of the following detection methods, the cause of an open can not be distinctly
attributed to specifically either the CHG or DIS FET.
• Detected By Discharge Fail: If DIS = On and PCKP = Low and discharge current isn't detected,
nBattStatus.FETFo is set and written to NVM.
• Detected By Charge Fail: If CHG = On and DIS = On and PCKP > BATT + nOVPrtTh.ChgDetTh and charge
current isn't detected, nBattStatus.FETFo is set and written to NVM.
● Severe Over-Voltage Failure: If VCell exceeds nVPrtTh2.OVP_PermFail, nBattStatus.OVPF is set and written to
NVM. Disable by configuring OVP_PermFail to the maximum value of 5.12V (0xFF__).
● Severe Over-Temperature Failure: If Temp exceeds nTPrtTh3.TpermFailHot, nBattStatus.OTPF is set and written
to NVM. Disable by configuring OTP_PermFail to the maximum value of 127degC (0x7F__).
● Nonvolatile Protector Checksum Failure: If enabled (nNVCfg1.enProtChkSum), during startup a checksum of
the protector configuration is calculated and compared against the nChkSum register. If the value mismatches,
nBattStatus.ChkSumF is set.
www.analog.com
Analog Devices | 49
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Disabling FETs by Pin-Control or I2C Command
The IC provides FET override control by either I2C command or pin command to the ALRT pin. This functionality can be
useful for various types of applications:
● Factory Testing: Disconnecting the battery is useful for testing with a controlled external power supply.
● Battery Selection: In a multiple-battery system, one battery can be disconnected and another connected by
operating the FETs.
When allowed by nonvolatile configuration, both FETs can be turned off by pin control or either FET can be individually
turned off by I2C command. The control operates as follows:
● ALRT Pin Override: Set nProtCfg.OvrdEn = 1 and drive ALRT low to force both FETs into the off state. Releasing
the ALRT line recovers the FETs according to the protector's fault state machine.
● I2C Command Override: Set nProtCfg.CmOvrdEn = 1 and write CommStat.CHGOff or CommStat.DISOff to
independently disable either the charge or discharge FET. Clearing CHGOff and DISOff recovers the FETs according
to the protector's fault state machine.
These features can be disabled and locked by nonvolatile memory to prevent malicious code from blocking the FETs.
Although disabling FETs does not produce any safety issues, it can be a nuisance if malicious system-side software
denies power to the system.
Fuel Gauge
ModelGauge m5 EZ Algorithm
Classical coulomb-counter-based fuel gauges have excellent linearity and short-term performance. However, they suffer
from drift due to the accumulation of the offset error in the current-sense measurement. Although the offset error is
often very small, it cannot be eliminated, causes the reported capacity error to increase over time, and requires periodic
corrections. Corrections are usually performed at full or empty. Some other systems also use the relaxed battery voltage
to perform corrections. These systems determine the true state-of-charge (SOC) based on the battery voltage after a
long time of no current flow. Both have the same limitation; if the correction condition is not observed over time in the
actual application, the error in the system is boundless. The performance of classic coulomb counters is dominated by
the accuracy of such corrections. Voltage measurement-based SOC estimation has accuracy limitations due to imperfect
cell modeling but does not accumulate offset error over time.
The IC includes an advanced voltage fuel gauge (VFG) which estimates OCV even during current flow and simulates
the nonlinear internal dynamics of a Li+ battery to determine the SOC with improved accuracy. The model considers
the time effects of a battery caused by the chemical reactions and impedance in the battery to determine SOC. This
SOC estimation does not accumulate offset error over time. The IC performs a smart empty compensation algorithm
that automatically compensates for the effect of temperature condition and load conditions to provide accurate stateof-charge information. The converge-to-empty function eliminates error toward an empty state. The IC learns battery
capacity over time automatically to improve long-term performance. The age information of the battery is available in the
output registers.
The ModelGauge m5 EZ algorithm combines a high-accuracy coulomb counter with a VFG. See Figure 13. The
complementary combined result eliminates the weaknesses of both the coulomb counter and the VFG while providing
the strengths of both. A mixing algorithm weighs and combines the VFG capacity with the coulomb counter and weighs
each result so that both are used optimally to determine the battery state. In this way, the VFG capacity result is used to
continuously make small adjustments to the battery state, canceling the coulomb-counter drift.
www.analog.com
Analog Devices | 50
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
COULOMB COUNTER
ModelGauge
Δ% SOC
VERY SLOW
INFLUENCE
ΔQ
MICROCORRECTIONS
CAPACITY
FULL, EMPTY, AND STANDBY
STATE DETECTION
UNNECESSARY
Figure 13. Merger of Coulomb Counter and Voltage Based Fuel Gauge
The ModelGauge m5 EZ algorithm uses this battery state information and accounts for temperature, battery current,
age, and application parameters to determine the remaining capacity available to the system. As the battery approaches
the critical region near empty, the ModelGauge m5 EZ algorithm invokes a special error correction mechanism that
eliminates any error.
The ModelGauge m5 EZ algorithm continually adapts to the cell and application through independent learning routines.
As the cell ages, its change in capacity is monitored and updated and the voltage-fuel-gauge dynamics adapt based on
cell-voltage behavior in the application.
www.analog.com
Analog Devices | 51
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
VOLTAGE
OCV
CALCULATION
OCV
TEMPERATURE
COMPENSATION
LEARN
RELAXED
CELL
DETECTION
OCV OUTPUT
OCV TABLE
LOOKUP
COULOMB
COUNTER
% REMAINING
OUTPUT
mAH OUTPUT
CURRENT
TIME
×
CAPACITY LEARN
mAh PER PERCENT
EMPTY DETECTION
MIXING ALGORITHM
mAH OUTPUT
MIXCAP REGISTER
MIXSOC REGISTER
EMPTY
COMPENSATION
LEARNING
APPLICATON
EMPTY
COMPENSATION
BASED ON APPLICATION
TEMPERATURE AND
DISCHARGE RATE
+
- +
END OF CHARGE
DETECTION
APPLICATION
OUTPUTS:
REPSOC REGISTER
REPCAP REGISTER
AVSOC REGISTER
AVCAP REGISTER
TTE / AtTTE / TTF REGISTERS
FULLCAP REGISTER
CELL CHEMISTRY
OUTPUTS:
VFOCV REGISTER
CYCLES REGISTER
RFAST REGISTER
FULLCAPNOM REGISTER
AGE REGISTER
Figure 14. ModelGauge m5 EZ Block Diagram
www.analog.com
Analog Devices | 52
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Wakeup/Shutdown
Modes of Operation
The MAX17330 supports six power modes (three active modes and three shutdown modes) as shown in Table 9 with
descriptions of the features available in each mode, the typical current consumption of each mode, and the method to
enter and exit each mode.
Table 9. Modes of Operation
MODE
CONSUMPTION
(TYPICAL) (μA)
DESCRIPTION
28
Full Functionality. The Protection FETs, charge pump, and ADC are on. Tasks execute every
351ms.
21
FETs, charge pump, and ADC are on. Tasks execute every 1.4s. If enabled, the the device
automatically enters and exits this mode depending on current measurements. Entering
hibernate mode requires a low-enough current for a long-enough duration. Exiting requires just
one high-enough current event. For specific details regarding the thresholds, see nHibCfg
register definition.
11
ADC is on. The FETs and charge pump are disabled due to a protection fault, disconnecting the
battery from the system. RAM is preserved and the gauge continues to monitor the battery.
Firmware remains awake and ready to communicate or enable the battery. Firmware executes
every 1.4s.
11
Similar state as "Protected and Awake" except the firmware is responsive to wakeup events
such as: charger-connection, communications-wakeup, or pushbutton wakeup (depending on
which wakeups are enabled by configuration). Firmware executes every 1.4s. See nHibCfg.
8
Similar state as "Protected and Awake" except the firmware is responsive to wakeup events
such as: charger-connection, communications-wakeup, or pushbutton wakeup (depending on
which wakeups are enabled by configuration). Firmware executes every 5.625s. See nHibCfg.
DeepShip1*
0.5
FETs, charge pumps, ADC, and firmware are all placed into a shutdown state. The only activity
alive relates to analog circuits that monitor for wakeup conditions (charger-detection,
communications, or pushbutton, depending on which are enabled).
DeepShip2* /
Undervoltage
Shutdown
0.1
FETs, charge pumps, ADC, firmware, and most wakeup circuits are powered down. Only the
charger-detection wakeup circuit remains powered in this mode to best conserve the small
remaining battery capacity and prevent deep discharge.
Active
Hibernate
(optional)
Protected
and Awake
Ship*
*When an I2C SHIP command (setting Config.SHIP = 1) or I2C SCL/SDA lines collapse (and depending on whether
COMMSH is enabled), the MAX17330 either enters Ship (if nProtCfg.DeepShpEn = 0) or DeepShip1 (if
nProtCfg.DeepShpEn = 1) or DeepShip2 according to the configuration.
www.analog.com
Analog Devices | 53
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Table 10. MAX17330 Ship Modes
8μA Ship
0.5μA
DeepShip1
0.1μA
DeepShip2
0.1μA
UVShdn
ENTER
WAKEUP
Config.Ship
I2C, Pushbutton, or Charge
Source
or
SDAcollapse
FUNCTIONALITY
nProtCfg.
DeepShipEn
nProtCfg.
DeepShip2En
5.6s Measurements/
Updates
0
0
1
0
1
1
—
—
No updates
Charge Source Only
VCell <
UVShdn
The MAX17330 can be woken up with a variety of methods depending on the configuration. If pushbutton wakeup is enabled (nConfig.PBen = 1), then consistently pulling the ALRT/PIO pin low, either by pushbutton or system
configuration, wakes up the device. A high-to-low transition on any of the communication lines wakes up the device. A
consistent connection to a charge source wakes up the device.
The MAX17330 prevents accidental wake-up when the system is boxed and shipped. When woken up by any source, it
debounces all wake-up sources (button, communications, and charger-detection) to ensure that the wake-up is valid. If
no valid wake-up is discovered, the device returns to Ship or DeepShip.
The IQ in the active, hibernate, and ship modes are impacted by the configuration of the IC. Table 11 shows the
recommended configuration settings for the nConfig register and the impact those settings have on the IQ of each
mode. Note that when in hibernate mode, the protection for overtemperature and overvoltage are delayed by the
nHibCfg.HibScalar value. It is not recommended to have hibernation enabled with the nHibCfg.HibScalar set to more
than 1.4 seconds.
Table 11. Recommended nHibCfg Settings and the Impact on IQ
FETSOFF
FETS-ON
MODES
nHibCfg
SHIP
IQ
(μA)
ACTIVE/
HIBERNATE
IQ (μA)
ACTIVE
(s)
SHIP
(s)
1.4s Ship
0x0909
11
28/NA
0.351
1.4
1.4s Ship + Hibernate
0x8909
11
28/21
0.351
1.4
5.625s Ship
0x090B
8
28/NA
0.351
5.625
AVAILABLE LOW
POWER
CONFIGURATION
UPDATE RATE
NOTES
Overtemperature and overvoltage detection is
delayed by 1.4s when in hibernate mode.
Power Mode Transition State Diagram
Figure 15 illustrates how the device transitions in and out of all of the possible power modes of operation of the device.
www.analog.com
Analog Devices | 54
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
POWER
GOOD
STARTUP
C
OR HGD
BU ET
TTO OR
N ( COM
IF E
NA MS
BLE
D)
WAKEVERIFY: Any of the following confirm legitimate
wakeup:
1) ALRT/PIO consistantly low (if feature enabled)
2) Communications (high+low detected)
3) Charger consistently detected
NO W
AKEU
WAKEVERIFY
CH
OR B GDET O
UTT
R CO
ON
(IF E MMS
NAB
LED
)
CH
GD
ET
HW
STARTUP
PS VE
RIFIE
D
WAKEUP VERIFIED
ACTIVE
(28µA) OR
HIBERNATE
(21µA)
EITHER
FET ON
IF (FETS OFF)
PROTECT
(11µA)
SHIP
(8µA/11µA)
0
1
DEEPSHIP
(0.5µA)
HW
UVSHDN
(0.1µA)
UV
NPROTCFG.DEEPSHIPEN
SHDN
COMMITTED
ANY SHUTDOWN
CONDITION > TMR/2
FETS OFF,
PKSINK
=1
TIMER &
PCKPOK
SHUTDOWN CONDITIONS:
Command, Comms-drop, or UV
SHDNTimer counts upon condition, aborts
(clears) upon absense of conditions.
At half timer, the timer pauses unless
charger is clearly absent (PckpOK = 0)
Figure 15. Power Mode Transition State Diagram
Pushbutton Wakeup
The ALRT/PIO pin can be used to wake up the device by enabling the pushbutton wakeup function by setting the
nConfig.PBen. The pushbutton can be implemented in the system to wakeup the device and the system as shown in the
Pushbutton Schematic.
www.analog.com
Analog Devices | 55
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Applications Information
Component Selection
MAX17330 has the following fixed components. These must remain the same in all designs. Voltage ratings listed are
minimums. Higher ratings can be used, but should minimize derating on capacitors. The subscript denotes the pin name
to which the component is connected. See the Typical Application Schematic for reference.
Table 12. MAX17330 Standard Components
VALUE
MINIMUM
RATING
RBATT
10Ω
—
Must match RC time with RPCKP. Power rating should be sized with RZVC. If Zero-Volt
charging is not used, use 1mA rating.
CBATT
0.1μF
5V
Must match RC time with CPCKP.
RPCKP
1kΩ
—
Low Current. RC time matching is helpful for supplement mode detection.
CPCKP
1nF
10V
CCP
0.1μF
10V
CREG2
0.47μF
5V
RCHG
100Ω
—
CCHG
22nF
—
RDIS
1kΩ
—
COMPONENT
NOTES
This node can be exposed to higher voltage. Higher voltage capacitor can be used.
Lower resistance can be used for faster DIS response. 0Ω is acceptable. Higher
resistance increases FET Turn Off switching time.
Sense Resistor
Sense resistor selection is critical to MAX17330 operation. The charging and protection current range and resolution are
defined by the sense resistor, as are the capacity range and resolution. Table 13 provides guidance for regulation current
ranges based on the sense resistor. A current range should be selected for the Constant Current regulation. Termination
Current can be below the charge current range. For managed DC-DC applications, the heat generated in the CHG/DIS
FETs is significantly less, and smaller sense resistors and larger currents are allowed. For applications with fixed DC
voltage input, larger thermal budget, and larger currents than the listed range are allowed, see Table 22 for maximum
current range. For fixed DC applications, at low cell voltage, the MAX17330 might regulate in Constant Power mode until
the cell voltage is high enough to enter CC mode. See Table 18 for heat limits.
Table 13. Sense Resistor Selection
CHARGE SOURCE
RSENSE (mΩ)
CHARGE CURRENT RANGE (mA)
2
1750 to 5712
Managed DC-DC or Switching Charger
5
700 to 5120
Managed DC-DC or Switching Charger
10
350 to 2560
5V or USB
10
350 to 1129
5V or USB
20
175 to 565
5V or USB
50
70 to 226
5V or USB
100
35 to 113
5V or USB
200
17.5 to 56
5V or USB
500
7 to 23
Managed DC-DC or Switching Charger
www.analog.com
Analog Devices | 56
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Charging and Protection FETs
After sense resistor selection, FET selection is the the next critical component choice for system design. The MAX17330
uses a voltage doubler charge pump as the input to the FET drivers. With this design, VGS for the CHG FET is always
equal to VCell. The FET VTH must be low to allow it to turn on and regulate the FET from a low battery. VTH < 2V is
recommended.
VDS for the CHG FET (or VSS for dual FETs) must be set based on the application requirements. For pack side
applicaiton with removable batteries, 12V is recommended and 20V is optional. For implementations where the battery
is captive, or MAX17330 is installed on the system board, lower VDS (or VSS) is allowed but must meet the maximum
charge source voltage.
Power Dissipation is a critical function since the MAX17330 operates the FET in the Ohmic/Linear region. For FETs
with lower power dissipation, the HeatLim of MAX17330 reduces charging current to keep the FET in the safe operating
range. Good thermal rated FETs and PCB design is needed for maximum charging current.
RDSON and package size can be other considerations for application purposes. They are not critical for MAX17330
operation.
ESD and Optional Components
Thermistors are optional, but recommended components on the MAX17330. See the nPackCFG.THCfg register subfield
for details on how thermistors are used by the MAX17330. Table 97 lists common NTC thermistors with their associated
Beta value and the nThermCfg value. Other thermistors can be used with the formula listed in Table 97, or by contacting
Maxim Integrated.
The Typical Application Schematic shows series resistors and Zener diodes on the ALRT, SDA, and SCL pins. For
applications where these pins are exposed, adding some ESD protection is necessary. TVS diodes can be used instead
of Zener diodes for stronger protection. 150Ω resistors have been tested with 4.7V Zener diodes to withstand ±8kV
contact and ±16kV air discharge without damage to the IC. These components can be omitted for applications where the
MAX17330 is installed on the system board.
In application using multiple protection ICs where the secondary protector is connected between MAX17330 and the cell,
RZVC must be populated. If the secondary protector blocks Zero-Volt charging, RZVC doesn't need an exact calculation
and only provides current to wake the secondary protector if it is in a protected or shutdown state (use 100Ω for
this application). For Zero-Volt charging, RZVC is calculated with the formula in the Zero-Volt Charging section. For
applications with only the MAX17330 as the protector and no Zero-Volt charging, do not connect RZVC.
Register Description Conventions
The following sections define standard conventions used throughout the data sheet to describe register functions and
device behavior. Any register that does not match one of the following data formats is described as a special register.
Standard Register Formats
Unless otherwise stated during a given register's description, all IC registers follow the same format depending on the
type of register. See Table 14 for the resolution and range of any register described hereafter. Note that current and
capacity values are displayed as a voltage and must be divided by the sense resistor to determine amps or amp-hours.
It is strongly recommended to use the lower byte of nRSense (19Ch) register to store the sense resistor value for use by
the host software.
Table 14. ModelGauge Register Standard Resolutions
REGISTER
TYPE
LSB SIZE
MINIMUM
VALUE
MAXIMUM
VALUE
Capacity
5.0μVh/
RSENSE
0μVh
327.675mVh/
RSENSE
Percentage
1/256%
0%
255.9961%
78.125μV
0V
5.11992V
Voltage
www.analog.com
NOTES
Equivalent to 0.5mAh with a 10mΩ sense resistor.
1% LSb when reading only the upper byte.
—
Analog Devices | 57
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Table 14. ModelGauge Register Standard Resolutions (continued)
REGISTER
TYPE
LSB SIZE
MINIMUM
VALUE
MAXIMUM
VALUE
NOTES
1.5625μV/
RSENSE
-51.2mV/
RSENSE
51.1984mV/
RSENSE
Signed 2's complement format. Equivalent to 156.25μA with a
10mΩ sense resistor.
Temperature
1/256°C
-128°C
127.996°C
Signed 2's complement format. 1°C LSb when reading only the
upper byte.
Resistance
1/4096Ω
0Ω
15.99976Ω
—
5.625s
0s
102.3984hr
—
Power
8mW/RSENSE
-262W/RSENSE
262W/RSENSE
Special
—
—
—
Current
Time
Signed 2's complement format. Equivalent to 0.8mW with a
10mΩ sense resistor.
Format details are included with the register description.
Device Reset
Device reset refers to any condition that would cause the IC to recall nonvolatile memory into RAM locations and restart
operation of the fuel gauge. Device reset refers to initial power up of the IC, temporary power loss, or reset through the
software power-on-reset command.
Nonvolatile Backup and Initial Value
All configuration register locations have nonvolatile memory backup that can be enabled with control bits in the nNVCfg0,
nNVCfg1, and nNVCfg2 registers. If enabled, these registers are initialized to their corresponding nonvolatile register
value after device reset. If nonvolatile backup is disabled, the register restores to an alternate initial value instead. See
each register description for details.
Register Naming Conventions
Register addresses are described throughout the document as 9-bit internal values from 000h to 1FFh. These addresses
must be translated to 8-bit external slave address and 8-bit register address. A leading '0' indicates the primary slave
address (0x6C by default) should be used to read this register and a leading '1' indicates the secondary slave address
(default 0x16) should be used to read this register. See the Memory section for details.
Register names that start with a lowercase 'n', such as nPackCfg for example, indicate that the register is a nonvolatile
memory location. Register names that start with a lower case 's' indicate the register is part of the SBS compliant register
block.
www.analog.com
Analog Devices | 58
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Charging Registers
Charging Status and Configuration Registers
ChgStat Register (0A3h)
Register Type: Special
The ChgStat register shown in Table 15 indicates the charger control mode.
Table 15. ChgStat (0A3h) Format
D15
D14
D13
D12
D11
D10
D9
D8
Dropout
x
x
x
x
x
x
x
D7
D6
x
D5
D4
D3
D2
D1
D0
x
x
CP
CT
CC
CV
CC: Constant Current mode. Charging is controlled by ChargingCurrent register.
CV: Constant Voltage mode. Charging is controlled by ChargingVoltage register.
CP: Heat Limit. If the Pack+ voltage is adjustable, decrease the voltage to exit CP mode to increase charging speed.
CT: FET Temperature limit. If the Pack+ voltage is adjustable, decrease the voltage to decrease FET temperature and
increase charging speed.
Dropout: Dropout Saturation Prevention. An alert is also generated on Status.CA whenever dropout is detected. If
PACK+ voltage is adjustable, the application processor should increase the voltage to increase charging speed.
When charging directly from USB, the MAX17330 attempts to charge at the current indicated in ChargingCurrent. If this
exceeds the current limit of the USB charger, the USB output voltage drops and the MAX17330 enters Dropout mode.
The USB output voltage increases as a function of the cell voltage and the dropout voltage until the battery reaches CV
mode. The USB output voltage returns back to regulation as the battery current tapers closer to the termination current.
nChgCfg0 Register (1C2h)
Type: Special
The nChgCfg0 register is shown in Table 16 and sets the Prequal voltage and current as well as Minimum System
Voltage.
Table 16. nChgCfg0 Register (1C2h) Format
D15
0
D14
D13
D12
D11
nOCMargin
D10
D9
D8
D7
PreQualVolt
D6
D5
D4
D3
VSysMin
D2
D1
D0
PreChgCurr
PreQualVolt: Sets the Prequal voltage. Prequal Voltage = UVP + PreQualVolt x 20mV, PreQualVolt is a signed 2's
compliment value with range of UVP - 320mV to UVP + 300mV.
PreChgCurr: Sets the precharging current for the ChargingCurrent register. Precharge current is calculated as:
PreChargeCurrent = nIChgCfg.RoomChargingCurrent x PreChgCurr / 128 with a range from RoomChargingCurrent
/ 128 to RoomChargingCurrent / 4.
VSysMin: If the charge source is overloaded and is not able to hold the output voltage, Minimum System Voltage
increases PACK+ voltage by keeping the DIS FET Off until cell voltage reaches VSysMin. The system minimum voltage
is relative to nVempty and can be configured from nVempty to nVempty - 0.7V in 100mV steps. The recommended setting
for VSysMin is 3.4V or lower, as this generates extra heat during charging. Set to 0 to disable this feature.
nChgCfg1 Register (1CBh)
Type: Special
The nChgCfg1 register is shown in Table 17 and sets the heat and temperature parameters for the charger.
Table 17. nChgCfg1 (1CBh) Format
D15
D14
www.analog.com
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
Analog Devices | 59
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Table 17. nChgCfg1 (1CBh) Format (continued)
0
0
HeatLim
0
FETLim
FetTheta
HeatLim: Set HeatLim to limit the thermal dissipation in the protection FETs during prequal regulation. Set HeatLim from
51mW to 1581mW in 51mW steps with to 10mΩ RSENSE (Heat = I x V). The effective power-dissipation limit is (HeatLim)
x 51mW. See Table 18 for other sense resistors.
Table 18. HeatLim Range and Resolution for Different Sense Resistors
SENSE RESISTOR (mΩ)
MIN (mW)
MAX (mW)
STEP (mW)
102
5
102
3162
10
51
1581
51
20
25.5
790.5
25.5
50
10.2
316.2
10.2
100
5.1
158.1
5.1
200
2.55
79.05
2.55
FetTheta: FetTheta is used to calculate actual Junction temp with only observing DieTemp and Thermistor 2 during
charging. FET Junction temperature is calculated with the following equation:
FETTemp = TH2_Temp+ (TH2_Temp - DieTemp) x FetTheta.
The FetTheta configuration range is 0 to 4.0 with 0.125 steps. If Zero-Volt charging is used, or Thermistor 2 is not used,
DieTemp is used as FET temperature.
FETLim: Set FET Lim to limit FET temperature during charging. The range is 75°C to 103°C with a 4°C lsb.
nMiscCfg2 Register (1E4h)
Type: Special
The nMiscCfg2 register is shown in Table 19 and sets the charger restart threshold voltage.
Table 19. nMiscCfg2 Register (1E4h) Format
D15
D14
D13
D12
D11
D10
D9
0
0
0
0
0
0
0
D8
D7
D6
D5
dFullOCV
D4
D3
D2
D1
D0
0
0
dFullOCV: Sets the charger restart open circuit voltage threshold. The charger restarts if the open circuit voltage falls
below ChargingVoltage - dFullOCV - 10mV. dFullOCV has a LSB of 0.625mV, with a range of 80mV. The recommended
value for this is 50mV for a total of 60mV below ChargingVoltage for the restart threshold. Set dFullOCV to 0 to disable
this function. This function is disabled by default.
www.analog.com
Analog Devices | 60
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Charging Configuration Registers
The ChargingVoltage and ChargingCurrent display the calculated target charge voltage and current. This includes the
programmed charging voltage and current, charging modifications according to battery temperature, and step-charging.
ChargingVoltage Register (02Ah)
Register Type: Voltage
Nonvolatile Backup: None
The ChargingVoltage register reports the target charging voltage.
ChargingCurrent Register (028h)
Register Type: Current
Nonvolatile Backup: None
The ChargingCurrent register reports the target charging current.
nIChgTerm Register (19Ch)
Register Type: Current
Nonvolatile Restore: IChgTerm (01Eh) if nNVCfg0.enICT is set
Alternate Initial Value: 1/3rd the value of the nFullCapNom register (corresponds to C/9.6)
The nIChgTerm register allows the device to detect when a charge cycle of the cell has completed. nIChgTerm should
be programmed to the exact charge termination current used in the application. The device detects end-of-charge if both
of the following conditions are met:
• VFSOC Register > FullSOCThr Register
• Current Register < IChgTerm
See the End-of-Charge section for more details.
nVChgCfg Register (1D9h)
The nVChgCfg register, shown in Table 20, sets the JEITA charge voltage configuration for the MAX17330. The JEITA
charge voltage is used to calculate the Charging Voltage register and is used to determine the overvoltage-protection
threshold.
Each charge voltage register is a signed offset with 5mV or 20mV resolution. The RoomChargeV offset is defined relative
to a normal standard charge setting of 4.2V. The additional charge voltages are relative to RoomChargeV based on the
temperature. To disable the temperature dependence and create a flat charging voltage across the temperature range,
set dWarmChargeV, dColdChargeV, and dHotChargeV to a value of 0x00.
Table 20. nVChgCfg Register (1D9h) Format
D15
D14
D13
D12
D11
RoomChargeV
D10
D9
D8
D7
D6
dWarmChargeV
D5
D4
D3
dColdChargeV
D2
D1
D0
dHotChargeV
RoomChargeV: RoomChargeV defines the charge voltage between temperatures T2 and T3 relative to a standard 4.2V
setting, providing a range of 3.56V to 4.835V in 5mV steps. RoomChargeV is a signed configuration. Set to 0x00 to
configure for standard 4.2V.
dColdChargeV: ColdChargeV defines the delta charge voltage (relative to room) between temperatures T1 and T2
relative to the room setting, providing a range of RoomChargeV (RoomChargeV - 140mV) in -20mV steps. dColdChargeV
configuration is unsigned.
dWarmChargeV: WarmChargeV defines the delta charge voltage (relative to room) between temperatures TWarm
and T3 relative to the room setting, providing a range of RoomChargeV (RoomChargeV - 60mV) in -20mV steps.
dColdChargeV configuration is unsigned.
www.analog.com
Analog Devices | 61
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
dHotChargeV: HotChargeV defines the delta charge voltage (relative to room) between temperatures T3 and T4
relative to the room setting, providing a range of WarmChargeV (WarmChargeV - 140mV) in -20mV steps. dHotChargeV
configuration is unsigned.
nIChgCfg Register (1D8h)
The nIChgCfg register shown in Table 21 sets the nominal room temperature charging current and the coefficients to
scale the charging current across the temperature zones shown in Figure 9. The WarmCOEF, ColdCOEF, and HotCOEF
coefficients impact the charging current as well as OCCP and ODCP (See nIPrtTh1).
To disable the temperature dependence and create a flat charging current across the temperature range, set the lower
byte of nIChgCfg to a value of 0xFF.
Table 21. nIChgCfg Register (1D8h) Format
D15
D14
D13
D12
D11
D10
D9
D8
D7
RoomChargingCurrent
D6
D5
WarmCOEF
D4
D3
D2
ColdCOEF
D1
D0
HotCOEF
RoomChargingCurrent: Sets the nominal room-temperature charging current. The LSB is 100μV. The ChargingCurrent
of MAX17330 is configurable from 10mA (0x00) to 2560mA (0xFF) with a 10mΩ sense resistor. See Table 22 for other
sense resistors.
Table 22. Charging Current for Different Sense Resistors
SENSE RESISTOR (mΩ)
STEP SIZE (mA)
MAX CURRENT (mA)
2
50
12800
5
20
5120
10
10
2560
50
2
512
100
1
256
200
0.5
128
In addition to the range and resolution tradeoff, optimum sense resistor selection requires considering power dissipation
and the analog accuracy of the MAX17330. See the Component Selection section for more details.
HotCOEF: Coefficient 12.5% to 100% relative to ChargingCurrent for controlling the charge current at hot. HotCOEF
has a 12.5% LSB resolution. The resulting HotChargingCurrent is controlled by the following equation:
HotChargingCurrent = RoomChargingCurrent x (HotCOEF + 1)/8
WarmCOEF: Coefficient 62.5% to 100% relative to ChargingCurrent for controlling the charge current at warm.
WarmCOEF has a 12.5% LSB resolution. The resulting WarmChargingCurrent is controlled by the following equation:
WarmChargingCurrent = RoomChargingCurrent x (WarmCOEF + 5)/8
ColdCOEF: Coefficient 12.5% to 100% relative to ChargingCurrent for controlling the charge current at cold. ColdCOEF
has a 12.5% LSB resolution. The resulting ColdChargingCurrent is controlled by the following equation:
ColdChargingCurrent = RoomChargingCurrent x (ColdCOEF + 1)/8
HotCOEF, WarmCOEF, and ColdCOEF also rescale nIPrtTh1.OCCP.
nStepChg Register (1DBh)
The nStepChg register defines the step-charging prescription as shown in Figure 2.
To disable step-charging, set nStepChg = 0xFF00.
Table 23. nStepChg Register (1DBh) Format
D15
D14
D13
StepCurr1
www.analog.com
D12
D11
D10
D9
StepCurr2
D8
D7
D6
D5
StepdV0
D4
D3
D2
D1
D0
StepdV1
Analog Devices | 62
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
StepCurr1 and StepCurr2: Both of these register bit-fields scale the JEITA charge current down by a 4-bit ratio from 1/
16 to 16/16.
StepdV0 and StepdV1: These register bit-fields configure StepVolt0 and StepVolt1 relative to the JEITA charge voltage.
Both registers are negative offsets relative to JEITA ChargeVoltage and support 10mV LSB.
Protection Registers
Voltage Protection Registers
nUVPrtTh Register (1D0h)
Register Type: Special
The nUVPrtTh register shown in Table 24 sets undervoltage protection, deep-discharge-state protection, and
undervoltage-shutdown thresholds.
Table 24. nUVPrtTh Register (1D0h) Format
D15
D14
D13
D12
D11
D10
D9
D8
D7
UVP
D6
D5
D4
D3
UOCVP
D2
D1
D0
UVShdn
UVP: Undervoltage Protection Threshold. The MAX17330 opens the discharge FET when VCell < UVP. UVP can be
configured from 2.2V to 3.46V in 20mV steps. UVP is unsigned.
UOCVP: Under Open Circuit Voltage Protection Threshold (also referred to as SmartEmpty). The MAX17330 opens the
discharge FET when VFOCV < UOCVP. UOCVP is relative to UVP and can be configured from UVP to UVP + 1.28V in
40mV steps.
UVShdn: Undervoltage Shutdown Threshold. The MAX17330 shutdowns when VCell < UVShdn. UVShdn is relative to
UVP and can be configured from UVP - 0.32V to UVP + 0.28V in 40mV steps. Note that this is a signed value and
UVShdn should be configured as a 2's compliment negative value so that UVShdn < UVP.
nOVPrtTh Register (1DAh)
Factory Default Value: B354h
The nOVPrtTh register shown in Table 25 sets the permanent overvoltage protection threshold, the charge-detection
threshold, the overvoltage-protection threshold, and the overvoltage-protection-release threshold. dOVP and dOVPR are
relative to the Charge Voltage that is set in the nVChgCfg register and have a 10mV resolution.
Table 25. nOVPrtTh Register (1DAh) Format
D15
D14
D13
OVPPermFail
D12
D11
0
D10
D9
ChgDetTh
D8
D7
D6
D5
D4
D3
dOVP
D2
D1
D0
dOVPR
dOVP: Delta from ChargeVoltage to Overvoltage Protection. dOVP sets JEITA overvoltage protection relative to
ChargeVoltage (see nVChgCfg). If nNVCfg1.enJP is disabled, then OVP voltage is calculated from RoomChargeV across
all temperature zones. This is a positive number with 10mV resolution and 150mV range. Overvoltage protection is
calculated as:
OVP = ChargeVoltage + dOVP x 10mV
dOVPR: Delta from Overvoltage Protection to the Overvoltage-Release Threshold. dOVPR sets overvoltage-protection
release relative to the overvoltage-protection setting. This is a positive number with 10mV resolution and is translated to
a negative offset relative to OVP. Overvoltage-protection release is calculated as:
OVPR = OVP - dOVPR x 10mV
OVPPermFail: Permanent Failure OVP (permanent overvoltage protection) Threshold. Permanent failure overvoltage
protection occurs when any cell voltage register reading exceeds this value. The OVPPermFail range is
OVP_thresholdRoom + 40mV to OVP_thresholdRoom + 340mV with a 20mV LSB.
OVP_PermFail_Threshold = OVPRoom + 40mV + (OVPPermFail x 20mV)
www.analog.com
Analog Devices | 63
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
ChgDetTh: Charger Detection Threshold. The IC determines that a charger is connected when PCKP > (BATT +
ChgDetTh). ChgDetTh has a range of 10mV to 80mV with a 10mV LSB.
Current Protection Registers
nODSCTh Register (1DDh)
Factory Default Value: 0EAFh
The nODSCTh register sets the current thresholds for each overcurrent alert. The format of the registers is shown in
Table 26.
Table 26. nODSCTh Register (1DDh) Format
D15
D14
D13
D12
D11
D10
D9
D8
OCTH
D7
D6
D5
D4
D3
SCTH
D2
D1
D0
ODTH
X: Don't Care.
SCTH: Short-Circuit Threshold Setting. Sets the short-circuit threshold to a value between 0mV and -158.72mV with a
step size of -5.12mV. The SCTH bits are stored such that 0x1F = 0mV and 0x00 = -158.72mV. The short-circuit threshold
is calculated as -158.72mV + (SCTH x 5.12mV).
ODTH: Overdischarge Threshold Setting. Sets the overdischarge threshold to a value between 0mV and -79.36mV with
a step size of -2.56mV. The ODTH bits are stored such that 0x1F = 0mV and 0x00 = -79.36mV. The overdischarge
threshold is calculated as -79.36mV + (ODTH x 2.56mV).
OCTH: Overcharge Threshold Setting. Sets the overcharge threshold to a value between 0mV and 39.375mV with a
step size of 0.625mV. The OCTH bits are stored such that 0x3F = 0mV and 0x00 = 39.375mV. The overcharge threshold
is calculated as 39.375mV - (OCTH x 0.625mV).
Table 27 shows sample values of calculated thresholds in millivolts for OCTH, SCTh, and ODTH. Equivalent current
thresholds are shown assuming a 10mΩ sense resistor.
Table 27. OCTH, SCTh, and ODTH Sample Values
OCTH
SCTH
ODTH
0x00
39.375mV
3.9375A
-158.72mV
-15.872A
-79.36mV
-7.936A
0x01
38.75mV
3.875A
-153.6mV
-15.36A
-76.8mV
-7.68A
0x02
38.125mV
3.8125A
-148.8mV
-14.848A
-74.24mV
-7.424A
0x04
36.875mV
3.6875A
-138.24mV
-13.824A
-69.12mV
-6.912A
0x08
34.735mV
3.4735A
-117.76mV
-11.776A
-58.88mV
-5.888A
0x10
29.375mV
2.9375A
-76.8mV
-7.68A
-38.4mV
-3.84A
0x14
26.875mV
2.6875A
-56.32mV
-5.632A
-28.16mV
-2.816A
0x18
24.375mV
2.4375A
-35.84mV
-3.584A
-17.92mV
-1.792A
0x1E
20.625mV
2.0625A
-5.12mV
-0.512A
-2.56mV
0.256A
0x1F
20mV
2A
0mV
0.00A
0.0mV
0.00A
0x2F
10mV
1A
—
—
—
—
0x3F
0mV
0A
—
—
—
—
nODSCCfg Register (1DEh)
Factory Default Value: 0x4355
The nODSCCfg register configures the delay behavior for the short-circuit, over-discharge-current, and over-chargecurrent comparators. The format of the register is shown in Table 28.
Table 28. nODSCCfg Register (1DEh) Format
D15
D14
www.analog.com
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
Analog Devices | 64
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Table 28. nODSCCfg Register (1DEh) Format (continued)
X
1
X
X
SCDLY
X
1
X
1
OCDLY
X: Don't Care.
SCDLY: Short-Circuit Delay. Configure from 0x0 to 0xF to set short-circuit detection debouncing delay between 70μs
and 985μs (70μs + 61μs x SCDLY). There can be up to 31μs of additional delay before the short-circuit's alert affects the
discharge FET.
OCDLY: Overdischarge and Overcharge Current Delay. Configure from 0x1 to 0xF to set overdischarge/overcharge
detection debouncing delay between 70μs and 14.66ms (70μs + 977μs x OCDLY).
nIPrtTh1 Register (1D3h)—Overcurrent Protection Thresholds
Register Type: Special
The nIPrtTh1 register shown in Table 29 sets the upper and lower limits for overcurrent protection when current exceeds
the configuration threshold. The upper 8-bits set the overcharge current protection threshold and the lower 8-bits set the
overdischarge current protection threshold. Protection threshold limits are configurable with 400μV resolution over the
full operating range of the current register.
Table 29. nIPrtTh1 Register (1D3h) Format
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
OCCP
D4
D3
D2
D1
D0
ODCP
OCCP: Overcharge current-protection threshold in room temperature. Overcharge current-protection occurs when the
current register reading exceeds this value. This field is signed 2's complement with 400μV LSb resolution to match the
upper byte of the current register. HotCOEF, WarmCOEF, and ColdCOEF rescales nIPrtTh1.OCCP in hot, warm, and
cold regions.
For example, in warm regions, the overcharge current protection threshold updates to OCCP x WarmCOEF.
See the nIChgCfg register for HotCOEF, WarmCOEF, and ColdCOEF definitions and the nTPrtTh2 and nTPrtTh3
registers for temperature region definition.
ODCP: Overdischarge current-protection threshold. Overdischarge current-protection occurs when current register
reading exceeds this value. This field is signed 2's complement with 400μV LSb resolution to match the upper byte of the
current register.
The fault delay for OCCP and ODCP is configured in nDelayCfg.OverCurrTimer.
Temperature Protection Registers
The IC has five thresholds for charging protection as well as overdischarge temperature protection and overtemperature
permanent failure protection. The standard register format for each of these thresholds is a signed 2's compliment
number with 1°C resolution. The IC has 2°C of hysterisis for releasing temperature faults.
nTPrtTh1 Register (1D1h)
Register Type: Special
The nTPrtTh1 register shown in Table 30 sets T1 "Too-Cold" and T4 "Too-Hot" thresholds which control JEITA and
provide charging (Too-Hot or Too-Cold) protection. nProtMiscTh.TooHotDischarge provides discharging (Too-Hot only)
protection. Threshold limits are configurable with 1°C resolution over the full operating range Temp register.
Table 30. nTPrtTh1 Register (1D1h) Format
D15
D14
D13
D12
D11
D10
D9
D8
T4 ("Too-Hot")
D7
D6
D5
D4
D3
D2
D1
D0
T1 ("Too-Cold")
T1-T4 follow JEITA's naming convention for temperature ranges.
T1: JEITA "Too-Cold" temperature threshold. When Temp < T1, charging is considered unsafe and can damage the
battery so the MAX17330 blocks charging.
www.analog.com
Analog Devices | 65
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
T4: JEITA "Too-Hot" temperature threshold. When Temp > T4, charging is blocked by the MAX17330.
nTPrtTh2 Register (1D5h)
Register Type: Special
The nTPrtTh2 register shown in Table 31 sets T2 "Cold" and T3 "Hot" thresholds which control JEITA and modulate
charging (Hot or Cold) guidance and protection. Threshold limits are configurable with 1°C resolution over the full
operating range Temp register.
Table 31. nTPrtTh2 (1D5h) Format
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
T3 ("Hot")
D3
D2
D1
D0
T2 ("Cold")
T1-T4 follow JEITA's naming convention for temperature ranges.
T2: JEITA "Cold" temperature threshold. When Temp < T2, charging current/voltage should be reduced and the chargeprotection thresholds are adjusted accordingly.
T3: JEITA "Hot" temperature threshold. When Temp > T3, charging current/voltage should be reduced and the chargeprotection thresholds are adjusted accordingly.
nTPrtTh3 Register (1D2h) (beyond JEITA)
Register Type: Special
The nTPrtTh3 register shown in Table 32 sets Twarm and TpermFailHot thresholds which control JEITA and modulate
charging (Warm) guidance and protection. Threshold limits are configurable with 1°C resolution over the full operating
range Temp register.
Table 32. nTPrtTh3 Register (1D2h) Format
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
TpermFailHot
D3
D2
D1
D0
Twarm
nTPrtTh3 defines protection thresholds beyond standard JEITA definition.
Twarm: Warm temperature threshold (between 'normal' and THot), giving an extra temperature region for changing
charging current and charging voltage control.
TpermFailHot: If enabled, the MAX17330 goes into permanent failure mode and permanently disables the charge FET
as well as trips the secondary protector (if installed) or blows the fuse (if installed).
Fault Timer Registers
nDelayCfg Register (1DCh)
Factory Default Value: 0x9B3D
Set nDelayCfg to configure debounce timers for various protection faults. A fault state is concluded only if the condition
persists throughout the duration of the timer. All delay times start when the ADC first measures the value to exceed the
protection threshold which could be up to an additional 351ms of delay between the time the fault is observed externally
and the time the ADC first measures the fault.
Charging faults can have an additional delay at the conclusion of the timer before the current completely drops
0mA.There is a capacitor from the gate to source of the CHG FET that is needed for charge regulation, which also slows
down the ability to completely stop charge current for any charging faults. The current is immediately reduced at the end
of the protection timer setting and is completely reduced to 0mA when the capacitor voltage decays to 0V.
Table 33. nDelayCfg (1DCh) Format
D15
D14
CHGWDT
D13
D12
FullTimer
D11
D10
D9
OVPTimer
D8
D7
D6
OverCurrTimer
D5
D4
PermFailTimer
D3
D2
TempTimer
D1
D0
UVPTimer
UVPTimer: Set UVPTimer to configure the Undervoltage-Protection timer.
www.analog.com
Analog Devices | 66
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Shutdown Timer: Set UVPTimer to configure the Shutdown timer which controls the timing for entering Ship, DeepShip,
and DeepShip2/UVShutdown. When the IC begins to enter a low-power mode, it is important to let the Shutdown Timer
expire for the IC to fully enter the low-power mode before returning to active mode.
Table 34. UVPTimer Settings
UVPTimer SETTING
0
1
2
3
UVPTimer Configuration
0ms to 351ms
351ms to 0.7s
0.7s to 1.4s
1.4s to 2.8s
Shutdown Timer Configuration
22.5s to 45s
45s to 90s
90s to 180s
3min to 6min
TempTimer: Set TempTimer to configure the fault-timing for the following faults: Too-Cold-Charging (TooColdC), TooHot-Charging (TooHotC), Die-Hot (DieHot), and Too-Hot-Discharging (TooHotD).
Table 35. TempTimer Setting
TempTimer SETTING
0
1
2
3
Configuration
0ms to 351ms
351ms to 0.7s
0.7s to 1.4s
1.4s to 2.8s
The TempTimer setting also controls the temperature transition delay. If the MAX17330 detects a change in temperature
that results in a lower OVP threshold, the MAX17330 applies a delay equal to the TempTrans configuration before the
new lower OVP threshold goes into effect. There is a delay equal to the TempTrans configuration before the new lower
OVP threshold goes into effect.
Table 36. TempTrans Configuration Settings
TempTimer SETTING
0
1
2
3
TempTrans Configuration
3.151s to 4.55s
5.951s to 8.75s
11.55s to 17.15s
23.351s to 34.851s
PermFailTimer: Set PermFailTimer to configure the fault timing for permanent failure detection. Generally, larger
configurations are preferred to prevent permanent failure unless some severe condition persists.
Table 37. PermFailTimer Settings
PermFailTimer SETTING
0 (NOT RECOMMENDED)
1
2
3
Configuration
0ms to 351ms
351ms to 0.7s
0.7s to 1.4s
1.4s to 2.8s
OverCurrTimer: Set OverCurrTimer to configure the slower overcurrent protection (the additional fast hardware
protection thresholds are described in nODSCCfg and nODSCTh). OverCurrTimer configures the fault timing for the slow
overcharge-current detection (OCCP) as well as overdischarge-current detection (ODCP).
Table 38. OverCurrTimer Settings
OverCurrTimer
SETTING
0
1
2
3
4
5
6
7
Configuration
0ms to
351ms
0.351s to
0.7s
0.7s to
1.4s
1.4s to
2.8s
2.8s to
5.6s
5.6s to
11.25s
11.25s to
22.5s
22.5s to
45s
OVPTimer: Set OVPTimer to configure the fault timing for overvoltage protection.
Table 39. OVPTimer Settings
OVPTimer SETTING
0
1
2
3
Configuration
0ms to 351ms
351ms to 0.7s
0.7s to 1.4s
1.4s to 2.8s
FullTimer: Set FullTimer to configure the timing for full detection. When charge-termination conditions are detected after
the timeout, the CHG FET turns off (if feature is enabled).
Prequal Timer: Set FullTimer to configure the timing for prequal charging. Prequal Timer and FullTimer share the same
bits in the nDelayCfg register.
Table 40. FullTimer Settings
FullTimer SETTING
www.analog.com
0
1
2
3
4
5
6
7
Analog Devices | 67
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Table 40. FullTimer Settings (continued)
FullTimer
Configuration
33s to 44s
67s to
90s
2.25min to
3min
4.5min to
6min
9min to
12min
18min to
24min
36min to
48min
72min to
96min
Prequal Timer
Configuration
16.875s to
22.5s
33s to
44s
67s to 90s
2.25min to
3min
4.5min to
6min
9min to
12min
18min
to 24min
36min
to 48min
CHGWDT: Set CHGWDT to configure the charger communication watchdog timer. If enabled, the MAX17330 chargeprotects whenever the host has stopped communicating and the SDA/SCL lines idle high for longer than this timeout.
ChgRm: Charger removal debounce (1/4 ChgWDT debounce setting)
Table 41. ChgWDT/ChgRm Settings
ChgWDT/ChgRm SETTINGS
0
1
2
3
CHGWDT Timer
11.2s to 22.5s
22.5s to 45s
45s to 90s
90s to 3min
ChgRm Timer
2.8s to 5.6s
5.6s to 11.2s
11.2s to 22.4s
22.4s to 44.8s
Battery Internal Self-Discharge Detection Registers
Factory Default nProtCfg2 Value: 1006h
To enable the ISD feature using the coulombic-efficiency (CE) method, configure LeakFaultCfg, LeakCurrTh, and CEEn
as shown in Table 42. Choose the alert and fault mode with LeakFaultCfg and configure the thresholds with LeakCurrTh,
as shown in Table 43. When the ISD alerts are enabled, any leakage current detected beyond the threshold is indicated
by the ProtAlrt.LDET bit and Status.PA bit (if nConfig.ProtAlrtEn = 1). If the ALRT pin is enabled for alerts (nConfig.Aen
= 1 and nConfig.ProtAlrtEn = 1), then the pin indicates the ISD alert. To service the alert, first clear the ProtAlrt register
and then clear Status.PA. The event is also indicated in nBattStatus.LDET, which is recorded in the permanent lifelog.
The reported leakage-current measurement can be read from two different registers:
● LeakCurrRep = 15-bit unsigned left-justified value with an LSB of 1.5625μV/16 (or 0.15625mA/16 with 10mΩ sense
resistor).
● nBattStatus.LeakCurr = 8-bit unsigned value with an LSB of 3.125μV (or 0.3125mA with 10mΩ sense resistor).
Contact Analog Devices for configuring the ISD feature.
Table 42. nProtCfg2 Register (1DFh) Format
D15
D14
LeakFaultCfg
D13
D12
D11
CEEn
D10
D9
D8
D7
LeakCurrTh
D6
D5
D4
D3
D2
D1
D0
CheckSum
Table 43. Alert and Fault Mode Settings
LeakFaultCfg
SETTING
DESCRIPTION
LeakCurrTh RESOLUTION
ALERT RANGE
FAULT RANGE
Note: Leakage current above LeakCurrTh triggers an alert/fault. Currents refer to
the 10mΩ RSENSE.
000
Disabled
001
Alert Only
010
Fault = Alert + 2.5mA
011
Fault = Alert + 5mA
100
Fault Only (+2.5mA
offset)
101
Alert Only
110
Fault = Alert + 2.5mA
111
Fault = Alert + 10mA
0.3125mA
0.3125mA
to 5mA
2.8125mA to 7.5mA
5.3125mA to 10mA
3.125mA to 12.5mA
0.625mA
0.625mA
to 10mA
3.125mA to 12.5mA
10.625mA to 20mA
X: Don't Care
CEEn: Coulombic-efficiency (CE) method enable. Set to 1 to enable self-discharge detection.
www.analog.com
Analog Devices | 68
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
LeakFaultCfg: Leakage Fault Configuration. Set LeakFaultCfg to configure the alert and fault behavior as shown in Table
43.
LeakCurrTh: Leakage Current Threshold is an unsigned 4-bit threshold for leakage current alert and fault generation.
The LSB resolution is either 0.625mA or 1.25mA based on the LeakCurrCfg setting as shown in Table 43. When alerts
and faults are both enabled, the fault threshold is either 5mA, 10mA, or 20mA above the alert threshold as shown in the
Description column of Table 43.
CheckSum: Protector NVM CheckSum. CheckSum is the checksum value of the protection registers for validating NVM
at startup when nNVCfg1.enProtChksm = 1.
LeakCurrRep Register (0x16F)
The LeakCurrRep register contains the reported leak current when it is enabled with nCheckSum.CEEn as shown in
Table 44.
Table 44. LeakCurrRep Register (0x16F) Format
D15
D14
D13
D12
D11
D10
0
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
Reported LeakCurrent
Reported LeakCurrent: Reported Leak Current is an unsigned 15-bit leakage current. This register stores the reported
leakage current with an LSB of 1.5625μV/16 (or 0.15625mA/16 with a 10mΩ sense resistor). The range is 0mA to
319.99mA.
Status/Configuration Protection Registers
nProtCfg Register (1D7h)
The Protection Configuration register contains enable bits for various protection functions.
Table 45. nProtCfg Register (1D7h) Format
D15
D14
D13
ChgWDTEn
nChgAutoCtrl
FullEn
D12
D11
SCTest
D10
D9
D8
CmOvrdEn
ChgTestEn
PrequalEn
D7
D6
D5
D4
D3
D2
D1
D0
Reserved
PFEn
DeepShpEn
OvrdEn
UVRdy
FetPFEn
BlockDisCEn
DeepShp2En
BlockDisCEn: Block Discharge FET at too Cold (nTPrtTh1).
PFEn: PermFail Enable. Set PFEn = 1 to enable the detection of a permanent failure to permanently turn the FETs off.
All types of permanent failures operate only if PFEn = 1 and are all disabled if PFEn = 0. PFEn must be enabled for the
PFAIL pin to be operational. See the Permanent Failure section for more details.
FetPFEn: FET PermFail Enable. Set to 1 to enable Charge FET and Discharge FET open or short detection, which
registers a permanent failure, permanently turns the FETs off, and drives the PFAIL pin high. PFEn must also be set for
the FET PermFail Enable to operate.
UVRdy: Undervoltage Ready. Only use with Legacy Mode, set to 1 to use MAX17330 charging. In the undervoltage
protected state (but higher than undervoltage shutdown), this bit chooses whether or not the CHG FET remains enabled.
Configure UVRdy = 0 to keep the CHG FET and corresponding charge pumps powered during undervoltage protection.
In this state, the pack is quickly responsive to charger connection. Configure UVRdy = 1 to disable the CHG FET and
corresponding charge pumps during undervoltage protection. In this state, the consumption drops to 11μA but there is a
hibernate latency (set by nHibCfg.HibScalar) between when the charge source is applied and when the battery begins
charging.
OvrdEn: Override Enable. Set OvrdEn = 1 to enable the Alert pin to be an input to disable the protection FETs.
CmOvrdEn: Comm Override Enable. This bit when set to 1 allows the ChgOff and DisOff bits in CommStat to be set by
I2C communication to turn off the protection FETs.
See Disabling FETs by Pin-Control or I2C Command section for more details about OvrdEn and CmOvrdEn.
DeepShpEn: Set DeepShpEn = 1 to associate shutdown actions (I2C shutdown command or communication removal)
www.analog.com
Analog Devices | 69
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
with 0.5μA shutdown. All registers power down in this mode. Set DeepShpEn = 0 to continue full calculations but with
protector disabled (CHGEn = 0, DISEn = 0, pump off), operating at the 11μA consumption rate.
DeepShp2En: Set DeepShp2En = 1 to associate shutdown actions (I2C shutdown command or communication removal)
with 0.1μA shutdown. All registers power down in this mode. Set DeepShp2En = 0 to use DeepShip 1 (0.5μA or 11μA
modes). Wake up DeepShip2 by connecting a charge source.
SCTest: Set SCTest = 01 to source 30μA from BATT to PCKP to test for the presence/removal of any overload/shortcircuit at PCKP. SCTest is only used during special circumstances when DIS = off. Particularly if an overdischarge current
fault has been tripped. Because of this, the PCKP resistor must be 10kΩ or less for proper short-circuit removal detection.
Set SCTest = 00b to disable.
BlockChgEn: Enable block Chg FET from I2C for parallel charging application. Protstatus.D7 is set to 1 or 0 according
to Config.D0.
nChgAutoCtrl: CHG FET is controlled ON/OFF only. Normal applications should set nProtCfg.nChgAutoCtrl and
config.ChgAutoCtrl to 0. Set nProtCfg.nChgAutoCtrl and config.Legacy to 1 to use this function. Charge control is not
used. Ideal Diode mode is not used.
nPreQualEn: Charge the battery at prequal until Cell voltage is greater than Undervoltage Protection level.
FullEn: Full Charge Protection Enable. If the full charge protection feature is enabled, the charge FET opens when the
battery is fully charged (RepSOC reaches 100%).
ChgWDTEn: Charger WatchDog Enable. If the charger watchdog feature is enabled, the protector disallows charging
unless communication has not been detected for more than the Charger WatchDog delay that is configured in
nDelayCfg.ChgWdg.
nBattStatus Register (1A8h)
Battery Status Nonvolatile Register
The Battery Status register contains the permanent battery status information. If nProtCfg.PFen = 1, then a permanent
fail results in permanently turning the FETs off to ensure the safety of the battery.
Table 46. nBattStatus Register (1A8h) Format
D15
D14
D13
D12
D11
D10
D9
D8
PermFail
OVPF
OTPF
CFETFs
DFETFs
FETFo
BattHlth
ChksumF
D7
D6
D5
D4
D3
D2
D1
D0
Reserved
PermFail: Permanent Failure. This bit is set if any permanent failure is detected.
CFETFs: ChargeFET Failure-Short Detected. If the MAX17330 detects that the charge FET is shorted and cannot be
opened, it sets the CFETFs bit and the PermFail bit. This function is enabled with nProtCfg.FetPFEn.
DFETFs: DischargeFET Failure-Short Detected. If the MAX17330 detects that the discharge FET is shorted and cannot
be opened, it sets the DFETFs and the PermFail bit. This function is enabled with nProtCfg.FetPFEn.
FETFo: FET Failure Open. If the MAX17330 detects an open FET failure on either FET, it sets FETFo. This function is
enabled with nProtCfg.FetPFEn.
ChksumF: Checksum Failure. ChksumF protection related NVM configuration registers checksum failure. In the case of
a checksum failure, the device sets the PermFail bit but does not write it to NVM to prevent using an additional NVM
write. This allows the PermFail bit to be cleared by the host so that the INI file can be reloaded.
ProtStatus Register (0D9h)
The Protection Status register contains the Fault States of the Protection State Machine.
Table 47. ProtStatus Register (0D9h) Format
D15
D14
D13
D12
D11
D10
D9
D8
ChgWDT
TooHotC
Full
TooColdC
OVP
OCCP
Qovflw
PreqF/LDet
www.analog.com
Analog Devices | 70
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Table 47. ProtStatus Register (0D9h) Format (continued)
D7
D6
D5
D4
D3
D2
D1
D0
BlockChg
PermFail
DieHot
TooHotD
UVP
ODCP
BlockDis/TooColdD
Shdn
BlockChg: Blocks charging from either communication timeout or absence of recurring Status.BlockChg = 0 command.
BlockDis: Blocks discharging by direct I2C command (Config2.BlockDis); BlockDis auto-releases when BlockChg begins.
TooColdD: Same threshold with TooColdC. Enable this function by setting BlockDisCEn in nProtCfg register.
Shdn: A flag to indicate the Shutdown Event status to Protector module for further action on Charging/Discharging FETs,
Charge Pump, and PkSink.
PermFail: Permanent Failure Detected. See nBattStatus for details of the Permanent Failure.
Discharging Faults:
ODCP—Overdischarge current protection
UVP—Undervoltage Protection
TooHotD—Overtemperature for Discharging
DieHot—Overtemperature for die temperature
Charging Faults:
TooHotC—Overtemperature for Charging
OVP—Overvoltage
OCCP—Overcharge Current Protection
Qovrflw—Q Overflow
TooColdC—Undertemperature
Full—Full Detection
ChgWDT—Charge Watchdog Timer
DieHot—Overtemperature for Die Temperature
PreqF—Prequal timeout was detected
LDet—Leakage fault was detected
ProtAlrt Register (0AFh)
The Protection Alerts register contains a history of any protection events that have been logged by the device and is
formatted as shown in Table 48. If any bit of ProtAlrt is 1, then the Status.PA bit is also 1 if Config.PAEn = 1. Once a bit
is set, it remains set until cleared by the host. The Alert pin is driven low if Config.ProtAlrtEn = 1.
Table 48. ProtAlrt Register (0AFh) Format
D15
D14
D13
D12
D11
D10
D9
D8
ChgWDT/LDet
TooHotC
Full
TooColdC
OVP
OCCP
Qovflw
Reserved
D7
D6
D5
D4
D3
D2
D1
D0
Reserved
TempRegionChange
DieHot
TooHotD
UVP
ODCP
Reserved
Reserved
TempRegionChange: Temperature Region Change. A change in the JEITA temperature region creates this alert so that
the host is alerted to a reduction in JEITA charging voltage that can impact the charging or protection parameters.
HProtCfg2 Register (0F1h)
Register Type: Special
Nonvolatile Backup: None
The status of the discharge FET and charge FET can be monitored in the HProtCfg2 register as shown in Table 49.
www.analog.com
Analog Devices | 71
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Table 49. HProtCfg2 (0F1h) Format
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
x
x
x
x
x
x
x
x
x
x
x
x
x
x
DISs
CHGs
DISs: Discharge FET Status. DISs = 1 indicates the discharge FET is on and allows discharge current. DISs = 0
indicates the discharge FET is off and blocks discharge current.
CHGs: Charge FET Status. CHGs = 1 indicates the charge FET is on and allows charge current. CHGs = 0 indicates
the charge FET is off and blocks charge current.
X: Reserved.
FProtStat Register (0DAh)
Table 50. FProtStat Register (0DAh) format
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
X
D5
D4
IsDis
D3
X
D2
D1
D0
Hot
Cold
Warm
X: Don't Care
IsDis: Battery is in Discharging state. Cleared when charging signal is detected.
Hot: Operating in Hot JEITA region.
Cold: Operating in Cold JEITA region.
Warm: Operating in Warm JEITA region.
Other Protection Registers
nProtMiscTh Register (1D6h)
Register Type: Special
The nProtMiscTh register is shown in Table 51 and sets a few miscellaneous protection thresholds.
Table 51. nProtMiscTh Register (1D6h) Format
D15
D14
D13
QovflwTh
D12
D11
D10
D9
TooHotDischarge
D8
D7
D6
D5
CurrDet
D4
D3
D2
D1
D0
DieTempTh
DieTempTh: Sets the dietemp overtemperature protection threshold relative to 50°C and has an LSB of 5°C. DieTempTh
defines the delta between 50°C and the dietemp protection threshold. The range is 50°C and 125°C.
CurrDet: CurrDet is configurable from 25μV/RSENSE to 400μV/RSENSE in 25μV/RSENSE steps (equivalent to 2.5mA to
40mA in 2.5mA steps with a 10mΩ sense resistor). It is a threshold to detect discharging and charging events from the
device perspective. (current > CurrDet) indicates charging, (current < -CurrDet) indicates discharging.
TooHotDischarge: Sets the over-temperature protection threshold associated with discharge. TooHotDischarge has
2°C LSB's and defines the delta between Over-Temp-Charge (nTPrtTh1.T4) and Over-Temp-Discharge. The range is
nTPrtTh1.T4(TooHot) to nTPrtTh1.T4(TooHot) + 30°C.
QovflwTh: QovflwTh sets the coefficient for the Qoverflow alert threshold. Qoverflow alert threshold = designCap x
coefficient. The MAX17330 monitors the delta Q between the Q at the start of charge and the current Q. If the delta
Q exceeds the Qoverflow alert threshold, indicating that the charger has charged more than the expected capacity of
the battery, then a ProtStatus.Qovrflw fault is generated and the charge is briefly interrupted. The ProtAlrt.QOverflow bit
remains set until the host clears the bit. The coefficient is calculated as: coefficient = 1.0625 + (QovflwTh x 0.0625).
www.analog.com
Analog Devices | 72
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
ModelGauge m5 Algorithm
ModelGauge m5 EZ Registers
AVCAP/AVSOC
REPCAP/REPSOC
TEMPERATURE
MIXCAP/MIXSOC
AVGVCELL
FULLCAP
AVGCURRENT
FULLCAPREP
AVGTEMPERATURE
FULLCAPNOM
NDESIGNVOLT
VFOCV/VFSOC
NDESIGNCAP
VRIPPLE
NICHGTERM
Characterization
Table
CHARACTERIZATION
Characterization
Table
TABLES
NQRTABLES00,10,20,30
NFULLSOCTHR
NRCOMP0
NFULLCAPNOM
NVEMPTY
NTEMPCO
NIAVGEMPTY
ModelGauge m5
ALGORITHM
AGE
AGEFORECAST
CYCLES
NRIPPLECFG
NCONVGCFG
NCVCFG
NAGEFCCFC
NLEARNCFG
NFLITERCFG
NRELAXCFG
NMISCCFG
ATRATE
FULLCAPNOM
ALGORITHM
CONFIGURATION
CELL CHARACTERIZATION
INFORMATION
APPLICATION
SPECIFIC
RSLOW
TTE/TTF/AtTTE
ModelGauge ALGORITHM
OUTPUTS
VCELL
CURRENT
CYCLES
TIMERH
NQRTABLES00,10,20,30
NIAVGEMPTY
RCOMP0
TEMPCO
FULLCAPREP
LEARNED INFORMATION
ANALOG INPUTS
For accurate results, the ModelGauge m5 EZ uses information about the cell and the application as well as the realtime information measured by the IC. Figure 16 shows inputs and outputs to the algorithm grouped by category. Analog
input registers are the real-time measurements of voltage, temperature, and current performed by the IC. Applicationspecific registers are programmed by the customer to reflect the operation of the application. The Cell Characterization
Information registers hold characterization data that models the behavior of the cell over the operating range of the
application. The Algorithm Configuration registers allow the host to adjust the performance of the IC for its application.
The Learned Information registers allow an application to maintain the accuracy of the fuel gauge as the cell ages. The
register description sections describe each register function in detail.
Figure 16. ModelGauge m5 EZ Registers
ModelGauge m5 EZ Algorithm Output Registers
The following registers are outputs from the ModelGauge m5 EZ algorithm. The values in these registers become valid
480ms after the IC is reset.
www.analog.com
Analog Devices | 73
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
RepCap Register (005h)
Register Type: Capacity
Nonvolatile Backup: None
RepCap or Reported Capacity is a filtered version of the AvCap register that prevents large jumps in the reported value
caused by changes in the application such as abrupt changes in temperature or load current. See the Fuel-Gauge Empty
Compensation section for details.
RepSOC Register (006h)
Register Type: Percentage
Nonvolatile Backup: None
RepSOC is a filtered version of the AvSOC register that prevents large jumps in the reported value caused by changes
in the application such as abrupt changes in load current. RepSOC corresponds to RepCap and FullCapRep. RepSOC
is intended to be the final state of charge percentage output for use by the application. See the Fuel-Gauge Empty
Compensation section for details.
FullCapRep Register (010h)
Register Type: Capacity
Nonvolatile Backup and Restore: nFullCapRep (1A9h) or nFullCapNom (1A5h)
This register reports the full capacity that goes with RepCap, generally used for reporting to the user. A new full-capacity
value is calculated at the end of every charge cycle in the application.
TTE Register (011h)
Register Type: Time
Nonvolatile Backup: None
The TTE register holds the estimated time-to-empty for the application under present temperature and load conditions.
The TTE value is determined by dividing the AvCap register by the AvgCurrent register. The corresponding AvgCurrent
filtering gives a delay in TTE empty, but provides more stable results.
TTF Register (020h)
Register Type: Time
Nonvolatile Backup: None
The TTF register holds the estimated time-to-full for the application under present conditions. The TTF value is
determined by learning the constant current and constant voltage portions of the charge cycle based on experience of
prior charge cycles. Time-to-full is then estimated by comparing the present charge current to the charge termination
current. Operation of the TTF register assumes all charge profiles are consistent in the application. See the Typical
Operating Characteristics for sample performance.
Age Register (007h)
Register Type: Percentage
Nonvolatile Backup: None
The Age register contains a calculated percentage value of the application’s present cell capacity compared to its
expected capacity. The result can be used by the host to gauge the battery pack health as compared to a new pack of
the same type. The equation for the register output is:
Age Register = 100% x (FullCapNom register/DesignCap register)
Cycles Register (017h) and nCycles (1A4h)
Register Type: Special
Nonvolatile Backup and Restore: nCycles (1A4h)
www.analog.com
Analog Devices | 74
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
The Cycles register maintains a total count of the number of charge/discharge cycles of the cell that have occurred. The
result is stored as a percentage of a full cycle. For example, a full charge/discharge cycle results in the Cycles register
incrementing by 100%. The Cycles register has a full range of 0 to 16383 cycles with a 25% LSb. Cycles is periodically
saved to nCycles to provide a long-term nonvolatile cycle count.
Table 52. nCycles Register (1A4h) Format
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
CycleCount (Cycles register 4000
> 2000
CAPACITY
RESOLUTION
(mAh)
MAXIMUM
CAPACITY
(mAh)
1
0064h
1562.5
2
00C8h
781.25
±51.2
5
144360
±25.6
2.5
71680
> 800
5
01F4h
312.5
±10.24
1
28672
> 400
10
03E8h
156.25
±5.12
0.5
14336
> 200
20
07D0h
78.125
±2.56
0.25
7168
> 80
50
1388h
31.25
±1.02
0.1
2867
> 40
100
2710h
15.625
±0.51
0.05
1433
AvgCurrent Register (01Dh)
Register Type: Current
www.analog.com
Analog Devices | 115
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Nonvolatile Backup: None
The AvgCurrent register reports an average of Current register readings over a configurable 0.7 second to 6.4 hour time
period. See the FilterCfg register description for details on setting the time filter. The first Current register reading after
returning to active mode sets the starting point of the AvgCurrent filter.
MaxMinCurr Register (00Ah)
Register Type: Special
Nonvolatile Backup: Periodically saves to nMaxMinCurr (1ABh) if nNVCfg2.enMMC is set, but does not restore from
nonvolatile memory.
Alternate Initial Value: 0x807F
The MaxMinCurr register maintains the maximum and minimum Current register values since the last IC reset or until
cleared by host software. Each time the Current register updates, it is compared against these values. If the reading is
larger than the maximum or less than the minimum, the corresponding value is replaced with the new reading. At powerup, the maximum current value is set to 80h (the minimum) and the minimum current value is set to 7Fh (the maximum).
Therefore, both values are changed to the Current register reading after the first update. The host software can reset
this register by writing it to its power-up value of 0x807F. The maximum and minimum voltages are each stored as two’s
complement 8-bit values with 0.4mV/RSENSE resolution. Table 92 shows the register format.
Table 92. MaxMinCurr (00Ah)/nMaxMinCurr (1ABh) Register Format
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
MaxCurrent
D4
D3
D2
D1
D0
MinCurrent
MaxCurrent: Maximum Current register reading (0.40mV/RSENSE resolution)
MinCurrent: Minimum Current register reading (0.40mV/RSENSE resolution)
MaxMinCurr is not cumulative across the entire battery lifetime. After each periodic nonvolatile-memory save,
MaxMinCurr resets to 0x807F to find the next maximum and minimum current across the next segment of battery life.
This behavior helps provide a useful log across the battery lifetime where each log segment shows the maximum and
minimum current experienced across only that segment.
nCGain Register (1C8h)
Register Type: Special
The nCGain register adjusts the gain and offset of the current measurement result. The current measurement A/D is
factory trimmed to data sheet accuracy without the need for the user to make further adjustments. The recommended
default for the nCGain register is 0x4000 which applies no adjustments to the Current register reading.
For specific application requirements, the CGain and COff values can be used to adjust readings as follows:
Current register = (current A/D reading × (CGain / 256)) + COff
CGain and COff are combined into a single register formatted as shown in Table 93.
Table 93. nCGain Register (1C8h) Format
D15
D14
D13
D12
D11
D10
D9
CGain
D8
D7
D6
D5
D4
D3
D2
D1
D0
COff
COff: COff has a range of -32 to +31 LSbs. However, it is normally not recommended to calibrate COff. COff = 0 is
recommended for most applications.
CGain: The recommended default value of CGain = 0x100 corresponds to a gain of 1. CGain can be calculated as
follows: CGain = ((MeasuredCurrent/ReportedCurrent) x 0x0100). CGain is a signed value and can be negative.
CGTempCo (0B8h)/nCGTempCo (0x1C9) Register
Register Type: Special
Alternate Initial Value: 0x20C8
www.analog.com
Analog Devices | 116
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
If Config.FastADCen= 0 and nNVCfg1.enMet = 1, then CGTempCo is used to adjust current measurements for
temperature. CGTempCo has a range of 0% to 3.1224% per °C with a step size of 3.1224/0x10000 percent per °C.
If the nNVCfg1.enMtl bit is clear, CGTempCo defaults to a value of 0x20C8 or 0.4% per °C which is the approximate
temperature coefficient of a copper trace. If the nNVCfg1.enMtl bit is set, CGTempCo restores from nCGTempCo (1C9h)
after IC reset allowing a custom sense resistor temperature coefficient to be used. Note that Config.FastADCen and
nNVCfg1.enMet cannot be enabled simultaneously.
Copper Trace Current Sensing
The MAX17330 can measure current using a copper board trace instead of a traditional sense resistor, the main
difference being the ability to adjust to the change in sense resistance over temperature. To enable copper trace
current sensing, set the following configuration bits nNVCfg1.enADCCfg = 0 and nNVCfg2.enMet = 1. The IC's default
temperature adjustment is 0.4% per °C but can be adjusted using the nCGTempCo/nADCCfg register if nNVCfg1.enMtl =
1. Note that copper trace current sensing cannot be enabled at the same time as custom ADC Configuration. For 1-ounce
copper, a length-to-width ratio of 6:1 creates a 0.0035Ω sense resistor which is suitable for most applications. Table 94
summarizes the IC setting for copper trace sensing.
Table 94. Copper Trace Sensing
PARAMETER
SETTING
nNVCfg1.enADCCfg
0
ADC Configuration defaulted.
RESULT
nNVCfg1.enMet
1
Sense resistor temperature compensation enabled.
nNVCfg2.enMlt
0
Sense resistor temperature compensation set to default of 0.4% per °C (typical copper).
nRense
0x012C
RSENSE Size
6:1
Sense resistor indicator to host software set to 3.5mΩ.
A 6:1 length-to-width ratio of 1oz copper gives a resistance of 3.5mΩ.
MinCurr Register (0AEh)
Register Type: Current
Nonvolatile Backup: None
The MinCurr register maintains the minimum discharge Current register value within a 45-second period or until cleared
by the host software. Each time the Current register updates, it is compared against its value. If the reading is less than
the minimum, the corresponding value is replaced with the new reading. At power-up, MinCurr value is set to 0 (maximum
discharge current). Therefore, the value is changed to the Current register reading after the first update during discharge.
The host software can reset this register by writing it to its power-up value of 0. LSB is 1.5625μV/RSENSE.
Temperature Measurement
The IC can be configured to measure its own internal die temperature and an external NTC thermistor. See the nPackCfg
register for details.
Every 1.4s the IC biases the external thermistor with an internal trimmed pullup. After the pullup is enabled, the IC
waits for a settling period of tPRE before making measurements on the TH pin. Measurement results are converted to a
ratiometric value from 0% to 100%. The active pullup is disabled when temperature measurements are complete. This
feature limits the time the external resistor-divider network is active and lowers the total amount of energy used by the
system.
The ratiometric results are converted to temperature using logarithmic thermistor resistance translation each time the
TH pin is measured. Internal die temperature measurements are factory calibrated and are not affected by nThermCfg
register settings. Proper nThermCfg configuration is needed to achieve thermistor accuracy from -40ºC to +85ºC.
Additionally, the IC maintains a record of the minimum and maximum temperature measured and an average
temperature over a time period defined by the host.
Temperature Measurement Timing
Temperature measurement channels are individually enabled using the nPackCfg register. A/D measurement order and
firmware post-processing determine when a valid reading becomes available to the user. In addition, not all channels are
measured each time through the firmware task loop. Selection options for enabled channels create a large number of
www.analog.com
Analog Devices | 117
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
possible timing options. Table 95 shows the timing for all temperature measurements made by the IC for some typical
pack configurations. All times in this table are considered typical.
Table 95. Temperature Measurement Timing
nPackCfg
SETTING
APPLICATION
Die Temperature
Only
Die Temperature
and Thermistor
nPackCfg.A1En
=0
nPackCfg.A1En
=1
FIRST UPDATE
AFTER RESET
REGISTER
Temp, IntTemp,
AvgIntTemp
UPDATE RATE IN
ACTIVE MODE1
UPDATE RATE IN
HIBERNATE MODE2
351ms
550ms
AvgTA
1.4s
351ms
IntTemp, Temp1,
Temp,
AvgIntTemp,
AvgTemp1
550ms
AvgTA
1406ms
5.625s
351ms
1.4s
1. Not all registers update at the same time. Updates are staggered to one channel per task period. Update order is
IntTemp and Temp.
2. Hibernate mode update times assume the recommended nHibCfg.HibScalar setting of four task periods.
Temp Register (01Bh)
Register Type: Temperature
Nonvolatile Backup: None
The Temp register is the input to the fuel gauge algorithm. The Temp register reflects the thermistor or die temperature
as configured in nPackCfg.
AvgTA Register (016h)
Register Type: Temperature
Nonvolatile Backup: None
The AvgTA register reports an average of the readings from the Temp register. Averaging period is configurable from 6
minutes up to 12 hours as set by the FilterCfg register. The first Temp register reading after returning to active mode sets
the starting point of the averaging filters.
MaxMinTemp Register (009h)
Register Type: Special
Nonvolatile Backup: Periodically saves to nMaxMinTemp (1ADh) if nNVCfg2.enMMT is set, but does not restore from
nonvolatile memory.
Alternate Initial Value: 0x807F
The MaxMinTemp register maintains the maximum and minimum Temp register (008h) values since the last fuel-gauge
reset or until cleared by host software. It is compared against these values each time the Temp register updates. If
the reading is larger than the maximum or less than the minimum, the corresponding values are replaced with the new
reading. At power-up, the maximum value is set to 80h (minimum) and the minimum value is set to 7Fh (maximum).
Therefore, both values are changed to the Temp register reading after the first update. Host software can reset this
register by writing it to its power-up value of 0x807F. The maximum and minimum temperatures are each stored as two’s
complement 8-bit values with 1°C resolution. Table 96 shows the format of the register.
Table 96. MaxMinTemp (009h)/nMaxMinTemp (1ADh) Register Format
D15
D14
D13
D12
D11
D10
D9
D8
D7
MaxTemperature
D6
D5
D4
D3
D2
D1
D0
MinTemperature
MaxTemperature: Maximum Temp register reading (1ºC resolution)
MinTemperature: Minimum Temp register reading (1ºC resolution)
www.analog.com
Analog Devices | 118
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
MaxMinTemp is not cumulative across the entire battery lifetime. After each periodic nonvolatile memory save,
MaxMinTemp resets to 0x807F to find the next maximum and minimum temperatures across the next segment of battery
life. This behavior helps provide a useful log across the battery lifetime where each log segment shows the maximum
and minimum temperature experienced across only that segment.
nThermCfg Register (1CAh)
Factory Default Value: 71BEh
External NTC thermistors generate a temperature-related voltage measured at the TH/TH2 pins. Set nThermCfg register
to compensate the thermistor for accurate translation of temperature.
Table 97 lists common NTC thermistors with their associated Beta value and the nThermCfg value. The thermistors in
the table translate within ±1°C from -40°C to +85°C. For other thermistors, use the equation in Table 97 to translate within
±2.5°C.
Table 97. Register Settings for Common Thermistor Types
R25C(kΩ)
BETA
at 25°C to 85°C
nThermCfg
Murata NCP15XH103F03RC
10
3435
71E8h
Semitec 103AT-2
10
3435
91C3h
TDK B57560G1103 7003
10
3610
5183h
Murata NCU15WF104F6SRC
100
4250
48EBh
NTC TH11-4H104F
100
4510
08D9h
TDK NTCG064EF104FTBX
100
4225
58EFh
THERMISTOR
Other 10K
10
nThermCfg = 7000h + (3245919/Beta1 - 512)
Other 100K
100
nThermCfg = 3000h + (3245919/Beta1 - 512)
1. Use Beta 25°C to 85°C.
DieTemp (034h) Register
Register Type: Temperature
Nonvolatile Backup: None
This register displays temperature in degrees Celsius, ±128ºC, or 1ºC in the high-byte, or 1/256ºC LSB.
AvgDieTemp (040h) Register
Register Type: Temperature
Nonvolatile Backup: None
The AvgDieTemp register reports a 4-sample filtered average of the DieTemp register.
FETTemp (015h) Register
Register Type: Temperature
Nonvolatile Backup: None
This register displays FET temperature in degrees Celsius, ±128ºC, or 1ºC in the high-byte, or 1/256ºC LSB.
FETTemp is used during charge regulation to regulate/limit the FET temperature during charging.
When a second thermistor is not installed and enabled, FETTemp simply equals DieTemp, and DieTemp is used as an
approximation for FET temperature.
When a second thermistor is installed, FETTemp is calculated by the temperature measured at TH2 and exaggerated
according to the thermal gradient observed between TH2 and DieTemp. The gradient helps estimate the "unseen
temperature" inside the FET (which is always hotter than any directly measurable temperature) according to the following
equation:
FETTemp = TH2_Temp + (TH2_Temp - DieTemp) x FetTheta
www.analog.com
Analog Devices | 119
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
The FetTheta range is 0 to 4.0 with 0.125 steps.
See also the nChgCfg1 and nPackCfg for more details to enable and configure the FET thermistor.
Power
Power Register (0B1h)
Instant power calculation from immediate current and voltage. LSB is 0.8mW with a 10mΩ sense resistor.
AvgPower Register (0B3h)
Filtered Average Power from the power register. LSB is 0.8mW with a 10mΩ sense resistor. Filter bits located in
Config2.POWR.
nADCCfg Register (1C9h)
Register Type: Special
Nonvolatile Restore: There is no associated restore location for this register.
Set Config.FastADCen = 1 and nNVCfg2.enMet = 0, to use nADCCfg to set the the ADC for longer samples which reduce
sample noise at the expense of quiescent current.
Table 98. nADCCfg (0x1C9) Format
D15
D14
D13
D12
D11
D10
TermEn
ChgTermEn
0
1
0
0
D9
D8
D7
nTerm
D6
D5
D4
D3
D2
D1
D0
0
0
0
0
0
0
0
Default value: 0x5188
Standard configuration for ADC averaging count select is fixed 4ms. With nADCCfg settings, longer than 4ms ADC
conversions are possible and result in less noisy ADC readings.
Default value for nADCCfg reduces VCell noise by 4x (64ms), PCKP/Temp noise by 3x (32ms)
ChgTermEn: ADC Changes are only enabled during charging. Current consumption is not sensitive while the charge
source is present. ADC behavior is returned back to 4ms sampling when the charge source is removed.
TermEn: ADC Changes are always on. This has significant current consumption impact and is not recommended.
nTerm: ADC averaging count select.
(0, 1, 2, 3, 4, 5, 6, or 7) setting of nMaxTerm/nTerm corresponds to (4, 8, 16, 32, 64, 128, 256, or 512)ms per ADC
channel conversion, respectively.
256ms, 512ms choices are not recommended to avoid timekeeping issues.
Status and Configuration Registers
The following registers control IC operation not related to the fuel gauge such as power-saving modes, nonvolatile
backup, and ALRT pin functionality.
DevName Register (021h)
Register Type: Special
Nonvolatile Backup: None
The DevName register holds firmware revision information. This allows the host software to easily identify the type of IC
being communicated with. Table 99 shows the DevName register format.
Table 99. DevName Register (021h) Format
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
Revision
The DevName for the IC is 0x40B0 or 0x40B1.
www.analog.com
Analog Devices | 120
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
nROMID0 (1BCh)/nROMID1 (1BDh)/nROMID2 (1BEh)/nROMID3 (1BFh) Registers
Register Type: Special
Nonvolatile Restore: There are no associated restore locations for these registers.
Each MAX17330 IC contains a unique 64-bit identification value that is contained in the nROMID registers. The unique
ID can be reconstructed from the nROMID registers as shown in Table 100.
Table 100. nROMID Registers (1BCh to 1BFh) Format
NROMID3[15:0]
NROMID2[15:0]
NROMID1[15:0]
NROMID0[15:0]
ROM ID [63:48]
ROM ID [47:32]
ROM ID [31:16]
ROM ID [15:0]
Status Register (000h)
Register Type: Special
Nonvolatile Backup: None
Initial Value: 0x0002
The Status register maintains all flags related to alert thresholds. Table 101 shows the Status register format.
Table 101. Status Register (000h) Format
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
PA
Smx
Tmx
Vmx
CA
Smn
Tmn
Vmn
dSOCi
Imx
AllowChgB
X
Bst
Imn
POR
X
POR: Power-On Reset. This bit is set to 1 when the device detects that a software or hardware POR event has occurred.
This bit must be cleared by the system software to detect the next POR event. POR is set to 1 at power-up.
Imn: Minimum Current Alert Threshold Exceeded. This bit is set to 1 whenever a Current register reading is below the
minimum IAlrtTh value. This bit is cleared automatically when Current rises above minimum IAlrtTh value. Imn is set to 0
at power-up.
Bst: Battery Status. Useful when the IC is used in a host-side application. This bit is set to 0 when a battery is present in
the system and set to 1 when the battery is absent. Bst is set to 0 at power-up.
Imx: Maximum Current Alert Threshold Exceeded. This bit is set to 1 whenever a Current register reading is above the
maximum IAlrtTh value. This bit is cleared automatically when Current falls below the maximum IAlrtTh value. Imx is set
to 0 at power-up.
dSOCi: State of Charge 1% Change Alert. This is set to 1 whenever the RepSOC register crosses an integer percentage
boundary such as 50%, 51%, etc. Must be cleared by the host software. dSOCi is set to 0 at power-up.
Vmn: Minimum Voltage Alert Threshold Exceeded. This bit is set to 1 whenever a VCell register reading is below the
minimum VAlrtTh value. This bit may or may not need to be cleared by system software to detect the next event. See the
Config.VS bit description. Vmn is set to 0 at power-up.
Tmn: Minimum Temperature Alert Threshold Exceeded. This bit is set to 1 whenever a Temperature register reading is
below the minimum TAlrtTh value. This bit may or may not need to be cleared by system software to detect the next
event. See the Config.TS bit description. Tmn is set to 0 at power-up.
Smn: Minimum SOC Alert Threshold Exceeded. This bit is set to 1 whenever SOC falls below the minimum SAlrtTh
value. This bit may or may not need to be cleared by system software to detect the next event. See the Config.SS and
MiscCFG.SACFG bit descriptions. Smn is set to 0 at power-up.
Vmx: Maximum Voltage Alert Threshold Exceeded. This bit is set to 1 whenever a VCell register reading is above the
maximum VAlrtTh value. This bit may or may not need to be cleared by the system software to detect the next event.
See the Config.VS bit description. Vmx is set to 0 at power-up.
Tmx: Maximum Temperature Alert Threshold Exceeded. This bit is set to 1 whenever a Temperature register reading is
above the maximum TAlrtTh value. This bit may or may not need to be cleared by the system software to detect the next
event. See the Config.TS bit description. Tmx is set to 0 at power-up.
Smx: Maximum SOC Alert Threshold Exceeded. This bit is set to 1 whenever SOC rises above the maximum SAlrtTh
value. This bit may or may not need to be cleared by the system software to detect the next event. See the Config.SS
www.analog.com
Analog Devices | 121
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
and MiscCFG.SACFG bit descriptions. Smx is set to 0 at power-up.
PA: Protection Alert. This bit is set to a 1 when there is a protection event. The details of each protection event can
be found in the ProtAlrt register. This bit must be cleared by the system software to detect the next protection event.
However, before clearing this bit, the ProtAlrt register must first be written to 0x0000. ProtAlrt is set to 0 at power-up.
CA: Charging Alert. This bit is set to a 1 when there is a CP or CT or Dropout event. The details of each charging event
can be found in the Chgstat register. This bit must be cleared by the system software to detect the next event. Chgstat
updates every 351ms and does not require interaction from the system software to clear it.
AllowChgB: Allow Charge Bar. The AllowChgB bit is used for managing the charging or discharging of multiple batteries
in parallel and is enabled by setting nPackCfg.ParEn = 1. Clear this bit to 0 to allow charging as well as block discharging
when Config2.BlockDis = 1. This bit must be cleared every 1.4 seconds for continuous charging or continuous discharge
blocking.
X: Don’t Care. This bit is undefined and can be logic 0 or 1.
Status2 Register (0B0h)
Register Type: Special
Nonvolatile Backup: None
Initial Value: 0x0000
The Status2 register maintains status of hibernate mode. Table 102 shows the Status register format.
Table 102. Status2 Register (0B0h) Format
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Hib
x
Hib: Hibernate Status. This bit is set to 1 when the device is in hibernate mode or 0 when the device is in active mode.
Hib is set to 0 at power-up.
X: Don’t Care. This bit is undefined and can be logic 0 or 1.
nI2CCfg Register (1B4h)
Register Type: Special
Nonvolatile Restore: There is no associated restore location for this register.
The nI2CCfg register manages settings for I2C and SBS mode operation of the IC. Table 103 shows the register format.
Table 103. nI2CCfg Register (1B4h) Format
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
CapMd
X
X
X
X
X
X
X
X
X
SDA_OUT
DIS_SLT
WPen
D1
MECfg
D0
X
X: Don’t Care. This bit is undefined and can be logic 0 or 1.
WPen: Write Protection Enable. WPen = 0 (Default) to enable write protection.
DIS_SLT: Disable Slave Timeout. DIS_SLT = 0 to enable slave timeout where slave stops communicating and drops off
the bus after 30mS of SCL low duration. DIS_SLT = 1 (Default) to disable the slave timeout.
SDA_OUT: Enable SDA output to PFail pin. Set SDA_OUT = 1 to enable PFAIL pin to become open-drain for SDA and
SDA pin is input only. SDA pin is bi-drectional when SDA_OUT is 0 (Default).
MECfg: Configures sMaxError register output when operating in SBS mode.
00: Always report 0% error
01: Always report 1% error
10: Report actual experienced error
11: Always report 3% error
CapMd: Selects sBatteryMode.CapMd bit default setting when operating in SBS mode. CapMd resets to 0 every time a
www.analog.com
Analog Devices | 122
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
pack removal occurs as detected by floating communication lines.
nPackCfg Register(1B5h)
Register Type: Special
The nPackCfg register configures the voltage and temperature inputs to the A/D and also to the fuel gauge. nPackCfg
configuration must match the pack hardware for proper operation of the IC. Table 104 shows the register format. The
factory default for nPackCfg is 0x1000.
Table 104. nPackCfg (1B5h) Register Format
D15
D14
0
S_Hib
D13
D12
THCfg
D11
D10
THType
D9
D8
000
D7
D6
0
ParEn
D5
D4
D3
D2
I2CSid
D1
D0
0001
I2CSid Configure the I2C address and SMBus address with this bit field. For dynamic changes to the I2C address, see
I2CCmd Register.
Table 105. I2C Address Configuration
I2CSID
PRIMARY ADDRESS
SECONDARY ADDRESS
0b00
6Ch
16h
0b01
ECh
96h
0b10
64h
1Eh
0b11
E4h
9Eh
ParEn: Enable parallel charging feature. See Parallel Battery Management section for details.
THType: If using a 10kΩ NTC thermistor, set THType = 0. If using a 100kΩ NTC thermistor, set THType = 1. See
nThermCfg for additional details.
THCfg: THCfg sets the Thermistor behavior. Note TH2 is only available when ZVC is not used.
Table 106. Thermistor Configuration
THCFG
BEHAVIOR
0b00
Both thermistors channels disabled. Temp and FETTemp are measured from DieTemp.
0b01
Thermistor 1 is used as battery temperature, Thermistor 2 is used with DieTemp for calculating FETTemp.
0b10
Thermistor 1 is enabled. FETTemp is copied from DieTemp.
0b11
Invalid. Do not set.
S_Hib: Ship-Mode Hibernate. Set S_Hib = 1 to use hibernate operation during ship-mode. Set S_Hib = 0 for full-shutdown
during ship-mode (0.5μA or 0.1μA, see nProtCfg). In Hibernate mode, the fuel gauge functionality is active and the battery
state is continually updated.
I2CCmd Register(12Bh)
Register Type: Special
The I2CCmd register changes the primary and secondary slave addresses of MAX17330. To change the slave ID,
configure the Alert pin to a logic HIGH or LOW, write the target GoToSID and IncSID bits, and wait 1.4s. Table 107 shows
the register format. If the Alert pin is logic HIGH, the I2C addresses of the device change to the addresses listed in the
ALERT HIGH column of Table 108. If the Alert pin is logic LOW, the I2C addresses of the device change to the addresses
listed in the ALERT LOW column of Table 108. If multiple MAX17330 devices are sharing the same I2C bus, the Alert pin
on one device should be set to logic LOW and the others set to logic HIGH, allowing the devices to move to different I2C
slave addresses.
Table 107. I2CCmd (12Bh) Register Format
D15
D14
D13
D12
D11
0
www.analog.com
D10
D9
D8
D7
D6
D5
D4
GoToSID
D3
D2
0
D1
D0
IncSID
Analog Devices | 123
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
GoToSID: Configure the primary I2C slave address and secondary slave address with this bit field. The primary slave
address applies to all registers with a leading "0" in the register address, for example, 022h. The secondary slave address
applies to all registers with a leading "1" in the register address, for example, 1AAh. Note: The addresses shown in Table
108 are 8-bit slave addresses.
Table 108. GoToSID Address Configuration
GoToSID
ALERT HIGH
ALERT LOW
—
Primary/Secondary Address
Primary/Secondary Address
0b00
ECh/96h
6Ch/16h
0b01
64h/1Eh
ECh/96h
0b10
E4h/9Eh
64h/1Eh
0b11
6Ch/16h
E4h/9Eh
IncSID: Set to 1 to incremement the Slave ID as defined in the GoTOSID bitfield.
nConfig Register (1B0h)
Register Type: Special
Nonvolatile Restore: Config (00Bh) and Config2 (0ABh) if nNVCfg0.enCfg is set.
Alternate Initial Value: 0x2214 for Config, 0x2058 for Config2
The nConfig register holds all shutdown enable, alert enable, and temperature enable control bits. Writing a bit location
enables the corresponding function within one task period. Table 109, Table 110, and Table 111 show the register
formats.
Table 109. nConfig Register (1B0h) Format
D15
D14
D13
D12
D11
D10
D9
D8
PAen
SS
TS
VS
0
PBen
DisBlockRead
0
D7
D6
D5
D4
D3
D2
D1
D0
AtRateEn
COMMSH
FastADCen
1
FTHRM
Aen
dSOCen
TAlrtEn
Table 110. Config Register (00Bh) Format
D15
D14
D13
D12
D11
D10
D9
D8
0
SS
TS
VS
0
PBen
DisBlockRead
ChgAutoCtrl
D7
D6
D5
D4
D3
D2
D1
D0
SHIP
COMMSH
FastADCen
ETHRM
FTHRM
Aen
CAen
PAen
Table 111. Config2 Register (0ABh) Format
D15
D14
D13
D12
POR_CMD
0
AtRtEn
0
D7
D6
D5
D4
dSOCen
TAlrtEn
0
1
D11
D10
D9
D8
POWR
D3
D2
DRCfg
D1
D0
CPMode
BlockDis
0: Bit must be written 0. Do not write 1.
1: Bit must be written 1. Do not write 0.
BlockDis: Block Discharge. The BlockDis bit is used for managing the discharging of multiple batteries in parallel and is
enabled by setting nPackCfg.ParEn = 1. Set to 1 and clear Status.BlockChg to enable blocking of discharge current. See
Parallel management for more detail.
PAen: Protection Alert Enable. Set PAen = 1 to enable this feature that saves the protector faults (TooHotC, TooColdC,
OVP, OCCP, DieHot, TooHotD, UVP, ODCP, and LDet) into the low byte of the nBattStatus register. After each life
logging write to NVM, the low byte of nBattStatus is cleared.
www.analog.com
Analog Devices | 124
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
CAen: Charge alerts enable. Set CAen = 1 to drive the ALRT pin low on dropout or heat limit alerts. Config.Aen must be
set to 1 to allow this function.
PBEn: PushButton enable. Set PBEn = 1 to enable wakeup by pushbutton. This application allows a gadget to be
completely sealed with the battery disconnected until a shared system button is pressed.
DisBlockRead: Disable SBS Block Read. Set DisBlockRead to 1 for normal read access in the 16h memory space. Clear
DisBlockRead to 0 to enable SBS block reads when SBS Mode is enabled with nNVCfg0.SBSen. The default setting for
DisBlockRead is 1.
Aen: Enable alert on fuel-gauge outputs. When Aen = 1, violation of any of the alert threshold register values by
temperature, voltage, or SOC triggers an alert. This bit affects the ALRT pin operation only. The Smx, Smn, Tmx, Tmn,
Vmx, Vmn, Imx, and Imn bits of the Status register (000h) are not disabled. Note that if this bit is set to 1, the ALSH bit
should be set to 0 to prevent an alert condition from causing the device to enter shutdown mode.
FTHRM: Force Thermistor Bias Switch. This allows the host to control the bias of the thermistor switch or enable
fast detection of battery removal. Set FTHRM = 1 to always enable the thermistor bias switch. With a standard 10kΩ
thermistor, this adds an additional ~200μA to the current drain of the circuit.
ETHRM: Enable Thermistor. Set to logic 1 to enable the automatic TH output bias and TH measurement.
FastADCen: Enable FastADC. Set to logic 1 to enable the FastADC feature.
COMMSH: Communication Shutdown. Set to logic 1 to force the device to enter shutdown mode if both SDA and SCL
are held low. This also configures the device to wake up on a rising edge of any communication. See Table 9.
SHIP: Ship or Deepship Command. Write this bit to logic 1 to force into ship or deepship mode based on
nProtCfg.DeepShpEn after timeout of the Shutdown Timer register, which is configured in nDelayCfg.UVPTimer. SHIP is
reset to 0 at power-up and upon exiting ship or deepship mode.
VS: Voltage ALRT Sticky. When VS = 1, voltage alerts can only be cleared through software. When VS = 0, voltage alerts
are cleared automatically when the threshold is no longer exceeded.
TS: Temperature ALRT Sticky. When TS = 1, temperature alerts can only be cleared through software. When TS = 0,
temperature alerts are cleared automatically when the threshold is no longer exceeded.
SS: SOC ALRT Sticky. When SS = 1, SOC alerts can only be cleared through software. When SS = 0, SOC alerts are
cleared automatically when the threshold is no longer exceeded.
ChgAutoCtrl: CHG FET is controlled ON/OFF only. Normal applications should set nProtCfg.nChgAutoCtrl and
config.Legacy to 0. Set nProtCfg.nChgAutoCtrl and config.ChgAutoCtrl to 1 to use this function. Charge control is not
used. Ideal diode mode is not used.
POR_CMD: Firmware Restart. Set this bit to 1 to restart IC firmware operation without performing a recall of nonvolatile
memory into RAM. This allows different IC configurations to be tested without changing nonvolatile memory settings. This
bit is set to 0 at power-up and automatically clears itself after firmware restart.
TAlrten: Temperature Alert Enable. Set this bit to 1 to enable temperature based alerts. Write this bit to 0 to disable
temperature alerts. This bit is set to 1 at power-up.
dSOCen: SOC Change Alert Enable. Set this bit to 1 to enable the Status.dSOCi bit function. Write this bit to 0 to disable
the Status.dSOCi bit. This bit is set to 0 at power-up.
CPMode: Constant-power mode. Set to 1 to enable constant-power mode.
DRCfg: Deep Relax Time Configuration. 0b00 for 0.8 hours to 1.6 hours, 0b01 for 1.6 hours to 3.2 hours, 0b10 hours for
3.2 hours to 6.4 hours, and 0b11 hours for 6.4 hours to 12.8 hours.
POWR: Sets the time constant for the AvgPower register. The default POR value of 0000b gives a time constant of 0.7s.
The equation setting the period is:
AvgPower time constant = 45s x 2(POWR-6)
nHibCfg Register (1BBh)
Register Type: Special
Nonvolatile Restore: None
www.analog.com
Analog Devices | 125
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
The nHibCfg register controls hibernate mode functionality. The IC enters hibernate mode if the measured system current
falls below the HibThreshold setting for longer than the HibEnterTime delay. While in hibernate mode, the IC reduces
its operating current by slowing down its task period as defined by the HibScalar setting. The IC automatically returns
to active mode of operation if current readings go above the HibThreshold setting for longer than the HibExitTime delay.
Table 112 shows the register format.
Table 112. nHibCfg Register (1BBh) Format
D15
D14
EnHib
D13
D12
D11
HibEnterTime
D10
D9
D8
HibThreshold
D7
D6
D5
0
0
0
D4
D3
D2
HibExitTime
D1
D0
HibScalar
0: Bit must be written 0. Do not write 1.
HibScalar: Sets the task period while in hibernate mode based on the following equation:
Hibernate Mode Task Period(s) = 702ms x 2(HibScalar)
HibExitTime: Sets the required time period of consecutive current readings above the HibThreshold value before the IC
exits hibernate mode and returns to active mode of operation.
Hibernate Mode Exit Time(s) = (HibExitTime + 1) x 702ms x 2(HibScalar)
HibThreshold: Sets the threshold level for entering or exiting hibernate mode. The threshold is calculated as a fraction
of the full capacity of the cell using the following equation:
Hibernate Mode Threshold(mA) = ( FullCap(mAh)/0.8 hours )/2(HibThreshold)
HibEnterTime: Sets the time period that consecutive current readings must remain below the HibThreshold value before
the IC enters hibernate mode as defined by the following equation. The default HibEnterTime value of 000b causes the
IC to enter hibernate mode if all current readings are below the HibThreshold for a period of 5.625 seconds, but the IC
could enter hibernate mode as quickly as 2.812 seconds.
2.812s x 2(HibEnterTime) < Hibernate Mode Entry Time < 2.812s x 2(HibEnterTime + 1)
EnHib: Enable Hibernate Mode. When set to 1, the IC enters hibernate mode if conditions are met. When set to 0, the
IC always remains in active mode of operation.
nRSense Register (1CFh)
Register Type: Special
Nonvolatile Restore: There is no associated restore location for this register.
The nRSense register is the designated location to store the sense resistor value used by the application. This value is
not used by the IC as all current and capacity information is reported in terms of μV and μVh. Host software can use
the nRSense register value to convert current and capacity information into mA and mAh. It is recommended that the
sense resistor value be stored with a LSb weight of 10μΩ, which gives a range of 10μΩ to 655.35mΩ. Table 113 shows
recommended register settings based on common sense resistor values.
Table 113. Recommended nRSense Register Values for Common Sense Resistors
SENSE RESISTOR (Ω)
nRSENSE REGISTER
0.005
0x01F4
0.010
0x03E8
0.020
0x07D0
nDesignVoltage Register (1E3h)
Register Type: Special
Nonvolatile Restore: There is no associated restore location for this register.
Table 114. nDesignVoltage Register (1E3h) Format
D15
D14
D13
D12
Vminsys
www.analog.com
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
Vdesign
Analog Devices | 126
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Vminsys: (unsigned byte) = Minimum system voltage specification for the design. Generates MinSysVoltage value.
Vdesign: (unsigned byte) = Design voltage specification for the design.
Each byte has a LSB = 20mV (resolution) giving a full-scale range between 0V and 5.12V.
These values are used in Dynamic Power Calculations when enDP = 1.
AtRate Functionality
The AtRate function allows the host software to see theoretical remaining time or capacity for any given load current.
AtRate can be used for power management by limiting system loads depending on the present conditions of the cell
pack. Whenever the AtRate register is programmed to a negative value indicating a hypothetical discharge current,
the AtQResidual, AtTTE, AtAvSOC, and AtAvCap registers display theoretical residual capacity, time-to-empty, stateof-charge, and available capacity respectively. The host software should wait two full task periods (703ms minimum in
active mode) after writing the AtRate register before reading any of the result registers.
AtRate Register (004h)
Register Type: Current
Nonvolatile Backup: None
The host software should write the AtRate register with a negative two’s-complement 16-bit value of a theoretical load
current prior to reading any of the AtRate output registers.
AtQResidual Register (0DCh)
Register Type: Capacity
Nonvolatile Backup: None
The AtQResidual register displays the residual charge held by the cell at the theoretical load current level entered into
the AtRate register.
AtTTE Register (0DDh)
Register Type: Time
Nonvolatile Backup: None
The AtTTE register can be used to estimate time-to-empty for any theoretical current load entered into the AtRate
register. The AtTTE register displays the estimated time-to-empty for the application by dividing AtAvCap by the AtRate
register value.
AtAvSOC Register (0CEh)
Register Type: Percentage
Nonvolatile Backup: None
The AtAvSOC register holds the theoretical state-of-charge of the cell based on the theoretical current load of the AtRate
register. The register value is stored as a percentage with a resolution of 0.0039% per LSB. If a 1% resolution state-ofcharge value is desired, the host can read only the upper byte of the register instead.
AtAvCap Register (0DFh)
Register Type: Capacity
Nonvolatile Backup: None
The AtAvCap register holds the estimated remaining capacity of the cell based on the theoretical load current value of
the AtRate register. The value is stored in terms of µVh and must be divided by the application sense-resistor value in
terms of mΩ to determine the remaining capacity in mAh.
Alert Function
The Alert Threshold registers allow interrupts to be generated by detecting a high or low voltage, current, temperature, or
state-of-charge. Interrupts are generated on the ALRT pin open-drain output driver. An external pullup resistor is required
www.analog.com
Analog Devices | 127
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
to generate a logic-high signal. Alerts can be triggered by any of the following conditions:
• Over/undervoltage—VAlrtTr register threshold violation (upper or lower) and alerts enabled (Aen = 1).
• Over/undertemperature—TAlrtTr register threshold violation (upper or lower) and alerts enabled (Aen = 1).
• Over/under current—IAlrtTr register threshold violation (upper or lower) and alerts enabled (Aen = 1).
• Over/under SOC—SAlrtTr register threshold violation (upper or lower) and alerts enabled (Aen = 1).
To prevent false interrupts, the threshold registers should be initialized before setting the Aen bit. Alerts generated by
battery insertion or removal can only be reset by clearing the corresponding bit in the Status (000h) register. Alerts
generated by a threshold-level violation can be configured to be cleared only by the host software or cleared automatically
when the threshold level is no longer violated. See the Config register description for details of the alert function
configuration.
nVAlrtTh Register (18Ch)
Register Type: Special
Nonvolatile Restore: VAlrtTh (001h) if nNVCfg1.enAT is set.
Alternate Initial Value: 0xFF00 (Disabled)
The nVAlrtTh register shown in Table 115 sets upper and lower limits that generate an ALRT pin interrupt if exceeded by
the VCell register value. The upper 8 bits set the maximum value and the lower 8 bits set the minimum value. Interrupt
threshold limits are selectable with 20mV resolution over the full operating range of the VCell register. At power-up, the
thresholds default to their maximum settings unless they are configured to be restored from nonvolatile memory instead
by setting the nNVCfg1.enAT bit.
Table 115. VAlrtTh (001h)/nVAlrtTh (18Ch) Register Format
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
VMAX
D4
D3
D2
D1
D0
VMIN
VMAX: Maximum voltage reading. An alert is generated if the VCell register reading exceeds this value. This field has
20mV LSb resolution.
VMIN: Minimum voltage reading. An alert is generated if the VCell register reading falls below this value. This field has
20mV LSb resolution.
nTAlrtTh Register (18Dh)
Register Type: Special
Nonvolatile Restore: TAlrtTh (002h) if nNVCfg1.enAT is set.
Alternate Initial Value: 0x7F80 (Disabled)
The nTAlrtTh register shown in Table 116 sets upper and lower limits that generate an ALRT pin interrupt if exceeded by
the Temp register value. The upper 8 bits set the maximum value and the lower 8 bits set the minimum value. Interrupt
threshold limits are stored in 2’s-complement format with 1ºC resolution over the full operating range of the Temp register.
At power-up, the thresholds default to their maximum settings unless they are configured to be restored from nonvolatile
memory instead by setting the nNVCfg1.enAT bit.
Table 116. TAlrtTh (002h)/nTAlrtTh (18Dh) Register Format
D15
D14
D13
D12
TMAX
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
TMIN
TMAX: Maximum temperature reading. An alert is generated if the Temp register reading exceeds this value. This field
is signed 2's-complement format with 1ºC LSb resolution.
TMIN: Minimum temperature reading. An alert is generated if the Temp register reading falls below this value. This field
is signed 2's-complement format with 1ºC LSb resolution.
www.analog.com
Analog Devices | 128
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
nSAlrtTh Register (18Fh)
Register Type: Special
Nonvolatile Restore: SAlrtTh (003h) if nNVCfg1.enAT is set.
Alternate Initial Value: 0xFF00 (Disabled)
The nSAlrtTh register shown in Table 117 sets upper and lower limits that generate an ALRT pin interrupt if exceeded
by the selected RepSOC, AvSOC, MixSOC, or VFSOC register values. See the MiscCFG.SACFG setting for details.
The upper 8 bits set the maximum value and the lower 8 bits set the minimum value. Interrupt threshold limits are
selectable with 1% resolution over the full operating range of the selected SOC register. At power-up, the thresholds
default to their maximum settings unless they are configured to be restored from nonvolatile memory instead by setting
the nNVCfg1.enAT bit.
Table 117. SAlrtTh (003h)/nSAlrtTh (18Fh) Register Format
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
SMAX
D4
D3
D2
D1
D0
SMIN
SMAX: Maximum state-of-charge reading. An alert is generated if the selected SOC register reading exceeds this value.
This field has 1% LSb resolution.
SMIN: Minimum state-of-charge reading. An alert is generated if the selected SOC register reading falls below this value.
This field has 1% LSb resolution.
nIAlrtTh Register (0ACh)
Register Type: Special
Nonvolatile Restore: IAlrtTh (1ACh) if nNVCfg1.enAT is set.
Alternate Initial Value: 0x7F80 (Disabled)
The nIAlrtTh register shown in Table 118 sets upper and lower limits that generate an ALRT pin interrupt if exceeded by
the Current register value. The upper 8 bits set the maximum value and the lower 8 bits set the minimum vaue. Interrupt
threshold limits are selectable with 400μV resolution over the full operating range of the Current register. At power-up, the
thresholds default to their maximum settings unless they are configured to be restored from nonvolatile memory instead
by setting the nNVCfg1.enAT bit.
Table 118. IAlrtTh (0ACh)/nIAlrtTh (18Eh) Register Format
D15
D14
D13
D12
D11
D10
D9
CURRMAX
D8
D7
D6
D5
D4
D3
D2
D1
D0
CURRMIN
CURRMAX: Maximum Current Threshold. An alert is generated if the current register reading exceeds this value. This
field is signed 2's-complement with 400μV LSb resolution to match the upper byte of the Current register.
CURRMIN: Minimum Current Threshold. An alert is generated if the current register reading falls below this value. This
field is signed 2's-complement with 400μV LSb resolution to match the upper byte of the Current register.
Smart Battery Compliant Operation
The is compliant to the Smart Battery Specification v1.1 when nNVCfg0.enSBS = 1. Enabling SBS operation does not
interfere with normal operation of the IC. SBS formatted registers are accessed at slave address 16h and memory
addresses 100h to 17Fh using SBS protocols. SBS functionality can be configured using the nSBSCfg and
nDesignVoltage registers.
SBS Compliant Memory Space (I2C Interface Only)
The MAX17330 contains an SBS v1.1 Compliant memory space on pages 10h to 17h that can be accessed using the
Read Word, Write Word, and Read Block commands at 2-Wire slave address 16h. Table 119 lists the SBS compliant
registers. Refer to the SBS 1.1 Specification for details of registers at addresses 100h to 12Fh. Registers marked with
Note 3 in the table are shared between SBS and normal IC functions and are always readable regardless of IC settings.
Their format is described in the Analog Measurements section of the data sheet. All other registers on pages 13h to 17h
are described in this section. Greyed locations are reserved and should not be written to.
www.analog.com
Analog Devices | 129
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Table 119. SBS Register Space Memory Map
PAGE/
10XH
11XH
12XH
13XH
14XH
15XH
16XH
17XH
0h
sManfctAccess
sFullCap
sManfctrName1
—
—
—
—
—
1h
sRemCapAlarm
sRunTTE
sDeviceName1
—
—
—
—
—
WORD
2h
sRemTimeAlarm
sAvgTTE
sDevChemistry1
—
—
—
—
—
3h
sBatteryMode
sAvgTTF
sManfctData2
—
—
—
—
—
4h
sAtRate
sChargingCurrent
—
Temp13
—
—
—
—
5h
—
sChargingVoltage
—
IntTemp3
—
—
—
—
6h
sAtTTE
sBatteryStatus
—
sFirstUsed
—
—
—
—
7h
sAtRateOK
sCycles
—
AvgTemp13
—
—
sAvCap
—
8h
sTemperature
sDesignCap
—
AvgIntTemp3
—
—
sMixCap
—
9h
sPackVoltage
sDesignVolt
—
—
—
—
—
—
Ah
sCurrent
sSpecInfo
—
—
—
—
—
—
Bh
sAvgCurrent
sManfctDate
—
—
—
—
—
—
Ch
sMaxError
sSerialNumber2
—
—
—
—
—
—
Dh
sRelSOC
—
—
—
—
—
CGTempCo3
—
Eh
sAbsSOC
—
—
—
—
—
—
—
Fh
sRemCap
—
—
sCell1
sAvgCell1
—
—
—
1. Location is read as ASCII data using the Read Block command.
2. Location is read as Hexadecimal data using the Read Block command.
3. Location is shared between SBS and normal IC functions and is always readable regardless of IC settings.
sRemCapAlarm/sRemTimeAlarm Registers (101h/102h)
Register Type: Capacity/Time
Nonvolatile Restore: None
sRemCapAlarm: sRemCapAlarm defaults to DesignCap/10 at startup.
sRemTimeAlarm: sRemTimeAlarm defaults to 10min at startup.
At-Rate Functionality
sAtRate Register (104h)
Register Type: Current
Nonvolatile Backup: None
The host software should write the sAtRate register with a negative two’s-complement 16-bit value of a theoretical load
current prior to reading any of the at-rate output registers. AtRate calculations are performed using sAtRate (0x104) if
enSBS = 1 or AtRate(0x004) if enSBS = 0.
sAtTTF Register (105h)
Register Type: Time
Nonvolatile Backup: None
The sAtTTF register can be used to estimate time to full for any theoretical current load entered into the sAtRate register.
AtRate calculations are performed using either sAtRate (0x104) if enSBS = 1 or AtRate(0x004) if enSBS = 0.
www.analog.com
Analog Devices | 130
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
sAtTTE Register (105h)
Register Type: Time
Nonvolatile Backup: None
The sAtTTE register can be used to estimate time-to-empty for any theoretical current load entered into the sAtRate
register. The AtTTE register displays the estimated time-to-empty for the application by dividing AtAvCap by the sAtRate
register value. sAtTTE is translated from AtTTE for conversion into minutes. AtRate calculations are performed using
either sAtRate (0x104) if enSBS = 1 or AtRate(0x004) if enSBS = 0.
sAtRateOK Register (107h)
Register Type: Special
Nonvolatile Restore: None
From SBS spec AtRateOK():
Description:
Returns a boolean value that indicates whether or not the battery can deliver the previously written AtRate value of
additional energy for 10 seconds (boolean). If the AtRate value is zero or positive, the AtRateOK() function ALWAYS
returns true. The result can depend on the setting of CAPACITY_MODE bit.
Purpose:
The AtRateOK() function is part of a two-function call-set used by power management systems to determine if the battery
can safely supply enough energy for an additional load. It is used immediately after the SMBus host sets the AtRate
value.
sTemperature Register (108h)
Register Type: Temperature
Nonvolatile Restore: None
Temperature is translated from AvgTA register.
sPackVoltage Register (109h)
Register Type: Voltage
Nonvolatile Restore: None
Voltage is translated from sCELL1.
sChargingCurrent Register (114h)
Register Type: Current
Nonvolatile Restore: None
As for the SBS, this register returns the smart battery's desired charging rate in mA.
sDesignVolt Register (119h)
Register Type: Voltage
Nonvolatile Restore: None
sDesignVolt is represented per cell.
sSpecInfo Register (11Ah)
Register Type: Special
Nonvolatile Backup: None
Table 120. SpecInfo (11Ah) Format
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
0
0
0
0
0
0
0
0
0
0
1
1 (PEC)
0
0
0
1
www.analog.com
Analog Devices | 131
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
PEC: PEC indicates whether the pack is configured to support SMBus PEC correction. PEC is always enabled on the
MAX17330 in SBS Mode.
sSerialNumber Register (11Ch to 11Eh)
Register Type: Special
Nonvolatile Restore: None
SerialNumber indicates the 16-bit serial number as stored in nSerialNumber MTP. SerialNumber2 and SerialNumber3
provide extended data for the serial number as stored in nSerialNumber2 and nSerialNumber3. By using 6-bytes total, a
serial number can provide a very unique ID for 281 trillion devices. A 4-byte serial number can support 4.3 billion devices.
Some of the bits can be fixed to indicate the platform or other information.
sManfctrName Register (120h)
Register Type: Special
Nonvolatile Restore: nManfctrName
A block SMBus/I2C read of 0x20 on I2C slave 0x16 (SBS) reports RAM addresses 0x120 sequenced with 0x146-0x14A,
for a total of 6-words of data. The first byte indicates the byte length and the following bytes are ASCII characters
representing the brand name of the pack. This data is taken from nManfctrName MTP, except that the byte count is set
by firmware instead of saved in MTP.
sDeviceName Register (121h)
Register Type: Special
Nonvolatile Restore: nDeviceName
A block SMBus/I2C read of 0x21 on I2C slave 0x16 (SBS) reports RAM addresses 0x121 sequenced with 0x140 to
0x143, for a total of 5-words of data. The first byte indicates the byte length and the following bytes are ASCII characters
representing the device name. This data is taken from nDeviceName MTP, except that the byte-count is set by firmware
instead of saved in MTP.
sDevChemistry Register (122h)
Register Type: Special
Nonvolatile Restore: None
A block SMBus/I2C read of 0x22 on I2C slave 0x16 (SBS) reports RAM addresses 0x122 sequenced with 0x156 to
0x158, for a total of 4-words of data. The first byte indicates the byte length and the following bytes are ASCII characters
representing the device chemistry. This string is always “LION” for the MAX17330, which is standard for all SBS packs.
sManfctData Registers (123h to 12Fh)
Register Type: Various
Nonvolatile Restore: None
The bytes of this read-block command are defined as follows:
Byte 0: Cell count. Copy from NCELLS information.
Byte 1: High-Byte of eep_MEM_VER
Byte 2: Low-byte of eep_MEM_VER
Byte 3: High-Byte of Version
Byte 4: Low-Byte of Version
Byte 5: HCONFIG
Byte 6: HCONFIG2
Byte 7: Q
Byte 8: QH
www.analog.com
Analog Devices | 132
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
sFirstUsed Register (136h)
This register contains a mirror of the value stored in nonvolatile memory address 1D7h.
sCell1 Register (13Fh)
This register contains the same cell voltage information displayed in Cell1 (0D8h) respectively with SBS compliant
formatting. 1 LSb = 1mV, which gives a full scale range of 0V to 65.535V.
sAvgCell1 Register (14Fh)
This register contains the same average cell voltage information displayed in AvgCell1 (0D4h) with SBS compliant
formatting. 1 LSb = 1mV, which gives a full scale range of 0V to 65.535V.
sAvCap Register (167h)
This register contains the same information as the AvCap (01Fh) register. It is formatted for SBS compliance where 1
LSb = 1mAh, which gives a full scale range of 0mAh to 65535mAh.
sMixCap Register (168h)
This register contains the same information as the MixCap (00Fh) register. It is formatted for SBS compliance where 1
LSb = 1mAh, which gives a full scale range of 0mAh to 65535mAh.
sManfctInfo Register (170h)
The sManfctInfo register is accessed using the SBS protocol read block command. This register function is not supported
in the MAX17330.
Nonvolatile SBS Register Back-Up
When SBS mode operation is enabled by setting nNVCfg0.enSBS = 1, data from several nonvolatile memory locations
are translated into SBS memory space. Table 121 lists these translations. Note that when performing an SBS Read Block
command, the IC automatically generates the size data byte by counting the number of sequential non-zero data bytes
stored in the corresponding nonvolatile memory locations. The nonvolatile memory only needs to store the actual data to
be read by an SBS Read Block command. If the SBS mode of operation is disabled, these locations become available
for general purpose nonvolatile data storage.
Table 121. SBS to Nonvolatile Memory Mapping
NONVOLATILE MEMORY
ADDRESS
NONVOLATILE MEMORY REGISTER
NAME
SBS MEMORY
ADDRESS
S REGISTER
NAME
1D6h
nManfctrDate
1Bh
sManfctrDate
1D7h
nFirstUsed
36h
sFirstUsed
1CCh-1CEh
nManfctrName[2:0]
1D8h-1DAh
nSerialNumber[2:0]
1DBh-1DFh
nDeviceName[4:0]
20h
(Read Block Command)
1Ch
(Read Block Command)
21h
(Read Block Command)
sManfctrName
sSerialNumber
sDeviceName
nCGain and Sense Resistor Relationship
To meet SBS compliance, current and capacity registers in the SBS memory space must have an LSb bit weight of 1mA
or 1mAh. The current gain must be adjusted based on the application sense resistor value to set the proper bit weight.
Table 122 shows the proper nCGain value to use for the most common sense resistor values. This is the default register
value only, it does not include any offset trim or custom gain adjustment. Note that changing the nCGain register affects
the gain reported by the standard ModelGauge current and capacity registers.
www.analog.com
Analog Devices | 133
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Table 122. nCGain Register Settings to Meet SBS Compliance
SENSE RESISTOR VALUE (mΩ)
NCGAIN REGISTER VALUE
CORRESPONDING CGAIN REGISTER VALUE
2.5
0x4000
0x0400
5
0x2000
0x0200
10
0x1000
0x0100
Dynamic Battery Power Technology (DBPT) Registers
Many mobile systems with high-performance CPUs, GPUs, motors, radios, etc., require the battery to deliver short pulses
of high power without the battery voltage falling below critical system undervoltage levels. Managing these pulse loads
optimally without sacrificing performance is quite challenging without appropriate battery capability information being
available to the system.
To achieve better run-time and to help the system run at optimal performance, Analog Devices has developed Dynamic
Battery Power Technology (DBPT). The MAX17330 supports this DBPT feature, which provides the on-demand battery
capability to be used for managing pulse loads. To support these high pulses without the battery voltage falling below
critical system undervoltage levels, the MAX17330 indicates the instantaneous peak and sustained power levels that can
be extracted safely from the battery. The system can use this information to set its maximum current in accordance with
battery power capability. For example, in many applications, the system requires at least 3.3V to operate correctly. By
configuring the MAX17330 for DBPT, the system's loads can be controlled or limited to stay within the battery's capability
and ensure that a minimum system voltage (MinSysVolt) is not crossed until the battery is in a very low state.
The implementation of DBPT in the MAX17330 hews closely to Intel's Dynamic Battery Power Technology v2.0 standard
and relies on specific functions and corresponding registers. This section defines those functions. The implementation
in the MAX17330 includes all the same registers as the Intel spec. However, the MAX17330 register set uses different
LSBs and addresses from the Intel standard.
The following registers are used for DBPT. The MAX17330 uses the standard current register format (0.15625µV/Sense
Resistor) for current, 0.8mW for power, and 0.2441mΩ (precisely 1/4.096) for resistance.
MaxPeakPower Register (0A4h)
Specification Description:
The fuel gauge computes and returns the maximum instantaneous peak output power of the battery pack in cW, which
is available for up to 10ms, given the external resistance and required minimum system voltage. The MaxPeakPower
value is expected to be negative and is updated every 351mS. MaxPeakPower is initialized to the present value of
MaxPeakPower on reset or power-up.
The system designer should limit the actual maximum peak power to account for various system limitations, such as
limiting the cell discharge current to the 2C rate and allowing for the safe operating area specifications for devices in the
power path, such as MOSFETs.
LSB is 0.8mW.
Actual Calculation:
MaxPeakPower = MPPCurrent x AvgVCell
SusPeakPower Register (0A5h)
Specification Description:
The fuel gauge computes and returns the sustained peak output power of the battery pack in cW, which is available for up
to 10s, given the external resistance and required minimum voltage of the voltage regulator. The SusPeakPower value is
expected to be negative and is updated every 351mS. SusPeakPower is initialized to the present value of SusPeakPower
on reset or power-up.
The system designer should limit the actual sustained peak power to account for various system limitations, such as
limiting the cell discharge current to the 2C rate and allowing for the safe operating area specifications for devices in the
power path, such as MOSFETs.
LSB is 0.8mW.
www.analog.com
Analog Devices | 134
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Actual Calculation:
SusPeakPower = SPPCurrent x AvgVCell
sPackResistance (0A6h) and nPackResistance (1C5h)
Specification Description:
This function reports the total noncell pack resistance value to account for the resistances due to cell interconnect, sense
resistor, FET, fuse, connector, and other impedances between the cells and output of the battery pack. The cell internal
resistance should NOT be included. PackResistance is set at time of pack manufacture. Writes to this value do not affect
the value during normal operation. This value is usually determined by the battery pack manufacturer and set at time of
pack manufacture.
The pack-maker can configure PackResistance by programming the nonvolatile nPackResistance during production.
LSB of 1mΩ per LSB.
SysResistance (0A7h)
Specification Description:
The SysResitance register configures the total resistance value into fuel gauge to account for the resistances due to
the resistance of power/ground metal, sense resistor, FET, and other parasitic resistance on the system main board.
SysResistance is initialized to a default value of 0mΩ. The system designer is expected to overwrite the default value
with the value from the system in question. This allows a single pack to be used in multiple systems which can have
various values for SysResistance.
LSB of 0.2441mΩ per LSB
MinSysVoltage() (0A8h)
Specification Description:
The MinSysVoltage register configures the required minimum system input voltage in mV into the fuel gauge. The system
regulator still operates normally if its input voltage is at this level. MinSysVoltage is initialized to a default value from the
upper byte of the nDesignVoltage register at power up. Table 114 shows the register format for nDesignVoltage.
The system designer can write the MinSysVoltage register directly during normal operation to change from the default
setting. This allows a single pack to be used in multiple systems, which may have various values for MinSysVoltage.
Writing MinSysVoltage above or below the empty point should not change the empty point. However, calculations
for MPPCurrent, SPPCurrent, MaxPeakPower, and SusPeakPower reports 0x0000 when VCell is less than the
MinSysVoltage.
For accurate performance, the system should normally update MinSysVoltage according to its requirements.
MPPCurrent (0A9h)
Register Type: Current
Specification Description:
The fuel gauge computes and returns the maximum instantaneous peak current of the battery pack in the standard
current register format, which is available for up to 10ms, given the external resistance and required minimum voltage
of the voltage regulator. The MPPCurrent value is expected to be negative and has to be updated at least once every
second. MPPCurrent is initialized to the present value of MPPCurrent on reset or power-up.
Actual Calculation:
MPPCurrent = (AvgVCell - MinSySVoltage) / [(PackResistance + SysResistance) x Rgain1]
SPPCurrent (0AAh)
Register Type: Current
Specification Description:
The fuel gauge computes and returns the sustained peak current of the battery pack in the standard current register
www.analog.com
Analog Devices | 135
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
format, which is available for up to 10s, given the external resistance and required minimum system voltage. The
SPPCurrent value is expected to be negative and has to be updated at least once every second. SPPCurrent is initialized
to the present value of SPPCurrent on reset or power-up.
Actual Calculation:
SPPCurrent = (AvgVCell - MinSySVoltage) / (RCell x Rgain2)
SHA-256 Authentication
The MAX17330 supports authentication which is performed using a FIPS 180-4 compliant SHA-256 one-way hash
algorithm on a 512-bit message block. The message block consists of a 160-bit secret, a 160-bit challenge, and 192 bits
of constant data. Optionally, the 64-bit ROM ID replaces 64 of the 192 bits of constant data used in the hash operation.
Contact Analog Devices for details of the message block organization.
The host and the IC both calculate the result based on the mutually known secret. The result of the hash operation is
known as the message authentication code (MAC) or message digest. The MAC is returned by the IC for comparison
to the host’s MAC. 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 writing a 160-bit random challenge into the SHA
memory address space 0C0h to 0C9h. The host then issues the compute MAC or compute MAC with ROM ID command.
The MAC is computed per FIPS 180-4 and stored in address space 0C0h to 0CFh, overwriting the challenge value.
The MAX17330 also provides a 2-stage authentication scheme that utilizes a temporary secret.
Note that the results of the authentication attempt are determined by host verification. Operation of the IC is not affected
by authentication success or failure.
Authentication Procedure
Figure 27 shows how a host system verifies the authenticity of a connected battery. The host first generates a random
160-bit challenge value and writes the challenge to IC memory space 0C0h to 0C9h. The host then sends the Compute
MAC with ROM ID (3500h) or Compute MAC without ROM ID (3600h) to the Command register 060h and waits tSHA
for computation to complete. Finally, the host reads the MAC from memory space 0C0h to 0CFh to verify the result. This
procedure requires the secret to be maintained on the host side as well as in the battery. The host must perform the
same calculations in parallel to verify that the battery is authentic.
www.analog.com
Analog Devices | 136
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Procedure to Verify a Battery
RANDOM CHALLENGE
GENERATION
SECRET
SECRET
PARALLEL
COMPUTATION
VERIFICATION
MACs
MATCH
ACCEPT
BATTERY
MAC COMPUTATION
BATTERY
MACs DO
NOT MATCH
REJECT
BATTERY
HOST
Figure 27. Procedure to Verify a Battery
Alternate Authentication Procedure
Figure 28 shows an alternative method of battery authentication that does not require the host to know the secret. In this
method, each host device knows a challenge and MAC pair that matches the secret stored in an authentic battery, but
each host device uses a different pair. This eliminates the need for special hardware on the host side to protect the secret
from hardware intrusion. A battery could be cloned for a single host device, but creating a clone battery that works with
any host would not be possible without knowing the secret.
The authentication process for this method is less complex. The host simply writes the challenge to IC memory space
0C0h to 0C9h. The host then sends the Compute MAC without ROM ID (3600h) command to the Command register
060h. Note that the Compute MAC with ROM ID command is not valid for this authentication method. The host then waits
tSHA for the computation to complete and reads the MAC from memory space 0C0h to 0CFh to verify the result.
www.analog.com
Analog Devices | 137
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Battery Authentication without a Host Side Secret
CHALLENGE 1
MAC
COMPUTATION
MAC 1
VERIFICATION
PASS
FAIL
SECRET
VALID BATTERY
HOST 1
CHALLENGE 2
MAC
COMPUTATION
MAC 2
VERIFICATION
PASS
FAIL
SECRET
VALID BATTERY
HOST 2
CHALLENGE N
MAC
COMPUTATION
MAC N
VERIFICATION
PASS
FAIL
SECRET
VALID BATTERY
HOST N
Figure 28. Battery Authentication without a Host Side Secret
Secret Management
The secret value must be programmed to a known value before performing authentication in the application. The secret
cannot be written directly. Instead, the user must generate a new internal secret by performing a SHA computation with
the old internal secret and a seed value sent as a challenge. To prevent any one entity from knowing the complete
secret value, the process can be repeated multiple times by sending additional challenge seeds and performing additional
computations.
www.analog.com
Analog Devices | 138
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Note that programming the Secret should be done at the factory before connecting the battery as 5.5V is required at the
BATT pin of the IC to update the Secret in NVM.
Note that secret memory can only be changed a maximum of nSECRET times including erase operations, and nonvolatile
memory updates are not guaranteed. See the nSECRET write limit in the Electrical Characteristics table. Any secret
update operation that fails does not change the secret value stored in the IC but consumes one of the available
limited updates. Be careful not to use up all secret memory during the generation process. Maxim Integrated strongly
recommends permanently locking the secret after it has been generated.
Single-Step Secret Generation
The single-step secret generation procedure should be used in production environments where the challenge seed
value can be kept confidential, for example when there are no OEM manufacturing steps or situations where an outside
individual or organization would need to know the challenge seed. Use the following sequence to program the IC. Since
the secret cannot be read from the IC, a parallel computation must be performed externally to calculate the stored secret.
Figure 29 shows an example of a single-step secret generation operation. Note that new units have their secret value
already cleared to all 0s. Also note that programming the Secret should be done at the factory before connecting the
battery as 5.5V is required at the BATT pin of the IC to update the Secret in NVM.
1. Clear the CommStat.NVError bit.
2. Write a challenge seed value to the SHA memory space 0C0h to 0C9h.
3. Write Compute Next Secret with ROM ID 3300h or Compute Next Secret without ROM ID 3000h to the Command
register 060h.
4. Wait tSHA + tUPDATE for the computation to complete and the new secret to be stored.
5. If CommStat.NVError is set, return to step 1; otherwise, continue.
6. Verify that the secret has been generated correctly with a test challenge at this time. If verification fails, return to
step 1. See the Determining Number of Remaining Updates section to verify that enough nonvolatile memory writes
remain to repeat the process.
7. Write Lock Secret 6000h to the Command register 060h. Note that this operation cannot be reversed.
8. Wait tUPDATE for the secret to lock permanently.
Single-Step Secret Generation Example
SEED
COMPUTE
NEXT
PARALLEL
COMPUTATION
STARTING
SECRET CLEARED
TO ALL 0s
FINAL SECRET
BATTERY
FINAL SECRET
Figure 29. Single-Step Secret Generation Example
www.analog.com
Analog Devices | 139
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Multi-Step Secret Generation Procedure
The multi-step secret generation procedure should be used in environments where an outside individual or organization
would need to know the challenge seed such as OEM manufacturing. The multi-step procedure is more complicated
but allows a secret to be stored inside the IC without providing any information to an OEM that could jeopardize secret
integrity. Figure 30 shows an example where three OEMs are each provided with a seed value for a Compute Next
operation. The final secret value stored inside the IC is known only to the top-level manager who knows all seed values
and has performed the computation separately. Use the following procedures when generating a multi-step secret. Note
that the secret can only be updated or cleared nSECRET times total. New units have their secret value already cleared
to all 0s. Also, note that programming the Secret should be done at the factory before connecting the battery as 5.5V is
required at the BATT pin of the IC to update the Secret in NVM.
All OEMs:
1. Clear the CommStat.NVError bit.
2. Write challenge seed value to the SHA memory space 0C0h to 0C9h.
3. Write Compute Next Secret with ROM ID 3300h or Compute Next Secret without ROM ID 3000h to the Command
register 060h.
4. Wait tSHA + tUPDATE for the computation to complete and the new secret to be stored.
5. If CommStat.NVError is set, return to step 1; otherwise, continue.
6. Verify that the secret has been generated correctly with a test challenge at this time. If verification fails, return to
step 1. See the Determining Number of Remaining Updates section to verify that enough nonvolatile memory writes
remain to repeat the process.
Last OEM:
1. Follow the previous procedure for the final secret update.
2. Write Lock Secret 6000h to the Command register 060h. Note that this operation cannot be reversed.
3. Wait tUPDATE for the secret to lock permanently.
Top Level:
1. Generate all seed values to provide to OEMs.
2. Perform SHA calculations separately to determine what the final secret is after all manufacturing steps.
3. Keep the final secret value secure.
www.analog.com
Analog Devices | 140
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Multi-Step Secret Generation Example
SEED 1 GENERATION
SEED 1
MIDDLE SECRET 1
COMPUTATION
CHALLENGE 1
AND MAC 1 FOR
VERIFICATION
COMPUTE
NEXT
STARTING SECRET
CLEARED TO ALL
0s
MIDDLE SECRET 1
TOP LEVEL PROJECT MANAGER
OEM 1
BATTERY
SEED 3
GENERATION
SEED 2
MIDDLE SECRET 2
COMPUTATION
CHALLENGE 2
AND MAC 2 FOR
VERIFICATION
COMPUTE
NEXT
MIDDLE SECRET 1
MIDDLE SECRET 2
OEM 2
BATTERY
SEED 3
GENERATION
SEED 3
FINAL SECRET
CHALLENGE 3
AND MAC 3 FOR
VERIFICATION
OEM 3
COMPUTE
NEXT
MIDDLE SECRET 2
FINAL SECRET
BATTERY
Figure 30. Multi-Step Secret Generation Example
2-Stage Authentication Scheme
The MAX17330 provides a 2-stage authentication scheme that utilizes a temporary secret for an added layer of security.
Figure 31 illustrates how to create a unique intermediate secret that can be stored in the host at the factory. Figure 32
outlines the procedure to complete the 2-stage authentication.
The following procedure implements the 2-stage authentication scheme:
1. Write Copy Temporary Secret from NVM command 3800h to the Command register 060h.
2. Write unique challenge seed value to the SHA memory space 0C0h to 0C9h to be used to compute the next
temporary secret.
3. Write Compute Next Temporary Secret with ROM ID 3900h or Compute Next Temporary Secret without ROM ID
3A00h to the Command register 060h.
4. Wait tSHA for the computation to complete.
www.analog.com
Analog Devices | 141
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
5. Write challenge seed value to the SHA memory space 0C0h to 0C9h to be used to compute the MAC using the
temporary secret.
6. Write Compute MAC From Temporary Secret with ROM ID 3D00h or Compute MAC From Temporary Secret without
ROM ID 3C00h to the Command register 060h.
7. Wait tSHA for the computation to complete.
8. Read the MAC from SHA memory space 0C0h to 0CFh to verify the result.
Because the temporary secret is stored in the same RAM location used for SHA calculation, executing some commands
overwrites the temporary secret. The functional impact is summarized as follows.
● Compute MAC and Compute Next Secret commands overwrite the temporary secret.
● Copy temporary secret from NVM overwrites the temporary secret (as expected).
● Compute MAC from temporary secret also overwrites the temporary secret. If a temporary secret is used for multiple
MAC calculations, the temporary secret needs to be reconstructed after each MAC computation.
Create a Unique Intermediate Secret
SECRET
UNIQUE
CHALLENGE
COMPUTE NEXT SECRET
UNIQUE INTERMEDIATE
SECRET
FACTORY (ONCE PER HOST)
Figure 31. Create a Unique Intermediate Secret
www.analog.com
Analog Devices | 142
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Procedure for 2-Stage Authentication
UNIQUE INTERMEDIATE
SECRET
UNIQUE CHALLENGE
STEP 1
COMPUTE NEXT
TEMPORARY SECRET
SECRET
UNIQUE INTERMEDIATE
SECRET
RANDOM CHALLENGE
GENERATION
STEP 2
PARALLEL COMPUTATION
STEP 3
VERIFICATION
MACs
MATCH
ACCEPT
BATTERY
MAC COMPUTATION FROM
TEMPORARY SECRET
BATTERY
MACs DO
NOT MATCH
REJECT
BATTERY
HOST
Figure 32. Procedure for 2-Stage Authentication
Determining Number of Remaining Updates
The internal secret can only be updated or cleared nSECRET times total. The number of remaining updates can be
calculated using the following procedure:
1. Write 0xE29D to the Command register (060h).
2. Wait tRECALL.
3. Read memory address 1FDh.
4. Decode address 1FDh data as shown in Table 123. Each secret update has redundant indicator flags for reliability.
www.analog.com
Analog Devices | 143
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Logically OR the upper and lower bytes together, then count the number of 1s to determine how many updates have
already been used. The first update occurs in a manufacturing test to clear the secret memory before shipping to the
user.
Table 123. Number of Remaining Secret Updates
ADDRESS 0E6H
DATA
LOGICAL OR OF UPPER AND LOWER
BYTES
NUMBER OF UPDATES
USED
NUMBER OF UPDATES
REMAINING
0000000x00000001b
or
00000001b
1
5
00000011b
2
4
00000111b
3
3
00001111b
4
2
00011111b
5
1
00111111b
6
0
000000010000000xb
000000xx0000001xb
or
0000001x000000xxb
00000xxx000001xxb
or
000001xx00000xxxb
0000xxxx00001xxxb
or
00001xxx0000xxxxb
000xxxxx0001xxxxb
or
0001xxxx000xxxxxb
00xxxxxx001xxxxxb
or
001xxxxx00xxxxxxb
Authentication Commands
All SHA authentication commands are written to memory address 060h to perform the desired operation. Writing the
challenge or reading the MAC is handled by accessing the SHA memory space on page 0Ch through direct read and
write operations.
COMPUTE MAC WITHOUT ROM ID [3600h]
The challenge value must be written to the SHA memory space before performing a Compute MAC command. This
command initiates a SHA-256 computation without including the ROM ID in the message block. Instead, the ROM ID
portion of the message block is replaced with a value of all 1s. Since the ROM ID is not used, this command allows the
use of a master secret and MAC response independent of the ROM ID. The IC computes the MAC in tSHA after receiving
the last bit of this command. After the MAC computation is complete, the host can read the MAC from the SHA memory
space.
COMPUTE MAC WITH ROM ID [3500h]
The challenge value must be written to the SHA memory space before performing a Compute MAC command. 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 unique ROM ID included in the MAC computation, the MAC is unique to each unit. After the
MAC computation is complete, the host can read the MAC from the SHA memory space.
COMPUTE NEXT SECRET WITHOUT ROM ID [3000h]
This command initiates a SHA-256 computation and uses the resulting MAC as the next or new secret. The hash
operation is performed with the current 160-bit secret and the new 160-bit challenge. Logical 1s are loaded in place of
the ROM ID. The last 160 bits of the MAC are used as the new secret value. The host must allow tSHA after issuing this
command for the SHA calculation to complete, then wait tUPDATE for the new secret value to be stored in nonvolatile
memory. During this operation, the SHA memory space is not updated. Note that the old secret value must be known
before executing this command to calculate what the new secret value is. Also, note that programming the Secret should
www.analog.com
Analog Devices | 144
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
be done at the factory before connecting the battery as 5.5V is required at the BATT pin of the IC to update the Secret in
NVM.
COMPUTE NEXT SECRET WITH ROM ID [3300h]
This command initiates a SHA-256 computation and uses the resulting MAC as the next or new secret. The hash
operation is performed with the current 160-bit secret, the 64-bit ROM ID, and the new 160-bit challenge. The last 160
bits of the output MAC are used as the new secret value. The host must allow tSHA after issuing this command for the
SHA calculation to complete, then wait tUPDATE for the new secret value to be stored in nonvolatile memory. During this
operation, the SHA memory space is not updated. Note that the old secret value must be known before executing this
command to calculate what the new secret value is. Also, note that programming the Secret should be done at the factory
before connecting the battery as 5.5V is required at the BATT pin of the IC to update the Secret in NVM.
CLEAR SECRET [5A00h]
This command sets the 160-bit secret to all 0s. The host must wait tUPDATE for the IC to write the new secret value to
nonvolatile memory. This command uses up one of the secret write cycles.
LOCK SECRET [6000h]
This command write protects the secret preventing accidental or malicious overwrite of the secret value. The secret value
stored in nonvolatile memory becomes permanent. The host must wait tUPDATE for the lock operation to complete.
SHA-256 Lock state is not shown in the Lock register. The lock state can be verified by reading nonvolatile memory
history using the following sequence:
1. Send 0xE29B to the Command register (060h).
2. Wait for tRECALL.
3. Read memory address 1FCh.
If address 1FCh is 0x0000, then the secret is not locked. If address 1FCh is anything other than 0x0000, then the secret
is permanently locked.
COPY TEMPORARY SECRET FROM NVM [3800]
This command copies the secret from NVM and places it in RAM to allow the secret to be used by the other commands.
COMPUTE NEXT TEMPORARY SECRET WITH ROMID [3900]
This command is similar to COMPUTE NEXT SECRET WITH ROMID except the secret used in the computation comes
from the previously executed COPY TEMPORARY SECRET FROM NVM or COMPUTE NEXT TEMPORARY SECRET
WITH/WITHOUT ROMID and the next secret is placed in RAM so it can be used in subsequent commands.
COMPUTE NEXT TEMPORARY SECRET WITHOUT ROMID [3A00]
This command is similar to COMPUTE NEXT SECRET WITHOUT ROMID except the secret used in the computation
comes from the previously executed COPY TEMPORARY SECRET FROM NVM or COMPUTE NEXT TEMPORARY
SECRET WITH/WITHOUT ROMID and the next secret is placed in RAM so it can be used in subsequent commands.
COMPUTE MAC FROM TEMPORARY SECRET WITHOUT ROMID [3C00]
This command is the same as COMPUTE MAC WITHOUT ROMID except the secret used in the computation comes
from the previously executed COPY TEMPORARY SECRET FROM NVM or COMPUTE NEXT TEMPORARY SECRET
WITH/WITHOUT ROMID.
COMPUTE MAC FROM TEMPORARY SECRET WITH ROMID [3D00]
This command is the same as COMPUTE MAC WITH ROMID except the secret used in the computation comes from the
previously executed COPY TEMPORARY SECRET FROM NVM or COMPUTE NEXT TEMPORARY SECRET WITH/
WITHOUT ROMID.
Device Reset
There are two different levels of reset for the IC; a full reset restores the IC to its power-up state (the same as if power had
www.analog.com
Analog Devices | 145
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
been cycled) and a fuel-gauge reset resets only the fuel gauge operation without resetting IC hardware. This is useful for
testing different configurations without writing to nonvolatile memory. Use the following sequences to reset the IC.
FULL RESET
1. Reset IC hardware by writing 000Fh to the Command register at 060h.
2. Wait 10ms.
3. Reset IC fuel gauge operation by writing 8000h to the Config2 register at 0ABh. This command does not disturb the
state of the protection FETs.
4. Wait for the POR_CMD bit (bit 15) of the Config2 register to be cleared to indicate that the POR sequence is complete.
FUEL-GAUGE RESET
1. Reset IC fuel gauge operation by writing 8000h to the Config2 register at 0ABh. This command does not disturb the
state of the protection FETs.
2. Wait for the POR_CMD bit (bit 15) of the Config2 register to be cleared to indicate that the POR sequence is complete.
Reset Commands
There are two commands that can be used to reset either the entire IC or just the operation of the fuel gauge, protection,
and charging configuration without interrupting the hardware (CHG, DIS FETs, or Non-Volatile Shadow Memory). Note
that the configuration reset command is written to Config2 instead of the Command register.
HARDWARE RESET [000Fh to address 060h]
Send the hardware reset command to the Command register to recall all nonvolatile memory into shadow RAM and reset
all hardware-based operations of the IC. This command should always be followed by the reset fuel gauge command to
fully reset operation of the IC.
CONFIGURATION RESET [8000h to address 0ABh]
The Configuration Reset command resets operation of the IC without restoring nonvolatile memory values into shadow
RAM or resetting the FET Control. This command allows different configurations to be tested without using one of the
limited numbers of nonvolatile memory writes. This command does not disturb the state of the protection FETs.
Summary of Commands
Any operation other than reading or writing a memory location is executed by writing the appropriate command to the
Command or Config2 registers. Table 124 lists all function commands understood by the MAX17330. The function
command must be written to the Command (060h) or Config2 (0ABh) registers. Device commands are described in detail
in the Authentication, Nonvolatile Memory, Reset, and Power Up sections of the data sheet.
Table 124. All Function Commands
COMMAND
TYPE
HEX
DESCRIPTION
060h
3600h
Computes hash operation of the message block with logical 1s in place of
the ROM ID.
SHA
060h
3500h
Computes hash operation of the message block including the ROM ID.
Compute Next
Secret Without ROM
ID
SHA
060h
3000h
Computes hash operation of the message block with logical 1s in place of
the ROM ID. The result is then stored as the new secret.
Compute Next
Secret With ROM ID
SHA
060h
3300h
Computes hash operation of the message block including the ROM ID.
The result is then stored as the new secret.
Clear Secret
SHA
060h
5A00h
Resets the SHA-256 secret to a value of all 0s.
Compute MAC
Without ROM ID
SHA
Compute MAC With
ROM ID
Lock Secret
REGISTER
SHA
060h
6000h
Permanently locks the SHA-256 secret.
Copy NV Block
Memory
060h
E904h
Copies all shadow RAM locations to nonvolatile memory at the same time.
NV Recall
Memory
060h
E001h
Recalls all nonvolatile memory to RAM.
www.analog.com
Analog Devices | 146
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Table 124. All Function Commands (continued)
COMMAND
TYPE
REGISTER
HEX
DESCRIPTION
History Recall
Memory
060h
E2XXh
Recalls a page of nonvolatile memory history into RAM page 1Eh.
NV Lock
Memory
060h
6AXXh
Permanently locks an area of memory. See the Memory Locks section for
details.
Hardware Reset
Reset
060h
000Fh
Recalls nonvolatile memory into RAM and resets the IC hardware. Fuel
gauge operation is not reset.
Fuel Gauge Reset
Reset
0ABh
8000h
Restarts the fuel gauge operation without affecting nonvolatile shadow
RAM settings.
Communication
2-Wire Bus System
The uses a 2-Wire bus system to communicate by both standard I2C protocol or by SBS smart battery protocol. The slave
address used by the host to access the IC determines which protocol is used and what memory locations are available
to read or write. The following description applies to both protocols. See the I2C and SBS Bus System descriptions for
specific protocol details.
Hardware Configuration
The 2-Wire bus system supports operation as a slave-only device in a single or multi-slave, and single or multi-master
system. Up to 128 slave devices can share the bus using 7-bit slave addresses. The 2-Wire interface consists of a serial
data line (SDA) and serial clock line (SCL). SDA and SCL provide bidirectional communication between the IC and a
master device at speeds up to 400kHz. The IC's SDA pin operates bidirectionally. When the IC receives data, the SDA
operates as an input. When the IC returns data, the SDA operates as an open-drain output with the host system providing
a resistive pullup. See Figure 33. The IC always operates as a slave device, receiving and transmitting data under the
control of a master device. The master initiates all transactions on the bus and generates the SCL signal, as well as the
START and STOP bits which begin and end each transaction.
2-Wire Bus Interface Circuitry
VPULLUP
BUS MASTER
RPULLUP
DEVICE 2-WIRE PORT
DQ/SDA
Rx DATA
Rx DATA
Tx DATA
WEAK
PULLDOWN
Tx DATA
Rx = RECEIVE
Tx = TRANSMIT
OD/SCL
Tx CLOCK
Rx CLOCK
WEAK
PULLDOWN
Figure 33. 2-Wire Bus Interface Circuitry
www.analog.com
Analog Devices | 147
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
I/O Signaling
The following individual signals are used to build byte level 2-Wire communication sequences.
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 (i.e., 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 by forcing a high-to-low transition on SDA while SCL is high.
The master terminates a transaction with a STOP condition by a low-to-high transition on SDA while SCL is high. A
Repeated START condition 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 multi-master 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 (ACK) or a No Acknowledge bit (NACK). Both the
master and the IC slave generate acknowledge bits. To generate an Acknowledge, the receiving device must pull SDA
low before the rising edge of the acknowledge-related clock pulse (ninth pulse) and keep it low until SCL returns low. To
generate a No Acknowledge, 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 the 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. If a transaction is aborted midbyte, the master should send additional clock pulses to force the slave IC to free the bus before restarting communication.
Data Order
With 2-Wire communication, a byte of data consists of 8 bits ordered most significant bit (MSb) first. The least significant
bit (LSb) of each byte is followed by the Acknowledge bit. IC registers composed of multibyte values are ordered least
significant byte (LSB) first.
Slave Address
A bus master initiates communication with a slave device by issuing a START condition followed by a Slave Address
and the read/write (R/W) bit. When the bus is idle, the IC continuously monitors for a START condition followed by its
slave address. When the IC receives a slave address that matches its Slave Address, it responds with an Acknowledge
bit during the clock period following the R/W bit. The supports the slave addresses shown in Table 125. Note: The
addresses shown in Table 125 are 8-bit slave addresses.
Table 125. 2-Wire Slave Addresses
SLAVE ADDRESS
PROTOCOL
ADDRESS BYTE RANGE
INTERNAL MEMORY RANGE ACCESSED
6Ch
I 2C
00h to FFh
000h to 0FFh
SMBUSTM
00h to 7Fh
100h to 17Fh
I 2C
80h to FFh
180h to 1FFh
16h
Read/Write Bit
The R/W bit following the slave address determines the data direction of subsequent bytes in the transfer. R/W = 0 selects
a write transaction, with the following bytes being written by the master to the slave. R/W = 1 selects a read transaction,
with the following bytes being read from the slave by the master.
www.analog.com
Analog Devices | 148
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Bus Timing
The IC is compatible with any bus timing up to 400kHz. See the Electrical Characteristics table for timing details. No
special configuration is required to operate at any speed. Figure 34 shows an example of standard 2-Wire bus timing.
2-Wire Bus Timing Diagram
SDA
tF
tLOW
tSU;DAT
tR
tF
tHD;STA
tSP
tBUF
tR
SCL
tHD;STA
S
tHD;DAT
tSU;STA
tSU;STO
SR
P
S
Figure 34. 2-Wire Bus Timing Diagram
I2C Protocols
The following 2-Wire communication protocols must be used by the bus master to access memory locations 000h to
1FFh. Addresses 000h to 0FFh and from 180h to 1FFh can be read continuously. Addresses 100h to 17Fh must be read
one word at a time. These protocols follow the standard I2C specification for communication.
I2C Write Data Protocol
The Write Data protocol is used to transmit data to the IC at memory addresses from 000h to 1FFh. Addresses 000h
to 0FFh and 180h to 1FFh can be written as a block. Addesses 100h to 17Fh must be written one word at a time. The
memory address is sent by the bus master as a single byte value immediately after the slave address, followed by an
ACK from the IC. The LSB of the data to be stored is written immediately after the memory address byte, followed by
an ACK from the IC. The MSB of the data to be stored is written next, followed by an ACK from the IC. Because the
address is automatically incremented after the least significant bit (LSb) of the MSB of each word received by the IC, the
LSB of the data at the next memory address can be written immediately after the acknowledgment of the MSB of data at
the previous address. The master indicates the end of a write transaction by sending a STOP or Repeated START after
receiving the last acknowledge bit. If the bus master continues an auto-incremented write transaction beyond address
0FFh or 1FFh, the IC ignores the data. Data is also ignored on writes to read-only addresses but not reserved addresses.
Do not write to reserved address locations. See Figure 35 for an example Write Data communication sequence.
www.analog.com
Analog Devices | 149
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
ACK
DATA N
MSB
STOP
DATA1
LSB
ACK
DATA0
MSB
ACK
DATA0
LSB
ACK
ACK
MEMORY
ADDRESS
ACK
SLAVE
ADDRESS
W/R =0
START
WRITE DATA COMMUNICATION PROTOCOL
= SLAVE TRANSMISSION
ACK
COMMAND
MSB
STOP
COMMAND
LSB
ACK
60h
(MEMORY ADDRESS)
ACK
6Ch
(SLAVE ADDRESS)
ACK
START
EXAMPLE WORD WRITE TO I2C COMMAND REGISTER ADDRESS 060h
= HOST TRANSMISSION
Figure 35. Example I2C Write Data Communication Sequence
I2C Read Data Protocol
The Read Data protocol is used to transmit data from IC memory locations 000h to 1FFh. Addresses 000h to 0FFh and
180h to 1FFh can be read as a block. Addresses 100h to 17Fh must be read as individual words. The memory address
is sent by the bus master as a single-byte value immediately after the slave address. Immediately following the memory
address, the bus master issues a REPEATED START followed by the slave address. The MAX17330 ACKs the address
and begins transmitting data. A word of data is read as two separate bytes that the master must ACK. The LSB is read
first, followed by an ACK from the master. The MSB is read next, followed by an ACK from the master. Because the
address is automatically incremented after the least significant bit (LSb) of the MSB of each word transmitted by the IC,
the LSB of the data at the next memory address can be read immediately after the acknowledgment of the MSB of data at
the previous address. The master indicates the end of a read transaction by sending a NACK followed by a STOP. If the
bus master continues an auto-incremented read transaction beyond memory address 0FFh or 1FFh, the IC transmits all
1s until a NACK or STOP is received. Data from reserved address locations is undefined. See Figure 36 for an example
Read Data communication sequence.
STOP
IntTemp
MSB
DATA N
MSB
NACK
ACK
AvgCurrent
LSB
NACK
DATA0
MSB
ACK
ACK
Current
MSB
ACK
DATA1
LSB
ACK
DATA0
LSB
ACK
ACK
SLAVE
ADDRESS
W/R =1
(REPEATED)
ACK
MEMORY
ADDRESS
START
ACK
SLAVE
ADDRESS
W/R =0
START
I2C READ DATA COMMUNICATION PROTOCOL
STOP
AvgCurrent
MSB
NACK
Current
LSB
ACK
6Dh
(SLAVE READ
ADDRESS)
ACK
(REPEATED)
ACK
1Ch
(MEMORY ADDRESS)
START
6Ch
(SLAVE WRITE
ADDRESS)
ACK
START
EXAMPLE READ DATA OF CURRENT AND AVGCURRENT REGISTERS ADDRESS 01Ch-01Dh
= SLAVE TRANSMISSION
IntTemp
LSB
STOP
17h
(SLAVE READ
ADDRESS)
ACK
(REPEATED)
ACK
35h
(MEMORY ADDRESS)
START
16h
(SLAVE WRITE
ADDRESS)
ACK
START
EXAMPLE READ DATA OF INTTEMP REGISTER ADDRESS 135h
= HOST TRANSMISSION
Figure 36. Example I2C Read Data Communication Sequence
www.analog.com
Analog Devices | 150
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
SBS Protocols
The following 2-Wire communication protocols must be used by the bus master to access memory locations 100h to
17Fh. These protocols follow the smart battery specification for communication.
SBS Write Word Protocol
The Write Word protocol is used to transmit data to IC memory addresses between 100h and 17Fh that do not require
the Write Block protocol. The memory address is sent by the bus master as a single byte LSB value immediately after
the slave address and the MSb of the address is omitted. The LSB of the data to be stored is written immediately after
the memory address byte is acknowledged, followed by the MSB. A PEC byte can follow the data word, but the data
word is written without checking the validity of the PEC. The master indicates the end of a write transaction by sending
a STOP or Repeated START after receiving the last acknowledge bit. Data is ignored on writes to read-only addresses
but not reserved addresses. Do not write to reserved address locations. The Write Word protocol should not be used to
write to addresses supported by the Write Block protocol, use Write Block at these locations instead. See Figure 37 for
an example Write Word communication sequence.
Example SBS Write Word Communication Sequence
ACK
STOP
ACK
PEC
(OPTIONAL)
STOP
DATA
MSB
ACK
DATA
LSB
ACK
MEMORY
ADDRESS
ACK
ACK
SLAVE
ADDRESS
W/R =1
START
SBS WRITE WORD COMMUNICATION PROTOCOL
= SLAVE TRANSMISSION
DATA
MSB
ACK
DATA
LSB
ACK
04h
(MEMORY ADDRESS)
ACK
16h
(SLAVE ADDRESS)
ACK
START
EXAMPLE WORD WRITE TO SBS ATRATE REGISTER AT REGISTER ADDRESS 104h
PEC
(OPTIONAL)
= HOST TRANSMISSION
Figure 37. Example SBS Write Word Communication Sequence
SBS Read Word Protocol
The Read Word protocol is used to read data from the IC at memory addresses between 100h and 17Fh. The memory
address is sent by the bus master as a single byte LSB value immediately after the slave address and the MSb of the
address is ignored. The LSB of the data is read immediately after the memory address byte is acknowledged, followed
by the MSB. A PEC byte follows the data word. The master indicates the end of a write transaction by sending a STOP
or Repeated START after not acknowledging the last received byte. Data from reserved address locations is undefined.
The Read Word protocol should not be used to read from addresses supported by the Read Block protocol, use Read
Block at these locations instead. See Figure 38 for an example Read Word communication sequence.
www.analog.com
Analog Devices | 151
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Example SBS Read Word Communication Sequence
STOP
ACK
(OPTIONAL)
NACK
sTEMPERATURE
LSB
PEC
STOP
ACK
(OPTIONAL)
NACK
ACK
DATA
MSB
ACK
DATA
LSB
ACK
SLAVE
ADDRESS
W/R =0
(REPEATED)
START
MEMORY
ADDRESS
ACK
ACK
SLAVE
ADDRESS
W/R =1
START
SBS READ WORD COMMUNICATION PROTOCOL
= SLAVE TRANSMISSION
17h
ACK
(REPEATED)
08h
(MEMORY ADDRESS)
START
(SLAVE WRITE
ADDRESS)
ACK
16h
ACK
START
EXAMPLE READ WORD OF SBS sTEMPERATURE REGISTER ADDRESS 108h
(SLAVE READ
ADDRESS)
sTEMPERATURE
LSB
PEC
= HOST TRANSMISSION
Figure 38. Example SBS Read Word Communication Sequence
SBS Write Block Protocol
The SBS Write Block protocol is not supported by the MAX17330. Use the Write Data command sequence to the
corresponding nonvolatile memory locations to update Write/Read Block register locations. See Table 119.
SBS Read Block Protocol
The Read Block protocol is similar to the Read Word protocol except that the master reads multiple words of data at once.
A data size byte is transmitted by the IC immediately after the memory address byte and before the first byte of data to
be read. The Read Block protocol is only supported at the register locations shown in Table 126. PEC error checking is
provided by the Read Block protocol if nNVCfg0.enSBS = 1. Figure 39 shows an example Read Block communication
sequence.
Example SBS Read Block Communication Sequence
STOP
(Optional)
NACK
DATA3
STOP
ACK
(Optional)
NACK
DATA (size-2)
ACK
DATA0
PEC
ACK
DATA0
ACK
05h
ACK
SIZE
ACK
ACK
SLAVE
ADDRESS
W/R =0
(REPEATED)
ACK
MEMORY
ADDRESS
START
ACK
SLAVE
ADDRESS
W/R =1
START
SBS READ BLOCK COMMUNICATION PROTOCOL
= SLAVE TRANSMISSION
17h
(SLAVE READ
ADDRESS)
ACK
(REPEATED)
ACK
22h
(MEMORY ADDRESS)
START
16h
(SLAVE WRITE
ADDRESS)
ACK
START
Example Block Read of SBS DevChemistry Register Address 122h
(Size)
PEC
= HOST TRANSMISSION
Figure 39. Example SBS Read Block Communication Sequence
www.analog.com
Analog Devices | 152
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Valid SBS Read Block Registers
Table 126. Valid SBS Read Block Registers
ADDRESS
REGISTER
SIZE BYTE MAX VALUE
FORMAT
0120h
sManfctName
0Ah
ASCII String
0121h
sDeviceName
0Ch
ASCII String
0122h
sDevChemistry
05h
ASCII String
0123h
sManfctData
1Ah
Hexadecimal
011Ch
sSerialNumber
08h
Hexadecimal
0170h
sManfctInfo
18h
Hexadecimal
Packet Error Checking
SBS read functions support packet error checking (PEC) if nNVCfg0.enSBS is enabled. The host system is responsible
for verifying the CRC value it receives and then taking action as a result. SBS write functions accept a PEC byte but
complete the write function regardless of the value of the PEC.
The CRC can be generated by the host using a circuit consisting of a shift register and XOR gates as shown in Figure 40,
or it can be generated with software using the polynomial X8 + X2 + X1 + 1. Refer to the Smart Battery Data Specification
for more information.
PEC CRC Generation Block Diagram
INPUT
MSb
XOR
XOR
LSb
XOR
Figure 40. PEC CRC Generation Block Diagram
www.analog.com
Analog Devices | 153
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Appendix A: Reading History Data Pseudo-Code Example
The following pseudo-code can be used as a reference for reading history data from the IC. The code first reads and tests
all flag information, then reads all valid history data into a two-dimensional array. Afterwards, the HistoryLength variable
indicates the depth of the history array data.
Int WriteFlags[26];
Int ValidFlags[26];
Boolean PageGood[100];
Int HistoryData[100][16];
Int HistoryLength;
Int word, position, flag1, flag2, flag3, flag4;
//Read all flag information from the IC
WriteCommand(0xE29C);
Wait(tRECALL);
WriteFlags[0] = ReadData(0x1F2);
WriteFlags[1] = ReadData(0x1F3);
WriteFlags[2] = ReadData(0x1F4);
WriteFlags[3] = ReadData(0x1F5);
WriteFlags[4] = ReadData(0x1F6);
WriteFlags[5] = ReadData(0x1F7);
WriteFlags[6] = ReadData(0x1F8);
WriteFlags[7] = ReadData(0x1F9);
WriteFlags[8] = ReadData(0x1FA);
WriteFlags[9] = ReadData(0x1FB);
WriteFlags[10] = ReadData(0x1FC);
WriteFlags[11] = ReadData(0x1FD);
WriteFlags[12] = ReadData(0x1FE);
ValidFlags[0] = ReadData(0x1FF);
WriteCommand(0xE29D);
Wait(tRECALL);
ValidFlags[1] = ReadData(0x1F0);
ValidFlags[2] = ReadData(0x1F1);
ValidFlags[3] = ReadData(0x1F2);
ValidFlags[4] = ReadData(0x1F3);
ValidFlags[5] = ReadData(0x1F4);
ValidFlags[6] = ReadData(0x1F5);
ValidFlags[7] = ReadData(0x1F6);
ValidFlags[8] = ReadData(0x1F7);
ValidFlags[9] = ReadData(0x1F8);
ValidFlags[10] = ReadData(0x1F9);
ValidFlags[11] = ReadData(0x1FA);
www.analog.com
Analog Devices | 154
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
ValidFlags[12] = ReadData(0x1FB);
//Determine which history pages contain valid data
For loop = 0 to 99
{
word = (int)( loop / 8 );
position = loop % 8 ; //remainder
flag1 = (WriteFlags[word] >> position) & 0x0001;
flag2 = (WriteFlags[word] >> (position+8)) & 0x0001;
flag3 = (ValidFlags[word] >> position) & 0x0001;
flag4 = (ValidFlags[word] >> (position+8)) & 0x0001;
if (flag1 || flag2) && (flag3 || flag4)
PageGood[loop] = True;
else
PageGood[loop] = False;
}
//Read all the history data from the IC
HistoryLength = 0;
For loop = 0 to 99
{
if(PageGood[loop]) == TRUE
{
SendCommand(0xE22E + loop);
Wait(tRECALL);
HistoryData[HistoryLength][0] = ReadData(0x1F0);
...
HistoryData[HistoryLength][15] = ReadData(0x1FF);
HistoryLength++;
}
}
Appendix B: Parallel Cell Management Example
The following pseudo-code can be used as a reference for managing parallel batteries.
HOST PSEUDOCODE (on 500ms timer):
def on_500ms_timer():
if(all(AllBatts.FProtStat.IsDis==0)):
VMax = max(AllBatts.VCell)
VMin = min(AllBatts.VCell)
stepDown=stepUp=CrossCharge=False
if(VMinVMin+400mV and !CrossCharge):
Batt.Config2.BlockDis=1
www.analog.com
#1
#2
#3
Analog Devices | 155
MAX17330
else:
Batt.Config2.BlockDis=0
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
#4
if (Status.CA):
if (Batt.ChgStat.[CP,CT]): stepDown=True
elif(Batt.ChgStat.Dropout): stepUp =True
Status=0xF7FF
#7
if(stepDown): step DC-DC down
elif(stepUp): step DC-DC up
#5
#6
#8
Notes:
1) Evaluate the minimum voltage battery for the ability to support system discharge. When the cell
is too low, unplugging the charge source would result in a crash except if cross-charging is allowed
2) Indicate charger presense to all batteries (even blocked batteries)
3) Determine which batteries to block-discharge, to avoid cross-charging
4) Allow discharging if the low battery is much lower than the full battery
or the low battery is below VSys_Min
5) Consider FET heat: (DC-DC voltage down)
6) Consider dropout: (DC-DC voltage up)
7) Clear Charge Alert bit
8) Optional: apply DC-DC update
Applications:
1) Low-Power Parallel Charging (500mA total). The application must have a programmable DC-DC converter
supplying power to the MAX17330 ICs.
www.analog.com
Analog Devices | 156
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Typical Application Circuits
Typical Application Schematic
N
N
CSN
CSP
100Ω
CHG
1kΩ
DIS
1kΩ
PFAIL
100Ω
PCKP
0.1µF
OPTIONAL
ZVC
22nF
SYS+
1nF
CP
OPTIONAL
TH2
10Ω
ZVC/TH2
BATT
0.1µF
MAX17330
150Ω
ALRT
4.7V
SDA/DQ
TH1
REG2 GND
1.8V
SCL
150Ω
4.7V
4.7V
150Ω
0.47µF
SYS–
www.analog.com
Analog Devices | 157
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Typical Application Circuits (continued)
Typical Application Schematic with Fuse
N
CSN
N
CSP
100Ω
CHG
1kΩ
DIS
1kΩ
PFAIL
100Ω
PCKP
0.1µF
1nF
CP
OPTIONAL
TH2
10Ω
ZVC/TH2
BATT
0.1µF
MAX17330
150Ω
ALRT
SDA/DQ
TH1
REG2 GND
1.8V
OPTIONAL
ZVC
22nF
SYS+
N
3 TERM
FUSE
SCL
4.7V
150Ω
4.7V
4.7V
150Ω
0.47µF
SYS–
www.analog.com
Analog Devices | 158
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Typical Application Circuits (continued)
N
Pushbutton Schematic
N
CHG
DIS
ALRT/PIO
SYSPWR
SYSTEM PMIC
MAX1733x
BUTTON
PUSH
BUTTON
1.8V (VIO)
OPTIONAL
PULLUP
SYSTEM AP
N
A pushbutton can be shared by the MAX17330 and the system to wake up both the system and the MAX17330. The
diode on the system interface PMIC blocks the pulldown when there is no supply, which prevents the wakeup for the
MAX17330 when the system interface PMIC loses power in ship mode. The diode on the ALRT/PIO pin prevents the alert
pulldown from triggering a button action on the PMIC, which prevents accidental shutdown in the event of an alert being
uncleared for greater than ten seconds. The FET between MAX17330 and System AP blocks the System AP pulldown
from triggering the wakeup when the AP doesn’t have power. The FET acts as a level shifter and passes the pulldown
alert signal in both directions when 1.8V of voltage is present.
www.analog.com
Analog Devices | 159
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Typical Application Circuits (continued)
Typical Application Schematic for System Side Implementaiton
N
N
CSN
CSP
100Ω
CHG
1kΩ
DIS
1kΩ
PFAIL
PCKP
0.1µF
100Ω
OPTIONAL
ZVC
22nF
SYS+
1nF
CP
ZVC/TH2
BATT
0.1µF
MAX17330
OPTIONAL
TH2
10Ω
ALRT
SDA/DQ
TH1
SCL
REG2 GND
1.8V
0.47µF
SYS–
Ordering Information
INTERFACE
PIN-PACKAGE
MAX17330X22+
PART
I 2C
15 WLP
MAX17330X22+T
I 2C
15 WLP
+Denotes a lead(Pb)-free/RoHS-compliant package.
T = Tape and reel.
www.analog.com
Analog Devices | 160
MAX17330
AccuCharge + ModelGauge m5 EZ 1-Cell Charger,
Fuel Gauge, and Protector
Revision History
REVISION
NUMBER
REVISION
DATE
0
5/21
Initial release
—
4/23
Updated title, General Description, Table 6, and Table 83, added Zero-Volt Charge
Recovery Diagram, HProtCfg2 Register, removed HConfig2 register, updated Charge
Control, Parallel Battery Management, Permanent Failure, Status Register (000h), Config2
Register (0ABh), ProtAlrt Register (0AFh), nI2CCfg Register (1B4h), nProtMiscTh Register
(1D6h), nDPLimit Register (1E0h), nOVPrtTh Register (1DAh), nDesignVoltage Register
(1E3h), sMPPCurrent (15Eh), RCell Register (014h), nChgCfg1 Register (1CBh), Power,
Enabling and Freeing Nonvolatile vs. Defaults, Nonvolatile Memory Configuration Options,
Nonvolatile Block Programming, Secret Management, Single Step Secret Generation, MultiStep Secret Generation Procedure, COMPUTE NEXT SECRET WITHOUT ROM ID
[3000h], COMPUTE NEXT SECRET WITH ROM ID [3300h], and Typical Application
Circuit, added SBS Protocols section
All
1
PAGES
CHANGED
DESCRIPTION
Information furnished by Analog Devices is believed to be accurate and reliable. However, no responsibility is
assumed by Analog Devices for its use, nor for any infringements of patents or other rights of third parties that may
result from its use. Specifications subject to change without notice. No license is granted by implication or otherwise
under any patent or patent rights of Analog Devices. Trademarks and registered trademarks are the property of
their respective owners.
w w w . a n a l o g . c o m
Analog Devices | 161