8. Calculate offset value:
•
CC Offset
= ADC
CC
× (Coulomb Counter Offset Samples)
9. Write the new
CC Offset
value to data flash.
10. Recheck the current reading and if it is not accurate, repeat the steps.
11. Send 0x002D to
MACSubcmd()
to clear the
[CAL_EN]
flag if all calibration is complete.
11.4.2 Board Offset Calibration
Note
Because of hardware improvements in this device, Board Offset Calibration is not necessary. Only run
the Board Offset Calibration procedure if board offset current is observed.
1. Ensure that Offset Calibration was performed first.
2. Apply a known current of 0 mA, and ensure no current is flowing through the sense resistor connected
between the SRP and SRN pins.
3. If
ManufacturerStatus()[CAL_EN]
= 0, send 0x002D to
MACSubcmd()
to enable the
[CAL_EN]
flag.
4. Send 0xF081 to
MACSubcmd()
to enable raw cell voltage output on
MACData()
.
5. Poll
MACData()
until ZZ increments by 2 before reading data.
6. Obtain the ADC conversion readings of current from
MACData()
:
• ADC
CC
= AAaa of
MACData()
Is ADC
CC
< 0x8000? If yes, use ADC
CC
; otherwise, ADC
CC
= –(0xFFFF – AAaa + 0x0001).
7. Average several readings for higher accuracy. Poll
MACData()
until ZZ increments to indicate that updated
values are available:
• ADC
CC
= [ADC
CC
(reading n) + … + ADC
CC
(reading 1)]/n
8. Read
Coulomb Counter Offset Samples
from data flash.
9. Calculate offset value:
• Board offset = (ADC
CC
× Coulomb Counter Offset Samples) –
CC Offset
10. Write the new
Board Offset
value to data flash.
11. Recheck the current reading. If the reading is not accurate, repeat the steps.
12. Send 0x002D to
MACSubcmd()
to clear the
[CAL_EN]
flag if all calibration is complete.
11.4.3 CC Gain/Capacity Gain Calibration
1. Apply a known current (typically 1 A to 2 A), and ensure I
CC
is flowing through the sense resistor connected
between the SRP and SRN pins.
2. If
ManufacturerStatus()[CAL_EN]
= 0, send 0x002D to
MACSubcmd()
to enable the
[CAL_EN]
flag.
3. Send 0xF081 to
MACSubcmd()
to enable raw CC output on
MACData()
.
4. Poll
MACData()
until ZZ increments by 2 before reading data.
5. Check the ADC conversion current output from
MACData()
:
• ADC
CC
= AAaa of
MACData()
Is ADC
CC
< 0x8000? If yes, use ADC
CC
; otherwise, ADC
CC
= –(0xFFFF – AAaa + 0x0001).
6. Average several readings for higher accuracy. Poll
MACData()
until ZZ increments to indicate that updated
values are available:
• ADC
CC
= [ADC
CC
(reading n) + … + ADC
CC
(reading 1)]/n
7. Read
Coulomb Counter Offset Samples
from data flash.
8. Calculate gain values:
CC
CC
I
CC Gain
CC Offset
Board Offset
ADC
Coulomb Counter Offset Samples
=
+
-
298261.6178
Capacity Gain
CC Gain
=
´
9. Write the new
CC Gain
and
Capacity Gain
values to data flash.
10. Recheck the current reading. If the reading is not accurate, repeat the steps.
11. Send 0x002D to
MACSubcmd()
to clear the
[CAL_EN]
flag if all calibration is complete.
Calibration
62
BQ28Z610-R2
Copyright © 2022 Texas Instruments Incorporated