SLUUBW5A July 2018 – September 2021 BQ34Z100-G1
The BQ34Z100-G1 contains 32 bytes of user-programmable data flash storage: Manufacturer Info Block. The method for accessing these memory locations is slightly different, depending on if the device is in UNSEALED or SEALED modes.
When in UNSEALED mode and when an “0x00” has been written to BlockDataControl(), accessing the Manufacturer Info Block 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 is defined as having a Subclass = 58 and an Offset = 0 through 31 (32 byte block). The specification of Class = System Data is not needed to address Manufacturer Info Block, but is used instead for grouping purposes when viewing data flash info in the BQ34Z100-G1 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 host. Upon successful writing of checksum information to BlockDataChecksum(), the modified block is returned to data flash.
Manufacturer Info Block A is “read only” when in SEALED mode.