English
Language : 

BQ28Z560-R1_14 Datasheet, PDF (31/61 Pages) Texas Instruments – Single Cell Li-Ion Battery Gas Gauge
Not Recommended For New Designs
bq28z560-R1
www.ti.com
DATA FLASH INTERFACE
SLUSBD3 – APRIL 2013
ACCESSING THE DATA FLASH
The bq28z560-R1 data flash is a non-volatile memory that contains initialization, default, cell status, calibration,
configuration, and user information. The data flash can be accessed in several different ways, depending on in
which mode the bq28z560-R1 is operating and what data is being accessed.
Commonly accessed data flash memory locations frequently read by a system are conveniently accessed
through specific instructions, as described in DATA COMMANDS. These commands are available when the
bq28z560-R1 is either in UNSEALED or SEALED mode.
Most data flash locations, however, are only accessible in UNSEALED mode by use of the bq28z560-R1
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. 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 67, it must reside in the third 32-byte
block. Hence, DataFlashBlock() is issued 0x02 to set the block offset, and the offset used to index into the
BlockData() memory area is 0x40 + 67 modulo 32 = 0x40 + 16 = 0x40 + 0x03 = 0x43.
Reading and writing subclass data are block operations up to 32 bytes in length. If the data length exceeds the
maximum block size during a write, then the data is ignored.
NOTE
None of the data written to memory is bounded by the bq28z560-R1: The values are not
rejected by the gas 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 not resolve the fault.
Copyright © 2013, Texas Instruments Incorporated
Product Folder Links: bq28z560-R1
Submit Documentation Feedback
31