English
Language : 

BQ27425-G2_15 Datasheet, PDF (22/39 Pages) Texas Instruments – Fuel Gauge With Integrated Sense Resistor
bq27425-G2
SLUSB23B – OCTOBER 2012 – REVISED JUNE 2015
www.ti.com
8.5.2.5 BlockData( ): 0x40 through 0x5F
UNSEALED Access: This data block is the remainder of the 32-byte data block when accessing general block
data.
SEALED Access: This data block is used to access the Manufacturer Info block. No other NVM or RAM data
blocks are accessible in SEALED mode.
8.5.2.6 BlockDataChecksum( ): 0x60
UNSEALED Access: This byte contains the checksum on the 32 bytes of block data read or written. The least-
significant byte of the sum of the data bytes written must be complemented ( [255 – x], for x being the least-
significant byte) before being written to 0x60. For a block write, the correct complemented checksum must be
written before the BlockData( ) will be transferred to NVM or RAM.
SEALED Access: This byte contains the checksum for the 8 bytes of the Manufacturer Info block.
8.5.2.7 BlockDataControl( ): 0x61
UNSEALED Access: This command is controls the data access mode. Writing 0x00 to this command enables
BlockData( ) to access NVM and RAM.
SEALED Access: This command is not available in SEALED mode.
8.5.2.8 Reserved: 0x62 through 0x7F
8.5.3 Block Data Interface
8.5.3.1 Accessing Block Data
The fuel gauge contains both re-writable EEPROM non-volatile memory (NVM) and ROM-based data blocks.
Upon device RESET, the ROM-based data blocks are copied to associated volatile RAM space to initialize
default configuration and data constants to be used by the fuel gauging algorithm. Re-writable NVM-based data
blocks contain information expected to change such as: calibration, customer data, and Impedance Track fuel
gauging data tables. If the application requires a change to the NVM or RAM configuration data, the host can
update the data blocks in CONFIG UPDATE mode. RAM-based data changes are temporary and must be
applied by the host using CONFIG UPDATE mode after each device RESET; while changes to the NVM data
blocks are permanent. The data blocks can be accessed in several different ways, depending on the access
mode and what data is being accessed.
Commonly accessed data block locations, frequently read by a system, are conveniently accessed through
specific instructions, already described in Extended Data Commands. These commands are available when the
fuel gauge is either in UNSEALED or SEALED mode.
Most data block locations, however, are only accessible in UNSEALED mode by use of the evaluation software
or by data block transfers. These locations should be optimized and/or fixed during the development and
manufacture processes. Once established, the values generally remain unchanged during end-equipment
operation.
To access data locations individually, the block containing the desired data NVM locations must be transferred to
the command register locations, where they can be read to the system or changed directly. This is accomplished
by sending the set-up command BlockDataControl( ) (0x61) with data 0x00. Up to 32 bytes of data can be read
directly from the BlockData( ) (0x40 through 0x5F), externally altered, then rewritten to the BlockData( )
command space. Alternatively, specific locations can be read, altered, and rewritten if their corresponding offsets
are used to index into the BlockData( ) command space. Finally, the data residing in the command space is
transferred to the associated data block, once the correct checksum for the whole block is written to
BlockDataChecksum( ) (0x60).
Occasionally, a data CLASS will be larger than the 32-byte block size. In this case, the DataBlock( ) command
designates in which 32-byte block the desired locations reside. The correct command address is then given by
0x40 + offset modulo 32. For example, to access Sleep Current in the Gas Gauging class, the DataClass( ) is
issued 82 (0x52) to set the class. Because the offset is 34, it resides in the second 32-byte block. Hence,
DataBlock( ) is issued 0x01 to set the block offset, and the offset used to index into the BlockData( ) memory
area is 0x40 + 34 modulo 32 = 0x40 + 2 = 0x40 + 2 = 0x42.
22
Submit Documentation Feedback
Product Folder Links: bq27425-G2
Copyright © 2012–2015, Texas Instruments Incorporated