English
Language : 

BQ27500-V120 Datasheet, PDF (16/36 Pages) Texas Instruments – System-Side Impedance Track™ Fuel Gauge
bq27500-V120
System-Side Impedance Track™ Fuel Gauge
SLUS880 – OCTOBER 2008
www.ti.com
4.1.2.6 BlockDataControl( ): 0x61
UNSEALED Access: This command is used to control data flash access mode. Writing 0x00 to this
command enables BlockData( ) to access general data flash. Writing a 0x01 to this command enables
SEALED mode operation of DataFlashBlock( ).
SEALED Access: This command is not available in SEALED mode.
4.1.2.7 DeviceNameLength( ): 0x62
UNSEALED and SEALED Access: This byte contains the length of the Device Name.
4.1.2.8 DeviceName( ): 0x63…0x69
UNSEALED and SEALED Access: This block contains the device name that is programmed in Device
Name.
4.1.2.9 ApplicationStatus( ): 0x6a
This byte function allows the system to read the bq27500 Application Status data flash location. See
Table 6-1 for specific bit definitions.
4.1.2.10 Reserved — 0x6b–0x7f
4.2 DATA FLASH INTERFACE
4.2.1 ACCESSING THE DATA FLASH
The bq27500 data flash is a non-volatile memory that contains bq27500 initialization, default, cell status,
calibration, configuration, and user information. The data flash can be accessed in several different ways,
depending on what mode the bq27500 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 4.1, DATA COMMANDS. These
commands are available when the bq27500 is either in UNSEALED or SEALED modes.
Most data flash locations, however, are only accessible in UNSEALED mode by use of the bq27500
evaluation software or by data flash block transfers. These locations must 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 the information can be read to the system or
changed directly. This is accomplished by sending the setup 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 is larger than the 32-byte block size. In this case, the DataFlashBlock( )
command is used to designate in which 32-byte block the desired information resides. The correct
command address is then given by 0x40 + offset modulo 32. For example, to access Terminate Voltage
in the Fuel 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.
16
GENERAL DESCRIPTION
Submit Documentation Feedback