ZHCSDO4B May 2015 – May 2018
PRODUCTION DATA.
By default, the bq27546-G1 contains a default plain-text authentication key of
0x0123456789ABCDEFFEDCBA9876543210. This default key is intended for development purposes. It should be changed to a secret key and the part should be immediately sealed before putting a pack into operation. Once written, a new plain-text key cannot be read again from the fuel gauge while in SEALED mode.
Once the bq27546-G1 is UNSEALED, the authentication key can be changed from its default value by writing to the Authenticate() Extended Data Command locations. A 0x00 is written to BlockDataControl() to enable the authentication data commands. The DataFlashClass() is issued 112 (0x70) to set the Security class. Up to 32 bytes of data can be read directly from the BlockData() (0x40...0x5F) and the authentication key is located at 0x48 (0x40 + 0x08 offset) to 0x57 (0x40 + 0x17 offset). The new authentication key can be written to the corresponding locations (0x48 to 0x57) using the BlockData() command. The data is transferred to the data flash when the correct checksum for the whole block (0x40 to 0x5F) is written to BlockDataChecksum() (0x60). The checksum is (255 – x) where x is the 8-bit summation of the BlockData() (0x40 to 0x5F) on a byte-by-byte basis. Once the authentication key is written, the gauge can then be sealed again.