English
Language : 

BQ27541 Datasheet, PDF (17/38 Pages) Texas Instruments – Single Cell Li-Ion Battery Fuel Gauge for Battery Pack Integration
bq27541
www.ti.com ........................................................................................................................................................................................... SLUS861 – DECEMBER 2008
BlockDataChecksum( ): 0x60
The host system should write this value to inform the device that new data is ready for programming into the
specified data flash class and block.”
UNSEALED Access: This byte contains the checksum on the 32 bytes of block data read or written to data flash.
The least-significant byte of the sum of the data bytes written must be complemented ( [255 – x] , for x the
least-significant byte) before being written to 0x60.
SEALED Access: This byte contains the checksum for the 32 bytes of block data written to Manufacturer Info
Block A, B, or C. The least-significant byte of the sum of the data bytes written must be complemented ( [255 –
x] , for x the least-significant byte) before being written to 0x60.
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.
DeviceNameLength( ): 0x62
UNSEALED and SEALED Access: This byte contains the length of the Device Name.
DeviceName( ): 0x63…0x69
UNSEALED and SEALED Access: This block contains the device name that is programmed in Device Name.
Reserved – 0x6a – 0x7f
DATA FLASH INTERFACE
Accessing the Data Flash
The bq27541 data flash is a non-volatile memory that contains bq27541 initialization, default, cell status,
calibration, configuration, and user information. The data flash can be accessed in several different ways,
depending on what mode the bq27541 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 bq27541 is either in UNSEALED or SEALED modes.
Most data flash locations, however, are only accessible in UNSEALED mode by use of the bq27541 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.
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27541
Submit Documentation Feedback
17