Automotive Multicell battery monitoring and balancing IC
Features
•AEC-Q100 qualified
•Measures 4 to 14 cells in series, with 0 μs desynchronization delay between
samples. Supports also busbar connection without altering cell results
•Coulomb counter supporting pack overcurrent detection in both ignition on and
off states. Fully synchronized current and voltage samples
•16-bit voltage ADC with maximum error of ±2 mV in the [0.5 – 4.3] V range, after
soldering, in [-40; +105] °C Tj range
•2.66 Mbps isolated serial communication with regenerative buffer, supporting
dual access ring. Less than 4 us latency between start of conversion of the 1st
and the 31st device in a chain. Less than 4 ms to convert and read 96 cells in a
system using 8 L9963E and L9963T transceiver. Less than 8 ms to convert and
read 210 cells in a system using 15 L9963E and L9963T transceiver. Less than
16 ms to convert and read 434 cells in a system using 31 L9963E and L9963T
transceiver. Supports both XFMR and CAP based isolation
•200 mA passive internal balancing current for each cell in both normal and
silent-balancing mode. Possibility of executing cyclic wake up measurements.
Manual/Timed balancing, on multiple channels simultaneously; Internal/External
balancing
•Fully redundant cell measurement path, with ADC Swap, for enhanced safety
and limp home functionality
•Intelligent diagnostic routine providing automatic failure validation. Redundant
fault notification through both SPI Global Status Word (GSW) and dedicated
FAULT line
•Two 5 V regulators supporting external load connection with 25 mA (VCOM) and
50 mA (VTREF) current capability
•9 GPIOs, with up to 7 analog inputs for NTC sensing
•Robust hot-plug performance. No Zeners needed in parallel to each cell
•Full ISO26262 compliant, ASIL-D systems ready
Application
•Automotive: 48 V and high-voltage battery packs
•Backup energy storage systems and UPS
•E-bikes, e-scooters
•Portable and semi-portable equipment
Description
The L9963E is a Li-ion battery monitoring and protecting chip for high-reliability
automotive applications and energy storage systems. Up to 14 stacked battery cells
can be monitored to meet the requirements of 48 V and higher voltage systems.
Each cell voltage is measured with high accuracy, as well as the current for the
on-chip coulomb counting. The device can monitor up to 7 NTCs. The information is
transmitted through SPI communication or isolated interface.
DS13636 - Rev 3 - April 2021
For further information contact your local STMicroelectronics sales office.
www.st.com
L9963E
Multiple L9963E can be connected in a daisy chain and communicate with one host
processor via the transformer isolated interfaces, featuring high-speed, low EMI, long
distance, and reliable data transmission.
Passive balancing with programmable channel selection is offered in both normal
and low power mode (silent balance). The balancing can be terminated automatically
based on internal timer interrupt. Nine GPIOs are integrated for external monitoring
and controlling. The L9963E features a comprehensive set of fault detection and
notification functions to meet the safety standard requirements.
DS13636 - Rev 3
page 2/184
1Device introduction
The L9963E is intended for operation in both hybrid (HE) and full electric (FE) vehicles using lithium battery
packs. The IC embeds all the features needed to perform battery management. A single device can monitor from
4 up to 14 cells. Several devices can be stacked in a vertical arrangement in order to monitor up to 31 battery
packs for a total of 434 series cells.
The device can be supplied with the same battery it monitors, and generates stable internal references by
means of a voltage regulator and a bootstrap. Both unit need to be surrounded by external components to be
functional. It also features two internal bandgaps that are constantly monitored by internal circuitry to guarantee
measurement precision. The microcontroller can also monitor the precision of the bandgap by reading the
conversion of an internally generated voltage reference (VTREF).
L9963E main activity consists in monitoring cells and battery pack status through stack voltage measurement,
cell voltage measurement, temperature measurement and coulomb counting. Measurement and diagnostic tasks
can be executed either on demand or periodically, with a programmable cycle interval. Measurement data is
available for an external microcontroller to perform charge balancing and to compute the State Of Health (SOH)
and State Of Charge (SOC). In a typical use, the IC works in normal mode performing measurement conversions,
diagnostics and communication; the device can also be put into a cyclic wake up state, in order to reduce the
current consumption from the battery: while in this state, the main functions are activated periodically.
Passive cell balancing can be performed either via internal discharge path or via external MOSFETs. The
controller can either manually control the balancing drivers or start a balancing task with a fixed duration. In
the second case, the balancing may be programmed to continue also when the IC enters a low power mode
called Silent Balancing, in order to avoiding unnecessary current absorption from the battery pack.
Thanks to the GPIOs, the device also offers the possibility to operate a distributed cell temperature sensing via
external NTCs resistances. In general, the GPIOs can be used to perform both absolute and differential voltage
conversions. They can also be configured as digital inputs/outputs. The IC supports up to 7 NTCs.
The external microcontroller can communicate with L9963E via SPI protocol, depending on the status of one pin
at the startup (SPIEN pin). The physical layer can be either a classical 4-wire based SPI or a 2-wire, transformer/
capacitive based, isolated interface through a dedicated isolated transceiver device. L9963E, in fact, can be used
as a transceiver, acting as a bridge between the two physical layers. In case of multiple L9963E vertically arrayed,
each L9963E communicates with the others by means of a vertical isolated interface. The microcontroller can
either address a single device of the chain or send broadcast commands.
L9963E has been engineered to perform automatic validation of any failure involving the cells or the whole battery
pack. The device is able to detect the loss of the connection to a cell or GPIO terminal. Moreover it features an
HardWare Self Check (HWSC) that verifies the correct functionality of the internal analog comparators and the
ADCs. All these checks are automatically performed in case a failure involving both cells or the battery pack is
detected, in order to provide always a reliable information to the external microcontroller. The current sensing
interface used for coulomb counting is also capable of detecting failures such as open wires and overcurrent in
sleep mode. Conversions for coulomb counting are validated by built in self-test of the precision and detecting
any counter overflow. The cell balancing terminals can detect any short/open fault and the internal powerMOS are
protected against overcurrent.
The stack voltage is monitored for OV/UV by three parallel and independent system. They have been engineered
to protect the IC against AMR violation, to detect any overvoltage event as per LV 148 and to provide the
possibility to trim the OV/UV levels according to the application and the total number of cells. Moreover, all
internal voltage regulators are equipped with UV/OV detection circuitry, that is also self-validated upon failure
detection via HWSC. Ground loss detection has also been implemented. In case of overtemperature, thermal
shutdown protects the IC. GPIOs are capable of detecting ‘stuck @’ faults when used as digital outputs.
Communication integrity is guaranteed by CRC check, while trimming and calibration data is continuously
checked against corruption. Protocol errors such as incorrect address, inconsistent frame and communication
interruption will be detected.
Critical failure modes will trigger the assertion of a dedicated FAULT line (implemented via two GPIOs),
propagating through the L9963E chain via external optocouplers and reaching the microcontroller. L9963E can
guarantee the FAULT line integrity via a heartbeat routine.
L9963E
Device introduction
DS13636 - Rev 3
page 3/184
Figure 1. Typical application
L9963E
VBAT
GNDREF
CGND DGND
AGND ISENSEp
ISENSEm
RSENSE
S2B2_1
C1
S1 C0
RLPF
RLPF
RDIS
RDIS
CLPF
CLPF
CESD
CESD
CELL1
CELL2
C14
S4
B4_3 C3
S3
C2
RLPF
RLPF
RDIS
RDIS
CLPF
CLPF
CESD
CESD
CELL3
CELL4
S6
B6_5
C5 S5
C4
RLPF
RLPF
RDIS
RDIS
CLPF
CLPF
CESD
CESD
CELL5
CELL6
S8B8_7
C7 S7
C6
RLPF
RLPF
RDIS
RDIS
CLPF
CLPF
CESD
CESD
CELL7
CELL8
S10B10_9
C9
S9 C8
RLPF
RLPF
RDIS
RDIS
CLPF
CLPF
CESD
CESD
CELL9
CELL10
S12
B12_11C11
S11
C10
RLPF
RLPF
RDIS
RDIS
CLPF
CLPF
CESD
CESD
CELL11
CELL12
S14
B14_13
C13 S13
C12
RLPF
RLPF
RDIS
RDIS
CLPF
CLPF
CESD
CESD
CELL13
CELL14
RLPF
CESD
FR_BAT
BATT_MINUS
BATT_PLUS
CISENSE_1
VTREF
NPNDRV
VREG
CREG
CBAT_1
VCOM
CVCOM
VANA
CVANA
SPIEN
FAULTL
RFAULTL
RBAT_DOWNRFAULT_DOWN
FAULT_DOWNBAT_DOWN
DOPT
RBAT_UP
BATT_UP
FAULTH
CFLTH
RFLT
DZ_FLT
RFLT_PD
FAULT_UP
ISOHp
ISOHm
ISOLp_UPISOLm_UP
ISOLp
ISOLm
ISOHp_DOWN
ISOHm_DOWN
RTERM
RTERM
GPIO9
RNTC
RVTREF
CNTC
RGPIO
GPIO8
RNTC
RVTREF
CNTC
RGPIO
GPIO7
RNTC
RVTREF
CNTC
RGPIO
GPIO6
RNTC
RVTREF
CNTC
RGPIO
GPIO5
RNTC
RVTREF
CNTC
RGPIO
GPIO4
RNTC
RVTREF
CNTC
RGPIO
GPIO3
RNTC
RVTREF
CNTC
RGPIO
CAP1
CAP2
CBOOT
MREG
TRANSF
TRANSF
OPT
DZBAT
CVTREF
CESD
RISENSE
RISENSE
CESD
CBAT_2
CISENSE_2
CISENSE_3
CNPN
CBAT_3
AGND
DGND
GND_ESD
PACK_GND
L9963E
Device introduction
DS13636 - Rev 3
page 4/184
2Block diagram and pin description
GADG1010180719PS
BOOTSTRAP
DGND
VBAT
CAP1
CAP2
c14
s14
b14_13
b12_11
c13
c11
c12
s13
s11
s2
c1
c2
c0
ISENSEp
ISENSEm
GNDREF
s1
b2_1
VBAT
AGND CGND
GNDREF
CGND
CGND
CGND
AGND
AGND
DGND
DGND
GNDREF
GNDREF
GNDREF
DGND
AGND
CGND
NPNDRV
NPNDRV
Ree
Digital
Control
&
Data
Register
VDIG
VANA
VCOM
ISO
SPI
GPIO
VTREF
CSA
DIAG
ADCs
VREG
VDIG
VANA
VANA
Bal CT
Bal CT
Bal CT
Bal CT
Bal CT
Bal CT
VANA
VCOM
VCOM
VCOM
VCOM
VANA
VDIG
VDIG
VTREF
VANA
VCOM
VTREF
SPIEN
GPIO9/SDO
GPIO8/SCK
GPIO7/WAKEUP
GPIO6
GPIO5
GPIO4
GPIO3
GPIO2/FAULTL
GPIO1/FAULTH
ISOHp
ISOHm
ISOLp/SDI
ISOLm/NCS
2.1Block diagram
Figure 2. Block diagram
L9963E
Block diagram and pin description
DS13636 - Rev 3
page 5/184
2.2Pin description
L9963E
Pin description
Figure 3. Pin connections (top view)
DS13636 - Rev 3
Pin #
1GPIO8_ SCK
2GPIO9_ SDO
3ISOLp_SDI
4ISOLm_NCS
Pin nameDescription
Table 1. Pin function
General-purpose I/O / Serial clock input (SPI). Its configuration is locked to
Digital Input in case SPIEN = 1. Refer to Section 4.9 General purpose I/O:
GPIOs. Generally used to sense NTCs when not configured as SPI. Refer to
Section 6.9 NTC analog front end.
General-purpose I/O / Serial data output (SPI). Its configuration is locked to
Digital Output in case SPIEN = 1. Refer to Section 4.9 General purpose I/O:
GPIOs. Generally used to sense NTCs when not configured as SPI. Refer to
Section 6.9 NTC analog front end.
Non-inverting, low-side isolated serial communication port (isolated SPI) / Serial data
input (SPI). Its configuration is locked to Digital Input in case SPIEN = 1. Refer to
Section 4.2 Serial communication interface. When used as isolated SPI, refer to
Section 6.8 ISO lines circuit.
Inverting, low-side isolated serial communication port (isolated SPI) / Active low,
Chip-Select input (SPI). Its configuration is locked to Digital Input in case SPIEN =
1. Refer to Section 4.2 Serial communication interface. When used as isolated SPI,
refer to Section 6.8 ISO lines circuit.
I/O type
DO/DI/AI
DO/DI/AI
DI/AIO
DI/AIO
page 6/184
(1)
L9963E
Pin description
Pin #Pin nameDescription
I/O type
Regulated power supply used for communication interfaces. Connect a tank
5VCOM
capacitor as indicated in Table 73. Can be used to supply external loads with a
maximum I
VCOM_ext
current budget.
6CGNDCommunication ground. Connect to DGND on top.G
Non-inverting, high-side isolated serial communication port. Refer to
7ISOHp
Section 4.2.3 Isolated Serial Peripheral Interface. Refer to Section 6.8 ISO lines
AIO
circuit.
Inverting, high-side isolated serial communication port. Refer to
8ISOHm
Section 4.2.3 Isolated Serial Peripheral Interface. Refer to Section 6.8 ISO lines
AIO
circuit.
9DGNDDigital ground. Connect to AGND on top.G
10GPIO1_ FAULTHDigital input used for FAULTH receiver. Refer to Section 4.3 FAULT line.DI
11GPIO2_ FAULTLDigital output used for FAULTL transmitter. Refer to Section 4.3 FAULT line.DO
12GPIO3
13GPIO4AI/DI/DO
14GPIO5AI/DI/DO
General-purpose I/O. Refer to Section 4.9 General purpose I/O: GPIOs. Generally
used to sense NTCs. Refer to Section 6.9 NTC analog front end.
AI/DI/DO
15GPIO6AI/DI/DO
General-purpose I/O. Refer to Section 4.9 General purpose I/O: GPIOs. Generally
16GPIO7_ WAKEUP
used to sense NTCs. Refer to Section 6.9 NTC analog front end. Can be
AI/DI/DO
configured to act as wake up input. Refer to Section 4.9.4 GPIO7: wake up feature.
17NPNDRV
Internal voltage regulator controller output. Connect to the base of the external NPN
transistor.
AO
Regulated analog power supply for core circuitry. Connect a tank capacitor as
18VREG
indicated in Table 73. It is disabled in low power modes (Silent Balancing, Sleep
and during the OFF phase of Cyclic Wakeup). VCOM, VANA and VTREF regulators
are fed by pre-regulated VREG.
19VTREF
Buffered, precise analog reference voltage for driving multiple NTCs. Connect a tank
capacitor as indicated in Table 73. It has a maximum IVTREF_ext current budget.
At first power up, after VCOM is out of undervoltage, this pin is sampled to
20SPIEN
determine port L configuration. Connect to VCOM to configure SPI mode. Connect
to AGND to select isolated SPI communication.
DI
If left floating, this pin has a 100KΩ internal Pull down, forcing isolated SPI mode.
21VANAPrecise ADC analog supply. Connect a tank capacitor as indicated in Table 73.P
22AGNDAnalog/ESD ground. Ground supply of chip.G
23ISENSEpNon-inverting input of current measurement. Refer to Table 73.AI
24ISENSEmInverting input of current measurement. Refer to Table 73.AI
25GNDREFAnalog/reference GND. Connect to AGND on topG
26C0Connect to the negative terminal of 1st cell.AI
27C1Cell voltage input. Connect to the positive terminal of 1st cell.AI
28S1Cell balancing FET control output for 1st cell.AO
29B2_1Common terminal for cell balancing S1 and S2.AO
30S2Cell balancing FET control output for 2nd cell.AO
31C2Cell voltage input. Connect to the positive terminal of 2nd cell.AI
32C3Cell voltage input. Connect to the positive terminal of 3rd cell.AI
33S3Cell balancing FET control output for 3rd cell.AO
34B4_3Common terminal for cell balancing S3 and S4.AO
35S4Cell balancing FET control output for 4th cell.AO
(1)
P
P
P
DS13636 - Rev 3
page 7/184
L9963E
Pin description
Pin #Pin nameDescription
I/O type
36C4Cell voltage input. Connect to the positive terminal of 4th cell.AI
37C5Cell voltage input. Connect to the positive terminal of 5th cell.AI
38S5Cell balancing FET control output for 5th cell.AO
39B6_5Common terminal for cell balancing S5 and S6.AO
40S6Cell balancing FET control output for 6th cell.AO
41C6Cell voltage input. Connect to the positive terminal of 6th cell.AI
42C7Cell voltage input. Connect to the positive terminal of 7th cell.AI
43S7Cell balancing FET control output for 7th cell.AO
44B8_7Common terminal for cell balancing S7 and S8.AO
45S8Cell balancing FET control output for 8th cell.AO
46C8Cell voltage input. Connect to the positive terminal of 8th cell.AI
47C9Cell voltage input. Connect to the positive terminal of 9th cell.AI
48S9Cell balancing FET control output for 9th cell.AO
49B10_9Common terminal for cell balancing S9 and S10.AO
50S10Cell balancing FET control output for 10th cell.AO
51C10Cell voltage input. Connect to the positive terminal of 10th cell.AI
52C11Cell voltage input. Connect to the positive terminal of 11th cell.AI
53S11Cell balancing FET control output for 11th cell.AO
54B12_11Common terminal for cell balancing S11 and S12.AO
55S12Cell balancing FET control output for 12th cell.AO
56C12Cell voltage input. Connect to the positive terminal of 12th cell.AI
57C13Cell voltage input. Connect to the positive terminal of 13th cell.AI
58S13Cell balancing FET control output for 13th cell.AO
59B14_13Common terminal for cell balancing S13 and S14.AO
60S14Cell balancing FET control output for 14th cell.AO
61C14Cell voltage input. Connect to the positive terminal of 14th cell.AI
62VBAT
Power supply of chip. This pin is also sensed by internal ADC through a voltage
divider. Refer to Table 73.
63CAP2Pin2 external bootstrap capacitance. Refer to Table 73.AI
64CAP1Pin1 external bootstrap capacitance. Refer to Table 73.AI
-GNDEPGround terminal, connect to AGND planeG
1. I/O type legend: AI = Analog Input; AO = Analog Output; AIO = Analog I/O; DI = Digital Input; DO = DigitalOutput; DIO =
Digital I/O; P = Power; G = Ground; NC = Not Connect.
(1)
P
DS13636 - Rev 3
page 8/184
3Product electrical ratings
3.1Operating range
Within the operating range the part operates as specified and without parameter deviations. The device may not
operate properly if maximum operating conditions are exceeded.
Once taken beyond the operative ratings and returned back within, the part will recover with no damage or
degradation, unless the AMR are exceeded.
Additional supply voltage and temperature conditions are given separately at the beginning of each electrical
specification table.
All voltages are related to the potential at substrate ground AGND, unless otherwise noted.
SymbolParameterTest conditionsMin.Typ.Max.Unit
VBATGlobal
VBAT, VREG, VCOM, VTREF
C0GlobalLower Cell Terminal Voltage-0.30.3V
B(n,n-1); SnGlobalCell Terminal Voltage0VBATV
C(n) for n=1 to 9GlobalCell Terminal Voltage0VBAT – 4.5V
C(n) for n=10 to 14GlobalCell Terminal Voltage3VBAT + 0.3V
C(n)-C(n-1) for n=1 to 14Cell Terminal Differential Voltage04.7V
S(n+1)-B(n+1,n); B(n+1,n)-S(n)
for n=1 to 13 odd
C(n)-S(n) for n=1 to 14Cell Terminal Differential Voltage04.7V
VBAT – C(14)
ISOHP/M, ISOLP/MGlobal-0.3VCOMV
GPIOnLocal-0.3VCOMV
SPIENLocal-0.3VCOMV
VTREFLocal5V
|ISENSEP – ISENSEM|Local
|ISENSEP + ISENSEM| / 2Local
VCOMLocal5V
VANALocalInfo only3.3V
VREGLocal6.5V
NPNDRVLocalVREG-0.3VREG + 1.5V
CAP1Local0VBATV
CAP2LocalVREGVBAT + VREGV
L9963E
Product electrical ratings
Table 2. Operating ranges
Supply voltage9.664V
Transient operation, 40 ms pulse,
repetitive as per VDA320 E48-02
test.
Supply voltage in case of
transceiver use only (see
Section 6.12 Transceiver mode)
Cell Balance Terminal Differential
Voltage
Battery / high Terminal Differential
Voltage
CSA Input Differential Mode
Range
CSA Input Common Mode Range
(Referenced to GNDREF)
6470V
4.655.4V
04.7V
-0.361V
-0.150.15V
-0.2250.225V
DS13636 - Rev 3
page 9/184
3.1.1Supply voltage ranges
AMR
Violation
•Permanent
damage
•Permanent
parameter
deviation
Critical
UV
• Params may
deviate
• Balance
disabled
• Transceiver
usage
Dyn UV
•No
param
deviation
•All
functions
guarante
ed
Normal
Op
•All
functions
guarantee
d
Dyn OV
•Cell total
error
slightly
increased
•All
functions
guarantee
d
Critical
OV
•Params
may
deviate
•All
functions
available
AMR
Violation
•Permanent
damage
•Permanent
parameter
deviation
VBAT
- 0.3 V
5.4 V
4.6 V
9.6 V
12 V
64 V
70 V
72 V
The device operates up to 14 cells of battery for hybrid and electric vehicles. The device can cover the voltage
range of the main automotive Lithium batteries, up to a maximum of 4.6 V per cell in operating conditions. The IC
has been engineered to sustain transient OV events as per LV 148
All operative ranges are listed in picture below.
If the stand by V3V3 regulator goes in POR, the device is put in reset.
Figure 4. Device operation in the VBAT supply voltage ranges
L9963E
Absolute maximum ratings
3.2
Absolute maximum ratings
Exceeding any Absolute Maximum Rating (AMR) may cause permanent damage to the integrated circuit.
All voltages are related to the potential at substrate ground AGND.
Table 3. Absolute Maximum Rating
SymbolParameterTest conditionsMin.Typ.Max.Unit
VBAT, C14--0.3-72V
C0--0.3-0.3V
C(n); B(n,n-1); Sn--0.3-72V
In this range, the device is not
damaged, but leakage from
C(n)-C(n-1) for n=1 to 14-
C(n)-C(n-1) for n=1 to 14-
S(n+1)-B(n+1,n) B(n+1,n)-S(n)
for n=1 to 13 odd
C(n)-S(n) for n=1 to 14-Vreg < 2 V-72-72V
VBAT-C14--72-72V
ISOHP/M, ISOLP/M--0.3-6V
GPIOn--0.3-5.5V
SPIEN--0.3-12V
VTREF--0.3-6V
pins may exceed I
(see Table 39) if ADCs are
enabled; it doesn’t exceed if
ADCs are disabled
In this range, the leakage from
pins I
CELL_LEAK
(see Section 6.10.5 Busbar
connection) if ADCs are
enabled or disabled
--0.3-
CELL_LEAK
is guaranteed
-72-72V
-6-6V
V
BAL_CLAMP
V
DS13636 - Rev 3
page 10/184
Temperature ranges and thermal data
SymbolParameterTest conditionsMin.Typ.Max.Unit
ISENSEP/M--0.3-4.5V
VCOM--0.3-6V
VANA--0.3-4.5V
VREG--0.3-12V
NPNDRV--0.3-12V
CAP1--0.3-VBAT + 0.3VV
CAP2-VREG – 0.3V-VBAT + 7VV
DGND, CGND--0.3-+ 0.3V
GNDREF shorted to AGND--
Table 4. ESD protection
ItemParameterTest conditionsMin.Typ.Max.Unit
All pins Except Isolated
Communication Terminals and
Global pins
Isolated Communication
Terminals
(1)(2)
(1)
and Global pins
-
HBM
(2)
versus all GND+EP connected
All pins except Corner Pins
Corner Pins-750-750V
All pins-
-
(3)
CDM
Latch up
(4)
1. Tested per AEC-Q100-002.
2. Isolated Communication Terminals: ISOHP, ISOHM, ISOLP_SDI, ISOLM_NCS.
3. Tested per AEC-Q100-011.
4. Tested per AEC-Q100-004, Class-2, Level-A.
-2-2kV
-4-4kV
-500-500V
-100-100mA
L9963E
3.3
Pins are all GND connected together.
Temperature ranges and thermal data
Table 5. Temperature ranges and thermal data
SymbolParameterTest conditionsMinMaxUnit
T
amb
T
J
T
stg
T
ot
T
ot
O
Thys
R
Thj-amb
1. In “2s2p”, the “s” suffix stands for “Signal” and the number before indicates how many PCB layers are dedicated to signal
wires. The “p” suffix stands for “Power” and the number before indicates how many PCB layers are dedicated to power
planes.
Operating and testing temperature (ECU environment)--40105°C
Junction temperature for all parameters--40125°C
Storage temperature--65150°C
Thermal shut-down temperature (junction)-175200°C
Temperature ADC accuracy--10+10°C
Thermal shut-down temperature hysteresis-515°C
Thermal resistance junction-to-ambient
(1)
-22°C/W
DS13636 - Rev 3
page 11/184
3.4Power management
All parameters are tested and guaranteed in the following conditions, unless otherwise noted:
9.6 V < VBAT < 64 V; -40 °C < Tambient < 105 °C
SymbolParameterTest conditionsMin. Typ. Max. Unit
I
BAT_NORM
in Normal Mode from VBAT pin
I
Current in Normal Mode from
I
REG_NORM_CSEN1
Current in Normal Mode from
I
REG_NORM_CSEN0
Current in Normal Mode from
I
Supply Current in Normal Mode
I
Supply Current in Normal Mode
I
supply current drawn from VREG
I
BAT_SLP
, Total Supply Current
BAT_NORM_ADC
, Total Supply
VBAT pin
, Total Supply
VREG MOS
, Total Supply
VREG MOS
REG_NORM_ADC_CSEN1
from VREG MOS
REG_NORM_ADC_CSEN0
from VREG MOS
REG_NORM_COMM
, Additional
for communication
, Supply Current in Sleep
Mode
I
BAT_SLP_BAL_CONF
I
BAT_BALANCE
, Total
, Total
Figure 5. Sketch of a 2s2p PCB with thermal vias
Table 6. Power Management
Normal state (refer to Section 4.1 Device
functional state); no load on VTREF; the chip
performs continuously data transmission via isolated
communication interfaces to higher and lower sides
-
in a stack daisy chain.
Application info: IBAT is not affected by
communication. Current needed for COM interfaces
is drawn out of VREG regulator.
Normal state; No load on VTREF; no
-
communication; The chip performs continuously
sampling and converting.
Normal state; No load on VTREF; no
-
communication; no ADC conversion; Curr sense.
Enabled by coulombcounter_en = 1
Normal state; No load on VTREF; no
-
communication; no ADC conversion; Curr sense
Disabled by coulombcounter_en = 0
Normal state; No load on VTREF; no
communication; The chip performs continuously
sampling and converting. Curr sense Enabled by
coulombcounter_en = 1
Normal state; No load on VTREF; no
communication; The chip performs continuously
sampling and converting. Curr sense Disabled by
coulombcounter_en = 0
Normal state; No load on VTREF; The chip
performs continuously data transmission via
isolated communication interfaces to higher and
lower sides in a stack daisy chain. (measured
with out_res_tx_isoh/l = 11, highest differential
amplitude, highest consumption).
Lowest power state; Both internal oscillator and
external wakeup detection on.
Supply Current in Silent Balance Mode (enabled
only regulators necessary to bias balance
preregulators, refer to Section 4.1 Device
functional state).
Delta current when the balancing of all 14 cells are
act ivated.
L9963E
Power management
12.5mA
5.59mA
21mA
20mA
38mA
37mA
810.813mA
1050µA
1.222.8mA
0.4 0.55 0.7mA
DS13636 - Rev 3
page 12/184
Power management
SymbolParameterTest conditionsMin. Typ. Max. Unit
I
REG_GPIO_DIGOUT
Delta current from VREG pin needed to use 1 GPIO
as digital output.
0.40.81.2mA
Average DC current consumption in application can be estimated according to the following equations:
Estimation of the average DC current consumption in application
=
+
+
= 1
=
2
_
2
=
=
=
=
_
+
+
+ 2
_
=
=
_
___
+
14
+
2
_
0
1
×
+
*
14
+
000
+
0
1
= 0
+
14
+
3
> 0
×
14
+
000
+
000
+
+
+
×
×
_
000
+ ×
L9963E
(1)
DS13636 - Rev 3
page 13/184
4Functional description
In the following paragraphs, the functionalities of the device are listed and described in detail.
4.1Device functional state
L9963E
Functional description
Figure 6. Device functional states
4.1.1Reset and Sleep states
Reset state: when stand-by logic is reset, all registers on device are reset.The battery voltage is still under
threshold.
From here, as soon as the PORN_STBY goes high the Stby Logic gets its supply power and the Sleep state is
reached.
4.1.1.1Operations in Reset state
No operation is possible in Reset state
Sleep state:
This state is reached:
•coming from Reset state on PORN_STBY rising
•from other states in case a Go2SLP cmd is sent by uP or no communication is received for t > t_SLEEP
•from Init State in case the device address is still 0b0000 after t > t_SHUT
•from Cyclic_Wup state once the Cyclic Wup job is done and a silent balancing is not to be resumed.
In this state the device is sensitive to External Sources in order to wake up the Main Logic. External sources are:
ISO lines, Fault line, SPI_CS (SPI_CLK) pins, also a GPIO pin for “Master” units.
In this state a slow oscillator is working allowing the device to wake itself up every t = t
DS13636 - Rev 3
t
CYCLIC_WUP
and move to Cyclic Wup state.
CYCLIC_SLEEP
+
page 14/184
L9963E
Device functional state
During Sleep state, the current consumption is significantly reduced to I
Communication wake up sources monitoring, low-speed oscillator for cyclic wake up timer, and the corresponding
reference and power supply are activated.
Different events can cause a wake up, depending on the configuration decided by the microcontroller:
•ISO COMM/ SPI SIGNAL: this wake-up during a regular SLEEP mode state moves the L9963 FSM to Init
or Normal State. A proper signal will be detected as pre-wake up (simple edge readout), and later it must be
followed by a wake-up signal that will be decoded by the L9963 which, in the meanwhile, has entered in a
higher consumption mode (regulators turned ON, isolated RX/TX enabled). Any protocol frame recognized
as electrically consistent will wake up the device. However, the command will not be interpreted and thus no
execution takes place;
•INTERNAL COUNTER: it is possible that the microcontroller defines an automatic wake up of L9963 (when
put in SLEEP mode) every T
state;
•GPIO SIGNAL: In case GPIO7 is configured as wake up source (GPIO7_WUP_EN = 1), a high logic level
on it will wake up L9963;
•FAULT: in case a fault is detected in an upper L9963, a proper signal is communicated through the FAULT
line. The receiver connected to GPIO1/FAULTH pin will detect the event and the device will be forced to
evolve into the normal state, in order to transmit the fault downward.
The wake-up event coming from external wake up sources is verified by the stby logic (pattern confirmation step)
before waking up the main logic (the main logic is kept under reset and its clock is gated off until the Sleep state is
left).
The wakeup sequence lasts T
4.1.1.2Operations in Sleep state
Only the Stand-by logic is working in Sleep state.
CYCLE_SLEEP
WAKEUP
current value: only the
SLEEP
, in order to perform the diagnostics in the CYCLIC WAKEUP
.
Wake up ManagementAlways ON
Awakening Pattern DetectionOnceComparison logic
4.1.2Init state
In Init state, after having been woken up, the device waits for the uP to send the Address assignment command.
Refer to Section 4.1.2.2 Addressing procedure.
If the address command is received before the Init timer expires (t_SHUT), the device address is stored into a
stand-by logic register (chip_ID) and the device goes to Normal state.
The chip_ID field is then locked and no longer editable. Two actions can correctly re-initialize the device
(including the chip_ID):
•Hard reset: (POR_STBY)
•Soft reset: it is recommended to set SW_RST and GO2SLP in the same frame
–Note that Soft reset will leave communication timeout (CommTimeout) unmodified
–Note that Soft reset will also clear the chip_ID
–If only SW_RST is sent, the device will wait for CommTimeout and then move to Sleep state
If the Init timer (t_SHUT) expires before the command is received, the device goes back to Sleep state.
All references are powered, interfaces are ready data transmission. The commands sent by the micro-controller
can be read from both ISO lines and SPI pins. However, while in Init state, only the chip_ID, isotx_en_h and
iso_freq_sel fields are writable. It is not possible to write/read other registers.
Any failure is masked until the device receives an address.
Table 7. Operations in Sleep state
OperationTiming modeFunctions involved
Timers, Pin Input Buffer and ISO lines receiver ON. External sources activity
detection, receivers and input buffers powered
DS13636 - Rev 3
page 15/184
4.1.2.1Operations in Init state
Set X = 1
Send
BROADCAST
command
with
out_res_tx_is
o = XX ,
iso_freq_sel =
11
Send WRITE
command
with
chip_ID =
N
DEVICES
with
Farthest_Un
it = 1 (if not
in dual ring
system, set
also
isotx_en_h
= 0 )
Send
BROADCAST
command
with
Lock_isoh_iso
freq = 1 to
lock the ISOH
port and ISO
frequency
configuration
s
Here below a list of operations the device can perform during Init State.
OperationTiming modeFunctions involved
CommunicationAlways ONSPI/isolated SPI Logic and storage
Init TimeoutAlways ONt_SHUT timer
4.1.2.2Addressing procedure
The following algorithm describes the correct daisy-chain addressing procedure for a stack of N
Table 8. Operations in Init state
Figure 7. Daisy chain addressing algorithm
L9963E
Device functional state
DEVICES
:
Switching to high frequency (iso_freq_sel = 11) before initialization procedure has been completed is not
recommended, since it might prevent other units from being initialized.
Once initialization procedure is done, it is possible to lock ISOH port status and ISO frequency configuration by
setting Lock_isoh_isofreq = 1: the lock adds more safety against unwanted write access to iso_freq_sel and
isotx_en_h bit in DEV_GEN_CFG register.
4.1.3Normal state
All references are powered, and the ADCs and interfaces are ready for measurement and data transmission
respectively. The commands sent by the micro-controller can be read from both ISO lines and SPI pins.
On receiving a valid command, the L9963 executes the corresponding operations, such as voltage, current and
over-temperature measurement.
Some core safety operations (e.g. OV, UV, OT, UV, and VBAT monitoring) are checked in the background
automatically.
In case the communication with MCU is missing for t > t_SLEEP (programmable via CommTimeout, maskable
via comm_timeout_dis) or a GO2SLP command is received, the device moves either to Sleep state or to Silent
Balancing state, depending on slp_bal_conf bit and balancing state.
DS13636 - Rev 3
page 16/184
A Soft RESET command received when in Normal state clears all registers except CommTimeout. The device is
kept in Normal and doesn’t move to Reset state.
4.1.4Power up sequence
Final Normal state is reached through a power up sequence, which involves the turn ON of all regulators. The
following power up sequence is performed correctly if VBAT pin voltage lays in the operating range (refer to
Table 3):
•VREG is the first regulator to turn ON
•As soon as VREG reaches enough voltage dynamic (> 3V), also VANA regulator starts to turn ON
•When VANA regulator voltage reaches V
T
VTREF_DELAY
•After T
connected to VREG, CAP1 to GND)
•After T
Normally, the power up sequence lasts T
back to a low power state (Sleep or Silent Balancing, depending on the previous state). The following timeouts
are implemented:
•timeout_VCOM_UP_first, valid only for the first power up
•timeout_VCOM_UP, valid for each wake up
•timeout_OSCI_MAIN, valid for each wake up
During power down:
•VCOM, VTREF and Bootstrap are turned off at the same time
•VREG is turned off after T
•When VREG falls below 4 V (typical value), VANA starts falling along with VREG.
expires, VTREF regulator is turned ON
BOOT_DELAY
VCOM_DELAY
Device functional state
VANA_UV
threshold and related digital filter time T
POR_FILT
in respect to VTREF enable, Bootstrap circuit is enabled in charge phase (CAP2
in respect to VTREF enable, VCOM regulator is turned ON
WAKEUP
VREG_OFF
. In case it lasts longer than a specific timeout, the device moves
L9963E
+
Figure 8. Power up Sequence
DS13636 - Rev 3
page 17/184
The device is still able to communicate if VTREF and Bootstrap power up fails: VCOM regulator is started anyway.
It is not recommended to send any SPI frame to the device before T
L9963E is still performing the power up routine might be discarded.
4.1.5Silent Balancing state
There is the possibility to perform the balancing of one (or more) cells with a reduced current consumption with
respect to doing that in Normal mode: this state is called Silent Balancing.
In Silent_Bal the same resources as in Sleep state are active, in addition to the balance predrivers and the
necessary bias circuitry.
To enter in Silent Balancing state from Normal state, the following conditions shall be verified:
1.Cell balancing must be ON
2.The slp_bal_conf flag shall be set to ‘1’
3.A “go to sleep” condition shall be verified (either an explicit GO2SLP command or communication timeout
expiration)
If a cell balancing is previously demanded in Normal mode and the slp_bal_conf flag is set to 1, when a
condition to go to sleep (low consumption) occurs the device enters Silent Balancing, not Sleep state and the
required cell-balancing starts (or continues).
3 possible leaving ways from Silent Balancing mode:
•any wake up signal on communication or FAULT Line can force the chip to stop the balancing and then go
back to the Normal state. Any protocol frame recognized as electrically consistent will wake up the device.
However, the command will not be interpreted and thus no execution takes place.
•An external Fault must bring the device to Normal state and stop the balancing.
•As soon as the required balancing target is finished, the EOB (End of Balancing) bit is set to one and the
chip enters the Sleep state.
•If the Cyclic signal is raised the device goes to Cyclic_Wup state, runs the diagnosis then it goes back toSilent Balancing (if slp_bal_conf flag = 1) where the balancing resumes
WAKEUP
L9963E
Device functional state
expires. Any incoming frame while
4.1.5.1Operations in Silent Balancing state
Here below a list of operations the device can perform during Silent Balancing state.
Table 9. Opeations in Silent Balancing state
OperationTiming modeFunctions involved
Balancing low powerAlways ONBalancing timer, Drivers ON, Balance short comparators
Wakeup managementAlways ONWakeup logic and wakeup sources interfaces ON
4.1.6Cyclic wake up state
From both Sleep and Silent Balancing states, the device moves periodically (once every t
Cyclic_Wup state in order to perform a fault monitoring.
Diagnostic checks are done in this state as well as always-on monitorings. ADC must be ON to check possible
critical battery conditions. Any detected fault moves the device to the Normal state.
An “On-demand” operation is only possible once the device has moved to Normal in case of any detected fault
Possible ways to leave this state:
•Any fault detected during this mode moves the device to the Normal state.
•A wake up from Fault line or Comm lines moves the device to the Normal state. Any protocol frame
recognized as electrically consistent will wakeup the device. However, the command will not be interpreted
and thus no execution takes place
•If the defined monitoring tasks are finished, the device can move to the SLEEP or SILENT BALANCING
states automatically based on the state before Cyclic Conversions (slp_bal_conf flag).
CYCLIC_SLEEP
) to
4.1.6.1Operations in Cyclic wake up state
Here below a list of operations the device can perform during Cyclic wake up state.
DS13636 - Rev 3
page 18/184
L9963E
Device functional state
Table 10. Operations in Cyclic Wakeup state
OperationTiming modeFunctions involved
Battery fast OV/UVAlways ONThreshold Comparator
Battery OV/UVOnceADCV measurements vs. threshold
Cells OV/UVOnceADCV measurements vs. threshold
GPIO OT/UTOnceADCV measurements vs. threshold
OC MonitorAlways ONADCC measurements vs. threshold
OT MonitorAlways ONADCT measurements vs. threshold
GPO Short DetectionAlways ONLogical Comparison
Clock MonitorAlways ONFrequency comparison to secondaty monitor
Downward Fault SignallingAlwaysReceivers and Transmitters
Cell OpenOnceADCV measurements vs. threshold
Balancing OpenOnceVoltage Comparator, Timer
Wake up ManagementAlways ONWake up logic and wakeup sources interfaces ON
Cyclic operations have their own periods written by MCU in specific SPI registers.
In case the “On-demand” and “cyclic” timing modes are both possible, an “on-demand” command starts a single
operation immediately, breaking the cyclic period, and resets the cyclic counter.
In GPIO short detection the detection is guaranteed only in the duty phase, if the pin is configured as an output.
4.1.7Sleep parameters
All parameters are tested and guaranteed in the following conditions, unless otherwise noted:
9.6 V < VBAT < 64 V; -40 °C < Tambient < 105 °C
SymbolParameterTest conditions Min.Typ.Max.Unit
T
GPIO7_WAKEUP
T
UV_SHORT_DELAY
T
WAKEUP
t_SHUTTested by SCAN60s
t_SLEEP_00
t_SLEEP_01
t_SLEEP_10
t_SLEEP_11
t
CYCLIC_SLEEP_000
t
CYCLIC_SLEEP_001
t
CYCLIC_SLEEP_010
Table 11. Sleep parameters
GPIO7 deglitch filter when used as Wakeup
Source
Delay after POR. Used to latch VCOM_UV and
VTREF_UV
Time necessary to complete Wake up from
SLEEP mode (between Wake up source and
VCOM out of UV condition)
Timeout at first power up. From wakeup event
to VCOM_UV release
Default power up timeout. From wakeup event
to VCOM_UV release
timeout_OSCI_MAINFrom wakeup event to main oscillator stableTested by SCAN10ms
timeout_POR_MAINVANA settling time timeoutTested by SCAN1.5ms
T
BOOT_DELAY
T
VTREF_DELAY
T
VCOM_DELAY
T
WAKEUP_TIMEOUT_ISO
T
WAKEUP_TIMEOUT_SPI
T
WAKEUP_NCS_HIGH
Delay between VTREF enable and Bootstrap
enable
Delay between VANA_UV release (POR_STBY
asserted after T
POR_FILT
) and VTREF enable
Delay between VTREF enable and VCOM
enable
Timeout of the pulse counter for wakeup
detection (isolated SPI)
Timeout of the pulse counter for wakeup
detection (SPI)
Minimum NCS high time before sending SPI
wake up frame
Tested by SCAN800ms
Tested by SCAN1600ms
Tested by SCAN3200ms
Tested by SCAN6400Ms
Tested by SCAN
1280
0
Tested by SCAN500μs
Tested by SCAN8ms
Tested by SCAN4ms
Tested by SCAN200μs
Tested by SCAN630μs
Tested by SCAN400μs
Tested by SCAN282μs
Tested by SCAN84138μs
Tested by SCAN400μs
Ms
4.2Serial communication interface
Two types of serial communication ports are included in L9963E: SPI and isolated interface:
•SPI can be used for the local communication between MCU and the closest L9963E
•Isolated SPI can be used for the global communication between several L9963E stacked in a daisy chain
Refer to Section 6.11 Communication architectures for all the different application scenarios.
The frequencies on the 2 communication interfaces are different and not related.
From micro-controller point of view a daisy chain of many L9963E devices is controlled as a single device
addressable by using both the device ID and the device’s internal register addresses.
4.2.1Communication interface selection
Two communication ports are available:
•Port H: implemented via the ISOHp and ISOHm pins. It always works as Isolated SPI interface. It can be
enabled by setting isotx_en_h = 1
•Port L: implemented via the ISOLp_SDI, ISOLm_NCS, GPIO8_SCK, GPIO9_SDO pins. It is always enabled
and its configuration is latched upon first powe up and depends on the SPIEN pin
DS13636 - Rev 3
page 20/184
L9963E
Serial communication interface
Table 12. Port L configuration determination
Electrical conditionLatched whenConfigurationWake up source
SPIEN = 1
SPIEN = 0 (default
condition if pin is left
floating)
Upon VCOM_UV
release
Upon VCOM_UV
release
In case the first power up fails and L9963E comes back to Sleep state without having latched the PORT L
operating mode, both wake up sources will be kept active in order to allow subsequent power up trigger in both
operating configurations.
When first power up completes successfully, only the wake up source related to the units with SPIEN = 1 are
Master units of the daisy chain. A Master Unit differs from the Slave ones (SPIEN = 0) because:
•It manages the asynchronicity between SPI CLK and the programmable bit-rate on the isolated line;
•It exploits an internal buffer to store answers received from the slaves on ISOH port;
•It implements timeout mechanisms and frame error checks described in Section 4.2.4.4 Special frames;
•It forwards commands only if they are addressing Slave units. Any command addressed to the Master unit is
not propagated on the ISOH port;
•In case Master Unit has port H disabled (isotx_en_h = 0), trying to communicate with a Slave unit will return
the corresponding Master’s register content;
Interaction between Port H and Port L is managed by L9963E. The IC is capable of converting analog signals
incoming on the isolated twisted pair to digital signals suitable for SPI, and viceversa. Passing a signal through
a single unit takes a single pulse period (2*T
programmed operating frequency), which can be used to account for the insertion delay of an L9963E in the daisy
chain.
Port L configured as SPI. Master Unit. SPIEN
must be connected to VCOM
Port L configured as isolated SPI. Slave Unit.
SPIEN must be connected to AGND
BIT_HIGH_LOW_FAST
or 2*T
BIT_HIGH_LOW_SLOW
SPI wake up logic
ISOL wake up
comparator
, depending on the
4.2.1.1Wake up via communications interface
To wake up the device from low power modes, any communication frame in low frequency (F
ISO_SLOW
) can be
sent:
•If port L is configured in SPI mode, a sequence of at least 37 clock pulses on SCK line with active low chip
select NCS will wake up the device. Pulses must be received within T
WAKEUP_TIMEOUT_SPI
timeout starting
from the NCS assertion. Before sending the wake up frame, NCS must have been set high for at least
T
WAKEUP_NCS_HIGH.
•If port L is configured in isolated SPI mode, a sequence of at least 37 differential pulses on ISOLP/ISOLM
pins, whose minimum duration is T
DET_MIN_WU
up the device. Pulses must be received within T
and whose amplitude is greater than Wakeup_thr will wake
WAKEUP_TIMEOUT_ISO
timeout starting from the first valid
pulse.
•If port H is enabled, a sequence of at least 37 differential pulses, whose minimum duration is T
DET_MIN_WU
and whose amplitude is greater than Wakeup_thr will wake up the device. Pulses must be received within
T
WAKEUP_TIMEOUT_ISO
timeout starting from the first valid pulse.
Note:Depending on pulses re-synchronization uncertainty with the internal standby oscillator, the wake up event may
occur even if COM pulses are less than 37 (min. number of pulses in the best case is 8). However, 37 pulses will
always guarantee a correct wake up.
In case first power up fails and SPIEN value is not correctly latched, port L will listen to both wake up sources,
until a correct power up sequence is achieved and port L configuration is determined.
4.2.2Serial Peripheral Interface (SPI)
The SPI pinout is listed in the following table:
DS13636 - Rev 3
Table 13. L9963E pin used as SPI
L9963E pinSPI functionConfiguration
ISOLp_SDISerial Data Input (SDI)Digital input
page 21/184
L9963E pinSPI functionConfiguration
ISOLm_NCSChip Select (CS)Digital input. Active low.
GPIO8_SCKSerial Clock (SCK)Digital input.
GPIO9_SDOSerial Data Out (SDO)Digital output
A 40-bit frame is used including a 7-bit CRC.
Refer to Section 4.2.4 SPI protocol details for further details about the protocol.
The Isolated SPI interface allows units with different ground levels and on different boards to communicate with
each other. Physically the interface is based on twisted-pair wire with transformer isolators.
The isolated SPI pinout is listed in the following table:
PinSPI FunctionConfiguration
ISOLp_SDIPort L positive differential input/outputAnalog input/output
ISOLm_NCSPort L negative differential input/outputAnalog input/output
ISOHpPort H positive differential input/outputAnalog input/output
ISOHmPort H negative differential input/outputAnalog input/output
Table 15. Isolated SPI pinout
DS13636 - Rev 3
page 22/184
Figure 9. Isolated SPI interface
L9963E
Serial communication interface
Table 16. Isolated SPI quick look
Parameter
ProtocolHalf-Duplex / Out of frame
Single Frame Length40 bit
Addressable Devices31
Frame protection6 bit CRC
Max. Bit-rate
Master/Slave configurationL9963E Slave
2.66 Mbps (high speed configuration)
333 kbps (low speed configuration, default)
Description
The transmission line on the isolated SPI exploits a single twisted pair. Communication data is transmitted/
received over a pulse-shaped signal, in a half-duplex protocol.
Line bit-rate can be selected by programming the iso_freq_sel bit via SPI. A single bit is made of a pulse time
(T
•T
•T
) followed by two pause slices (2T
PULSE
= 2T
PULSE
PULSE
BIT_HIGH_LOW_FAST
= 2T
BIT_HIGH_LOW_SLOW
).:
PULSE
for the high speed configuration
for the low speed configuration
Once the operating frequency has been programmed and the ISOH port has been enabled/disabled, it is possible
to lock these settings by writing the Lock_isoh_isofreq bit to ‘1’, to avoid unwanted changes due to wrong MCU
write frame.
Lock_isoh_isofreq is added to the reg map into a separate register in respect to isotx_en_h and iso_freq_sel,
in order to avoid that a single frame can both unlock and write fields
Lock_isoh_isofreq bit (default 0) is reset every time the device goes to a low power mode. When
Lock_isoh_isofreq is set to ‘1’, isotx_en_h and iso_freq_sel bits are write protected
Architecture and MCU command’s time constraints are specified taking into account signal propagation delay over
the communication bus. Refer to Inter-frame delay for further details.
DS13636 - Rev 3
page 23/184
Serial communication interface
Figure 10. Isolated SPI pulse shape and logical meaning
L9963E
4.2.3.1ISO communicator receiver and transmitter
An isolated receiver and transmitter are connected to the couple of pins ISOLP/M and ISOHP/M. Depending on
the communication phase, they can be enabled or disabled.
4.2.3.1.1ISO communicator receiver
The receiver is able to convert a differential input signal into a single ended signal that is provided to the logic.
In order to guarantee a correct communication and guarantee Wake up via Communication Interface the input
common mode must be included into range V
At power up by default the device is configured for a low frequency communication (F
F
ISO_FAST
can be configured by acting on the iso_freq_sel bit.
4.2.3.1.2ISO communicator transmitter
The transmitter is able to force as differential output the single ended signal that is provided by the logic.
Transmitter output impedance can be programmed via out_res_tx_iso (R
Table 18. It affects differential pulse amplitude. In order to guarantee a correct communication in case of high
frequency configuration the bit length must be at least T
a single bit into a period T
BIT_LENGTH_FAST
In case of low frequency configuration T
must be T
BIT_LENGTH_SLOW
4.2.3.2Dual access ring
L9963E supports dual access ring topology (refer to Section 6.11.3 Dual access ring for the application
scenario). The device accepts commands from both ports (ISOL/SPI and ISOH ports) and generates answers in
both directions.
This kind of functionality is present by default and can not be disabled.
In the typical application scenario featuring a number of N
devices (referred to as bottom and top Masters), while the remaining are configured as isolated SPI slaves (refer
to Section 4.2.1 Communication interface selection for Master and Slave behavior).
Referring to Figure 51, the Section 4.1.2.2 Addressing procedure follows the standard approach, except for the
top Master, that must be initialized through its own SPI interface.
Once the initialization is complete, MCU is able to communicate with any Slave through any of the 2 Masters SPI
interface. It is also possible to verify the loop integrity, accessing one Master through the opposite one.
In case the access to a Slave is performed exploiting the bottom Master, the corresponding answer must be
retrieved through the bottom Master itself (the same applies for the dual case of the top Master).
CM_ISO_IN
.
BIT_LENGTH_FAST
BIT_HIGH_LOW_FAST
and T
BIT_HIGH_LOW_SLOW
DEVICES
L9963E, two of them are configured as SPI
ISO_SLOW
DIFF_ISO_OUT1…3
); higher frequency
), as described in
and the duration of high and low level of
.
are valid.
DS13636 - Rev 3
page 24/184
4.2.3.3Electrical parameters
4.2.3.3.1Receiver
All parameters are tested and guaranteed in the following conditions, unless otherwise noted:
9.6 V < VBAT <64 V; -40 °C < Tambient < 105 °C
SymbolParameterTest conditionsMin.Typ.Max.Unit
V
DIFF_ISO_IN3
V
CM_ISO_IN
R
ISO_DIFF
R
ISO_EXT
I
ISO_LEAK
T
DET_MIN_WU
Wakeup_thr Wake up comparator threshold80200320mV
Differential input voltage threshold |V(ISOP) – V(ISOM)|100250400mV
Input voltage common mode
range
Differential input resistance
External termination resistance
connected between ISOxP and
ISOxM pins
ISO input leakage current0 V < ISOHP/M, ISOLP/M < VCOM5μA
Minimum pulse duration to be
detected
Table 17. Isolated receiver electrical parameters
|V(ISOP) + V(ISOM)| /2
Design info
VIF enabled, no communication
Resistance measured between ISOP and
ISOM pins
Info only, not tested120Ω
Application info400ns
L9963E
Serial communication interface
01.9V
515kΩ
4.2.3.3.2Transmitter
All parameters are tested and guaranteed in the following conditions, unless otherwise noted:
Total output resistance: sum of
pullup and pulldown resistance
contribution
Output voltage common mode|V(ISOP) + V(ISOM)|/211.4V
High/low level bit duration into
a whole period in case of high
frequency configuration
High/low level bit duration into
a whole period in case of low
frequency configuration
Bit duration with high frequency
configured
Bit duration with low frequency
configured
Isolated Communication Rate
V(ISOHL/MP) = 1.5 V
R
pulldown
measured with
310440570Ω
V(ISOHL/MP) = 0.9 V
(out_res_tx_iso = 00, default)
(out_res_tx_iso = 01)220314410Ω
(out_res_tx_iso = 11)170244310Ω
Application info
iso_freq_sel = 11
Application info
iso_freq_sel = 00
Guarantee by SCAN
iso_freq_sel = 11
Guarantee by SCAN
iso_freq_sel = 00
High frequency communication
Application info
62.5ns
500ns
375ns
3μs
2.66Mbps
DS13636 - Rev 3
page 25/184
SymbolParameterTest conditionsMin.Typ.Max.Unit
F
ISO_SLOW
T
ANSWER_DELAY_FAST
TANSWER_DELAY_SLOW
Isolated Communication Rate
Delay between receival of a
command and generation of the
answer
Delay between receival of a
command and generation of the
answer
For terminals ISOHP/M, and
ISOLP/M
iso_freq_sel = 11
Low frequency communication
Application info
For terminals ISOHP/M, and
ISOLP/M
iso_freq_sel = 00
High speed mode Guarantee
by SCAN
iso_freq_sel = 11
Low speed mode Guarantee by
SCAN
iso_freq_sel = 00
L9963E
Serial communication interface
333.3Kbps
4.5μs
9μs
DS13636 - Rev 3
page 26/184
4.2.4SPI protocol details
The protocol is out-of-frame in order to manage the propagation delay of the commands sent by MCU and the
answers generated by the L9963E stacked in the vertical interface. A command sent at the N-th frame will receive
its feedback at the (N+1)th frame.
MCU can access the devices in different ways.
4.2.4.1Single access
The single access behavior is based on a Write and Read approach.
The execution of each WRITE command sent by MCU can be immediately verified by interpreting the answer
incoming from the addressed device. Any reply is buffered into L9963E Master unit, which passes it to the MCU
on its next command.
L9963E
Serial communication interface
Figure 11. Out of frame protocol description
Table 19. SPI protocol: single access addressed frame (write and read)
393837363534333231302928272625
Dev IDAddress
P.A.=1
P.A.=0
R/W
Dev IDAddress feedback
Burst = 0
MOSI
MISO
Figure 12. Write and read access
24232221201918171615141312
GSW
GSW
DATA WRITECRC
DATA READCRC
987654321
11
10
0
DS13636 - Rev 3
READ commands require the same inter-frame time as the WRITE ones. Any reply is buffered into L9963E
Master unit, which passes it to the MCU on its next command.
page 27/184
Figure 13. Single read access
Frame fields are described in the table below:
Table 20. Single access frames field description
L9963E
Serial communication interface
FieldLengthValueDescription
P.A.1 bit
R/W1 bit
Dev ID5 bitFrom 0x1 to 0x1FIdentifies the x-th L9963E unit in a daisy chain
Address
Address
feedback
GSW2 bitFrom 0x0 to 0x3Refer to Section 4.2.4.5 Global Status Word (GSW)
DATA WRITE18 bit Depends on the register
CRC6 bitFrom 0x00 to 0x3F
Burst1 bit0Answer to a single access command
DATA READ18 bitDepends on the register
0Answer sent by any Slave unit (MISO)
1Command sent by Master unit (MOSI)
0Read
1Write
7 bitFrom 0x00 to 0x5FIdentifies the y-th register of the device
Data to be written in the y-th register of the x-th device. It is discarded
in case of READ command.
CRC calculated on the [39-7] field of the frame. Refer to
Section 4.2.4.6 CRC calculation
Answer containing the data read from the y-th register of the y-th
device
DS13636 - Rev 3
page 28/184
4.2.4.2Burst access
1
st
MOSI
Dummy Frames (all zeroes)Last MOSI
1
st
MISO
Burst Answer
NCS
SCK
MOSI
MISO
T
WAIT
The Burst Access supports only READ commands. It can be used to reduce the time needed to readout long data
series from a single unit. The addressed unit receives the Burst command and starts replying the requested data
frame by frame towards the MCU. Any reply is buffered into L9963E Master unit, which passes it to the MCU on
its next command.
L9963E
Serial communication interface
Figure 14. Burst access
Table 21
describes the burst frame sequence.
•In case L9963E is configured in SPI mode, its internal buffer will store answers incoming from upper units.
Apply the following strategy to download the burst data:
–First frame (sent with a single NCS window as a normal command)
◦First MOSI contains the corresponding Burst command (see Table 23 for available commands)
◦First MISO stores the answer to the previous MCU command, as per out-of-frame behavior
–Wait for burst answer to come back to the Master unit
◦Intermediate MOSI can be dummy commands (e.g. all zeroes). They are not interpreted by the
L9963E SPI logic
◦Intermediate MISO contain burst data formatted as in Table 21
–Last frame (attached to intermediate frames, keeping NCS low)
◦Last MOSI must be a valid command, because it will be interpreted by L9963E SPI logic
◦Last MISO contains last burst data register (MISOn) as shown in Table 21
•In case L9963E transceiver is interposed between MCU and L9963E, refer to the L9963T datasheet. The
Application Information section hosts a paragraph explaining how to handle burst commands.
Table 21. SPI protocol: answer to a burst read request
Frame fields related to the burst access are described in the table below:
Table 22. Burst access special frame fields
121110
DATA READCRC
DATA READCRC
DATA READCRC
DATA READCRC
987654321
0
Field
P.A.1 bit
R/W1 bit
Dev ID5 bitFrom 0x1 to 0x1FIdentifies the x-th L9963E unit in a daisy chain
Command
Command
feedback
GSW2 bitFrom 0x0 to 0x3Refer to Section 4.2.4.5 Global Status Word (GSW)
CRC6 bitFrom 0x00 to 0x3F
Burst1 bit1Identifies the frame being part of a burst
DATA READ18 bit
Frame Num5 bitFrom 0x02 to 0x14
LengthValueDescription
0Answer sent by any Slave unit (MISO)
1Command sent by Master unit (MOSI)
0Read
1Write
7 bitFrom 0x78 to 0x7DIdentifies a set of registers to be read out of the device
CRC calculated on the [39-7] field of the frame. Refer to
Section 4.2.4.6 CRC calculation
Depends on the
register
Answer containing the data read from the y-th register of the y-th
device
Identifies the n-th frame of a burst answer. In the first frame it is
replaced by the Command feedback.
Several burst commands are available:
Table 23. Available burst commands
DS13636 - Rev 3
Command
code
0x78
DescriptionReference
All cells voltage, Sum of cells, Stack Voltage divider, Instantaneous Current, Balancing status.
This command clears the measurement data_ready bit (refer to Section 4.4 Cell voltage
measurement)
Table 24
page 30/184
L9963E
Serial communication interface
Command
code
0x7A
0x7B
Diagnostic info. This command is intended to provide a rapid overview of the fault status,
allowing the MCU to perform proper masking procedure. The command does not reset
diagnostic latches.
Coulomb Counter, Instantaneous Current, Configuration Integrity, Oscillator, Balancing Timer
Monitor, GPIO measurements. This command clears the Coulomb Counter registers and the
measurement data_ready bit (refer to Section 4.13.1 Coulomb counting and Section 4.4 Cell
voltage measurement)
DescriptionReference
Fields with green shading are reset upon burst read.
The Broadcast access allows sending a WRITE command over the communication bus to all the L9963E units.
Broadcast READ is not supported.
The broadcast write is followed by an echo frame generated by the L9963E Master unit. This is necessary in
order to avoid multiple devices accessing the communication bus simultaneously, in order to generate a conflict
error.
Table 29. Broadcast access frame field description:
Field
P.A.1 bit1Command sent by Master unit (MOSI)
R/W1 bit1Write
Dev ID5 bit0x0The 0x0 address identifies broadcast commands
Address
Address ECHO
GSW2 bit0b00Refer to Section 4.2.4.5 Global Status Word (GSW)
CRC6 bitFrom 0x00 to 0x3F
DATA WRITE
DATA WRITE
ECHO
Special Answer5 bit0x0Identifies the ECHO frame issued in a broadcast write protocol
LengthValueDescription
7 bitFrom 0x00 to 0x5FIdentifies the y-th register of the device
CRC calculated on the [39-7] field of the frame. Refer to
Section 4.2.4.6 CRC calculation
18 bit
Depends on the
register
Data to be written in the y-th register of the x-th device
DS13636 - Rev 3
page 35/184
4.2.4.4Special frames
Frame TypeFrame CodeFrame Issued
Default0x0000000016After a wake up event
Not Expected
Frame
Timeout Frame0xC1FCFFFC87 In case no answer is received after the timeout TSPI_ERR.
Busy Frame0xC1FCFFFCDE
CRC Error Frame0xC1FCFFFD08
0xC1FCFFFC6C
4.2.4.5Global Status Word (GSW)
The global status word is made of 2 bits. The MSB (bit 25) is dedicated to the the internal fault detection (all
failures except the FAULTH detection), while the LSB (bit 24) implements the Rolling counter:
L9963E
FAULT line
Table 30. SPI protocol special frames
In a Burst access, in case the MCU clocks a number of answer frames higher than
the expected
In case the MCU sends a frame while the Master device is still transmitting or waiting
for an answer (TSPI_ERR not expired)
In case a unit configured in SPI mode (SPIEN = 1) receives a corrupted frame. When
a unit is configured in isolated SPI mode (SPIEN = 0), no answer will be issued upong
CRC error detection.
GSWDescription
(1)
L9963E hasn’t detected any internal failure (but could be propagating a failure from an upper device in the stack)
0X
(1)
L9963E has detected an internal failure (and could be also propagating a failure from an upper device in the stack)
1X
1. 'X' = don’t care.
The GSW can be exploited by the MCU fault handling routine to understand which device of the daisy chain has
self-detected a failure.
4.2.4.6CRC calculation
Each frame is equipped with a 6-bit CRC code in order to guarantee information integrity. In case a unit receives a
corrupted frame, it will be discarded.
4.3FAULT line
The FAULTL/FAULTH pin pair provides an isolated communication interface exploiting optical-isolators to
implement uni-directional transmission of the failure signal from the highest L9963E in the stack down to the
μC.
The FAULT line main purpose is to interrupt the MCU activity in case one of the daisy-chained L9963E detects
a failure. Recommended interrupt handling routine should implement a strategy to detect which of the several
L9963s has self-detected a failure. This can be easily done by sending a communication frame to each L9963E,
reading back the corresponding fault bit of the Global Status Word (GSW).
Any failure is propagated/generated by an upper device via its FAULTL pin. It is then sensed by a lower device on
its FAULTH pin.
For the circuit and the BOM, refer to Section 6.7 FAULT line circuit
Table 31. GSW code description
Table 32. CRC calculation information
CRC
Length6 bit
Polynomial
Seed0b111000
X6 + X4 + X3 +1
DS13636 - Rev 3
page 36/184
4.3.1State transitions in case of failure detection
FAULT line is functional in the following states: Normal, Cyclic Wakeup, Silent Balancing and Sleep.
Table 33. FAULT line functionality and L9963E states
StateFunctions availableState transition in case of failure
NormalFault self-detection and propagation. Heartbeat generation.None
Cyclic Wakeup Fault self-detection (during ON phase) and propagation (always) Go to Normal
Silent Balancing Fault propagationGo to Normal (in case of external failure)
SleepFault propagationGo to Normal (in case of external failure)
4.3.2FAULT line configuration
In case a failure is detected, the FAULTL pin is driven to its active state, while if no failure occurs, the FAULTL
pins holds its inactive value. Pin states depend on FAULT line configuration (selectable via the HeartBeat_En bit)
and on L9963E state.
Table 34. FAULTH line configuration and FAULTL pin states
L9963E
FAULT line
L9963E StateHeartBeat_EnFAULTL Inactive stateFAULTL Active state
Normal
Sleep, Silent Balancing, Cyclic WakeupXLowHigh (once moved to Normal)
The FAULT line stays asserted and L9963E is kept in Normal unless communication timeout occurs. The MCU is
responsible for clearing any fault latch. Once all failures are cleared, the FAULTL pin returns to its inactive state.
When the heartbeat is activated, the PWM period THB_CYCLE can be programmed via the HeartBeatCycle
register. The pulse duration in the inactive state is fixed to THB_PULSE. The heartbeat presence allows to
guarantee the integrity of the FAULT line. Moreover, each L9963E is capable of sensing its upper companion
activity by monitoring the heartbeat continuity.
In case the heartbeat is disabled, the MCU can still verify the continuity of the FAULT line by forcing the unit on
the top of the chain to raise its FAULTL pin. This can be done by setting FaultL_force = 1 via SPI.
Before moving L9963E moves to a low power state (Sleep, Cyclic Wakeup or Silent Balancing), MCU must
disable the heartbeat functionality by programming HeartBeat_En = 0. Such an operation must be performed at
least TFIL_H_LONG before sending the broadcast GO2SLP command, in order to avoid false fault detections
(refer to Figure 15 for an example).
4.3.3Failure sources
There are two failure sources:
•Internal: L9963E detects a failure (self-detection)
•External: a failure incoming from an upper unit is being input to the FAULTH pin (propagation)
4.3.3.1Internal failure detection
If L9963E self-detects a failure, it drives the FAULTL pin to its active state, regardless of any activity on the
FAULTH pin.
For further information about all the failures and the subsequent actions, refer to Section 4.11.28 Safety
mechanisms summary.
0LowHigh
1Programmable PWMHigh
4.3.3.2External failure detection
Failure detection from external sources is sensed on FAULTH pin only if FaultH_EN = ‘1’ and Farthest_Unit =
‘0’. The unit at the top of the stack does not receive any signal input to the FAULTH pin. Hence, external failuredetection must be disabled by setting FaultH_EN = ‘0’ and Farthest_Unit = 1 via SPI.
DS13636 - Rev 3
page 37/184
L9963E
FAULT line
For all other units, the detection criteria are adapted to the FAULT line configuration programmed by
The MCU at the bottom of the chain is supposed to adopt the filtering strategy described in Table 35 for failure
detection.
Summary of L9963E fault line configurations is available in the following table:
Static ‘1’ detected on FAULTH pin,
FaultHline_fault = 1
Absence of heartbeat from upper device,
HeartBeat_fault = 1
High logic level detected on FAULTH pin,
FaultHline_fault = 1
High logic level detected on FAULTH pin,
FaultHline_fault = 1
Table 36. Summary of L9963E FAULT line configurations
FaultH_EN HeartBeat_En Farthest_UnitL9963E behaviorOptimized for
000FAULTH receiver disabled. The FAULTH line pin is
001
considered Low whatever its value is.
FAULTL operates in static logic mode and can be set
010
static high by internal fault only
FAULTH receiver disabled. The FAULTH line pin is
011
considered Low whatever its value is.
FAULTL operates in heartbeat mode and can be set
static high by internal fault only
FAULTH receiver enabled with short filter
100
(T
FIL_H_SHORT
possible.
) because HeartBeat signal is not
FAULTL operates in static logic mode and can be set
static high by both external and internal fault
FAULTH receiver disabled. The FAULTH line pin is
considered Low whatever its value is, because the
101
Farthest Unit considers FaultH_EN = 0 whatever
FaultH_EN value is.
FAULTL operates in static logic mode and can be set
static high by internal fault only
FAULTH receiver enabled with long filter
110
(T
FIL_H_LONG
FAULTL operates in heartbeat mode and can be set
) because HeartBeat signal is possible
static high by both external and internal fault
FAULTH receiver disabled. The FAULTH line pin
is considered Low whatever its value is because
111
the Farthest Unit always considers FaultH_EN = 0
whatever FaultH_EN value is.
FAULTL operates in heartbeat mode and can be set
static high by internal fault only
Topmost unit of the
chain in static logic
value configuration
Topmost unit of the
chain in heartbeat
configuration
Unit in the middle of
the chain or transceiver,
in static logic value
configuration
Topmost unit of the
chain in static logic
value configuration
Unit in the middle of the
chain or transceiver, in
heartbeat configuration
Topmost unit of the
chain in heartbeat
configuration
DS13636 - Rev 3
page 38/184
L9963E
FAULT line
When disabling heartbeat mode (HeartBeat_En 1 è 0) or when moving to a low power state (GO2SLP),
L9963E switches immediately from T
FIL_H_LONG
correctly, avoiding false FAULTH detection (see Figure 15 as an example).
Follow this procedure:
1.Send a broadcast frame with FaultH_EN = 0 and HeartBeat_En = 0 in order to disable both heartbeat and
fault receiver;
2.Wait for T
HB_CYCLE_000
(4 ms);
3.Send a broadcast frame with FaultH_EN = 1 to re-enable the fault receiver;
4.(Optional) Send the GO2SLP command.
Figure 15. False failure detection due to sudden heartbeat disable during the duty phase
to T
FIL_H_SHORT
. It is MCU responsibility to handle this transition
4.3.4Electrical parameters
All parameters are tested and guaranteed in the following conditions, unless otherwise noted:
9.6 V < VBAT < 64 V ; -40 °C < Tambient < 105 °C
SymbolParameterTest conditionsMin.Typ.Max.Unit
T
HB_PULSE
T
HB_CYCLE
T
FIL_H_SHORT
T
FIL_H_LONG
High level HeartBeat Pulse
duration when HeartBeat
function is enabled
Programmable HeartBeat
cycle duration
Table 37. Heart beat electrical parameters
Tested by SCAN-500-μs
Tested by SCAN HeartBeatCycle = 000-4-ms
Tested by SCAN HeartBeatCycle = 001-8-ms
Tested by SCAN HeartBeatCycle = 010-32-ms
Tested by SCAN HeartBeatCycle = 011-128-ms
Tested by SCAN-300-μs
Tested by SCAN-3.5-ms
DS13636 - Rev 3
page 39/184
4.4Cell voltage measurement
A level shifter is able to report the cell voltage at the input of the low voltage cell ADC.
All cells are acquired in parallel, with no desynchronization between samples. Immunity to differential noise can
be increased tuning the acquisition window T
The user may program the voltage acquisition window T
•The whole option set is available for both ADC_FILTER_SOC and ADC_FILTER_CYCLE. These
parameters apply respectively to On-Demand Conversions and Cyclic Conversions
•The first 4 rows are available for ADC_FILTER_SLEEP configuration. This parameter applies to CyclicConversions performed in Cyclic Wakeup
For further information, refer to Section 4.12 Voltage conversion routine.
Table 38. Selection of the ADC filter values
CYCLEADC
.
CYCLEADC
L9963E
Cell voltage measurement
among 8 different values:
Parameter
T
CYCLEADC_000
T
CYCLEADC_001
T
CYCLEADC_010
T
CYCLEADC_011
T
CYCLEADC_100
T
CYCLEADC_101
T
CYCLEADC_110
T
CYCLEADC_111
Code Window amplitude (typ)
000290 μs380 μs760 μs
0011.16 ms1.34 ms2.68 ms
0102.32 ms2.61 ms5.22 ms
0119.28 ms10.27 ms20.54 ms
10018.56 ms20.48 ms40.96 ms
10137.12 ms40.89 ms81.78 ms
11074.24 ms81.72 ms163.44 ms
111148.48 ms163.4 ms326.8 ms
Recommended wait time
T
DATA_READY
Cell measurement results are stored in Vcellx registers and are 16-bit wide. To obtain the result, apply the
following formula:
Cell voltage measurement
= _ ×
After launching a cell conversion, the MCU should wait at least for the recommended wait time T
before retrieving the cell data. This allows L9963E to perform sample interpolation and calibration.
The data readiness is confirmed by the assertion of:
•d_rdy_Vcellx bit for VCELLx registers
•d_rdy_gpiox bit for GPIOx_MEAS registers
•d_rdy_vtref bit for VTREF register
•data_ready_vbattdiv for VBATT_DIV register
•data_ready_vsum for vsum_batt19_0 register
Polling the data ready bit is possible but not recommended, since it causes a higher consumption from the battery
stack due to communication.
Note:If Coulomb Counting Routine is activated, MCU should add T
in order to account for the maximum synchronization delay between voltage and current samples. For further
information refer to Section 4.13.1 Coulomb counting.
Before launching another conversion, MCU should wait at least for the recommended minimum T
to avoid conflict with previous conversions. In case this happens, the new request will be discarded.
Hence, given a differential signal with bandwidth BW:
•The MCU should sample it using at least T
–All the T
CYCLEADC_XXX
values in Table 38, whose T
= 1 / 2BW, in order to fulfill Nyquist criterion
SAMPLE
exploited in application;
CYCLEADC_CUR
SAMPLE_MIN
Minimum sample time
achievable T
to the T
DATA_READY
is lower than T
SAMPLE
SAMPLE_MIN
DATA_READY
wait time
SAMPLE
in order
can be
(2)
DS13636 - Rev 3
page 40/184
•The best performances in terms of differential noise attenuation can be achieved choosing the longest
T
CYCLEADC_XXX
among the valid ones.
4.4.1Electrical parameters
All parameters are tested and guaranteed in the following conditions, unless otherwise noted:
9.6 V < VBAT < 64 V; -40 °C < Tambient < 105 °C; Shift between AGND, DGND, CGND, GNDREF below +/-100
mV
SymbolParameterTest conditionsMin.Typ.Max.Unit
V
CELL
V
CELLRES
I
CELL_LEAK
V
CELLERR0
V
CELLERR1
V
CELLERR2
V
CELLERR3
V
CELLERR4
V
CELLERR5
V
CELLERR6
V
CELLERR0
V
CELLERR1
V
CELLERR2
V
CELLERR3
V
CELLERR4
V
CELLERR5
V
CELLERR6
Cell Voltage Input Measurement Range
Cell Voltage Measurement ResolutionDesign info89μV
Cn leakage current
Accuracy
VBAT = C14
C0 = GND
Accuracy + Drift
VBAT = C14
C0 = GND
Table 39. Cell voltage ADC electrical characteristics
Pulldown current used for cell open load
detection
Critical mismatch between ADC results
causing cross-check failure
Settling time for cell open diagnosticsTested by SCAN0.7ms
For C1..14405060μA
For C0-60-50-40μA
Tested by SCAN20mV
L9963E
DS13636 - Rev 3
page 42/184
SymbolParameterTest conditionsMin.Typ.Max.Unit
Settling time in respect to the first step
T
CELL_SET_01
of the Voltage Conversion Routine
for balancing auto pause and VTREF
dynamic enable
Settling time in respect to the first step
T
CELL_SET_10
of the Voltage Conversion Routine
for balancing auto pause and VTREF
dynamic enable
Settling time in respect to the first step
T
CELL_SET_11
of the Voltage Conversion Routine
for balancing auto pause and VTREF
dynamic enable
1. The drift in spec accounts for the effects of both soldering and ageing. Post-soldering drift is provided on “as is” basis for
information only and it has been evaluated on a limited population of 30 samples, hence subject to potential deviations.
HTOL ageing was evaluated according to automotive qualification flow.
4.5VBAT voltage measurement
4.5.1Total battery voltage measurement
A measurement of the total stack voltage is implemented in two ways:
•By summing the single cell voltage during theCell Conversion, thus obtaining VBATT_SUM, stored
inVsum_batt(19:0)
•Directly converting the VBAT pin during VBAT Conversion, thus obtaining VBATT_MONITOR, stored in
VBAT_DIV
Both results can be read as:
Stack voltage decoding
_
_
Besides that, an independent analog comparator monitors the VBAT pin for fast UV/OV detection.
Refer to Section 4.11.2 Total battery VBAT diagnostic for further information about diagnostics.
Tested by SCAN175μs
Tested by SCAN350μs
Tested by SCAN700μs
= _ ×
= _ ×
L9963E
VBAT voltage measurement
(3)
4.5.2Electrical parameters
All parameters are tested and guaranteed in the following conditions, unless otherwise noted:
9.6 V < VBAT < 64 V; -40 °C < Tambient < 105 °C; Shift between AGND, DGND, CGND, GNDREF below +/-100
mV
SymbolParameterTest conditionsMin.Typ.Max.Unit
V
BATRES
V
BAT_OV_SUM
V
BAT_UV_SUM
V
BAT_SUM_RES
VBAT Voltage Measurement
Resolution
VBAT Over-voltage Fault
Threshold
VBATT_SUM_OV_TH
VBAT Under-voltage Fault
Threshold
VBATT_SUM_UV_TH
Stack voltage UV/OV resolution
for Sum Of Cells
Table 40. Stack voltage measurement electrical parameters
Design info
(1)
(2)
(2)
70 V full scale input, obtained
by sum of all cell voltages
Tested by SCAN
Related to sum of ADC
(V
BATT_SUM
)
Tested by SCAN
Related to sum of ADC
(V
BATT_SUM
)
Tested by SCAN364.544mV
89μV
70.35V
10V
DS13636 - Rev 3
page 43/184
VBAT voltage measurement
SymbolParameterTest conditionsMin.Typ.Max.Unit
Design info
70 V full scale input,
Related to ADC + divider
(V
BATT_MONITOR
0.1 V ≤ V
CELL
)
< 0.3 V
-40 °C < TJ < 125 °C
1.33mV
-140140mV
V
BAT_DIV_RES
V
BAT_SUM_ERR_1
VBAT Voltage Measurement
Resolution Related to ADC +
divider (V
BATT_MONITOR
)
L9963E
V
BAT_SUM_ERR_2
V
BAT_SUM_ERR_3
V
BAT_SUM_ERR_4
V
BAT_SUM_ERR_5
V
BAT_SUM_ERR_6
V
BATERR
V
BAT_CRITICAL_OV_TH
V
BAT_OVHYS (ADC)
V
BAT_CRITICAL_UV_TH
V
BAT_UVHYS
V
BAT_OV_WARNING
(COMP)
V
BAT_OV_WARN_HYS
(COMP)
V
BAT_UV_WARNING
(COMP)
V
BAT_UV_WARN_HYS
(COMP)
T
VBAT_FILT
0.3 V ≤ V
-40 °C < TJ < 125 °C
VBAT = C14
C0 = GND
Sum of cells accuracy + drift
Noise contribution of each single
cell is given in Table 39
0.5 V ≤ V
105 °C < TJ < -125 °C
0.5 V ≤ V
-40 °C < TJ < 105 °C
3.2 V ≤ V
-40 °C < TJ < 105 °C
4.3 V ≤ V
-40 °C < TJ < 105 °C
VBAT Voltage Measurement
Error
VBAT Over-voltage Fault
Threshold
VBAT Over-voltage Hysteresis
Voltage
VBAT Under-voltage Fault
Threshold
VBAT Under-voltage Hysteresis
Voltage
VBAT warning OV Threshold
VBAT warning OV Hysteresis
Voltage
VBAT warning UV Threshold
VBAT warning UV Hysteresis
Voltage
Related to ADC + divider
(V
BATT_MONITOR
Tested by SCAN
Related to ADC + divider
(V
BATT_MONITOR
Tested by SCAN
Related to ADC + divider
(V
BATT_MONITOR
Tested by SCAN
Related to ADC + divider
(V
BATT_MONITOR
Tested by SCAN
Related to ADC + divider
(VBATT_MONITOR)
Tested by SCAN
Analog comparator related to
VBAT
Analog comparator related to
VBAT
Analog comparator related to
VBAT
Analog comparator related to
VBAT
UV/OV digital filter timeTested in SCAN300μs
CELL
CELL
CELL
CELL
CELL
< 0.5 V
< 0.5 V
< 3.2 V
< 4.3 V
< 5 V
)
)
)
)
-7070mV
-5656mV
-2020mV
-2828mV
-36.536.5mV
±0.5% VBAT
7070.3570.7V
200mV
9.69.9510.3V
200mV
646770V
2.22.52.8V
101112V
230300370mV
1. The total voltage measurement is used for detecting the OV/UV of the chip inputs. Moreover, it also provides a redundant
check for functional integrity and measurement accuracy of the cell voltage. It is realized by summing the voltage of all cell
ADC.
2. The OV/UV thresholds of VBAT can be set by user.
DS13636 - Rev 3
page 44/184
4.6Cell current measurement
The current flowing into the external shunt resistance RSENSE is measured through a differential amplifier stage
(connected between ISENSEP/ISENSEM pins) feeding a 18 bits ADC.
The current conversion chain can be enabled through the CoulombCounter_en bit and runs in background to
perform the Coulomb Counting Routine.
Moreover, L9963E also allows to synchronize the Voltage Conversion Routine and the Coulomb CountingRoutine for a precise State Of Charge estimation. Everytime an on-demand voltage conversion is requested by
setting SOC = 1, the actual conversion start is delayed until the first useful current conversion takes place. This
might result in a maximum delay of TCYCLEADC_CUR, that must be taken into account by user SW only in case
current ADC is enabled.
Synchronized current sample is available into the CUR_INST_Synch.
4.6.1Cell current ADC
In the typical application, the current measurement is performed by detecting the voltage drop on a shunt resistor
RSENSE with a value of 0.1 mΩ, with a current range of +/-1500 A. By changing the value of the shunt
resistance, it is possible to cover different current ranges.
The architecture includes an ADC that converts ISENSEP-ISENSEM voltage information into a digital value.
The input range of current measurement is set from -1500 A to +1500 A. In the range of [-600 A, +600 A], a
constant error value of ±3 A (which is 600 A × ±5‰) is set to avoid the unlimited small error near the zero current.
In the range of [-1500 A, -600 A) and (+600 A, +1500 A], the accuracy of ±5‰ is chosen.
Converted value is available in CUR_INST_calib register and follows 2’s complement notation. Cell current can
be calculated according to the following formula:
Cell current measurement
=
= _
2′
×
_
L9963E
Cell current measurement
(4)
4.6.2Electrical parameters
All parameters are tested and guaranteed in the following conditions, unless otherwise noted:
9.6 V < VBAT < 64 V; -40 °C < Tambient < 105 °C; Shift between AGND,DGND,CGND,GNDREF below +/-100
mV
SymbolParameterTest conditionsMin.Typ.Max.Unit
Freq
_CURR_MEAS
T
CYCLEADC_CUR
I
CELL
I
ISENSEP
I
ISENSEM
I
ISENSE_DIF
I
ISENSEP_LEAK
I
ISENSEM_LEAK
Table 41. Current measurement electrical parameters
Frequency of input
voltage
Conversion Time for
Cyclic Wakeup state
operation
Current Input
Measurement Range
ISENSEP input currentISENSEP = 0 mV-140-70-30μA
ISENSEM input currentISENSEM = 0 mV-140-70-30μA
ISENSE differential
current
ISENSEP input leakage
current
ISENSEM input leakage
current
Not tested, design info1kHz
Not tested, design info328.25µs
Application only, not to be tested
(R
= 0.1 mΩ)
shunt
ISENSEP = 3.3V300nA
ISENSEM = 3.3V300nA
-15001500A
-11μA
DS13636 - Rev 3
page 45/184
Cell balancing
SymbolParameterTest conditionsMin.Typ.Max.Unit
V
CUR_SENSE
Input voltage for ADC
conversion
Application info. Absolute voltage on
ISENSEP/M pins. Same as operating
range
-300+300mV
Differential input voltage.
V
DIFF_CUR_SENSE
ISENSEP- ISENSEM
Design info-150+150mV
range
±1750 A full scale input assuming 18-
I
CELLRES
Current Measurement
Resolution
bit signed data output and an R
0.1 mΩ
shunt
=
13.33mA
Not tested, application info
±175 mV full scale input assuming 18bit signed data output
Design info
-150 mV ≤ V
DIFF_CUR_SENSE
< -60
mV,
-40 °C < TJ < 125 °C
-60 mV ≤ V
DIFF_CUR_SENSE
≤ 60 mV
-40 °C < TJ < 125 °C
1.33μV
-0.50.5%
-0.30.3mV
V
ISENSE_RES
I
CELLERR
I
CELLERR2
Voltage Measurement
Resolution
Current Measurement
Error V
DIFF_SENSE
= V(ISENSE+) V(ISENSE-)
L9963E
I
CELLERR3
I
CURR_SENSE_OC_SLEEP
I
CURR_SENSE_OC_NORM
I
CELL_OC_SLP_RES
I
CELL_OC_NORM_RES
V
ISENSE_OPEN_thr
T
CURR_SENSE_OPEN_filter
4.7Cell balancing
The Sx and Bx_x-1 pins are used to balance the charge of the cells by discharging the ones with a higher SOC
(State Of Charge). Balancing can be performed either with external or internal MOSFETs.
[DOS_UR8I_45010]Cell balance drivers are powered by VBAT stack voltage. Hence, balancing is theoretically
possible even at low cell voltages, with an exception for cell 14. In case V
correspondent balancing circuitry will not operate properly and false overcurrent detection may occur.
ISENSE Over-current
Fault Threshold in Cyclic
Wakeup
ISENSE Over-current
Fault Threshold in Normal
60 mV < V
DIFF_CUR_SENSE
-40 °C < TJ < 125 °C
Tested in SCAN (76.8A with R
0.1 mΩ)
≤ 15 0 mV,
=
shunt
-0.50.5%
010.55488 mV
0175mV
ISENSE Over-current
Fault Threshold
Resolution in Cyclic
Application info (+/-3.4048A with
R
= 0.1 mΩ)
shunt
340.48μV
Wakeup
ISENSE Over-current
Fault Threshold
Resolution in Normal
ISENSE pins open
threshold voltage
Application info (+/-13.3 mA with
R
= 0.1 mΩ)
shunt
1.33μV
1.51.71.9V
Open digital filter timeTested in SCAN60μs
CELL14
< V
CELL14_BAL_MIN
, the
4.7.1Passive cell balancing with internal MOSFETs
The internal balancing requires only on-board resistors, and the MOSFETs which are embedded in the chip.
DS13636 - Rev 3
page 46/184
Figure 16. Cell monitoring with Internal balancing
C10
S10
B10_9
C9
S9
RLPF
RLPF
C8
RLPF
RDIS
RDIS
CLPF
CLPF
L9963E
• Force lines used for
balancing. Connect them as
close as possible to the cell
connector. This improves
cell voltage sensing while
balancing is ongoing, by
minimizing the voltage drop
on the sense lines while
current is being sunk
•Sense lines used for cell
voltage measurement. Keep
away from noisy lines.
Recommended PCB layout
strategy is to route them
over the first layer and
shield them using the
second layer as GND plane
C10
S10
B10_9
C9
S9
RLPF
RLPF
C8
RLPF
RDRV
RDRV
CLPF
CLPF
L9963E
• Force lines used for
balancing. Connect them as
close as possible to the cell
connector. This improves
cell voltage sensing while
balancing is ongoing, by
minimizing the voltage drop
on the sense lines while
current is being sunk
•Sense lines used for cell
voltage measurement. Keep
away from noisy lines.
Recommended PCB layout
strategy is to route them
over the first layer and
shield them using the
second layer as GND plane
MP
RDIS
MN
RDIS
L9963E
Cell balancing
The on-chip MOSFETs are switched on to sink a current from the cell, thus dissipating charge on RDIS. The
affordable balancing current is restricted by the thermal relief on the current source circuits.
The maximum balance current on each cell is 200 mA. All cells can be balanced simultaneously, provided that
junction temperature doesn’t exceed the maximum operating defined in Table 5. To prevent thermal overstress,
the Die temperature diagnostic and over temperature protections are implemented.
For further information, refer to Section 6.6.1 Cell balancing with internal MOSFETs.
4.7.2Passive cell balancing with external MOSFETs
The external balancing includes the on-board power resistors and MOSFETs driven by the Sx pins.
Figure 17. Cell monitoring with external balancing with the mixed NMOS and PMOS transistors
DS13636 - Rev 3
page 47/184
The schematic of the external balancing is shown in the figure above.
The cell stack can be divided into adjacent couples and, for each couple, the even cell is balanced by a PMOS,
while the odd cell is balanced by an NMOS.
For further information refer to Section 6.6.2 Cell balancing with external MOSFETs.
4.7.3Balancing modes
In order to allow maximum flexibility, the cell balancing process can be performed both in Manual Balancing
mode and Timed Balancing mode. The configuration can be selected by acting on Balmode bit.
In case balancing is interrupted by Voltage Conversion Routine, any unfinished balancing state will be saved,
and will resume once the measurement is done.
It is started writing bal_start = 1 and bal_stop = 0, while it can be stopped by writing the opposite code
(bal_start = 0 and bal_stop = 1). Writing other codes will not alter the status of balancing. Switching from
Manual Balancing mode to Timed Balancing mode will immediately apply the new settings. Balancing will not
be interrupted, unless ThrTimedBalCellxx is set to ‘0’ for a specific cell, causing immediate end of balancing on
it.
The bal_on and eof_bal flags indicate the status of the balancing FSM. Once a balancing task is over. MCU must
program bal_start = 0 and bal_stop = 1 in order to reset the FSM to the idle state.
L9963E
Cell balancing
Table 42. Balancing FSM
bal_oneof_balBalancing Status
00Idle
01Impossible
10Ongoing
11Balancing Over
Note that balancing is performed only on enabled cells (VCELLx_EN = 1). Once balance is started, any change to
VCELLx_EN or BALx will not disable the balancing function on the related cell. To disable balancing, bal_start =
0 and bal_stop = 1 must be programmed.
4.7.3.1Manual balancing mode
The MCU directly controls the output state of Sn (n=1…14) individually. The start and end time of the balancing
are controlled by bal_start and bal_stop.
To operate manual balancing, follow these steps:
1.Set Balmode = 01 in the Bal_2 register to configure manual balancing
2.Set BALxx = 10 in the BalCell14_7act and BalCell6_1act registers to enable balancing on the selected
cells
3.Set bal_start = 1 and bal_stop = 0 in the Bal_1 register to start balancing
To prevent cell overdischarge due to misconfiguration, Manual Balancing does not support the Silent Balancing
state. Any GO2SLP command or communication timeout will halt the operation and move L9963E to the Sleep
mode, even if slp_bal_conf flag is set.Balancing will not be resumed once the device is woken up.
In order to prevent cells over-discharge, a watchdog timer WDTimedBalTimer, whose timeout is T
is always started at the beginning of each manual balancing start command. In case the timeout expires, the
balancing is stopped and the EoBtimeerror latch is set. FAULT line will also be triggered.
BAL_TIMEOUT
,
4.7.3.2Timed balancing mode
The device is able to balance at the same time up to 14 cells. The balancing procedure is the following:
1.Set Balmode = 10 in the Bal_2 register to configure timed balancing;
2.The MCU can program up to 14 registers (ThrTimedBalCellxx) to assign each cell with its own balancing
time duration, based on the estimation of the charge to be subtracted;
3.Set BALxx = 10 in the BalCell14_7act and BalCell6_1act registers to enable balancing on the selected
cells;
4.Set bal_start = 1 and bal_stop = 0 in the Bal_1 register to start balancing.
DS13636 - Rev 3
page 48/184
L9963E
Cell balancing
The global TimedBalTimer is started and the balancing operation begins. The watchdog timer
WDTimedBalTimer starts along with the primary one. When one of the two counters reaches the threshold
designated for a cell, balancing is stopped on the involved cell.
While they start balancing at the same time, each balancing driver stops when its own time-threshold elapses.
When all the balancing tasks are done, the TimedBalTimer is reset and the eof_bal latch is set.
The balancing timer resolution can be programmed according to the TimedBalacc bit:
•TimedBalacc = 0 selects the coarse resolution: 8 min 32 sec
•TimedBalacc = 1 selects the fine resolution: 4 sec
Table 43 lists all the available configurations for the balancing thresholds (ThrTimedBalCellxx).
In case GO2SLP command is received or communication timeout occurs, the behavior depends on
slp_bal_conf:
•slp_bal_conf = 0 means that balancing will be stopped when L9963E moves to a low power state (Sleep or
Cyclic Wakeup)
•slp_bal_conf = 1 means that L9963E moves to Silent Balancing state and balancing will continue.
Balancing is always stopped when moving from a low power state to Normal.
When the chip is in the NORMAL mode, the sleep conditions (communication timeout or GO2SLP command)
will demand the chip entering the SLEEP or SILENT BALANCING state depending on the slp_bal_conf. Silent
balancing is only available for Timed Balancing mode (Balmode = 10 and slp_bal_conf = 1), while Manual
Balancing mode (Balmode = 01) will be interrupted and the state transition is forced to SLEEP, regardless of
slp_bal_conf.
If the slp_bal_conf = 0, whatever kind of balancing is currently being operated, it will be stopped, and then the
chip will turn to the SLEEP mode.
4.7.5Electrical parameters
All parameters are tested and guaranteed in the following conditions, unless otherwise noted:
9.6 V < VBAT < 64 V; -40 °C < Tambient < 105 °C
SymbolParameterTest conditionsMin. Typ. Max. Unit
V
BAL_OPEN
I
PD_CB
Open load Fault Detection
Voltage Threshold
Output OFF Open Load
Detection Pull-down Current
Table 44. Balancing electrical characteristics
Balance Power OFF (Open Load), voltage
ramp on Power Drain
VDS = 5 V100300µA
0.3 0.55 0.74V
DS13636 - Rev 3
page 52/184
Device regulators
SymbolParameterTest conditionsMin. Typ. Max. Unit
Balance Power OFF Open Load Detect
Enabled
VDS = 5 V
I
OUT(LKG)
Output Leakage Current
Balance Driver disabled (current on Sn Bn,n-1)
Open Load Detect Disabled
VDS = 5 V
I
OUT(BAL_OFF)
Output Driver Current
Balance Driver enabled but Power OFF
(current on Sn, Bn,n-1) Open Load Detect
-355µA
Disabled
I
= 200 mA
OUT
-40 °C < TJ < 125 °C
1.8 V < Vcell(1..12) < 5 V
I
= 200 mA
OUT
-40 °C < TJ < 125 °C
R
DS_ON
Drain-to-Source On
Resistance
3.2 V < Vcell(13..14) < 5 V
I
= 200 mA
OUT
40 °C < TJ < 80 °C (production test at room)
1.8 V < Vcell(13..14) < 3.2 V
I
= 200 mA
OUT
80 °C < TJ < 125 °C (production test at 125 °C)
1.8 V < Vcell(13..14) < 3.2 V
Over Current Short detection
I
BAL_OC
Current flowing through
the PowerMOS when
Vcell(1..14) = 5 V, Power MOS ON, current
ramp on Power Drain
250mA
BALx_SHORT = 1
V
BAL_CLAMP
Static clamp
I
forced
= 300 mA
1013V
Minimum voltage on cell
V
CELL14_BAL_MIN
14 that guarantees correct
operation of the balance
Application info1.7V
driver
T
ON_BAL
T
OFF_BAL
T
BAL_OL
T
BAL_OL_HWSC
T
BAL_OVC_DEGLITCH
T
BAL_TIMEOUT
Cell Balance Driver Turn On
Time
Cell Balance Driver Turn Off
Time
Open load digital filter timeTested by SCAN11ms
Digital Filter time for HWSCTested by SCAN4µs
Short Detect Glitch FilterTested by SCAN61µs
Secondary Balancing Timer
Timeout in Manual Mode
RL = 40 Ω (that gives a 130 mA balancing
current when Vcell = 5 V) from internal
0.51.85µs
command to 10% of VDS
RL = 40 Ω (that gives a 130 mA balancing
current when Vcell = 5 V) from internal
0.54.715µs
command to 90% of VDS
Tested by SCAN600min
L9963E
1µA
0.8Ω
0.8Ω
1.3Ω
1.5Ω
4.8Device regulators
All the internal block of the device are supplied by VBAT or VREG pin.
In order to optimize the power dissipation, to provide a suitable voltage for different functions or to decouple
sensible from noisy blocks, different regulators are available.
DS13636 - Rev 3
page 53/184
4.8.1Linear regulators
VREG
This is a linear regulator that exploits an external MOS in order to decrease the power dissipation inside L9963E.
It acts as pre-regulator supplying all other internal regulatos (VANA, VCOM, VTREF and VDIG). It is switched
OFF in low power modes (Sleep, Silent Balancing, OFF phase of Cyclic Wakeup). The source of the MOS is
connected to VREG pin, while the gate is connected to NPNDRV pin and the drain to VBAT. VREG regulator has
to be intended for L9963E use only. For the regulator external components, refer to Table 73.
VREG regulator has a dedicated UV/OV diagnostic:
•if VREG voltage goes below V
condition is latched into VREG_UV flag and the bootstrap is disabled;
•if VREG voltage goes over V
condition is latched into VREG_OV flag.
VANA
This low drop regulator supplies all the ADC, comparators, monitors, main bandgap, current generator and other
analogic blocks. An external stabilization capacitance placed close to the pin is needed (see Table 73). VANA
regulator has to be intended for L9963E use only.
VANA regulator has a dedicated UV/OV diagnostic:
•if VANA voltage goes below V
triggered;
•if VANA voltage goes over V
condition is latched into VANA_OV flag.
VANA regulator has an internal current limitation, its value is I
VCOM
The isolated communication receiver/transmitter and the GPIO output buffers are supplied by this low drop
regulator. An external stabilization capacitance placed close to the pin is needed (see Table 73).
VCOM regulator can also be used to supply external loads with I
VCOM regulator has a dedicated UV/OV diagnostic:
•if VCOM voltage goes below V
condition is latched into VCOM_UV flag;
•if VCOM voltage goes over V
condition is latched into VCOM_OV flag.
VCOM regulator has an internal current limitation, its value is I
VTREF
This low drop regulator is used as precise voltage reference to supply external components such as NTCs for
temperature sensing. An external stabilization capacitance placed close to the pin is needed (see Table 73).
VTREF regulator has IVTREF_ext max. current budget. The recommended application circuit in NTC AnalogFront End guarantees that each NTC channel sinks no more than 500 μA.
VTREF regulator has a dedicated UV/OV diagnostic:
•if VTREF voltage goes below V
undervoltage condition is latched into VTREF_UV flag;
•if VTREF voltage goes over V
condition is latched into VTREF_OV flag.
VTREF regulator has an internal current limitation, its value is I
VTREF regulator is disabled by default. Its operation can be controlled via SPI according Table 55.
VDIG
VDIG regulator has a dedicated UV/OV diagnostic:
•if VDIG voltage goes below V
triggered;
•if VDIG voltage goes over V
condition is latched into VDIG_OV flag.
VREG_UV
VREG_OV
VANA_UV
VANA_OV
VCOM_UV
VCOM_OV
VTREF_UV
VTREF_OV
VDIG_UV
VDIG_OV
threshold for a time longer than T
threshold for a time longer than T
threshold for a time longer than T
threshold for a time longer than T
VANA_curr_lim
VCOM_ext
threshold for a time longer than T
threshold for a time longer than T
VCOM_curr_lim
threshold for a time longer than T
threshold for a time longer than T
VTREF_curr_lim
threshold for a time longer than T
threshold for a time longer than T
VREG_FILT
VREG_FILT
POR_FILT
VANA_OV_FILT
a VREG undervoltage
a VREG overvoltage
a POR condition is
a VANA overvoltage
.
max. current budget.
VCOM_FILT
VCOM_FILT
a VCOM undervoltage
a VCOM overvoltage
.
VTREF_FILT
VTREF_FILT
a VTREF
a VTREF overvoltage
.
POR_FILT
VDIG_FILT
a POR condition is
a VDIG overvoltage
L9963E
Device regulators
DS13636 - Rev 3
page 54/184
L9963E
Device regulators
For all regulators the slew rate at the power up can be evaluated considering corresponding current limitation
applied on capacitance connected to related pin. The equation below estimates the startup time considering a
20% tolerance on the external stabilization capacitance (refer to Table 73). The VREG regulator implements a soft
start strategy and its startup time is T
VREG_SOFT_START
=
__
=
=
_ _
Figure 18. Regular scheme
.
×
×
__
×
85 275
=
85 270
=
= 65 260
(5)
4.8.2Bootstrap
In order to provide a supply higher than VBAT to the level shifters of the ADC, a Bootstrap solution has been
implemented. The Bootstrap is automatically enabled in NORMAL mode. The bootstrap works with an external
capacitance CCB.
Bootstrap works in 2 phases:
•during phase 1 capacitance CCB is charged between 0 V and VREG for a time long T
•during phase 2 same capacitance is bootstrapped, connecting its negative terminal to VBAT. This phase
longs T
A VREG OV condition turns off bootstrap circuit.
DS13636 - Rev 3
BOOT_PHASE
RELOAD_PHASE
.
.
page 55/184
4.8.3Electrical parameters
All parameters are tested and guaranteed in the following conditions, unless otherwise noted:
9.6 V < VBAT < 64 V; -40 °C < Tambient < 105 °C
SymbolParameterTest conditionsMin.Typ. Max. Unit
V
VREG
VREG
LOAD_TRAN
R
PD_NPNDRV
V
VREG_ovs
T
VREG_SOFT_START
V
VREG_UV
V
VREG_UV_HYS
V
VREG_OV
V
VREG_OV_HYS
T
VREG_FILT
V
VCOM
I
VCOM_curr_lim
I
VCOM_ext
V
VCOM_UV
V
VCOM_UV_HYS
V
VCOM_OV
V
VCOM_OV_HYS
T
VCOM_FILT
V
VTREF
V
VTREF_TEMP_SPREAD
I
VTREF_curr_lim
I
VTREF_ext
V
VTREF_UV
Regulated voltage
Transient load regulation
Pulldown resistor on NPNDRV
pin
Overshoot at power on
Soft start time
Under voltage monitor55.56V
Under voltage monitor
hysteresis
Over voltage monitor77.58V
Over voltage monitor hysteresis100250mV
UV/OV digital filter timeTested in SCAN172023μs
Regulated voltage
Current limitationMeasured with VCOM = 0 V5075100mA
Current budget for supplying
external components
Under voltage monitor4.254.54.75V
Under voltage monitor
hysteresis
Over voltage monitor5.255.55.75V
Over voltage monitor hysteresis100250mV
UV/OV filterTested in SCAN172023μs
Regulated voltage
Maximum negative variation of
VTREF in respect to the room
temperature value
Current limitationMeasured with VTREF = 0 V5075100mA
Current budget for supplying
external components
Under voltage monitor4.254.54.75V
Table 45. Regulators electrical characteristics
Tested with external Iload =
10 mA/120 mA
9.6 V < VBAT < 70 V
VBAT = 9.6/80
I = 10 mA → 120 mA
VREG regulator OFF1MΩ
IVREG = 10 mA
CVREG = 4.7 μF
IVREG = 10 mA
CVREG = 4.7 μF
Tested with external Iload = 0,
10 mA
5.8 V < VREG < 7.2 V
Application info25mA
Tested with external Iload = 0,
10 mA
5.8 V < VREG < 7.2 V
Tested with external Iload = 0
5.8 V < VREG < 7.2 V
Guarantee by design
Application info50mA
L9963E
Device regulators
66.57V
-120120mV
6.8V
100300500μs
100250mV
4.855.2V
100250mV
4.84.958 5.1V
-12mV
DS13636 - Rev 3
page 56/184
L9963E
Device regulators
SymbolParameterTest conditionsMin.Typ. Max. Unit
V
VTREF_UV_HYS
V
VTREF_OV
V
VTREF_OV_HYS
T
VTREF_FILT
V
ANA
I
VANA_curr_lim
V
VANA_UV
V
VANA_UV_HYS
V
VANA_OV
V
VANA_OV_HYS
T
VANA_OV_FILT
V
VANA_POR_LH
V
VANA_POR_HL
V
VANA_POR_HYS
V
DIG
V
VDIG_UV
V
VDIG_UV_HYS
V
VDIG_OV
V
VDIG_OV_HYS
T
VDIG_FILT
T
POR_FILT
T
POR_FILT_LH
V
BOOT
T
BOOT_PHASE
T
RELOAD_PHASE
I
VBOOT_CURR
C
CB
T
GND_LOSS_filter
Under voltage monitor
hysteresis
100250mV
Over voltage monitor5.255.55.75V
Under voltage monitor
hysteresis
100250mV
UV/OV filterTested in SCAN172023μs
Tested with external Iload = 0,
Regulated voltage
10 mA
3.153.33.45V
5.8 V < VREG < 7.2 V
Current limitationMeasured with VANA = 2.5 V356085mA
Under voltage monitor2.62.752.9V
Under voltage monitor
hysteresis
50150mV
Over voltage monitor3.64V
Over voltage monitor hysteresis50200 mV
VANA Over voltage filter timeTested in SCAN172023μs
Power on reset going out of
POR
2.72.853V
Power on reset going into POR2.62.752.9V
POR monitor hysteresis50150 mV
Regulated voltage
Tested with external Iload = 0
5.8 V < VREG < 7.2 V
3.153.33.45V
Under voltage monitor2.62.752.9V
Under voltage monitor
hysteresis
50150mV
Over voltage monitor3.64V
Under voltage monitor
hysteresis
50200mV
UV/OV filterTested in SCAN172023μs
Power on reset filter416μs
2.57.5μs
VBAT+2.5 V +
CAP2 voltage during bootstrap
phase
840 mV (840
mV = 6.5
mA*128 μs/1
μF) Design info
Bootstrap phase durationTested in SCAN128μs
Bootstrap reload phase duration Tested in SCAN17μs
Bootstrap charge phase,
Bootstrap charge current for
external cap
CAP1 = 2 V, measured sinked
current between CAP1 and
3065100mA
GND
External capacitance between
CAP1 and CAP2 pins
Application info0.711.3μF
GND loss digital filter timeTested in SCAN300μs
V
DS13636 - Rev 3
page 57/184
SymbolParameterTest conditionsMin.Typ. Max. Unit
GND_LOSS_THRGND loss analog threshold100300450mV
4.9General purpose I/O: GPIOs
L9963E provides 9 GPIOs which can be individually configured as digital I/Os or analog I/Os according to the
following configuration:
L9963E
General purpose I/O: GPIOs
Table 46. GPIO port configuration
GPIO port
Std. GPIOSPIWake upFAULTAbsolute input
1
XX
2XX
3XX
4XX
5XX
6XX
7XXX
8XXX
9XXX
Note:'X' means the option is available.
GPIO default configuration depends on device operating mode:
GPIO
GPIO1_FAULTHRead Only
GPIO2_FAULTLRead Only
GPIO3Read/WriteAnalog Input
GPIO4Read/WriteAnalog Input
GPIO5Read/WriteAnalog Input
GPIO6Read/WriteAnalog Input
GPIO7_WAKEUPRead/WriteDigital Input
GPIO8_SCKRead/Write conditioned
1. Configuration is locked and cannot be changed by MCU.
GPIO9_SDORead/Write conditioned
DigitalAnalog
Table 47. GPIO default configuration
TypeSPIEN = 1SPIEN = 0
Digital Input
Digital Output
Digital Input
Digital Output
(1)
(1)
(1)
(1)
Analog Input
Analog Input
4.9.1GPIO3-9: absolute analog inputs
Seven GPIOs (from GPIO3 to GPIO9) can be used as analog inputs. They can be converted during the Voltage
conversion routine.
This configuration is usually implemented in order to monitor external Negative Temperature Coefficient (NTCs).
Refer to Section 6.9 NTC analog front end for the application circuit.
The buffered regulator output VTREF is used to bias up to 7 NTC probes.
Depending on the measurement strategy selected via ratio_abs_x_sel bit, two decoding formulas apply:
DS13636 - Rev 3
page 58/184
L9963E
General purpose I/O: GPIOs
GPIO measurement formula
= _*
= _*
__
__
ADCs integrity is checked by Cell open with ADC_CROSS_CHECK = 1 and Voltage ADC BIST.
To cover latent failures, MCU can check if the divider is working properly by toggling the ratio_abs_x_sel bit:
1.MCU performs a GPIO conversion with ratio_abs_x_sel = 0 (absolute measurement)
2.MCU manually evaluates the quantity GPIOx_MEAS / VTREF_MEAS
3.MCU switches to ratio_abs_x_sel = 1 (ratiometric measurement)
4.MCU reads the ratiometric quantity in the GPIOx_MEAS registers and verifies that it matches the one
evaluated at point 2.
Note:When toggling ratio_abs_x_sel bit, OT/UT and fast charge OT thresholds are not automatically updated, since
they are supposed to be written by the MCU. Hence, unwanted failures might be flagged. For this reason, it is
recommended to perform the divider integrity check at system startup.
4.9.2GPIO1-9: standard digital I/O
The GPIO can be used in a standard digital input (Schmitt trigger) or digital Output buffer configuration,
depending on the configuration defined by dedicated register.
, ___ = 0
, _ __ = 1
(6)
4.9.3GPIO8-9: SPI commands
When the L9963E is connected to the micro (bottom device of the chain, SPIEN pin connected to the 5 V LDO
of the microcontroller), these two of the GPIO pins are used as SPI digital pins (the other 2 pins needed for SPI
communication are ISOLP/M pins):
•ISOLM:CS (chip select) INPUT
•ISOLP: SDI (serial data in) INPUT
•GPIO8: SCLK (serial clock) INPUT
•GPIO9: SDO (serial data out) BUFFERED OUTPUT
4.9.4GPIO7: wake up feature
To enable GPIO7 as wakeup source, it must be configured as digital input (GPIO7_CONFIG = 10) and the
GPIO7_WUP_EN bit must be set to ‘1’:
•Driving GPIO7 high for longer than TGPIO7_WAKEUP moves L9963E from a low power state to normal
mode.
•A high logic value on GPIO7 pin keeps the device awake, also in case a GO2SLP command is received or
communication timeout expires.
•In order to move the device to a low power state, the GPIO7 must be driven low and either a GO2SLP
command must be issued or the communication timeout has to expire.
4.9.5GPIO1-2: FAULT feature
The fault information is transmitted in the chain by optocouplers connected to GPIO pins. The L9963E senses the
FAULT signal incoming from an upper device on GPIO1_FAULTH pin: external components must guarantee that
the voltage on the FAULTH pin lays inside operating range. The L9963E transmits the fault signal to the bottom
of the chain through GPIO2_FAULTL pin that drives the optocoupler. External components must limit the current
coming out from GPIO2 pin when a logic ‘1’ is passed. [end]
The FAULTL pin of the device at the bottom of the stakc can be directly connected to the MCU digital input to
connect a fault interrupt.
For further information about FAULT line, refer to Section 4.3 FAULT line.
Refer to Section 6.7 FAULT line circuit for the application circuit.
DS13636 - Rev 3
page 59/184
4.9.6Electrial parameters
4.9.6.1Analog input
All parameters are tested and guaranteed in the following conditions, unless otherwise noted:
9.6 V < VBAT < 64 V; -40 °C < Tambient < 105 °C
Table 48. GPIO electrical parameters for analog input configuration
SymbolParameterTest conditionsMin.Typ. Max. Unit
V
GPIOAN
V
GPIO_ABS_RES
V
GPIO_RATIO_RES
I
OUT_HIZ
V
GPIOANERR0
GPIO Analog Voltage Input
Measurement Range
(1)
GPIO Analog Voltage Input
Measurement Resolution, when
ratio_abs_x_sel = 0
GPIO Analog Voltage Input
Measurement Resolution, when
ratio_abs_x_sel = 1
Analog Input leakage current
Design info
Valid for GPIO3-9
Application Info,
same as V
CELLRES
Application Info
Output buffer in
tristate 0 < V
GPIO
<
VCOM – 0.5 V
0.1 V ≤ V
CELL
< 0.3
V
-40 °C < TJ < 125 °C
L9963E
General purpose I/O: GPIOs
0.15V
89μV
-16
2
-0.50.5μA
-1010mV
-
V
GPIOANERR1
V
GPIOANERR2
V
GPIOANERR3
V
GPIOANERR4
V
GPIOANERR5
V
GPIOANERR6
V
GPIOANERR0
V
GPIOANERR1
V
GPIOANERR2
Accuracy
VBAT = C14
C0 = GND
Accuracy + Drift
VBAT = C14
C0 = GND
Noise contribution is V
CELL_NOISE1
0.3 V ≤ V
CELL
< 0.5
V
-40 °C < TJ < 125 °C
0.5 V ≤ V
CELL
≤ 5 V
105 °C < TJ < -125
°C
0.5 V ≤ V
CELL
< 3.2
V
-40 °C < TJ < 105 °C
3.2 V ≤ V
CELL
≤ 4.3
V
-40 °C < TJ < 105 °C
4.3 V ≤ V
CELL
≤ 4.7
V
-40 °C < TJ < 105 °C
4.7 V ≤ V
CELL
≤ 5 V
-40 °C < TJ < 105 °C
0.1 V ≤ V
GPIO
< 0.3
V
-40 °C < TJ < 125 °C
0.3 V ≤ V
GPIO
< 0.5
V
-40 °C < TJ < 125 °C
0.5 V ≤ V
GPIO
≤ 5 V
105 °C < TJ < -125
°C
-55mV
-77mV
-22mV
-2.42.4mV
-2.62.6mV
-66mV
-1010mV
-55mV
-88mV
DS13636 - Rev 3
page 60/184
L9963E
General purpose I/O: GPIOs
SymbolParameterTest conditionsMin.Typ. Max. Unit
V
GPIOANERR3
0.5 V ≤ V
V
-40 °C < TJ < 105 °C
GPIO
< 3.2
-2.42.4mV
V
GPIOANERR4
V
GPIOANERR5
V
GPIOANERR5
V
GPIOAN_UT
V
GPIOAN_UT_RES
V
GPIOAN_UT_RATIO_RES
V
GPIOAN_OT
V
GPIOAN_OT_RES
V
GPIOAN_OT_RATIO_RES
V
GPIO_FASTCH_OT_DELTA
Accuracy + Drift
VBAT = C14
C0 = GND
Noise contribution is V
GPIO Analog Input Over-voltage Fault
Threshold
(2)
CELL_NOISE1
GPIO_UT_TH
GPIO Analog Voltage Input Overvoltage Fault Threshold Resolution
(2)
Valid when ratio_abs_x_sel = 0
GPIO Analog Voltage Input Overvoltage Fault Threshold Resolution
(2)
Valid when ratio_abs_x_sel = 1
GPIO Analog Input Under-voltage
Fault Threshold
(2)
GPIO_OT_TH
GPIO Analog Voltage Input Undervoltage Fault Threshold Resolution
(2)
Valid when ratio_abs_x_sel = 0
GPIO Analog Voltage Input Undervoltage Fault Threshold Resolution
(2)
Valid when ratio_abs_x_sel = 1
GPIO Analog Input Fast charge Fault
Threshold
Gpio_fastchg_OT_delta_thr
3.2 V ≤ V
GPIO
≤ 4.3
V
-40 °C < TJ < 105 °C
4.3 V ≤ V
GPIO
≤ 4.7
V
-40 °C < TJ < 105 °C
4.7 V ≤ V
GPIO
≤ 5 V
-40 °C < TJ < 105 °C
Application info
Used for NTC UT
failure detection on
GPIO3-9
Tested by SCAN
Design info Valid for
GPIO3-9
Application info,
valid for GPIO3-9
Application info
Used for NTC OT
failure detection on
GPIO3-9
Tested by SCAN
Design info Valid for
GPIO3-9
Application info,
valid for GPIO3-9
Design info, tested
by SCAN Valid for
GPIO3-9
-33mV
-3.63.6mV
-77mV
0.15V
11.392mV
-9
2
0.15V
11.392mV
2
-9
05V
-
-
DS13636 - Rev 3
V
GPIO_FASTCH_OT_DELTA_RES
V
GPIO_FASTCH_OT_DELTA_RATIO_RES
V
GPIO_OL
I
GPIO_PD_OPEN
GPIO Analog Voltage Input
Fast Charge Under-voltage Fault
Threshold Resolution
(2)
Valid when ratio_abs_x_sel = 0
GPIO Analog Voltage Input
Fast Charge Under-voltage Fault
Threshold Resolution
(2)
Valid when ratio_abs_x_sel = 1
Open load voltage threshold
Design info, tested
by SCAN Valid for
GPIO3-9
Application info,
tested by SCAN
Valid for GPIO3-9
Covered by SCAN
Valid for GPIO3-9
22.784mV
-8
2
200mV
Open load pulldown current1040μA
page 61/184
-
T
GPIO_OPEN_SET
1. The measurement range and accuracy are the same of these for cell voltage.The GPIO readout is done in a time frame
non-overlapping with the readout of Cell voltage.
2. When the GPIO ports are used for temperature measurement, the OV/UV detection can be used for OT/UT (under voltage
→ over-temperature, over voltage → under-temperature).
4.9.6.2Digital input
All parameters are tested and guaranteed in the following conditions, unless otherwise noted:
9.6 V < VBAT < 64 V; -40 °C < Tambient < 105 °C
SymbolParameterTest conditionsMin.Typ.Max.Unit
V
IN_L
V
IN_H
V
IN_HYS
L9963E
General purpose I/O: GPIOs
SymbolParameterTest conditionsMin.Typ. Max. Unit
Open load diagnostics settling timeTested in SCAN0.7ms
Table 49. Electrical parameters for GPIOs as digital inputs
Low input levelSlow rising ramp on GPIO01.4V
High input levelSlow falling ramp on GPIO1.3VCOMV
Input hysteresisCalculation VIN_H-VIN_L0.150.4V
4.9.6.3Digital output
All parameters are tested and guaranteed in the following conditions, unless otherwise noted:
9.6 V < VBAT < 64 V; -40 °C < Tambient < 105 °C
SymbolParameterTest conditionsMin.Typ. Max. Unit
V
OUT_L
V
OUT_H
T
OUT_trans9
T
OUT_trans
T
FILT_GPIO_ECHO
4.9.6.4SPI specification
L9963E implements an SPI slave with the following timing requirements:
Table 50. GPIO digital output electrical characteristics
GPIO1..9 Low output levelIGPIO = 2 mA00.4V
GPIO1..9 High output levelIGPIO = -2 mAVCOM-0.4VCOMV
GPIO9 Rise and Fall time
GPIO1..8 Rise and Fall time
GPIO1..9 short fault digital
filter time
Cload=120pF 20-80% on rising edge of
VGPIO 80-20% on falling edge of VGPIO
Cload = 120 pF 20-80% on rising edge of
VGPIO 80-20% on falling edge of VGPIO
535ns
5400ns
Tested in SCAN2μs
DS13636 - Rev 3
page 62/184
Internal Non Volatile Memory (NVM)
Figure 19. SPI timing diagram
All parameters are tested and guaranteed in the following conditions, unless otherwise noted:
9.6 V < VBAT < 64 V; -40 °C < Tambient < 105 °C
L9963E
Symbol
T
cll
T
clh
T
pcld
T
lead
T
scld
T
hcld
T
sclch
T
lag
T
hclch
T
onncs
T
pchdz
T
csdv
F
CLK_SPI
T
SPI_ERR
R
PULLDOWN_SPIEN
Table 51. SPI electrical characteristics
ParameterTest conditionsMin. Typ. Max. Unit
Minimum time CLK = LOWApplication info75ns
Minimum time CLK = HIGHApplication info75ns
Propagation delay (SCLK to data at SDO active)
CLK change L/H after NCS = lowApplication info75ns
SDI input setup time (CLK change H/L after SDI
data valid)
SDI input hold time (SDI data hold after CLK
change H/L)
CLK low before NCS lowApplication info75ns
CLK low before NCS highApplication info100ns
CLK high after NCS highApplication info100ns
NCS min high timeApplication info300ns
NCS L/H to SDO @ high impedance
NCS H/L to SDO active
CLK frequency (50% duty cycle)Application info0.55MHz
Pulldown resistance on SPIEN pin50150kΩ
Cload = 30 pF Valid for
GPIO9
50ns
Application info15ns
Application info15ns
Cload = 30 pF Valid for
GPIO9
Cload = 30 pF Valid for
GPIO9
75ns
90ns
Tested by SCAN5ms
4.10Internal Non Volatile Memory (NVM)
L9963E offers the possibility to store pack ID and other sensitive data in the internal NVM, up to NNVM_SIZE bit.
Three operations are available:
DS13636 - Rev 3
page 63/184
L9963E
Internal Non Volatile Memory (NVM)
•NVM Read: this operation downloads the NVM content into RAM. This function populates NVM_RD_x and
NVM_CNTR registers with the NVM content. Also trimming and calibration data will be re-downloaded.
•NVM Write: this operation pushes the RAM content into NVM. This function writes the NVM internal
sub-sectors fetching the data from NVM_WR_x and NVM_CNTR registers. Such a procedure does not
involve trimming and calibration data sectors. Since write operation is only capable of writing ‘ones’ and
it cannot write ‘zeroes’, before executing a Write operation, the NVM must be erased first. A maximum of
NNVM_MAX_WRITE write cycles is allowed.
•NVM Erase: this operation erases the NVM content, resetting all sub-sectors corresponding to NVM_RD_x
and NVM_CNTR registers to ‘0x0’. Such a procedure does not involve trimming and calibration data sectors.
After an Erase operation, only the Write operation is allowed.
The NVM must be operated in the following way: first Erase, then Write, then Read.
4.10.1NVM read
To read the updated NVM content, simply re-trigger the NVM download performing the following procedure:
1.Set trimming_retrigger = ‘1’
2.Wait for T
3.Set trimming_retrigger = ‘0’
NVM_RD_x and NVM_CNTR registers are now populated with the updated data downloaded from NVM. The
whole NVM content, including user data, is checked against CRC upon download. In case of errors in the user
sectors, the EEPROM_CRC_ERR_CAL_RAM flag will be set.
Note:NVM_WR_BUSY flag is not set during read operation. Do not perform Read operation after Erase (refer to NVM
Erase).
NVM_OP
4.10.2NVM erase
To erase the NVM content corresponding to NVM_RD_x registers, follow this procedure:
1.Program NVM_OPER = 10 and NVM_PROGRAM = 1 to set Erase mode
2.Write first unlock key NVM_UNLOCK_START = 0x1572F
3.Write second unlock key NVM_UNLOCK_START = 0x1602F
4.Wait TNVM_OP (during wait time, the flag NVM_WR_BUSY = 1)
5.Check NVM_WR_BUSY = 0, indicating the operation has been successfully accomplished
6.Set NVM_PROGRAM = 0
After an erase, it is mandatory to perform NVM Write operation in order to bring the internal NVM registers to a
defined state.
Note:Read operation after an Erase is strictly forbidden. It will result in populating the RAM with randomic values,
including the NVM_CNTR. In case NVM_CNTR results greater than NNVM_MAX_WRITE, the memory will be
locked and no further erase/write will be possible.
4.10.3NVM write
To update the NVM content corresponding to NVM_RD_x registers with new data, follow this procedure:
1.Write the desired data into NVM_WR_x registers (all registers have to be populated; it is not possible to
write just a selected bunch of registers). Make sure the NVM_WR_x registers are populated with the desired
data by reading back the answers incoming from L9963E
2.Program NVM_OPER = 11 and NVM_PROGRAM = 1 to set Write mode
3.Write first unlock key NVM_UNLOCK_START = 0x1572F
4.Write second unlock key NVM_UNLOCK_START = 0x1602F
5.Wait TNVM_OP (during wait time, the flag NVM_WR_BUSY = 1)
6.Check NVM_WR_BUSY = 0, indicating the operation has been successfully accomplished
7.Set NVM_PROGRAM = 0
Note:Remember to perform NVM Erase before executing a Write operation. The Write operation actually writes only
‘ones’ and is not capable of writing ‘zeroes’. To see the effects of Write, the NVM_RD_x and NVM_CNTR
registers have to be refreshed by re-downloading the NVM content via NVM Read procedure.
DS13636 - Rev 3
page 64/184
Each writing operation increments the NVM_CNTR counter by ‘1’. In case NVM_CNTR saturates to
NNVM_MAX_WRITE, writing operations are inhibited. User software shall inhibit any further Erase action in order
to avoid counter reset. Only reading operations are possible.
4.10.4Electrical parameters
Table 52. NVM electrical parameters
SymbolParameterTest conditions Min. Typ. Max.Unit
N
NVM_SIZE
T
NVM_OP
N
NVM_MAX_WRITE
NVM size allocated for external useDesign info112bit
Time interval required to perform each NVM operation. Tested by SCAN10ms
Maximum number of NVM writing operations allowed.Design info32Write cycles
4.11Safety and diagnostic features
L9963E provides an extended set of safety mechanisms to reach the required ASIL (Automotive Safety Integrity
Level) standard. Several diagnostics and integrity checks have been implemented. Faults can be notified
in a redundant way to the MCU: Global Status Word (GSW) allows failure notification over daisy chain
communication lines, while FAULT Line exploits a second independent pair. Every detected failure is available in
SPI registers.
L9963E
Safety and diagnostic features
4.11.1Cell UV/OV diagnostic
It is possible to select the value for the Overvoltage threshold (VCELL_OV) as well as for the Undervoltage
threshold (V
CELL_UV
It is also possible to specify an increment (V
Such an increment will determine the position of the balance Undervoltage threshold (V
can be masked through dedicated SPI bit. The actual balance undervoltage threshold will be placed according to
the following formula:
This diagnostic feature is completed by analyzing, inside the logic block, the digital information provided by the
Voltage measurement ADCs. Measurements will be performed just on enabled cells.
In case of cell UV/OV (V
•Corresponding fault flag is set and latched into VCELL_OV / VCELL_UV register
•Fault is propagated through the FAULT Line
•Balance is stopped in case of UV event
–A cell UV causes the balance activity to be stopped on the whole cell stack
–A cell balance UV causes the balance activity to be stopped only on the affected cell
•Conversion routine goes into Configuration Override
Balance UV (V
•Fault is not propagated through the FAULT Line
•Conversion routine doesn’t go into Configuration Override
•VCELLx_BAL_UV SPI flag is not set
) of the cells.
BAL_UV_TH
) in respect to the undervoltage threshold V
). Such a failure
+
__
BAL_UV_TH
CELL_UV
CELL_OV/UV
__
):
CELL_BAL_UV_ Δ
=
_
) fault can be masked via VCELLx_BAL_UV_MSK bit. When masking is activated:
.
(7)
4.11.2Total battery VBAT diagnostic
The total stack voltage diagnostic is implemented through three different safety mechanisms:
•Arithmetic sum of the digital information of cell ADC (within the Cell Conversion step of the VoltageConversion Routine): V
digital thresholds V
VBATT_SUM_UV_TH registers). This diagnostic is intended to catch stack undervoltage and overvoltage
events with a high precision.
DS13636 - Rev 3
BATT_SUM
BAT_OV (SUM)
, stored in Vsum_batt(19:0). Such a value is then compared to the
or V
BAT_UV (SUM)
(programmable via the VBATT_SUM_OV_TH and
page 65/184
L9963E
Safety and diagnostic features
•Direct conversion of the voltage V
the VBAT Conversion step of the Voltage Conversion Routine). The result is compared to the
V
BAT_CRITICAL_OV_TH
the IC against AMR violation on VBAT pin. It can also be used as a redundant coherency check with the
arithmetic sum of cells.
•Continuous sense of the VBAT pin voltage with a V
(V
BAT_OV_WARNING (COMP)
“under voltage warning”. This diagnostic is intended to provide a fast reaction against transient overvoltage
and undervoltage events.
This UV/OV comparator is always enabled in order to guarantee a continuous safety check on VBAT voltage.
Refer to Table 40 for the electrical parameters.
4.11.2.1VBAT over-voltage
The aim of this diagnostic is to detect a dangerous increase of battery voltage in order to protect the circuitry
connected to VBAT.
If VBAT > V
V
BATT_MONITOR
BAT_OV_WARNING (COMP)
> V
microcontroller with 3 dedicated flags, according to the Fault communication procedure.
In case of VBAT overvoltage detection during voltage conversion routine (violation of V
V
BAT_CRITICAL_OV_TH)
•Corresponding fault flag is set and latched into register VSUM_OV or VBATTCRIT_OV
•Fault is propagated through the FAULT Line
•Voltage conversion routine goes into Configuration Override
In case of VBAT overvoltage detection through the analog comparator (V
•Corresponding fault flag is set and latched into register VBATT_WRN_OV
•Fault is propagated through the FAULT Line
•Voltage conversion routine is not involved, since this diagnostic is not part of the routine steps
or V
BAT_CRITICAL_UV_TH
and V
(for a time longer than T
BAT_CRITICAL_OV_TH
.
BATT_MONITOR
at VBAT pin through internal resistive divider (within
fixed thresholds. This diagnostic is mainly intended to protect
BAT_UV/OV
BAT_UV_WARNING (COMP)
comparator, featuring fixed thresholds
). It is used as an “over voltage warning” or an
VBAT_FILT
) or V
BATT_SUM
> V
BAT_OV (SUM)
or
the over-voltage fault is directly reported in registers and notified to the
BAT_OV (SUM)
BAT_OV_WARNING
):
or
For further details see Section 4.12 Voltage conversion routine.
4.11.2.2VBAT under-voltage
The aim of this diagnostic is to detect a decrease of battery voltage in order to notify this fault that may cause
system malfunctions.
If VBAT < V
V
BATT_MONITOR
BAT_UV_WARNING (COMP)
< V
microcontroller with 3 dedicated flags, according to the Fault communication procedure.
In case of VBAT undervoltage detection during voltage conversion routine (violation of V
V
BAT_CRITICAL_UV_TH
•Corresponding fault flag is set and latched into register VSUM_UV or VBATTCRIT_UV
•Fault is propagated through the FAULT Line
•Balance is stopped on the whole stack
•Voltage conversion routine goes into Configuration Override
In case of VBAT undervoltage detection through the analog comparator (V
•Corresponding fault flag is set and latched into register VBATT_WRN_UV
•Fault is propagated through the FAULT Line
•Voltage conversion routine is not involved, since this diagnostic is not part of the routine steps
In case of VBAT pin loss, the internal resistive divider will pull-down VBAT to GND, thus causing VBAT UV failure
and, eventually, POR.
For further details see Section 4.12 Voltage conversion routine.
(for a time longer than T
BAT_CRITICAL_UV_TH
).
VBAT_FILT
) or V
BATT_SUM
< V
BAT_UV (SUM)
the under-voltage fault is reported in register and notified to the
BAT_UV (SUM)
BAT_UV_WARNING
):
or
or
DS13636 - Rev 3
page 66/184
4.11.3Cell open wire diagnostic
The cell open detection can be performed through the Voltage Conversion Routine and it has been studied to
address several safety issues. Diagnostic strategy depends on the ADC_CROSS_CHECK bit.
4.11.3.1Cell open with ADC_CROSS_CHECK = 0
If the Cell Terminal Diagnostics step of the Voltage Conversion Routine is executed having programmed
ADC_CROSS_CHECK = 0, then the diagnostic addresses the following failures:
•RLPF degradation: diagnostic has been implemented to guarantee that low pass filter resistor in series to
the Cx pin is below the critical limit R
–On odd cells, RLPF degradation will cause the assertion of the corresponding CELLx_OPEN flag
–On even cells, flag assertion depends on the RLPF degradation
◦A small degradation (RLPF < 24 kΩ typ. with 10 nF CLPF) will only cause the assertion of the
corresponding CELLx_OPEN flag
◦A huge degradation (RLPF > 24 kΩ typ. with 10 nF CLPF) will cause the assertion of both the
corresponding CELLx_OPEN flag and the lower odd cell CELLx-1_OPEN flag
•L9963E C1-C14 pin open
•L9963E C0 pin open or PCB connector open
Diagnostic is present just on enabled cells (VCELLx_EN = 1).
The mechanism used for this detection is based on a diagnostic pull down current (I
to measure the voltage drop generated on the external RLPF resistance connected in series to Cx pin. If such a
voltage drop is higher than V
C0 open diagnostic is performed with a pullup current (I
comparator senses C0 pin voltage and compares it with V
occurs.
In case of failure detection on an enabled cell:
•Corresponding fault flag is set and latched into CELLx_OPEN register;
•Fault is propagated through the FAULT Line;
•Voltage conversion routine goes into Configuration Override.
For further details see Section 4.12 Voltage conversion routine.
threshold a Cx open connection is detected.
CxOPEN
LPF_OPEN
OPEN_DIAG_C0
CxOPEN.
In case V(C0) > V
Safety and diagnostic features
OPEN_DIAG_CX
), which allows
) instead of a pulldown. A dedicated
, open detection
CxOPEN
L9963E
4.11.3.2Cell open with ADC_CROSS_CHECK = 1
If the Cell Terminal Diagnostics step of the Voltage Conversion Routine is executed having programmed
ADC_CROSS_CHECK = 1, then the diagnostic addresses the following issues:
•Failure in the filtering capacitor CLPF causing an excessive leakage from cell;
•ADC error due to bandgap shift or failure on the conversion path.
The mechanism used for this detection is the same as Cell open with ADC_CROSS_CHECK = 0, except that no
pull-down current is sunk from Cx pin.
For each pair of consecutive cells, the two corresponding ADCs, each of whom is referenced to a different
bandgap, are measuring the voltage drop on the external RLPF.
Since no pull-down current is applied while measurement is on going, the voltage drop on RLPF is expected to be
null, and the two measurement results should match.
If one of the two ADCs is experiencing an issue, or an excessive leakage from the CLPF is causing a voltage
drop on the RLPF, a mismatch in the results occurs. If such a mismatch is greater than V
is detected.
In case of failure detection on an enabled cell:
•The CELLx_OPEN fault latch will be set for both cells belonging to the pair that failed;
•Fault is propagated through the FAULT Line;
•Voltage conversion routine goes into Configuration Override.
For further details see Section 4.12 Voltage conversion routine.
ADC_CROSS_FAIL
, failure
DS13636 - Rev 3
page 67/184
4.11.4ADC swap
Failures on the ADCs can be detected by the HardWare Self-Check (HWSC) step of the Voltage Conversion
Routine.
L9963E provides means to operate a limp home functionality. For each pair of cells, in case one of the two
independent ADC fails, it is still possible to perform a swap of the input MUX, in order to allow the remaining ADC
measuring both cells.
User FW may activate, by means of CROSS_ODD_EVEN_CELL, a swap between the two ADCs of a cell pair,
in order to measure even cells through ADCs dedicated to the odd cells, and vice versa. For instance, if the ADC
assigned to cell Cx (even) fails, the adjacent one assigned to cell Cx-1 (odd) can be exploited to implement the
limp home functionality.
Since one ADC has failed, it is not possible to perform a complete scan of the cells in a single measurement
cycle. User SW must switch to the limp home routine where each scan requires two On-Demand Conversions:
•The first iteration will be executed having set CROSS_ODD_EVEN_CELL = 0 (default)
–ADCx measures cell Cx → MCU must discard the result, since ADCx is broken
–ADCx-1 measures cell Cx-1 → Result is good
•The second iteration will be executed having set CROSS_ODD_EVEN_CELL = 1 (swap mode)
–ADCx measures cell Cx-1 → MCU must discard the result, since ADCx is broken
–ADCx-1 measures cell Cx → Result is good
MCU then merges the results of first and second iteration to obtain a set of 14 reliable values, that can be used to:
•Detect an UV/OV on cells (comparison with threshold must be made by user FW)
•Get an accurate conversion of cells even if in case of fault on a ADC. This makes State Of Charge
estimation still possible
•Perform total stack voltage measurement as the sum of cells
When in limp home mode, all the ADC based diagnostics are not guaranteed. Fault tolerant time requirements
can still be met by doubling the sample rate (e.g. switching from 100 ms to 50 ms sample time).
L9963E
Safety and diagnostic features
4.11.5PCB open diagnostic
To detect loss of cell wire at PCB connector, the following procedure must be executed:
1.Convert even cells with an on-demand conversion.
2.Enable the diagnostic current (I
3.Wait for a proper settling time T
estimated according to the following equation:
_
× 10 = 200
Choosing T
PCB_SET
In general, the settling time T
= T
CxOPEN_SET
PCB_SET
4.Convert even cells with an on-demand conversion.
5.Disable the diagnostic current (I
6.For each cell, evaluate the difference between conversion at step 1 and step 4. If lower than a defined
threshold V
V
PCB_DIFF
PCB_DIFF
according to the following equation:
, the PCB connection to the cell is degraded. The open resistance depends on
PCB open resistance evaluation
For instance, setting V
PCB_DIFF
7.Repeat all the previous steps for odd cells, using PCB_open_en_odd_curr to manage the diagnostic
current.
Note:When performing PCB open diagnostic, other diagnostics such as Cell UV/OV diagnostic and Balancing open
load diagnostic might also be triggered. They must be then discarded by user SW.
) on even cells by programming PCB_open_en_even_curr = 1.
PD_CB
PCB_SET
=
PD_CB
= 40 mV allows detecting R
, whose minimum value and the minimum settling time can be
_
× 2
is enough if using T
should be longer than T
=
1
. .
100
CYCLEADC_000
SAMPLE_MIN
× 2
filter option to convert cells at step 1.
in Table 38.
) on even cells by programming PCB_open_en_even_curr = 0.
_
_
=
_
PCB_OPEN
in the [133-400] Ω range.
(8)
(9)
DS13636 - Rev 3
page 68/184
4.11.6Voltage ADC BIST
Besides Cell open with ADC_CROSS_CHECK = 1, the HardWare Self-Check (HWSC) step of the Voltage
Conversion Routine covers all the additional conversion paths, such as VTREF, GPIOs configured as analog
input and VBAT resistive divider. As a redundant mechanism, it also covers conversion paths involving Cx pins.
If BIST result is not aligned to expectations:
•Corresponding fault flag is set and latched into register MUX_BIST_FAIL or OPEN_BIST_FAIL or
GPIO_BIST_FAIL
•Fault is propagated through the FAULT Line
•Balance is stopped
•Voltage conversion routine goes into Configuration Override
For further details see Section 4.12 Voltage conversion routine.
4.11.7Die temperature diagnostic and over temperature
An internal temperature sensor continuously monitors the temperature of the chip: measurement result is
available in the TempChip register and can be evaluated according to the following formula:
Temperature Measurement Formula
= 1.3828 ×
TJ is in °C and the binary code is in 2’s complement format.
The chip prevents over-heating through an over temperature threshold TSD (which includes a hysteresis
TSD_HY). Once the die temperature reaches TSD, a thermal shutdown circuit will force the chip to reduce the
consumption by stopping balancing. A fault is reported to the μC with a dedicated bit OTchip and propagated
through the FAULT Line. When the temperature of the die returns to a normal level, L9963E can resume the
normal operation. Balancing is released after the uC reads OTchip latch.
+ 99.733
L9963E
Safety and diagnostic features
(10)
4.11.8Balancing open load diagnostic
During Balancing open load diagnostic a pulldown current I
the discharge resistor. A voltage comparator is able to detect whether the voltage |Sn-Bn,n-1|, in Power balance
OFF condition, falls below the open load threshold V
fault (BALx_OPEN) is latched.
Note:T
is the time interval where the comparator output is high (open fault present), while T
OPEN
interval where the comparator output is low (open fault not present).
Balance comparator has a self test mechanism used to check internal integrity. In case BIST fails
(BIST_BAL_COMP_HS_FAIL or BIST_BAL_COMP_LS_FAIL), balancing is stopped.
The equivalent open load resistance in series to the balancing path can be evaluated according to the following
equation:
Equivalent balance open resistance estimation
BAL_OPEN
=
is applied through the balancing path, including
PD_CB
. If T
_
_
OPEN
– T
NOT_OPEN
> T
BAL_OL
NOT_OPEN
/2 , the open load
is the time
(11)
DS13636 - Rev 3
page 69/184
Figure 20. Equivalent open resistance vs.cell voltage
L9963E
Safety and diagnostic features
In case of balance open detection on an enabled cell:
•Corresponding fault flag is set and latched into BALX_OPEN register
•Fault is propagated through the FAULT Line
•Voltage conversion routine goes into Configuration Override
For further details see Section 4.12 Voltage conversion routine.
This safety mechanism is also able to detect loss of cell PCB connector. In fact, if Celln positive terminal is
disconnected from PCB, both BALn_OPEN and BALn+1_OPEN failures will be flagged. Two exceptions:
•If PCB connector to cell14 positive terminal (C14) is lost, only BAL14_OPEN flag will be set
•If PCB connector to cell1 negative terminal (C0), CELL0_OPEN flag will be set
4.11.9Balancing short load diagnostic
The detection of the short load is implemented through the detection of overcurrent: if the balance current
exceeds the overcurrent threshold I
reported. Such a diagnostic is active during Power balance ON condition.
Balance comparator has a self test mechanism used to check internal integrity. In case BIST fails
(BIST_BAL_COMP_HS_FAIL or BIST_BAL_COMP_LS_FAIL), balancing is stopped.
In case of short detection:
•Corresponding fault flag is set and latched into register BALx_SHORT
•Fault is propagated through the FAULT Line
•Balance is stopped on the involved cell
Balance short detection is always active, even in low power modes (Silent Balancing, Cyclic Wakeup). When a
failure is detected in low power states, balancing will be immediately stopped; however, the device will not wake
up. FAULT Line and related fault latch will be triggered once the device has moved to Normal, following a wake
up condition.
BAL_OC
for a time longer than T
BAL_OVC_DEGLITCH
a diagnostic short fault is
4.11.10Balancing secondary timing
Secondary balancing timer is used to avoid over-discharge when manual balancing stop command
communication failure or primary balancing timer function disorder happen.
DS13636 - Rev 3
page 70/184
4.11.11Oscillator main clock monitoring
The oscillator used for the main logic functionalities and digital timings is monitored with a redundant oscillator
that is electrically independent from the main one. Redundant oscillator is used just for safety purpose, in order
to check a possible stuck condition. It can be activated by setting clk_mon_en = 1, and the confirmation of its
activation can be readback via the clk_mon_init_done bit.
If a frequency difference greater than Freq_diff occurs between the two redundant clocks, the OSCFail flag is
set.
4.11.11.1Electrical parameters
All parameters are tested and guaranteed in the following conditions, unless otherwise noted:
9.6 V < VBAT < 64 V; -40 °C < Tambient < 105 °C
Main Oscillator Electrical parameters
Table 53. Main oscillator electrical parameters
SymbolParameterTest conditionsMin.Typ.Max.Unit.
FMAIN_OSCInternal MAIN Oscillator frequency151617MHz
The Standby oscillator is used in both Normal operation and low power modes. It keeps alive all the standby
functionalities, including wakeup circuitries, during Sleep, Silent Balancing and Cyclic Wakeup. It is also
responsible of clocking the balancing activity during Normal, Cyclic Wakeup and Silent Balancing operation.
Thanks to this oscillator, balancing drivers can be continuously protected against a sudden short event, even
in low power modes. In order to guarantee a maximum coverage against latent failures that could prevent the
balancing short detection, such oscillator is monitored with a redundant oscillator that is electrically independent
from the main one. Redundant oscillator is always available and is used just for safety purposes, in order to
check a possible stuck condition of the main one. In case main oscillator gets stuck, the Balancing Drivers are
automatically switched off. This guarantees a fail safe operation, preventing infinite balancing duration.
If the failure happens while the device is in Normal mode, the communication with L9963E will still be functional.
If the failure occurs while the device is in a Low Power mode, L9963E will fail safely, but it will be impossible to
wake up.
4.11.13Regulator UV/OV diagnostic
VTREF, VCOM, VREG regulators have dedicated UV/OV diagnostic implementation. If one of these regulated
voltages goes lower than corresponding UV threshold or higher than corresponding OV threshold for a time
longer than corresponding digital filter, related fault flag is latched. Failure is then propagated through the FAULTLine.
In case of UV/OV detection:
•Corresponding fault flag is set and latched into Faults1 register
•Fault is propagated through the FAULT Line
•In the specific case of VREG OV, Bootstrap and Balance functions are disabled
•In the specific case of VREG UV, Balance is disabled
4.11.14Regulator self test
All power supplies are provided with a dedicate undervoltage or overvoltage test.
An analog self test on UV/OV comparators is implemented in order to guarantee high robustness safety
requirements. Such a BIST can be requested via Voltage Conversion Routine:
•VTREF
•VCOM
•VREG
DS13636 - Rev 3
page 71/184
In case of wrong self test detection:
•Corresponding fault flag is set and latched into BIST_COMP register
•Fault is propagated through the FAULT Line
•Voltage conversion routine goes into Configuration Override
4.11.15Regulator current limitation
Regulators VANA, VTREF, VCOM have dedicated current limitation feature (refer to Table 45).
4.11.16GPIO short FAULT
When GPIO are configured as digital outputs, they are short-protected. GPIO output value is monitored via the
input Schmitt Trigger. If it differs from the programmed GPOxOn for a time interval longer than T
the short fault is detected.
In case of short detection:
•Corresponding fault flag is set and latched into GPOxshort register;
•Fault is propagated through the FAULT Line;
•Corresponding output buffer is put in HiZ.
The output re-engagement strategy is:
1.Toggle GPOxOn bit;
2.Clear GPOxshort latch via SPI read;
3.Reprogram GPOxOn bit to the desired value.
GPIO short detection is not available for GPIO9 when configured as SDO in SPI mode.
L9963E
Safety and diagnostic features
FILT_GPIO_ECHO
,
4.11.17GPIO open fault (GPIO3-9)
When GPIO are used as analog inputs, it is possible to detect if an open wire has occurred between the pin
and the R
T
GPIO_OPEN_SET
V
GPIO_OL
input.
In case of open detection (with GPIO configured as analog input):
•Corresponding fault flag is set and latched into GPIOX_OPEN register;
•Fault is propagated through the FAULT Line;
•Voltage conversion routine goes into Configuration Override.
In case connection to the external NTC is lost at the PCB connector, the GPIO is pulled up to VTREF, thus
causing OV/UT failure when the GPIO is converted. MCU is responsible of programming an OV/UT threshold
below VTREF, in order to catch such event.
Figure 21 shows the equivalent series open resistance vs. temperature. The estimation has been made
considering an NTC with R
filtering resistor and the BOM recommended in Table 83.
Estimation of the GPIO open resistance in the NTC analog front end
resistances on the board. To do this, a pulldown current I
NTC
, GPIO voltage is converted with T
, the open load detection occurs. This diagnostics is available just for GPIO3-9, if configured as analog
25°C
=
is turned on and, after
CYCLEADC_000
GPIO_PD_OPEN
; if converted voltage is lower than a threshold
and B = 3984 K. The calculation already accounts for the presence of the series
The proposed solution works fine in the whole cell operating temperature range. For very high and abnormal
cell temperatures (greater than 90°C), a GPIOx_OPEN failure could be triggered when performing GPIO open
diagnostic.
For further details see Section 4.12 Voltage conversion routine.
4.11.18GPIO OT/UT (UV/OV) and fast charge OT diagnostic (GPIO3-9)
It is possible to select the value for the Overvoltage threshold (V
threshold (V
GPIOAN_OT
) of the analog voltages applied on GPIO pins. These diagnostics are available for
GPIO3-9, if configured as analog input.
Dedicated OV/UT (GPIOx_UT_TH) and UV/OT (GPIOx_OT_TH) thresholds are available for each GPIO3-9.
Individual OT/UT failures can be masked via dedicated Gpiox_OT_UT_MSK mask bit.
It is also possible to specify an increment (V
This increment, programmable via Gpio_fastchg_OT_delta_thr bit, will determine the position of the Fast
Charge Undervoltage threshold (V
FASTCHG_OT_TH
threshold to help MCU understanding when switching from fast charge (high DC current) to low power charge,
thus preventing excessive overheating during the battery charging process.
The failure can be masked through the Gpiox_fastchg_OT_MSK bit. The actual fast charge undervoltage
threshold will be placed according to the following formula:
__
This diagnostic can be used in application to monitor Overtemperature/Undertemperature events on external
NTCs: UV is related to Overtemperature while OV is related to Undertemperature.
If voltage (measured using T
CYCLEADC_000
threshold:
•Corresponding fault flag is set and latched into VGPIO_OT_UT register;
•Fault is propagated through the FAULT Line;
•Conversion routine goes into Configuration Override.
GPIO UT/OT failures can be masked via Gpiox_OT_UT_MSK bit. When masking is activated:
GPIO_FASTCH_OT_DELTA
). Purpose of this diagnostic is providing an additional OT
=
_
) is higher than the V
GPIOAN_UT
) of the undervoltage threshold V
+
___
GPIOAN_UT
) as well as for the Undervoltage
threshold or lower than V
GPIOAN_OT
GPIOAN_OT
.
(13)
DS13636 - Rev 3
page 73/184
•Fault is not propagated through the FAULT Line;
•Conversion routine doesn’t go into Configuration Override;
•GPIOx_UT and GPIOx_OT SPI flags are not set.
Masking OT/UT failures is useful when using analog inputs to measure sensors different than cell NTCs.
If voltage (measured using T
CYCLEADC_000
•Corresponding Fast charge OT fault flag is set and latched into GPIO_fastchg_OT register;
•Fault is propagated through the FAULT Line;
•Conversion routine goes into Configuration Override.
V
GPIO_FASTCH_OT_DELTA
has to be intended as a delta increase to be added to V
Fast charge threshold must be always higher than V
Fast charge stop fault can be masked via Gpiox_fastchg_OT_MSK bit. When masking is activated:
•Fault is not propagated through the FAULT Line;
•Conversion routine doesn’t go into Configuration Override;
•GPIOx_fastchg_OT SPI flag is not set.
For further details refer to Section 4.12 Voltage conversion routine.
4.11.19Current sense overcurrent
Current sense circuitry includes an overcurrent diagnostic active while the Coulomb Counter is enabled and
the device is in Cyclic Wakeup. The diagnostic compares each sample of the current sense conversion with a
digital threshold (I
detection occurs.
In case of curr sense OVC detection:
•Corresponding fault flag is set and latched into curr_sense_ovc_sleep register
•Fault is propagated through the FAULT Line
•Normal mode is entered
Failure can be masked by setting ovc_sleep_msk = 1.
Current sense circuitry includes also an overcurrent diagnostic active while the Coulomb Counter is enabled
and the device is in Normal. The diagnostic compares each sample of the current sense conversion with a
digital threshold (I
detection occurs.
In case of curr sense OVC detection:
•Corresponding fault flag is set and latched into curr_sense_ovc_norm register
•Fault is propagated through the FAULT Line
Failure can be masked by setting ovc_norm_msk = 1.
CURR_SENSE_OC_SLEEP
CURR_SENSE_OC_NORM
) is lower than V
GPIO_UV
FASTCHG_OT_TH
.
). If converted value is higher than I
). If converted value is higher than I
Safety and diagnostic features
threshold:
GPIOAN_OT
CURR_SENSE_OC_SLEEP
CURR_SENSE_OC_NORM
threshold, as total
L9963E
, overcurrent
, overcurrent
4.11.20Current sense open diagnostic
Curr sense performs open diagnostic using internal I
voltages are higher than V
T
CURR_SENSE_OPEN_filter
ISENSEP_OPEN_th
, current sense open detection occurs.
In case of curr sense open detection, which occurs only if coulomb counter is enabled (CoulombCounter_en =
1):
•Corresponding fault flag is set and latched into sense_plus_open or sense_minus_open register. Because
the CSA is choppering the inputs, both latches could be alternatively set
•Fault is propagated through the FAULT Line
4.11.21Reference voltage monitor
Two BG references are used in order to guarantee independency between monitor functions. For each pair of
cells, the two corresponding ADCs are referenced to different bandgaps. This guarantees results independency
when performing Cell open with ADC_CROSS_CHECK = 1 diagnostic.
DS13636 - Rev 3
ISENSEP
or V
ISENSEM_OPEN_th
and I
ISENSEM
currents. If I
SENSEP
or I
threshold for a time longer than digital filter
SENSEM
pin
page 74/184
4.11.22Communication integrity
The communication frame is checked and verified to ensure the information is valid.
A Cyclic Redundancy Check (CRC) is used to ensure the serial data read from L9963E is valid and has not been
corrupted even in application environments of high noise. For further information, refer to Section 4.2.4.6 CRC
calculation.
4.11.23Communication loss detection
In case no valid communication frame is received for t > t_SLEEP (programmable via CommTimeout bit), the
Comm_timeout_flt latch is set and the device moves to Sleep or Silent Balancing state, depending on the
slp_bal_conf bit.
In a vertical interface arrangement, any command addressing a slave unit will pass through the whole chain, thus
serving the communication timeout for all the units. On the contrary, polling the Master unit is not a good strategy
to refresh the communication timeout.
Communication timeout is enabled by default, but can be disabled by programming comm_timeout_dis = ‘1’.
For further information about Master and Slaves, refer to Section 4.2.1 Communication interface selection.
4.11.24Rolling counter
To improve fault coverage on unintended message repetition, a rolling counter functionality has been
implemented. MCU can send a MOSI frame setting a certain value for the Rolling Counter bit (LSB of the GlobalStatus Word (GSW)). L9963E will answer setting the same Rolling Counter value in the next communication
iteration (protocol is out of frame). So that this safety mechanism to be effective, MCU should continuously toggle
the rolling counter bit each MOSI frame.
L9963E
Safety and diagnostic features
4.11.25Trimming and calibration data integrity check
This safety mechanism checks:
•The trimming and calibration data stored in internal EEPROM. This is done everytime the NVM is
downloaded (EEPROM_DWNLD_DONE 0 → 1). In case one of the EEPROM sectors is corrupted, the
following error bit will be set:
–EEPROM_CRC_ERR_SECT_0 covers the trimming data
–EEPROM_CRC_ERR_CAL_RAM covers the calibration data used by the Voltage Conversion
Routine
–EEPROM_CRC_ERR_CAL_FF covers the calibration data used by the Coulomb Counting Routine
•The data loaded into RAM, everytime it is requested by the Voltage Conversion Routine and CoulombCounting Routine. In case of error, the following bit will be set:
–RAM_CRC_ERR covers the data stored in RAM
–The RAM correct functionality is guaranteed by BIST
NVM is downloaded upon first power up. Manual connection of battery cells might cause first power up failure due
to slow stack voltage increase. In such a case, NVM first download might fail. Once the device has been correctly
woken up, MCU shall check all the NVM error bit and, in case of data corruption, trimming data re-download can
be triggered by attaining to the following procedure:
1.Set trimming_retrigger = ‘1’;
2.Wait for Inter-frame Delay;
3.Set trimming_retrigger = ‘0’;
4.Check all NVM error bit to confirm trimming and calibration data integrity;
5.Wait for at least timeout_VCOM_UP_first before executing any conversion.
4.11.26FAULT heart beat
The heart beat functionality of the fault line guarantees continuous fault line integrity monitoring. Moreover,
it acts as a windowed watchdog, where every stacked device monitors its upper companion. Refer to
Section 4.3 FAULT line for further information.
DS13636 - Rev 3
page 75/184
4.11.27GND loss detection
Device is able to check a possible AGND or DGND or CGND loss detection. If one of these ground pins has
a voltage level higher than GND_LOSS_THR for a time longer than digital filter T
confirmed and latched into one among loss_agnd, loss_dgnd or loss_cgnd bit.
4.11.28Safety mechanisms summary
Table 54. Safety mechanisms summary
L9963E
Safety and diagnostic features
GND_LOSS_filter
the fault is
Category
Diagnostic
name
CellsCell UV
Cells
Balance UV
CellsCell OV
Battery
Stack
Battery
Stack
Sum Of
Cells UV
Sum Of
Cells OV
Cell
Condition
V
<
CELL
V
CELL_UV
V
<
CELL
V
BAL_UV_T
H
V
>
CELL
V
CELL_OV
V
BATT_SUM
<
V
BATT_UV_S
UM
V
BATT_SUM
>
V
BATT_OV_S
UM
Available
in
Normal,
Cyclic
Wakeup
Normal,
Cyclic
Wakeup
Normal,
Cyclic
Wakeup
Normal,
Cyclic
Wakeup
Normal,
Cyclic
Wakeup
Availability typeActions
•Set Latch
Periodic or OnDemand
Voltage
Conversion
Routine
•Raise FAULTL
•Stop balance on
involved cell
•Configuration
override
•Set Latch
Periodic or OnDemand
Voltage
Conversion
Routine
•Raise FAULTL
•Stop balance on
involved cell
•Configuration
override
Periodic or OnDemand
Voltage
Conversion
Routine
•Set Latch
•Raise FAULTL
•Configuration
override
•Set Latch
Periodic or OnDemand
Voltage
Conversion
Routine
•Raise FAULTL
•Stop balance on
whole stack
•Configuration
override
Periodic or OnDemand
Voltage
Conversion
Routine
•Set Latch
•Raise FAULTL
•Configuration
override
SPI related
fields
name
VCellx
VCELLx_U
V
threshVcell
UV
VCellx
VCELLx_B
AL_UV
SPI related
fields
descriptio
n
Measureme
nt Result
Fault Latch
UV
threshold
Measureme
nt Result
Fault Latch
Increment
Vcell_bal_
UV_delta_t
hr
in respect
to
threshVcell
UV
V
Measureme
nt Result
Fault Latch
OV
threshold
Measureme
nt Result
LSB
Measureme
nt Result
MSB
VCellx
VCELLx_O
threshVcell
OV
vsum_batt1
_0
vsum_batt1
9_2
VSUM_UV Fault Latch
VBATT_SU
M_UV_THUVthreshold
vsum_batt1
_0
vsum_batt1
9_2
Measureme
nt Result
LSB
Measureme
nt Result
MSB
Masking
Y
VCELLx_E
E
S
VCELLx_E
Y
E
S
VCELLx_B
AL_UV_MS
Y
VCELLx_E
E
S
N
O
N
O
Masking condition
N = 0
N = 0
OR
K = 1
N = 0
DS13636 - Rev 3
page 76/184
L9963E
Safety and diagnostic features
Category
Battery
Stack
Battery
Stack
Battery
Stack
Battery
Stack
Diagnostic
name
Sum Of
Cells OV
VBAT
Critical UV
VBAT
Critical OV
VBAT UV
Warning
VBAT UV
BIST
Comparator
BIST failure
Battery
Stack
VBAT OV
Warning
VBAT OV
BIST
Comparator
BIST failure
CellsCell Open
Condition
V
BATT_SUM
>
V
BATT_OV_S
UM
V
BATT_MONI
<
TOR
V
BATT_CRITI
CAL_UV_TH
V
BATT_MONI
>
TOR
V
BATT_CRITI
CAL_OV_TH
V
<
BAT
V
BAT_UV_W
for t
ARNING
>
T
VBAT_FILT
VBAT
Undervolta
ge Analog
Comparato
r BIST Fail
V
>
BAT
V
BAT_OV_W
for t
ARNING
>
T
VBAT_FILT
VBAT
Overvoltag
e Analog
Comparato
r BIST Fail
V
Cx_SERIES
>
_DROP
V
CxOPEN
Available
in
Normal,
Cyclic
Wakeup
Normal,
Cyclic
Wakeup
Normal,
Cyclic
Wakeup
Normal,
Cyclic
Wakeup
Normal,
Cyclic
Wakeup
Normal,
Cyclic
Wakeup
Normal,
Cyclic
Wakeup
Normal,
Cyclic
Wakeup
Availability typeActions
Periodic or OnDemand
Voltage
Conversion
Routine
•Set Latch
•Raise FAULTL
•Configuration
override
•Set Latch
Periodic or OnDemand
Voltage
Conversion
Routine
•Raise FAULTL
•Stop balance on
whole stack
•Configuration
override
Periodic or OnDemand
Voltage
Conversion
Routine
Always ON
•Set Latch
•Raise FAULTL
•Configuration
override
•Set Latch
•Raise FAULTL
Periodic or OnDemand
Voltage
Conversion
•Set Latch
•Raise FAULTL
Routine
Always ON
•Set Latch
•Raise FAULTL
Periodic or OnDemand
Voltage
Conversion
•Set Latch
•Raise FAULTL
Routine
Periodic or OnDemand
Voltage
Conversion
Routine
•Set Latch
•Raise FAULTL
•Configuration
override
SPI related
fields
name
VSUM_OV
SPI related
fields
descriptio
n
Fault Latch
VBATT_SU
M_OV_THOVthreshold
VBATTCRI
T_UV
VBATTCRI
T_OV
VBATT_W
RN_UV
Fault Latch
Fault Latch
Fault Latch
VBAT_CO
MP_BIST_
Fault Latch
FAIL
VBATT_W
RN_OV
Fault Latch
VBAT_CO
MP_BIST_
Fault Latch
FAIL
CELLx_OP
EN
Fault Latch
Masking
N
O
N
O
N
O
N
O
N
O
N
O
N
O
Y
VCELLx_E
E
S
Masking condition
N = 0
DS13636 - Rev 3
page 77/184
L9963E
Safety and diagnostic features
Category
BIST
BIST
Junction
Temperatu
re
Balance
Balance
Balance
BIST
Diagnostic
name
ADCV BIST
Fail
ADCV
Cross
Check Fail
IC
Overtemper
ature
Balance
Open
Balance
Short
Balancing
Secondary
Timer
Timeout
Balance
Open/Short
Comparator
BIST failure
Condition
Failure
converting
internal
reference
connected
to each
input of the
MUX
|V
–
ADCn
V
|>
ADCn+1
V
ADC_CROS
S_FAIL
Tj > T
SD
T
-
OPEN
T
NOT_OPEN
>
T
/2
BAL_OL
refer to
Balancing
open load
diagnostic
I
>
BAL
I
for
BAL_OC
t >
T
BAL_OVC_
DEGLITCH
Balancing
active for t
>
T
BAL_TIMEO
UT
Analog
Comparato
r
monitoring
PowerMOS
VDS BIST
Fail
Available
in
Normal,
Cyclic
Wakeup
Normal,
Cyclic
Wakeup
Normal,
Cyclic
Wakeup
Normal,
Cyclic
Wakeup
Normal,
Cyclic
Wakeup,
Silent
Balancing
Normal,
Cyclic
Wakeup
Normal,
Cyclic
Wakeup
Availability typeActions
•Set Latch
Periodic or OnDemand
Voltage
Conversion
Routine
•Raise FAULTL
•Stop balance on
whole stack
•Configuration
override
Periodic or OnDemand
Voltage
Conversion
Routine
•Set Latch
•Raise FAULTL
•Configuration
override
•Set Latch
Always ON
•Raise FAULTL
•Stop balance on
whole stack
Periodic or OnDemand
Voltage
Conversion
Routine
•Set Latch
•Raise FAULTL
•Configuration
override
•Set Latch
Always ON when
balance is active
•Raise FAULTL
•Stop balance on
involved cell
•Set Latch
Always ON when
balance is active
•Raise FAULTL
•Stop balance on
whole stack
Periodic or OnDemand
Voltage
Conversion
Routine
•Set Latch
•Raise FAULTL
•Stop balance on
involved cell
SPI related
fields
name
MUX_BIST
_FAIL
OPEN_BIS
T_FAIL
GPIO_BIST
_FAIL
VTREF_BI
ST_FAIL
VBAT_DIV_
BIST_FAIL
SPI related
fields
descriptio
Cx pin
measureme
nt failure
Sx and
Bx_x-1 pin
failure
GPIOx
measureme
nt failure
Failure
converting
VTREF pin
Failure
converting
VBAT pin
CELLn_OP
EN
CELLn+1_
Fault Latch
OPEN
OtchipFault Latch
N
Measureme
nt Result
Fault LatchYE
Fault LatchYE
Fault Latch
Fault Latch
for Even
TempChip
BALx_OPE
BALx_SHO
RT
EoBtimeerr
or
BIST_BAL_
COMP_HS
_FAIL
BIST_BAL_
COMP_LS
Fault Latch
for Odd
_FAIL
n
CellsY
Cells
Masking
N
O
Y
VCELLx_E
E
S
N
O
VCELLx_E
S
VCELLx_E
S
N
O
VCELLx_E
E
S
Masking condition
N = 0
N = 0
N = 0
N = 0
DS13636 - Rev 3
page 78/184
L9963E
Safety and diagnostic features
Category
Diagnostic
name
Main
BIST
Oscillator
Monitor
Failure
Standby
BIST
Oscillator
Monitor
Failure
RegulatorsVREG UV
VREG UV
BIST
Comparator
BIST failure
RegulatorsVREG OV
RegulatorsVANA OV
RegulatorsVANA UV
RegulatorsVDIG OV
RegulatorsVDIG UV
Condition
Frequency
mismatch
between
the two
oscillators
Frequency
mismatch
between
the two
oscillators
V
<
VREG
V
VREG_UV
for t >
T
VREG_FILT
VREG
Undervolta
ge Analog
Comparato
r BIST Fail
V
>
VREG
V
VREG_OV
for t >
T
VREG_FILT
V
>
VANA
V
VANA_OV
for t >
T
VANA_OV_
FILT
V
<
VANA
V
VANA_UV
for t >
T
POR_FILT
V
>
VDIG
V
VDIG_OV
for t >
T
VDIG_FILT
V
<
VDIG
V
VDIG_UV
for t >
T
POR_FILT
Available
in
Normal,
Cyclic
Wakeup
Availability typeActions
Always ON, when
enabled
•Raise FAULTL
•Set latch
Normal,
Cyclic
Wakeup,
Silent
Always ON, when
enabled
•Stop balance on
whole stack
Balancing,
Sleep
•Set Latch
Normal,
Cyclic
Wakeup
Always ON
•Raise FAULTL
•Stop balance on
whole stack
Periodic or On-
Normal,
Cyclic
Wakeup
Demand
Voltage
Conversion
•Set Latch
•Raise FAULTL
Routine
•Set Latch
Normal,
Cyclic
Wakeup
Always ON
•Raise FAULTL
•Stop balance on
whole stack
•Disable bootstrap
Normal,
Cyclic
Always ON•Set LatchVANA_OV Fault Latch
Wakeup
All statesAlways ON•POR
Normal,
Cyclic
Always ON•Set LatchVDIG_OVFault Latch
Wakeup
All statesAlways ON•POR
SPI related
fields
name
clk_mon_e
n
OSCFail
clk_mon_ini
t_done
SPI related
fields
descriptio
n
Enable Bit
Fault
Status Bit
Enable
Status Bit
VREG_UV Fault Latch
VREG_CO
MP_BIST_
Fault Latch
FAIL
VREG_OV Fault Latch
Masking
Y
clk_mon_e
E
S
N
O
N
O
N
O
N
O
N
O
N
O
N
O
N
O
Masking condition
n = 0
DS13636 - Rev 3
page 79/184
L9963E
Safety and diagnostic features
Category
Diagnostic
name
VREG OV
BIST
Comparator
BIST failure
Regulators VTREF UV
VTREF UV
BIST
Comparator
BIST failure
Regulators VTREF OV
VTREF OV
BIST
Comparator
BIST failure
RegulatorsVCOM UV
VCOM UV
BIST
Comparator
BIST failure
Regulators VCOM OV
VCOM OV
BIST
Comparator
BIST failure
GPIOGPIO Short
Condition
VREG
Overvoltag
e Analog
Comparato
r BIST Fail
V
<
VTREF
V
VTREF_UV
for t >
T
VTREF_FIL
T
VTREF
Undervolta
ge Analog
Comparato
r BIST Fail
V
>
VTREF
V
VTREF_OV
for t >
T
VTREF_FIL
T
VTREF
Overvoltag
e Analog
Comparato
r BIST Fail
V
<
VCOM
V
VCOM_UV
for t >
T
VCOM_FILT
VCOM
Undervolta
ge Analog
Comparato
r BIST Fail
V
>
VCOM
V
VCOM_OV
for t >
T
VCOM_FILT
VCOM
Overvoltag
e Analog
Comparato
r BIST Fail
GPOxon !=
GPIx for t >
T
FILT_GPIO_
ECHO
Available
in
Normal,
Cyclic
Wakeup
Normal,
Cyclic
Wakeup
Normal,
Cyclic
Wakeup
Normal,
Cyclic
Wakeup
Normal,
Cyclic
Wakeup
Normal,
Cyclic
Wakeup
Normal,
Cyclic
Wakeup
Normal,
Cyclic
Wakeup
Normal,
Cyclic
Wakeup
Normal,
Cyclic
Wakeup
Availability typeActions
Periodic or OnDemand
Voltage
Conversion
•Set Latch
•Raise FAULTL
Routine
Always ON
•Set Latch
•Raise FAULTL
Periodic or OnDemand
Voltage
Conversion
•Set Latch
•Raise FAULTL
Routine
Always ON
•Set Latch
•Raise FAULTL
Periodic or OnDemand
Voltage
Conversion
•Set Latch
•Raise FAULTL
Routine
Always ON
•Set Latch
•Raise FAULTL
Periodic or OnDemand
Voltage
Conversion
•Set Latch
•Raise FAULTL
Routine
Always ON
•Set Latch
•Raise FAULTL
Periodic or OnDemand
Voltage
Conversion
•Set Latch
•Raise FAULTL
Routine
Always ON, when
GPIO configured
as Digital Output
•Set Latch
•Raise FAULTL
•Put GPIO in HiZ
SPI related
fields
name
SPI related
fields
descriptio
n
VREG_CO
MP_BIST_
Fault Latch
FAIL
VTREF_UV Fault Latch
VTREF_M
EAS
Measureme
nt Result
VTREF_C
OMP_BIST
Fault Latch
_FAIL
VTREF_OV Fault Latch
VTREF_M
EAS
Measureme
nt Result
VTREF_C
OMP_BIST
Fault Latch
_FAIL
VCOM_UV Fault Latch
VCOM_CO
MP_BIST_
Fault Latch
FAIL
VCOM_OV Fault Latch
VCOM_CO
MP_BIST_
Fault Latch
FAIL
GPOxshort Fault LatchYE
Masking
N
O
N
O
N
O
N
O
N
O
N
O
N
O
N
O
N
O
GPIOx_CO
NFIG != 11
S
Masking condition
DS13636 - Rev 3
page 80/184
L9963E
Safety and diagnostic features
Category
Diagnostic
name
GPIOGPIO Open
GPIOGPIO OT
GPIO
GPIO Fast
Charge OT
GPIOGPIO UT
GPIO
GPIO
Incoming
Fault
Absence Of
Heartbeat
Condition
V
<
GPIO
V
GPIO_OL
V
<
GPIO
V
GPIOAN_O
T
V
<
GPIO
V
FASTCHG_
OT_TH
V
>
GPIO
V
GPIOAN_U
T
FAULTH =
1 for t >
T
FIL_H_LON
G
FAULTH =
1 for t >
T
FIL_H_SHO
RT
FAULTH =
0 for t >
1.2*T
HB_CY
CLE
Available
in
Availability typeActions
Periodic or On-
Demand
Normal,
Cyclic
Wakeup
Voltage
Conversion
Routine
Only for GPIO3-9
Periodic or On-
Demand
Normal,
Cyclic
Wakeup
Voltage
Conversion
Routine
Only for GPIO3-9
Periodic or On-
Demand
Normal,
Cyclic
Wakeup
Voltage
Conversion
Routine
Only for GPIO3-9
Periodic or On-
Demand
Normal,
Cyclic
Wakeup
Voltage
Conversion
Routine
Only for GPIO3-9
Normal,
Cyclic
Wakeup,
Silent
Always ON
Balancing,
Sleep
NormalAlways ON
•Set Latch
•Raise FAULTL
•Configuration
override
•Set Latch
•Raise FAULTL
•Configuration
override
•Set Latch
•Raise FAULTL
•Configuration
override
•Set Latch
•Raise FAULTL
•Configuration
override
•Set Latch
•Raise FAULTL
•Set Latch
•Raise FAULTL
SPI related
fields
name
GPIOx_OP
EN
GPIO_OT_
TH
SPI related
fields
descriptio
n
Fault LatchYE
OT
threshold
GPIOx_OT Fault Latch
GPIOx_MEASMeasureme
nt Result
Increment
Gpio_fastc
hg_OT_delt
a_thr
in respect
to
GPIO_OT_
TH
GPIOx_fast
chg_OT
Fault Latch
GPIOx_MEASMeasureme
nt Result
GPIO_UT_
TH
UT
threshold
GPIOx_UT Fault Latch
GPIOx_MEASMeasureme
nt Result
FaultHline_
fault
HeartBeat_
fault
Fault Latch
Fault Latch
Masking
GPIOx_CO
NFIG != 00
S
GPIOx_CO
NFIG != 00
Y
E
S
Gpiox_OT_
UT_MSK =
GPIOx_CO
NFIG != 00
Y
E
S
Gpiox_fastc
hg_OT_MS
GPIOx_CO
NFIG != 00
Y
E
S
Gpiox_OT_
UT_MSK =
HeartBeat_
Y
FaultH_EN
E
S
FaultH_EN
HeartBeat_
Y
E
S
FaultH_EN
Masking condition
OR
1
OR
K = 1
OR
1
En = 0
OR
= 0
= 0
En = 0
OR
= 0
DS13636 - Rev 3
page 81/184
L9963E
Safety and diagnostic features
Category
Coulomb
Counter
Coulomb
Counter
Coulomb
Counter
Coulomb
Counter
BIST
BIST
Diagnostic
name
CSA Open
OC Sleep
OC Normal
Sample
Counter or
Accumulator
Overflow
Bandgap
Monitor Fail
EEPROM
Checksum
Failure
Condition
ISENSEP
V
V
PEN_TH
>
ISENSEP_O
for t
>
T
CURR_SEN
SE_OPEN_FI
LTER
OR
V
ISENSEM
V
ISENSEM_
for
OPEN_TH
t >
T
CURR_SEN
SE_OPEN_FI
LTER
I
>
SENSE
I
CURR_SENS
E_OC_SLEEP
I
>
SENSE
I
CURR_SENS
E_OC_NORM
CoulombC
ntTime
overflows
OR
CoulombC
ounter_ms
b overflows
One
Bandgap
Reference
shifts too
much in
respect to
the other
An
unwanted
change in
EEPROM
data
occurred
Available
in
Availability typeActions
Normal,
Always ON
Always ON in the
duty phase
>
Cyclic
Wakeup
Cyclic
Wakeup
NormalAlways ON
NormalAlways ON
Normal,
Cyclic
Always ON•POR
Wakeup
Trimming,
Normal
Upon EEPROM
Download
•Set Latch
•Raise FAULTL
•Set Latch
•Raise FAULTL
•Set Latch
•Raise FAULTL
•Set Latch
•Raise FAULTL
•Set Latch
•Stop balance on
whole stack
SPI related
fields
name
sense_plus
_open
sense_min
us_open
curr_sense
_ovc_sleep
CUR_INST
_calib
adc_ovc_c
urr_thresho
ld_sleep
curr_sense
_ovc_norm
CUR_INST
_calib
adc_ovc_c
urr_thresho
ld_norm
SPI related
fields
descriptio
n
Fault Latch
Fault Latch
Fault Latch
Measureme
nt Result
OC
Threshold
Fault Latch
Measureme
nt Result
OC
Threshold
CoCouOvF Fault Latch
EEPROM_
CRC_ERR
Fault Latch
_SECT_0
EEPROM_
CRC_ERR
Fault Latch
_CAL_RAM
Masking
Y
CoulombCo
E
unter_en =
S
CoulombCo
unter_en =
Y
E
S
ovc_sleep_
CoulombCo
unter_en =
Y
E
S
ovc_norm_
N
O
N
O
EEPROM_
Y
CRC_ERR
E
MSK_SEC
S
Masking condition
0
0
OR
msk = 1
0
OR
msk = 1
T_0 = 1
DS13636 - Rev 3
page 82/184
L9963E
Voltage conversion routine
Category
BIST
BIST
BIST
BIST
Diagnostic
name
EEPROM
Checksum
Failure
RAM
Checksum
Failure
AGND and
GNDREF
Loss
DGND /
CGND Loss
Condition
An
unwanted
change in
EEPROM
data
occurred
An
unwanted
change in
RAM data
occurred
Loss of
both AGND
and
GNDREF
in respect
to DGND,
lasting
more than
TGND_LO
SS_FILTE
R
A ground
shift among
AGND, and
DGND, or
AGND and
CGND,
lasts more
than
TGND_LO
SS_FILTE
R
Available
in
Trimming,
Normal
Normal,
Cyclic
Wakeup
Normal,
Cyclic
Wakeup
Normal,
Cyclic
Wakeup
Availability typeActions
Upon EEPROM
Download
Always ON
Always ON
Always ON
•Set Latch
•Stop balance on
whole stack
•Set Latch
•Stop balance on
whole stack
•Set Latch
•Raise FAULTL
•Set Latch
•Raise FAULTL
SPI related
fields
name
EEPROM_
CRC_ERR
_CAL_FF
RAM_CRC
_ERR
loss_agndFault Latch
loss_dgndFault Latch
loss_cgnd
SPI related
fields
descriptio
n
Fault Latch
Fault Latch
Fault Latch
Masking
EEPROM_
CRC_ERR
MSK_CAL_
Y
RAM = 1
E
EEPROM_
S
CRC_ERR
MSK_CAL_
Y
RAM_CRC
E
_ERRMSK
S
N
O
N
O
Masking condition
FF = 1
= 1
4.12Voltage conversion routine
L9963E implements a flexible voltage conversion routine, whose main goals are:
•Providing on-demand information about the cells voltage, the stack voltage and the cell temperature;
•Providing on-demand diagnostic information about the device functionality;
•Periodically monitoring the cells and the stack status, along with the device functionality;
•Limit the power consumption by activating only the necessary resources;
•Automatically validate any eventual failure detected during the routine execution.
The following parameters play a key role in the definition of the voltage routine behavior:
DS13636 - Rev 3
•T
CYCLEADC
ADC_FILTER_SOC (for On-Demand Conversions in Normalst ate) and ADC_FILTER_CYCLE (for cyclic
operation in both Normal and Cyclic Wakeup states) bit fields. Available values are listed in Table 38:
–T
refers to the duration of a voltage conversion step. It can be programmed via the
CYCLEADC_XXX
refers to a fixed option of T
conversion;
CYCLEADC
, thus implying a fixed duration for the voltage
page 83/184
•TCYCLE refers to the internal counter determining the routine period (sum of active and idle phases). It
can be programmed via the TCYCLE (for operation in Normal state) and TCYCLE_SLEEP (for operation in
Cyclic Wakeup state) bit fields. Available values are listed in Table 68:
–T
ROUTINE
steps have scheduled for execution and their duration;
–DUTY_ON is a flag set during the active phase, that is during T
execution mode;
–The idle phase lasts TCYCLE - T
T
ROUTINE
–TCYCLE_OVF is a latch set when T
an overflow because leads to duty-cycle saturation (100%);
•NCYCLE refers to the internal counter that is incremented by one every time a routine period ends. It is
useful for scheduling optional step execution every X cycles.
–NCYCLE_X refers to a threshold specifying the X-th step periodicity. It can be programmed
independently for each step via SPI (e.g. NCYCLE_GPIO = ‘010’ specifies that GPIO conversion must
take place every 4 cycles). Refer to Section 4.12.4 Operations periodicity for all the available options.
4.12.1Routine structure
The voltage conversion routine is structured as follows:
L9963E
Voltage conversion routine
refers to the duration of the active phase. It’s a variable time interval depending on how many
independently on the routine
/ TCYCLE;
ROUTINE
ROUTINE
ROUTINE ,
. Hence the routine duty-cycle is represented by the ratio
> TCYCLE. This anomalous situation is often referred to
Figure 22. Voltage conversion routine
The steps are organized as follows:
•Mandatory checks: they are fixed and cannot be excluded. They perform main operations such as Cells and
VBAT measurement;
–Balance is paused if BAL_AUTO_PAUSE = 1.
•Optional checks: they can be excluded or periodically executed. Each step periodicity can be configured
independently via its NCYCLE_X bit field (e.g. the NCYCLE_GPIO field programs the cyclic execution of the
GPIO conversion);
–Steps involving the GPIOs do not affect balancing.
–Steps involving Cell Terminal, Balance Terminal and HWSC require balance to be stopped
independently on the BAL_AUTO_PAUSE value.
In case balance is paused during a step, balance timer is frozen if BAL_TIM_AUTO_PAUSE = 1, otherwise it
keeps running even if balance operation is temporarily interrupted. Refer to Figure 25 in order to understand the
functionality of BAL_AUTO_PAUSE and BAL_TIM_AUTO_PAUSE bit.
Refer to Figure 25 for a graphic example of the BAL_AUTO_PAUSE and BAL_TIM_AUTO_PAUSE bit.
DS13636 - Rev 3
page 84/184
L9963E
Voltage conversion routine
Depending on the wire length of the cell wires connected to the PCB, some inductive spikes might be seen
when interrupting the balancing, prior to “Cells” step of the Voltage Conversion Routine. These spikes can be a
source of inaccuracy, especially if Cx pins are filtered using high values for RLPF (e.g. 3 kΩ), requiring a relatively
high settling time. It is possible to specify a settling time T
CELL_SET
field. Upon Start Of Conversion (SOC) event, L9963E will wait for T_CELL_SET before starting the VoltageConversion Routine. Such a settling time is only enabled if BAL_AUTO_PAUSE = 1. In order to keep
synchronization with the Coulomb Counting Routine, the Cells step might be additionally delayed in order
to align with the first useful current sample. In the worst case, the total delay is T_CELL_SET + T
The VTREF regulator is normally used for temperature sensing applications, involving the GPIO steps of the
routine. To save current, it can be dynamically enabled only when needed, according to the following table:
Table 55. VTREF opeating modes
VTREF_EN VTREF_DYN_ENVTREF Regulator behavior
00(Default). VTREF regulator disabled
01VTREF regulator disabled
10VTREF regulator permanently enabled
VTREF regulator dynamically enabled. The regulator is normally OFF. It is enabled at each
11
Start Of Conversion (SOC) event (either on-demand or cyclic), with a settling time T
in respect to the Cells step of the Voltage Conversion Routine. The regulator is kept
enabled until the last step of the routine (HWSC) has been performed.
by programming the T_CELL_SET SPI
CYCLEADC_CUR
CELL_SET
.
Due to flexibility, routine execution time TROUTINE is not fixed. It depends on the programmed voltage
acquisition window (either ADC_FILTER_SOC or ADC_FILTER_CYCLE depending on the conversion type) and
the number of steps scheduled for execution (see Section 4.12.4 Operations periodicity).
Voltage conversion routine duration
= 2
= 4
, ℎℎ
+ 5
_000
4.12.2Routine execution modes
The voltage conversion routine can be executed in three different ways according to microcontroller commands.
The different modes are mutually exclusive: only one routine execution at a time is allowed and multiple threads
are not supported.
+ 2
_
+ 2
_
+
__
, ℎℎ
(14)
DS13636 - Rev 3
page 85/184
Voltage conversion routine
Figure 23. Routine execution modes: on-demand and cyclic executions
L9963E
The execution modes follow a priority concept:
•Configuration Override has high priority, since its purpose is to perform diagnostics upon failure detection
in order to validate the catch. It can interrupt any ongoing activity and, once done, Voltage conversion
routine is moved to Idle state, waiting for the microcontroller to interpret the diagnostic data[end]
•On-Demand Conversions have low priority. They are meant to allow microcontroller performing
measurements or diagnostics at specific time instants. They cannot co-exist with Cyclic Conversions:
to run an on-demand conversion, cyclic conversions have to be disabled and MCU has to wait for their
termination (monitor the DUTY_ON flag). On the other hand On-Demand Conversions cannot interrupt
themselves, nor a Configuration Override[end]
•Cyclic Conversionshave low priority. Their purpose is mainly to monitor battery pack and L9963E status.
However, they can also be used to periodically retrieve measurement data. They can be interrupted by
Configuration Override. They cannot co-exist with On-Demand Conversions: before enabling cyclic
conversions, MCU must wait for any ongoing on-demand conversion to end first (monitor the DUTY_ON
flag).
In general, microcontroller is able to determine L9963E activity by performing a read operation on the
ADCV_CONV register and observing the following bit:
Table 56. Voltage conversion routine status
SOC (status
upon readback)
0000Idle
0001Not possible
0010Cyclic activity, (idle phase)
0011Cyclic activity, (duty phase)
0100Idle (last execution set the override latch)
0101Not possible
OVR_LATCH CONF_CYCLIC_EN DUTY_ONDevice status
DS13636 - Rev 3
page 86/184
L9963E
Voltage conversion routine
SOC (status
upon readback)
0110
0111
1000Not possible
1001On-demand conversion
1010Not possible
1011
1100Not possible
1101On-demand conversion after a fault was detected
1110Not possible
1111
OVR_LATCH CONF_CYCLIC_EN DUTY_ONDevice status
Cyclic activity locked in idle phase after the end of
override: MCU must set CONF_CYCLIC_EN = 0 and
then run a SOC
Fault detected during cyclic activity with override still
ongoing
On-demand conversion interrupting a cyclic one (must
be avoided since results may not be reliable)
On-demand conversion interrupting a cyclic one. Failure
detected during the on-demand conversion (must be
avoided since results may not be reliable)
The following FSM describes the functionality and the transitions between the different operating modes of the
voltage conversion routine.
DS13636 - Rev 3
page 87/184
Voltage conversion routine
Figure 24. Equivalent FSM behavior of the voltage conversion routine
L9963E
4.12.2.1On-Demand conversions
To start On-Demand Conversions, the user must set SOC = 1 in the ADCV_CONV register: in case the
Coulomb Counting Routine is enabled, everytime an on-demand voltage conversion is requested by setting
SOC = 1, the actual conversion start is delayed until the first useful current conversion takes place. This
allows a perfect synchronization between voltage and current samples, but might result in a maximum delay
of T
CYCLEADC_CUR
, that must be taken into account by user SW and added to the recommended T
Table 38.
•Cell Conversion and VBAT Conversion step are always executed
•GPIO Conversion is executed only if GPIO_CONV = 1 in the same SPI frame
•GPIO Terminal Diagnostics is executed only if GPIO_TERM_CONV = 1 in the same SPI frame
•Cell Terminal Diagnostics is executed only if CELL_TERM_CONV = 1 in the same SPI frame
•Balance Terminal Diagnostics is executed only if BAL_TERM_CONV = 1 in the same SPI frame
•HardWare Self-Check (HWSC) is executed only if HWSC = 1 in the same SPI frame
Once set, SOC stays high until the conversion routine ends (refer to for the routine duration T
it is internally reset. While SOC is high, any attempt to perform an on-demand conversion will be discarded. A
feedback on the on-demand conversion status can be retrieved via the DUTY_ON flag. Setting any of the optional
bit without setting SOC in the same SPI frame has no effect: conversion will not be started.
The user can select the desired voltage acquisition window (T
fielding the ADCV_CONV register.
DS13636 - Rev 3
CYCLEADC
DATA_READY
ROUTINE
), then
in
) by programming the ADC_FILTER_SOC
page 88/184
Registers containing measurement results are updated as soon as the related conversion step is over, so they are
available before T
ROUTINE
when a new measurement incomes and is reset upon a data read operation.
Upon an on-demand conversion (SOC), the first step of the voltage conversion routine (cell measurement) is
delayed until the first available current conversion start pulse comes. Hence, the cell measurement will start
synchronously with the current sample acquisition. This technique is effective only choosing the shortest filter
option for voltage conversion routines (T
On-Demand Conversions have lower priority than Configuration Override. When SOC 0 → 1:
•If a Configuration Override is ongoing, it won’t be affected by SOC command. Therefore SOC,
GPIO_CONV and DIAG bit will be discarded and kept ‘0’.
4.12.2.2Cyclic conversions
To start Cyclic Conversions, the user must set CONF_CYCLIC_EN = 1 in the ADCV_CONV register. The
ADC_FILTER_CYCLE determines the duration of the routine steps. Cyclic Conversions activity can be used for
both diagnostic and measurement purposes:
•In case the routine is only intended for diagnostic purposes, the user may program CYCLIC_UPDATE= 0. This setting will cause any conversion result to be used only for internal comparisons. Data will be
subsequently discarded and registers containing measurement results won’t be updated.
•In case measurement results are important, the user may program CYCLIC_UPDATE = 1, thus causing
measurement registers update upon each step completion, as for On-Demand Conversions. Be aware that
results of a previous on-demand conversion might be overwritten by the ones of cyclic executions.
Two counters are implemented for driving the cyclic execution:
•TCYCLE is an SPI programmable timer accounting for cycle period. User can program the TCYCLE field in
the ADCV_CONV register.
•NCYCLE is an internal counter, incremented by 1 every time TCYCLE expires: it counts the number of
cycles executed. It works in conjunction with the NCYCLE_X parameters to determine the periodicity of
each routine step (refer to Section 4.12.4 Operations periodicity). In general, each step is executed if its
NCYCLE_X parameter is different than 0.
TCYCLE and NCYCLE shall not be updated while Cyclic Conversions are ongoing: routine must be first
disabled by programming CONF_CYCLIC_EN = 0 and then re-enabled once all configuration parameters have
been updated.
Such counters are started/stopped upon FSM transitions. The following table summarizes all events involving the
two timers:
L9963E
Voltage conversion routine
ends. Each measurement register contains a d_rdy_xx (data ready) bit, which is set
CYCLEADC_000
).
Table 57. Summary of the NCYCLE and TCYCLE events
Event
Routine active phase
(T
Routine idle phaseFrozenCountingNo step is being performed
TCYCLE expirationNCYCLE = NCYCLE + 1 Restarted from 0Routine restarted from first step
CONF_CYCLIC_EN → 1no actionReset and start from 0
CONF_CYCLIC_EN 1 → 0
ROUTINE
)
NCYCLETCYCLEEffect on routine
FrozenCountingSteps are being performed
Routine initialized and started. See
Table 58 for additional information
Wait for idle phase
(DUTY_ON 1 → 0), then
Stop and Reset
Wait for idle phase
(DUTY_ON 1 → 0), then
Stop and Reset
Routine disabled and reset after
the active phase completion. See
Table 58 for additional information
DS13636 - Rev 3
page 89/184
Figure 25. Example of routine execution in normal mode
L9963E
Voltage conversion routine
During a TCYCLE, the DUTY_ON flag is set when the routine is in the active phase (during TROUTINE), while it
is reset during the remaining idle time. It reflects the duty-cycle of the cyclic routine:
DUTY_ON flag duty-cycle during a cyclic execution
=
× 100
Programming a T
ROUTINE
_
ℎℎ%
longer than TCYCLE is not recommended. Routine will behave like continuous mode,
even if not explicitly set.
In order to program a continuous execution the user must set CYCLIC_CONTINUOUS = 1 before enabling the
cyclic mode (CONF_CYCLIC_EN = 1).
Table 58. Focus on routine enable/disable and continuous mode activation/deactivation
CONF_CYCLIC_EN
1 → 00
1 → 01
0 → 10Routine is started with TCYCLE periodicity.
0 → 11Routine is started in continuous mode. NCYCLE started.
0X
CYCLIC_CONTINUOUSEffect on routine
Any ongoing routine is disabled once the active phase of the current cycle is
completed (DUTY_ON 1 → 0). Setting-Resetting CONF_CYCLIC_EN while
DUTY_ON = 1 is considered as a glitch and will be discarded. Refer to
Figure 25.
The routine is disabled after the last enabled step of the cycle has been
executed (upon T
Changing CYCLIC_CONTINUOUS while the routine is disabled has no
effect.
ROUTINE
completion).
(15)
DS13636 - Rev 3
While in continuous mode, TCYCLE is ignored and the periodicity will be given by TROUTINE. NCYCLE will be
incremented upon each routine completion (every T
ROUTINE
).
The following table lists sampling intervals for the configuration parameters related to the cyclic functionality. It
is useful to understand when the new settings will be applied after they have been modified during an on-going
activity.
page 90/184
Table 59. Sampling intervals for the configuration parameters related to cyclic functionality
ParameterNormal modeContinuous mode
CONF_CYCLIC_ENContinuously sampled while DUTY_ON = 0Every TROUTINE
ADC_FILTER_CYCLEEvery TCYCLEEvery TROUTINE
CYCLIC_CONTINUOUSEvery TCYCLEEvery TROUTINE
BAL_TIM_AUTO_PAUSEEvery TCYCLEEvery TROUTINE
BAL_AUTO_PAUSEEvery TCYCLEEvery TROUTINE
CYCLIC_UPDATEEvery TCYCLEEvery TROUTINE
NCYCLE_XEvery TCYCLEEvery TROUTINE
4.12.2.3Configuration override
The Configuration Override is a special routine execution mode, which is internally triggered by failure
assertion, independently on the conversion type. It is meant to simplify failure validation and it works according to
the following algorithm.
If a failure is asserted at the x-th routine step, all the following steps will be performed, independently on
their activation or periodicity. Any failure detected during these steps will be latched and available for the
microcontroller to perform failure validation (refer to Figure 26).
•Finding the OVR_LATCH set means that override occurred:
–The OVR_LATCH is set upon failure assertion during the routine execution.
–The OVR_LATCH is released and can be cleared upon read in case the last on-demand execution has
ended without any failure detected (even if failures detected by previous executions are still latched in
diagnostic registers).
–All fault latches related to measurement registers (e.g. CELLx_UV/OV, GPIO UT/OT, etc.) cannot be
cleared until a new conversion is executed and the root cause fault has disappeared. To understand
the fault status of the last routine execution the MCU SW should observe the OVR_LATCH.
•In case cyclic mode was activated, routine is not restarted after a Configuration Override. The
OVR_LATCH masks the CONF_CYCLIC_EN configuration. This helps locking the routine status, allowing
the MCU to intervene and observe the snapshot of the last execution.
•Once Configuration Override is over (DUTY_ON 1 → 0), the voltage conversion routine is kept in idle,
waiting for microcontroller to read diagnostic registers and validate the failure.
•The following fault handling procedure must be executed once configuration override is over:
1.MCU must access diagnostic latches and perform correct failure validation as recommended in
Table 60.
2.MCU must launch On-Demand Conversions (SOC = 1) in order to update measurement registers,
while also disabling any cyclic execution by setting CONF_CYCLIC_EN = 0 in the same SPI frame.
3.MCU must wait for On-Demand Conversions to be over and evaluate routine result by reading the
ADCV_CONV register. A read operation on such a register would reset the OVR_LATCH in case the
execution launched at step 2 ended with no failure:
◦In case failure persists, the read operation will not reset the OVR_LATCH. Return to step 1.
◦In case failure disappeared, reading the ADCV_CONV register will also reset the OVR_LATCH.
Proceed to step 4.
4.Read all diagnostic latches in order to clear them.
5.(Optional) Restart any cyclic execution by setting CONF_CYCLIC_EN = 1
Writing ADCV_CONV and NCYCLE_PROG_X registers during a Configuration Override is strongly not
recommended, since it might affect the failure validation. The configuration override is performed keeping the
same ADC filter settings programmed for the execution mode that was being executed. For instance, if it
occurs during On-Demand Conversions, the ADC_FILTER_SOC will be used; in case it interrupts CyclicConversions, the ADC_FILTER_CYCLE or the ADC_FILTER_SLEEP will be used, depending on the device
status. Microcontroller is able to detect the Configuration Override activity by polling the voltage conversion
routine status as shown in Table 56.
The steps of the voltage conversion routine have been arranged in a fixed order, engineered to allow failure
validation in every possible scenario thanks to the Configuration Override capability:
L9963E
Voltage conversion routine
DS13636 - Rev 3
page 91/184
Table 60. Failure validation table
L9963E
Voltage conversion routine
Failure type
Cell UV/OV
Sum of cells UV/OV
Balance UV
VBAT UV/OV
GPIO UT/OT
Fast Charge OT
Cell openHWSCIs measurement reliable?
GPIO open
Balance openHWSCComparators must have correctly flagged open
PCB Connector open Balance open
HWSC
What to check for
validation
Sum of cellsIs the sum of cells coherent with a cell UV/OV failure?
Balance UVIf a cell UV is detected, then also balance UV should be flagged
Cx OpenNot measuring actual cell voltage
Balance openPCB connector to a cell might have been lost
HWSCIs measurement reliable?
VBAT direct conversionIs the VBAT direct conversion close to the sum of cells?
Cell UV/OVIs there at least one cell in UV/OV condition?
Cx OpenNot measuring actual cell voltage
HWSCIs measurement reliable?
Cell UVIf a Cell UV is flagged, then it’s much worse than simple balance UV
Cx OpenNot measuring actual cell voltage
Balance openPCB connector to cell might have been lost
HWSCIs measurement reliable?
Cell UV/OVIf no cell is UV/OV, then it’s not plausible
Sum of CellsDoes the sum of cells confirm the UV/OV event?
VBAT direct conversion
and monitor
Cx OpenSumming wrong Cx contributions
HWSCIs measurement reliable?
GPIO openNot measuring actual load voltage
HWSCIs measurement reliable?
VTREFIs the VTREF regulator working properly?
GPIO openNot measuring actual load voltage
HWSCIs measurement reliable?
VTREFIs the VTREF regulator working properly?
GPIO UT/OT
HWSCIs measurement reliable?
VTREFIs the VTREF regulator working properly?
VREG UV/OV
VBAT UV/OV
Is the conversion value actually reporting an OV/UV? Or is it just a transient
OV/UV (as per VDA)?
If connection to the external NTC is lost at the PCB connector, the GPIO will
be pulled up to VTREF, thus causing GPIO UT detection. On the other hand,
if the connection is lost at the device pin, the GPIO open internal diagnostic
circuitry will detect it.
In case PCB connector to CELLx is open, then BALx and BALx+1 open
failures will be flagged
BIST may have failed because supply is not in range. Checking VBAT and
UV/OV comparators functionality is recommended.
Reason
DS13636 - Rev 3
page 92/184
L9963E
Voltage conversion routine
Figure 26. Example of configuration override: a failure detected during Cell Terminal diagnostics (yellow
background) causes the two following steps (red background) to be executed
4.12.3Routine steps
The following paragraph will cover the functionality of each step embedded in the voltage conversion routine.
4.12.3.1Cell conversion
Cell conversion is the first step of the voltage conversion routine. It is mandatory, meaning that it cannot be
excluded from routine execution, neither in On-Demand Conversions nor in Cyclic Conversions.
During this step, all the enabled cells will be converted and their voltage will be add to obtain total stack value.
Table 61. Operations performed during cell conversion step
OperationSkip condition
C1-C0VCELL1_EN = 0
C2-C1VCELL2_EN = 0
C3-C2VCELL3_EN = 0
C4-C3VCELL4_EN = 0
C5-C4VCELL5_EN = 0
C6-C5VCELL6_EN = 0
C7-C6VCELL7_EN = 0
C8-C7VCELL8_EN = 0
C9-C8VCELL9_EN = 0
DS13636 - Rev 3
page 93/184
L9963E
Voltage conversion routine
OperationSkip condition
C10-C9VCELL10_EN = 0
C11-C10VCELL11_EN = 0
C12-C11VCELL12_EN = 0
C13-C12VCELL13_EN = 0
C14-C13VCELL14_EN = 0
The step duration is not fixed, since it lasts TCYCLEADC, thus depending on the value programmed in the
ADC_FILTER_SOC or ADC_FILTER_CYCLE fields (refer to Table 38).
The following failures can be flagged during cell conversion step execution, thus causing ConfigurationOverride:
•VCELLX_UV: if the voltage of the x-th cell is lower than the programmed UV threshold (V
CELL_UV
•VCELLX_OV: if the voltage of the x-th cell is higher than the programmed OV threshold (V
•VSUM_OV: if summing all cells voltage the outcome is higher than the programmed OV threshold (V
)
(SUM)
•VSUM_UV: if summing all cells voltage the outcome is lower than the programmed UV threshold (V
)
(SUM)
•VCELLX_BAL_UV (maskable): if the voltage of the x-th cell is lower than the programmed balance UV
threshold (V
CELL_UV
+ V
CELL_BAL_UV_ Δ
)
CELL_OV
)
)
BAT_OV
BAT_UV
4.12.3.2VBAT conversion
VBAT pin conversion is the second step of the voltage conversion routine. It is mandatory, meaning that it cannot
be excluded from routine execution, neither in On-Demand Conversions nor in Cyclic Conversions.
During this step, the voltage on VBAT pin will be converted.
The step duration is not fixed, since it lasts TCYCLEADC, thus depending on the value programmed in the
ADC_FILTER_SOC or ADC_FILTER_CYCLE fields (refer to Table 38).
The following failures can be flagged during VBAT conversion step execution, thus causing ConfigurationOverride:
•VBATTCRIT_OV: if the voltage converted is higher than the V
•VBATTCRIT_UV: if the voltage converted is lower than the V
4.12.3.3GPIO conversion
GPIO conversion is the third step of the voltage conversion routine.
L9963E allows possible to provide either the absolute conversion or the ratiometric conversion in respect to
VTREF_MEAS, based on GPIOx dedicated R/W SPI register bits ratio_abs_x_sel.
This step is optional:
•To include it in On-Demand Conversions, the GPIO_CONV bit must be set along with the SOC in the same
SPI frame.
•To specify its periodicity in Cyclic Conversions, the NCYCLE_GPIO field must be programmed (refer to
Operations Periodicity).
During this step, all the GPIO configured as analog inputs will be converted.
BAT_CRITICAL_OV_TH
BAT_CRITICAL_UV_TH
.
.
Table 62. Operations performed during GPIO conversion step
DS13636 - Rev 3
OperationSkip condition
GPIO1Always
GPIO2Always
GPIO3GPIO3_CONFIG != 00
GPIO4GPIO4_CONFIG != 00
page 94/184
OperationSkip condition
GPIO5GPIO5_CONFIG != 00
GPIO6GPIO6_CONFIG != 00
GPIO7GPIO7_CONFIG != 00
GPIO8GPIO8_CONFIG != 00
GPIO9GPIO9_CONFIG != 00
L9963E
Voltage conversion routine
The step duration is fixed: it lasts T
The following failures can be flagged during GPIO conversion step execution, thus causing ConfigurationOverride:
•GPIOX_OT: if the converted voltage is lower than the programmed UV/OT threshold (V
•GPIOX_UT: if the converted voltage is higher than the programmed OV/UT threshold (V
•GPIOX_fastchg_OT: if the converted voltage is lower than the programmed fast charge UV/OT
threshold (V
GPIOAN_OT
(Gpiox_fastchg_OT_MSK).
4.12.3.4GPIO terminal diagnostics
GPIO terminal diagnostics is the fourth step of the voltage conversion routine. It is optional:
•To include it in an On-Demand Conversions, the GPIO_TERM_CONV bit must be set along with the SOC
in the same SPI frame.
•To specify its periodicity in Cyclic Conversions, the NCYCLE_GPIO_TERM field must be programmed
(refer to Section 4.12.4 Operations periodicity).
During this step, the GPIO open diagnostic will be performed on all GPIOs configured as analog inputs.
Table 63. Operations performed during GPIO terminal diagnostics step
OperationSkip condition
GPIO1 OpenAlways
GPIO2 OpenAlways
GPIO3 OpenGPIO3_CONFIG != 00
GPIO4 OpenGPIO4_CONFIG != 00
GPIO5 OpenGPIO5_CONFIG != 00
GPIO6 OpenGPIO6_CONFIG != 00
GPIO7 OpenGPIO7_CONFIG != 00
GPIO8 OpenGPIO8_CONFIG != 00
GPIO9 OpenGPIO9_CONFIG != 00
CYCLEADC_000
+ V
GPIO_FASTCH_OT_DELTA
(refer to Table 38).
); this function can be masked with a dedicated bit
GPIOAN_OT
GPIOAN_UT
).
).
The step duration is fixed: it lasts T
The following failures can be flagged during GPIO terminal diagnostics step execution, thus causing
Configuration Override:
•GPIOX_OPEN: if V
GPIO
4.12.3.5Cell terminal diagnostics
Cell terminal diagnostics is the fifth step of the voltage conversion routine. It is optional and its execution mode
depends on the ADC_CROSS_CHECK bit (refer to Cell open wire diagnostic for further information):
•To include it in On-Demand Conversions, the CELL_TERM_CONV bit must be set along with the SOC in
the same SPI frame.
•To specify its periodicity in Cyclic Conversions, the NCYCLE_CELL_TERM field must be programmed
(refer to Section 4.12.4 Operations periodicity).
DS13636 - Rev 3
GPIO_OPEN_SET
< V
GPIO_OL
while I
+ T
CYCLEADC_000
GPIO_PD_OPEN
(refer to Table 38).
is applied
page 95/184
During this step, the cell terminal open diagnostic will be performed on all enabled cells.
Table 64. Operations performed during cell terminal diagnostics step
OperationSkip condition
C0 OpenVCELL1_EN = 0
C1 OpenVCELL1_EN = 0
C2 OpenVCELL2_EN = 0
C3 OpenVCELL3_EN = 0
C4 OpenVCELL4_EN = 0
C5 OpenVCELL5_EN = 0
C6 OpenVCELL6_EN = 0
C7 OpenVCELL7_EN = 0
C8 OpenVCELL8_EN = 0
C9 OpenVCELL9_EN = 0
C10 OpenVCELL10_EN = 0
C11 OpenVCELL11_EN = 0
C12 OpenVCELL12_EN = 0
C13 OpenVCELL13_EN = 0
C14 OpenVCELL14_EN = 0
L9963E
Voltage conversion routine
The step duration is not fixed, since it lasts 2*(T
programmed in the ADC_FILTER_SOC or ADC_FILTER_CYCLE fields (refer to Table 38).
The following failures can be flagged during cell terminal diagnostics step execution, thus causing ConfigurationOverride:
•CELLX_OPEN: for all enabled cells, if the voltage drop on the path in series to the Cx pin becomes higher
than VCxOPEN.
4.12.3.6Balance terminal diagnostics
Balance terminal diagnostics is the sixth step of the voltage conversion routine. It is optional:
•To include it in On-Demand Conversions, the BAL_TERM_CONV bit must be set along with the SOC in
the same SPI frame.
•To specify its periodicity in Cyclic Conversions, the NCYCLE_BAL_TERM field must be programmed (refer
to Section 4.12.4 Operations periodicity).
During this step, the balance terminal open diagnostic will be performed on all enabled cells.
Table 65. Operations performed during balance terminal diagnostics step
B2_1 – S1 Open / ShortVCELL1_EN = 0
S2 – B2_1 Open / ShortVCELL2_EN = 0
B4_3 – S3 Open / ShortVCELL3_EN = 0
S4 – B4_3 Open / ShortVCELL4_EN = 0
B6_5 – S5 Open / ShortVCELL5_EN = 0
S6 – B6_5 Open / ShortVCELL6_EN = 0
B8_7 – S7 Open / ShortVCELL7_EN = 0
S8 – B8_7 Open / ShortVCELL8_EN = 0
CxOPEN_SET
OperationSkip condition
+ T
CYCLEADC
), thus depending on the value
DS13636 - Rev 3
page 96/184
OperationSkip condition
B10_9 – S9 Open / ShortVCELL9_EN = 0
S10 – B10_9 Open / ShortVCELL10_EN = 0
B12_11 – S11 Open / ShortVCELL11_EN = 0
S12 – B12_11 Open / ShortVCELL12_EN = 0
B14_13 – S13 Open / ShortVCELL13_EN = 0
S14 – B14_13 Open / ShortVCELL14_EN = 0
The step duration is fixed: it lasts 2*TBAL_OL.
The following failures can be flagged during balance terminal diagnostics step execution, thus causing
Configuration Override:
•BALX_OPEN: if the voltage drop on the VDS of the balance power MOS of becomes lower than V
4.12.3.7Hardware Self-Check (HWSC)
HWSC is the seventh step of the voltage conversion routine. It is optional:
•To include it in On-Demand Conversions, the HWSC bit must be set along with the SOC in the same SPI
frame.
•To specify its periodicity in Cyclic Conversions, the NCYCLE_HWSC field must be programmed (refer to
Section 4.12.4 Operations periodicity).
During this step, a BIST will be executed on enabled analog conversion paths to verify the functionality of the
ADC chain. Analog comparators used for UV/OV detection and diagnostics will also be checked.
0111.6 s3.2 s6.4 s12.8 s25.6 s51.2 s102.4 s204.8 s
1006.4 s12.8 s25.6 s51.2 s102.4 s204.8 s409.6 s819.2 s
10112.8 s25.6 s51.2 s102.4 s204.8 s409.6 s819.2 s1638.4 s
11051.2 s102.4 s204.8 s409.6 s819.2 s1638.4 s3276.8 s6553.6 s
111102.4 s204.8 s409.6 s819.2 s1638.4 s3276.8 s6553.6 s13107.2 s
(16)
DS13636 - Rev 3
Changing NCYCLE_X for a step while cyclic activity is enabled (CONF_CYCLIC_EN = 1) will cause the new
setting to be applied at the first useful cycle (refer to Table 59).
page 99/184
Table 70. NCYCLE counter and optional step periodicity
10245122561286432168421
b10b9b8b7b6b5b4b3b2b1b0
GPIO
GPIO TermX
STEP LIST
Cell TermX
Bal TermX
ADC BISTX
Analog CompX
The NCYCLE is an 11 bit counter. Optional steps can be configured (via their NCYCLE_X) to be executed every
time a specific bx bit toggles. Once the counter reaches the saturation value (2047), it is designed to roll over.
Hence, operation periodicity is not affected and may continue for an arbitrary number of cycles.
4.12.5Transition between cyclic wake up and normal states
Any asynchronous event causing L9963E moving to low power states will have the following effect on the voltage
conversion routine:
•If the OVR_LATCH is set, means that a Configuration Override is ongoing or has occurred and the
command is ignored. In fact, a Configuration Override cannot be interrupted. Moreover, L9963E is locked
in Normal state upon failure detection. Hence, the microcontroller must clear the OVR_LATCH before
transitioning to a different state. The microcontroller has a feedback that the command was discarded
because:
–The FAULTL line is risen in case of Configuration Override thus propagating the fault down to the
micro.
–The Configuration Override latch is set (OVR_LATCH = 1).
•However, if the MCU does not respond within the communication timeout, the device will move to sleep
anyway.
•If no failure occurred, any ongoing conversion activity can be interrupted by a GO2SLP command. The
device will immediately move to a low power state (Sleep, Cyclic Wakeup or Silent Balance).
•To determine the next state, the CONF_CYCLIC_EN bit will be evaluated:
–In case CONF_CYCLIC_EN = 1 L9963E will move to Cyclic Wakeup state, where the wakeup timer
is TCYCLE_SLEEP and the voltage acquisition window (TTCYCLE_OVF failure is avoided by design, since the ADC_FILTER_SLEEP can be only programmed
among the first 4 values listed in Table 38. This makes T
–In case CONF_CYCLIC_EN = 0 L9963E will move to Sleep or Silent Bal state depending on
slp_bal_conf.
The dual case is represented by the Cyclic Wakeup → Normal transition. During cyclic wake up, a wake up
condition may occur:
•If the wake up condition does not involve any Configuration Override (e.g. Microcontroller sent a wake up
frame or FAULTH was interpreted ‘high’), then L9963E will move to Normal state and the cyclic activity will
continue, since CONF_CYCLIC_EN is still ‘1’.
•In case an internal failure is detected during the routine execution, the internal wakeup condition will move
L9963E to Normal, while Configuration Override takes place.
NCYCLE COUNTER (11 bit)
X
CYCLEADC
ROUTINE
) is ADC_FILTER_SLEEP. The
< TCYCLE_SLEEP by design.[end]
L9963E
Voltage conversion routine
DS13636 - Rev 3
page 100/184
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.