SH366002 SBS Solution User Guide
Contents
Contents............................................................................................................................................ 1
1. FEATURES ................................................................................................................................... 3
2. REFERRENCE SCHEMATIC ....................................................................................................... 3
3. CHIP INFORMATION ................................................................................................................... 3
4. GERNERAL DESCRIPTION ......................................................................................................... 4
4.1 MEASUREMENT ................................................................................................................. 4
4.2 CHARGE CONTROL ........................................................................................................... 6
4.3 TEMPERATURE MEASUREMENT ..................................................................................... 8
4.4 PROTECTION FLAGS ......................................................................................................... 9
4.5 TWI /SWI Communication Mode ........................................................................................ 11
4.6 ACCESS MODES .............................................................................................................. 12
5. Lifetime Data Logging Parameters .............................................................................................. 12
6. System Control Function ............................................................................................................. 14
6.1 shutdown mode.................................................................................................................. 15
6.2 Interrupt Mode.................................................................................................................... 16
6.3 Battery Trip Point interrupt Function .................................................................................. 17
7. DATA COMMANDS .................................................................................................................... 21
7.1 STANDARD DATA COMMANDS ...................................................................................... 21
7.2 EXTENDED DATA COMMANDS....................................................................................... 32
7.3 DATA FLASH DESCRIPTION .......................................................................................... 34
7.4 SWI HOST INTERRUPTION FEATURE ............................................................................ 48
8. POWER MODE ........................................................................................................................... 49
8.1 NORMAL MODE ................................................................................................................ 49
8.2 SLEEP MODE.................................................................................................................... 49
8.3 FULLSLEEP MODE ........................................................................................................... 50
8.4 HIBERNATE MODE ........................................................................................................... 50
9. ELECTRICAL SPECIFICATIONS ............................................................................................... 51
9.1 ABSOLUTE MAXIMUM RATINGS..................................................................................... 51
9.2 DC SPECIFICATIONS ....................................................................................................... 51
9.3 AC SPECIFICATIONS ....................................................................................................... 53
10. REFERENCE SCHEMATIC ...................................................................................................... 56
1
V 0162
SH366002 SBS Solution User Guide
11. ORDERING INFORMATION .................................................................................................... 57
12. PACKAGE INFORMATION ...................................................................................................... 57
13. Version History ......................................................................................................................... 58
2
V0162
SH366002 SBS Solution User Guide
1. FEATURES
1. Battery Fusion gauge for 1-Series Li-Ion Applications, providing Voltage, Current and Temperature etc.
2. Advanced Fusion Gauge Algorithm Accurately measures Available Charge
3. TWI and SWI Interface Formats for communication
4. External temperature and Internal temperature detection
5. Support SHA-1 Authentication
6. Low Power Consumption
7. DFN12 Package
2. REFERRENCE SCHEMATIC
PACK +
SH366002
VCC
VCCIN
VCC 18
BAT
STE
SWI
SWI
SDA
SDA
SCL
SCL
TEMP
+
-
ARSP
ARSN
VSS
PROTECTION
IC
PACK -
Figure 2.1 Reference Schematic
3. CHIP INFORMATION
Table 3.1 Chip Information
PRODUCTION
PACKAGE
TA
SH366002R/012RE
DFN12
-45℃~85℃
COMMUNICATION
FORMAT
TWI&SWI
TAPE and REEL
QUANTITY
Note: SH366002 is shipped in TWI mode.
3
V0162
SH366002 SBS Solution User Guide
SWI
VCC 18
SCL
SH366002
STE
VCCIN
BAT
VCC
SDA
TEMP
ARSN
ARSP
VSS
Figure 3.1 PIN Configuration
Table 3.2 Pin Functions
PIN name
No.
Type
Description
STE
1
I/O
VCC18
2
P
VCCIN
3
P
BAT
4
IA
Cell-voltage measurement input. ADC input.
VCC
5
P
MCU power input.
VSS
6
P
MCU ground
ARSP
7
IA
CADC differential input. Analog input.
ARSN
8
IA
CADC differential input. Analog input.
TEMP
9
IA
External temperature sense input.
SDA
10
I/O
Slave TWI communications data input line.
SCL
11
I/O
Slave TWI communications clock input line.
SWI
12
I/O
Single wire communication line.
SHUTDOWN Enable Output
1.8V output voltage of the internal integrated LDO. Connect a minimum
0.47uF ceramic capacitor
The input voltage for the internal 1.8V LDO. Connect a 0.1uF ceramic
capacitor
4. GERNERAL DESCRIPTION
The implemented Advanced Fusion Gauge algorithm calculates the remaining capacity by analyzing voltage,
current, temperature and other relevant data.
4.1 MEASUREMENT
4.1.1 Gas Gauging
The SH366002 implements Advanced Fusion Gauge algorithm combined with Coulomb Counting and Open
Circuit Cell Voltage Measurement, to achieve the smart battery gas gauging, according to currently measured cell
voltage, temperature, current, temperature and remaining capacity.
4
V0162
SH366002 SBS Solution User Guide
During charge or discharge period, the SH366002 updates the remaining capacity based on Coulomb Counting
every second. No matter in any mode(CHG, DSG or Relaxation mode), the SH366002 adjusts the capacity
according to the measured voltage, current, temperature and other relevant data as long as it meet some certain
conditions. SH366002 automatically compensates for aging, temperature, and discharge rate, providing accurate
State of Charge (SOC) over a wide range of operating conditions.
NominalAvailableCapacity( )(NAC) represents the uncompensated remaining capacity of the battery.
FullAvailableCapacity( )(FAC) represents the uncompensated full charge capacity of the battery.
RemainCapacity( )(RC) represents the compensated remaining capacity of the battery
FullChargeCapacity( )(FCC) represents the compensated full charge capacity of the battery
4.1.2 Gauge Related Registers
4.1.2.1 Dsg Current Threshold
This register is used as a threshold to determine if actual discharge current is flowing out of the cell. This threshold
should be set low enough to be below any normal application load current but high enough to prevent noise or drift
from affecting the measurement.
4.1.2.2 Chg Current Threshold
This register is used as a threshold to determine if actual charge current is flowing into the cell. This threshold
should be set low enough to be below any normal charge current but high enough to prevent noise or drift from
affecting the measurement.
4.1.2.3 Quit Current, Dsg Relax Time, Chg Relax Time, Quit Relax Time
When the current flowing in or out the battery remains above Quit Current for a period greater than Quit Relax
Time, the system quits relaxation mode. The default value of Quit Current should be greater than Standby
Current.
Either of the following criteria is met to enter Relaxation mode:
1. | AverageCurrent( ) | < | Quit Current | for Dsg Relax Time.
2. | AverageCurrent( ) | < | Quit Current | for Chg Relax Time.
After about 6 minutes in relaxation mode, SH366002 attempts to take accurate OCV readings with setting
[OCVTAKEN] in Flags() to 1. An additional requirement of dV/dt < 4 μV/sec is required for the SH66002 to
perform Qmax updates. These updates are used in the Fusion Gauge algorithms. It is critical that the battery
voltage be relaxed during OCV readings and that the current is not higher than C/20 when attempting to go into
relaxation mode.
5
V0162
SH366002 SBS Solution User Guide
4.1.2.4 Discharge Termination Voltage
The value of discharge terminate voltage is set by Terminate Voltage and the corresponding Remaining Capacity
is 0.
4.2 CHARGE CONTROL
4.2.1 Charge Termination
Charge termination voltage can be specified by users. It is Charging Voltage (default) when [JEITA] flag in
PackconfigC is set to 0, and is a corresponding JEITAChgVOL when [JEITA] flag in PackconfigC is set to 1.
SH366002 detects charge termination when all the below conditions are satisfied:
1. Pack Voltage >Selected Charging Voltage - Taper Voltage;
Charging Voltage,[JETIA] 0
JEITAChgVOL, [JEITA] 1
Selected Charging Voltage=
2. During two consecutive periods of Current Taper Window, the AverageCurrent< Taper Current;
3. During the same periods, the accumulated change in capacity ≥ Min Taper Capacity.
When this occurs, the [CHG] bit of Flags( ) is cleared.
If the [RMFCC] bit of PackConfiguration is set, NAC is set equal to FAC as well as RC is set equal to FCC.
If the TCA Set% is set as ‘-1’, the parameter is invalid; if as the other value, when the SOC is greater than the
threshold set in the TCA Set%, the [CHG] bit will be cleared.
If the TCA Clear% is set as ‘-1’, the parameter is invalid; if as the other value, when the SOC is lower than the
threshold set in the TCA Clear% , the [CHG] bit will be set.
If the FC Set% is set as ‘-1’, the parameter is invalid, the [FC] bit will be set only when Charge Termination occurs;
if as the other value, when the SOC is greater than the threshold set in the FC Set%, the [FC] bit will be set.
If the FC Clear% is set as ‘-1’, the parameter is invalid; if as the other value, when the SOC is lower than the
threshold set in the FC Clear% , the [FC] bit will be cleared.
4.2.2 JEITA Charging Profile
The fusion gauge provides full support for the JEITA charging algorithm, which employs separate constant-current
constant-voltage (CCCV) charging parameters depending on the measured Temperature(). The allowable
charging range is divided into four regions defined by T1 Temp, T2 Temp, T3 Temp, T4 Temp, and T5 Temp,
each with its own dedicated ChargingCurrent() and ChargingVoltage() values.
6
V0162
SH366002 SBS Solution User Guide
• If Temperature() < T1 Temp, ChargingCurrent() and ChargingVoltage() are set to 0.
• If T1 Temp ≤ Temperature() ≤ T2 Temp, T1-T2 Chg Current and T1-T2 Chg Voltage are reported.
• If T2 Temp T4 Temp without active charging, a charge inhibit condition is indicated by setting
the Flags()[CHG_INH] bit to 1 and clearing ChargingCurrent() and ChargingVoltage() to 0.
4.3 TEMPERATURE MEASUREMENT
The SH366002 measures battery temperature via two ways:
1. When the bit [TEMPS] of the PackConfig( ) is set, external Temperature measurement is enabled;
2. When the bit [TEMPS] of the PackConfig( ) is cleared, external Temperature measurement is disabled and the
temperature will be measured via the on-chip temperature sensor;
8
V0162
SH366002 SBS Solution User Guide
If the [TEMPS] =1, an external 10KΩ thermistor with negative temperature coefficients(for example: 103AT) is
necessary to be connected between the VCC and TEMP pins. Additional circuit information is shown in the
Reference Schematic.
4.3.1 Charge Over Temperature
If during charging, Temperature( ) reaches the threshold of OT Chg for a period of OT Chg Time and
AverageCurrent( ) > Chg Current Threshold , then the [OTC] bit of Flags( ) is set. When Temperature( ) falls to
OT Chg Recovery, the [OTC] of Flags( ) is cleared.
If OT Chg Time=0, the feature is disabled.
4.3.2 Discharge Over Temperature
If during discharging, Temperature( ) reaches the threshold of OT Dsg for a period of OT Dsg Time, and
AverageCurrent( ) ≤ - Dsg Current Threshold, then the [OTD] bit of Flags( ) is set. When Temperature( ) falls
to OT Dsg Recovery, the [OTD] bit of Flags( ) is cleared.
If OT Dsg Time = 0, the feature is disabled.
4.4 PROTECTION FLAGS
4.4.1 Tab Disconnect Detection
A tab disconnect condition is detected and the Flags()[TDD] flag is set when Qmaxcal < TDD Percent * Design
Capacity under the Fusion Gauge Qmax update conditions. And [TDD] flag is cleared when Qmaxcal > TDD
Percent * Design Capacity under the same conditions. The above Qmaxcal is the calculated Qmax duing the
current DSG-Relax-CHG-Relax cycle.
An interrupt can be configured to trigger on the (STE or SWI) pin when the tab disconnect condition is detected.
Enable/disable of the tab disconnect detection feature is controlled via the [TDDEN] bit in PackConfiguration B.
The [TDD] of Flags() can be configured to control interrupt pin (STE or SWI) by enabling interrupt mode. See
Section 6.2, Interrupt Mode, for details.
4.4.2 Internal Short Detection
The fusion gauge can indicate detection of an internal battery short by setting the [ISDEN] bit in
PackConfiguration B. If Cell Temperature ≥ 0 degC, the gauge compares the self-discharge current calculated
based on the RELAX mode(MinISDTime later in RELAX mode) to the AverageCurrent measured in the system.
The self-discharge rate is measured at 1 hour intervals. When battery SelfDischargeCurrent() is less than Design
Capacity / ISD Current threshold, the [ISD] of Flags() is set high.
The [ISD] of Flags() can be configured to control interrupt pin (STE or SWI) by enabling interrupt mode. See
Section 6.2, Interrupt Mode, for details.
9
V0162
SH366002 SBS Solution User Guide
4.4.3 STE_fuse Blow Function
Fuse can be blown by STE_fuse Blow Function. This function is enabled and disabled by subcommands
0x0091and 0x0092 respectively in Control command (0x00).
When the function is enabled, the fusion gauge detects the cell voltage and triggers STE pin state (set the STE pin
low or high according to Table 4.2 ) when cell voltage >STE_fuse Volt Set for STE_fuse Set Time. The STE pin
keeps high for STE_fuse Blow Time to blow fuse (fuse blown process) when the ‘1’ state in Table 4.2 is triggered.
During this process, Fuseflag(can be read by sub-command 0x0090) in Dataflash is updated to the following value
to indicate the fuse state.
Table 4.1 Fuseflag indicated state
Fuseflag
Condition
Indicated state
0x55
When no obvious current (|current|STE_fuse Volt) is detected. And also STE pin is set to high to blow fuse when the fusion gauge
detected STE_fuse Blow Time=0 and Fuseflag=0x55.
4.4.4 BATLOW/BATHIGH flags
SH366002 detects the cell voltage for low or high voltage alarm. [BATLOW] flag in Flags() will be set when lower
than BATLOW Set Threshold voltage is detected for BATLOW Set Time and cleared when cell voltage > BATLOW
Clear Threshold, and [BATHI] flag in Flags() will be set when more than BATHI Set Threshold voltage is detected
for BATHI Set Time and cleared when cell voltage < BATHI Clear Threshold.
4.5 TWI /SWI Communication Mode
SH366002 supports TWI Communication mode only (default) or TWI Communication / SWI Communication
compatible mode for system communication. SH366002 can respond TWI or SWI signals in same mode (the
Communication compatible mode) but not communicate in the two ways at the same time. The compatible mode is
non-effective until SH366002 receive some certain commands.
11
V0162
SH366002 SBS Solution User Guide
It is important to note that only under the condition of Pack Configuration [INTSEL] bit =0 can the communication
compatible mode be switch on resulting from that the SWI pin is also used as the respond pin by the Interrupt,
SE_Fuse and BTP Function etc.
4.6 ACCESS MODES
The SH366002 provides three security modes: FULL ACCESS, UNSEALED, and SEALED.
Table 4.4 Data Flash Access
SECURITY MODE
DATA FLASH
MANUFACTURER INFORMATION
FULL ACCESS
R/W
R/W
UNSEALED
R/W
R/W
SEALED
NONE
R(A) , R/W(B, C)
The difference between FULL ACCESS mode and UNSEALED mode is only FULL ACCESS mode allows
SH366002 to read/write access-mode transition key. In order to avoid conflict, the key must be different from the
CNTL DATA shown in Table 7.2.
4.6.1 FULL ACCESS / UNSEALED to SEALED
When SEALED-KEY is received via the Control( ) command, the SH366002 enters SEALED mode, setting the
[SS] bit and [FAS] bit. When in SEALED mode, the UNSEAL keys can be correctly received, but the system will
reenter the SEALED mode once a reset occurs.
4.6.2 SEALED to UNSEALED and UNSEALED to FULL ACCESS
Both Unseal Key and Full-Access Key are stored in data flash in two words. The first word is Key 0 and the
second word is Key 1. The order of the keys sent to SH366002 is Key 1 followed by Key 0. For example, if the
Unseal Key is 0x56781234, key 1 is 0x1234 and key 0 is 0x5678. Then Control( ) should supply 0x1234 and then
0x5678, to unseal the part.
5. Lifetime Data Logging Parameters
The Lifetime Data logging function helps development and diagnosis with the fusion gauge. The 0x0021
subcommand needs to be enabled for lifetime data logging functions to be active. The fusion gauge logs the
lifetime data as specified in the Lifetime Data and Lifetime Temp Samples data flash subclasses. The data log
recordings are controlled by the Lifetime Resolution data flash subclass. The Lifetime Data Logging can be started
by setting the 0x0021 subcommand and setting the Update Time register to a non-zero value.
Once the Lifetime Data Logging function is enabled, the measured values are compared to what is already stored
in the data flash. If the measured value is higher than the maximum or lower than the minimum value stored in the
data flash by more than the Resolution set for at least one parameter, the entire Data Flash Lifetime Registers are
updated after at least LTUpdateTime.
12
V0162
SH366002 SBS Solution User Guide
LTUpdateTime sets the minimum update time between DF writes. When a new maximum or minimum is detected,
a LT Update window of [update time] seconds is enabled and the DF writes occur at the end of this window.
Internal to the fusion gauge, there exists a RAM maximum/minimum table in addition to the DF
maximum/minimum table. The RAM table is updated independent of the resolution parameters. The DF table is
updated only if at least one of the RAM parameters exceeds the DF value by more than resolution associated with
it. When DF is updated, the entire RAM table is written to DF. Consequently, it is possible to see a new
maximum/minimum value for a certain parameter even if the value of this parameter never exceeds the maximum
or minimum value stored in the data flash for this parameter value by the resolution amount.
Figure 5.1 Lifetime logging data record example
Take Figure 5.1 for example, when the Life Time Data Logging is enabled, ΔTemp, ΔVoltage, ΔCurrent are
detected every second. The above ΔTemp, ΔVoltage, ΔCurrent definition and their trigger conditions are listed
below.
13
V0162
SH366002 SBS Solution User Guide
Definitions
Life Time Logging Data Function
trigger condition
Note
ΔTemp=Temperature() – the former
Temperature()>the former value of
ΔTemp>LifeTime Delta Temp
Life Time Max Temp
value of Life Time Max Temp
OR ΔTemp= the former value of Life
Temperature()LifeTime Delta Temp
Life Time Min Temp
Time Min Temp – Temperature()
ΔVoltage= Voltage() – the former
Voltage()>the former value of Life
ΔVoltage>LifeTime Delta Volt
Time Max Volt
value of Life Time Max Volt
OR ΔVoltage=the former value of
Voltage() LifeTime Delta Volt
Time Min Volt
Life Time Max Volt – Voltage()
ΔCurrent= Current() - the former
Current() > the former value of Life
ΔCurrent > LifeTime Delta CUR
Time Max CHG CUR
value of Life Time Max CHG CUR
ΔCurrent= the former value of Life
Current() < the former value of Life
ΔCurrent > LifeTime Delta CUR
Time Max DSG CUR
Time Max DSG CUR - Current()
Once any of the above trigger conditions is satisfied, the fusion gauge records all of the max/min Temperature(),
Voltage() and Current() during the following Lifetime Update Time and updates the max/min values which are
higher or lower than the former value to Dataflash at the end of the Lifetime Update Time.
As shown in Figure 5.1, Lifetime Logging Data triggered if ΔVoltage > LifeTime Delta Volt, and Lifetime Max
Temp, Lifetime Max Volt, Lifetime Min Volt and Lifetime Max CHG CUR were updated at the end of the Lifetime
Updete Time.
The Life Time Data Logging of one or more parameters can be reset or restarted by writing new default (or
starting) values to the corresponding data flash registers through SEALED or UNSEALED access as described
below. However, when using UNSEALED access, new values take effect only if the device is reset within LT
Update Time after the DF is loaded with new values.
The logged data in Lifetime Data subclass (subclass ID = 59) can be read and written in both SEALED and
UNSEALED modes. However, in SEALED mode, access to this subclass is using a process identical to accessing
Manufacturer Info Block B. The DataFlashBlock() command code is 4. More detail please refer to the 0x61
command.
The subclasses Lifetime Resolution (subclass ID = 66) and Lifetime Temp Samples (subclass ID = 59) that
contain settings for lifetime data logging can be configured only in UNSEALED mode using the regular DF access
method.
The Lifetime resolution registers contain the parameters which set the limits related to how much a data parameter
must exceed the previously logged maximum/minimum value to be updated in the lifetime log. For example, V
must exceed MaxV by more than Voltage Resolution to update MaxV in the data flash.
6. System Control Function
The fusion gauge provides system control functions which allows the fusion gauge to enter shutdown mode in
order to power-off with the assistance of external circuit or provides interrupt function to the system.
Table 6.1 shows the configurations for STE and SWI pins.
14
V0162
SH366002 SBS Solution User Guide
Table 6.1 STE and SWI Pin Functions
TWI Communication Mode:
STE Fuse Function(1)
Disabled
STE Fuse Function
Enabled
[INTSEL]
0(default)
1
0
1
STE Pin Function
Interrupt mode(2)
Shutdown mode
STE Fuse Function Mode
STE Fuse Function Mode
SWI Pin Function
Not used
Interrupt Mode
Not used
Interrupt Mode
[INTSEL]
0(default)
1
0
1
STE Pin Function
Interrupt mode(2)
Shutdown mode
STE Fuse Function Mode
STE Fuse Function Mode
SWI Pin Function
SWI Mode(3)
SWI Mode(3)
SWI Mode(3)
SWI Mode(3)
Compatible Communication Mode:
STE Fuse Function
Disabled
STE Fuse Function
Enabled
(1) STE Fuse Function can be enabled by subcommand 0x0091 in Control (0x00), and STE Pin only responds
STE Fuse Function once it is enabled.
(2) [STE_EN] bit in PackConfiguration can be enabled to use [STE] and [SHUTDWN] bits in
CONTROL_STATUS() function. The STE pin shutdown function is disabled.
(3) SWI pin is used for communication and SWI Host Interrupt Feature is available.
6.1 shutdown mode
By using STE pin, the fusion gauge can be made to power-off through an external circuit. This feature is useful to
shutdown the fusion gauge in a deeply discharged battery to protect the battery.
The following bits are used to configure and control STE pin:
1. Two Control Status bits signals the operation of the STE pin:
[STE]
- bit15
-- Status bit indicating the STE pin is active. Default is 0.
[SHUTDOWN]
- bit7
-- indicates the shutdown feature is enabled. Default is 1 (enabled)
2. Two control() sub-commands enable or disable shutdown functionality:
SET_SHUTDOWN (0x0013)
-- enables STE pin functionality (sets SHUTDOWN status bit)
CLEAR_SHUTDOWN (0x0014) -- disables STE pin functionality (clears SHUTDOWN status bit)
3. Two Data Flash bits in pack configuration register control the operation of the STE pin:
[STE_PU]
- bit3
-- Pull-up enable for STE pin when its state is 1.
[STE_POL]
- bit2
-- Polarity for STE pin when shutdown is enabled.
By default the STE pin is in normal state for all modes of operation. By sending SET_SHUTDOWN sub-command
or setting [STE_EN] bit in PackConfiguration Register, the [SHUTDOWN] bit is set and the shutdown feature is
enabled.
In the shutdown mode, the STE pin is used to signal external circuit to power-off the fusion gauge. This feature is
useful to shutdown the fusion gauge in a deeply discharged battery to protect the battery. By default, the
15
V0162
SH366002 SBS Solution User Guide
Shutdown Mode is in normal state. By sending the SET_SHUTDOWN subcommand or setting the [STE_EN] bit in
PackConfiguration register, the [SHUTDWN] bit is set and enables the shutdown feature. When this feature is
enabled and [INTSEL] is set, the STE pin can be in normal state or shutdown state. The shutdown state can be
entered in HIBERNATE mode (only if HIBERNATE mode is enabled due to low cell voltage), all other power
modes will default STE pin to normal state. Table 6.2 shows the STE pin state in normal or shutdown mode. The
CLEAR_SHUTDOWN subcommand or clearing [STE_EN] bit in the PackConfiguration register can be used to
disable shutdown mode.
The STE pin will be high impedance at power-on reset (POR), the [STE_POL] does not affect the state of STE pin
at POR. Also, [STE_PU] configuration changes will only take effect after POR. In addition, the [INTSEL] only
controls the behavior of the STE pin; it does not affect the function of [SE] and [SHUTDWN] bits.
Table 6.2 STE Pin State under STE Fuse Function Disabled Condition
SHUTDOWN Mode
[INTSEL] = 1 and ([STE_EN] or [SHUTDOWN] = 1)
[STE_PU] [STE_POL]
NORMAL STATE
SHUTDOWN STATE
0
0
High Impedance
0
0
1
0
High Impedance
1
0
1
0
1
1
0
1
STE pin state can be triggered by the following functions but responds the priority in the following order as
STE_Fuse Blown Function, Interrupt Mode and Shutdown Mode. More details please refer to Table 6.1.
6.2 Interrupt Mode
By utilizing the interrupt mode, the system can be interrupted based on detected fault conditions as specified in
Table 6.5 when the corresponding bit is set in Interrupt Config(see Table 7.11). The STE or SWI pin can be
selected as the interrupt pin by configuring the [INTSEL] bit. In addition, the pin polarity can be configured
according to the system needs as described in Table 6.3 or Table 6.4. More details please refer to Table 6.1.
16
V0162
SH366002 SBS Solution User Guide
[STE_PU]
0
0
1
1
Interrupt condition
Table 6.3.STE pin state in interrupt Mode ([INTSEL]=0)
[INTPOL]
Interrupt Clear
0
High Impedance
1
0
0
1
1
0
Table 6.4 SWI pin state in interrupt Mode ([INTSEL]=1)
[INTPOL]
Interrupt Clear
Interrupt Set
0
High Impedance
0
1
0
High Impedance
Flags( ) status bit
SOC1 Set
[SOC1]
Battery High
[BATHI]
Battery Low
[BATLOW]
Over Temperature
Charge
Over Temperature
Charge
Internal Short
Detection
Tab Disconnection
Detection
Battery Trip Point
(BTP)
[OTC]
[OTD]
[ISD]
[TDD]
[SOC1]
Interrupt Set
0
High Impedance
0
1
Table 6.5 interrupt condition list
Enable condition
Comment
This interrupt is raised when the [SOC1] flag
Always
is set.
This interrupt is raised when the [BATHI]
Always
flag is set.
This interrupt is raised when the [BATLOW]
Always
flag is set.
This interrupt is raised when the [OTC] flag
OT Chg Time≠ 0
is set.
This interrupt is raised when the [OTD] flag
OT Dsg Time≠ 0
is set.
[ISDEN]=1 in Pcak
This interrupt is raised when the [ISD] flag is
Configuration B
set.
[TDDEN]=1 in Pcak
This interrupt is raised when the [TDD] flag
Confihuration B
is set.
This interrupt is raised when
RemainingCapacity()≤ BTPSOC1Set() or
[BTPEN]=1 in
PackConfiguration C, the RemainingCapacity() ≥BTPSOC1Clear()
BTP interrupt supersedes
during battery discharge or charge,
all other interrupt sources
respectively. The interrupt remains asserted
which are unavailable when until new values are written to both the
BTP is active.
BTPSOC1Set() and BTPSOC1Clear()
registers.
6.3 Battery Trip Point interrupt Function
To provide increased flexibility for capacity-based interrupts to the host, the fusion gauge incorporates a Battery
Trip Point (BTP) function that allows the system to dynamically update the traditional SOC1 Set Threshold and
SOC1 Clear Threshold at runtime using the BTPSOC1Set() and BTPSOC1Clear() standard commands. These
thresholds are used to trigger an interrupt on the SWI pin whenever the set or clear thresholds are crossed
following update to the BTPSOC1Set() and BTPSOC1Clear() values.
Configuration of the interrupt polarity and enable/disable of the feature is provided via the PackConfiguration
[INTPOL] and PackConfiguration C [BTP_EN] bits, respectively, while initialization values for the interrupt set
and clear thresholds are programmed in SOC1 Set Threshold and SOC1 Clear Threshold as normal.
17
V0162
SH366002 SBS Solution User Guide
When BTP is enabled, the fusion gauge continuously compares RemainingCapacity() with the values
programmed in BTPSOC1Set() and BTPSOC1Clear() to determine whether or not it has crossed below the set or
above the clear threshold. Once a threshold is crossed, additional conditions are verified to guard against an
unintended interrupt trigger. For the BTP set threshold, the direction of current flow is checked to confirm that a
discharge event is occurring. If true, the Flags()[SOC1] bit is set to 1 and an interrupt asserts on the SWI pin. For
the BTP clear threshold, the device again checks the direction of current flow to ensure that a charge event is
occurring. Afterwards, an internal variable is examined to determine whether or not a change in the state of
Flags()[SOC1] has already occurred due to a prior clear threshold crossing. If true, no change is made and a new
interrupt will not fire, however, it is implied that a pre-existing interrupt will still be asserted. If false, the current state
of Flags()[SOC1] is flipped to its opposite value and an interrupt subsequently triggered on the SWI pin. In this
way, the correct behavior is guaranteed in cases where the host updates the BTP set and clear thresholds
diligently based on SWI interrupts but also when there is a failure to update the thresholds. If, at any time, new
values are written to either BTPSOC1Set() or BTPSOC1Clear() then the [SOC1] flag automatically reinitializes to
0 and the SWI pin de-asserts to its default state. The entire functional flow of the BTP feature is illustrated in
Figure 6.1, BTP Algorithm Flow.
18
V0162
SH366002 SBS Solution User Guide
Figure 6.1 BTP Algorithm Flow
In normal usage, the BTP thresholds are continuously updated by the host system at predetermined increments,
each time reinitializing the Flags()[SOC1] bit to 0 and waiting for the crossing of the next threshold to trigger a new
interrupt. If the thresholds are always updated after each interrupt, then it is implied that the crossing of a set or
clear threshold always triggers a new interrupt. This is highlighted below in Figure 6.2, BTP Configuration with
Multiple Thresholds.
19
V0162
SH366002 SBS Solution User Guide
Figure 6.2 BTP Configuration with Multiple Thresholds([INTPOL]=0)
However, it is possible that the host may fail to write new thresholds or experience a significant delay in attempting
to do so. In this case, there could be an occurrence where the clear threshold is crossed after an interrupt due to a
prior set threshold crossing. Thus, the [SOC1] bit would experience a change but a new interrupt would not be
triggered on SWI. Thus, continued crossings without updates to BTPSOC1Set() or BTPSOC1Clear() will only
result in changes to Flags()[SOC1].
If BTPSOC1 Set() is lower than(default) or equal to BTPSOC1 Clear() the SWI pin state and [SOC1] flag respond
according to the Figure 6.1 and Figure 6.2. If BTPSOC1 Set() is higher than BTPSOC1 Clear(), the SWI pin state
and [SOC1] flag respond according to the Figure 6.1 and Figure 6.2 in non-charging mode, but according to the
condition of RC()>BTPSOC1Set() in charging mode.
Note: 1) The interrupt pin is STE pin when [INTSEL] in Pack configuration is set, and SWI pin when cleared.
2) The interrupt pin is default to be pulled up for BTP function.
20
V0162
SH366002 SBS Solution User Guide
7. DATA COMMANDS
7.1 STANDARD DATA COMMANDS
The SH366002 uses the following standard commands to enable system reading and writing of battery
Information, as indicated in Table 7.1.
Table 7.1 (a) Standard Commands in Normal Mode(default)
Name
COMMAND CODE
UNITS
SEALED
ACCESS
Control( )
CNTL
0x00 / 0x01
N/A
R/W
AtRate( )
AR
0x02 / 0x03
mA
R/W
AtRateTimeToEmpty( )
ARTTE
0x04 / 0x05
Minutes
R
Temperature( )
TEMP
0x06 / 0x07
0.1K
R
Voltage( )
VOLT
0x08 / 0x09
mV
R
Flags( )
FLAGS
0x0a / 0x0b
N/A
R
NominalAvailableCapacity( )
NAC
0x0c / 0x0d
mAh
R
FullAvailableCapacity( )
FAC
0x0e / 0x0f
mAh
R
FilteredRC( )
FRC
0x10 / 0x11
mAh
R
FilteredFCC( )
FFCC
0x12 / 0x13
mAh
R
AverageCurrent( )
AI
0x14 / 0x15
mA
R
AverageTimeToEmpty( )
TTE
0x16 / 0x17
Minutes
R
AverageTimeToFull( )
TTF
0x18 / 0x19
Minutes
R
StandbyCurrent( )
SI
0x1a / 0x1b
mA
R
StandbyTimeToEmpty( )
STTE
0x1c / 0x1d
Minutes
R
MaxLoadCurrent( )
MLI
0x1e / 0x1f
mA
R
MaxLoadTimeToEmpty( )
MLTTE
0x20 / 0x21
Minutes
R
AvailableEnergy( )
AE
0x22 / 0x23
10mWh
R
AveragePower( )
AP
0x24 / 0x25
10mW
R
TTEatConstantPower( )
TTECP
0x26 / 0x27
Minutes
R
Internal_Temp( )
INTTEMP
0x28 / 0x29
0.1°K
R
CycleCount( )
CC
0x2a / 0x2b
Counts
R
RelativeStateOfCharge( )
RSOC
0x2c / 0x2d
%
R
StateOfHealth( )
SOH
0x2e / 0x2f
% / num
R
JeitaCHGVOL( )
JCV
0x30/0x31
mV
R
JeitaCHGCUR( )
JCC
0x32/0x33
mA
R
PassedCharge( )
PCHG
0x34 / 0x35
mAh
R
DOD0( )
DOD0
0x36 / 0x37
HEX
R
SelfDischargeCurrent( )
SelfDSGCurrent
0x38/0x39
mA
R
21
V0162
SH366002 SBS Solution User Guide
The above standard commands are effective in Normal mode(User Config=0x0000), but in other mode some
commands are executed for the other meanings below.
Table 7.1 (b) Standard Commands in User_CFG1 mode
Name
Command
Unit
Sealed access
User Config
Current
0x04/0x05
mA
R
User_CFG1
Time2FullinSec
0x1c/0x1d
S
R
User_CFG1
TermVolt
0x20/0x21
mV
R
User_CFG1
Design Capacity
0x22/0x23
mAh
R
User_CFG1
No action
0x30/0x31
-
-
User_CFG1
FilteredRC
0x32/0x33
mAh
R
User_CFG1
FilteredFCC
0x72/0x73(2)
mAh
R
User_CFG1
Same as in normal
mode(1)
0x00-0x63
-
-
User_CFG1
Note:
(1) In User_CFG1 Mode, the commands execute the same actions as those in normal mode except the above
commands.
(2) FilteredFCC(0x72/0x73) is belong to extended data command.
Time2FullinSec: This read-only function returns an unsigned integer value of predicted remaining time until the
battery reaches full charge, in minutes, based upon AverageCurrent( ). A value of 65,535 indicates the battery is
not being charged.
TermVolt: Absolute minimum voltage for end of discharge.
FilteredRC: The filtered remaining capacity based on remaining capacity(RC).
FilteredFCC:The filtered full charged capacity based on full charged capacity(FCC).
Table 7.1 (c) Standard Commands in User_CFG2 mode
Name
Command
Unit
Sealed access
User Config
Max load current
0x1e/0x1f
mA
R
User_CFG2
BTPSOC1Set
0x1c/0x1d
%
R
User_CFG2
BTPSOC1Clr
0x20/0x21
%
R
User_CFG2
Full Charged Energy
0x76/0x77(2)
10mWh
R
User_CFG2
Same as in normal
mode(1)
0x00-0x63
-
-
User_CFG2
Note:
(1) In User_CFG2 Mode, the commands execute the same actions as those in normal mode except the above
commands.
22
V0162
SH366002 SBS Solution User Guide
(2)Full Charged Energy(0x76/0x77) is belong to extended data command.
Max load current: This read-only function returns the maximum discharge current that the battery can support for
Max Current Pulse Duration time without prematurely dropping to empty (that is, 0%).
BTPSOC1Set: Please refer BTP Function for details.
BTPSOC1Clr: Please refer BTP Function for details.
Full Charged Energy: This read-only function returns the full charged energy(∑FCC*Voltage) in unit of 10mWh.
Table 7.1 (d) Standard Commands in User_CFG3 mode
Name
Command
Unit
Sealed access
User Config
Control()
0x00/0x01
-
R
User_CFG3
Temperature()
0x06/0x07
K
R
User_CFG3
Voltage()
0x08/0x09
mV
R
User_CFG3
Flags()
0x0a/0x0b
-
R
User_CFG3
FullAvailableCapacity()
0x0e/0x0f
mAh
R
User_CFG3
RemainingCapacity()
0x10/0x11
mAh
R
User_CFG3
FullChargeCapacity()
0x12/0x13
mAh
R
User_CFG3
AverageCurrent()
0x14/0x15
mA
R
User_CFG3
InternalTemperature()
0x16/0x17
K
R
User_CFG3
StateOfCharge()
0x20/0x21
%
R
User_CFG3
InstantaneousCurrent
Reading()
0x22/0x23
mA
R
User_CFG3
FineQPass()
0x24/0x25
mAh
R
User_CFG3
TrueSOC()
0x74/0x75
%
R
User_CFG3
unfilteredRC()
0x6c/0x6d
mAh
R
User_CFG3
unfilteredFCC()
0x70/0x71
mAh
R
User_CFG3
Other SBS commands
-
-
User_CFG3
No Action
(1)
Note:
(1) In User_CFG3 Mode, SH366002 responds no action for other SBS commands except the above mentioned.
(2)TrueSOC(), unfilteredRC() and unfilteredRC() are belong to extended data commands.
InstantaneousCurrentReading(): This read-only function returns the current data(Current()) used by the algorithm.
FineQPass():This read-only function returns passedcharge2 which updates in CHG/DSG mode and clears when
Qmax is updated.
TrueSOC():This read-only function returns TureSOC=RC/filtered FCC.
Table 7.1 (e) Standard Commands in User_CFG4 mode
23
V0162
SH366002 SBS Solution User Guide
Name
Command
Unit
Sealed access
User Config
Control()
0x00/0x01
-
R
User_CFG4
Temperature()
0x02/0x03
K
R
User_CFG4
Voltage()
0x04/0x05
mV
R
User_CFG4
Flags()
0x06/0x07
-
R
User_CFG4
NomAvailCapacity()
0x08/0x09
mAh
R
User_CFG4
FullAvailableCapacity()
0x0a/0x0b
mAh
R
User_CFG4
RemainingCapacity()
0x0c/0x0d
mAh
R
User_CFG4
FullChargeCapacity()
0x0e/0x0f
mAh
R
User_CFG4
AverageCurrent()
0x10/0x11
mA
R
User_CFG4
StandbyCurrent()
0x12/0x13
mA
R
User_CFG4
MaxLoadCurrent()
0x14/0x15
mA
R
User_CFG4
AvailablePower()
0x18/0x19
mWh
R
User_CFG4
StateOfCharge()
0x1c/0x1d
%
R
User_CFG4
InternalTemperature()
0x1e/0x1f
K
R
User_CFG4
StateOfHealth()
0x20/0x21
%
R
User_CFG4
unfilteredRC()
0x28/0x29
mAh
R
User_CFG4
unfilteredFCC()
0x2c/0x2d
mAh
R
User_CFG4
No Action(1)
Other SBS commands
-
-
User_CFG4
Note:
(1) In User_CFG4 Mode, SH366002 responds no action for other SBS commands except the above mentioned.
(2) unfilteredRC() and unfilteredRC() are belong to extended data commands.
Table 7.1 (f) Standard Commands in User_CFG5 mode
Name
Command
Unit
Sealed access
User Config
Control()
0x00/0x01
-
R
User_CFG5
Current()
0x04/0x05
K
R
User_CFG5
No Action
0x0c~0x0f
mV
R
User_CFG5
InstantCurrent()
0x14/0x15
mA
R
User_CFG5
NoAction
0x18/0x19
-
R
User_CFG5
RSOC()
0x1a/0x1b
%
R
User_CFG5
PassedEnergy()
0x1c/0x1d
mWh
R
User_CFG5
TermVolt()
0x20/0x21
mV
R
User_CFG5
Qmax()
0x22/0x23
mAh
R
User_CFG5
NoAtcion
0x30/0x31
-
R
User_CFG5
FilteredRC
0x32/0x33
mA
R
User_CFG5
24
V0162
SH366002 SBS Solution User Guide
FilteredFCC
0x38/0x39
mAh
R
User_CFG5
NomAvailCapacity()
0x6a/0x6b
mAh
R
User_CFG5
FullAvailCapacity()
0x72/0x73
mAh
R
User_CFG5
AvailablePower()
0x76/0x77
mWh
R
User_CFG5
StandbyCurrent()
0x7a/0x7b
mA
-
User_CFG5
Vcell()
0x7c/0x7d
mV
-
User_CFG5
Qmax()
0x7e/0x7f
mAh
-
User_CFG5
Same as Default
Other Command
-
-
User_CFG5
Note:
(1) In User_CFG5 Mode, SH366002 responds the same as default at the command that doesn’t exist in the table
above.
7.1.1 Control( ): 0x00/0x01
Issuing a Control( ) command requires a subsequent 2-byte sub-command, as described in Table 7.2.
Table 7.2 Control( ) Sub-commands (Normal Mode)
CNTL FUNCTION
CNTL DATA
SEALED
ACCESS
CONTROL_STATUS
0x0000
Yes
Reports the status word
CONFIG_DT
0x0001
Yes
Reports the information in subclass 122 offset 1
CONFIG_SW
0x0002
Yes
Reports the information in subclass 122 offset 3
CONFIG_HW
0x0003
Yes
Reports the information in subclass 122 offset 5
DF_CHECKSUM
0x0004
No
Enables a data flash checksum to be generated and reports on a read
RESET_DATA
0x0005
No
Returns reset data
PREV_MACWRITE
0x0007
No
Returns previous MAC command code
CHEM_ID
0x0008
Yes
Reports the chemical identifier
DF_VERSION
0x000C
Yes
Reports the data flash version on the device
SET_FULLSLEEP
0x0010
No
Set the [FULLSLEEP] bit in Control Status register to 1
SET_HIBERNATE
0x0011
Yes
Set CONTROL_STATUS [HIBERNATE] to 1
CLEAR_HIBERNATE
0x0012
Yes
Clear CONTROL_STATUS [HIBERNATE] to 0
SET_SHUTDOWN
0x0013
Yes
Enables the STE pin to change state
CLEAR_SHUTDOWN
0x0014
Yes
Disables the STE pin from changing state
SET_SWI INTEN
0x0015
Yes
Set CONTROL_STATUS [SWIIntEn] to 1
CLEAR_SWI INTEN
0x0016
Yes
Clear CONTROL_STATUS [SWIIntEn] to 0
SEALED
0x0020
No
Forces the SH366002 into SEALED mode
RESET
0x0041
No
Force a full reset of the SH366002
DESCRIPTION
25
V0162
SH366002 SBS Solution User Guide
CAL_OFFSET
0x0061
No
Force the SH366002 to perform a zero-current calibration
CAL_CUR
0x0062
No
Force the SH366002 to perform a load-current calibration
CAL_VOL
0x0063
No
Force the SH366002 to perform a voltage calibration
CAL_EXTT
0x0064
No
Force the SH366002 to perform an external-temperature calibration
CAL_INTT
0x0065
No
Force the SH366002 to perform an internal-temperature calibration
EXIT_CAL
0x0080
No
Force the SH366002 to quit calibrate mode
ENTER_CAL
0x0081
No
Force the SH366002 to enter calibrate mode
SEfuseflag
0x0090
Yes
Indicate the STE Fuse flag for the fuse state
STE_Fuse Enable
0x0091
Yes
Enable STE fuse Function
STE_Fuse Disable
0x0092
Yes
Disable STE fuse Function
7.1.1.1 CONTROL_STATUS: 0x0000
Instructs the fusion gauge to return status information to Control addresses 0x00/0x01. The status word includes
the following information.
Table 7.3 CONTROL_STATUS Flags
Bit
Name
Description
Bit15
SE
Bit14
FAS
Bit13
SS
Bit12
CSV
0: Cleared when writing Data Flash operation (default)
1: Set when Contro()l sends the 0x0004, and returns the DataFlash checksum
Bit11
CCA
0: Coulomb Counter Calibration routine is inactive (default)
1: Coulomb Counter Calibration routine is active
Bit10
BCA
0: Board Calibration routine is inactive (default)
1: Board Calibration routine is active
Bit9
-
Bit8
SWIIntEn
Bit7
SHUTDOWN
0: The SHUTDOWN function is disabled (default)
1: The SHUTDOWN function is enabled
Bit6
HIBERNATE
0: The HIBERNATE function is disabled.(default)
1: The HIBERNATE function is enabled. True when set.
Bit5
FULLSLEEP
0: Indicating the SH366002 is not in FULLSLEEP mode. (default)
1: Indicating the SH366002 is in FULLSLEEP mode. True when set.
Bit4
SLEEP
0: STE pin disabled (default)
1: STE pin enabled
0: FULL ACCESS state
1: FULL ACCESS SEALED state.
0: UNSEALED state
1: SEALED state,
Reserved
0: The SWI interrupt function is inactive (default)
1: The SWI interrupt function is active (see Control() command 0x0015)
0: in normal state.(default)
1: in sleep state. True when set.
26
V0162
SH366002 SBS Solution User Guide
Bit3 ~0
-
Reserved
7.1.1.2 DEVICE_TYPE: 0x0001
The command instructs the fusion gauge to return the device type.
7.1.1.3 FW_VERSION: 0x0002
The command instructs the fusion gauge to return the firmware version.
7.1.1.4 HW_VERSION: 0x0003
The command instructs the fusion gauge to return the hardware version.
7.1.1.5 DF_CHECKSUM: 0x0004
The command instructs the fusion gauge to return the checksum of the data flash memory.
7.1.1.6 RESET_DATA: 0x0005
The command instructs the fusion gauge to return the number of resets (include power on reset and command
0x41 reset).
7.1.1.7 PREV_MACWRITE: 0x0007
The command instructs the fusion gauge to return the previous command written to addresses 0x00/0x01. The
value returned is limited to less than 0x0020.
7.1.1.8 CHEM_ID: 0x0008
The command instructs the fusion gauge to return the chemical identifier.
7.1.1.9 DF_VERSION: 0x000C
The command instructs the gas gauge to return the data flash version.
7.1.1.10 SET_FULLSLEEP: 0x0010
The command instructs the gas gauge to set the [FULLSLEEP] bit in Control Status register to 1. This will allow
the gauge to enter the FULLSLEEP power mode after the transition to SLEEP power state is detected. For SWI
communication one host message will be dropped. For TWI communications the first message will incur a 6-8
millisecond clock stretch while the oscillator is started and stabilized.
7.1.1.11 SET_HIBERNATE: 0x0011
The command instructs the fusion gauge to force the CONTROL_STATUS [HIBERNATE] bit to 1. This will allow
the gauge to enter the HIBERNATE power mode after the transition to SLEEP power state is detected. The
[HIBERNATE] bit is automatically cleared upon exiting from HIBERNATE mode.
7.1.1.12 CLEAR_HIBERNATE: 0x0012
The command instructs the fusion gauge to force the CONTROL_STATUS [HIBERNATE] bit to 0. This will
prevent the gauge from entering the HIBERNATE power mode after the transition to SLEEP power state is
27
V0162
SH366002 SBS Solution User Guide
detected. It can also be used to force the gauge out of HIBERNATE mode.
7.1.1.13 SET_SHUTDOWN: 0x0013
Sets the CONTROL_STATUS [SHUTDOWN] bit to 1, thereby enabling the STE pin to change state.
7.1.1.14 CLEAR_SHUTDOWN: 0x0014
The command disables the STE pin from changing state. The STE pin is left in a high-impedance state.
7.1.1.15 SET_SWIINTEN: 0x0015
The command instructs the fusion gauge to set the CONTROL_STATUS [SWIIntEn] bit to 1. This will enable the
SWI Interrupt
function. When this sub-command is received, the SH366002 will detect any of the interrupt conditions and assert
the interrupt at one second intervals until the CLEAR_SWIINTEN command is received or the count of 3.
7.1.1.16 CLEAR_SWIINTEN: 0x0016
The command instructs the fusion gauge to set the CONTROL_STATUS [SWIIntEn] bit to 0. This will disable the
SWI Interrupt function.
7.1.1.17 SEALED: 0x0020
The command instructs the gas gauge to transition from UNSEALED state to SEALED state. The gas gauge
should always be set to SEALED state for use in customer’s end equipment.
7.1.1.18 RESET: 0x0041
This command instructs the gas gauge to perform a full reset. This command is only available when the gas gauge
is UNSEALED.
7.1.1.19 CAL_OFFSET: 0x0061
This command instructs the SH366002 to perform a zero-current calibration when the gas gauge is in calibration
mode. This command is only available in UNSEALED mode.
7.1.1.20 CAL_CUR: 0x0062
This command instructs the SH366002 to perform a load-current calibration when the gas gauge is in calibration
mode. This command is only available in UNSEALED mode.
7.1.1.21 CAL_VOL: 0x0063
This command instructs the SH366002 to perform a voltage calibration when the gas gauge is in calibration mode.
This command is only available in UNSEALED mode.
7.1.1.22 CAL_EXTT: 0x0064
This command instructs the SH366002 to perform an external temperature calibration when the gas gauge is in
calibration mode. This command is only available in UNSEALED mode.
28
V0162
SH366002 SBS Solution User Guide
7.1.1.23 CAL_INTT: 0x0065
This command instructs the SH366002 to perform an internal temperature calibration when the gas gauge is in
calibration mode. This command is only available in UNSEALED mode.
7.1.1.24 EXIT_CAL: 0x0080
This command forces the SH366002 to exit calibration when the gas gauge is in calibration mode. This command
is only available in UNSEALED mode.
7.1.1.25 ENTER_CAL: 0x0081
This command instructs the SH366002 to enter calibration mode. The gas gauge will exit calibration mode
automatically if no other calibrate sub-command was sent in 5 minutes. This command is only available in
UNSEALED mode.
7.1.2 AtRate( ): 0x02/0x03
The AtRate( ) read-/write-word function is the first half of a two-function command call-set used to set the AtRate
value used in calculations made by the AtRateTimeToEmpty( ) function. The AtRate( ) units are in mA.
The AtRate( ) value is a signed integer, with negative values interpreted as a discharge current value. The
AtRateTimeToEmpty( ) function returns the predicted operating time at the AtRate value of discharge. The
default value for AtRate( ) is zero and will force AtRateTimeToEmpty( ) to return 65,535.
7.1.3 AtRateTimeToEmpty( ): 0x04/0x05
This read-only function returns an unsigned integer value of the predicted remaining operating time if the battery is
discharged at the AtRate( ) value in minutes with a range of 0 to 65,534. A value of 65,535 indicates AtRate( ) ≥ 0.
The fusion gauge updates AtRateTimeToEmpty( ) within 1 s after the system sets the AtRate( ) value. The fusion
gauge automatically updates AtRateTimeToEmpty( ) based on the AtRate( ) value every 1s.
7.1.4 Temperature( ): 0x06/0x07
This read-only function returns an unsigned integer value of the battery temperature in units of 0.1K.
7.1.5 Voltage( ): 0x08/0x09
This read-only function returns an unsigned integer value of the measured cell-pack voltage in mV with a range of
0 to 6000 mV.
7.1.6 Flags( ): 0x0a/0x0b
This read-only function returns the contents of the gas-gauge status register, depicting the current operating
status.
Table 7.4 Flags Bit Definitions
BIT7
BIT6
BIT5
BIT4
BIT3
BIT2
BIT1
BIT0
High Byte
OTC
OTD
-
-
CHG_INH
XCHG
FC
CHG
Low Byte
OCVTAKEN
-
-
-
-
SOC1
SOCF
DSG
29
V0162
SH366002 SBS Solution User Guide
OTC = 1
OTD = 1
CHG_INH = 1
XCHG = 1
FC = 1
CHG = 1
OCVTAKEN =1
SOC1 = 1
SOCF = 1
DSG = 1
Over-Temperature in Charge condition is detected. True when set
Over-Temperature in Discharge condition is detected. True when set.
Charge Inhibit indicates the temperature is outside the range [T1, T4] in non-charge mode.
True when set.
Charge Suspend Alert indicates the temperature is outside the range [T1, T5] in charge
mode.
Full-charged is detected. FC is set when charge termination is reached and FC Set% = -1
(See the Charging and Charge Termination Indication section for details) or State of Charge
is larger than FC Set% and FC Set% is not -1. True when set.
charging allowed. True when set. When charge termination is reached, or SOC is larger
than TCA set, or the temperature is outside the range, [CHG] is cleared, charging prohibited
Cleared on entry to relax mode and set to 1 when OCV measurement is performed in relax.
State-of-Charge-Threshold 1 (SOC1 Set%) reached. True when set.
State-of-Charge-Threshold Final (SOCF Set %) reached. True when set.
Discharging detected. True when set.
7.1.7 NominalAvailableCapacity( ): 0x0c/0x0d
This read-only command pair returns the uncompensated battery capacity remaining in unit of mAh.
7.1.8 FullAvailableCapacity( ): 0x0e/0x0f
This read-only command pair returns the uncompensated capacity of the battery when fully charged in unit of
mAh.
7.1.9 FilteredRC( ): 0x10/0x11
This read-only command pair returns the compensated battery capacity remaining in unit of mAh.
7.1.10 FilteredFCC( ): 0x12/0x13
This read-only command pair returns the compensated capacity of the battery when fully charged in unit of mAh.
7.1.11 AverageCurrent( ): 0x14/0x15
This read-only command pair returns a signed integer value that is the average current flow through the sense
resistor.
7.1.12 AverageTimeToEmpty( ): 0x16/0x17
This read-only function returns an unsigned integer value of the predicted remaining battery life at the present rate
of discharge, in minutes. A value of 65,535 indicates battery is not being discharged.
7.1.13 AverageTimeToFull( ): 0x18/0x19
This read-only function returns an unsigned integer value of predicted remaining time until the battery reaches full
charge, in minutes, based upon AverageCurrent( ). A value of 65,535 indicates the battery is not being charged.
7.1.14 StandbyCurrent( ): 0x1a/0x1b
This read-only function returns a signed integer value of the measured standby current through the sense resistor.
The StandbyCurrent( ) is an adaptive measurement. Initially it reports the standby current programmed in Initial
Standby, and after spending some time in standby, reports the measured standby current. The current should be
above the Deadband and less than or equal to 2 x Initial Standby.
30
V0162
SH366002 SBS Solution User Guide
Each new StandbyCurrent( ) value is computed by taking approximate 93% weight of the last standby current
and approximate 7% of the current measured average current.
7.1.15 StandbyTimeToEmpty( ): 0x1c/0x1d
This read-only function returns an unsigned integer value of the predicted remaining battery life at the standby rate
of discharge, in minutes. A value of 65,535 indicates battery is not being discharged.
7.1.16 MaxLoadCurrent( ): 0x1e/0x1f
This read-only function returns a signed integer value, in units of mA, of the maximum load conditions. The
MaxLoadCurrent( ) is an adaptive measurement which is initially reported as the maximum load current
programmed in Initial Max Load Current. If the measured current is ever greater than Initial Max Load Current,
then MaxLoadCurrent( ) updates to the new current. MaxLoadCurrent( ) is reduced to the average of the
previous value and Initial Max Load Current whenever the battery is charged to full after a previous discharge to
an SOC less than 50%. This prevents the reported value from maintaining an unusually high value.
7.1.17 MaxLoadTimeToEmpty( ): 0x20/0x21
This read-only function returns an unsigned integer value of the predicted remaining battery life at the maximum
load current discharge rate, in minutes. A value of 65,535 indicates that the battery is not being discharged.
7.1.18 AvailableEnergy( ): 0x22/0x23
This read-only function returns an unsigned integer value of the predicted charge or energy remaining in the
battery. The value is reported in units of mWh if the [10mW] bit in PackConfiguration is cleared, and 10mWh if it
is set.
7.1.19 AveragePower( ): 0x24/0x25
This read-word function returns an unsigned integer value of the average power of the current discharge. It is
negative during discharge and positive during charge. A value of 0 indicates that the battery is not being
discharged. The value is reported in units of mW if the [10mW] bit in PackConfiguration is cleared, and 10mW if
it is set.
7.1.20 TimeToEmptyAtConstantPower( ): 0x26/0x27
This read-only function returns an unsigned integer value of the predicted remaining operating time if the battery is
discharged at the AveragePower( ) value in minutes. A value of 65,535 indicates AveragePower( ) = 0.
7.1.21 Internal_Temp( ): 0x28/0x29
This read-only function returns an unsigned integer value of the measured internal temperature of the device in
units of 0.1K measured by the fusion gauge.
7.1.22 CycleCount( ): 0x2a/0x2b
This read-only function returns an unsigned integer value of the number of cycles the battery has experienced with
a range of 0 to 65,535. One cycle occurs when accumulated discharge ≥CC Threshold.
31
V0162
SH366002 SBS Solution User Guide
7.1.23 StateOfCharge( ): 0x2c/0x2d
This read-only function returns an unsigned integer value of the predicted remaining battery capacity expressed
as a percentage of FullChargeCapacity( ), with a range of 0 to 100%.
7.1.24 StateOfHealth( ): 0x2e/0x2f
0x2e SOH percentage: this read-only function returns an unsigned integer value, expressed as a percentage of
the ratio of predicted FCC(25°C, SOH current rate) over the DesignCapacity( ). The FCC(25°C, SOH current rate)
is the calculated full charge capacity at 25°C and the SOH current rate which is specified in the data flash (State of
Health Load). The range of the returned SOH percentage is 0x00 to 0x64, indicating 0 to 100% correspondingly.
0x2f SOH Status: this read-only function returns 0x00.returns 0.
7.1.25 JeitaCHGVOL( ): 0x30/0x31
This read-only function returns the recommended charging voltage output from the JEITA charging profile. It is
updated automatically based on the present temperature range.
7.1.26 JeitaCHGCUR( ): 0x32/0x33
This read-only function returns the recommended charging current output from the JEITA charging profile. It is
updated automatically based on the present temperature range.
7.1.27 PassedCharge( ): 0x34/0x35
This signed integer indicates the amount of charge passed through the sense resistor, decrease in charging and
increase in discharging.
7.1.28 SelfDischargeCurrent( ): 0x38/0x39
This read-only command pair returns the signed integer value that estimates the battery self-discharge current.
7.2 EXTENDED DATA COMMANDS
Extended commands offer additional functionality beyond the standard set of commands. They are used in the
same manner; however unlike standard commands, extended commands are not limited to 2-byte words. The
number of command bytes for a given extended command ranges in size from single to multiple bytes, as
specified in Table 7.5. For details on the SEALED and UNSEALED states, see Section Access Modes
Table 7.5 Extended Commands
COMMAND
CODE
UNITS
SEALED
ACCESS(1) (2)
UNSEALED
ACCESS(1) (2)
PCR
0x3a / 0x3b
HEX#
R
R
DesignCapacity( )
DCAP
0x3c / 0x3d
mAh
R
R
DataFlashClass( ) (2)
DFCLS
0x3e
N/A
N/A
R/W
DataFlashBlock( ) (2)
DFBLK
0x3f
N/A
R/W
R/W
A/DF
0x40…0x53
N/A
R/W
R/W
NAME
PackConfig( )
BlockData( ) / Authenticate( )(3)
32
V0162
SH366002 SBS Solution User Guide
BlockData( ) / AuthenticateCheckSum( )
ACKS/DFD
0x54
N/A
R/W
R/W
DFD
0x55…0x5f
N/A
R
R/W
BlockDataCheckSum( )
DFDCKS
0x60
N/A
R/W
R/W
BlockDataControl( )
DFDCNTL
0x61
N/A
N/A
R/W
DNAMELEN
0x62
N/A
R
R
DNAME
0x63...0x6A
N/A
R
R
RSVD
0x6B...0x7f
N/A
R
R
(3)
BlockData( )
DeviceNameLength( )
DeviceName( )
Reserved
(1) SEALED and UNSEALED states are entered via commands to Control( ) 0x00/0x01
(2) In SEALED mode, data flash CANNOT be accessed through commands 0x3e and 0x3f.
(3) The BlockData( ) command area shares functionality for accessing general data flash and for using
Authentication.
7.2.1 PackConfig( ): 0x3a/0x3b
SEALED and UNSEALED Access: This command returns the value is stored in PackConfiguration and is
expressed in hex value.
7.2.2 DesignCapacity( ): 0x3c/0x3d
SEALED and UNSEALED Access: This command returns the value is stored in Design Capacity and is
expressed in mAh.
7.2.3 DataFlashClass( ): 0x3e
This command sets the data flash class to be accessed. The class to be accessed should be entered in
hexadecimal.
SEALED Access: This command is not available in SEALED mode.
7.2.4 DataFlashBlock( ): 0x3f
UNSEALED Access: This command sets the data flash block to be accessed.
Example: writing a 0x00 to DataFlashBlock( ) specifies access to the first 32 byte block and a 0x01 specifies
access to the second 32 byte block, and so on.
SEALED Access: This command directs which data flash block will be accessed by the BlockData( ) command.
Issuing a 0x01, 0x02 or 0x03 instructs the BlockData( ) command to transfer Manufacturer Info Block A, B, or C,
respectively.
7.2.5 BlockData( ): 0x40…0x5f
This command range is used to transfer data for data flash class access. This command range is the 32-byte data
block used to access Manufacturer Info Block A, B, or C. Manufacturer Info Block A is read only for the sealed
access. UNSEALED access is read/write.
7.2.6 BlockDataChecksum( ): 0x60
The host system should write this value to inform the device that new data is ready for programming into the
33
V0162
SH366002 SBS Solution User Guide
specified data flash class and block.
UNSEALED Access: This byte contains the checksum on the 32 bytes of block data read or written to data flash.
The least-significant byte of the sum of the data bytes written must be complemented ( [255 - x] , for x the 8-bit
summation of the BlockData( ) (0x40 to 0x5F) on a byte-by-byte basis.) before being written to 0x60.
SEALED Access: This byte contains the checksum for the 32 bytes of block data written to Manufacturer Info
Block A, B, or C. The least-significant byte of the sum of the data bytes written must be complemented ( [255 -x] ,
for x the 8-bit summation of the BlockData( ) (0x40 to 0x5F) on a byte-by-byte basis.) before being written to 0x60.
7.2.7 BlockDataControl( ): 0x61
UNSEALED Access: This command is used to control data flash access mode. Writing 0x00 to this command
enables BlockData( ) to access general data flash.
SEALED Access: Read Access:0x61 write 0x01, 0x3f write 0x01, 0x02, 0x03, 0x04, and then read the
BlockData( ) (0x40 to 0x5F), Manufacturer Info Block A, B, C and Lifetime LogData return. Write Access: 0x61
write 0x01 ,0x3f write 0x02,0x03,0x04, and then write the BlockData( ) (0x40 to 0x5F), at last 0x60 write the
checksum(0xFF-sum of the block data),Manufacturer Info Block B, C and Lifetime LogData will be modified.
Note: Manufacturer Info Block C read/write access is disable in seal mode when User_CFG1 =1 in User
Config.
7.2.8 DeviceNameLength( ): 0x62
UNSEALED and SEALED Access: This byte contains the length of the Device Name.
7.2.9 DeviceName( ): 0x63…0x6A
UNSEALED and SEALED Access: This block contains the device name that is programmed in Device Name
7.2.10 Reserved: 0x6B - 0x7f
Reserved.
7.3 DATA FLASH DESCRIPTION
7.3.1 Accessing the Data Flash
The SH366002 data flash is a non-volatile memory that contains SH366002 initialization, default, cell
status,calibration, configuration, and user information. These information can be accessed by the host. But only
Manufacture information can be accessed in SEALED mode.
These information data should be optimized and/or fixed during the development and manufacture processes.
They will be made into a file and can then be written to multiple battery packs.
Access data flash locations:
1. Send 0x00 to BlockDataControl( ) (0x61) as a set-up signal;
2. Send the data block No. to DataFlashClass( ) (0x3e);
34
V0162
SH366002 SBS Solution User Guide
3. Send the data block offset to DataFlashBlock( ) (0x3f) where 0 represents 0~31, 1 represents 32~63, and so
on.
4. The correct command address is then given by 0x40 + offset modulo 32. For example, to access Terminate
Voltage in the Gas Gauging class. Because the offset is 48, it must reside in the second 32-byte block.
Hence, DataFlashBlock( ) is issued 0x01 to set the block offset, and the offset used to index into the
BlockData( ) memory area is 0x40 + 48 modulo 32 = 0x40 + 16 = 0x40 + 0x10 = 0x50.
5. If a new value is written in flash, the new checksum must be sent to BlockDataCheckSum( ) (0x60) and the
next command should not be sent within 120ms.
6. If the block length is over 32 bytes, the whole class can be written or read by repeating step 4 and 5.
Note: Class 224~227 cannot be written separately. All the 4 classes must be written together. Recommend steps
are listed below:
1. Send Command 0x0094 to Control(0x00)
2. Wait 200 ms, then send command 0x0095 to Control(0x00), and read Control. If LSB 4 is set, wait 200ms and
re-excute step 2. If LSB 5 is set, that means these classed in this chip cannot be written. If LSB 4 is clear,
goto step 3
3. Send 0x00 to BlockDataControl( ) (0x61) as a set-up signal
4. Send 224 to DataFlashClass( ) (0x3e);
5. Send the data block offset to DataFlashBlock( ) (0x3f) where 0 represents 0~31, 1 represents 32~63, and so
on.
6. Send data buffer to 0x40~0x5F
7. If a new value is written in flash, the new checksum must be sent to BlockDataCheckSum( ) (0x60) and the
next command should not be sent within 250ms.
8. If the block length is over 32 bytes, the whole class can be written or read by repeating step 4 and 5.
9. Write class 225~227
10. Send Command 0x0095 to Control(0x00). Wait 250ms then reset SH366002
7.3.2 Manufacture Information Blocks
The SH366002 contains 96 bytes of user programmable data flash storage: Manufacturer Info Block A,
Manufacturer Info Block B, Manufacturer Info Block C. The method for accessing these memory locations is
slightly different, depending on whether the device is in UNSEALED or SEALED mode.
In UNSEALED mode, when 0x00 has been written to BlockDataControl( ), accessing the Manufacturer Info
Blocks is identical to accessing general data flash locations.
35
V0162
SH366002 SBS Solution User Guide
Example: for Block B, DataFlashClass( ) is issued 58(0x3A) to set the class, the offset is 32~63, it must reside in
the second 32-byte block. Hence, DataFlashBlock( ) is issued 0x01 to set the block offset, and the BlockData( )
return the value of Manufacturer Info Block B.
When in SEALED mode, BlockDataControl( ) and DataFlashClass( ) commands are not available. Issuing a
0x01, 0x02, or 0x03 with the DataFlashBlock( ) command causes the corresponding information block (A, B, or C,
respectively) to be transferred to the command space 0x40…0x5f for editing or reading by the system. Upon
successful writing of checksum information to BlockDataChecksum( ), the modified block is returned to data
flash.
Note: Manufacturer Info Block A is read-only when in SEALED mode.
36
V0162
SH366002 SBS Solution User Guide
7.3.3 DATA FLASH SUMMARY
Table 7.6 Data Flash Summary
Class
Subclass
ID
Subclass
Offset
Name
Data
Min
Type Value
Max
Value
Default
Value
Unit
Note
Configuration
2
Safety
0
OT Chg
I2
0
1200
550
0.1°C
Temp Threshold for OTC
Configuration
2
Safety
2
OT Chg Time
U1
0
60
2
s
Time Threshold for OTC. OTC
is forbidden when 0.
Configuration
2
Safety
3
OT Chg Recovery
I2
0
1200
500
0.1°C
Temp Threshold for exit OTC
Configuration
2
Safety
5
OT Dsg
I2
0
1200
600
0.1°C
Temp Threshold for OTD
Configuration
2
Safety
7
OT Dsg Time
U1
0
60
2
s
Time Threshold for OTD. OTD
is forbidden when 0.
Configuration
2
Safety
8
OT Dsg Recovery
I2
0
1200
550
0.1°C
Temp Threshold for exit OTD
Configuration
34
Charge
0
Charging Current
I2
0
32767
1000
mA
Configuration
34
Charge
2
Charging Voltage
U2
0
4600
4200
mV
Configuration
36
Charge Termination
2
Taper Current
I2
0
1000
100
Configuration
36
Charge Termination
4
Min Taper Capacity
U2
0
1000
25
Configuration
36
Charge Termination
6
Taper Voltage
U2
0
1000
100
Configuration
36
Charge Termination
8
Current Taper Window
U1
0
60
40
Configuration
36
Charge Termination
9
TCA Set %
I1
-1
100
99
%
TCA Set threshold
Configuration
36
Charge Termination
10
TCA Clear %
I1
-1
100
95
%
TCA Clear threshold
Configuration
36
Charge Termination
11
FC Set %
I1
-1
100
100
%
FC Set threshold
Configuration
36
Charge Termination
12
FC Clear %
I1
-1
100
98
%
FC Clear threshold
Configuration
39
JEITA
0
JTITA T1 Temp
I1
-128
127
0
°C
Configuration
39
JEITA
1
JTITA T2 Temp
I1
-128
127
10
°C
Configuration
39
JEITA
2
JTITA T3 Temp
I1
-128
127
45
°C
Configuration
39
JEITA
3
JTITA T4 Temp
I1
-128
127
50
°C
37
Charge Terminate Voltage
Taper Current for Charge
Termination
Min Taper Capacity for Charge
0.01mAh
Termination
Taper Voltage for Charge
mV
Termination
Taper Window for Charge
s
Termination
mA
V0162
SH366002 SBS Solution User Guide
Class
Subclass
ID
Subclass
Offset
Name
Data
Min
Type Value
Max
Value
Default
Value
Unit
Configuration
39
JEITA
4
JTITA T5 Temp
I1
-128
127
60
°C
Configuration
39
JEITA
5
JTITA TempHys
I1
-128
127
1
°C
Configuration
39
JEITA
6
JTITA T1-T2 ChgVOL
I2
0
4600
4350
mV
Configuration
39
JEITA
8
JTITA T2-T3 ChgVOL
I2
0
4600
4350
mV
Configuration
39
JEITA
10
JTITA T3-T4 ChgVOL
I2
0
4600
4300
mV
Configuration
39
JEITA
12
JTITA T4-T5 ChgVOL
I2
0
4600
4250
mV
Configuration
39
JEITA
14
JTITA T1-T2 ChgCUR
U1
0
100
50
mV
Configuration
39
JEITA
15
JTITA T2-T3 ChgCUR
U1
0
100
80
mV
Configuration
39
JEITA
16
JTITA T3-T4 ChgCUR
U1
0
100
80
mV
Configuration
39
JEITA
17
JTITA T4-T5 ChgCUR
U1
0
100
80
mV
Configuration
121
Data
0
Cycle Count1
I2
0
700
0
mAh
Configuration
121
Data
2
Qmax
I2
0
32767
1000
mAh
maximum chemical capacity
absolute minimum voltage for
end of discharge
Note
unused
Configuration
121
Data
4
Terminate Voltage
U2
2800
3700
3000
mV
Configuration
121
Data
6
ReserveCap-mAh
I2
0
9000
0
mAh
Configuration
121
Data
8
Initial Standby
I1
-128
127
-10
mA
Initial standby current
Configuration
121
Data
9
Initial MaxLoad
I2
-32767
0
-500
mA
Initial Max load current
Configuration
121
Data
11
Load Mode
U1
0
255
0
-
Configuration
121
Data
12
Update Staus
U1
0
255
0
-
Configuration
121
Data
15
SeriaNo
U2
0
65535
0
-
Configuration
121
Data
17
Cycle Count
U2
0
65535
0
count
Cycle Count
Configuration
121
Data
19
CC Threshold
U2
100
32767
900
mAh
Cycle Count Threshold
Configuration
121
Data
21
ReserveCap-mWh
I2
0
14000
0
mWh
Configuration
121
Data
23
Design Capacity
U2
0
32767
1000
mAh
Design capacity
Configuration
121
Data
25
Design Energy
U2
0
32767
5400
mWh
Design Energy
Configuration
121
Data
27
State of Health Load
I2
-400
0
-400
mA
State of Health Load
38
V0162
SH366002 SBS Solution User Guide
Class
Subclass
ID
Subclass
Offset
Name
Data
Min
Type Value
Max
Value
Default
Value
Unit
Note
Configuration
121
Data
29
Device Name
S9
x
x
SH366002
-
Device Name
Configuration
49
Discharge
0
SOC1 Set Threshold
U2
0
1000
150
mAh
SOC1 Clear Threshold
U2
0
1000
175
mAh
4
SOCF Set Threshold
U2
0
1000
75
mAh
Discharge
6
SOCF Clear Threshold
U2
0
1000
100
mAh
49
Discharge
8
BATLOW Set Threshold
U2
0
32767
2500
mV
State-of-Charge-Threshold 1
Set Threshold
State-of-Charge-Threshold 1
Clear Threshold
State-of-Charge-Threshold
Final Set Threshold
State-of-Charge-Threshold
Final Clear Threshold
Configuration
49
Discharge
2
Configuration
49
Discharge
Configuration
49
Configuration
Configuration
49
Discharge
10
BATLOW Set Time
U1
0
60
2
s
Configuration
49
Discharge
11
BATLOW Clear Threshold
U2
0
32767
2600
mV
Configuration
49
Discharge
13
BATHI Set Threshold
U2
0
32767
4500
mV
Configuration
49
Discharge
15
BATHI Set Time
U1
0
60
2
s
Configuration
49
Discharge
16
BATHI Clear Threshold
U2
0
32767
4400
mV
Configuration
56
Manufacturer Data
0
Pack Lot Code
H2
0
FFFF
0
-
Pack Lot Code
Configuration
56
Manufacturer Data
2
PCB Lot Code
H2
0
FFFF
0
-
PCB Lot Code
Configuration
56
Manufacturer Data
4
Firmware Version
H2
0
FFFF
0
-
Firmware Version
Configuration
56
Manufacturer Data
6
Hardware Revision
H2
0
FFFF
0
-
Hardware Version
Configuration
56
Manufacturer Data
8
Cell Revision
H2
0
FFFF
0
-
Cell Version
Configuration
56
Manufacturer Data
10
DF Config Version
H2
0
FFFF
0
-
System Data
58
Manufacturer Info
0 - 31
Block A [0 - 31]
H1
0
FF
0
-
Data Flash Configuration
Version
Manufacture info Block A
System Data
58
Manufacturer Info
32 - 63
Block B [0 - 31]
H1
0
FF
0
-
Manufacture info Block B
System Data
58
Manufacturer Info
64 - 95
Block C [0 - 31]
H1
0
FF
0
-
Manufacture info Block C
System Data
58
Manufacturer Info
96-127
Block D [0 - 31]
H1
0
FF
0
-
Manufacture info Block D
System Data
58
Manufacturer Info
128-159
Block E [0 - 31]
H1
0
FF
0
-
Manufacture info Block E
System Data
58
Manufacturer Info
160-191
Block F [0 - 31]
H1
0
FF
0
-
Manufacture info Block F
System Data
48
User Buffer
0-31
User Buffer[0-31]
H1
0
FF
0
-
User Buffer
System Data
59
LifetimeData
0
Lifetime Max Temp
I2
-600
1400
0
0.1℃
39
V0162
SH366002 SBS Solution User Guide
Class
Subclass
ID
Subclass
Offset
Name
Data
Min
Type Value
Max
Value
Default
Value
Unit
System Data
59
LifetimeData
2
Lifetime Min Temp
I2
-600
1400
500
0.1℃
System Data
59
LifetimeData
4
Lifetime Max Volt
I2
0
32767
2800
mV
System Data
59
LifetimeData
6
Lifetime Min Volt
I2
0
32767
5000
mV
System Data
59
LifetimeData
8
Lifetime Max CHG CUR
I2
-32767 32767
0
mA
System Data
59
LifetimeData
10
Lifetime Max DSG CUR
I2
-32767 32767
0
mA
System Data
59
LifetimeData
12
Lifetime FlashCnt
U2
0
65535
0
num
Configuration
64
Registers
0
Pack Configuration
H2
0
FFFF
A137
-
Configuration
64
Registers
2
Pack ConfigB
H1
0
FF
3F
-
Configuration
64
Registers
3
Pack ConfigC
H1
0
FF
00
-
Configuration
64
Registers
4
Pack ConfigD
H1
0
FF
00
-
Configuration
64
Registers
5
Interrupt Config
H2
0
FFFF
0000
-
Configuration
64
Registers
7
User Config
H2
0
FFFF
0000
-
System Data
66
LifetimeData
0
Lifetime Delta Temp
U1
0
255
10
0.1℃
System Data
66
LifetimeData
1
Lifetime Delta Volt
U1
0
255
25
mV
System Data
66
LifetimeData
2
Lifetime Delta CUR
U1
0
255
100
mA
System Data
66
LifetimeData
3
Lifetime Update Time
U1
0
255
60
s
Configuration
68
Power
0
Flash Update OK Voltage
I2
0
4200
2800
mV
Min Voltage for Flash updated
Configuration
68
Power
2
Sleep Current
I2
0
100
10
mA
Sleep Current Threshold
Configuration
68
Power
4
TDD_SOH_Percent
U1
0
100
80
%
Configuration
68
Power
5
ISDCurrent
I2
0
32767
10
mA
Configuration
68
Power
7
ISDCurrentFilter
U1
0
255
127
/256
Configuration
68
Power
8
MinISDTime
U1
0
255
7
hour
Configuration
68
Power
9
Hibernate I
I2
0
700
8
mA
Hibernate Current Threshold
Configuration
68
Power
11
Hibernate V
I2
2400
3000
2550
mV
Hibernate Voltage Threshold
Configuration
68
Power
13
FSWait
U1
0
255
0
S
Fullsleep Enter Delay
40
Note
PackConfiguration
V0162
SH366002 SBS Solution User Guide
Class
Subclass
ID
Subclass
Offset
Name
Data
Min
Type Value
Max
Value
Default
Value
Unit
Configuration
68
Power
14
STE_FuseVoltage
U2
0
32767
0
mV
Configuration
68
Power
16
STE_FuseTimeThreshold
U1
0
255
0
s
Configuration
68
Power
17
STE_FuseBlowTime
U1
0
255
0
s
Configuration
68
Power
18
STE_FuseFailCurrent
U1
0
255
0
mA
Gas Gauging
81
Current Thresholds
0
Dsg Current Threshold
I2
0
2000
60
mA
Gas Gauging
81
Current Thresholds
2
Chg Current Threshold
I2
0
2000
75
mA
Gas Gauging
81
Current Thresholds
4
Quit Current
I2
0
1000
40
mA
Gas Gauging
81
Current Thresholds
6
Dsg Relax Time
U2
0
8191
60
S
Gas Gauging
81
Current Thresholds
8
Chg Relax Time
U1
0
255
60
S
Gas Gauging
81
Current Thresholds
9
Quit Relax Time
U1
0
63
1
S
Calibration
104
Data
0
CC Gain
U2
1
65535
8192
num
Current Threshold for quitting
Relax Mode
Time threshold for transmit
from Dsg to Relax
Time threshold for transmit
from Chg to Relax
Time threshold for quitting
Relax
Coulomb Counter Gain Factor
Calibration
104
Data
2
CC Offset
I2
-32768 32767
0
num
Coulomb Counter Offset Factor
Calibration
104
Data
4
Board Offset
I2
-32768 32767
0
num
Board Offset Factor
Calibration
104
Data
6
Int Temp Offset
I2
-32768 32767
0
0.1°C
Internal temperature offset
Calibration
104
Data
8
Ext Temp Offset
I1
-128
127
0
0.1°C
External temperature offset
Calibration
104
Data
9
Frequent Gain
U2
12288
20480
18022
-
MCU Frequency Adjust
Calibration
104
Data
11
Pack V Gain
U2
0
32767
20299
num
Pack Voltage Gain Factor
Calibration
104
Data
13
Pack V Offset
I2
0
mV
Pack Voltage Offset Factor
Calibration
107
Current
1
Deadband
U1
-32768 32767
Note
Current Threshold for
Discharge
Current Threshold for Charge
0
255
5
mA
Deadband Current Threshold
FFFFFF
FF
FFFFFF
FF
FFFFFF
FF
FFFFFF
FF
FFFFFF
FF
FFFFFF
FF
36720414
-
Unsealed Key
FFFFFFFF
-
Full-Assess Key
01234567
-
89ABCDEF
-
FEDCBA98
-
76543210
-
No.12-15 bits of SHA-1
Authentication key
No.8-11 bits of SHA-1
Authentication key
No.4-7 bits of SHA-1
Authentication key
No.0-3 bits of SHA-1
Authentication key
Security
112
Codes
0
Sealed to Unsealed
H4
0
Security
112
Codes
4
Unsealed to Full
H4
0
Security
112
Codes
8
Authen Key3
H4
0
Security
112
Codes
12
Authen Key2
H4
0
Security
112
Codes
16
Authen Key1
H4
0
Security
112
Codes
20
Authen Key0
H4
0
41
V0162
SH366002 SBS Solution User Guide
Class
Subclass
ID
Subclass
Offset
Name
Data
Min
Type Value
Max
Value
Default
Value
Unit
Production
122
Userconfig
1
Config_DT
U2
0
65535
0
-
Production
122
Userconfig
3
Config_SW
U2
0
65535
0
-
Production
122
Userconfig
5
Config_HW
U2
0
65535
0
-
Gauge
123
Algorithm0
0~95
AlgorithmData0~23
Block
-
-
-
-
-
Gauge
224
Algorithm1
0-251
AlgorithmData24~86
Block
-
-
-
-
-
Gauge
225
Algorithm2
0-251
AlgorithmData87~149
Block
-
-
-
-
-
Gauge
226
Algorithm3
0-251
AlgorithmData150~212
Block
-
-
-
-
-
Gauge
227
Algorithm4
0-251
AlgorithmData213~275
Block
-
-
-
-
-
42
Note
V0162
SH366002 SBS Solution User Guide
7.3.3.1 Charge Over Temperature Class(Subclass 2)
OT Chg:
OT Chg Time:
OT Chg
Recovery:
OT Dsg:
OT Dsg Time:
OT Dsg Recovery:
Temp Threshold for OTC. The OTC counter begins as soon as Temperature≧OT Chg.
When it exceeds OT Chg Time, [OTC] is set and [CHG] is cleared.
Time Threshold for OTC. OTC is forbidden when OT Chg Time is 0.
Threshold for exit OTC. When Temperature≦OT Chg Recovery,[OTC] is cleared and
[CHG] is set
Temp Threshold for OTD. The OTD counter begins as soon as Temperature≧OT Dsg.
When it exceeds OT Dsg Time, [OTD] is set
Time Threshold for OTD. OTD is forbidden when OT Dsg Time is 0.
Temp Threshold for exit OTD. When Temperature≦OT Dsg Recovery, [OTD] is cleared
7.3.3.2 Charge Termination Class(Subclass 34, 36)
Charging Current:
Charging Voltage:
Taper Voltage:
Taper Current:
Min Taper Capacity:
Current Taper Window:
TCA Set %:
TCA Clear %:
FC Set %:
FC Clear %:
See 4.2.1 for more details.
Charge current Threshold
Charge termination voltage
Taper Voltage for Charge Termination
Taper Current for Charge Termination
Min Taper Capacity for Charge Termination
Taper Window for Charge Termination
TCA Set threshold
TCA Clear threshold
FC Set threshold
FC Clear threshold
7.3.3.3 JEITA Class(subclass 39)
Lowest temperature parameter of JTITA temperature configuration
Second lowest temperature parameter of JTITA temperature configuration
Normal temperature parameter of JTITA temperature configuration
Second highest temperature parameter of JTITA temperature configuration
Highest temperature parameter of JTITA temperature configuration
temperature parameter of JEITA temperature configuration
Charging Voltage in JEITA T1-T2 temperature
Charging Voltage in JEITA T2-T3 temperature
Charging Voltage in JEITA T3-T4 temperature
Charging Voltage in JEITA T4-T5 temperature
Charging Current in JEITA T1-T2 temperature
Charging Current in JEITA T2-T3 temperature
Charging Current in JEITA T3-T4 temperature
Charging Current in JEITA T4-T5 temperature
See 4.2.2 for more details.
JTITA T1 Temp:
JTITA T2 Temp:
JTITA T3 Temp:
JTITA T4 Temp:
JTITA T5 Temp:
JTITA TempHys:
JTITA T1-T2 ChgVOL:
JTITA T2-T3 ChgVOL:
JTITA T3-T4 ChgVOL:
JTITA T4-T5 ChgVOL:
JTITA T1-T2 ChgCUR:
JTITA T2-T3 ChgCUR:
JTITA T3-T4 ChgCUR:
JTITA T4-T5 ChgCUR
7.3.3.4 Discharge Termination Class (subclass 49)
SOC1 Set Threshold:
State-of-Charge-Threshold 1 Set Threshold. [SOC1] is set when NAC≦SOC1 Set
Threshold.
SOC1 Clear Threshold:
State-of-Charge-Threshold 1 Clear Threshold. [SOC1] is cleared when NAC≧SOC1
Clear Threshold.
SOCF Set Threshold:
State-of-Charge-Threshold Final Set Threshold. [SOCF] is set when NAC≦ SOCF Set
Threshold.
SOCF Clear Threshold:
State-of-Charge-Threshold Final Clear Threshold. [SOCF] is cleared when NAC≧ SOCF
Clear Threshold.
BATLOW Set Threshold:
[BATLOW] is set when cell voltage < BATLOW Set Threshold for BATLOW Set Time.
BATLOW Set Time:
[BATLOW] is set when cell voltage < BATLOW Set Threshold for BATLOW Set Time.
BATLOW Clear Threshold:
[BATLOW] is clear when cell voltage > BATLOW Clear Threshold
43
V0162
SH366002 SBS Solution User Guide
BATHI Set Threshold:
BATHI Set Time:
BATHI Clear Threshold:
[BATHI] is set when cell voltage < BATHI Set tThreshold for BATH ISet Time.
[BATHI] is set when cell voltage < BATHI Set Threshold for BATHI Set Time.
[BATHI] is clear when cell voltage > BATHI Clear Threshold
See 4.4.4 for more details.
7.3.3.5 Gas Gauging Class(Subclass 48, 80, 82)
the maximum chemical capacity of the battery cell.
Qmax:
absolute minimum voltage for end of discharge.
Terminate Voltage:
actual remaining capacity exists after reaching 0 remaining capacity in mAh.
Reserv Cap-mAh:
actual remaining capacity exists after reaching 0 remaining capacityin mWh.
Reserv Cap-mWh:
Initial Standby:
Initial standby current
Initial Max load current
Initial MaxLoad:
Discharge cycles counter
Cycle Count:
Cycle Count Threshold. Cycle Count increases by 1 after accumulated coulomb
CC Threshold:
count exceeds it.
Design Capacity, which can be configured by cell data provided by manufacturer.
Design Capacity:
Design Energy, which can be configured by cell data provided by manufacturer.
Design Energy:
State of Health Load. Modification by users is not recommended.
State of Health Load:
7.3.3.6 Configuration Class(Subclass 48, 56, 83)
Device Name:
Pack Lot Code:
PCB Lot Code:
Firmware Version:
Hardware Revision:
Cell Revision:
DF Config Version:
Chem ID:
Store the Device Name, the default is the ASCII values for "SH366002”.
Store the pack lot code.
Store the PCB lot code.
Store the firmware version.
Store the hardware version.
Store the cell version.
Store the data flash configuration version.
Store the chemical identifier number.
7.3.3.7 Manufacture Class (subclass 58)
Block A [0-31]:
Block B [0-31]:
Block C [0-31]:
Block D [0-31]:
Block E [0-31]:
Block F [0-31]:
Manufacture information Block A
Manufacture information Block B
Manufacture information Block C
Manufacture information Block D
Manufacture information Block E
Manufacture information Block F
44
V0162
SH366002 SBS Solution User Guide
7.3.3.8 PackConfiguration (subclass 64)
Pack Configuration:
Pack ConfigB:
Pack ConfigC:
Pack ConfigD:
Interrupt Config:
Some SH366002 pins are configured via the Pack Configuration data flash register, this
register can be read and written.
This register can be used to enable or disable STE fuse function, BTP function, ISD and
TDD function.
This register can be used to enable or disable JEITA function.
Reserved
This register can be used to enable or disable the following interrupt: TDD, ISD, BATHI,
BATLOW, OTC, OTD, SOC1.
Fusion gauge Algorithm Configuration.
User Config:
Table 7.7 Pack Configuration Description
Name
Bit
Description
RESCAP
15
0: No-load rate of compensation is applied to the reserve capacity calculation.
1: load rate of compensation is applied to the reserve capacity calculation. (default)
NormTWI
14
TWI communication frequency control bit
0: Maximum 100KHz (default)
1: Maximum 400KHz
10mWh
13
Power Unit switch control bit
0: Power was calculated by 1mWh unit
1:Power was calculated by 10mWh unit (default)
INTPOL
12
STE Pin state depending on [INTPOL] bit and other bits.
More detail please refer to interrupt mode(6.2) and BTP Function(6.3).
GNDSEL
11
The ADC ground select control. Default is 0.
IWAKE, RSNS1,
RSNS0
10~8
Current Wake-up Threshold
000/100: Disable
001: Voltage between ASRP~ASRN is +1.4mV or -1.4 mV (default)
101/010: Voltage between ASRP~ASRN is +3.0mV or -3.0 mV
110/011: Voltage between ASRP~ASRN is +6.0mV or -6.0 mV
111: Voltage between ASRP~ASRN is +12.0mV or -12.0 mV
RSVD
7~6
Reserved
SLEEP
5
Sleep mode enable control bit
0: Disabled
1: Enabled (default)
RMFCC
4
Enables the NAC updating to FAC on valid charge termination
0: Disabled
1: Enabled (default)
STE_PU
3
Pull-up enable for STE pin
0: STE output is open-drain. (default)
1: STE output is pull-up
STE_POL
2
Polarity bit for STE pin
0: STE is active low.
1: STE is active high (default)
STE_EN
1
STE function control bit
0: Disable: can be set via PackConfiguration or by sending sub-command
CLEAR_SHUTDOWN(0x14)
1: Enabled (default). can be set via PackConfiguration or by sending sub-command
SET_SHUTDOWN(0x13). (default)
TEMPS
0
Temperature Measurement control bit
0: Selects internal sensor for temperature measurement.
1: Selects external thermistor for temperature measurement. (default)
45
V0162
SH366002 SBS Solution User Guide
Table 7.8 Pack ConfigB
Name
Bit
Description
FuseEN
7
Reserved
6,5
BTPEN
4
Reserved
3,2
ISDEN
1
ISD Function control bit
0: Disable ISD function. (default)
1: Enable ISD function.
TDDEN
0
TDD Function control bit
0: Disable TDD function. (default)
1: Enable TDD function.
STE fuse Function control bit
0: Disable STE fuse function. (default)
1: Enable STE fuse function.
Reserved
BTP Function control bit
0: Disable BTP function. (default)
1: Enable BTP function.
Reserved
Table 7.9 Pack ConfigC
Name
Bit
Description
Reserved
7-1
Reserved
JEITA
0
Name
Bit3,2,1,0
Normal mode
0000B
The fusion gauge is in Sh366002 normal Algorithm Mode. (default)
User_CFG1
XXX1B
The fusion gauge is in User_CFG1 Algorithm Mode
User_CFG2
XX10B
The fusion gauge is in User_CFG2 Algorithm Mode
User_CFG3
X100B
The fusion gauge is in User_CFG3 Algorithm Mode
User_CFG4
1000B
The fusion gauge is in User_CFG4 Algorithm Mode
JEITA Function control bit
0: Disable JEITA function.
1: Enable JEITA function. (default)
Table 7.10 User Config
Description
Note: (1) X is 1 or 0.
(2) User_Config bit15~4 are all zero in any of the three configuration.
46
V0162
SH366002 SBS Solution User Guide
Table 7.11 Interrupt Config
Name
Bit
Description
Reserved
15-7
TDD
6
TDD interrupt control bit
0: Disable TDD interrupt. (default)
1: Enable TDD interrupt.
ISD
5
ISD interrupt control bit
0: Disable ISD interrupt. (default)
1: Enable ISD interrupt.
BATHI
4
BATHI interrupt control bit
0: Disable BATHI interrupt. (default)
1: Enable BATHI interrupt.
BATLOW
3
BATLOW interrupt control bit
0: Disable BATLOW interrupt. (default)
1: Enable BATLOW interrupt.
OTC
2
OTC interrupt control bit
0: Disable OTC interrupt. (default)
1: Enable OTC interrupt.
OTD
1
OTD interrupt control bit
0: Disable OTD interrupt. (default)
1: Enable OTD interrupt.
SOC1
0
SOC1 interrupt control bit
0: Disable SOC1 interrupt. (default)
1: Enable SOC1 interrupt.
Reserved, 0 fixed.
7.3.3.9 Power Mode (subclass 68)
Flash Update OK Voltage:
Sleep Current:
TDD SOH Percent
ISDCurrent
ISDCurrentFilter
MinISDTime
Hibernate I:
Hibernate V:
STE_FuseVoltage
STE_FuseTimeThreshold
STE_FuseBlowTime
STE_FuseFailCurrent
FS Wait:
Min. voltage for Flash Update. Dataflash could not be modified when cell
voltage 0) or immediately (Full Sleep Wait Time ≤0).
During FULLSLEEP mode, the SH366002 periodically takes data measurements and updates its data set.
However, a majority of its time is spent in an idle condition. In this mode, the high frequency oscillator is turned off.
The power consumption is further reduced in this mode compared to the SLEEP mode.
The gauge exits the FULLSLEEP mode when there is any communication activity. While in FULLSLEEP mode,
the fusion gauge can suspend serial communications as much as 4ms by holding the communication line(s) low.
This delay is necessary to correctly process host communication, since the fusion gauge processor is mostly
halted in SLEEP mode.
8.4 HIBERNATE MODE
HIBERNATE mode should be used when the host system needs to enter a low-power state, and minimal gauge
power consumption is required.
1.
HIBERNATE due to the load current.
2.
The [HIBERNATE] bit of the CONTROL_STATUS register must be set.
3.
The gauge has taken a valid OCV measurement.
4.
The magnitude of the average cell current has fallen below Hibernate Current.
5.
No communication.
6.
The gauge is already in SLEEP or FULLSLEEP mode
7.
HIBERNATE due to the cell voltage.
8.
Cell voltage drops below the Hibernate Voltage.
9.
A valid OCV measurement has been taken.
10. No communication.
11. The gauge is already in SLEEP or FULLSLEEP
If the [SHUTDOWN] bit of CONTROL _STATUS is also set, the STE pin will be released in the state shown by
Table 7.2; thereby, allowing an optional external circuit to remove power from the gauge LDO.
Upon exiting HIBERNATE mode, the [HIBERNATE] bit of CONTROL_STATUS is cleared. Since any
communication activity wakes up the gauge from HIBERNATE mode, the host is required to set the
[HIBERNATE] bit of the CONTROL_STATUS register to allow gauge to re-enter HIBERNATE mode.
To disable the HIBERNATE mode, the Control( ) sub-command SET_HIBERNATE should not be used and
Hibernate Voltage and Current must be set to 0 in data flash.
50
V0162
SH366002 SBS Solution User Guide
9. ELECTRICAL SPECIFICATIONS
9.1 ABSOLUTE MAXIMUM RATINGS
Table 9.1 Absolute Maximum Ratings
Pin
Min Value
Max Value
Units
BAT, VCCIN
-0.3
6.0
V
VCC, VCC18
-0.3
2.0
V
ASRP, ASRN
-1
1
V
SCL, SBMD, SWI
-0.3
6.0
V
Functional Temperature range
-40
100
C
Note
9.2 DC SPECIFICATIONS
(TA=-40 C~85 C, C(VCCIN)=0.47uF,2.35V