English
Language : 

BQ27500_08 Datasheet, PDF (17/39 Pages) Texas Instruments – System-Side Impedance Track™ Fuel Gauge
www.ti.com
bq27500
bq27501
System-Side Impedance Track™ Fuel Gauge
SLUS785D – SEPTEMBER 2007 – REVISED APRIL 2008
None of the data written to memory are bounded by the bq27500/1– 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.
4.3 MANUFACTURER INFORMATION BLOCKS
The bq27500/1 contains 96 bytes of user programmable data flash storage: Manufacturer Info Block A,
Manufacturer Info Block B, Manufacturer Info Block C. 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 and 0x00 has been written to BlockDataControl( ), accessing the
manufacturer information 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.
As an example, the data flash location for Manufacturer Info Block B is defined as having a Subclass =
58 and an Offset = 32 through 63 (32 byte block). The specification of Class = System Data is not needed
to address Manufacturer Info Block B, but is used instead for grouping purposes when viewing data
flash info in the bq27500/1 evaluation software.
When in SEALED mode or when 0x01 BlockDataControl( ) does not contain 0x00, data flash is no longer
available in the manner used in UNSEALED mode. Rather than issuing subclass information, a
designated manufacturer information block is selected with the DataFlashBlock( ) command. Issuing a
0x01, 0x02, or 0x03 with this command causes the corresponding information block (A, B, or C,
respectively) to be transferred to the command space 0x40…0x5f for editing or reading by the system.
Upon successful writing of checksum information to BlockDataChecksum( ), the modified block is returned
to data flash. Note: Manufacturer Info Block A is read-only when in SEALED mode.
4.4 ACCESS MODES
The bq27500/1 provides three security modes (FULL ACCESS, UNSEALED, and SEALED) that control
data flash access permissions, according to Table 4-6. Public Access refers to those data flash locations,
specified in Table 4-7, that are accessible to the user. Private Access refers to reserved data flash
locations used by the bq27500/1 system. Care should be taken to avoid writing to Private data flash
locations when performing block writes in FULL ACCESS mode, by following the procedure outlined in
Section 4.2.1, ACCESSING THE DATA FLASH.
Security Mode
FULL ACCESS
UNSEALED
SEALED
Table 4-6. Data Flash Access
DF – Public Access
R/W
R/W
R
DF – Private Access
R/W
R/W
N/A
Although FULL ACCESS and UNSEALED modes appear identical, only FULL ACCESS allows the
bq27500/1 to write access-mode transition keys.
4.5 SEALING/UNSEALING DATA FLASH
The bq27500/1 implements a key-access scheme to transition between SEALED, UNSEALED, and
FULL-ACCESS modes. Each transition requires that a unique set of two keys be sent to the bq27500/1
via the Control( ) control command. The keys must be sent consecutively, with no other data being written
to the Control( ) register between them. Note that to avoid conflict, the keys must be different from the
codes presented in the CNTL DATA column of Table 4-2 Control( ) subcommands.
Submit Documentation Feedback
GENERAL DESCRIPTION
17