Here we want to describe how the chip inside the battery of pre and pixi works. This info was used to build the app Dr.Battery.
This is just the start and needs to get completed
- 1 Intro
- 2 Chip inside the battery
- 3 Interface used by WebOS
- 4 Registers accessible trough the interface
- 5 Reading and writing from/to the registers
- 6 Manufacturer Rating (full40)
- 7 Aging Estimation vs. Calibration (age)
- 8 Third party batteries
- 9 Experiences with calibrating by the app Dr.Battery
- 10 Threads at "precentral" regarding the characteristics of the battery
The Pre and the Pixi are using the same battery. The battery includes a chip providing WebOS with all information about the condition of the battery.
The battery communicates with the operating system through a "Dallas 1-Wire® interface".
The chip also includes a nonvolatile storage. All needed informations are stored within this storage. WebOS doesn't store any information about the battery on the device.
Chip inside the battery
The battery is using the "Dallas Semiconductor Maxim DS2784 1-Cell Stand-Alone Fuel Gauge IC with Li+ Protector and SHA-1".
The manual of the chip can be found here: Manual of the DS2784
- Precision Voltage, Temperature, and Current Measurement System
- Available Capacity Estimated from Coulomb Count, Discharge Rate, Temperature, and Cell Characteristics
- Estimates Cell Aging Using Learn Cycles
- Uses Low-Cost Sense Resistor
- Allows for Calibration of Gain and Temperature Coefficient
- Li+ Safety Circuitry—Overvoltage, Undervoltage, Overcurrent, Short-Circuit Protection
- Programmable Safety Thresholds for Overvoltage and Overcurrent
- Authentication Using SHA-1 Algorithm and 64-Bit Secret
- 32-Byte Parameter EEPROM
- 16-Byte User EEPROM
- Dallas 1-Wire Interface with 64-Bit Unique ID
- Tiny, Pb-Free, 14-Pin TDFN Package Embeds Easily in Battery Packs Using Thin Prismatic Cells
Interface used by WebOS
The communication with the battery is done by the kernel device driver "w1_ds2784.c" written by palm.
At boottime webOS creates a directory structure in "/sys/devices/w1_bus_master1" with character device files.
An application is able to read and write to and from the battery through these "files".