Status
Condition
Action
Activate
0x0075 to
MACSubcmd()
Outputs 20 bytes of IT data values on
MACData()
in the following
format: aaAAbbBBccCCddDDeeEEffFFggGGhhHHIiiIIjjJJ where:
AAaa: QMax 1. QMax of Cell 1
BBbb: QMax 2. QMax of Cell 2
CCcc: QMaxDOD0_1. Cell 1 DOD for Qmax
DDdd: QMaxDOD0_2. Cell 2 DOD for Qmax
EEee: QMaxPassedQ. Passed charge since DOD for Qmax
recorded (mAh)
FFff: QMaxTime. Time since DOD for Qmax recorded (hour / 16
units)
GGgg: Tk. Thermal model “k”
HHhh: Ta. Thermal model “a”
IIii: RawDOD0_1. Cell 1 raw DOD0 measurement
JJjj: RawDOD0_2. Cell 2 raw DOD0 measurement
12.2.42 MACSubcmd() 0x0076 CB Status
This command returns the status of the cell being balanced.
Status
Condition
Action
Enable
0x0076 to
MACSubcmd()
Outputs 10 bytes of IT data values on
MACData()
in the following
format:
aaAAbbBBccCCddDDeeEE
AAaa: CBTime1. Cell 1 balance time remaining
BBbb: CBTime2. Cell 2 balance time remaining
CCcc: CBDOD_1. Cell 1 DOD when balance calculated
DDdd: CBDOD_2. Cell 2 DOD when balance calculated
EEee: CBTotalDODChg. Total DOD charge when balance calculated
12.2.43 MACSubcmd() 0x0077 State-of-Health
This command returns the state-of-health percentage.
Status
Condition
Action
Enable
0x0077 to
MACSubcmd()
Returns the state-of-health percentage on subsequent read on
MACData()
12.2.44 MACSubcmd() 0x0F00 ROM Mode
This command sends the device into ROM mode in preparation for reprogramming.
Status
Condition
Action
ROM Mode
OperationStatus()[SEC1,SEC0]
= 0,1 AND
0x0F00 to
MACSubcmd()
Device goes to ROM mode ready for update. ROM command 0x08 will
return to firmware mode. (Note: ROM commands are sent to address
0x16 using SMB protocol.)
12.2.45 Data Flash Access() 0x4000–0x5FFF
Accessing data flash (DF) is only supported by the
MACSubcmd()
by addressing the physical address.
To write to the DF, send the starting address, followed by the DF data block. The DF data block is the intended
revised DF data to be updated to DF. The size of the DF data block ranges from 1 byte to 32 bytes. All individual
data must be sent in Little Endian.
Write to DF example:
Assuming: data1 locates at address 0x4000 and data2 locates at address 0x4002.
Both data1 and data2 are U2 type.
To update data1 and data2, send a block write with command = 0x3E
block = starting a DF data block
= 0x00 + 0x40 + data1_L data1_Hi data2_L data2_HighByte
I2C Commands
SLUUCO0 – APRIL 2022
BQ28Z610-R2
91
Copyright © 2022 Texas Instruments Incorporated