0x00 ManufacturerAccess() and 0x44 ManufacturerBlockAccess()
www.ti.com
98
SLUUBD3D–September 2015–Revised September 2018
Submit Documentation Feedback
Copyright © 2015–2018, Texas Instruments Incorporated
SBS Commands
17.2 0x00 ManufacturerAccess() and 0x44 ManufacturerBlockAccess()
The ManufacturerAccess() and ManufacturerBlockAccess() commands make available a variety of data:
• ManufacturerAccess() provides access to the data through the Smart Battery data set standard,
including when in SEALED mode, using a sequence of a ManufacturerAccess() write word and a
ManufacturerData() block read.
• The ManufacturerBlockAccess() is an extended command that enables access to the same data, but
through a simpler block write/read sequence to the same command.
ManufacturerAccess() example to read LifetimeDataBlock1():
a. Send LifetimeDataBlock1() command through the ManufacturerAccess(): SMBus Write Word of
0x0060 to command 0x00.
b. SMBus Read Block of command 0x23: The first two bytes of the return block will be the data length
and the next bytes will be the data of the command.
ManufacturerBlockAccess() example to read LifetimeDataBlock1():
a. Send LifetimeDataBlock1() command through the ManufacturerBlockAccess(): SMBus Write Block of
0x60 + 0x00 to command 0x44. (Data must be sent in Little Endian.)
b. SMBus Read Block of command 0x44: The first two bytes of the return block will be the Manufacturer
Access command, followed by return data of the command.
Each data entity read/write through ManufacturerBlockAccess() is in Little Endian. For example, a 2-byte
data 0x1234 should be read/write as 0x34 + 0x12; a 4-byte 0x12345678 data should be read/write as
0x78+ 0x56+ 0x34 + 0x12.
There are two exceptions:
1. 0x0035 SecurityKeys(): This Manufacturer Access command allows the user to read or change the
Unseal/Full Access keys. The above description is applied when reading the security keys. However,
only the ManufacturerBlockAccess() can be used to change the security keys.
To write data through ManufacturerBlockAccess(), follow the SMBus write block protocol with the first
two bytes being the SecurityKeys(), followed by the desired new keys' values. See
ManufacturerAccess() 0x0035 Security Keys for details.
2. 0x0037 AuthenticationKey(): This Manufacturer Access command allows users to change the
authentication key. Sending the new authentication key through ManufacturerBlockAccess() is
supported. Additionally, the gauge also supports the approach of updating the authentication keys by
sending the new keys to ManufacturerInput(). See Section 17.2.32 for details.
Table 17-2. ManufacturerAccess() Command List
Command Function Access Format
Data Read on
0x44 and 0x23
DATA
READ on
0x2F
Not Available in
SEALED Mode
Type Unit
0x0001 DeviceType R Block √ — — Hex —
0x0002 FirmwareVersion R Block √ — — Hex —
0x0003 HardwareVersion R Block √ — — Hex —
0x0004 IFChecksum R Block √ — — Hex —
0x0005 StaticDFSignature R Block √ — — Hex —
0x0006 ChemID R Block √ — — Hex —
0x0008 StaticChemDFSignature R Block √ — — Hex —
0x0009 AllDFSignature R Block √ — — Hex —
0x0010 ShutdownMode W — — — — Hex —
0x0011 SleepMode W — — — √ Hex —
0x0012 DeviceReset W — — — √ Hex —
0x001B CellBalanceToggle W — — — √ Hex —
0x001C AFEDelayDisable W — — — √ Hex —
0x001D SAFEToggle W — — — √ Hex —
0x001E PrechargeFET W — — — √ Hex —
0x001F ChargeFET W — — — √ Hex —
0x0020 DischargeFET W — — — √ Hex —
0x0021 Gauging W — — — √ Hex —