www.ti.com
4.3 MANUFACTURER INFORMATION BLOCKS4.4 ACCESS MODES4.5 SEALING/UNSEALING DATA FLASH
bq27500
bq27501System-Side Impedance Track™ Fuel Gauge
SLUS785 – SEPTEMBER 2007
The bq27350 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 memorylocations 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 theManufacturer 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 dataflash address within the subclass. The BlockData( ) command codes contain the referenced data flashdata. When writing the data flash, a checksum is expected to be received by BlockDataChecksum( ). Onlywhen 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 neededto address Manufacturer Info Block B, but is used instead for grouping purposes when viewing dataflash info in the bq27500/1 evaluation software.
When in SEALED mode or when “0x01” BlockDataControl( ) does not contain “0x00”, data flash is nolonger available in the manner used in UNSEALED mode. Rather than issuing subclass information, adesignated Manufacturer Information Block is selected with the DataFlashBlock( ) command. Issuing a0x01, 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 returnedto data flash. Note: Manufacturer Info Block A is “read only” when in SEALED mode.
The bq27500/1 provides three security modes in which control data flash access permissions according toTable 4-6 .Public Access refers to those data flash locations, specified in Table 4-7 , that are accessible tothe user. Private Access refers to reserved data flash locations used by the bq27500/1 system. Careshould be taken to avoid writing to Private data flash locations when performing block writes in FULLACCESS mode, by following the procedure outlined in Section 4.2.1 .
Table 4-6. Data Flash Access
Security Mode DF – Public Access DF – Private Access
BOOTROM N/A N/A
FULL ACCESS R/W R/W
UNSEALED R/W R/W
SEALED R N/A
Although FULL ACCESS and UNSEALED modes appear identical, FULL ACCESS allows the bq27500/1to directly transition to BOOTROM mode and also write access mode transition keys. The UNSEAL modelacks these abilities.
The bq27500/1 implements a key-access scheme to transition between SEALED, UNSEALED, andFULL-ACCESS modes. Each transition requires that a unique set of 2 keys be sent to the bq27500/1 viathe Control( ) control command. The keys must be sent consecutively, with no other data being written tothe Control( ) register in between. Note that to avoid conflict, the keys must be different from the codespresented in the CNTL DATA column of Table 4-2 Control( ) subcommands.
When in SEALED mode the Control Status( )’s [SS] bit is set, but when the UNSEAL keys are correctlyreceived by the bq27500/1, the [SS] bit is cleared. When the FULL-ACCESS keys are correctly receivedthen the Control Status( ) [FAS] bit is cleared.
Submit Documentation Feedback GENERAL DESCRIPTION 17