ZHCSAB6E October 2012 – May 2018 BQ27545-G1
PRODUCTION DATA.
By default, the bq27545-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 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 bq27545-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.