English
Language : 

BQ27510-G2 Datasheet, PDF (15/38 Pages) Texas Instruments – System-Side Impedance Track™ Fuel Gauge With Direct Battery Connection
bq27510-G2
www.ti.com
SLUS948 – AUGUST 2010
ApplicationStatus( ): 0x6a
This byte function allows the system to read the bq27510-G2 Application Status data flash location. Refer to
Table 6 for specific bit definitions.
Reserved – 0x6b – 0x7f
DATA FLASH INTERFACE
Accessing the Data Flash
The bq27510-G2 data flash is a non-volatile memory that contains bq27510-G2 initialization, default, cell status,
calibration, configuration, and user information. The data flash can be accessed in several different ways,
depending on what mode the bq27510-G2 is operating in and what data is being accessed.
Commonly accessed data flash memory locations, frequently read by a system, are conveniently accessed
through specific instructions, already described in Section Data Commands. These commands are available
when the bq27510-G2 is either in UNSEALED or SEALED modes.
Most data flash locations, however, are only accessible in UNSEALED mode by use of the bq27510-G2
evaluation software or by data flash block transfers. These locations should be optimized and/or fixed during the
development and manufacture processes. They become part of a golden image file and can then be written to
multiple battery packs. Once established, the values generally remain unchanged during end-equipment
operation.
To access data flash locations individually, the block containing the desired data flash location(s) 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…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 data flash, once the correct checksum for the whole block is written to BlockDataChecksum( )
(0x60).
Occasionally, a data flash CLASS will be larger than the 32-byte block size. In this case, the DataFlashBlock( )
command is used to designate which 32-byte block the desired locations reside in. The correct command
address is then given by 0x40 + offset modulo 32. For example, to access Terminate Voltage in the Gas
Gauging class, DataFlashClass( ) is issued 80 (0x50) to set the class. Because the offset is 48, it must reside in
the second 32-byte block. Hence, DataFlashBlock( ) is issued 0x01 to set the block offset, and the offset used to
index into the BlockData( ) memory area is 0x40 + 48 modulo 32 = 0x40 + 16 = 0x40 + 0x10 = 0x50.
Reading and writing subclass data are block operations up to 32 bytes in length. If during a write the data length
exceeds the maximum block size, then the data is ignored.
None of the data written to memory are bounded by the bq27510-G2– the values are not rejected by the fuel
gauge. Writing an incorrect value may result in hardware failure due to firmware program interpretation of the
invalid data. The written data is persistent, so a power-on reset does resolve the fault.
MANUFACTURER INFORMATION BLOCKS
The bq27510-G2 contains 64 bytes of user programmable data flash storage: Manufacturer Info Block A and
Manufacturer Info Block B. The method for accessing these memory locations is slightly different, depending
on whether the device is in UNSEALED or SEALED modes.
When in UNSEALED mode, and when 0x00 has been written to BlockDataControl( ), accessing the Manufacturer
Info Blocks is identical to accessing general data flash locations. First, a DataFlashClass( ) command is used to
set the subclass, then a DataFlashBlock( ) command sets the offset for the first data flash address within the
subclass. The BlockData( ) command codes contain the referenced data flash data. When writing the data flash,
a checksum is expected to be received by BlockDataChecksum( ). Only when the checksum is received and
verified is the data actually written to data flash.
Copyright © 2010, Texas Instruments Incorporated
Submit Documentation Feedback
15