DATASHEET Multi-Cell Li-Ion Battery Manager ISL94212 Features The ISL94212 Li-ion battery manager IC supervises up to 12 series connected cells. The part provides accurate monitoring, cell balancing and extensive system diagnostics functions. Three cell balancing modes are provided: Manual Balancing mode, Timed Balancing mode and Auto Balance mode. The Auto Balance mode terminates balancing functions when a charge transfer value has been met. • Up to 12-cell voltage monitors, support Li-Ion CoO2, Li-ion Mn2O4, and Li-ion FePO4 chemistries The ISL94212 communicates to a host microcontroller via an SPI interface and to other ISL94212 devices using a robust, proprietary, two-wire Daisy Chain system. • Cell voltage scan rate of 19.5µs per cell (234µs to scan 12 cells) The ISL94212 is offered in a 64 Ld TQFP package and is specified for an operational temperature range of -40°C to +85°C. • Cell voltage measurement accuracy ±10mV • 13-bit cell voltage measurement • Pack voltage measurement accuracy ±180mV • 14-bit pack voltage and temperature measurements • Internal temperature monitoring • Up to four external temperature inputs • Robust daisy chain communications system • Integrated system diagnostics for all key internal functions Applications • Hardwired and communications based fault notification • Light electric vehicle (LEV); E-Moto; E-Bike • Battery backup systems; Energy Storage Systems (ESS) • Integrated watchdog shuts down device if communication is lost • Solar Farms • 7µA shutdown current: Enable = VSS • Portable and semi-portable equipment • 2Mbps SPI TO OTHER DEVICES (OPTIONAL) ISL94212 ISL94212 VG2 VG2 VG1 VG1 DHi2 DLo2 DHi2 DHi1 DLo2 DLo1 SCLK DOUT DIN CS DATA READY HOST MICRO FAULT EN VG1 VG1 MONITOR BOARD (Master or Standalone) VG2 MONITOR BOARD (Daisy Chain - Optional) FIGURE 1. TYPICAL APPLICATION April 23, 2015 FN7938.1 1 CAUTION: These devices are sensitive to electrostatic discharge; follow proper IC Handling Procedures. 1-888-INTERSIL or 1-888-468-3774 | Copyright Intersil Americas LLC 2012, 2015. All Rights Reserved Intersil is a trademark owned by Intersil Corporation or one of its subsidiaries. All other trademarks mentioned are the property of their respective owners. ISL94212 Table of Contents Ordering Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Pin Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Thermal Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Recommended Operating Conditions . . . . . . . . . . . . . . . . . . 7 Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 CRC Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Daisy Chain Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Daisy Chain Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Identify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 ACK (Acknowledge) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 NAK (Not Acknowledge). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Address All. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Timing Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 Alarm Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Typical Performance Curves . . . . . . . . . . . . . . . . . . . . . . . . .15 Watchdog Function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Device Description and Operation . . . . . . . . . . . . . . . . . . . . 21 Communications Faults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Communication Failure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Measurement Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Scan Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Measurement Mode Commands . . . . . . . . . . . . . . . . . . . . . . 21 Daisy Chain Communications Conflicts . . . . . . . . . . . . . . . . 45 Scan Once . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22 Memory Checksum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Scan Voltages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Settling Time Following Diagnostic Activity . . . . . . . . . . . . 45 Scan Temperatures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Open Wire Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Scan Mixed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Cell Balancing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Scan Wires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Fault Signal Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Scan All . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Fault Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Scan Continuous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 Sleep Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Measure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 Wakeup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Cell Voltage Measurement Accuracy . . . . . . . . . . . . . . . . . . 24 Fault Response in Sleep Mode . . . . . . . . . . . . . . . . . . . . . . . . 50 Temperature Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Communication and Measurement Diagrams . . . . . . . . . . 50 Cell Balancing Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . .25 Measurement Timing Diagrams . . . . . . . . . . . . . . . . . . . . . . . 51 Balance Setup Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Command Timing Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Balance Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Response Timing Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Manual Balance Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Communication and Measurement Timing Tables . . . . . . 56 Timed Balance Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Measurement Timing Tables. . . . . . . . . . . . . . . . . . . . . . . . . . 56 Auto Balance Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Command Timing Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Balance FET Drivers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Response Timing Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Device Setup Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 System Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Cell Balance Enabled Register . . . . . . . . . . . . . . . . . . . . . . . . . 30 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 System Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Cell Voltage Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 SPI Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Full Duplex Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Temperature Data, Secondary Voltage Reference Data, Scan Count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Half Duplex Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Fault Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Non-daisy Chain Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . .33 Setup Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Normal Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Cell Balance Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Alarm Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Communication Faults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Fault Response in Sleep Mode. . . . . . . . . . . . . . . . . . . . . . . . . 34 Example Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Daisy Chain Systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 Daisy Chain Ports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Reference Coefficient Registers . . . . . . . . . . . . . . . . . . . . . . . 69 Cells In Balance Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Device Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Nonvolatile Memory (EEPROM) Checksum . . . . . . . . . . . . . . 71 Applications Circuits Information . . . . . . . . . . . . . . . . . . . . 72 Typical Applications Circuits . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Communications Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Typical Application Circuits. . . . . . . . . . . . . . . . . . . . . . . . . . 73 Communication Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Notes on Board Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Submit Document Feedback 2 FN7938.1 April 23, 2015 ISL94212 Component Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Operating the ISL94212 with Reduced Cell Counts . . . . . . . 78 Typical Application Circuits . . . . . . . . . . . . . . . . . . . . . . . . . .79 Power Supplies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Voltage Reference Bypass Capacitor . . . . . . . . . . . . . . . . . . . 82 Cell Balancing Circuits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Cell Voltage Measurements During Balancing. . . . . . . . . . . . 83 Balancing with Scan Continuous Mode Enabled . . . . . . . . . . 83 Daisy Chain Communications System . . . . . . . . . . . . . . . . . . 83 External Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Board Level Calibration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Worked Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86 Voltage Reference Check Calculation . . . . . . . . . . . . . . . . . . . 86 Cell Balancing – Manual Mode . . . . . . . . . . . . . . . . . . . . . . . . 87 Cell Balancing – Timed Mode . . . . . . . . . . . . . . . . . . . . . . . . . 87 Cell Balancing – Auto Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90 Revision History. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95 Package Outline Drawing . . . . . . . . . . . . . . . . . . . . . . . . . . . .96 Submit Document Feedback 3 FN7938.1 April 23, 2015 ISL94212 Ordering Information PART NUMBER (Notes 2, 3, 4) PART MARKING ISL94212INZ (Note 1) ISL94212INZ ISL94212EVKIT1Z Evaluation Kit TRIM VOLTAGE, VNOM (V) TEMP. RANGE (°C) 3.3 -40 to +85 PACKAGE (RoHS Compliant) 64 Ld TQFP PKG. DWG. # Q64.10x10D NOTES: 1. Add “-T*” suffix for tape and reel. Please refer to TB347 for details on reel specifications. 2. These Intersil Pb-free plastic packaged products employ special Pb-free material sets, molding compounds/die attach materials, and 100% matte tin plate plus anneal (e3 termination finish, which is RoHS compliant and compatible with both SnPb and Pb-free soldering operations). Intersil Pb-free products are MSL classified at Pb-free peak reflow temperatures that meet or exceed the Pb-free requirements of IPC/JEDEC J STD-020. 3. For Moisture Sensitivity Level Rating (MSL) for the package, please see the Intersil ISL94212. For more information on handling and processing moisture sensitive devices, please see Techbrief TB363. 4. For other trim options, please contact Marketing. Pin Configuration VC10 CB11 VC11 CB12 VC12 VBAT VBAT NC DHi2 DLo2 NC SCLK/DHi1 CS/DLo1 NC DIN/NC DOUT/NC 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 ISL94212 (64 LD 10x10 TQFP) TOP VIEW VC4 12 37 DNC CB4 13 36 V3P3 VC3 14 35 V2P5 CB3 15 34 VCC VC2 16 33 REF Submit Document Feedback 4 32 BASE VDDEXT 38 31 11 NC CB5 30 DNC 29 COMMS SELECT 2 39 ExT4 40 10 TEMPREG 9 VC5 28 CB6 27 COMMS SELECT 1 NC COMMS RATE 1 41 ExT3 42 8 26 7 VC6 25 CB7 NC COMMS RATE 0 ExT2 43 24 DGND 6 ExT1 44 VC7 23 CB8 22 FAULT NC 45 5 VSS 4 21 VC8 20 DATA READY VC0 EN 46 VSS 47 3 19 2 CB9 18 VC9 VC1 DNC CB1 48 17 1 CB2 CB10 FN7938.1 April 23, 2015 ISL94212 Pin Descriptions SYMBOL VC0, VC1, VC2, VC3, VC4, VC5, VC6, VC7, VC8, VC9, VC10, VC11, VC12 PIN NUMBER DESCRIPTION 20, 18, 16, Battery cell voltage inputs. VCn connects to the positive terminal of CELLn and the negative terminal of 14, 12, 10, 8, CELLn+1. (VC12 connects only to the positive terminal of CELL12 and VC0 only connects with the negative 6, 4, 2, 64, terminal of CELL1.) 62, 60 19, 17, 15, Cell Balancing FET control outputs. Each output controls an external FET which provides a current path CB1, CB2, CB3, CB4, CB5, CB6, CB7, CB8, CB9, CB10, 13, 11, 9, 7, around the cell for balancing. 5, 3, 1, 63, 61 CB11, CB12 VBAT 58, 59 Main IC Supply pins. Connect to the most positive terminal in the battery string. VSS 21, 22 Ground. These pins connect to the most negative terminal in the battery string. ExT1, ExT2, ExT3, ExT4 24, 26, 28, 30 External temperature monitor or general purpose inputs. The temperature inputs are intended for use with external resistor networks using NTC type thermistor sense elements but may also be used as general purpose analog inputs at the user’s discretion. 0V to 2.5V input range. TEMPREG 29 Temperature monitor voltage regulator output. This is a switched 2.5V output, which supplies a reference voltage to external NTC thermistor circuits to provide ratiometric ADC inputs for temperature measurement. VDDEXT 32 External V3P3 supply input/output. Connected to the V3P3 pin via a switch, this pin may be used to power external circuits from the V3P3 supply. The switch is open when the ISL94212 is placed in Sleep mode. REF 33 2.5V voltage reference decoupling pin. Connect a 2.0µF to 2.5µF X7R capacitor to VSS. Do not connect any additional external load to this pin. VCC 34 Analog supply voltage input. Connect to V3P3 via a 33Ω resistor. Connect a 1µF capacitor to ground. V2P5 35 Internal 2.5V digital supply decoupling pin. Connect a 1µF capacitor to DGND. V3P3 36 3.3V digital supply voltage input. Connect the emitter of the external NPN regulator transistor to this pin. Connect a 1µF capacitor to DGND. Base 38 Regulator control pin. Connect the external NPN transistor’s base. Do not let this pin float, DNC 37, 39, 48 Comms Select 1 41 Communications port 1 mode select pin. Connect via a 1kΩ resistor to V3P3 for Daisy Chain communications on port 1 or to DGND for SPI operation on port 1. Comms Select 2 40 Communications port 2 mode select pin. Connect via a 1kΩ resistor to V3P3 to enable port 2 or to DGND to disable this port. Comms Rate 0, Comms Rate 1 43, 42 Daisy Chain communications data rate setting. Connect via a 1kΩ resistor to DGND (‘0’) or to V3P3 (‘1’) to select between various communication data rates. Do not connect. Leave pins floating. DGND 44 Digital Ground. Fault 45 Logic fault output. Asserted low if a fault condition exists. Data Ready 46 SPI data ready. Asserted low when the device is ready to transmit data to the host microcontroller. EN 47 Enable input. Tie to V3P3 to enable the part. Tie to DGND to disable (all IC functions are turned off). DOUT/NC 49 Serial Data Output (SPI) or NC (Daisy Chain). 0V to 3.3V push-pull output. DIN/NC 50 Serial Data Input (SPI) or NC (Daisy Chain). 0V to 3.3V input. CS/DLo1 52 Chip-Select, active low 3.3V input (SPI) or Daisy Chain port 1 Lo connection. SCLK/DHi1 53 Serial-Clock Input (SPI) or Daisy Chain port 1 Hi connection. DHi2 56 Daisy Chain port 2 Hi connection. DLo2 55 Daisy Chain port 2 Lo connection. NC 23, 25, 27, 31, 51, 54, 57 Submit Document Feedback 5 No internal connection. FN7938.1 April 23, 2015 ISL94212 Block Diagram DHi 2 DLo 2 CONTROL LOGIC AND COMMUNICATIONS VBAT VC12 CB12 VC11 CB11 VC10 CB10 VC9 INPUT BUFFER/LEVEL SHIFT AND FAULT DETECTION CB9 CB8 VC7 CB7 VC6 CB6 VC5 CB5 VC4 SPI COMMS CS/DLo 1 DIN DOUT DATA READY COMMS RATE 1 COMMS RATE 0 COMMS SELECT 2 COMMS SELECT 1 DGND FAULT EN BASE VREG V3P3 VDDEXT V2P5 V2P5 VCC VREF MUX CB4 DAISY CHAIN AND REF VC MUX VC8 SCLK/DHi 1 VC3 ADC CB3 TEMPREG VC2 TEMP MUX IC TEMP VC1 CB1 VC0 ExT1 ExT2 ExT3 ExT4 VSS Submit Document Feedback REFERENCE CB2 6 FN7938.1 April 23, 2015 ISL94212 Absolute Maximum Ratings Thermal Information Unless otherwise specified. With respect to VSS. Thermal Resistance (Typical) θJA (C/W) θJC (C/W) 64 Ld TQFP Package (Notes 5, 6) . . . . . . . 42 9 Max Continuous Package Power Dissipation . . . . . . . . . . . . . . . . . .400mW Storage Temperature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-55°C to +125°C Max Operating Junction Temperature . . . . . . . . . . . . . . . . . . . . . . . .+125°C Pb-Free Reflow Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . see TB493 DIN, SCLK, CS, DOUT, Data Ready, Comms Select n, ExTn, TEMPREG, REF, V3P3, VCC, Fault, Comms Rate n, Base, EN, VDDEXT. . . . . . . . . . . . . . . . . . . . . . .-0.2V to 4.1V V2P5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.2V to 2.9V VBAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.5V to 63V Dhi1, DLo1, DHi2, DLo2 . . . . . . . . . . . . . . . . . . . . . . .-0.5V to (VBAT + 0.5V) VC0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.5V to + 9.0V VC1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.5V to + 18V VC2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.5V to + 18V VC3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.5V to + 27V VC4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.5V to + 27V VC5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.5V to + 36V VC6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.5V to + 36V VC7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.5V to + 45V VC8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.5V to + 45V VC9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.5V to + 54V VC10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.5V to + 63V VC11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.5V to + 63V VC12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.5V to + 63V VCn (for n = 0 to 12). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.5 to VBAT + 0.5V CBn (for n = 1 to 12) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.5 to VBAT + 0.5V CBn (for n = 1 to 9) . . . . . . . . . . . . . . . . . . . . . . . V(VCn-1) - 0.5V to V(VCn-1) + 9V CBn (for n = 10 to 12). . . . . . . . . . . . . . . . . . . . . . . . .V(VCn) - 9V to V(VCn) + 0.5V Current into VCn, VBAT, VSS (Latch up Test) . . . . . . . . . . . . . . . . . . ±100mA ESD Rating Human Body Model (Tested per JESD22-A114F) . . . . . . . . . . . . . . . . 2kV Machine Model (Tested per JESD22A115-A) . . . . . . . . . . . . . . . . . . 200V Charge Device Model (Tested per JESD22-C101D) . . . . . . . . . . . . . 750V Latch-up (Tested per JESD-78B; Class 2, Level A) . . . . . . . . . . . . . . 100mA Recommended Operating Conditions TA, Ambient Temperature Range . . . . . . . . . . . . . . . . . . . . . -40°C to +85°C VBAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6V to 60V VBAT (Daisy Chain Operation) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10V to 60V VCn (for n = 1 to 12) . . . . . . . . . . . . . . . . . . . . . . . . . . . .V(VCn-1) to V(VCn-1) + 5V VC0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-0.1V to 0.1V CBn (for n = 1 to 9) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .V(VCn-1) to V(VCn-1) + 9V CBn (for n = 10 to 12). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V(VCn) - 9V to V(VCn) DIN, SCLK, CS, DOUT, Data Ready, Comms Select 1, Comms Select 2, TEMPREG, REF, V3P3, VCC, Fault, Comms Rate 0, Comms Rate 1, EN, VDDEXT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0V to 3.6V ExT1,ExT2,ExT3,Ext4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0V to 2.5V NOTE: DOUT, Data Ready, and Fault are digital outputs and should not be driven from external sources. V2P5, REF, TEMPREG and BASE are analog outputs and should not be driven from external sources. CAUTION: Do not operate at or near the maximum ratings listed for extended periods of time. Exposure to such conditions may adversely impact product reliability and result in failures not covered by warranty. NOTES: 5. JA is measured with the component mounted on a high effective thermal conductivity test board in free air. See Tech Brief TB379 for details. 6. For JC, the “case temp” location is taken at the package top center. Electrical Specifications temperature range, -40°C to +85°C. PARAMETER VBAT = 6 to 60V, TA = -40°C to +85°C, unless otherwise specified. Boldface limits apply across the operating SYMBOL Power-up Condition Threshold VPOR Power-up Condition Hysteresis VPORhys TEST CONDITIONS VBAT voltage (rising) MIN (Note 7) TYP MAX (Note 7) UNITS 4.8 5.1 5.6 V 400 mV Initial Power-up Delay tPOR Time after VPOR condition VREF from 0V to 0.95 x VREF(nom) (EN tied to V3P3) Device can now communicate 27.125 ms Enable Pin Power-up Delay tPUD Delay after EN = 1 to VREF from 0V to 0.95 x VREF(nom) (VBAT = 39.6V) - Device can now communicate 27.125 ms Submit Document Feedback 7 FN7938.1 April 23, 2015 ISL94212 Electrical Specifications VBAT = 6 to 60V, TA = -40°C to +85°C, unless otherwise specified. Boldface limits apply across the operating temperature range, -40°C to +85°C. (Continued) PARAMETER SYMBOL VBAT Supply Current IVBAT MIN (Note 7) TYP MAX (Note 7) UNITS 6V 10 35 75 µA 39.6V 10 64 220 µA 60V 10 90 230 µA 6V 400 530 660 µA 39.6V 500 680 900 µA 60V 550 750 1000 µA TEST CONDITIONS Non-daisy chain configuration. Device enabled. No communications, ADC, measurement, balancing or open wire detection activity. IVBATMASTER Daisy chain configuration – master device. Enabled. No communications, ADC, measurement, balancing or open wire detection activity. Peak current when daisy chain transmitting IVBATMID Daisy chain configuration – mid stack device. Enabled. No communications, ADC, measurement, balancing or open wire detection activity. 18 6V 700 1020 1300 µA 39.6V 900 1250 1600 µA 60V 1000 1400 1700 µA Peak current when daisy chain transmitting IVBATTOP Daisy chain configuration – top device. Enabled. No communications, ADC, measurement, balancing or open wire detection activity. 18 mA 6V 400 530 660 µA 39.6V 500 680 900 µA 60V 550 750 1000 µA Peak current when daisy chain transmitting 18 mA IVBATSLEEP1 Sleep mode (EN = 1, daisy chain configuration). 10 19 36 µA IVBATSLEEP2 Sleep mode (EN = 1, standalone, non-daisy chain) 5 9 18 µA 5 7 18 µA 10.5 µA IVBATSHDN Shutdown. device “off” (EN = 0) (daisy chain and non-daisy chain configurations) VBAT Supply Current Tracking. Sleep Mode. mA IVBATΔSLEEP EN = 1, daisy chain sleep mode configuration. VBAT current difference between any two devices operating at the same temperature and supply voltage. VBAT Incremental Supply Current, Balancing IVBATBAL V3P3 Regulator Voltage (Normal) 0 All balancing circuits on. Incremental current: Add to non-balancing VBAT current. VBAT = 39.6V 200 300 400 µA V3P3N EN = 1, load current range 0 to 5 mA. VBAT = 39.6V 3.2 3.35 3.5 V V3P3 Regulator Voltage (Sleep) V3P3S EN = 1, load current range. No load. (SLEEP). VBAT = 39.6V 2.4 2.7 3.05 V V3P3 Regulator Control Current IBase Current sourced from base output. VBAT = 6V 1 1.5 V3P3 Supply Current IV3P3 Device enabled No measurement activity, normal mode 0.8 1 VREF Reference Voltage VREF EN = 1, no load, normal mode Submit Document Feedback 8 2.5 mA 1.3 mA V FN7938.1 April 23, 2015 ISL94212 Electrical Specifications VBAT = 6 to 60V, TA = -40°C to +85°C, unless otherwise specified. Boldface limits apply across the operating temperature range, -40°C to +85°C. (Continued) PARAMETER SYMBOL VDDEXT Switch Resistance RVDDEXT VCC Supply Current IVCC TEST CONDITIONS Switch ON-resistance, VBAT = 39.6V Device enabled (EN = 1). Standalone or daisy configuration. No ADC or daisy chain communications active. MIN (Note 7) TYP MAX (Note 7) UNITS 5 12 22 Ω 2.0 3.25 5.0 mA IVCCACTIVE1 Device enabled (EN = 1). Standalone or daisy configuration. Average current during 16ms scan continuous operation. VBAT = 39.6V IVCCSLEEP Device enabled (EN = 1). Sleep mode. VBAT = 39.6V IVCCSHDN Device disabled (EN = 0). Shutdown mode. 0 VC(N) - VC(N-1). For design reference. 0 6.0 mA 2.4 µA 1.2 9.0 µA 5 V MEASUREMENT SPECIFICATIONS Cell Voltage Input Measurement Range VCELL Cell Monitor Voltage Resolution VCELLRES [VC(N)-VC(N-1)] LSB step size (13-bit signed number), 5V full scale value ISL94212 Cell Monitor Voltage Error (Absolute) VCELLA Absolute cell measurement error (Cell measurement error compared with applied voltage with 1k series resistor.) Temperature = 0°C to +50°C, VCELL = 2.6V to 4.0V -10 10 mV Temperature = +50°C to +85°C, VCELL = 2.0V to 4.3V -25 25 mV Temperature = -40°C to 0°C, VCELL = 2.0V to 4.3V -35 35 mV Relative cell measurement error (Max absolute cell measurement error Min absolute cell measurement error) Temperature = 0°C to +50°C 0 7.5 mV Temperature = -40°C to 0°C 0 7.5 mV Temperature = +50°C to +85°C 0 20 mV VCELLB ISL94212 Cell Monitor Voltage Error (Relative) IVCELL Cell Input Current. Note: Cell accuracy figures assume a fixed 1kΩ resistor is placed in series with each VCn pin (n = 0 to 12) VBAT Monitor Voltage Resolution VBATRES VBAT VBAT Monitor Voltage Error Submit Document Feedback 9 0.61 mV VC0 input -2.0 -1 -0.5 µA VC1, VC2, VC3 inputs -3.0 -2 -0.9 µA VC4 input -0.8 0 0.9 µA VC5, VC6, VC7, VC8, VC9, VC10, VC11 inputs 0.5 2 3.2 µA VC12 input 0.4 1 2.0 µA ADC resolution referred to input (VBAT) level. 14b unsigned number. Full scale value = 79.67V. 4.863 mV Temperature = 0°C to +50°C, Measured at VBAT = 31.2V to 43.2V -180 180 mV Temperature = 0°C to +50°C, Measured at VBAT = 24V to 48V -230 230 mV Temperature = 0°C to +50°C, Measured at VBAT = 6V to 59.4V -390 390 mV Temperature = -40°C to +85°C, Measured at VBAT = 31.2V to 39.6V -320 320 mV Temperature = -40°C to +85°C, Measured at VBAT = 6V to 48V -440 440 mV Temperature = -40°C to +85°C, Measured at VBAT = 6V to 59.4V -650 650 mV FN7938.1 April 23, 2015 ISL94212 Electrical Specifications VBAT = 6 to 60V, TA = -40°C to +85°C, unless otherwise specified. Boldface limits apply across the operating temperature range, -40°C to +85°C. (Continued) PARAMETER SYMBOL TEST CONDITIONS MIN (Note 7) TYP MAX (Note 7) UNITS 2.475 2.5 2.525 V 0.1 0.2 Ω 2344 mV External Temperature Monitoring Regulator VTEMP Voltage on TEMPREG output. (0 to 2mA load) External Temperature Output Impedance RTEMP Output impedance at TEMPREG pin. 0 ExTn input voltage range. For design reference. 0 External Temperature Input Range VEXT External Temperature Input Pull-up REXTTEMP Pull-up resistor to VTEMPREG applied to each input during measurement External Temperature Input Offset VEXTOFF VBAT = 39.6V External Temperature Input INL External Temperature Input Gain Error 10 MΩ -12 12 mV VEXTINL -0.65 0.65 mV VEXTG -8 18.5 mV Internal Temperature Monitor Error VINTMON Internal Temperature Monitor Resolution TINTRES Internal Temperature Monitor Output TINT25 ±10 °C Output resolution (LSB/°C). 14b number. 31.9 LSB/°C Output count at +25°C 9180 Decimal 150 °C OVER-TEMPERATURE PROTECTION SPECIFICATIONS Internal Temperature Limit Threshold TINTSD External Temperature Limit Threshold TXT Balance stops and auto scan stops. Temperature rising or falling. Corresponding to 0V (min) and VTEMPREG (max) External temperature input voltages higher than 15/16 VTEMPREG are registered as open input faults. 0 16383 Decimal FAULT DETECTION SYSTEM SPECIFICATIONS Undervoltage Threshold VUV Programmable. Corresponding to 0V (min) and 5V (max) 0 8191 Decimal Overvoltage Threshold VOV Programmable. Corresponding to 0V (min) and 5V (max) 0 8191 Decimal V3P3 Power-good Window V3PH 3.3V Power-good window high threshold. VBAT = 39.6V 3.7 3.90 4.05 V V3PL 3.3V Power-good window low threshold. VBAT = 39.6V 2.5 2.65 2.8 V V2PH 2.5V Power-good window high threshold. VBAT = 39.6V 2.55 2.7 2.9 V V2PL 2.5V Power-good window low threshold. VBAT = 39.6V 1.90 2.0 2.15 V VVCCH VCC Power-good window high threshold. VBAT = 39.6V 3.6 3.75 4.0 V VVCCL VCC Power-good window low threshold. VBAT = 39.6V 2.55 2.7 2.85 V VRPH VREF Power-good window high threshold. VBAT = 39.6V 2.525 2.7 2.9 V VRPL VREF Power-good window low threshold. VBAT = 39.6V 2.0 2.30 2.50 V V2P5 Power-good Window VCC Power-good Window VREF Power-good Window Submit Document Feedback 10 FN7938.1 April 23, 2015 ISL94212 Electrical Specifications VBAT = 6 to 60V, TA = -40°C to +85°C, unless otherwise specified. Boldface limits apply across the operating temperature range, -40°C to +85°C. (Continued) PARAMETER SYMBOL VREF Reference Accuracy Error VRACC TEST CONDITIONS MIN (Note 7) TYP MAX (Note 7) UNITS VREF value calculated using stored coefficients. VBAT = 39.6V, VREF typical = 2.5V (See “Voltage Reference Check Calculation” on page 86.) Temperature = 0°C to +50°C -15 15 mV Temperature = -40°C to 0°C -40 40 mV Temperature = +50°C to +85°C -22 22 mV Voltage Reference Check Timeout tVREF Time to check voltage reference value from power-on, enable or wake up 20 ms Oscillator Check Timeout tOSC Time to check main oscillator frequency from power-on, enable or wake up 20 ms Oscillator Check Filter Time tOSCF Minimum duration of fault required for detection 100 ms CELL OPEN WIRE DETECTION (See sections “Scan Wires” on page 22, “ISCN, PIN37, PIN39” on page 30, and “Open Wire Test” on page 45.) Open Wire Current IOW ISCN bit = 0; VBAT = 39.6V 0.125 0.15 0.175 mA ISCN bit = 1; VBAT = 39.6V 0.85 1.0 1.15 mA Open Wire Detection Time tOW Open wire current source “on” time Open VC0 Detection Threshold VVC0 CELL1 negative terminal (with respect to VSS) VBAT = 39.6V 1.2 1.5 1.8 V Open VC1 Detection Threshold VVC1 CELL1 positive terminal (with respect to VSS) VBAT = 39.6V 0.6 0.7 0.8 V -2 -1.5 0 V -100 -30 50 mV Primary Detection Threshold, VC2 to VC12 VVC2_12P V(VC(n - 1)) - V(VCn), n = 2 to 12 VBAT = 39.6V Secondary Detection Threshold, VC2 to VC12 VVC2_12S Via ADC. VC2 to VC12 only VBAT = 39.6V 4.6 ms Open VBAT Fault Detection Threshold VVBO VC12 - VBAT 200 mV Open VSS Fault Detection Threshold VVSSO VSS - VC0 250 mV Cell Sample Time Start Time to sample the first cell (CELL12) following CS going High. Scan voltages command 65 71.5 µs Cell Sample Time Duration Time to scan all 12 cells (sample of CELL12 to sample of CELL1) scan voltages command. 233 257 µs Scan Voltages Processing Time Time from start of scan to registers loaded to DATA READY going low 770 847 µs Scan Temperatures Processing Time Time from start of scan to registers loaded to DATA READY going low 2690 2959 µs Scan Mixed Processing Time Time from start of scan to registers loaded to DATA READY going low 830 913 µs Scan Wires Processing Time Time from start of scan to registers loaded to DATA READY going low 59.4 65.3 ms Scan All Processing Time Time from start of scan to registers loaded to DATA READY going low 63.2 69.5 ms MEASUREMENT FUNCTION TIMING (Note 8) Submit Document Feedback 11 FN7938.1 April 23, 2015 ISL94212 Electrical Specifications VBAT = 6 to 60V, TA = -40°C to +85°C, unless otherwise specified. Boldface limits apply across the operating temperature range, -40°C to +85°C. (Continued) PARAMETER SYMBOL TEST CONDITIONS MIN (Note 7) TYP MAX (Note 7) UNITS Measure Cell Voltage Processing Time Time from start of measurement to register(s) loaded to DATA READY going low 180 198 µs Measure VBAT Voltage Processing Time Time from start of measurement to register(s) loaded to DATA READY going low 130 143 µs Measure Internal Temperature Processing Time Time from start of measurement to register(s) loaded to DATA READY going low 110 121 µs Measure External Temperature Input Processing Time Time from start of measurement to register(s) loaded to DATA READY going low 2520 2772 µs Measure Secondary Voltage Reference Time Time from start of measurement to register(s) loaded to DATA READY going low 2520 2772 µs CELL BALANCE OUTPUT SPECIFICATIONS Cell Balance Pin Output Impedance RCBL CBn output off impedance between CB(n) to VC(n-1): cells 1 to 9 and between CB(n) to VC(n): cells 10 to 12. 3 4 5 MΩ Cell Balance Output Current ICBH1 CBn output on. (CB1-CB9); VBAT = 39.6V; device sinking current. -28 -25 -21 μA ICBH2 CBn output on. (CB10-CB12); VBAT = 39.6V; device sourcing current. 21 25 28 μA Cell Balance Output Leakage in Shutdown ICBSD EN = GND. VBAT = 39.6V. -500 10 700 nA External Cell Balance FET Gate Voltage VGS CBn Output on; External 320kΩ between VCn and CBn (n = 10 to 12) and between CBn and VCn-1 (n = 1 to 9) 7.05 8.0 8.95 V ICB = 100µA. 8.9 Internal Cell Balance Output Clamp VCBCL V LOGIC INPUTS: SCLK, CS, DIN Low Level Input Voltage VIL High Level Input Voltage VIH 1.75 V VHYS 100 mV Input Hysteresis Input Current IIN Input Capacitance CIN 0.8 0V < VIN < V3P3 -1 V +1 µA 10 pF 0.3*V3P3 V LOGIC INPUTS: EN, COMMS SELECT1, COMMS SELECT2, COMMS RATE 0, COMMS RATE 1 Low Level Input Voltage VIL High Level Input Voltage VIH 0.7*V3P3 V VHYS 0.05*V3P3 V Input Hysteresis Input Current IIN Input Capacitance CIN 0V < VIN < V3P3 -1 +1 µA 10 pF LOGIC OUTPUTS: DOUT, FAULT, DATA READY Low Level Output Voltage High Level Output Voltage Submit Document Feedback 12 VOL1 At 3mA sink current 0 0.4 V VOL2 At 6mA sink current 0 0.6 V VOH1 At 3mA source current V3P3 – 0.4V V3P3 V VOH2 At 6mA source current V3P3 – 0.6V V3P3 V FN7938.1 April 23, 2015 ISL94212 Electrical Specifications VBAT = 6 to 60V, TA = -40°C to +85°C, unless otherwise specified. Boldface limits apply across the operating temperature range, -40°C to +85°C. (Continued) PARAMETER SYMBOL TEST CONDITIONS MIN (Note 7) TYP MAX (Note 7) UNITS 2 MHz 200 ns SPI INTERFACE TIMING (See Figures 2 and 3) SCLK Clock Frequency fSCLK Pulse Width of Input Spikes Suppressed tIN1 Enable Lead Time tLEAD Clock High Time 50 200 ns tHIGH 200 ns Clock Low Time tLOW 200 ns Enable Lag Time tLAG Last data read clock edge to chip select high. 250 ns Minimum high time for CS between bytes. 200 ns CHIP SELECT High Time tCS:WAIT Chip select low to ready to receive clock data Slave Access Time tA Chip select low to DOUT active. 200 ns Data Valid Time tV Clock low to DOUT valid. 350 ns Data Output Hold Time tHO Data hold time after falling edge of SCLK. DOUT Disable Time tDIS DOUT disabled following rising edge of CS. Data Setup Time tSU Data input valid prior to rising edge of SCLK. 100 ns Data Input Hold Time tHI Data input to remain valid following rising edge of SCLK. 80 ns 100 ns Data Ready Start Delay Time tDR:ST Chip select high to Data Ready low. Data Ready Stop Delay Time tDR:SP Chip select high to Data Ready high. Data Ready High Time tDR:WAIT SPI Communications Timeout tSPI:TO Time between bytes. 0 ns 240 750 0.6 ns ns µs Time the CS remains high before SPI communications time out - requiring the start of a new command. 100 µs DOUT Rise Time tR Up to 50pF load. 30 ns DOUT Fall Time tF Up to 50pF load. 30 ns DAISY CHAIN COMMUNICATIONS INTERFACE: DHi1, DLo1, DHi2, DLo2 Daisy Chain Clock Frequency Comms Rate (0, 1) = 11 450 500 550 kHz Comms Rate (0, 1) = 10 225 250 275 kHz Comms Rate (0, 1) = 01 112.5 125 137.5 kHz Comms Rate (0, 1) = 00 56.25 62.5 68.75 kHz Common Mode Reference Voltage VBAT/2 V NOTES: 7. Compliance to datasheet limits is assured by one or more methods: production test, characterization and/or design. 8. Scan and Measurement start times are synchronized by the receiver to the falling edge of the 24th clock pulse (Daisy Chain systems) or to the falling edge of the 16th clock pulse (non-daisy chain, single device systems) of the Scan or Measure command. Clock pulses are at the SCLK pin for master and standalone devices, and at the DHi/DLo1 pins for middle and top daisy chain devices. Max values are based on characterization of the internal clock and are not 100% tested. 9. Biasing setup as in Figure 57 on page 82 or equivalent. Submit Document Feedback 13 FN7938.1 April 23, 2015 ISL94212 Timing Diagrams CS (FROM µC) tSPI:TO tLEAD tHIGH tLOW tCS:WAIT tLAG SCLK (FROM µC) tA tF tV tDIS tHO DOUT (TO µC) tSU tR tHI DIN (FROM µC) CLOCK DATA INTO ISL94212 CLOCK DATA OUT OF ISL94212 FIGURE 2. SPI FULL DUPLEX (4-WIRE) INTERFACE TIMING CS (FROM µC) tCS:WAIT tSPI:TO tDR:ST tDR:SP tDR:WAIT DATA READY (TO µC) SCLK (FROM µC) tA DOUT (TO µC) CLOCK DATA OUT OF ISL94212 SIGNALS ON DIN IGNORED WHILE DATA READY IS LOW DIN (FROM µC) CLOCK DATA INTO ISL94212 FIGURE 3. SPI HALF DUPLEX (3-WIRE) INTERFACE TIMING Submit Document Feedback 14 FN7938.1 April 23, 2015 ISL94212 40 40 30 30 READING ERROR (mV) READING ERROR (mV) Typical Performance Curves 20 10 0 -10 -20 -30 -40 20 10 0 -10 -20 -30 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 -40 5.0 0 0.5 1.0 CELL VOLTAGE (V) 2.0 2.5 3.0 3.5 4.0 4.5 5.0 CELL VOLTAGE (V) FIGURE 4. CELL VOLTAGE READING ERROR FROM 0°C TO +50°C FIGURE 5. CELL VOLTAGE READING ERROR FROM -40°C TO +85°C 500 800 400 600 300 READING ERROR (mV) READING ERROR (mV) 1.5 200 100 0 -100 -200 400 200 0 -200 -400 -300 -600 -400 -500 0 10 20 30 40 PACK VOLTAGE (V) 50 -800 60 FIGURE 6. PACK VOLTAGE READING ERROR FROM 0°C TO +50°C BGVREF ACCURACY (mV) NORMALIZED VARIATIONS (%) 1 +105°C +85°C -1 -2 +60°C -3 +25°C -4 -5 50 60 0.4 -40°C 0 20 30 40 PACK VOLTAGE (V) 0.5 -20°C 2 10 FIGURE 7. PACK VOLTAGE READING ERROR FROM -40°C TO +85°C 4 3 0 0.3 0.2 0.1 0.0 -0.1 -0.2 -0.3 -0.4 0 10 20 30 40 50 PACK VOLTAGE (V) FIGURE 8. IC TEMPERATURE ERROR vs PACK VOLTAGE Submit Document Feedback 15 60 -0.5 6 15 24 33 VBAT (V) 42 51 60 FIGURE 9. VOLTAGE REFERENCE CHECK FUNCTION vs PACK VOLTAGE (AT +25°C) FN7938.1 April 23, 2015 ISL94212 (Continued) 50 0 40 -0.05 30 -0.10 20 -0.15 VREF SHIFT (mV) BGVREF ACCURACY (mV) Typical Performance Curves 10 0 -10 -20 -0.20 -0.25 -0.30 -0.35 -30 -0.40 -40 -0.45 -50 -40 -15 10 35 TEMPERATURE (°C) 60 -0.50 85 0 100 FIGURE 10. VOLTAGE REFERENCE CHECK FUNCTION vs TEMPERATURE (VBAT = 39.6) 200 300 400 500 600 700 HOURS AT +125°C 800 900 1000 FIGURE 11. VREF SHIFT OVER HTOL 25.6 25.60 VCELL = 3.3V BALANCE CURRENT (µA) BALANCE CURRENT (µA) 25.4 25.55 25.50 25.45 25.2 25.0 24.8 24.6 24.4 25.40 0 10 20 30 40 PACK VOLTAGE (V) 50 24.2 -40 60 0 20 40 60 80 100 TEMPERATURE (°C) FIGURE 12. BALANCE CURRENT vs PACK VOLTAGE FIGURE 13. BALANCE CURRENT vs TEMPERATURE 157 156 -20 970 VCELL = 3.3V VCELL = 3.3V 965 154 IOPWI (µA) IOPWI (µA) 155 153 152 960 955 950 151 945 150 149 -40 -20 0 20 40 60 80 TEMPERATURE (°C) FIGURE 14. OPEN WIRE TEST CURRENT vs TEMPERATURE (150µA SETTING) Submit Document Feedback 16 100 940 -40 -20 0 20 40 60 80 100 TEMPERATURE (°C) FIGURE 15. OPEN WIRE TEST CURRENT vs TEMPERATURE (1mA SETTING) FN7938.1 April 23, 2015 ISL94212 (Continued) 158.0 1000 157.5 950 IOPWI (µA) IOPWI (µA) Typical Performance Curves 157.0 156.5 156.0 900 850 0 10 20 30 40 50 800 60 0 10 20 30 40 PACK VOLTAGE (V) PACK VOLTAGE (V) FIGURE 16. OPEN WIRE TEST CURRENT vs PACK VOLTAGE (150µA SETTING) 50 60 FIGURE 17. OPEN WIRE TEST CURRENT vs PACK VOLTAGE (1mA SETTING) 0.4 1 0 0.2 0 ERROR (%) ERROR (%) -1 -0.2 -2 -3 -4 -5 -0.4 -6 -0.6 2.7 2.9 3.1 3.3 3.5 -7 -40 3.7 -20 0 VCC (V) FIGURE 18. 4MHz OSCILLATOR ERROR vs VCC 40 60 80 100 120 FIGURE 19. 4MHz OSCILLATOR ERROR vs TEMPERATURE 0.4 1 0 0.2 -1 ERROR (%) ERROR (%) 20 TEMPERATURE (°C) -2 0 -0.2 -3 -0.4 -4 -5 -40 -20 0 20 40 60 TEMPERATURE (°C) 80 100 120 FIGURE 20. 32kHz OSCILLATOR ERROR vs TEMPERATURE Submit Document Feedback 17 -0.6 2.7 2.9 3.1 3.3 3.5 3.7 VCC (V) FIGURE 21. 32kHz OSCILLATOR ERROR vs VCC FN7938.1 April 23, 2015 ISL94212 Typical Performance Curves (Continued) 19 35 33 VBAT = 60V 15 29 13 27 VBAT = 39.6V 11 VBAT = 6V 25 23 VBAT = 39.6V (MASTER) 21 9 19 7 5 -60 VBAT = 60V (MASTER) 31 IVBAT (µA) IVBAT (µA) 17 17 -40 -20 0 20 40 60 80 100 VBAT = 6V (MASTER) 15 -60 120 -40 -20 FIGURE 22A. PACK VOLTAGE SLEEP CURRENT vs TEMPERATURE AT 6V, 39.6V, 60V (STANDALONE MODE) 40 60 80 100 120 35 33 33 VBAT = 60V (TOP) 31 31 29 VBAT = 39.6V (MID) 29 27 VBAT = 39.6V (TOP) IVBAT (µA) IVBAT (µA) 20 FIGURE 22B. PACK VOLTAGE SLEEP CURRENT vs TEMPERATURE AT 6V, 39.6V, 60V (DAISY CHAIN MODE) 35 25 23 21 27 25 VBAT = 60V (MID) 23 21 VBAT = 6V (TOP) 19 19 17 15 -60 0 TEMPERATURE ( °C ) TEMPERATURE ( °C ) 17 -40 -20 0 20 40 60 80 100 15 -60 120 VBAT = 6V (MID) -40 -20 TEMPERATURE ( °C ) 0 20 40 60 80 100 120 TEMPERATURE ( °C ) FIGURE 22C. PACK VOLTAGE SLEEP CURRENT vs TEMPERATURE AT 6V, 39.6V, 60V (DAISY CHAIN MODE) FIGURE 22D. PACK VOLTAGE SLEEP CURRENT vs TEMPERATURE AT 6V, 39.6V, 60V (DAISY CHAIN MODE) 120 850 VBAT = 60V (TOP) 800 VBAT = 60V 100 750 VBAT = 39.6V 700 IVBAT (µA) IVBAT (µA) 80 60 40 650 VBAT = 39.6V (TOP) 600 550 500 VBAT = 6V 20 VBAT = 6V (TOP) 450 0 -60 -40 -20 0 20 40 60 80 100 120 TEMPERATURE ( °C ) FIGURE 23A. PACK VOLTAGE SUPPLY CURRENT vs TEMPERATURE AT 6V, 39.6V, 60V (STANDALONE MODE) Submit Document Feedback 18 400 -60 -40 -20 0 20 40 60 TEMPERATURE ( °C ) 80 100 120 FIGURE 23B. PACK VOLTAGE SUPPLY CURRENT vs TEMPERATURE AT 6V, 39.6V, 60V (DAISY CHAIN TOP) FN7938.1 April 23, 2015 ISL94212 Typical Performance Curves 1500 (Continued) 850 VBAT = 60V (MID) VBAT = 60V (MASTER) 800 1400 750 700 1200 IVBAT (µA) IVBAT (µA) 1300 VBAT = 39.6V (MID) 1100 650 VBAT = 39.6V (MASTER) 600 550 1000 500 VBAT = 6V (MID) 900 VBAT = 6V (MASTER) 450 800 -60 -40 -20 0 20 40 60 80 100 400 -60 120 -40 -20 0 FIGURE 23C. PACK VOLTAGE SUPPLY CURRENT vs TEMPERATURE AT 6V, 39.6V, 60V (DAISY CHAIN MIDDLE) 80 100 120 11 IVBAT (µA) 10 9 VBAT = 39.6V (STANDALONE) 10 9 8 VBAT = 60V (STANDALONE) 6 -40 -20 0 20 40 60 80 TEMPERATURE ( °C ) 100 120 VBAT = 6V (MASTER) 6 5 -60 140 FIGURE 24A. PACK VOLTAGE SHUTDOWN CURRENT vs TEMPERATURE (EN = 0) AT 6V, 39.6V, 60V -40 -20 0 20 40 60 80 TEMPERATURE (°C) 100 120 140 FIGURE 24B. VBAT SHUTDOWN CURRENT vs TEMPERATURE (EN = 0) AT 6V, 39.6V, 60V 13 13 12 12 VBAT = 60V (MID) 11 10 10 IVBAT (µA) 11 9 VBAT = 39.6V (MID) 8 VBAT = 60V (TOP) 9 VBAT = 39.6V (TOP) 8 7 7 VBAT = 6V (MID) 6 5 -60 VBAT = 39.6V (MASTER) 7 7 5 -60 VBAT = 60V (MASTER) 12 VBAT = 6V (STANDALONE) 11 IVBAT (µA) 60 13 12 IVBAT (µA) 40 FIGURE 23D. PACK VOLTAGE SUPPLY CURRENT vs TEMPERATURE AT 6V, 39.6V, 60V (DAISY CHAIN MASTER) 13 8 20 TEMPERATURE ( °C ) TEMPERATURE ( °C ) -40 -20 0 20 40 60 80 TEMPERATURE (°C) 100 120 140 FIGURE 24C. VBAT VOLTAGE SHUTDOWN CURRENT vs TEMPERATURE (EN = 0) AT 6V, 39.6V, 60V Submit Document Feedback 19 VBAT = 6V (TOP) 6 5 -60 -40 -20 0 20 40 60 80 100 120 140 TEMPERATURE (°C) FIGURE 24D. VBAT VOLTAGE SHUTDOWN CURRENT vs TEMPERATURE (EN = 0) AT 6V, 39.6V, 60V FN7938.1 April 23, 2015 ISL94212 Typical Performance Curves (Continued) 1.06 3.50 3.45 1.05 SUPPLY CURRENT (mA) 3.40 IVCC (mA) 3.35 3.30 3.25 3.20 3.15 3.10 1.04 39.6V 1.03 60V 1.02 6V 1.01 1.00 3.05 3.00 -60 -40 -20 0 20 40 60 80 100 0.99 -40 120 -20 FIGURE 25. VCC SUPPLY CURRENT vs TEMPERATURE AT 6V, 39.6V, 60V 1.5 VC11 VC10 1.0 VC8 VC7 VC9 VC6 VC12 0.5 0 VC4 -0.5 -1.0 VC0 -1.5 -2.0 -2.5 -40 VC3 -20 VC2 0 VC1 20 40 60 TEMPERATURE (°C) 80 100 FIGURE 27. CELL INPUT CURRENT vs TEMPERATURE Submit Document Feedback 20 40 60 80 100 2.5 VC5 CELL INPUT CURRENT (µA) CELL INPUT CURRENT (µA) VCELL = 3.3V 20 FIGURE 26. V3P3 SUPPLY CURRENT vs TEMPERATURE 2.5 2.0 0 TEMPERATURE (°C) TEMPERATURE ( °C ) 120 2.0 VC11 VC10 VC9 1.5 VC8 VC7 1.0 VC6 VC5 0.5 VC12 VC4 0.0 -0.5 VC0 -1.0 -1.5 VC3 -2.0 VC2 VC1 -2.5 0 10 20 30 40 PACK VOLTAGE (V) 50 60 FIGURE 28. CELL INPUT CURRENT vs PACK VOLTAGE (+25°C) FN7938.1 April 23, 2015 ISL94212 Device Description and Operation The ISL94212 is a Li-ion battery manager IC that supervises up to 12 series connected cells. Up to 14 ISL94212 devices can be connected in series to support systems with up to 168 cells. The ISL94212 provides accurate monitoring, cell balance control, and diagnostic functions. The ISL94212 includes a voltage reference, 14 bit A/D converter and registers for control and data. An external microcontroller communicates to the ISL94212 through an SPI interface. Series connected ISL94212 devices communicate to each other via a proprietary daisy chain communications interface. The ISL94212 devices handle daisy chain communications differently depending on their position within the daisy chain. The ISL94212 at one end of the daisy chain acts as a master device for communication purposes. The master device, also called the bottom device, occupies the first position in the daisy chain and communicates to a host microcontroller using an SPI interface. A single daisy chain port then connects the master device to the next device in the daisy chain. The device at the other end of the daisy chain from the master is the top device. The top device has a single daisy chain port connection to the device below. Devices other than the master and top devices are middle devices. Middle devices have two daisy chain port connections. The up port connects to the device above while the down port connects to the device below. The master ISL94212 device is device number 1. The top device is device number n, where n equals the total number of ISL94212 devices in the daisy chain. The middle devices are numbered 2 to (n-1) with device number 2 being connected to the master device. If n = 2, then there is a master device and a top device, with no middle device. When multiple ISL94212 devices are connected to a series of cells, their power supply domains are normally non-overlapping. The lower (VSS) supply of each ISL94212 nominally connects to the same potential as the upper (VBAT) supply of the ISL94212 device below. The ISL94212 provides two multiple parameter measurement “scanning” modes in addition to single parameter direct measurement capability. These scanning modes provide pseudo simultaneous measurement of all cell voltages in the stack. In daisy chain applications all measurement data is sent with the corresponding device stack address (the position within the daisy chain), parameter identifier, and data address. In stand alone applications (non-daisy chain) data is sent without additional address information. This maximizes the throughput for full duplex SPI operation. Daisy chain communication throughput is maximized by allowing streamed data (accessed by a “read all data” address). The addressed device, the top device and the bottom device act as masters for the purposes of communications timing. All other devices are repeaters, passing data up or down the chain. The only filtering applied to the ADC measurements is that resulting from external protection circuits and the limited bandwidth of the measurement path. No additional filtering is performed within the part. This arrangement is typically needed Submit Document Feedback 21 to maintain timing integrity between the cell voltage and pack current measurements. The ISL94212 does not measure current. The system performs this separately using other measurement systems. However, the ISL94212 does apply filtering to the fault detection systems. Power Modes The ISL94212 has three main power modes: Normal mode, Sleep mode and Shutdown mode (“off”). Sleep mode is entered in response to a Sleep command or after a watchdog timeout. Only the communications input circuits, low speed oscillator and internal registers are active in Sleep mode, allowing the part to perform timed scan and balancing activity and to wake up in response to communications. Drive the enable pin low to place the part in Shutdown mode. When entering Shutdown mode, the internal bias for most of the IC is powered down except digital core, sleep mode regulators, and digital input buffers. When exiting, the device powers up and does not reload the factory programmed configuration data from EEPROM. The Normal mode consists of an Active state and a Standby state. In the Standby state, all systems are powered and the device is ready and waiting to perform an operation in response to commands from the host microcontroller. In the Active state, the device performs an operation, such as ADC conversion, open wire detection, etc. Measurement Modes The ISL94212 provides three types of measurement modes. • Scan Once • Scan Continuous • Measure In Scan Once mode the part performs the requested scan a single time. In Scan Continuous mode the ISL94212 performs repeated scans at intervals controlled by registers settings. Measure mode allows a single parameter to be measured. The ISL94212 ignores a Scan or Measure command, when the device is already in a scan mode or measure mode. But, the command passes through to other devices in the daisy chain. All other communications functions respond normally while the device is scanning or measuring. Measurement Mode Commands Measurement modes are activated by commands from an external microcontroller. The ISL94212 uses a memory mapped command structure. Commands are sent to the device using a memory read operation from a specific address. The addresses for the measurement mode commands1 are shown in Table 1. There are other commands that perform other actions, but these are discussed in other sections. 1. In this document, the terminology for a hex value (e.g., h0000) is modified by a leading value (e.g., 16’) which defines the number of bits. For the measurement mode command address, a value of 6’h02 refers to a binary value of ‘00 0010’. FN7938.1 April 23, 2015 ISL94212 TABLE 1. MEASUREMENT MODE COMMAND ADDRESSES REGISTER ADDRESS COMMAND SUFFIX COMMAND SCAN ONCE 6’h01 6’h00 Scan Voltages 6’h02 6’h00 Scan Temperatures 6’h03 6’h00 Scan Mixed 6’h04 6’h00 Scan Wires 6’h05 6’h00 Scan All 6’h00 Scan Continuous 6 bit addr of element to measure Measure SCAN CONTINUOUS 6’h06 MEASURE 6’h08 Scan Once Five different scan functions are available in single scan (Scan Once mode.) Each Scan function is activated by a command from the host microcontroller. The scan functions are: 1. Scan Voltages 2. Scan Temperatures 3. Scan Mixed 4. Scan Wires 5. Scan All The Scan Once functions are synchronous: all addressed stack devices begin scanning immediately following command receipt. There is a scan start latency between subsequent stack devices of one daisy chain clock cycle (e.g., for a stack of 10 devices with a daisy chain operating at 500kHz, the scan start latency between the bottom and top stack devices is approximately 20µs). Scan Voltages The Scan Voltages command causes the addressed part (or all parts if the common address is used) to scan through the cell voltage inputs followed by the Pack Voltage. IC temperature is also recorded for use with the internal calibration routines. Cell voltages connected to each device are scanned in order from cell-12 (top) to cell-1 (bottom). Cell overvoltage and undervoltage compares are performed on each cell voltage sample. The VBAT and VSS connections are also checked at the end of the scan. on each temperature measurement depending on the condition of the appropriate bit in the Fault Setup register. Temperature data, along with any fault conditions, are stored in local memory ready for reading by the system host microcontroller. If there is a fault condition, the device sets the FAULT pin and returns a fault signal (sent down the stack) on completion of a scan. Devices revert to the standby state on completion of the scan activity. Scan Mixed The Scan Mixed command causes the addressed part (or all parts if the common address is used) to scan through the cell voltage inputs (followed by the pack voltage) with a single external input (ExT1) interposed. IC temperature is also recorded for use with the internal calibration routines. Cell voltages connected to each device are scanned in order from cell-12 (top) to cell-1 (bottom). The external input ExT1 is scanned in the middle of the cell voltages such that half the cells are sampled before ExT1 and half after ExT1. This mode allows ExT1 to be used for an external voltage measurement, such as a current sensing and performs it along with the cell voltage measurements, reducing the latency between measurements. Cell overvoltage and cell undervoltage compares are performed on each cell voltage sample. The VBAT and VSS conditions are also checked at the end of the scan. The Scan Mixed command is intended for use in standalone systems, or by the Master device in stacked applications, and would typically measure a single system parameter, such as battery current. Other stack devices also measure their ExT1 input but these would normally be ignored by the host. Cell voltage, pack voltage and ExT1 data, along with any fault conditions are stored in local memory ready for reading by the system host microcontroller. Access the data from the ExT1 measurement by a direct Read ET1 Voltage command or by the All Temperatures read command. If there is a fault condition, the device sets the FAULT pin and returns a fault signal (sent down the stack) on completion of a scan. Devices revert to the standby state on completion of the scan activity. Scan Wires The Scan Wires command causes the addressed part (or all parts if the common address is used) to measure all the VCn pin voltages while applying load currents to each input pin in turn. This is part of the fault detection system. Cell voltage and pack voltage data, along with any fault conditions are stored in local memory ready for reading by the system host microcontroller. If there is a fault condition, the device sets the FAULT pin and returns a fault signal (sent down the stack) on completion of a scan. Devices revert to the standby state on completion of the scan activity. If there is a fault condition, the device sets the FAULT pin and returns a fault signal (sent down the stack) on completion of a scan. No cell voltage data is sent as a result of the Scan Wires command. Devices revert to the standby state on completion of this activity. Scan Temperatures Scan All The Scan Temperatures command causes the addressed part (or all parts if the common address is used) to scan through the internal and 4 external temperature signals followed by multiplexer loopback and reference measurements. The loopback and reference measurements are part of the internal diagnostics function. Over-temperature compares are performed The Scan All command incorporates the Scan Voltages, Scan Wires and Scan Temperatures commands and causes the addressed part (or all parts if the common address is used) to execute each of these three scan functions once, in sequence (see Figure 29 on page 25 for example on timing). Submit Document Feedback 22 FN7938.1 April 23, 2015 ISL94212 Scan Continuous Scan Continuous mode is used primarily for fault monitoring and incorporates the scan voltages, scan temperatures and scan wires commands. The Scan Continuous command causes the addressed part to set the SCAN bit in the Device Setup register and performs a succession of scans at a predetermined scan rate. Each device operates asynchronously on its own clock. This is similar to the Scan All command except that the scans are repeated at intervals determined by the SCN0-3 bits in the Fault Setup register. The Scan Inhibit command is used to stop scanning (i.e., receipt of this command by the target device resets the SCAN bit and stops the scan continuous function). The ISL94212 provides an option that pauses cell balancing activity while measuring cell voltages in Scan Continuous mode. This is controlled by the BDDS bit in the Device Setup register. If BDDS is set, then cell balancing is inhibited during cell voltage measurement and for 10ms before the cell voltages are scanned. Balancing is reenabled at the end of the scan to allow balancing to continue. This function only applies during the scan continuous and the auto balance functions and allows the implementation of a circuit arrangement that can be used to diagnose the condition of external balancing components. It is up to the host microcontroller to manually stop balancing functions (if required) when operating a scan once or measure command. The Scan Continuous scan interval is set using the SCN3:0 bits (lower nibble of the Fault Setup register.) The temperature and wire scans occur at slower rates and depend on the value of the scan interval selected. The scan system is synchronized such that the wire and temperature scans always follow a voltage scan. The three scan sequences, depending on the scans required at a particular instance, are as follows: • Scan Voltages • Scan Voltages, Scan Wires The response to a detected fault condition is to send the fault signal, either immediately in the case of standalone devices or daisy chain devices in Normal mode, or following transmission of the wakeup signal if the device is being used in a daisy chain configuration and is in Sleep mode. To operate the “Scan Continuous” function in Sleep mode the host microcontroller simply configures the ISL94212, starts the Scan Continuous mode and then sends the Sleep command. The ISL94212 then wakes itself up each time a scan is required. Note that for the fastest scan settings (scan interval codes 0000, 0001 and 0010) the main measurement functions do not power down between scans, since the ISL94212 remains in Normal mode. TABLE 2. SCAN CONTINUOUS TIMING MODES WIRE WIRE SCAN SCAN WSCN = 0 WSCN = 1 (ms) (ms) SCAN INTERVAL SCN3:0 SCAN INTERVAL (ms) TEMP SCAN (ms) 0000 16 512 512 512 0001 32 512 512 512 0010 64 512 512 512 0011 128 512 512 512 0100 256 1024 512 1024 0101 512 2048 512 2048 0110 1024 4096 1024 4096 0111 2048 8192 2048 8192 1000 4096 16384 4096 16384 1001 8192 32768 8192 32768 1010 16384 65536 16384 65536 1011 32768 131072 32768 131072 1100 65536 262144 65536 262144 • Scan Voltages, Scan Wires, Scan Temperatures. The temperature and wire scans occur at 1/5 the voltage scan rate for voltage scan intervals above 128ms. Below this value the temperature scan interval is fixed at 512ms. The behavior of the wire scan interval is determined by the WSCN bit in the Fault Setup register. A bit value of ‘1’ causes the wire scan to be performed at the same rate as the temperature scan. A bit value of ‘0’ causes the wire scan rate to track the voltage scan rate for voltage scan intervals above 512ms while at and below this value the wire scan is performed at a fixed 512ms rate. Table 2 shows the various scan rate combinations available. Data is not automatically returned while devices are in Scan Continuous mode except in the case where a fault condition is detected. The results of voltage and temperature scans are stored in local volatile memory and may be accessed at any time by the system host microcontroller. Devices may be operated in Scan Continuous mode while in Normal mode or in Sleep mode. Devices revert to the Sleep mode or remain in Normal mode, as applicable on completion of each scan. Submit Document Feedback 23 Measure This command allows a single cell voltage, internal temperature, any of the four external temperature inputs or the secondary voltage reference measurements to be made. The command incorporates a 6-bit suffix that contains the address of the required measurement element. See Table 3 on page 24. The device matching the target address responds by conducting the single measurement and loading the result to local memory. The host microcontroller then reads from the target device to obtain the measurement result. All devices revert to the standby state on completion of this activity. FN7938.1 April 23, 2015 ISL94212 TABLE 3. MEASURE COMMAND TARGET ELEMENT ADDRESSES MEASURE MEASURE ELEMENT COMMAND ADDRESS (SUFFIX) 6’h08 DESCRIPTION 6’h00 VBAT Voltage 6’h01 Cell 1 Voltage 6’h02 Cell 2 Voltage 6’h03 Cell 3 Voltage 6’h04 Cell 4 Voltage 6’h05 Cell 5 Voltage 6’h06 Cell 6 Voltage 6’h07 Cell 7 Voltage 6’h08 Cell 8 Voltage 6’h09 Cell 9 Voltage 6’h0A Cell 10 Voltage 6’h0B Cell 11 Voltage 6’h0C Cell 12 Voltage 6’h10 Internal temperature reading 6’h11 External temperature input 1 reading 6’h12 External temperature input 2 reading 6’h13 External temperature input 3 reading 6’h14 External temperature input 4 reading 6’h15 Reference voltage (raw ADC) value. Use to calculate corrected reference value using reference coefficient data. See page 2 data, address 6’h38 – 6’h3A. Cell Voltage Measurement Accuracy The cell voltage monitoring system comprises two basic elements; a level shift to eliminate the cell common mode voltage and an analog-to-digital conversion of the cell voltage. Each ISL94212 is calibrated at a specific cell input voltage value, VNOM. Cell voltage measurement error data is given in “MEASUREMENT SPECIFICATIONS” on page 9 for various voltage and temperature ranges with voltage ranges defined with respect to VNOM. Plots showing the typical error distribution over the full input range are included in the “Typical Performance Curves” section beginning on page 15. Submit Document Feedback 24 Temperature Monitoring One internal and four external temperature inputs are provided together with a switched bias voltage output (TEMPREG, pin 29). The voltage at the TEMPREG output is nominally equal to the ADC reference voltage such that the external voltage measurements are ratiometric to the ADC reference (see Figure 61 on page 85). The temperature inputs are intended for use with external resistor networks using NTC type thermistor sense elements but may also be used as general purpose analog inputs. Each temperature input is applied to the ADC via a multiplexer. The ISL94212 converts the voltage at each input and loads the 14-bit result to the appropriate register. The TEMPREG output is turned “on” in response to a Scan temperatures or Measure temperature command. A dwell time of 2.5ms is provided to allow external circuits to settle, after which the ADC measures each external input in turn. The TEMPREG output turns “off” after measurements are completed. Figure 29 on page 25 shows an example temperature scan with the ISL94212 operating in scan continuous mode with a scan interval of 512ms. The preceding voltage and wire scans are shown for comparison. The external temperature inputs are designed such that an open connection results in the input being pulled up to the full scale input level. This function is provided by a switched 10MΩ pull-up from each input to VCC. This feature is part of the fault detection system and is used to detect open pins. The internal IC temperature, along with the auxiliary reference voltage and multiplexer loopback signals, are sampled in sequence with the external signals using the scan temperatures command. The converted value from each temperature input is also compared to the external over-temperature limit and open connection threshold values on condition of the [TST4:1] bits in the Fault Setup register (see “Fault Setup:” on page 64.) If a TSTn bit is set to “1”, then the temperature value is compared to the external temperature threshold and a fault occurs if the measured value is lower than the threshold value. If a TSTn bit is set to “0”, then the temperature measurement is not compared to the threshold value and no fault occurs. The [TST4:1] bits are “0” by default. FN7938.1 April 23, 2015 ISL94212 512ms VOLTAGE SCAN 765µs WIRE SCAN 59.4ms TEMPERATURE SCAN 2.69ms 2.5V TEMPREG PIN Hi-Z Hi-Z Hi-Z 2.5ms ADC SAMPLING FIGURE 29. SCAN TIMING EXAMPLE DURING SCAN CONTINUOUS MODE AND SCAN ALL MODE Cell Balancing Functions Cell balancing is an important function in a battery pack consisting of a stack of multiple Li-ion cells. As the cells charge and discharge, differences in each cell’s ability to take on and give up charge, typically leads to cells with different states of charge. The problem with a stack of cells having different states of charge is that Li-ion cells have a maximum voltage, above which it should not be charged and a minimum voltage, below which it should not be discharged. The extreme case, where one cell in the stack is at the maximum voltage and one cell is at the minimum voltage, results in a nonfunctional battery stack, since the battery stack cannot be charged or discharged. Cell balancing is performed using external MOSFETs and external current setting resistors (see Figure 30 on page 30). Each MOSFET is controlled independently by the CB1 to CB12 pins of the ISL94212. The CB1 to CB12 outputs are controlled either directly, or indirectly by an external microcontroller through bits in various control registers. The balancing functions within the ISL94212 are controlled by multiple registers: • Balance Setup register (All balance modes, see Table 4) • Balance Status register (All balance modes, see Table 7 on page 26) Balance Setup Register TABLE 4. BALANCE SETUP REGISTER (ADDRESS 6’h13) 7 6 5 4 3 2 1 9 0 8 BSP2 BSP1 BSP0 BWT2 BWT1 BWT0 BMD1 BMD0 BEN BSP3 The Balance Setup register (see Table 7) contents break down into 4 sub groups. • Balance wait time: BWT[2:0] bits (also referred to as balance dwell time) • Balance status pointer: BSP[3:0] bits • Balance enable: BEN bit • Balance mode: BMD[1:0] bits BALANCE WAIT TIME The balance wait time control bits, BWT[2:0], set the interval between balancing operations in Auto Balance mode, as shown in Table 5. TABLE 5. BALANCE WAIT TIME CONTROL BITS BWT[2:0] SECONDS • Device Setup register (auto balance mode only, see Table 13 on page 30) 000 0 001 1 • Watchdog/Balance Time register (timed and auto balance modes, see Table 9 on page 27) 010 2 011 4 100 8 • Balance Values registers (auto balance only, see example in Table 11 on page 28) Additional registers are provided for the balance timeout (Timed mode and Auto Balance mode) and balance value (Auto Balance mode only). Submit Document Feedback 25 101 16 110 32 111 64 FN7938.1 April 23, 2015 ISL94212 BALANCE STATUS POINTER See “Balance Status Register”. BALANCE ENABLE When all of the other balance control bits are properly set, setting the balance Enable bit to “1” starts the balance operation. The BEN bit can be set by writing directly to the Balance Setup register or by sending a Balance Enable command. BALANCE MODE Three methods of cell balance control are provided (see Table 6). TABLE 6. BALANCE MODE CONTROL BITS BMD[1:0] BALANCE MODE 00 Off 01 Manual 10 Timed 11 Auto In Manual mode, the host microcontroller directly controls the state of each MOSFET output. In Timed mode, the host microcontroller programs a balance duration value and selects which cells are to be balanced, then starts the balance operation. The ISL94212 turns all the FETs off when the balance duration has been reached. In Auto Balance mode, the host microcontroller programs the ISL94212 to control the balance MOSFETs to remove a programmed “charge delta” value from each cell. The ISL94212 does this by controlling the amount of charge removed from each cell over a number of cycles, rather than trying to balance all cells to a specific voltage. Balance Status Register TABLE 7. BALANCE STATUS REGISTER AND BALANCE STATUS POINTER BALANCE STATUS REGISTER (ADDRESS 6’h14) BSP BAL BAL BAL BAL BAL BAL BAL BAL BAL BAL BAL BAL 8 7 6 5 4 3 2 1 [3:0] 12 11 10 9 0000 Reserved for Manual and Timed Balance modes 0001 Auto balance status register 1 0010 Auto balance status register 2 0011 Auto balance status register 3 0100 Auto balance status register 4 0101 Auto balance status register 5 0110 Auto balance status register 6 0111 Auto balance status register 7 1000 Auto balance status register 8 1001 Auto balance status register 9 1010 Auto balance status register 10 1011 Auto balance status register 11 1100 Auto balance status register 12 Submit Document Feedback 26 The Balance Status register contents control which external balance FET is turned on during a balance event. Each bit in the Balance Status register controls one external balancing FET, such that Bit 0 [BAL1] controls the cell 1 FET and Bit 11 [BAL12] controls the FET for cell 12 (see Table 7.) Bits are set to enable the balancing for that cell and cleared to disable balancing. The Balance Status register is a “multiple instance” register. There are 13 locations within this register. The Balance Status Pointer BSP[3:0] points to one of these 13 locations in the register (see Table 7). Only one location in the Balance Status register may be accessed at a time. The Balance Status register instance at pointer location 0 (BSP[3:0] = 0000) is used for Manual Balance mode and Timed Balance mode. The Balance Status register instances at pointer locations 1 to 12 (BSP[3:0] = 4’h1 to 4’hC) are used for Auto Balance mode. The arrangement is illustrated in Table 7. In Auto Balance mode, the ISL94212 increments the Balance Status pointer on each auto balance cycle to step through Balance Status register locations 1 to 12. This allows the programming of up to twelve different balance profiles for each Auto Balance operation. On each Auto Balance cycle, the Balance Status pointer increments by one. When the operation encounters a zero value at a pointer location, the Auto Balance operation returns to the pattern at location 1 and resumes balancing with that pattern. More information about the Auto Balance mode is provided in “Auto Balance Mode” on page 27. Example balancing setup information is provided in “Auto Balance Mode Cell Balancing Example” on page 88. Manual Balance Mode Select Manual Balance mode by setting the balance mode bits BMD[1:0] to 2’b01. To manually control the cells to be balanced, set the balance status pointer to zero: BSP[3:0] = 4’b0000. Then, program the cells to be balanced by setting bits in the Balance Status register (e.g., to balance cell 5, set the BAL5 bit to 1). Enable balancing, either by setting the BEN bit in the balance setup register or by sending a balance enable command. Disable balancing either by resetting the BEN bit or by sending a balance inhibit command. The balance enable and balance inhibit commands may be used with the “Address All” device address to control all devices in a stack simultaneously. Balancing is not possible in Manual Balance mode while the ISL94212 is in Sleep mode. If the watchdog timer is off and the Sleep command is received while the device is balancing, then balancing stops immediately and the device goes into the Sleep mode. If the watchdog timer is active during balancing and the device receives the Sleep command, then balancing also stops immediately and the device goes into the Sleep mode, but the WDTM bit is set when the watchdog timer expires. (see Table 8). FN7938.1 April 23, 2015 ISL94212 TABLE 8. MANUAL AND TIMED BALANCE MODE WATCHDOG TIMER, BALANCE, SLEEP OPERATION WATCHDOG TIMER ACTIONS Off Receiving a Sleep command immediately stops balancing and the device enters the Sleep mode. On If the device has not received a Sleep command before the watchdog timer expires, then when the watchdog timer does expire, balance stops, the WDTM bit is set and the device enters the Sleep mode. Receiving a Sleep command immediately stops balancing and the device enters the Sleep mode. Then, when the watchdog timer expires, the WDTM bit is set. The watchdog timer function protects the battery from excess discharge due to balancing, in the event that communications is lost while the part is in Manual Balance mode. All balancing ceases and the device goes into the Sleep mode if the watchdog timeout value is exceeded. Timed Balance Mode Select Timed Balance mode by setting the balance mode bits BMD[1:0] to 2’b10. To set up a timed balance operation, set the balance status pointer to zero: BSP[3:0] = 4’b0000. Then program the cells to be balanced by setting bits in the Balance Status register (e.g., to balance cells 7 and 10, set BAL7 and BAL10 bits to 1). Set the balance on time. The balance on time is programmable in 20 second intervals from 20 seconds to 42.5 minutes using BTM[6:0] bits. These bits are in locations [13:7] of the Watchdog/Balance Time register. See Tables 9 and 10 for details. TABLE 9. WATCHDOG/BALANCE TIME REGISTER (ADDRESS 6’h15) 7 6 5 13 4 12 3 11 2 10 1 9 0 8 BTM0 WDG6 WDG5 WDG4 WDG3 WDG2 WDG1 WDG0 BTM6 BTM5 BTM4 BTM3 BTM2 BTM1 Enable balancing, either by setting the BEN bit in the balance setup register or by sending a balance enable command. The selected balance FETs (corresponding to the bits set in balance status register location 4’b0000) turn on when BEN is asserted and turn off when the balance timeout period is met. Resetting BEN, either directly or by using the balance inhibit command stops the balancing functions and resets the timer values. When BEN is reasserted, or when a new balance enable command is received, balancing resumes, using the full time specified by the BTM[6:0] bits. When the balance timeout period is met, the End Of Balance (EOB) bit in the Device Setup register is set and BEN is reset. Balancing is not possible in the Timed Balance mode while the ISL94212 is in Sleep mode. If the watchdog timer is off and the Sleep command is received while the device is balancing, then balancing stops immediately and the device goes into Sleep mode. If the watchdog timer is active during balance and the device receives the Sleep command, then balancing also stops immediately and the device enters Sleep mode, but the WDTM bit is set when the watchdog timer expires (see Table 8). The watchdog can be disabled at any time by writing the watchdog password (6’h3A) to the watchdog password bits [WP5:0] in the Device Setup register (see Table 13 on page 30), and then writing 6’h00 to the watchdog timeout bits [WDG5:0] in the Watchdog/Balance time register (see Table 9). Auto Balance Mode Auto Balance mode provides the capability to perform balancing autonomously and in an intelligent manner. Thermal issues are accommodated by the provision of the multiple instance Balance Status register and a balance wait time. Cells are balanced with periodic measurements being performed at the balance cycle on time interval (see Table 10). These measurements are used to calculate the reduction in State of Charge (SOC) with each balancing cycle and to terminate balancing of a particular cell when the total SOC change target has been reached. Select Auto Balance mode by setting the balance mode bits BMD[1:0] to 2’b11. BTM[6:0] MINUTES In Auto Balance mode, the ISL94212 cycles through each balance status register instance and turns on the balancing outputs corresponding to the bits set in each balance status register instance. 0000000 Disabled AUTO BALANCE SEQUENCE 0000001 0.33 0000010 0.67 0000011 1.00 - - 1111101 41.67 1111110 42.00 1111111 42.33 TABLE 10. BALANCE CYCLE ON TIME SETTINGS Submit Document Feedback 27 The Auto Balance sequence is programmed using the “multiple instance” Balance Status register and the balance status pointer bits. The first cycle of the auto balance operation begins with the balance status pointer at location 1, specifying the first Balance Status register instance. For the next auto balance cycle, the balance status pointer increments to location 2. For each subsequent cycle, the pointer increments to the next Balance Status register instance, until a zero value instance is encountered. At this point the sequence repeats from the FN7938.1 April 23, 2015 ISL94212 balance status register instance at the balance status pointer location 1 until all the cells have met their SOC adjustment value. For example, to balance odd numbered cells during the first cycle and even numbered cells on the second cycle: (see example in “Cell Balancing – Auto Mode” on page 88.) • First set the balance status pointer to 1: BSP[3:0] = 0001. • Specify the even bits by setting Balance Status register bits 0, 2, 4, 6, 8 and 10 to “1”. Balance Status register = 14’h0555 • Set the balance status pointer to 2: BSP[3:0] = 0010. • Specify the odd bits by setting Balance Status register bits 1, 3, 5, 7, 9 and 11 to “1”. Balance Status register = 14’h0AAA • Set the balance status pointer to 3: BSP[3:0] = 0011. • Specify sequence termination by resetting all the bits in the Balance Status register to zero. The next cycle will go back to balance status pointer = 1. Balance Status register = 14’h0000. • Leave the balance status pointer to 3: BSP[3:0] = 0011. AUTO BALANCE TIMING Set the desired interval between balancing cycles using the balance wait time bits BWT[2:0] (locations [4:2] of the Balance Setup register), see Table 4 on page 25 and Table 5 on page 25. Set the balance cycle on time using the BTM[6:0] bits (locations [13:7] of the Watchdog/Balance Time register), see Tables 9 and 10 on page 27. Set or clear the BDDS bit, Bit 7 in the Device Setup register, as required. If BDDS is set, then cell balancing is turned off 10ms before the cell voltage scan at the end of each balance cycle. If BDDS is cleared, then balance functions remain “on” during Auto Balance mode cell scan measurements. BDDS must be set in Auto Balance mode when using the standard battery connection configuration shown in Figure 50 on page 73. AUTO BALANCE (DELTA SOC) VALUE The next step in setting up an Auto Balance operation is to program the balance value for each cell. The balance value (delta SOC) is the difference between the present charge in a cell and the desired charge for that cell. The method for calculating the state of charge for a cell is left to the system designer. Typically, determining the state of charge is dependent on the chosen cell type and manufacturer, is dependent on cell voltage, charge and discharge rates, temperature, age of the cell, number of cycles, and other factors. Tables for determining SOC are often available from the battery cell manufacturer. The balance value itself is a function of the current SOC, required SOC, balancing leg impedance, and sample interval. This value is calculated by the host microcontroller for each cell. The balancing leg impedance is made up of the external balance FET Submit Document Feedback 28 and balancing resistor. The sample interval is equal to the balance cycle on time period (e.g., each cell voltage is sampled at the end of the balance on time). The balancing value B for each cell is calculated using the formula shown in Equation 1. (See also “Balance Value Calculation Example” on page 88): 8191 Z B = ------------- CurrentSOC – T arg etSOC ----5 dt (EQ. 1) Where: B = the balance register value CurrentSOC = the present SOC of the cell (Coulombs) TargetSOC = the required SOC value (Coulombs) Z = the balancing leg impedance (ohms) dt = the sampling time interval (Balance cycle on time in seconds) 8191/5 = a voltage to Hex conversion value The balancing leg impedance is normally the sum of the balance FET rDS(ON) and the balance resistor. The balancing value (B) can also be defined as in the set of equations following. Auto balance is guided by Equations 2 and 3: V SOC = I t = ---- t Z (EQ. 2) Z V Z V B = SOC ----- = ---- t ----- = ----- t dt Z dt dt (EQ. 3) Where: dt = Balance cycle on time t = Total balance time Looking at Equations 2 and 3, the impedance drops out of the equation, leaving only voltage and time elements. Thus, “B” becomes a collection of voltages that integrate during the balance cycle on time, and accumulate over the total balance time period, to equal the programmed delta capacity. Twelve 28-bit registers are provided for the balance value for each cell. The balance values are programmed for all cells as needed using Balance Value registers 6’h20 to 6’h37 (see Table 11 for the contents of the CELL1 Balance Values Register). TABLE 11. BALANCE VALUES REGISTER CELL1 (ADDRESS 6’h20, 6’h21) ADDR 6’20 7 15 6 14 5 13 4 12 3 11 2 10 1 9 0 8 B0107 B0106 B0105 B0104 B0103 B0102 B0101 B0100 B0113 B0112 B0111 B0110 B0109 B0108 6’21 B0121 B0120 B0119 B0118 B0117 B0116 B0115 B0114 B0127 B0126 B0125 B0124 B0123 B0122 At the end of each balance cycle on time interval the ISL94212 measures the voltage on each of the cells that were balanced during that interval. The measured values are then subtracted from the balance values for those cells. This process continues until the balance value for each cell is zero, at which time the auto balancing process is complete. FN7938.1 April 23, 2015 ISL94212 AUTO BALANCE OPERATION Once all of the cell balance FET controls, the balance values and the timers are set up, balance is enabled either by setting the BEN bit in the Balance Setup register or by sending a balance enable command. Once enabled, the ISL94212 cycles through each instance of the Balance Status register for the duration given by the balance timeout. Between each balance status register instance, the device does a scan all operation and inserts a delay equal to the balance wait time. The process continues with the balance status pointer wrapping back to 1 until all the balance value registers equal zero. If one cell balance value register reaches zero before the others, balancing for that cell stops, but the others continue. Resetting BEN, either directly or by using the Balance Inhibit command, stops the balancing functions but maintains the current Balance Value register contents. Auto balancing continues from the balance status register location 1 when BEN is reasserted. When auto balancing is complete, the End of balance (EOB) bit in the Device Setup register is set and BEN bit is reset. Balancing is not possible using the Auto Balance Mode while the ISL94212 is in Sleep mode. If the sleep command is received while the device is balancing (and the watchdog timer is off) then balancing continues until it is finished and device enters Sleep mode. If the watchdog timer is active during the Auto Balance mode and the device receives the sleep command, then balancing immediately stops and device enters Sleep mode. The WDTM bit is set when the watchdog timer expires (see Table 12). The watchdog can be disabled at any time by writing the watchdog password (6’h3A) to the watchdog password bits [WP5:0] in the Device Setup register (see Table 13 on page 30) and then writing 6’h00 to the watchdog timeout bits [WDG5:0] in the Watchdog/Balance Time register (see Table 9 on page 27). Balance FET Drivers External balancing FETs are controlled by current sources or current sinks attached to the cell balancing (CB) pins. The gate voltage on each FET is then controlled by a locally placed gate-to-source resistor. Voltage clamps are included at each CB output to limit the maximum gate drive voltage. Series gate resistors are used to protect both the external FET and internal IC circuits from external voltage transient effects. An internal gate-to-source connected resistor is used to provide a redundant gate discharge path. A mix of N-channel and P-channel devices are used for the external FETs in order to remove the need for a charge pump. Cell 12, Cell 11 and Cell 10 balance positions use P-channel devices. The remaining positions use N-channel devices. The basic balance FET drive arrangement is shown in Figure 30. Additional circuit guidelines are provided in the “Typical Applications Circuits” on page 72. Reduced cell counts for fewer than 12 cells are accommodated by removing connections to the cells in the middle of the stack first. The top and bottom cell locations are always occupied. See “Operating the ISL94212 with Reduced Cell Counts” on page 78 for suggested cell configurations when using fewer than 12 cells. TABLE 12. AUTO BALANCE MODE WATCHDOG TIMER, BALANCE, SLEEP OPERATION WATCHDOG TIMER ACTIONS Off Receiving a Sleep command puts the device into Sleep mode when the auto balance operation is finished. On If the device has not received a Sleep command, then when the watchdog timer expires, balance stops, the WDTM bit is set and the device enters Sleep mode. When the device receives a Sleep command, balance stops immediately. When the watchdog timer expires, the WDTM bit is set and the device enters Sleep mode. Submit Document Feedback 29 FN7938.1 April 23, 2015 ISL94212 Device Setup Register TABLE 13. DEVICE SETUP REGISTER (ADDRESS 6’h19) 7 6 BDDS 5 13 4 12 3 11 ISCN SCAN EOB WP5 WP4 WP3 2 10 WP2 1 9 0 8 PIN37 PIN39 WP1 WP0 BDDS A function is provided to allow any cell balancing activity to be paused while measuring cell voltages in scan continuous mode and auto balance mode. This is controlled by the BDDS bit in the Device Setup register (address 6’h19) (see Table 13). If BDDS is set, then cell balancing is inhibited during cell voltage measurement and for 10ms before the cell voltage scan. Balancing is reenabled at the end of the scan. This function only applies during the scan continuous mode and the auto balance mode. It is up to the host microcontroller to manually stop balancing functions (if required) before sending a scan or measure command. WATCHDOG PASSWORD Before writing a zero to the watchdog timer, which turns off the timer, it is necessary to write a password to the [WP5:0] bits. The password value is 6’h3A. EOB This End of balance bit indicates that a Timed Balance mode or an Auto Balance mode has completed. SCAN This bit is set in response to a Scan Continuous command and cleared by the Scan Inhibit command. ISCN, PIN37, PIN39 The ISCN bit is used in the Open Wire scan. PIN37 and PIN39 bits show the state of the respective device pins. Cell Balance Enabled Register TABLE 14. CELLS BEING BALANCED REGISTER (ADDRESS 6’h3B) ISL94212 ISL78600 FIGURE 30. EXTERNAL FET DRIVING CIRCUITS Submit Document Feedback 30 7 6 5 13 4 12 3 11 2 10 1 9 0 8 CBEN 8 CBEN 7 CBEN 6 CBEN 5 CBEN 4 CBEN 3 CBEN 2 CBEN 1 CBEN 12 CBEN 11 CBEN 10 CBEN 9 To facilitate the system monitoring of the cell balance operation, the ISL94212 has a register that shows the present state of the balance drivers. Table 14 shows the Cells Being Balanced register, located on Page 2 at address 6’h3B. If the bit is “1” it indicates that the CBn output is enabled. A “0” indicates that the CBn output is disabled. FN7938.1 April 23, 2015 ISL94212 System Configuration V3P3 ISL94212 The ISL94212 provides two communications systems. An SPI synchronous port is provided for communication between a microcontroller and the ISL94212. For standalone (non-daisy chain) systems, the SPI port is the only port needed. In systems where there is more than one ISL94212, daisy chain (asynchronous) ports provide communication between the SPI port on the Master and other ISL94212 devices. COMMS SELECT2 COMMS SELECT1 VSS V3P3 ISL94212 The communications setup is controlled by the COMMS SELECT 1 and COMMS SELECT 2 pins on each device. These pins specify whether the ISL94212 is a standalone device, the daisy chain master, the daisy chain top, or a middle position in the daisy chain. See Figures 31 and 32 and Table 15. This configuration also specifies the use of SPI or daisy chain on the communication ports. TABLE 15. COMMUNICATIONS MODE CONTROL COMMS COMMS SELECT 1 SELECT 2 PORT 1 COMM PORT 2 COMM 0 SPI (Full Duplex) Disabled Standalone 0 1 SPI (Half Duplex) Enabled 1 0 Daisy Chain Disabled Daisy Chain, Top device setting 1 1 Daisy Chain Enabled Daisy Chain, Master device setting Daisy Chain Middle device setting SPI VSS FIGURE 31. NON-DAISY CHAIN COMMUNICATIONS CONNECTIONS AND SELECT All communications are conducted through the SPI port in single 8-bit byte increments. The MSB is transmitted first and the LSB is transmitted last. . Commands in non-daisy chain systems are composed of a read/write bit, page address (3 bits), data address (6 bits) and data (6 bits). Commands in daisy chain systems are composed of a device address (4 bits), a read/write bit, page address (3 bits), data address (6 bits), data (6 bits), and CRC (4 bits). Commands and data are memory mapped to 14-bit data locations. The memory map is arranged in pages. Pages 1 and 2 are used for volatile data. Page 3 contains the action and communications administration commands. Page 4 accesses non-volatile memory. Page 5 is used for factory test. Submit Document Feedback 31 COMMS SELECT2 COMMS SELECT1 Daisy Down VSS V3P3 ISL94212 Daisy Up COMMS SELECT2 COMMS SELECT1 SPI VSS FIGURE 32. DAISY CHAIN COMMUNICATIONS CONNECTIONS AND SELECTION SPI Interface The ISL94212 operates as a SPI slave capable of bus speeds up to 2Mbps. Four lines make up the SPI interface: SCLK, DIN, DOUT and CS. The SPI interface operates in either full duplex or half duplex mode depending on the daisy chain status of the part. ISL94212 COMMS SELECT2 COMMS SELECT1 Daisy Up COMMUNICATIONS CONFIGURATION 0 Daisy Down The DOUT line is normally tri-stated (high impedance) to allow use in a multidrop bus. DOUT is only active when CS is low. Full Duplex Operation In non-daisy chain applications, the SPI bus operates as a standard, full duplex, SPI port. Read and write commands are sent to the ISL94212 in 8-bit blocks. CS is taken high between each block. Data flow is controlled by interpreting the first bit of each transaction and counting the requisite number of bytes. It is the host microcontroller’s responsibility to ensure that commands are correctly formulated as an incorrect formulation, (e.g., read bit instead of write bit), would cause the port to lose synchronization. There is a timeout period associated with the CS inactive (high) condition, which resets all the communications counters. This effectively resets the SPI port to a known starting condition. If CS stays high for more than 100µs then the SPI state machine resets. The ISL94212 responds to read commands by loading the requested data to its output buffer. The output buffer contents are then loaded to the shift register when CS goes low and are shifted out on the DOUT line on the falling edges of SCLK. This sequence continues until all the requested data has been sent. All single register read commands and responses are 2-bytes long. All bytes are handled in pairs during device reads. Device writes are 3-bytes long. FN7938.1 April 23, 2015 ISL94212 A pending device response from a previous command is sent by the ISL94212 during the first 2 bytes of the 3-byte Write transaction. The third byte from the ISL94212 is then discarded by the host microcontroller. This maintains sequencing during 3-byte (Write) transactions. 3. The host microcontroller asserts CS low and clocks 8 bits of data out of DOUT using SCLK. 4. The host microcontroller then raises CS. The ISL94212 responds by raising DATA READY and tri-stating DOUT. 5. The ISL94212 reasserts DATA READY for the next byte and so on. Half Duplex Operation The host microcontroller must service the ISL94212 if DATA READY is low before sending further commands. Any data sent to DIN while DATA READY is low is ignored by the ISL94212. The SPI operates in half duplex mode in Daisy Chain applications (see Table 15 on page 31). Data flow is controlled by a handshake system using the DATA READY and CS signals. DATA READY is controlled by the ISL94212. CS is controlled by the host microcontroller. This handshake accommodates the delay between command receipt and device response due to the latency of the daisy chain communications system. A 4 byte data buffer is provided for SPI communications. This accommodates all single transaction responses. Multiple responses, such as those that may be produced by a device detecting an error would overflow this buffer. It is important therefore that the host microcontroller reads the first byte of data before a 5th byte arrives on the Master device’s daisy chain port so as not to risk losing data. Responses from stack devices are received by the stack Master (stack bottom device). The stack Master then asserts its DATA READY output once the first full data byte is available. The host microcontroller responds by asserting CS and clocking the data out of the DOUT port. The DATA READY line is then cleared and DOUT is tri-stated in response to CS being taken high. In this mode the DIN and DOUT lines may be connected externally. The DATA READY output from the ISL94212 is not asserted if CS is already asserted. It is possible for the microcontroller to interrupt a sequential data transfer by asserting CS before the ISL94212 asserts DATA READY. This causes a conflict with the communications and is not recommended. A conflict created in this manner would be recognized by the microcontroller either not receiving the expected response or receiving a communications failure notification. Half duplex communications are conducted using the DATA READY/CS handshake as follows: 1. The host microcontroller sends a command to the ISL94212 using the CS line to select the ISL94212 and clocking data into the ISL94212 DIN pin. Interface timing for full and half duplex SPI transfers are shown in Figures 2 and 3 on page 14. 2. The ISL94212 asserts DATA READY low when it is ready to send data to the host microcontroller. When DATA READY is low, the ISL94212 is in transmit mode and will ignore any data on DIN. Examples of full duplex SPI read and write sequences are shown in Figures 33 and 34. CS SCLK Note 10 Note 1 Note 110 Note DOUT Note 11 Note 2 MSB DIN 1 0 LSB 1 DA TA TYPE 0 0 1 0 0 0 1 0 DATA ADD RESS 0 1 1 1 0 0 1 1 0 0 1 1 0 CELL U ND ERVOLTAGE TH RESH OLD D ATA HIGH IM PEDANCE NOTES: 10. Last data byte pair from previous command. NOT DETERM INED 11. Not defined. AC TIVE FIGURE 33. SPI WRITE EXAMPLE: WRITE UNDERVOLTAGE THRESHOLD DATA Submit Document Feedback 32 FN7938.1 April 23, 2015 ISL94212 CS SC LK Note 12 Note 1 Note N ote 12 1 D OUT 0 0 0 1 0 1 1 1 0 0 0 0 1 0 1 0 C ELL 7 DA TA D IN 0 0 0 1 0 0 DATA TYPE 0 1 1 1 0 0 0 0 0 Note Note133 0 Note 13 Note 3 DA TA A DD RESS HIGH IM PEDAN CE NOTES: NOT D ETER MIN ED 12. Last data byte pair from previous command. ACTIVE 13. Next command (or 8’h00 if no command). FIGURE 34. SPI READ EXAMPLE: READ CELL 7 DATA Non-daisy Chain Systems In non-daisy chain (standalone) systems, all communications sent from the master are 2 or 3 bytes in length. Data read and action commands are 2 bytes. Data writes are 3 bytes. Device responses are 2 bytes in length and contain data only. timeout period. The communications interface is reset after the timeout period. The following commands have no meaning in non-daisy chain systems such as: • Identify Commands are composed of a read/write bit, page (3 bits), data address (6 bits) and data (6 bits). • ACK Action commands, such as scan and communications administration commands are treated as reads. The Sleep and Wakeup commands are sent as normal commands. Non-daisy chain communications are conducted without CRC (Cyclical Redundancy Check) error detection. The device resets on receipt of the Reset command. The rules for non-daisy chain installations are shown in Table 16. Alarm Signals TABLE 16. ISL94212 DATA INTERPRETATION RULES FOR NON-DAISY CHAIN INSTALLATIONS FIRST BIT IN SEQUENCE PAGE DATA ADDRESS 0 011 001000 Measure command. Last six bits of transmission contain element address. 0 Any All other Device read or action command. Last six bits of transmission are zero. 1 Any Any INTERPRETATION Device write command. Normal Communications Non-daisy chain devices do not generate a response to write or system level commands. Data integrity may be verified by reading register contents after writing. The ISL94212 does nothing in response to a write or administration command that is not recognized. An unrecognized read command returns 16’h0000. An incomplete command, such as may occur if communications are interrupted, is registered as an unrecognized command either when CS is taken high or after a Submit Document Feedback 33 • NAK The FAULT logic output is asserted low in response to a fault condition. The output then remains low until the bits of the Fault Status register are reset. The host microcontroller writes 14’h0000 to this register to clear the bits. Bits in the fault data registers must first be cleared before the associated bits in the Fault Status register can be cleared. Additionally, the fault status of each part may be obtained at any time by reading the Fault Status register. The FAULT logic output is asserted in Sleep mode, if a fault has been detected and has not been cleared. Communication Faults There is no specific response to a communications fault. A fault is indicated by an absence of normal communications function. Non-daisy chain device responses are 2-byte sequences containing 14-bit data with leading zeros. Non-daisy chain responses are conducted without CRC (Cyclical Redundancy Check) error detection. FN7938.1 April 23, 2015 ISL94212 When a standalone device is in Sleep mode, the device may still detect faults if operating in the Scan Continuous mode. If an error occurs, the FAULT output pin is asserted low. Example Communications 0 0 1 0 1 1 1 0 0 R/W 0 0 1 0 1 0 0 1 BYTE 1 1 0 0 1 0 ELEMENT ADDRESS (5, 0) 0 0 0 BYTE 1 0 0 1 0 BYTE 0 1 LSB BYTE 0 PAGE DATA ADDRESS (19, 14) DATA (13, 0) 1 0 1 0 0 1 0 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 MSB MSB 0 DATA ADDRESS (11, 6) FIGURE 36E. DEVICE LEVEL COMMAND: MEASURE CELL 5 VOLTAGE DATA (13, 0) 0 PAGE (14, 12) MSB An example read response is shown in Figure 35. LDG. ZERO (15, 14) R/W Fault Response in Sleep Mode BYTE 2 BYTE 1 BYTE 0 LSB LSB FIGURE 35. NON-DAISY CHAIN DEVICE RESPONSE EXAMPLE: CELL 7 VOLTAGE = 16’h170A (3.6V) FIGURE 36F. DEVICE WRITE: WRITE EXTERNAL TEMPERATURE LIMIT = 14’h0FFF FIGURE 36. NON-DAISY CHAIN DEVICE READ AND WRITE EXAMPLES R/W Examples of the various write command structures for non-daisy chain installations are shown in Figures 36A through 36F. 0 DATA ADDRESS (11, 6) PAGE (14, 12) 0 1 MSB 1 0 0 1 0 The daisy chain communication is intended for use with large stacks of battery cells where a number of ISL94212 devices are used. TRAILING ZEROS (5, 0) 1 0 0 BYTE 1 0 0 0 0 BYTE 0 0 LSB R/W FIGURE 36A. DEVICE LEVEL COMMAND: SLEEP 0 0 1 MSB 1 TRAILING ZEROS (5, 0) DATA ADDRESS (11, 6) PAGE (14, 12) 0 0 1 1 1 1 0 BYTE 1 0 0 0 0 BYTE 0 0 LSB R/W FIGURE 36B. DEVICE LEVEL COMMAND: WAKE UP 0 0 0 MSB 1 TRAILING ZEROS (5, 0) DATA ADDRESS (11, 6) PAGE (14, 12) 0 0 0 1 1 1 0 BYTE 1 0 0 0 0 BYTE 0 0 LSB R/W FIGURE 36C. DEVICE READ: GET CELL 7 DATA 0 MSB 0 1 1 TRAILING ZEROS (5, 0) DATA ADDRESS (11, 6) PAGE (14, 12) 0 0 0 0 BYTE 1 0 1 0 0 0 BYTE 0 0 0 Daisy Chain Systems Daisy Chain Ports A daisy chain consists of a bottom device, a top device and up to 12 middle devices. The ISL94212 device located at the bottom of the stack is called the Master and communicates to the host microcontroller using SPI communications and to other ISL94212 devices using the daisy chain port. Each middle device provides two daisy chain ports: one is connected to the ISL94212 above in the stack and the other to the ISL94212 below. Communications between the SPI and daisy chain interfaces are buffered by the master device to accommodate timing differences between the two systems. The daisy chain ports are fully differential, DC balanced, bidirectional and AC-coupled to provide maximum immunity to EMI and other system transients while only requiring two wires for each port. Four operating data rates are available and are configurable by pin selection using the COMMS RATE 0 and COMMS RATE 1 pins (see Table 17). TABLE 17. DAISY CHAIN COMMUNICATIONS DATA RATE SELECTION COMMS RATE 0 COMMS RATE 1 DATA RATE (kHz) 0 0 62 0 1 125 1 0 250 1 1 500 0 LSB FIGURE 36D. DEVICE LEVEL COMMAND: SCAN VOLTAGES Maximum operating data rates is 2Mbps for the SPI interface. When using the daisy chain communications system it is recommended that the synchronous communications data rate be at least twice that of the daisy chain system. The communications pins are monitored when the device is in Sleep mode, allowing the part to wake up in response to communications. Submit Document Feedback 34 FN7938.1 April 23, 2015 ISL94212 Communications Protocol All daisy chain communications are passed from device to device such that all devices in the stack receive the same information. Each device then decodes the message and responds as needed. The originating device (Master in the case of commands, addressed device or top stack device in the case of responses) generates the system clock and data stream. Each device delays the data stream by one clock cycle. Each device knows its stack location (see command “Identify” on page 40). Each device knows the total number of devices in the stack. Each originating device adds a number of clock pulses to the daisy chain data stream to allow transmission through the stack. All communications from the host microcontroller are passed from device to device to the last device in the chain (top device). The top device responds to read and write messages with an “ACK” (or with the requested data if this is the addressed device and the message was a read command). The addressed device then waits to receive the “ACK” before responding. With data, in the case of a read, or with an “ACK” in the case of a write. Action commands such as the Scan commands do not require a response. A read or write communications transmission is only considered to be complete following receipt of a response from the target device or the identification of a communications fault condition. The host microcontroller should not transmit further data until either a response has been received from the target stack device or a communications fault condition has been identified. A normal daisy chain communications sequence for a stack of 10 devices: read device 4, cell 7 data, is illustrated in Figure 37 on page 35. The maximum response time: time from the rising edge of CS at the end of the first byte of a read/write command, sent by the host microcontroller, to the assertion of DATA READY by the master device, is given in Table 18 for various daisy chain data rates. TABLE 18. MAXIMUM RESPONSE TIMES FOR DAISY CHAIN READ AND WRITE COMMANDS. STACK OF 10 DEVICES MAXIMUM TIME TO ASSERTION OF DATA READY UNIT Daisy Chain Data Rate 500 250 125 62.5 kHz Response Time 240 480 960 1920 µs SCLK DIN SPI A A A DOUT B B B B CS DATA READY PACKET A MASTER TX 10 EXTRA CLOCKS MASTER RX PACKET B 4 EXTRA CLOCKS 4 DAISY CLOCK PULSES DAISY CHAIN DEVICE 4 TX 6 EXTRA CLOCKS PACKET B ACK PACKET A DEVICE 4 RX ACK DEVICE 10 TX DEVICE 10 RX PACKET A NO EXTRA CLOCKS 10 Extra Clocks 5 EXTRA CLOCKS NO EXTRA CLOCKS 10 DAISY CLOCK PULSES • Host microcontroller sends “Read device 4, cell 7” = Packet A • Device 4 receives and decodes ACK. • Master begins relaying Packet A following receipt of the 1st • Device 4 transmits the cell 7 data = Packet B. Device 4 subtracts one clock cycle to synchronize timing for lower stack devices to relay the message. byte of A. Master adds 10 extra clock cycles to allow all stack devices to relay the message. • Device 4 receives and decodes “Read device 4, cell 7” and waits for a response from top stack device. • Master asserts DATA READY after receiving the 1st byte of Packet B. • Top stack device (device 10) receives and decodes Packet A. • Host responds by asserting CS and clocking out 8 bits of data from DOUT. CS is taken high following the 8th bit. The master responds by taking DATA READY high and tri-stating DOUT. Master asserts DATA READY after receiving the next byte and so on. • Device 10 responds “ACK”. Device 10 adds 10 clock cycles to allow all stack devices to relay the message. FIGURE 37. DAISY CHAIN READ EXAMPLE “READ DEVICE 4, CELL 7”, STACK OF 10 DEVICES Submit Document Feedback 35 FN7938.1 April 23, 2015 ISL94212 TABLE 19. ISL94212 DATA INTERPRETATION RULES FOR DAISY CHAIN INSTALLATIONS 5TH BIT (R/W) PAGE DATA ADDRESS Stack address [3:0] (nonzero) 0 011 001000 Measure command. Data address is followed by 6-bit element address. 0000 0 011 001001 Identify command. Data address is followed by device count data. Stack address [3:0] (nonzero) 0 Any All other Device Read command. Data address is followed by 6 zeros. Stack address [3:0] (nonzero) 1 Any Any FIRST 4 BITS IN SEQUENCE INTERPRETATION Device Write command. Communication Sequences All Daisy chain device responses are 4-byte sequences, except for the responses to the Read All command. All responses start with the device stack address. All responses use a 4-bit CRC. The response to the “Read All Commands” is to send a normal 4-byte data response for the first data segment and continue sending the remaining data segments in 3-byte sections composed of data address, data and CRC. This creates an anomaly with the normal CRC usage in that the first 4 bytes have a 4-bit CRC at the end (operating on 3.5 bytes of data) while the remaining bytes have a CRC which only operates on 2.5 bytes. The host microcontroller, having requested the data, must be prepared for this. Daisy chain devices require device stack address information to be added to the basic command set. Daisy chain writes are 4-byte sequences. Daisy chain reads are 3 bytes. Action commands, such as scan and communications administration commands are treated as reads. Daisy chain communications employ a 4-bit CRC (Cyclic Redundancy Check) using a polynomial of the form 1 + x + x4. The first four bits of each Daisy chain transmission contain the stack address, which can be any number from 0001 to 1110. All devices respond to the Address All (1111) and Identify (0000) stack addresses. The fifth bit is set to ‘1’ for write and ‘0’ for read. The rules for daisy chain installations are shown in Table 19. CRC Calculation Daisy chain communications employ a 4-bit CRC using a polynomial of the form 1 + x + x4. The polynomial is implemented as a 4 stage internal XOR standard linear feedback shift register as shown in Figure 38. The CRC value is calculated using the base command data only. The CRC value is not included in the calculation. The host microcontroller calculates the CRC when sending commands or writing data. The calculation is repeated in the ISL94212 and checked for compliance. The ISL94212 calculates the CRC when responding with data (device reads). The host microcontroller then repeats the calculation and checks for compliance. DIN + + FF0 FF1 FF2 FF3 FIGURE 38. 4-BIT CRC CALCULATION Submit Document Feedback 36 FN7938.1 April 23, 2015 ISL94212 Attribute VB_Name = "isl94212evb_crc4_lib" ' File - isl94212evb_crc4_lib.bas ' Copyright (c) 2010 Intersil ' ----------------------------------------------------------------------------Option Explicit '*********************************************************** ' CRC4 Routines '*********************************************************** Public Function CheckCRC4(myArray() As Byte) As Boolean 'returns True if CRC4 checksum (low nibble of last byte in myarray) 'is good. Array can be any length Dim crc4 As Byte Dim lastnibble As Byte lastnibble = myArray(UBound(myArray)) And &HF crc4 = CalculateCRC4(myArray) If lastnibble = crc4 Then CheckCRC4 = True Else CheckCRC4 = False End If arraycopy(i) = myArray(i) Next 'initialize bits bit0 = False bit1 = False bit2 = False bit3 = False 'simple implementation of CRC4 (using polynomial 1 + X + X^4) For i = LBound(arraycopy) To UBound(arraycopy) 'last nibble is ignored for CRC4 calculations If i = UBound(arraycopy) Then k=4 Else k=8 End If For j = 1 To k 'shift left one bit carry = (arraycopy(i) And &H80) > 0 arraycopy(i) = (arraycopy(i) And &H7F) * 2 End Function Public Sub AddCRC4(myArray() As Byte) 'adds CRC4 checksum (low nibble in last byte in array) 'array can be any length Dim crc4 As Byte crc4 = CalculateCRC4(myArray) myArray(UBound(myArray)) = (myArray(UBound(myArray)) And &HF0) Or crc4 End Sub Public Function CalculateCRC4(ByRef myArray() As Byte) As Byte 'calculates/returns the CRC4 checksum of array contents excluding 'last low nibble. Array can be any length Dim size As Integer Dim i As Integer Dim j As Integer Dim k As Integer Dim bit0 As Boolean, bit1 As Boolean, bit2 As Boolean, bit3 As Boolean Dim ff0 As Boolean, ff1 As Boolean, ff2 As Boolean, ff3 As Boolean Dim carry As Boolean Dim arraycopy() As Byte Dim result As Byte 'copy data so we do not clobber source array ReDim arraycopy(LBound(myArray) To UBound(myArray)) As Byte For i = LBound(myArray) To UBound(myArray) 'see ISL94212 datasheet, Fig 11: 4-bit CRC calculation ff0 = carry Xor bit3 ff1 = bit0 Xor bit3 ff2 = bit1 ff3 = bit2 bit0 = ff0 bit1 = ff1 bit2 = ff2 bit3 = ff3 Next j Next i 'combine bits to obtain CRC4 result result = 0 If bit0 Then result = result + 1 End If If bit1 Then result = result + 2 End If If bit2 Then result = result + 4 End If If bit3 Then result = result + 8 End If CalculateCRC4 = result End Function FIGURE 39. CRC CALCULATION ROUTINE (VISUAL BASIC) EXAMPLE Submit Document Feedback 37 FN7938.1 April 23, 2015 ISL94212 Daisy Chain Addressing When used in a daisy chain system each individual device dynamically assigns itself a unique address (see “Identify” on page 40). In addition, all daisy chain devices respond to a common address allowing them to be controlled simultaneously (e.g., when using the balance enable and balance inhibit commands). See “Communication and Measurement Diagrams” on page 50 and “Communication and Measurement Timing Tables” on page 56. TABLE 20. COMMS SETUP REGISTER (ADDRESS 6’h18) 1 1 MSB 1 R/W 1 PAGE (18, 16) 0 0 1 1 6 5 13 4 12 SIZE3 SIZE2 SIZE1 SIZE0 0 1 BYTE 2 2 10 1 9 0 8 ADDR3 ADDR2 ADDR1 ADDR0 CRAT0 CSEL2 CSEL1 Examples of the various read and write command structures for daisy chain installations are shown in Figures 40C through 40G. The MSB is transmitted first and the LSB is transmitted last. DATA ADDRESS (15, 10) 0 3 11 CRAT1 The state of the COMMS SELECT 1, COMMS SELECT 2, COMMS RATE 0, and COMMS RATE 1 pins can be checked by reading the CSEL[2:1] and CRAT[1:0] bits in the Comms Setup register, (see Table 20). The SIZE[3:0] bits show the number of devices in the daisy chain and the ADDR[3:0] bits indicate the location of a device within the Daisy Chain. DEVICE ADDRESS (23, 20) 7 0 CRC (3, 0) ZERO (9, 4) 1 0 0 0 0 0 0 0 1 1 1 LSB BYTE 0 BYTE 1 0 DEVICE ADDRESS (23, 20) 1 1 1 MSB 1 R/W FIGURE 40A. DEVICE LEVEL COMMAND: SLEEP PAGE (18, 16) 0 0 1 1 DATA ADDRESS (15, 10) 0 0 1 BYTE 2 1 1 ZERO (9, 4) 1 0 0 0 0 CRC (3, 0) 0 BYTE 1 0 0 1 1 1 LSB BYTE 0 DEVICE ADDRESS (23, 20) 1 0 0 MSB 1 R/W FIGURE 40B. DEVICE LEVEL COMMAND: WAKE UP PAGE (18, 16) 0 0 1 1 DATA ADDRESS (15, 10) 0 0 0 BYTE 2 0 0 ZERO (9, 4) 1 0 0 0 0 CRC (3, 0) 0 BYTE 1 0 1 1 1 1 LSB BYTE 0 DEVICE ADDRESS (23, 20) 1 0 0 MSB 1 R/W FIGURE 40C. DEVICE LEVEL COMMAND: DEVICE 9, SCAN VOLTAGES PAGE (18, 16) 0 0 0 1 DATA ADDRESS (15, 10) 0 0 0 BYTE 2 1 1 CRC (3, 0) ZERO (9, 4) 1 0 0 0 0 0 BYTE 1 0 1 1 0 0 LSB BYTE 0 DEVICE ADDRESS (23, 20) 0 MSB 1 0 0 R/W FIGURE 40D. DEVICE READ: DEVICE 9, GET CELL 7 DATA PAGE (18, 16) 0 0 BYTE 2 1 1 DATA ADDRESS (15, 10) 0 0 1 0 0 BYTE 1 ELEMENT ADDRESS (9, 4) 0 0 0 0 1 0 CRC (3, 0) 1 0 BYTE 0 1 0 1 LSB FIGURE 40E. ELEMENT LEVEL COMMAND: DEVICE 4, MEASURE CELL 5 VOLTAGE Submit Document Feedback 38 FN7938.1 April 23, 2015 DEVICE ADDRESS (23, 20) 0 0 0 MSB 0 R/W ISL94212 PAGE (18, 16) 0 0 1 1 DATA ADDRESS (15, 10) 0 0 1 BYTE 2 0 DEVICE COUNT (9, 4) 0 1 0 0 0 0 CRC (3, 0) 0 BYTE 1 0 0 1 0 0 LSB BYTE 0 DEVICE ADDRESS (31, 28) 0 1 1 MSB 1 R/W FIGURE 40F. IDENTIFY COMMAND PAGE (26, 24) 1 0 1 0 DATA ADDRESS (23, 18) 0 1 0 BYTE 3 0 DATA (17, 4) 1 0 0 0 1 1 1 BYTE 2 1 1 1 CRC (3, 0) 1 1 1 1 1 1 1 0 0 LSB BYTE 0 BYTE 1 0 FIGURE 40G. DEVICE WRITE: DEVICE 7, WRITE EXTERNAL TEMPERATURE LIMIT = 14’h0FFF FIGURE 40. DAISY CHAIN DEVICE READ AND WRITE EXAMPLES DEVICE ADDRESS (31, 28) 1 0 0 MSB 1 R/W Response examples are shown in Figures 41A through 41D. PAGE (26, 24) 0 0 0 1 DATA ADDRESS (23, 18) 0 0 0 BYTE 3 1 CRC (3, 0) DATA (17, 4) 1 1 0 1 0 1 1 1 0 0 0 0 1 0 1 BYTE 1 BYTE 2 0 0 1 0 0 LSB BYTE 0 DEVICE ADDRESS (31, 28) 1 0 1 MSB 0 R/W FIGURE 41A. DEVICE DATA RESPONSE: DEVICE 9, CELL 7 VOLTAGE = 14’h170A (3.6V) PAGE (26, 24) 0 0 1 1 DATA ADDRESS (23, 18) 0 0 1 BYTE 3 1 ZEROS (17, 4) 0 0 0 0 0 0 0 BYTE 2 0 0 0 CRC (3, 0) 0 0 0 0 0 0 0 1 0 LSB BYTE 0 BYTE 1 0 DEVICE ADDRESS (31, 28) 0 0 0 MSB 0 R/W FIGURE 41B. DEVICE COMMUNICATIONS ADMINISTRATION RESPONSE: DEVICE 10, ACK 0 BYTE 3 DATA ADDRESS (23, 18) PAGE (26, 24) 0 1 1 0 0 1 0 DEVICE TYPE/ ADDRESS (17, 4) 0 BYTE 2 1 0 0 0 0 0 0 0 BYTE 1 0 1 CRC (3, 0) 1 0 1 0 0 0 BYTE 0 1 1 0 LSB FIGURE 41C. DEVICE COMMUNICATIONS ADMINISTRATION RESPONSE: IDENTIFY, DEVICE 4, MID STACK DEVICE Submit Document Feedback 39 FN7938.1 April 23, 2015 DEVICE ADDRESS (319,316) R/W ISL94212 PAGE (314, 312) CELL 12 DATA (305, 292) DATA ADDRESS 0CH (311, 306) CRC (291,288) 1 0 0 1 0 0 0 1 0 0 1 1 0 0 1 0 1 1 1 0 0 0 0 1 0 1 0 0 1 1 0 0 MSB BYTE 39 BYTE 38 DATA ADDRESS 0AH (263, 258) BYTE 37 CELL 10 DATA (257, 244) BYTE 36 CRC (243, 240) 0 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1 0 1 0 0 0 0 0 1 BYTE 32 BYTE 31 BYTE 30 DATA ADDRESS 0BH (287, 282) CELL 11 DATA (281, 268) CRC (287, 264) 0 0 1 0 1 1 0 1 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0 1 BYTE 35 DATA ADDRESS 00H (23, 18) BYTE 34 PACK VOLTAGE DATA (17, 4) BYTE 33 CRC (3, 0) 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 1 1 1 0 0 0 1 BYTE 2 BYTE 1 BYTE 0 LSB FIGURE 41D. DEVICE DATA RESPONSE: DEVICE 9, READ ALL CELL VOLTAGE DATA FIGURE 41. DAISY CHAIN DEVICE RESPONSE EXAMPLES Daisy Chain Commands Normal communications include the normal usage of the read, write and system level commands. System level commands come in two types: action commands such as the scan and measure commands which require the devices to perform measurements and administration commands such as Reset. Daisy chain devices also use commands such as ACK to indicate communications status. All Daisy chain communications, except the scan, measure and reset commands, require a response from the addressed device. Identify Identify mode is a special case mode that must be executed before any other communications to Daisy chained devices, except for the Sleep and Wakeup commands. The Identify command initiates address assignments to the devices in the Daisy chain stack. While in Identify mode devices determine their stack position. Identify mode is entered on receipt of the “base” Identify command (this is the Identify command with the device address set to 6’h00). The Top stack device responds ACK on receiving the base identify command and then enters the Identify mode. Other stack devices wait to allow the ACK response to be relayed to the host microcontroller then they enter Identify mode. Once in Identify mode all stack devices except the Master load address 4’h0 to their stack address register. The Master (identified by the state of the Comms Select pins = 2’b01) loads 4’h1 to its stack address. The host microcontroller then sends the Identify command with stack address 6’h3. Device 3 responds by setting its stack address and stack size information to 4’h3 and returning the identify response with address 6’h33. Devices 1 and 2 set their stack size information to 4’h3. The process continues with the host microcontroller incrementing the stack address until all devices in the stack have received their stack address. Identified devices update their stack size information with each new transmission. The stack Top device (identified by the state of the Comms Select pins = 10) loads the stack address and stack size information and returns the Identify response with address 6’h2x, where x corresponds to the stack position of the Top device. The host microcontroller recognizes the top stack response and loads the total number of stack devices to local memory. The host microcontroller then sends the Identify command with data set to 6’h3F. Devices exit Identify mode on receipt of this command. The stack Top device responds ACK. An example Identify transmit and receive sequence for a stack of 3 devices is shown in Figure 42. When in Normal mode, only the base Identify command is recognized by devices. Any other Identify command variant or an Identify command sent with a nonzero stack address causes a NAK response from the addressed device(s). On receiving the ACK response the host microcontroller then sends the Identify command with stack address 6’h2 (i.e., 24’h0000 0011 0010 0100 0010 0110). The stack address is bolded. The last four bits are the corresponding CRC value. The Master passes the command onto the stack. The device at stack position 2 responds by setting the stack address bits (ADDR[3:0]) and stack size bits (SIZE[3:0]) in the Comms Setup register to 4’h2 and returns the identify response with CRC and an address of 6’h32 (i.e., 32’b0000 0011 0010 0111 0010 0000 0000 1111). The address bits are bolded. The address bits contains the normal stack address (2’h0010) and the state of the Comms Select pins (2’b11). Note that the in an identify response the data LSBs are always zero. Submit Document Feedback 40 FN7938.1 April 23, 2015 ISL94212 Send Identify Command Send Identify Device 2 Send Identify Device 3 Send Identify Complete Tx 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 03 24 04 Rx 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 03 30 00 0C Tx 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 0 1 0 0 1 1 0 03 24 26 Rx 0 0 0 0 0 0 1 1 0 0 1 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 03 27 20 0F Tx 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 0 1 1 0 1 1 1 03 24 37 Rx 0 0 0 0 0 0 1 1 0 0 1 0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 03 26 30 05 Tx 0 0 0 0 0 0 1 1 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 0 03 27 FE Rx 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 33 30 00 01 FIGURE 42. IDENTIFY EXAMPLE. STACK OF 3 DEVICES . TABLE 21. IDENTIFY TIMING WITH DAISY CHAIN OPERATING AT 500kHz NUMBER OF SPI COMMAND SEND TIME DEVICES (μs) (2 MINIMUM) DAISY TRANSMIT TIME (μs) RESPONSE DELAY (µs) DAISY RECEIVE SPI COMMAND TIME FOR EACH DEVICE IDENTIFY TOTAL RECEIVE TIME TIME (µs) TIME (µs) (µs) (µs) IDENTIFY + IDENTIFY COMPLETE TIME (µs) 1 (Master) 24 0 0 0 32 56 56 56 2 8 50 18 66 8 150 206 356 3 8 52 18 68 8 154 360 514 4 8 54 18 70 8 158 518 676 5 8 56 18 72 8 162 680 842 6 8 58 18 74 8 166 846 1012 7 8 60 18 76 8 170 1016 1186 8 8 62 18 78 8 174 1190 1364 9 8 64 18 80 8 178 1368 1546 10 8 66 18 82 8 182 1550 1732 11 8 68 18 84 8 186 1736 1922 12 8 70 18 86 8 190 1926 2116 13 8 72 18 88 8 194 2120 2314 14 8 74 18 90 8 198 2318 2516 IDENTIFY TIMING To determine the time required to complete an identify operation, refer to Table 21. In the table are two SPI command columns showing the time required to send the Identify command and receive the response (with an SPI clock of 1MHz.) In the case of the Master, there are no daisy chain clocks, so all three bytes of the send and four bytes of the receive are accumulated. For the daisy chain devices, the daisy communication overlaps with two of the SPI send bytes and with three of the SPI receive bytes, so there is no extra time needed for these bits. receiving the daisy response, the Master sends the response to the Host through the SPI port. There is a column showing the time for each Identify command and, in the second column from the right, is a column showing the total accumulated time required to send all Identify commands for each of the cell configurations. The final column on the right adds the Identify complete timing to the total. The Identify complete command takes the same number of clock cycles as the last Identify command. Once the device receives the Identify command, it adds a delay time before sending the response back to the master. Then, on Submit Document Feedback 41 FN7938.1 April 23, 2015 ISL94212 TABLE 22. IDENTIFY TIMING WITH DAISY CHAIN OPERATING AT 250kHz NUMBER OF SPI COMMAND SEND TIME DEVICES (µs) (2 MINIMUM) DAISY TRANSMIT TIME (μs) RESPONSE DELAY (μs) DAISY RECEIVE SPI COMMAND TIME FOR EACH DEVICE RECEIVE TIME TIME (µs) (µs) (µs) IDENTIFY TOTAL TIME (µs) IDENTIFY + IDENTIFY COMPLETE TIME (µs) 1 (Master) 24 0 0 0 32 56 56 56 2 8 100 34 132 8 282 338 620 3 8 104 34 136 8 290 628 918 4 8 108 34 140 8 298 926 1224 5 8 112 34 144 8 306 1232 1538 6 8 116 34 148 8 314 1546 1860 7 8 120 34 152 8 322 1868 2190 8 8 124 34 156 8 330 2198 2528 9 8 128 34 160 8 338 2536 2874 10 8 132 34 164 8 346 2882 3228 11 8 136 34 168 8 354 3236 3590 12 8 140 34 172 8 362 3598 3960 13 8 144 34 176 8 370 3968 4338 14 8 148 34 180 8 378 4346 4724 ACK (Acknowledge) ACK is used by daisy chain devices to acknowledge receipt of a valid command. ACK is also useful as a communications test command: the stack top device returns ACK in response to successful receipt of the ACK command. No other action is performed in response to an ACK. Note: A Reset command should be issued following a “hard reset” in which the EN pin is toggled. Address All The “Address All” stack address 1111 is used with device commands to cause all stack devices to perform functions simultaneously. NAK (Not Acknowledge) Receipt of an unrecognized command by either the target device or the top stack device results in a NAK being returned by that device. If a command addressed to all devices using the Address All stack address 1111 or the Identify stack address 0000 is not recognized by any device, then all devices not recognizing the command respond NAK. In this case, the host microcontroller receives the NAK response from the lowest stack device that failed to recognize the command. An incomplete command (e.g., one that is less than the length required) also causes a NAK to be returned. Reset All digital registers can be reset to their power-up condition using the Reset Command. Daisy chain devices must be reset in sequence from top stack device to stack bottom (Master) device. Sending the Reset command to all devices using the address all stack address has no effect. There is no response from the stack when sending a Reset command. All stack address and stack size information is set to zero in response to a Reset command. Once all devices have been reset it is necessary to reprogram the stack address and stack size information using the Identify command. Submit Document Feedback 42 TABLE 23. “ADDRESS ALL” COMPATIBILITY FUNCTION “ADDRESS ALL” COMPATIBLE Scan Voltages Yes Scan Temperatures Yes Scan Mixed Yes Scan Wires Yes Scan All Yes Scan Continuous No Scan Inhibit No Measure No Identify (special command – only responds to 0000 stack address) No Sleep Yes NAK No ACK No Comms Failure No Wakeup Yes Balance Enable Yes FN7938.1 April 23, 2015 ISL94212 TABLE 23. “ADDRESS ALL” COMPATIBILITY (Continued) “ADDRESS ALL” COMPATIBLE FUNCTION Balance Inhibit Yes Reset No Calculate Register Checksum No Check Register Checksum No Alarm Signals Further, read communications to the device, return the fault response followed by the requested data. Write communications return only the fault response. Action commands return nothing. The host microcontroller resets the register bits corresponding to the fault by writing 14’h0000 to the Fault Status register, having first cleared the bits in the fault data register(s) if these are set. The device then responds ACK as with a normal write response since the fault status bits are now cleared. This also prevents further fault responses unless the fault reappears, in which case the fault response is repeated. Watchdog Function Bits are set in the following fault data registers: TABLE 25. WATCHDOG/BALANCE TIME REGISTER (ADDRESS 6’h15) • Overvoltage register (address 6’h00), • Undervoltage register (address 6’h01), • Open Wires register (address 6’h02), 7 6 5 13 4 12 3 11 2 10 1 9 0 8 BTM0 WDG6 WDG5 WDG4 WDG3 WDG2 WDG1 WDG0 BTM6 BTM5 BTM4 BTM3 BTM2 BTM1 • Over-temperature register (address 6’h06) Bits are also set in the Fault Status register (address 6’h04) in response to a fault being detected. Additionally, the bits from each of the fault data registers are OR’d and reflected to bits in the Fault Status register (one bit per data register). A fault is registered when any of the bits in the Fault Status register is asserted. Two fault response methods are provided to indicate the existence of a fault: a fault response is sent via the daisy chain communications interface and the FAULT logic output is asserted low immediately on detection of the fault. The FAULT output remains low until the bits of all fault data registers and the Fault Status register are reset (host microcontroller writes 14’h0000 to these registers to clear the bits). The Daisy chain fault response is immediate, as long as there is no communication activity on the device ports and comprises the normal fault status register read response. The fault response is only sent for the first fault occurrence. Subsequent faults do not activate the fault response until after the fault status register has been cleared. If a fault occurs while the device ports are active, then the device waits until communication activity ceases before sending the fault response. The host microcontroller has the option to wait for this response before sending the next message. Alternately, the host microcontroller may send the next message immediately (after allowing the daisy chain ports to clear – see “Sequential Daisy Chain communications” on page 55). Any conflicts resulting from additional transmissions from the stack are recognized by the lack of response from the stack. Table 24 provides the maximum time from DATA READY going low for the last byte of the normal response to DATA READY going low for the first byte of the fault response in the case where a fault response is held up by active communications. TABLE 24. MAXIMUM TIME BETWEEN DATA READY SIGNALS – DELAYED FAULT RESPONSE SIGNALS MAXIMUM TIME BETWEEN DATA READY ASSERTIONS UNIT Daisy Chain Data Rate 500 250 125 62.5 kHz Fault Response 68 136 272 544 µs Submit Document Feedback 43 A watchdog function is provided as part of the daisy chain communications fault detection system. The watchdog has no effect in non-daisy chain systems. The watchdog timeout is settable in two ranges using the lower 7 bits of the Watchdog/Balance time register (see Table 25). The low range (7’b0000001 to 7’b0111111) provides timeout settings in 1s increments from 1s to 63s. The high range (7’b1000000 to 7’b1111111) provide timeout settings in 2 minute intervals from 2 minutes to 128 minutes (see Table 26 for details). . TABLE 26. WATCHDOG TIMEOUT SETTINGS WDG[6:0] TIMEOUT 0000000 Disabled 0000001 1s 0000010 2s - - 0111110 62s 0111111 63s 1000000 2 min 1000001 4 min - - 1111110 126 min 1111111 128 min A zero setting (7’b0000000) disables the watchdog function. A watchdog password function is provided to guard against accidental disabling of the watchdog function. The upper 6 bits of the Device Setup register must be set to 6’h3A (111010) to allow the watchdog to be set to zero. The watchdog is disabled by first writing the password to the Device Setup register (see Table 13 on page 30) and then writing zero to the lower bits of the Watchdog/Balance time register. The password function does not prevent changing the watchdog timeout setting to a different nonzero value. FN7938.1 April 23, 2015 ISL94212 Each device must receive a valid communications sequence before its watchdog timeout period is exceeded. Failure to receive valid communications within the required time causes the WDGF bit to be set in the Fault Status register and the device to be placed in Sleep mode, with all measurement and balancing functions disabled. Daisy chain devices assert the FAULT output in response to a watchdog fault and maintain this asserted state while in Sleep mode. Notice that no watchdog fault response is automatically sent on the daisy chain interface. The watchdog continues to function when the ISL94212 is in Sleep mode. Parts in Sleep mode assert the FAULT output when the watchdog timer expires. A valid communications sequence is one that requires an action or response from the device. Address All commands, such as the Scan and Balance commands provide a simple way to reset the watchdog timers on all devices with a single communication. Single device communications (e.g., ACK) must be sent individually to each device to reset the watchdog timer in that device. A read of the Fault Status register of each device is also a good way to reset the watchdog timer on each device. This functionality guards against situations where a runaway host microcontroller might continually send data. Communications Faults All commands except the Scan, Measure and Reset commands require a response from either the stack top device or the target device (see Table 27), each device in the stack waits for a response from the stack device above. Correct receipt of a command is indicated by the correct response. Failure to receive a response within a timeout period indicates a communications fault. The timeout value is stack position dependent. The device that detects the fault then transmits the Communications Failure response, which includes its stack address. TABLE 27. SUMMARY OF NORMAL COMMUNICATIONS RESPONSES AND THE COMMUNICATIONS TIMEOUT FUNCTION TOP STACK DEVICE RESPONSE TARGET DEVICE RESPONSE DEVICE WAITS FOR A RESPONSE FOR THIS COMMAND? Read ACK Data Yes Write ACK ACK Yes Scan Voltages - - No Scan Temperatures - - No Scan Mixed - - No Scan Wires - - No Scan All - - No Scan Continuous ACK ACK No Scan Inhibit ACK ACK No Measure - - No Identify ACK NAK No Submit Document Feedback 44 TOP STACK DEVICE RESPONSE TARGET DEVICE RESPONSE DEVICE WAITS FOR A RESPONSE FOR THIS COMMAND? Sleep ACK NAK No NAK ACK ACK Yes ACK ACK ACK Yes Comms Failure (Note) NAK NAK Yes Wakeup ACK NAK No Balance Enable ACK ACK Yes Balance Inhibit ACK ACK Yes - - No Calc Checksum ACK ACK Yes Check Checksum ACK ACK Yes COMMAND Reset NOTE: Comms Failure is a device response only and has no meaning as a command. Communication Failure COMMAND TABLE 27. SUMMARY OF NORMAL COMMUNICATIONS RESPONSES AND THE COMMUNICATIONS TIMEOUT FUNCTION (Continued) If the target device receives a communications failure response from the device above then the target device relays the communications failure followed by the requested data (in the case of a read) or simply relays the communications failure only (in the case of a Write, Balance command, etc). The maximum time required to return the Communications Failure response to the host microcontroller (the time from the falling edge of the 24th clock pulse of an SPI command to receiving a DATA READY low signal) is given for various data rates in Table 28. TABLE 28. MAXIMUM TIME TO COMMUNICATIONS FAILURE RESPONSE MAXIMUM TIME TO ASSERTION OF DATA READY UNIT Daisy Chain Data Rate 500 250 125 62.5 kHz Communications Failure Response 5.8 11.6 23.2 46.4 ms A communications fault can be caused by one of three circumstances: the communications system has been compromised, the device causing the fault is in Sleep mode or that a daisy chain input port is in the wrong idle state. This latter condition is unlikely but could arise in response to external influence, such as a large transient event. The daisy chain ports are forced to the correct idle condition at the end of each communication. An external event would have the potential to “flip” the input such that the port settles in the inverse state. A flipped input condition recovers during the normal course of communications. If a flipped input is suspected, having received notification of a communications fault condition for example, the user may send a sequence of all 1’s (e.g., FF FF FF FF) to clear the fault. Wait for the resulting NAK response and then send an ACK to the device that reported the fault. The “all 1” sequence allows a device to correct a flipped condition via normal end of the FN7938.1 April 23, 2015 ISL94212 communication process. The command FB FF FF FF also works and contains the correct CRC value (should this be a consideration in the way the control software is set up). If the process mentioned previously results in a Communications Failure response, the next step is for the host microcontroller to send a Sleep command, wait for all stack devices to go to sleep, then send a Wakeup command. If successful then the host microcontroller receives an ACK once all devices are awake. In the case where a single stack device was asleep, the devices above the sleeping device would not have received the Sleep command and would respond to the Wakeup sequence with a NAK due to incomplete communications. The host microcontroller would then send a command (e.g., ACK) to check that all devices are awake. This process can be repeated as often as needed to wakeup sleeping devices. In the event that the Wakeup command does not generate a response, this is a likely indication that the communications have been compromised. The host microcontroller may send a Sleep command to all units. If the communications watchdog is enabled then all parts go automatically into Sleep mode when the watchdog period expires so long as there are no valid communications activity. Table 27 provides a summary of the normal responses and an indication if the device waits for a response from the various communications commands. Scan Counter A scan counter is provided to allow confirmation of receipt of the Scan and Measure commands. This is a 4-bit counter located in the Scan Count register (page 1, address 6’h16). The counter increments each time a Scan or Measure command is received. This allows the host microcontroller to compare the counter value before and after the Scan or Measure command was sent to verify receipt. The counter wraps to zero when overflowed. The scan counter increments whenever the ISL94212 receives a Scan or Measure command. The ISL94212 does not perform a requested scan or measure function if there is already a scan or measure function in progress, but it still increments the scan counter. Daisy Chain Communications Conflicts Conflicts in the daisy chain system can occur if both a stack device and the host microcontroller are transmitting at the same time, or if more than one stack device transmits at the same time. Conflicts caused by a stack device transmitting at the same time as the host microcontroller are recognized by the absence of the required response (e.g., an ACK response to a write command), or by the scan counter not being incremented in the case of Scan and Measure commands. Conflicts which arise from more than one device transmitting simultaneously can occur if two devices detect faults at the same time. This can occur when the stack is operating normally (e.g., if two devices register an undervoltage fault in response to a scan voltages command sent to all devices). It is recommended that the host microcontroller checks the Fault Status register contents of all devices whenever a Fault response is received from one device. Submit Document Feedback 45 Memory Checksum There are two checksum operations, one for the EEPROM and one for the Page 2 registers. Two registers are provided to verify the contents of EEPROM memory. One (Page 4, address 6’h3F) contains the correct checksum value, which is calculated during factory testing at Intersil. The other (Page 5, address 6’h00) contains the checksum value calculated each time the nonvolatile memory is loaded to shadow registers, either after a power cycle or after a device reset. An inequality between these two numbers indicates corruption of the shadow register contents (and possible corruption of EEPROM data). The external microcontroller needs to compare the two registers, since it is not automatic. Resetting the device (using the Reset command) reloads the shadow registers. A persistent difference between these two register values indicates EEPROM corruption. All Page 2 registers (device configuration registers) are subject to a checksum calculation. A Calculate Register Checksum command calculates the Page 2 checksum and saves the value internally (it is not accessible). The Calculate Register Checksum command may be run any time, but should be sent whenever a Page 2 register is changed. A Check Register Checksum command recalculates the Page 2 checksum and compares it to the internal value. The occurrence of a Page 2 checksum error sets the PAR bit in the Fault Status register and causes a Fault response accordingly. The normal response to a PAR error is for the host microcontroller to rewrite the Page 2 register contents. A PAR fault also causes the device to cease any scanning or cell balancing activity. See items 42 through 49 in Table 30 on page 47. Settling Time Following Diagnostic Activity The majority of diagnostic functions within the ISL94212 do not affect other system activity and there is no requirement to wait before conducting further measurements. The exceptions to this are the open wire test and cell balancing functions. Open Wire Test The open wire test loads each VCn pin in turn with 150µA or 1mA current. This disturbs the cell voltage measurement while the test is being applied e.g., a 1mA test current applied with an input path resistance of 1kΩ reduces the pin voltage by 1V. The time required for the cell voltage to settle following the open wire test is dependent on the time constant of components used in the cell input circuit. The standard input circuit (Figure 50 on page 73) with the components given in Table 48 on page 77 provide settling to within 0.1mV in approximately 2.8ms. This time should be added at the end of each open wire scan to allow the cell voltages to settle. Cell Balancing The standard applications circuit (Figure 50 on page 73) configures the balancing circuits so that the cell input measurement reads close to zero volts when balancing is activated. There are time constants associated with the turn-on FN7938.1 April 23, 2015 ISL94212 and turn-off characteristics of the cell balancing system that must be allowed for when conducting cell voltage measurements. length (number of sequential positive samples) is set by the [TOT2:0] bits in the Fault Setup register. See Table 29. The turn-on time of the balancing circuit is primarily a function of the 25µA drive current of the cell balancing output and the gate charge characteristic of the MOSFET and needs to be determined for a particular setup. Turn-on settling times to within 2mV of final “on” value are typically less than 5ms. The turn-off time is a function of the MOSFET gate charge and the VGS connected resistor and capacitor values (for example R27 and C27 in Figure 50 on page 73) and is generally longer than the turn-on time. As with the turn-on case, the turn-off time needs to be determined for the particular components used. Turn-off settling times in the range 10ms to 15ms are typical for settling to within 0.1mV of final value. Fault Signal Filtering Filtering is provided for the cell overvoltage, cell undervoltage, VBAT open and VSS open tests. These fault signals use a totalizing method in which an unbroken sequence of positive results is required to validate a fault condition. The sequence Separate filter functions are provided for each cell input and for the VBAT and VSS open faults. The filter is reset whenever a test results in a negative result (no fault). All filters are reset when the Fault Status register [TOT2:0] bits are changed. When a fault is detected, the [TOT2:0] bits should be rewritten. The cell overvoltage, cell undervoltage, VBAT open and VSS open faults are sampled at the same time at the end of a Scan Voltages command. The cell undervoltage and cell overvoltage signals are also checked following a Measure cell voltage command. Fault Diagnostics The ISL94212 incorporates extensive fault diagnostics functions, which include cell overvoltage and undervoltage as well as open cell input detection. The current status of all faults is accessible using the ISL94212 registers. Table 30 shows a summary of commands and responses for the various fault diagnostics functions. TABLE 29. FAULT TOTALIZING TIME (ms) AS A FUNCTION OF SCAN INTERVAL AND NUMBER OF TOTALIZED SAMPLES TOTALIZE – FAULT SETUP REGISTER SCAN INTERVAL CODE SCAN INTERVAL (ms) 1 000 2 001 4 010 8 011 16 100 32 101 64 110 128 111 0000 16 16 32 64 128 256 512 1024 2048 0001 32 32 64 128 256 512 1024 2048 4096 0010 64 64 128 256 512 1024 2048 4096 8192 0011 128 128 256 512 1024 2048 4096 8192 16384 0100 256 256 512 1024 2048 4096 8192 16384 32768 0101 512 512 1024 2048 4096 8192 16384 32768 65536 0110 1024 1024 2048 4096 8192 16384 32768 65536 131072 0111 2048 2048 4096 8192 16384 32768 65536 131072 262144 1000 4096 4096 8192 16384 32768 65536 131072 262144 524288 1001 8192 8192 16384 32768 65536 131072 262144 524288 1048576 1010 16384 16384 32768 65536 131072 262144 524288 1048576 2097152 1011 32768 32768 65536 131072 262144 524288 1048576 2097152 4194304 1100 65536 65536 131072 262144 524288 1048576 2097152 4194304 8388608 Submit Document Feedback 46 FN7938.1 April 23, 2015 ISL94212 TABLE 30. SUMMARY OF FAULT DIAGNOSTICS COMMANDS AND RESPONSES ITEM 1 DIAGNOSTIC FUNCTION Static fault detection functions. ACTION REQUIRED REGISTER READ/WRITE COMMENTS Check Fault Status (or look Read Fault Status register The main internal functions of the ISL94212 are monitored for normal fault response) continuously. Bits are set in the Fault Status register is response to faults being detected in these functions. 2 Oscillator check Check for device in Sleep function mode if stack returns a Communications Failure response. 3 Cell overvoltage Set cell overvoltage limit Oscillator faults are detected as part of the Static Fault detection functions. The response to an oscillator fault detection is to set the OSC bit in the Fault Status register and then to enter Sleep mode. A sleeping device does not respond to normal communications, producing a communications failure notification from the next device down the stack. The normal recovery procedure is send repeated Sleep and Wakeup commands ensure all devices are awake. Write Overvoltage Limit register Full scale value 14'h1FFF = 5V Write TOT bits in Fault Setup register Default is 3'b011 (8 samples) - (see “Fault Setup:” on page 64) 4 Set fault filter sample value 5 Identify which inputs have Write Cell Setup register cells connected A '0' bit value indicates cell is connected. A '1' bit value indicates no cell connected to this input. The overvoltage test is not applied to unconnected cells. 6 Scan cell voltages Send Scan Voltages command A cell overvoltage condition is flagged after a number of sequential overvoltage conditions are recorded for a single cell. The number is programmed above in item 4. 7 Check fault status Read Fault Status register The device sends the Fault Status register contents automatically if a fault is detected, if the register value is zero before the fault is detected. 8 Check overvoltage fault register Read Overvoltage Fault register 9 Reset fault bits Reset bits in Overvoltage Fault register followed and bits in Fault Status register. 10 Reset fault filter Change the value of the [TOT2:0] bits in the Fault Setup register and then change back to the required value. This resets the filter. The filter is also reset if a false overvoltage test is encountered. 11 Cell Undervoltage Only required if the Fault Status register returns a fault condition. Set cell Undervoltage Limit Write Undervoltage Limit Full scale value 14'h1FFF = 5V register 12 Set fault filter sample value 13 Identify which inputs have Write Cell Setup register cells connected A '0' bit value indicates cell is connected. A '1' bit value indicates no cell connected to this input. The undervoltage test is not applied to unconnected cells. 14 Scan cell voltages Send Scan Voltages command A cell undervoltage condition is flagged after a number of sequential undervoltage conditions are recorded for a single cell. The number is programmed above in item 12. 15 Check Fault Status Read Fault Status register The device sends the Fault Status register contents automatically if a fault is detected, if the register value is zero before the fault is detected. 16 Check undervoltage fault register Read undervoltage Fault Only required if the Fault Status register returns a fault condition. register 17 Reset fault bits Reset bits in undervoltage fault register followed by bits in Fault Status register. 18 Reset fault filter Change the value of the [TOT2:0] bits in the Fault Setup register and then change back to the required value. This resets the filter. The filter is also reset if a false undervoltage test is encountered. 19 VBAT or VSS Set fault filter sample Connection Test value Submit Document Feedback 47 Write TOT Bits in Fault Setup register Write TOT bits in Fault Setup register Default is 3'b011 (8 samples) Default is 3'b011 (8 samples) FN7938.1 April 23, 2015 ISL94212 TABLE 30. SUMMARY OF FAULT DIAGNOSTICS COMMANDS AND RESPONSES (Continued) ITEM DIAGNOSTIC FUNCTION ACTION REQUIRED REGISTER READ/WRITE COMMENTS 20 Scan cell voltages Send Scan Voltages command 21 Check Fault Status Read Fault Status register The device sends the Fault Status register contents automatically if a fault is detected, if the register value is zero before the fault is detected. 22 Reset fault bits Reset bits in the Fault Status register. 23 Reset fault filter Change the value of the [TOT2:0] bits in the Fault Setup register and then change back to the required value. This resets the filter. The filter is also reset if a false open test is encountered. 24 Open Wire Test Set Scan current value Write Device Setup register: ISCN = 1 or 0 A open condition on VBAT or VSS is flagged after a number of sequential open conditions are recorded for a single cell. The number is programmed in item 19. Sets scan current to 1mA (recommended) by setting ISCN = 1. Or, set the scan current to 150µA by setting ISCN = 0. 25 Identify which inputs have Write Cell Setup register cells connected A '0' bit value indicates cell is connected. A '1' bit value indicates no cell connected to this input. Cell inputs VC2 to VC12: the open wire detection system is disabled for cell inputs with a '1' setting in the Cell Setup register. Cell inputs VC0 and VC1 are not affected by the Cell Setup register. 26 Activate Scan Wires function Send Scan Wires command Wait for Scan Wires to complete. 27 Check Fault Status Read Fault Status register The device sends the Fault Status register contents automatically if a fault is detected, if the register value is zero before the fault is detected. 28 Check Open Wire Fault register Read Open Wire Fault register 29 Reset fault bits 30 Overtemperature Indication Only required if the Fault Status register returns a fault condition. Reset bits in Open Wire Fault register followed by bits in Fault Status register. Set External Temperature Write External Temp Limit Full scale value 14'h3FFF = 2.5V limit register 31 Identify which inputs are required to be tested Write Fault Setup register A '1' bit value indicates input is tested. A '0' bit value indicates input is bits TST1 to TST4 not tested. 32 Scan temperature inputs Send Scan Temperatures An over-temperature condition is flagged immediately if the input command voltage is below the limit value. 33 Check Fault Status Read Fault Status register The device sends the Fault Status register contents automatically if a fault is detected, if the register value is zero before the fault is detected. 34 Check Over-temperature fault register Read Over-temperature Fault register 35 Reset fault bits Reset bits in Over-temperature Fault register followed by bits in Fault Status register. 36 Reference Read reference coefficient Read Reference Check Function A Coefficient A register 37 Read reference coefficient Read Reference B Coefficient B register 38 Read reference coefficient Read Reference C Coefficient C register 39 Scan temperature inputs Send Scan Temperatures command 40 Read reference voltage value Read Reference Voltage register 41 Calculate voltage reference value Submit Document Feedback 48 Only required if the Fault Status register returns a fault condition. See Voltage Reference Check Calculation in the “Worked Examples” on page 86 of this data sheet. FN7938.1 April 23, 2015 ISL94212 TABLE 30. SUMMARY OF FAULT DIAGNOSTICS COMMANDS AND RESPONSES (Continued) ITEM 42 DIAGNOSTIC FUNCTION REGISTER READ/WRITE COMMENTS Calculate register checksum value Send Calc Register Checksum command This causes the ISL94212 to calculate a checksum based on the current contents of the page 2 registers. This action must be performed each time a change is made to the register contents. The checksum value is stored for later comparison. 43 Check register checksum value Send Check Register Checksum command The checksum value is recalculated and compared to the value stored by the previous Calc Register Checksum command. The PAR bit in the Fault Status register is set if these two numbers are not the same. 44 Check Fault Status Read Fault Status register The device sends the Fault Status register contents automatically if a fault is detected, if the register value is zero before the fault is detected. 45 Re-write registers Load all page 2 registers This is only required if a PAR fault is registered. It is recommended that with their correct values. the host reads back the register contents to verify values prior to sending a Calc Register Checksum command. 46 Reset fault bits 47 Register Checksum ACTION REQUIRED EEPROM MISR Read checksum value Checksum stored in EEPROM 48 Read checksum value calculated by ISL94212 49 Compare checksum values Submit Document Feedback 49 Reset bits in the Fault Status register. Read the EEPROM MISR Register Read the MISR Checksum register The checksum value is calculated each time the EEPROM contents are loaded to registers, either following the application of power, cycling the EN pin followed by a host initiated Reset command, or simply the host issuing a Reset command. Correct function is indicated by the two values being equal. Memory corruption is indicated by an unequal comparison. In this event the host should send a Reset command and repeat the check process. FN7938.1 April 23, 2015 ISL94212 Sleep Mode Devices enter Sleep mode in response to a Sleep command, a watchdog time out or in response to an oscillator fault. Devices wakeup in response to a Wakeup command or to a Scan Continuous cycle if the device was set to Sleep mode with Scan Continuous mode active. Using a Sleep command or Wakeup command does not require that the devices in a stack are identified first. They do not need to know their position in the stack. In a daisy chain system, the Sleep command must be written using the Address All stack address: 1111. The command is not recognized if sent with an individual device address and causes the addressed device to respond NAK. The top stack device responds ACK on receiving a valid Sleep command. Having received a valid Sleep command, devices wait before entering the Sleep mode. This is to allow time for the top stack device to respond ACK, or for all devices that don’t recognize the command to respond NAK, and for the host microcontroller to respond with another command. Receipt of any valid communications on port 1 of the ISL94212 before the wait period expires cancels the Sleep command. Receipt of another Sleep command restarts the wait timers. Table 31 provides the maximum wait time for various daisy chain data rates. The communications fault checking timeout is not applied to the Sleep command. A problem with the communications is indicated by a lack of response to the host microcontroller. The host microcontroller may choose to do nothing if no response is received in which case devices that received the Sleep command go to sleep when the wait time expires. Devices that do not receive the message go to sleep when their watchdog timer expires (as long as this is enabled). TABLE 31. MAXIMUM WAIT TIME FOR DEVICES ENTERING SLEEP MODE MAXIMUM WAIT TIME FROM TRANSMISSION OF SLEEP COMMAND UNIT Daisy Chain Data Rate 500 250 125 62.5 kHz Time to Enter Sleep mode 500 1000 2000 4000 µs NOTE: Devices exit Sleep mode on receipt of a valid Wakeup command. Wakeup The host microcontroller wakes up a stack of sleeping devices by sending the Wakeup command to the Master stack device. The Wakeup command must be written using the Address All stack address: 1111. The command is not recognized if sent with an individual device address and causes the Master device to respond NAK. The Master exits Sleep mode on receipt of a valid Wakeup command and proceeds to transmit the Wakeup signal to the next device in the stack. The Wakeup signal is a few cycles of a 4kHz clock. Each device in the chain wakes up on receipt of the Wakeup signal and proceeds to send the signal onto the next device. Any communications received on port 1 by a device which is transmitting the Wakeup signal on port 2 are ignored. The Top stack device, after waking up, waits for some time before Submit Document Feedback 50 sending an ACK response to the Master. This wait time is necessary to allow for the Wakeup signal being originated by a stack device other than the Master. See “Fault Response in Sleep Mode” in the following section for more information. The Master device passes the ACK on to the host microcontroller to complete the Wakeup sequence. The total time required to wakeup a complete stack of devices is dependent on the number of devices in the stack. Table 32 gives the maximum time from Wakeup command transmission to receipt of ACK response (DATA READY asserted low) for stacks of 8 devices and 14 devices at various daisy chain data rates (interpolate linearly for different number of devices). TABLE 32. MAXIMUM WAKEUP TIMES FOR STACKS OF 8 DEVICES AND 14 DEVICES (WAKEUP COMMAND TO ACK RESPONSE) MAXIMUM WAKEUP TIMES UNIT Daisy Chain Data Rate 500 250 125 62.5 kHz Stack of 8 Devices 63 63 63 63 ms Stack of 14 Devices 100 100 100 100 ms There is no additional checking for communications faults while devices are waking up. A communications fault is indicated by the host microcontroller not receiving an ACK response within the expected time. Fault Response in Sleep Mode Devices may detect faults if operating in Scan Continuous mode while also in Sleep mode. Daisy chain devices registering a fault in Sleep mode proceed to wakeup the other devices in the stack (e.g., Middle devices send the Wakeup signal on both ports). Any communications received by a device on one port while it is transmitting the Wakeup signal on its other port are ignored. After receiving the Wakeup signal, the top stack device waits before sending an ACK response on port 1. This is to allow other stack devices to wakeup. The total wait time is dependent on the number of devices in the stack. The time from a device detecting a fault to receipt of the ACK response is also dependent on the stack position of the device. See Table 32 for maximum response times for stacks of 8 and 14 devices. The normal host microcontroller response to receiving an ACK while the stack is in Sleep mode is to read the Fault Status register contents of each device in the stack to determine which device (or devices) has a fault. Communication and Measurement Diagrams Collecting voltage and temperature data from daisy chained ISL94212 devices consists of three separate types of operations: A Command to initiate measurement, the Measurement itself, and a Command and Response to retrieve data. Commands are the same for all types of operations, but the timing is dependent on the number of devices in the stack, the daisy chain clock rate, and the SPI clock rate. FN7938.1 April 23, 2015 ISL94212 Actual measurement operations occur within the device and start with the last bit of the command byte and end with data being placed in a register. Measurement times are dependent on the ISL94212 internal clock. This clock has the same variations (and is related to) the daisy chain clock. Responses have different timing calculations, based on the position of the addressed device in the daisy chain stack and the daisy chain and SPI clock rates. Measurement Timing Diagrams All measurement timing is derived from the ISL94212’s internal oscillators. Figures given as typical are those obtained with the oscillators operating at their nominal frequencies and with any synchronization timing also at nominal value. Maximum figures are those obtained with the oscillators operating at their minimum frequencies and with the maximum time for any synchronization timing. Measurement timing begins with a Start Scan signal. This signal is generated internally by the ISL94212 at the last clock falling edge of the Scan or Measure command. (This is the last falling edge of the SPI clock in the case of a standalone or Master device, or the last falling edge of the daisy chain clock, in the case of a daisy chain device). Daisy chain middle or top devices impose an additional synchronization delays. Communications sent on the SPI port are passed on to the Master device’s daisy chain port at the end of the first byte of data. Then, for each device, there is an additional delay of one daisy chain clock cycle. devices perform additional operations, such as checking for overvoltage conditions. The measurement command ends when registers are updated. At this time the registers may be read using a separate command. Refer to the “SPI INTERFACE TIMING (See Figures 2 and 3)” on page 13 of the Electrical Specifications table for the time required to complete each measurement type. A more detailed timing breakdown is provided for each measurement type shown in the following. See Figure 43 for the measurement timing for a standalone device. See Figure 44 for the measurement timing for daisy chain devices. Tables 34 through 39 give the typical and maximum timing for the critical elements of measurement process. Each table shows the timing from the last edge of the Scan command clock. SCAN COMMAND DIN SCK INTERNAL SCAN INTERNAL OPERATION MEASURE UPDATE REGISTERS See Tables 34 through 39 FIGURE 43. MEASUREMENT TIMING (STANDALONE) On receiving the Start Scan signal, the device initializes measurement circuits and proceeds to perform the requested measurement(s). Once the measurements are made, some SPI SCAN COMMAND DIN SCK SCAN/MEASURE INTERNAL OPERATION (MASTER) UPDATE REGISTERS See Tables 34 through 39 See Figure 46 on page 53, Tables 40 and 41 on page 58 DAISY CHAIN SCAN COMMAND UNIT 2 UNIT 6 4 DAISY CHAIN CLOCKS SCAN/MEASURE INTERNAL OPERATION (DAISY CHAIN UNIT 6) UPDATE REGISTERS See Tables 34 through 39 FIGURE 44. MEASUREMENT TIMING (6 DEVICE DAISY CHAIN). Submit Document Feedback 51 FN7938.1 April 23, 2015 ISL94212 Command Timing Diagram SPI COMMAND DOUT tCS:WAIT CS MASTER SCK tLEAD tLAG tSPI tD T1A DAISY CLOCK (P2 TRANSMIT) 8* tD 8* tD 8* tD 8* tD 8* tD 8* tD 12 * tD (Note 14) (Note 15) DEVICE 2 2 * tD (P1 RECEIVE) 8* tD 8* tD 2µs 2 * tD 4 * tD DEVICE 6 12 * tD SCAN 8* tD (P1 RECEIVE) (FROM DEVICE 5) 8* tD 8* tD 8* tD 8 * tD SCAN 2µs 2 * tD DEVICE 14 8 * tD (P1 RECEIVE) (FROM DEVICE 13) 8* tD 8* tD 8* tD 8* tD SCAN 2µs 2 * tD T1B T1C To Start of Scan (Master) T1A = T SPI 8 + T LEAD + T LAG 3 + 2 T CSWAIT To Start of Scan (Top/Middle) T1B = T SPI 8 + T LEAD + T LAG + T D 28 + n – 2 + 2s COMMANDS: • Scan Voltages • Scan Temperatures • Scan Mixed • Scan Wires To End of Command • Scan All T1C = T SPI 8 + T LEAD + T LAG + T D 34 + N – 2 • Measure • Read Where: TSPI = SPI clock period TD = Daisy chain clock period TCS:WAIT = CS High time TLEAD = CS Low to first SPI Clock TLAG = Last SPI Clock CS High n = stack position of target device N = stack position of TOP device • Write • Scan Continuous • Scan Inhibit • Sleep • NAK NOTES: 14. Master adds extra byte of zeros as part of Daisy protocol 15. Master adds N-2 clocks to allow communication to the end of the chain. FIGURE 45. COMMAND TIMING Submit Document Feedback 52 FN7938.1 April 23, 2015 ISL94212 Response Timing Diagrams Responses are different for Master, Middle, and Top devices. The response timings are shown in Figures 46, 47, and 48. DIN CS MASTER SCK tCS 2µs DEVICE 2 (P2 RECEIVE) DEVICE 6 tLAG tLEAD DATA READY (P1 TRANSMIT) tDR:WAIT 8* tD 2µs 8* tD 8* tD 8* tD 8* tD 8* tD 8* tD 8* tD 8* tD 4 * tD 8* tD (P1 TRANSMIT) 2*tD DEVICE 14 tDR:SP 8 * tD 8* tD 8* tD 8* tD 8* tD 4*tD 8 * tD 8* tD (P1 TRANSMIT) 8* tD 8* tD 12 * tD DAISY CHAIN ACK RESPONSE 2µs T2 T2 = 8 T SPI + T DRSP + T DRWAIT + T CS + T LEAD + T LAG D – T DRSP + T D 42 + N – 2 + 8 + 4s Where: TSPI = SPI clock period TD = Daisy Chain clock period TCS = Host delay from DATA READY Low to the CS Low TDRSP = CS High to DATA READYHigh TDRWAIT = DATA READY High time TLEAD = CS Low to first SPI Clock TLAG = Last SPI Clock CS High N = Stack position of TOP device D = Number of data bytes D = 4 for one register read (or ACK/NAK response) D = 40 for read all voltages D = 22 for read all temperatures D = 22 for read all faults D = 43 for read all setup FIGURE 46. RESPONSE TIMING (MASTER DEVICE) Submit Document Feedback 53 FN7938.1 April 23, 2015 ISL94212 Response Timing Diagrams Responses are different for Master, Middle, and Top devices. The response timings are shown in Figures 46, 47, and 48. (Continued) tCS DIN CS MASTER tLEAD tLAG SCK tDR:SP DATA READY 2µs DEVICE 2 (P2 RECEIVE) (P1 TRANSMIT) 2µs 8* tD 8* tD 8* tD 8* tD 8* tD 8* tD 8* tD 8* tD 4* tD DEVICE 6 (P1 TRANSMIT) 8* tD n 8* tD (P2 RECEIVE) (FROM DEVICE 7) 8* tD DEVICE 14 2*tD N (P1 TRANSMIT) 8* tD 8* tD 8* tD 4*tD Note 16 DAISY CHAIN READ DATA RESPONSE 8* tD 7*tD (= N - n - 1) 8* tD 8 * tD 8* tD 2µs 8* tD 8* tD 8* tD 8* tD 7* tD DAISY CHAIN ACK RESPONSE Note 17 2µs COMMAND RESPONSE T3 T4 T3 = T D 50 + N – n – 1 + 4s T4 = T SPI 8 + T CS + T LEAD + T LAG + T DRSP + T D D 8 + n – 2 + 2s Where: TD = Daisy Chain clock period TSPI = SPI Clock Period N = Stack position of TOP device n = Stack position of MIDDLE stack device TCS = Delay imposed by host from DATA READY to the first SPI clock cycle D = Number of bytes in the Middle stack device response e.g. read all cell data = 40 bytes, Register or ACK response = 4 bytes. NOTES: 16. Top Device adds (N - n - 1) Daisy clocks to allow communications to the targeted Middle Stack device. 17. Middle Stack Device adds (n - 2) Daisy clocks to allow communications to the Master device. FIGURE 47. RESPONSE TIMING (MIDDLE STACK DEVICE) Submit Document Feedback 54 FN7938.1 April 23, 2015 ISL94212 Response Timing Diagrams Responses are different for Master, Middle, and Top devices. The response timings are shown in Figures 46, 47, and 48. (Continued) tCS DIN CS MASTER tLEAD tDR:SP DATA READY 2µs DEVICE 6 DEVICE 2 (P2 RECEIVE) (P1 TRANSMIT) 2µs 8* tD 8* tD 8* tD 8* tD 8* tD 8* tD 8* tD 8* tD 4 * tD 8* tD (P1 TRANSMIT) 2*tD DEVICE 14 tLAG SCK 8 * tD 8* tD 8* tD 8* tD 4*tD 8* tD 8 * tD 8* tD (P1 TRANSMIT) 8* tD 8* tD 12 * tD DAISY CHAIN DATA RESPONSE 2µs T5 T5 = T SPI 8 + T LEAD + T LAG + T DRSP + T CS + T D D 8 + 10 + N – 2 + 4s Where: TSPI = SPI clock period TD = Daisy Chain clock period TCS = Host delay from DATA READY to the first SPI clock TDRSP = CS High to DATA READY High TLEAD = CS Low to first SPI Clock TLAG = Last SPI Clock CS High N = stack position of TOP device D = Number of bytes in response FIGURE 48. RESPONSE TIMING (TOP DEVICE) SEQUENTIAL DAISY CHAIN COMMUNICATIONS When sending a sequence of commands to the Master device, the host must allow time, after each response and before sending the next command, for the daisy chain ports of all stack devices (other than the Master) to switch to receive mode. This wait time is equal to 8 daisy chain clock cycles and is imposed from the time of the last edge on the Master’s input daisy chain port to the last edge of the first byte of the subsequent command on the SPI, (see Figure 33). The minimum recommended wait time, between the host receiving the last edge of a response and sending the first edge of the next command, is given for the various daisy chain data rates in Table 33. Submit Document Feedback 55 TABLE 33. MINIMUM RECOMMENDED COMMUNICATIONS WAIT TIME MAXIMUM TIME FOR DAISY CHAIN PORTS TO CLEAR UNIT Daisy Chain Data Rate 500 250 125 62.5 kHz Communications Wait Time 18 36 72 144 µs FN7938.1 April 23, 2015 ISL94212 SPI COMMAND NEXT SPI COMMAND SPI RESPONSE DIN SCK DATA READY Minimum Wait time between commands. See Table 33 UNIT 2 UNIT n FIGURE 49. MINIMUM WAIT BETWEEN COMMANDS (DAISY CHAIN RESPONSE - TOP DEVICE) Communication and Measurement Timing Tables SCAN TEMPERATURES Measurement Timing Tables SCAN VOLTAGES The Scan Voltages command initiates a sequence of measurements starting with a scan of each cell input from cell 12 to cell 1, followed by a measurement of pack voltage. Additional measurements are then performed for the internal temperature and to check the connection integrity test of the VSS and VBAT inputs. The process completes with the application of calibration parameters and the loading of registers. Table 34 shows the times after the start of scan that the cell voltage inputs are sampled. The voltages are held until the ADC completes its conversion. TABLE 34. SCAN VOLTAGES FUNCTION TIMING - DAISY CHAIN MASTER OR STANDALONE DEVICE EVENT TYP (µs) MAX (µs) Sample cell 12 17 19 Sample cell 11 38 42 Sample cell 10 59 65 Sample cell 9 81 89 Sample cell 8 102 112 Sample cell 7 123 135 Sample cell 6 144 159 Sample cell 5 166 182 Sample cell 4 187 206 Sample cell 3 208 229 Sample cell 2 229 252 Sample cell 1 251 276 Complete cell voltage capture (ADC complete). Sample VBAT 304 334 Complete VBAT voltage capture 318 349 Measure internal temperature 423 465 Complete VSS test 550 605 Complete VBAT test 726 799 Load registers 766 842 Submit Document Feedback 56 The Scan Temperatures command turns on the TEMPREG output and, after a 2.5ms settling interval, samples the ExT1 to ExT4 inputs. TEMPREG turns off on completion of the ExT4 measurement. The Reference Voltage, IC Temperature and Multiplexer loopback function are also measured. The sequence is completed with respective registers being loaded. TABLE 35. SCAN TEMPERATURES FUNCTION TIMING– DAISY CHAIN MASTER OR STANDALONE DEVICE ELAPSED TIME (µs) EVENT TYP MAX 2 2 2518 2770 Sample ExT4 2564 2820 Sample Reference 2584 2842 Measure Internal Temperature 2689 2958 Load registers 2689 2958 Turn on TEMPREG Sample ExT1 ~ FN7938.1 April 23, 2015 ISL94212 SCAN MIXED SCAN ALL The Scan Mixed command performs all the functions of the Scan Voltages command but interposes a measurement of the ExT1 input between the cell 7 and cell 6 measurements. The Scan All command combines the Scan Voltages, Scan Wires and Scan Temperatures commands into a single scan function. TABLE 36. SCAN MIXED FUNCTION TIMING – DAISY CHAIN MASTER OR STANDALONE DEVICE EVENT TYP (µs) MAX (µs) Sample cell 12 17 19 Sample cell 11 38 42 Sample cell 10 59 65 Sample cell 9 80 88 Sample cell 8 101 111 Sample cell 7 122 134 Complete cell voltage capture 12-7 Sample Ext1 176 194 Complete Ext1 capture 192 211 Sample cell 6 207 228 Sample cell 5 228 251 Sample cell 4 249 274 Sample cell 3 270 297 Sample cell 2 291 321 Sample cell 1 312 344 Complete cell voltage capture 6-1 Sample VBAT 367 404 Complete VBAT voltage capture 381 419 Load registers 829 911 TABLE 38. SCAN ALL FUNCTION TIMING – DAISY CHAIN MASTER OR STANDALONE DEVICE ELAPSED TIME (ms) EVENT TYP MAX 0 0 Start Scan Wires 0.8 0.9 Start Scan Temperatures 60.1 66.2 Complete Sequence 62.8 69.1 Start Scan Voltages MEASURE COMMAND Single parameter measurements of the cell voltages, Pack Voltage, ExT1 to ExT4 inputs, IC temperature and Reference voltage are performed using the Measure command. TABLE 39. VARIOUS MEASURE FUNCTION TIMINGS – DAISY CHAIN MASTER OR STANDALONE DEVICE ELAPSED TIME (µs) EVENT TYP MAX Measure Cell Voltage 178 196 Measure Pack Voltage 122 134 Measure ExT Input 2517 2768 Measure IC Temperature 106 116 Measure Reference Voltage 106 116 SCAN WIRES Command Timing Tables The Scan Wires command initiates a sequence in which each input is loaded in turn with a test current for a duration of 4.5ms (default). At the end of this time the input voltage is checked and the test current is turned off. The result of each test is recorded and the Open Wire Fault and Fault Status registers are updated (data latched) at the conclusion of the tests. The command timing tables (see Tables 40 and 41) include the time from the start of the command to the start of an internal operation and the time required for the communication to complete (since the internal operation begins before the end of the daisy chain command.) TABLE 37. SCAN WIRES FUNCTION TIMING – DAISY CHAIN MASTER OR STANDALONE DEVICE ELAPSED TIME (ms) EVENT TYP MAX Turn on VC0 current 0.03 0.05 Test VC0 4.5 5.0 Turn on VC1 current 4.6 5.1 Test VC1 9.1 10.0 Turn on VC12 current 54.9 60.3 Test VC12 59.4 65.3 Load registers 59.4 65.3 ~ Submit Document Feedback 57 In the case of a command that starts a scan or measurement, the host needs to wait until the command completes, by reaching the last device, plus a communications wait time (see Table 33) before sending another command. For a Read command, the response begins in the top device immediately following the end of the command. In calculating overall timing, use the time for each target device command. This time is repeated for each device in the daisy chain, except when an “Address All” option is used. In an address all operation, use the command timing for the top device in the stack to determine when the command ends, but use the time to start of scan for each device to determine when that device begins its internal voltage sampling. For example, in a stack of six devices, it takes 86.9µs for the command to complete, but internal operations start at 7.8µs for the Master, 66.7µs for device 2, 68.9µs for device 3, etc. FN7938.1 April 23, 2015 ISL94212 In Tables 40 and 41, the calculation assumes a daisy chain (and internal) clock that is 10% slower than the nominal and an SPI clock that is running at the nominal speed (since the SPI clock is normally crystal controlled.) For the 500kHz Daisy setting, timing assumes a 450kHz clock. TABLE 40. MAXIMUM COMMAND TIMING (DAISY CLOCK = 500kHz, SPI CLOCK = 2MHz) Response Timing Tables Response timing depends on the number of devices in the stack, the position of the device in the stack, and how many bytes are read back. There are four “sizes” of read responses that are as follows: • Single register read or ACK/NAK responses, where four bytes are returned by the Read Command TARGET DEVICE TIME TO START OF SCAN FOR TARGET DEVICE (µs) 1 13.8 2 68.7 80.1 • Read all setup registers response, which returns 43 bytes 3 70.9 82.3 4 73.2 84.5 5 75.4 86.7 In the following tables, the Master, Middle and Top device response times for any number of daisy chain devices are included with the command timing for that configuration. The right hand column shows the total time to complete the read operation. This is calculated by Equation 4: COMMAND TIME TO START OF RESPONSE (DAISY) (µs) 6 77.6 88.9 7 79.8 91.2 8 82.1 93.4 9 84.3 95.6 10 86.5 97.8 11 88.7 100.1 12 90.9 102.3 13 93.2 104.5 14 95.4 106.7 TABLE 41. MAXIMUM COMMAND TIMING (DAISY CLOCK = 250kHz, SPI CLOCK = 2MHz) COMMAND TIME TO START OF RESPONSE (DAISY) (µs) TARGET DEVICE TIME TO START OF SCAN FOR TARGET DEVICE (µs) 1 13.8 2 130.9 155.6 3 135.4 160.1 4 139.8 164.5 5 144.3 168.9 6 148.7 173.4 7 153.2 177.8 8 157.6 182.3 9 162.1 186.7 10 166.5 191.2 11 170.9 195.6 12 175.4 200.1 13 179.8 204.5 14 184.3 208.9 Submit Document Feedback 58 • Read all voltage response, which returns 40 bytes • Read all temps or read all faults responses, which returns 22 bytes N T COMMAND + N – 2 T MID + T TOP + T MASTER (EQ. 4) Where N = Number of devices in the stack. In the following tables, internal and daisy clocks are assumed to be slow by 10% and the SPI clock is assumed to be at the stated speed. For an example, consider a stack of 6 devices. To get the full scan time with a daisy clock of 500kHz and SPI clock of 2MHz, it takes 77.6µs from the start of the Scan All command to the start of the internal scan (see Table 40), 842µs to complete a scan of all voltages (see Table 34 on page 56), 5.334ms to read all cell voltages from all devices (see Table 44 on page 60) and 18µs delay before issuing another command. In this case, all cell voltages in the host controller can be updated every 6.28ms. FN7938.1 April 23, 2015 ISL94212 4-BYTE RESPONSE Tables 42 and 43 show the calculated timing for read operations for 4 byte responses. This is the timing for an ACK or NAK, as well as Read Register command. TABLE 42. READ TIMING (MAX): 4-BYTE RESPONSE, DAISY CLOCK = 500kHz, SPI CLOCK = 2MHz TOP STACK DEVICE COMMAND TIME TO START OF RESPONSE (EACH DAISY DEVICE) (µs) 2 80 139 3 82 142 4 85 5 MIDDLE RESPONSE MASTER RESPONSE TIME TO COMPLETE TIME TO COMPLETE RESPONSE (EACH MID DAISY DEVICE) RESPONSE (DAISY) (µs) (µs) TOP RESPONSE TIME TO COMPLETE RESPONSE (DAISY) (µs) RESPONSE ALL DEVICES (µs) COMMAND + RESPONSE ALL DEVICES (µs) 110 250 410 201 113 455 702 144 203 115 666 1004 87 146 206 117 880 1314 6 89 148 208 119 1099 1633 7 91 151 210 121 1323 1961 8 93 153 212 124 1550 2298 9 96 155 215 126 1783 2643 10 98 157 217 128 2020 2998 11 100 159 219 130 2261 3361 12 102 162 221 133 2506 3734 13 105 164 223 135 2757 4115 14 107 166 226 137 3011 4505 TABLE 43. READ TIMING (MAX): 4-BYTE RESPONSE, DAISY CLOCK = 250kHz, SPI CLOCK = 2MHz TOP STACK DEVICE COMMAND TIME TO START OF RESPONSE (EACH DAISY DEVICE) (µs) 2 156 228 3 160 233 4 165 5 MIDDLE RESPONSE MASTER RESPONSE TIME TO COMPLETE TIME TO COMPLETE RESPONSE (EACH MID DAISY DEVICE) RESPONSE (DAISY) (µs) (µs) TOP RESPONSE TIME TO COMPLETE RESPONSE (DAISY) (µs) RESPONSE ALL DEVICES (µs) COMMAND + RESPONSE ALL DEVICES (µs) 204 432 743 383 208 824 1304 237 388 213 1226 1884 169 242 392 217 1636 2480 6 173 246 397 221 2055 3095 7 178 251 401 226 2483 3727 8 182 255 406 230 2919 4378 9 187 259 410 235 3365 5045 10 191 264 415 239 3820 5731 11 196 268 419 244 4283 6435 12 200 273 423 248 4755 7156 13 205 277 428 253 5237 7895 14 209 282 432 257 5727 8652 Submit Document Feedback 59 FN7938.1 April 23, 2015 ISL94212 40-BYTE RESPONSE Tables 44 and 45 show the calculated timing for read operations for 40-byte responses. Specifically, this is the timing for a Read All Voltages command. TABLE 44. READ TIMING (MAX): 40-BYTE RESPONSE, DAISY CLOCK = 500kHz, SPI CLOCK = 2MHz TOP STACK DEVICE COMMAND TIME TO START OF RESPONSE (EACH DAISY DEVICE) (µs) 2 80 643 3 82 646 4 85 5 MIDDLE RESPONSE MASTER RESPONSE TIME TO COMPLETE TIME TO COMPLETE RESPONSE (EACH MID DAISY DEVICE) RESPONSE (DAISY) (µs) (µs) TOP RESPONSE TIME TO COMPLETE RESPONSE (DAISY) (µs) RESPONSE ALL DEVICES (µs) COMMAND + RESPONSE ALL DEVICES (µs) 750 1394 1554 841 753 2239 2486 648 843 755 3090 3428 87 650 846 757 3944 4378 6 89 652 848 759 4803 5337 7 91 655 850 761 5667 6305 8 93 657 852 764 6534 7282 9 96 659 855 766 7407 8267 10 98 661 857 768 8284 9262 11 100 663 859 770 9165 10265 12 102 666 861 773 10050 11278 13 105 668 863 775 10941 12299 14 107 670 866 777 11835 13329 TABLE 45. READ TIMING (MAX): 40-BYTE RESPONSE, DAISY CLOCK = 250kHz, SPI CLOCK = 2MHz TOP STACK DEVICE COMMAND TIME TO START OF RESPONSE (EACH DAISY DEVICE) (µs) 2 156 732 3 160 737 4 165 5 MIDDLE RESPONSE MASTER RESPONSE TIME TO COMPLETE TIME TO COMPLETE RESPONSE (EACH MID DAISY DEVICE) RESPONSE (DAISY) (µs) (µs) TOP RESPONSE TIME TO COMPLETE RESPONSE (DAISY) (µs) RESPONSE ALL DEVICES (µs) COMMAND + RESPONSE ALL DEVICES (µs) 1484 2216 2527 1663 1488 3888 4368 741 1668 1493 5570 6228 169 746 1672 1497 7260 8104 6 173 750 1677 1501 8959 9999 7 178 755 1681 1506 10667 11911 8 182 759 1686 1510 12383 13842 9 187 763 1690 1515 14109 15789 10 191 768 1695 1519 15844 17755 11 196 772 1699 1524 17587 19739 12 200 777 1703 1528 19339 21740 13 205 781 1708 1533 21101 23759 14 209 786 1712 1537 22871 25796 Submit Document Feedback 60 FN7938.1 April 23, 2015 ISL94212 22-BYTE RESPONSE Tables 46 and 47 show the calculated timing of read operations for 22-byte responses. This is the timing for Read All Temperature or Read All Faults command. TABLE 46. READ TIMING (MAX): 22-BYTE RESPONSE, DAISY CLOCK = 500kHz, SPI CLOCK = 2MHz TOP STACK DEVICE COMMAND TIME TO START OF RESPONSE (EACH DAISY DEVICE) (µs) 2 80 391 3 82 394 4 85 5 MIDDLE RESPONSE MASTER RESPONSE TIME TO COMPLETE TIME TO COMPLETE RESPONSE (EACH MID DAISY DEVICE) RESPONSE (DAISY) (µs) (µs) TOP RESPONSE TIME TO COMPLETE RESPONSE (DAISY) (µs) RESPONSE ALL DEVICES (µs) COMMAND + RESPONSE ALL DEVICES (µs) 430 822 982 521 433 1347 1594 396 523 435 1878 2216 87 398 526 437 2412 2846 6 89 400 528 439 2951 3485 7 91 403 530 441 3495 4133 8 93 405 532 444 4042 4790 9 96 407 535 446 4595 5455 10 98 409 537 448 5152 6130 11 100 411 539 450 5713 6813 12 102 414 541 453 6278 7506 13 105 416 543 455 6849 8207 14 107 418 546 457 7423 8917 TABLE 47. READ TIMING (MAX): 22-BYTE RESPONSE, DAISY CLOCK = 250kHz, SPI CLOCK = 2MHz TOP STACK DEVICE COMMAND TIME TO START OF RESPONSE (EACH DAISY DEVICE) (µs) 2 156 480 3 160 485 4 165 5 MIDDLE RESPONSE MASTER RESPONSE TIME TO COMPLETE TIME TO COMPLETE RESPONSE (EACH MID DAISY DEVICE) RESPONSE (DAISY) (µs) (µs) TOP RESPONSE TIME TO COMPLETE RESPONSE (DAISY) (µs) RESPONSE ALL DEVICES (µs) COMMAND + RESPONSE ALL DEVICES (µs) 844 1324 1635 1023 848 2356 2836 489 1028 853 3398 4056 169 494 1032 857 4448 5292 6 173 498 1037 861 5507 6547 7 178 503 1041 866 6575 7819 8 182 507 1046 870 7651 9110 9 187 511 1050 875 8737 10417 10 191 516 1055 879 9832 11743 11 196 520 1059 884 10935 13087 12 200 525 1063 888 12047 14448 13 205 529 1068 893 13169 15827 14 209 534 1072 897 14299 17224 Submit Document Feedback 61 FN7938.1 April 23, 2015 ISL94212 System Registers System registers contain 14-bits each. All register locations are memory mapped using a 9-bit address. The MSBs of the address form a 3-bit page address. Page 1 (3’b001) registers are the measurement result registers for cell voltages and temperatures. Page 3 (3’b011) is used for commands. Pages 1 and 3 are not subject to the checksum calculations. Page addresses 4 and 5 (3’b100 and 3b’101), with the exception of the EEPROM checksum registers, are reserved for internal functions. All page 2 registers (device configuration registers), together with the EEPROM checksum registers, are subject to a checksum calculation. The checksum is calculated in response to the Calculate Register Checksum command using a Multiple Input Shift Register (MISR) error detection technique. The checksum is tested in response to a Check Register Checksum command. The occurrence of a checksum error sets the PAR bit in the Fault Status register and causes a Fault response accordingly. The normal response to a PAR error is for the host microcontroller to re-write the page 2 register contents. A PAR fault also causes the device to cease any scanning or cell balancing activity. A description of each register is included in “Register Descriptions” as follows and includes a depiction of the register with bit names and initialization values at power-up, when the EN pin is toggled and the device receives a Reset Command, or when the device is reset. Bits which reflect the state of external pins are notated “Pin” in the initialization space. Bits which reflect the state of nonvolatile memory bits (EEPROM) are notated “NV” in the initialization space. Initialization values are shown below each bit name. Reserved bits (indicated by grey areas) should be ignored when reading and should be set to “0” when writing to them. Register Descriptions Cell Voltage Data BASE ADDR (PAGE) 3’b001 ADDRESS RANGE ACCESS DESCRIPTION Read Only 6’h00 - 6’h0C Measured cell voltage and pack voltage values. Address 001111 accesses all cell and Pack Voltage data and 6’h0F with one read operation. See Figure 41D on page 40. Cell and Pack Voltage values are output as 13-bit signed integers with the 14th bit (MSB) denoting the sign, (e.g., positive full scale is 14’h1FFF, 8191 decimal, negative full scale is 14’h2000, 8192 decimal). ACCESS PAGE ADDR REGISTER ADDRESS Read Only 3’b001 6’h00 VBAT Voltage 6’h01 Cell 1 Voltage 6’h02 Cell 2 Voltage 6’h03 Cell 3 Voltage 6’h04 Cell 4 Voltage 6’h05 Cell 5 Voltage 6’h06 Cell 6 Voltage 6’h07 Cell 7 Voltage 6’h08 Cell 8 Voltage 6’h09 Cell 9 Voltage DESCRIPTION 6’h0A Cell 10 Voltage 6’h0B Cell 11 Voltage 6’h0C Cell 12 Voltage 6’h0F Read all cell voltages HEXvalue 10 – 16384 15.9350784 2.5 ifHEXvalue 10 8191 VBAT = -------------------------------------------------------------------------------------------------------------------------------------8192 HEXvalue 10 – 16384 2 2.5 VCx = ---------------------------------------------------------------------------------------------------8192 HEXvalue10 15.9350784 2.5 else VBAT = ------------------------------------------------------------------------------8192 HEXvalue 10 2 2.5 VCx = ----------------------------------------------------8192 Temperature Data, Secondary Voltage Reference Data, Scan Count BASE ADDR (PAGE) 3’b001 ACCESS ADDRESS RANGE DESCRIPTION 6’h10 - 6’h16 Measured temperature, Secondary reference, Scan Count. Address 011111 accesses all these data in a See and 6’h1F continuous read (see Figure 41D on page 40.) Temperature and reference values are output as 14-bit individual register unsigned integers, (e.g., full scale is 14’h3FFF (16383 decimal)). HEXvalue 10 2.5 Vtemp = -------------------------------------------16384 Submit Document Feedback 62 FN7938.1 April 23, 2015 ISL94212 ACCESS PAGE ADDR REGISTER ADDRESS Read Only 3’b001 6’h10 Read/ Write 3’h001 DESCRIPTION Internal temperature reading. 6’h11 External temperature input 1 reading. 6’h12 External temperature input 2 reading. 6’h13 External temperature input 3 reading. 6’h14 External temperature input 4 reading. 6’h15 Reference voltage (raw ADC) value. Use to calculate corrected reference value using reference coefficient data. See page 2 data, address 6’h38 – 6’h3A. 6’h16 Scan Count: Current scan instruction count. Count is incremented each time a scan command is received and wraps to zero when overflowed. Register may be compared to previous value to confirm scan command receipt. Bit Designations: 13 12 11 10 0 0 0 0 9 8 7 6 5 4 0 0 0 0 RESERVED Read Only 3’h001 6’h1F 0 0 3 2 1 0 SCN3 SCN2 SCN1 SCN0 0 0 0 0 Read all: Temperature Data, Secondary Voltage Reference Data, Scan Count (locations 6’h10 - 6’h16) Fault Registers BASE ADDR (PAGE) 3’h010 ACCESS Read/ Write ACCESS Read/ Write ADDRESS RANGE DESCRIPTION 6’h00 - 6’h05 Fault registers. Fault setup and status information. Address 6’h0F accesses all fault data in a continuous and 6’h0F read (Daisy Chain configuration only). See Figure 41D on page 40. PAGE ADDR REGISTER ADDRESS 3’h010 6’h00 DESCRIPTION Overvoltage Fault: Overvoltage fault on cells 12 to 1 correspond with bits OF12 to OF1, respectively. Default values are all zero. Bits are set to 1 when faults are detected. The contents of this register may be reset via register write (14’h0000). 13 12 RESERVED 0 Read/ Write 3’h010 6’h01 0 12 RESERVED 0 3’h010 6’h02 9 8 7 6 5 4 3 2 1 0 OF10 OF9 OF8 OF7 OF6 OF5 OF4 OF3 OF2 OF1 0 0 0 0 0 0 0 0 0 0 0 0 0 11 10 9 8 7 6 5 4 3 2 1 0 UF12 UF11 UF10 UF9 UF8 UF7 UF6 UF5 UF4 UF3 UF2 UF1 0 0 0 0 0 0 0 0 0 0 0 0 Open Wire Fault: Open Wire fault on Pins VC12 to VC0 correspond with bits OC12 to OC0, respectively. Default values are all zero. Bits are set to 1 when faults are detected. The contents of this register may be reset via register write (14’h0000). 13 12 RESER OC12 VED 0 Submit Document Feedback 10 OF11 Undervoltage Fault: Undervoltage fault on cells 12 to 1 correspond with bits UF12 to UF1, respectively. Default values are all zero. Bits are set to 1 when faults are detected. The contents of this register may be reset via register write (14’h0000). 13 Read/ Write 11 OF12 63 0 11 10 9 8 7 6 5 4 3 2 1 0 OC11 OC10 OC9 OC8 OC7 OC6 OC5 OC4 OC3 OC2 OC1 OC0 0 0 0 0 0 0 0 0 0 0 0 0 FN7938.1 April 23, 2015 ISL94212 ACCESS Read/ Write PAGE ADDR REGISTER ADDRESS 3’h010 6’h03 Submit Document Feedback DESCRIPTION Fault Setup: These bits control various Fault configurations. Default values are shown below, as are descriptions of each bit. 13 12 11 10 9 8 7 6 5 4 3 2 1 0 RESER VED TST4 TST3 TST2 TST1 TST0 TOT2 TOT1 TOT0 WSCN SCN3 SCN2 SCN1 SCN0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 SCN0, 1, 2, 3 Scan interval code. Decoded to provide the scan interval setup for the auto scan function. Initialized to 0000 (16ms scan interval). See Table 2 on page 23. WSCN Scan wires timing control. Set to 1 for tracking of the temperature scan interval. Set to 0 for tracking of the cell voltage scan interval above 512ms. Interval is fixed at 512ms for faster cell scan rates. See Table 2 on page 23. TOT0, 1, 2 Fault totalize code bits. Decoded to provide the required fault totalization. An unbroken sequence of positive fault results equal to the totalize amount is needed to verify a fault condition. Initialized to 011 (8 sample totalizing.) See Table 29 on page 46. This register must be re-written following an error detection resulting from totalizer overflow. TST0 Controls temperature testing of internal IC temperature. Set bit to 1 to enable internal temperature test. Set to 0 to disable (not recommended). Initialized to 1 (on). TST1 to TST4 Controls temperature testing on the external temperature inputs 1 to 4, respectively. Set bit to 1 to enable the corresponding temperature test. Set to 0 to disable. Allows external inputs to be used for general voltage monitoring without imposing a limit value. TST1 to TST4 are initialized to 0 (off). 64 FN7938.1 April 23, 2015 ISL94212 ACCESS Read/ Write Read/ Write PAGE ADDR REGISTER ADDRESS 3’h010 6’h04 3’h010 6’h05 DESCRIPTION Fault Status: The FAULT logic output is an OR function of the bits in this register: the output will be asserted low if any bits in the Fault Status register are set. 13 12 11 10 9 8 7 6 5 4 3 2 MUX REG REF PAR OVSS OVBAT OW UV OV OT WDGF OSC 0 0 0 0 0 0 0 0 0 0 0 0 1 0 RESERVED 0 0 OSC Oscillator fault bit. Bit is set in response to a fault on either the 4MHz or 32kHz oscillators. Note that communications functions may be disrupted by a fault in the 4MHz oscillator. WDGF Watchdog timeout fault. Bit is set in response to a watchdog timeout. OT Over-temperature fault. ‘OR’ of over-temperature fault bits: TFLT0 to TFLT4. This bit is latched. The bits in the Over-temperature Fault register must first be reset before this bit can be reset. Reset by writing 14’h0000 to this register. OV Overvoltage fault. ‘OR’ of Overvoltage fault bits: OF1 to OF12. This bit is latched. The bits in the Overvoltage Fault register must first be reset before this bit can be reset. Reset by writing 14’h0000 to this register. UV Undervoltage fault. ‘OR’ of Undervoltage fault bits: UF1 to UF12. This bit is latched. The bits in the Undervoltage Fault register must first be reset before this bit can be reset. Reset by writing 14’h0000 to this register. OW Open Wire fault. ‘OR’ of open wire fault bits: OC0 to OC12. This bit is latched. The bits in the Open Wire Fault register must first be reset before this bit can be reset. Reset by writing 14’h0000 to this register. OVBAT Open wire fault on VBAT connection. Bit set to 1 when a fault is detected. May be reset via register write (14’h0000). OVSS Open wire fault on VSS connection. Bit set to 1 when a fault is detected. May be reset via register write (14’h0000). PAR Register checksum (Parity) error. This bit is set in response to a register checksum error. The checksum is calculated and stored in response to a Calc Register Checksum command and acts on the contents of all page 2 registers. The Check Register Checksum command is used to repeat the calculation and compare the results to the stored value. The PAR bit is then set if the two results are not equal. This bit is not set in response to a nonvolatile EEPROM memory checksum error. See table on page 71. REF Voltage reference fault. This bit is set if the voltage reference value is outside its “power-good” range. REG Voltage regulator fault. This bit is set if a voltage regulator value (V3P3, VCC or V2P5) is outside its “power-good” range. MUX Temperature multiplexer error. This bit is set if the VCC loopback check returns a fault. The VCC loopback check is performed at the end of each temperature scan. Cell Setup: Default values are shown below, as are descriptions of each bit. 13 12 11 10 9 8 7 6 5 4 3 2 1 0 FFSN FFSP C12 C11 C10 C9 C8 C7 C6 C5 C4 C3 C2 C1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C1 to C12 Enable/disable cell overvoltage, undervoltage and open wire detection on cell 1 to 12, respectively. Set to 1 to disable OV/UV and open wire tests. FFSP Force ADC input to Full Scale Positive. All cell scan readings forced to 14'h1FFF. All temperature scan readings forced to 14'h3FFF. FFSN Force ADC input to Full Scale Negative. All cell scan readings forced to 14'h2000. All temperature scan readings forced to 14'h0000. NOTE: The ADC input functions normally if both FFSN and FFSP are set to '1' but this setting is not supported. Submit Document Feedback 65 FN7938.1 April 23, 2015 ISL94212 ACCESS Read/ Write PAGE ADDR REGISTER ADDRESS 3’h010 6’h06 DESCRIPTION Over-temperature Fault: Over-temperature fault on cells 12 to 1 correspond with bits OF12 to OF1, respectively. Default values are all zero. Bits are set to 1 when fault are detected. The contents of this register may be reset via register write (14’h0000). 13 12 11 10 0 0 0 0 9 8 7 6 5 0 0 0 0 RESERVED Read Only 3’h010 6’h0F 0 4 3 2 1 0 TFLT4 TFLT3 TFLT2 TFLT1 TFLT0 0 0 0 0 0 TFLT0 Internal over-temperature fault. Bit set to 1 when a fault is detected. May be reset via register write (14’h0000). TFLT1 - TFLT4 External over-temperature inputs 1 to 4 (respectively.) Bit set to 1 when a fault is detected. May be reset via register write (14’h0000). Read all Fault and Cell Setup data from locations: 6’h00 - 6’h06. See Figure 41D on page 40. Setup Registers BASE ADDR (PAGE) ADDRESS RANGE Access 3’b010 ACCESS Read/ Write 6’h10 - 6’h1D and 6’h1F PAGE ADDR REGISTER ADDRESS 3’b010 6’h10 DESCRIPTION Device Setup registers. All device setup data. DESCRIPTION Overvoltage Limit: Overvoltage Limit Value Overvoltage limit is compared to the measured values for cells 1 to 12 to test for an Overvoltage condition at any of the cells. Bit 0 is the LSB, Bit 12 is the MSB. Bit 13 is not used and must be set to 0. 13 12 RESER OV12 VED 0 Read/ Write 3’b010 6’h11 1 13 0 3’b010 6’h12 10 9 8 7 6 5 4 3 2 1 0 OV11 OV10 OV9 OV8 OV7 OV6 OV5 OV4 OV3 OV2 OV1 OV0 1 1 1 1 1 1 1 1 1 1 1 1 Undervoltage Limit: Undervoltage Limit Value Undervoltage limit is compared to the measured values for cells 1 to 12 to test for an undervoltage condition at any of the cells. Bit 0 is the LSB, Bit 12 is the MSB. Bit 13 is not used and must be set to 0. 12 RESER UV12 VED Read/ Write 11 0 11 10 9 8 7 6 5 4 3 2 1 0 UV11 UV10 UV9 UV8 UV7 UV6 UV5 UV4 UV3 UV2 UV1 UV0 0 0 0 0 0 0 0 0 0 0 0 0 External Temperature Limit: Over-temperature limit value Over-temperature limit is compared to the measured values for external temperatures 1 to 4 to test for an over-temperature condition at any input. The temperature limit assumes NTC temperature measurement devices (i.e., an over-temperature condition is indicated by a temperature reading below the limit value). Bit 0 is the LSB, Bit 13 is the MSB. 13 12 11 10 ETL13 ETL12 ETL11 ETL10 0 Submit Document Feedback 66 0 0 0 9 8 7 6 5 4 3 2 1 0 ETL9 ETL8 ETL7 ETL6 ETL5 ETL4 ETL3 ETL2 ETL1 ETL0 0 0 0 0 0 0 0 0 0 0 FN7938.1 April 23, 2015 ISL94212 ACCESS Read/ Write PAGE ADDR REGISTER ADDRESS 3’b010 6’h13 DESCRIPTION Balance Setup: Default values are shown below, as are descriptions of each bit. 13 12 11 10 RESERVED 0 0 0 BMD0, 1 0 9 8 7 6 5 BEN BSP3 BSP2 BSP1 BSP0 0 0 0 0 0 3’b010 6’h14 Submit Document Feedback 0 0 0 0 0 0 Mode 0 0 OFF 0 1 Manual 1 0 Timed 1 1 Auto BSP0, 1, 2, 3 Balance Status register pointer. Points to one of the 13 incidents of the Balance Status register. Balance Status register 0 is used for Manual Balance mode and Timed Balance mode. Balance status registers 1 to 12 are used for Auto Balance mode. Reads and writes to the Balance Status register are accomplished by first configuring the Balance Status register pointer (e.g., to read (write) Balance Status register 5, load 0101 to the Balance Status register pointer, then read (write) to the Balance Status register). See Table 7 on page 26. BEN Balance enable. Set to ‘1’ to enable balancing. ‘0’ inhibits balancing. Setting or clearing this bit does not affect any other register contents. Balance Enable and Balance Inhibit commands are provided to allow control of this function without requiring a register write. These commands have the same effect as setting this bit directly. This bit is cleared automatically when balancing is complete and the EOB bit (see “6’h19” on page 68) is set. Balance Status The Balance Status register is a Multiple Incidence register controlled by the BSP0-4 bits in the Balance Setup register. See Table 7 on page 26. Bit 0 is the LSB, Bit 11 is the MSB. 12 11 10 9 8 7 6 5 4 3 2 1 0 RESERVED BAL 12 BAL 11 BAL 10 BAL 8 BAL 8 BAL 7 BAL 6 BAL 5 BAL 4 BAL 3 BAL 2 BAL 1 0 0 0 0 0 0 0 0 0 0 0 0 0 BAL1 to BAL12 6’h15 1 Balance wait time. Register contents are decoded to provide the required wait time between device balancing. This is to assist with thermal management and is used with the Auto Balance mode. See Table 4 on page 25. 0 3’b010 2 BWT0, 1, 2 13 Read/ Write 3 Balance mode. These bits set balance mode. BMD1 BMD0 Read/ Write 4 BWT2 BWT1 BWT0 BMD1 BMD0 Cell 1 to Cell 12 balance control, respectively. A bit set to 1 enables balance control (turns FET on) of the corresponding cell. Writing this bit enables balance output for the current incidence of the Balance Status register for the cells corresponding to the particular bits, depending on the condition of BEN in the Balance Setup register. Read this bit to determine the current status of each cell’s balance control. Watchdog/Balance Time Defaults are shown below: 13 12 11 10 9 8 BTM6 BTM5 BTM4 BTM3 BTM2 BTM1 0 0 0 0 0 0 67 7 6 5 4 3 2 1 0 BTM0 WDG6 WDG5 WDG4 WDG3 WDG2 WDG1 WDG0 0 1 1 1 1 1 1 1 WDG0 to WDG6 Watchdog timeout setting. Decoded to provide the time out value for the watchdog function. See “Watchdog Function” on page 43 for details. The watchdog may only be disabled (set to 7’h00) if the watchdog password is set. The watchdog setting can be changed to a nonzero value without writing to the watchdog password. See “Device Setup Register” on page 30. Initialized to 7’h7F (128 minutes). BTM0 to BTM6 Balance timeout setting. Decoded to provide the time out value for Timed Balance mode and Auto Balance mode. Initialized to 7’00 (Disabled). See Table 9 on page 27. FN7938.1 April 23, 2015 ISL94212 PAGE ADDR REGISTER ADDRESS Read/ Write 3’b010 6’h16 6’h17 User Register 28 bits of register space arranged as 2 x 14 bits available for user data. These registers have no effect on the operation of the ISL94212. These registers are included in the register checksum function. Read Only 3’b010 6’h18 Comms Setup ACCESS DESCRIPTION 13 Read/ Write 3’b010 6’h19 12 11 0 6’h1B 6’h1C Submit Document Feedback 6 5 4 SIZE 2 SIZE 1 SIZE 0 0 0 0 0 3 2 1 0 ADDR ADDR ADDR ADDR 3 2 1 0 0 0 0 0 ADDR0-3 Device stack address. The stack address (device position in the stack) is determined automatically by the device in response to an “Identify” command. The resulting address is stored in ADDR0-3 and is used internally for communications paring and sequencing. The stack address may be read by the user but not written to. SIZE0-3 Device stack size (top stack device address). Corresponds to the number of devices in the stack. The stack size is determined automatically by the stack devices in response to an “Identify” command. The resulting number is stored in SIZE0-3 and is used internally for communications paring and sequencing. The stack size may be read by the user but not written to. CSEL1, 2 Communications setup bits. These bits reflect the state of the COMMS SELECT 1,2 pins and determine the operating mode of the communications ports. See Table 15 on page 31. CRAT0, 1 Communications rate bits. These bits reflect the state of the COMMS RATE 0,1 pins and determine the bit rate of the Daisy Chain communications system. Table 17 on page 34. Device Setup 13 12 11 10 9 8 WP5 WP4 WP3 WP2 WP1 WP0 0 0 0 0 0 0 7 6 BDDS RESER VED 0 0 5 4 3 ISCN SCAN EOB 0 0 0 2 1 0 RESER PIN37 PIN39 VED 0 Pin Pin These bits indicate the signal level on pin 37 and pin 39 of the device. End Of Balance. This bit is set by the device when balancing is complete. This function is used in the Timed Balance mode and Auto Balance mode. The BEN bit is cleared as a result of this bit being set. Initialized to 1. SCAN Scan Continuous mode. This bit is set in response to a Scan Continuous command and cleared by a Scan Inhibit command. ISCN Set wire scan current source/sink values. Set to 0 for 150µA. Set to 1 for 1mA. BDDS Balance condition during measurement. Controls the balance condition in Scan Continuous mode and Auto Balance mode. Set to 1 to have balancing functions turned off 10ms prior to and during cell voltage measurement. Set to 0 for normal operation (balancing functions not affected by measurement). WP5:0 Watchdog disable password. These bits must be set to 6’h3A (111010) before the watchdog can be disabled. Disable watchdog by writing 7’h00 to the watchdog bits. Internal Temperature Limit Bit 0 is the LSB, Bit 13 is the MSB. 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ITL 13 ITL 12 ITL 11 ITL 10 ITL 8 ITL 8 ITL 7 ITL 6 ITL 5 ITL 4 ITL 3 ITL 2 ITL 1 ITL 0 NV NV NV NV NV NV NV NV NV NV NV NV NV ITL1 to ITL12 3’b010 7 SIZE 3 COMS COMS COMS COMS RATE1 RATE0 SEL2 SEL1 pin pin pin pin NV Read Only 8 CSEL 1 0 EOB 6’h1A 9 CSEL 2 CRAT1 CRAT0 PIN37, PIN39 Read Only 3’b010 Value set in EEPROM 10 RESERVED IC over-temperature limit value. Over-temperature limit is compared to the measured values for internal IC temperature to test for an over-temperature condition. The internal temperature limit value is stored in nonvolatile memory during test and loaded to these register bits at power-up. The register contents may be read by the user but not written to. Serial Number The 28b serial number programmed in nonvolatile memory during factory test is mirrored to these 2 x 14 bit registers. The serial number may be read at any time but may not be written. 68 FN7938.1 April 23, 2015 ISL94212 ACCESS PAGE ADDR REGISTER ADDRESS Read Only 3’b010 Value set in EEPROM 6’h1D DESCRIPTION Trim Voltages 13 12 11 10 9 8 TV5 TV4 TV3 TV2 TV1 TV0 RESERVED NV NV NV NV NV NV Ignore the Contents of these bits TV5:0 Read Only 3’h010 6’h1F 7 6 5 4 3 2 1 0 Trim voltage (VNOM). The nominal cell voltage is programmed to nonvolatile memory during test and loaded to the Trim Voltage register at power up. The VNOM value is a 7-bit representation of the 0V to 5V cell voltage input range with 50 (7’h32) representing 5V (e.g., LSB = 0.1V). The parts are additionally marked with the trim voltage by the addition of a two digit code to the part number e.g., 3.3V is denoted by the code 33. (1 bit per 0.1V of trim voltage, so 0 to 50 decimal covers the full range.) Read all setup data from locations: 6’h10 - 6’h1D. See Figure 41D on page 40. Cell Balance Registers BASE ADDR (PAGE) 3’b010 ACCESS Read/ Write ADDRESS RANGE ACCESS Read/ Write 6’h20 - 6’h37 DESCRIPTION Cell balance registers. These registers are loaded with data related to change in SOC desired for each cell. This data is then used during Auto Balance mode. The data value is decremented with each successive ADC sample until a zero value is reached. The register space is arranged as 2 x 14-bit per cell for 24 x 14-bit total. The registers are cleared at device power up or by a Reset command. See “Auto Balance Mode” on page 27. PAGE ADDR REGISTER ADDRESS 3’b010 6’h20 Cell 1 balance value bits 0 to 13. 6’h21 Cell 1 balance value bits 14 to 27. DESCRIPTION ~ 6’h36 Cell 12 balance value bits 0 to 13. 6’h37 Cell 12 balance value bits 14 to 27. Reference Coefficient Registers BASE ADDR (PAGE) 3’b010 ACCESS Read Only Value set in EEPROM ADDRESS RANGE ACCESS Read Only 6’h38 - 6’h3A PAGE ADDR REGISTER ADDRESS 3’b010 6’h38 Submit Document Feedback DESCRIPTION Reference Coefficients. Bit 13 is the MSB, Bit 0 is the LSB DESCRIPTION Reference Coefficient C Reference calibration coefficient C LSB. Use with coefficients A and B and the measured reference value to obtain the compensated reference measurement. This result may be compared to limits given in the “Electrical Specifications” table beginning on page 7 to check that the reference is within limits. The register contents may be read by the user but not written to. 69 13 12 11 10 9 8 7 6 5 4 3 2 1 0 RCC 13 RCC 12 RCC 11 RCC 10 RCC 9 RCC 8 RCC 7 RCC 6 RCC 5 RCC 4 RCC 3 RCC 2 RCC 1 RCC 0 NV NV NV NV NV NV NV NV NV NV NV NV NV NV FN7938.1 April 23, 2015 ISL94212 ACCESS PAGE ADDR REGISTER ADDRESS Read Only 3’b010 6’h39 Read Only 3’b010 DESCRIPTION Reference Coefficient B Reference calibration coefficient B LSB. Use with coefficients A and C and the measured reference value to obtain the compensated reference measurement. This result may be compared to limits given in the “Electrical Specifications” table beginning on page 7 to check that the reference is within limits. The register contents may be read by the user but not written to. 6’h3A 13 12 11 10 9 8 7 6 5 4 3 2 1 0 RCB 13 RCB 12 RCB 11 RCB 10 RCB 9 RCB 8 RCB 7 RCB 6 RCB 5 RCB 4 RCB 3 RCB 2 RCB 1 RCB 0 NV NV NV NV NV NV NV NV NV NV NV NV NV NV Reference Coefficient A Reference calibration coefficient A LSB. Use with coefficients B and C and the measured reference value to obtain the compensated reference measurement. This result may be compared to limits given in the “Electrical Specifications” table beginning on page 7 to check that the reference is within limits. The register contents may be read by the user but not written to. 13 12 11 10 9 8 7 6 5 RCA 8 RCA 7 RCA 6 RCA 5 RCA 4 RCA 3 RCA 2 RCA 1 RCA 0 4 3 RESERVED 2 1 0 NV NV NV NV NV NV NV NV NV Ignore the content of these bits Cells In Balance Register BASE ADDR (PAGE) 3’b010 ADDRESS RANGE ACCESS Read Only 6’h3B ACCESS PAGE ADDR REGISTER ADDRESS Read Only 3’b010 6’h3B DESCRIPTION Cells In balance (valid for non-daisy chain configuration only). DESCRIPTION Cells Balance Enabled This register reports the current condition of the cell balance outputs. Bit 0 is the LSB, Bit 11 is the MSB. 13 12 RESERVED 0 0 11 10 9 8 7 6 5 4 3 2 1 0 CBEN 12 CBEN 11 CBEN 10 CBEN 8 CBEN 8 CBEN 7 CBEN 6 CBEN 5 CBEN 4 CBEN 3 CBEN 2 CBEN 1 0 0 0 0 0 0 0 0 0 0 0 0 BALI1 to BALI12 Indicates the current balancing status of cell 1 to cell 12 (respectively). “1” indicates balancing is enabled for this cell. “0” indicates that balancing is turned off. Device Commands BASE ADDR (PAGE) 3’b011 ACCESS Read Only Submit Document Feedback ADDRESS RANGE 6’h01 - 6’h14 70 DESCRIPTION Device commands. Actions and communications administration. Not physical registers but memory mapped device commands. Commands from host and device responses are all configured as reads (BASE ADDR MSB = 0). Write operations breaks the communication rules and produce NAK from the target device. FN7938.1 April 23, 2015 ISL94212 PAGE ADDR REGISTER ADDRESS 3’b011 6’h01 Scan Voltages. Device responds by scanning VBAT and all 12 cell voltages and storing the results in local memory. 6’h02 Scan Temperatures. Device responds by scanning external temperature inputs, internal temperature, and the secondary voltage reference, and storing the results in local memory. 6’h03 Scan Mixed. Device responds by scanning VBAT, cell and ExT1 voltages and storing the results in local memory. The ExT1 measurement is performed in the middle of the cell voltage scans to minimize measurement latency between the cell voltages and the voltage on ExT1. 6’h04 Scan Wires. Device responds by scanning for pin connection faults and stores the results in local memory. 6’h05 Scan All. Device responds by performing the functions of the Scan Voltages, Scan Temperatures, and Scan Wires commands in sequence. Results are stored in local memory BASE ADDR (PAGE) DESCRIPTION 6’h06 Scan Continuous. Places the device in Scan Continuous mode by setting the Device Setup register SCAN bit. 6’h07 Scan Inhibit. Stops Scan Continuous mode by clearing the Device Setup register SCAN bit. 6’h08 Measure. Device responds by measuring a targeted single parameter (cell voltage/VBAT/external or internal temperatures or secondary voltage reference). 6’h09 Identify. Special mode function used to determine device stack position and address. Devices record their own stack address and the total number of devices in the stack. See “Identify” on page 40 for details. 6’h0A Sleep. Places the part in Sleep mode (wakeup via daisy comms). See “Sleep Mode” on page 50. 6’h0B NAK. Device response if communications is not recognized. The device responds NAK down the Daisy Chain to the host microcontroller. The host microcontroller typically retransmits on receiving a NAK. 6’h0C ACK. Used by host microcontroller to verify communications without changing anything. Devices respond with ACK. 6’h0E Comms Failure. Used in daisy chain implementations to communicate comms failure. If a communication is not acknowledged by a stack device, the last stack device that did receive the communication responds with Comms Failure. This is part of the communications integrity checking. Devices downstream of a communications fault are alerted to the fault condition by the watchdog function. 6’h0F Wakeup. Used in daisy chain implementations to wakeup a sleeping stack of devices. The Wakeup command is sent to the Bottom stack device (Master device) via SPI. The Master device then wakes up the rest of the stack by transmitting a low frequency clock. The Top stack device responds ACK once it is awake. See “Wakeup” on page 50. 6’h10 Balance Enable. Enables cell balancing by setting BEN. May be used to enable cell balancing on all devices simultaneously using the address All Stack Address 1111. 6’h11 Balance Inhibit. Disables cell balancing by clearing BEN. May be used to disable cell balancing on all devices simultaneously using the address All Stack Address 1111. 6’h12 Reset. Resets all digital registers to its power-up state (i.e., reloads the factory programmed configuration data from non-volatile memory. Stops all scan and balancing activity. Daisy chain devices must be reset in sequence starting with the Top stack device and proceeding down the stack to the Bottom (Master) device. The Reset command must be followed by an Identify command (Daisy chain configuration) before volatile registers can be re-written. 6’h13 Calculate register checksum. Calculates the checksum value for the current Page 2 register contents (registers with base address 0010). See “System Registers” on page 62. 6’h14 Check register checksum. Verifies the register contents are correct for the current checksum. An incorrect result sets the PAR bit in the Fault status register, which starts a standard fault response. See “System Registers” on page 62. ACCESS ADDRESS RANGE DESCRIPTION 100 Read Only 6’h3F Nonvolatile memory Multiple Input Shift Register (MISR) register. This checksum value for the nonvolatile memory contents. It is programmed during factory testing at Intersil. 101 Read Only 6’h00 MISR shadow register checksum value. This value is calculated when shadow registers are loaded from nonvolatile memory either after a power cycle or a reset. Nonvolatile Memory (EEPROM) Checksum A checksum is provided to verify the contents of EEPROM memory. Two registers are provided. One contains the correct checksum value, which is calculated during factory testing at Intersil. The other contains the checksum value that is calculated each time the non volatile memory is loaded to shadow registers, Submit Document Feedback 71 either after a power cycle or after a device reset. Also refer to “Memory Checksum” on page 45. FN7938.1 April 23, 2015 ISL94212 Applications Circuits Information Typical Applications Circuits Typical applications circuits are shown in Figures 50 to 53. Table 48 on page 77 contains recommended component values. All external (off-board) inputs to the ISL94212 are protected against battery voltage transients by RC filters, they also provide a current limit function during hot plug events. The ISL94212 is calibrated for use with 1kΩ series protection resistors at the cell inputs. VBAT uses a lower value resistor to accommodate the VBAT supply current of the ISL94212. A value of 27Ω is used for this component. As much as possible, the time constant produced by the filtering applied to VBAT should be matched to that applied to the cell 12 monitoring input. Component values given in Table 48 produce the required matching characteristics. Figure 50 on page 73 shows the standard arrangement for connecting the ISL94212 to a stack of 12 cells. The cell input filter is designed to maximize EMI suppression. These components should be placed close to the connector with a well controlled ground to minimize noise for the measurement inputs. The balance circuits shown in Figure 50 provide normal cell monitoring when the balance circuit is turned off, and a near zero cell voltage reading when the balance circuit is turned on. This is part of the diagnostic function of the ISL94212. Figure 51 on page 74 shows connections for the daisy chain system, setup pins, power supply and external voltage inputs for daisy chain devices other than the Master (stack bottom) device. The remaining circuits are discussed in more detail later in this datasheet. Figure 52 on page 75 shows the daisy chain system, setup pins, microcontroller interface, power supply and external voltage inputs for the daisy chain master device. Figure 52 is also applicable to standalone (non-daisy chain) devices although in this case the daisy chain components connected to DHi2 and DLo2 would be omitted. Figure 53 on page 76 shows an alternate arrangement for the battery connections in which the cell input circuits are connected directly to the battery terminal and not via the balance resistor. In this condition the balance diagnostic function capability is removed. Submit Document Feedback 72 FN7938.1 April 23, 2015 ISL94212 Typical Application Circuits P la c e th e s e c o m p o n e n ts c lo s e to c o n n e c to r Pack V o lta g e B 12b R1 C1 D1 58 59 B 12 R2 Q1 B 11 B 10 R 28 C27 R 31 R 33 R36 R 37 C 31 R 40 B7 Q6 C 32 R 43 Q7 C 33 R 46 B5 Q8 C 34 R 49 B4 Q9 C 35 R 52 B3 C 36 R 55 C7 6 7 C8 8 9 C9 R50 10 11 C 10 R53 R11 R54 4 5 R47 R 10 R51 C6 R44 R9 R48 2 3 R 41 R8 B6 R45 C5 R 38 R7 R42 1 R 5a R6 Q5 64 R 5b C 30 B8 R39 C4 R 34 C 29 62 63 R4 B9 Q4 C3 R 30 R 32 Q3 R35 61 R3 C 28 60 R 27 R 29 Q2 C2 12 13 C 11 R56 14 15 Q 10 B2 R12 R57 Q 11 C 37 R 58 R59 R13 B1 C 12 16 17 C 13 18 R60 Q 12 C 38 B0 R 61 R62 R71 19 C 39 20 21 B 0b 22 V B AT V B AT IS L 9 4 2 1 2 VC12 CB12 VC11 CB11 VC10 CB10 VC9 CB9 VC8 CB8 ISL94212 VC7 CB7 VC6 CB6 VC5 CB5 VC4 CB4 VC3 CB3 VC2 CB2 VC1 CB1 VC0 VSS VSS FIGURE 50. BATTERY CONNECTION CIRCUITS Submit Document Feedback 73 FN7938.1 April 23, 2015 ISL94212 Typical Application Circuits (Continued) Place these components close to device ISL94212 ISL94212 DHI2 56 Place these components close to connector R63 R65 C44 DAISY UP HI R66 C45 DAISY UP LO R69 C51 DAISY DN HI R70 C52 DAISY DN LO C42 DLO2 DHI1 55 R64 53 R67 C43 C49 DLO1 COMMS RATE 0 COMMS RATE 1 COMMS SELECT 1 COMMS SELECT 2 EN 52 R68 C50 43 42 Connect Pins 40 – 43 to V3P3 or VSS Depending on Comms Selection and Daisy Chain clock speed 41 40 Connect Pin 47 to V3P3 to Enable Connect Pin 47 to VSS to Disable 47 Pack Voltage DGND V2P5 44 R81 35 C53 C55 V3P3 BASE V3P3 VCC REF 38 Q13 36 R82 34 C54 33 C56 C57 TEMPREG EXT4 EXT3 EXT2 EXT1 R83 29 R84 R85 R86 30 R87 EXT IN 4 28 R90 EXT IN 3 26 R93 EXT IN 2 24 R96 EXT IN 1 C58 C59 C60 C61 R100 EXT return (x4) FIGURE 51. NON BATTERY CONNECTIONS, MIDDLE AND TOP DAISY CHAIN DEVICES Submit Document Feedback 74 FN7938.1 April 23, 2015 ISL94212 Typical Application Circuits (Continued) Place these components close to device ISL94212 ISL94212 DHI2 56 Place these components close to connector R63 R65 C44 DAISY UP HI R66 C45 DAISY UP LO C42 DLO2 COMMS RATE 0 COMMS RATE 1 COMMS SELECT 1 COMMS SELECT 2 SCLK CS DIN DOUT EN DATA READY FAULT 55 R64 C43 43 42 Connect Pins 40 – 43 to V3P3 or VSS Depending on Comms Selection and Daisy Chain clock speed 41 40 Connect Pin 47 to V3P3 to Enable Connect Pin 47 to VSS to Disable 53 52 50 Microcontroller Interface 49 47 46 45 Pack Voltage DGND V2P5 44 R81 35 C53 C55 V3P3 BASE V3P3 VCC REF 38 Q13 36 R82 34 C54 33 C56 C57 TEMPREG EXT4 EXT3 EXT2 EXT1 R83 R84 R85 R86 29 30 R87 EXT IN 4 28 R90 EXT IN 3 26 R93 EXT IN 2 24 R96 EXT IN 1 C58 C59 C60 C61 R100 EXT return (x4) FIGURE 52. NON BATTERY CONNECTIONS, MASTER DAISY CHAIN DEVICE Submit Document Feedback 75 FN7938.1 April 23, 2015 ISL94212 Typical Application Circuits (Continued) Place these components close to connector Pack Voltage B12b R1 C1 D1 58 59 B12 C27 R27 R29 C28 R30 R32 C29 R33 C3 R4 R35 R5 62 63 C4 R34 Q3 B9 R3 60 61 R31 Q2 B10 C2 R28 Q1 B11 R2 64 1 C5 2 VBAT VBAT ISL94212 ISL94212 VC12 CB12 VC11 CB11 VC10 CB10 VC9 R36 Q4 C30 R37 B8 R38 R6 3 C6 4 CB9 VC8 ISL94212 R39 Q5 C31 R40 B7 R41 R7 5 C7 6 CB8 VC7 R42 Q6 C32 R43 R44 R8 B6 7 C8 8 CB7 VC6 R45 Q7 C33 R46 B5 R47 R9 9 C9 10 CB6 VC5 R48 Q8 C34 R49 B4 R50 R10 11 C10 12 CB5 VC4 R51 Q9 C35 R52 B3 R53 R11 13 C11 14 CB4 VC3 R54 Q10 C36 R55 B2 R56 R12 15 C12 16 CB3 VC2 R57 Q11 C37 R58 R59 R13 B1 17 C13 18 CB2 VC1 R60 Q12 B0 C38 R61 R62 R71 19 C39 20 21 B0b 22 CB1 VC0 VSS VSS FIGURE 53. BATTERY CONNECTION CIRCUITS ALTERNATIVE CONFIGURATION Submit Document Feedback 76 FN7938.1 April 23, 2015 ISL94212 Notes on Board Layout TABLE 48. RECOMMENDED COMPONENT VALUES FOR FIGURES (Figures 50 to 53) RESISTORS VALUE COMPONENTS 0 R101 27 R1 33 R82 1k R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R71 100 R29, R32, R35, R36, R39, R42, R45, R48, R51, R54, R57, R60, R63, R64, R67, R68, R81 2k R5a, R5b 470 R65, R66, R69, R70 10k R28, R31, R34, R38, R41, R44, R47, R50, R53, R56, R59, R62, R83, R84, R85, R86, R87, R90, R93, R96, R100a, R100b, R100c, R100d 330k R27, R30, R33, R37, R40, R43, R46, R49, R52, R55, R58, R61 CAPACITORS VALUE VOLTAGE COMPONENTS 200p 100 C42, C43, C49, C50 220p 500 C44, C45, C51, C52 10n 50 C27, C28, C29, C30, C31, C32, C33, C34, C35, C36, C37, C38, C58, C59, C60, C61 22n 100 C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C39 220n 100 C1 1µ 10 C53, C54, C56 1µ 100 C55 2.2µ 10 C57 ZENER DIODES VALUE EXAMPLE 60V 1N5371BRLG COMPONENTS D1 Referring to Figure 50 on page 73 (battery connection circuits), the basic input filter structure comprises resistors R2 to R13, R71 and capacitors C2 to C13, C39. These components provide protection against transients and EMI for the cell inputs. They carry the loop currents produced by EMI and should be placed as close to the connector as possible. The ground terminals of the capacitors must be connected directly to a solid ground plane. Do not use vias to connect these capacitors to the input signal path or to ground. Any vias should be placed in line to the signal inputs so that the inductance of these forms a low pass filter with the grounded capacitors. Referring to Figure 51 on page 74, the daisy chain components are shown to the top right of the drawing. These are split into two sections. Components to the right of this section should be placed close to the board connector with the ground terminals of capacitors connected directly to a solid ground plane. This is the same ground plane that serves the cell inputs. Components to the left of this section should be placed as closely to the device as possible. Submit Document Feedback 77 The battery connector and daisy chain connectors should be placed closely to each other on the same edge of the board to minimize any loop current area. Two grounds are identified on the circuit diagram. These are nominally referred to as noisy and quiet grounds. The noisy ground, denoted by an “earth” symbol carries the EMI loop currents and digital ground currents while the quiet ground is used to define the decoupling voltage for voltage reference and the analog power supply rail. The quiet and noisy grounds should be joined at the VSS pin. Keep the quiet ground area as small as possible. The circuits shown to the bottom right of Figure 51 on page 74 provide signal conditioning and EMI protection for the external temperature inputs. These inputs are designed to operate with external NTC thermistors. See “External Inputs” on page 85 for more information about component selection. FN7938.1 April 23, 2015 ISL94212 Component Selection Certain failures associated with external components can lead to unsafe conditions in electronic modules. A good example of this is a component that is connected between high energy signal sources failing short. Such a condition can easily lead to the component overheating and damaging the board and other components in its proximity. One area to consider with the external circuits on the ISL94212 is the capacitors connected to the cell monitoring inputs. These capacitors are normally protected by the series protection resistors but could present a safety hazard in the event of a dual point fault where both the capacitor and associated series resistor fail short. Also, a short in one of these capacitors would dissipate the charge in the battery cell if left uncorrected for an extended period of time. It is recommended that capacitors C1 to C13 be selected to be “fail safe” or “open mode” types. An alternative strategy would be to replace each of these capacitors with two devices in series, each with double the value of the single capacitor. A dual point failure in the balancing resistor (R29, R32, R35, etc.) of Figure 50 on page 73 and associated balancing MOSFET (Q1 to Q12) could also give rise to a shorted cell condition. It is recommended that the balancing resistor be replaced by two resistors in series. Operating the ISL94212 with Reduced Cell Counts When using the ISL94212 with fewer than 12 cells it is important to ensure that each used cell has a normal input circuit connection to the top and bottom monitoring inputs for that cell. The simplest way to use the ISL94212 with any number of cells is to always use the full input circuit arrangement for all inputs, and short together the unused inputs at the battery terminal. In this way each cell input sees a normal source impedance independent of whether or not it is monitoring a cell. The cell balancing components associated with unconnected cell inputs are not required and can be removed. Unused cell balance outputs should be tied to the adjacent cell voltage monitoring pin. The input circuit component count can be reduced in cases where fewer than 10 cells are being monitored. It is important that cell inputs that are being used are not connected to other (unused) cell inputs as this would affect measurement accuracy. Figure 54 on page 79, Figure 55 on page 80, and Figure 56 on page 81 show examples of systems with 10 cells, 8 cells, and 6 cells, respectively. The component notations and values used in Figures 55 and 56 are the same as those used in Figures 50 to 53. In Figure 56 the resistor associated with the input filter on VC9 is noted as R5, rather than R5a. This value change is needed to maintain the correct input network impedance in the absence of the cell 9 balance circuits. Submit Document Feedback 78 FN7938.1 April 23, 2015 ISL94212 Typical Application Circuits Place these components close to connector Pack Voltage B10b R1 C1 D1 58 59 B10 R2 Q1 B9 C2 R28 C27 61 R27 R29 R3 C3 R31 Q2 B8 R32 Q3 B7 C28 62 63 R30 R4 C4 R34 C29 60 64 C30 C5 R38 R37 B6 ISL94212 VC12 CB12 VC11 CB11 VC10 CB10 R5 2 R36 Q4 VBAT 1 R33 R35 VBAT R6 3 C6 4 VC9 CB9 VC8 R39 C31 Q5 R40 R41 R7 5 C7 6 7 R8 C8 8 9 B5 R9 R48 Q8 C9 R50 C34 10 VC7 ISL94212 CB7 VC6 CB6 VC5 11 R49 B4 CB8 CB5 R10 C10 12 VC4 R51 Q9 C35 R52 B3 R53 R11 R54 Q10 C11 14 CB4 VC3 R56 C36 15 R55 B2 R12 R57 Q11 13 C12 16 CB3 VC2 R59 C37 R58 17 R13 B1 C13 18 CB2 VC1 R60 Q12 B0 C38 R61 R62 R71 B0b 19 C39 20 21 22 CB1 VC0 VSS VSS FIGURE 54. BATTERY CONNECTION CIRCUITS, SYSTEM WITH 10 CELLS Submit Document Feedback 79 FN7938.1 April 23, 2015 ISL94212 Typical Application Circuits (Continued) Place these components close to connector Pack Voltage B8b R1 C1 D1 58 59 B8 R2 Q1 B7 C2 R28 C27 61 R27 R29 R3 C3 R31 B6 Q2 R32 Q3 B5 C28 62 63 R30 R4 C4 R34 C29 60 64 C30 ISL94212 VC12 CB12 VC11 CB11 VC10 CB10 R5 C5 2 R36 Q4 VBAT 1 R33 R35 VBAT R38 R37 R6 3 C6 4 5 6 7 R9 C9 8 9 10 VC9 CB9 VC8 CB8 VC7 ISL94212 CB7 VC6 CB6 VC5 11 CB5 B4 R10 C10 12 VC4 R51 Q9 C35 R52 B3 R53 R11 C36 14 15 R55 B2 R12 R57 Q11 C11 CB4 VC3 R56 R54 Q10 13 C12 16 CB3 VC2 R59 C37 17 R58 R13 B1 C13 18 CB2 VC1 R60 Q12 B0 C38 R61 R71 B0b 19 R62 C39 20 21 22 CB1 VC0 VSS VSS FIGURE 55. BATTERY CONNECTION CIRCUITS, SYSTEM WITH 8 CELLS Submit Document Feedback 80 FN7938.1 April 23, 2015 ISL94212 Typical Application Circuits (Continued) Place these components close to connector Pack Voltage B6b R1 C1 D1 58 59 B6 R2 Q1 B5 C2 R28 C27 61 R27 R29 R3 C3 R31 Q2 B4 R32 Q3 C28 62 63 R30 R4 C4 R34 C29 60 64 VBAT ISL94212 VC12 CB12 VC11 CB11 VC10 1 CB10 R33 R35 VBAT R5 C5 R38 2 3 4 5 6 7 R10 C10 8 9 10 VC9 CB9 VC8 CB8 VC7 ISL94212 CB7 VC6 CB6 VC5 11 CB5 12 13 B3 R11 C36 15 R55 B2 R12 R57 Q11 14 CB4 VC3 R56 R54 Q10 C11 VC4 C12 16 CB3 VC2 R59 C37 17 R58 R13 B1 C13 18 CB2 VC1 R60 Q12 B0 C38 R61 R62 R71 B0b 19 C39 20 21 22 CB1 VC0 VSS VSS FIGURE 56. BATTERY CONNECTION CIRCUITS, SYSTEM WITH 6 CELLS Submit Document Feedback 81 FN7938.1 April 23, 2015 ISL94212 PACK VOLTAGE ISL94212 ISL78600 ISL78610 R1 Q1 BASE C1 V3P3 R2 VCC C2 C3 D1 VDDEXT C4 TO EXTERNAL CIRCUITS COMPONENT VALUE R1 Note 18 R2 33Ω C1 Note 19 C2 1μF C3 1μF C4 1μF Q1 Note 20 NOTES: 18. R1 should be sized to pass the maximum supply current at the minimum specified battery pack voltage. 19. C1 should be selected to produce a time constant with R1 of a few milliseconds. C1 and R1 provide transient protection for the collector of Q1. Component values and voltage ratings should be obtained through simulation of measurement of the worst case transient expected on VBAT. 20. Q1 should be selected for power dissipation at the maximum specified battery voltage and load current. The load current includes the V3P3 and VCC currents for the ISL94212 and the maximum current drawn by external circuits supplied via VDDEXT. The voltage rating should be determined as described in Note 19. FIGURE 57. ISL94212 REGULATOR AND EXTERNAL CIRCUIT SUPPLY ARRANGEMENT Power Supplies The two VBAT pins, along with V3P3, VCC and VDDEXT are used to supply power to the ISL94212. Power for the high voltage circuits and Sleep mode internal regulators is provided via the VBAT pins. V3P3 is used to supply the logic circuits and VCC is similarly used to supply the low voltage analog circuits. The V3P3 and VCC pins must not be connected to external circuits other than those associated with the ISL94212 main voltage regulator. The VDDEXT pin is provided for use with external circuits. The ISL94212 main low voltage regulator uses an external NPN pass transistor to supply 3.3V power for the V3P3 and VCC pins. This regulator is enabled whenever the ISL94212 is in Normal mode and may also be used to power external circuits via the VDDEXT pin. An internal switch connects the VDDEXT pin to the V3P3 pin. Both the main regulator and the switch are off when the part is placed in Sleep mode or Shutdown mode (EN pin LOW.) The pass transistor’s base is connected to the ISL94212 BASE pin. A suitable configuration for the external components associated with the V3P3, VCC and VDDEXT pins is shown in Figure 57. The external pass transistor is required. Do not allow this pin to float. Voltage Reference Bypass Capacitor A bypass capacitor is required between REF (pin 33) and the analog ground VSS. The total value of this capacitor should be in the range 2.0µF to 2.5µF. Use X7R type dielectric capacitors for this function. The ISL94212 continuously performs a power-good check on the REF pin voltage starting 20ms after a power-up, enable or wakeup condition. If the REF capacitor is too large, then the reference voltage may not reach its target voltage range Submit Document Feedback 82 before the Power-good check starts and result in a REF Fault. If the capacitor is too small, then it may lead to inaccurate voltage readings. Cell Balancing Circuits The ISL94212 uses external MOSFETs for the cell balancing function. The gate drive for these is derived from on-chip current sources on the ISL94212, which are 25µA nominally. The current sources are turned on and off as needed to control the external MOSFET devices. The current sources are turned off when the device is in Shutdown mode or in Sleep mode. The ISL94212 uses a mix of N-channel and P-channel MOSFETs for the external balancing function. The top three cell locations, cell 10, 11, 12 are configured to use P-channel MOSFETs while the remaining cell locations, cell 1 through 9, use N-channel MOSFETs. Figure 58 shows the circuit detail for one cell balancing system with typical component values. An N-channel MOSFET (cell locations 1 through 9) is shown. The gate of the external FET is normally protected against excessive voltages during cell voltage transients by the action of the parasitic Cgs and Cgd capacitances. These momentarily turn on the FET in the event of a large transient, thus limiting the Vgs values to reasonable levels. A 10nF capacitor is included between the MOSFET gate and source terminals to protect against EMI effects. This capacitor provides a low impedance path to ground at high frequencies and prevents the MOSFET turning on in response to high frequency interference. The external component values should be chosen to prevent the 9V clamp at the output from the ISL94212 from activating. FN7938.1 April 23, 2015 ISL94212 Cell Voltage Measurements During Balancing The standard cell balancing circuit (Figure 50 on page 73 and Figure 58 on page 84) is configured so that the cell measurement is taken from the drain connection of the balancing MOSFET. When balancing is enabled for a cell, the resulting cell measurement is then the voltage across the balancing MOSFET (VGS voltage). This system provides the diagnostic for the cell balancing function. The input voltage of the cell adjacent to the MOSFET drain connection is also affected by this mechanism: the input voltage for this cell increases by the same amount that the voltage of the balance cell decreases. For example, if cell 2 and cell 3 are both at 3.6V and balancing is enabled for cell 2, then the voltage across the balancing MOSFET may be only 50mV. In this case, cell 2 would read 50mV and cell 3 would read 7.15V. The cell 3 value in this case is outside the measurement range of the cell input. Cell 3 would then read full scale voltage, which is 4.9994V. This full scale voltage reading will occur if the sum of the voltages on the two adjacent cells is greater than the total of 5V plus the “balancing on” voltage of the balanced cell. Table 49 shows the cell affected when each cell is balanced. TABLE 49. CELL READINGS DURING BALANCING CELL BALANCED CELL WITH LOW READING CELL WITH HIGH READING 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 8 8 8 9 9 9* 10* 10 10* 9* 11 11 10 12 12 11 NOTE: *cells 9 and 10 produce a different result from the other cells. Cell 9 uses an N-channel MOSFET while cell 10 uses a P-channel MOSFET. The circuit arrangement used with these devices produces approximately half the normal cell voltage when balancing is enabled. The adjacent cell then sees an increase of half the voltage of the balanced cell. The voltage measurement behavior outlined above is modified by impedances in the cell connector and any associated wiring. The balance current passes through the connections at the top and bottom of the balanced cell. This effect further reduces the measured voltage on the balanced cell and also increase the voltage measured on cells above and below the balanced cell. For example, if cell 4 is balanced with 100mA and the total impedance of the connector and wiring for each cell connection is 0.1Ω, then cell 4 would read low by an additional 20mV (10mV due to each connection) while cells 3 and 5 would both read high by 10mV. Submit Document Feedback 83 Balancing with Scan Continuous Mode Enabled Cell balancing may be active while the ISL94212 is operating in Scan Continuous mode. In Scan Continuous mode the ISL94212 scans cell voltages, temperatures and open wire conditions at a rate determined by the Scan Interval bits in the Fault Setup register. (See Table 2 on page 23). The behavior of the balancing functions while operating in Scan Continuous mode is controlled by the BDDS bit in the Device Setup register. If BDDS is set, then cell balancing is inhibited during cell voltage measurements and for 10ms before the cell voltage scan to allow the balance devices to turn off. Balancing is reenabled at the end of the scan and then balancing continues. Daisy Chain Communications System The ISL94212 daisy chain communications system uses differential, AC-coupled signaling. The external circuit arrangement is symmetrical to provide a bidirectional communications function. The performance of the system under transient voltage and EMI conditions is enhanced by the use of a capacitive load. A schematic of the daisy chain circuit is shown in Figure 59. The basic circuit elements are the series resistor and capacitor elements R1 and C1, which provide the transient current limit and AC coupling functions, and the line termination components C2, which provide the capacitive load. Capacitors C1 and C2 should be located as closely as possible to the board connector. The AC coupling capacitors C1 need to be rated for the maximum voltage, including transients, that will be applied to the interface. Specific component values are needed for correct operation with each daisy chain data rate and are given in Table 50. The daisy chain operates with standard unshielded twisted pair wiring. The component values given in Table 50 will accommodate cable capacitance values from 0pF to 50pF when operating at the 500kHz data rate. Higher cable capacitance values may be accommodated by either reducing the value of C2 or operating at lower data rates. The values of components in Figure 59 are given in Table 50 for various daisy chain operating data rates. The circuit and component values in Figure 59 and Table 50 will accommodate cables with differential capacitance values in the ranges given. This allows a range of cable lengths to be accommodated through careful selection of cable properties. The circuit in Figure 59 provides full isolation when used with off board wiring. The daisy chain external circuit can be simplified in cases where the daisy chain system is contained within a single board. Figure 60 on page 85 and Table 51 on page 85 show the circuit arrangement and component values for single board use. In this case the AC coupling capacitors C1 need only be rated for the maximum transient voltage expected from device to device. FN7938.1 April 23, 2015 ISL94212 ISL94212 FIGURE 58. BALANCE CIRCUIT ARRANGEMENT FIGURE 59. ISL94212 DAISY CHAIN CIRCUIT IMPLEMENTATION TABLE 50. COMPONENT VALUES IN FIGURE 59 FOR VARIOUS DAISY CHAIN DATA RATES DAISY CHAIN CLOCK RATES COMPONENT 500kHz 250kHz 125kHz 62.5kHz C1 (4 pcs) 220pF 470pF 1nF 2.2nF C2 (4 pcs) 200pF (Note) 440pF 940pF 2nF R1 (4 pcs) 470Ω 470Ω 470Ω 470Ω R2 (4 pcs) 100Ω 100Ω 100Ω 100Ω Cable Capacitance Range 0 to 50pF 0 to 100pF 0 to 200pF 0 to 400pF Comments NPO dielectric type capacitors are recommended. Please consult Intersil if Y type or "open mode" devices are required for your application. Use same dielectric type as C1 NOTE: Can be accommodated using two 100pF capacitors in parallel. Submit Document Feedback 84 FN7938.1 April 23, 2015 ISL94212 . FIGURE 60. ISL94212 DAISY CHAIN – BOARD LEVEL IMPLEMENTATION CIRCUIT ISL94212 FIGURE 61. CONNECTION OF NTC THERMISTOR TO INPUT EXT4 TABLE 51. DAISY CHAIN COMPONENT VALUES FOR BOARD LEVEL IMPLEMENTATION DAISY CHAIN DATA RATE COMPONENT TOLERANCE 500kHz 250kHz 125kHz 62.5kHz C1 (2 pcs) 5% 100pF 220pF 470pF 1nF C2 (4 pcs) 5% 220pF 470pF 1nF 2.2nF 1kΩ 1kΩ 1kΩ 1kΩ R1 (4 pcs) External Inputs The ISL94212 provides 4 external inputs for use either as general purpose analog inputs or for NTC type thermistors. Each of the external inputs has an internal pull-up resistor, which is connected by a switch to the VCC pin whenever the TEMPREG output is active. This arrangement results in an open input being pulled up to the VCC voltage. Inputs above 15/16 of full scale are registered as open inputs and cause the relevant bit in the Over-temperature Fault register, along with the OT bit in the Fault Status register to be set, on condition of the respective temperature test enable bit in the Fault Setup register. The user must then read the register value associated with the faulty input to determine if the fault was due to an open input (value above 15/16 full scale) or an over-temperature condition (value below the external temp limit setting). Submit Document Feedback 85 The arrangement of the external inputs is shown in Figure 61 using the ExT4 input as an example. It is important that the components are connected in the sequence shown in Figure 61, e.g., C1 must be connected such the trace from this capacitor’s positive terminal connects to R2 before connecting to R1. This guarantees the correct operation of the various fault detection functions. The function of each of the components in Figure 61 is listed in Table 52 together with the diagnostic result of an open or short fault in each component FN7938.1 April 23, 2015 ISL94212 TABLE 52. COMPONENT FUNCTIONS AND DIAGNOSTIC RESULTS FOR CIRCUIT OF FIGURE 61 COMPONENT FUNCTION DIAGNOSTIC RESULT R1 Protection from wiring shorts to external HV connections. Open: Open wire detection Short: No diagnostic result R2 Measurement high-side resistor Open: Low input level (over-temperature indication) Short: High input level (open wire indication). Thermistor C1 Open: High input level (open wire indication). Short: Low input level (over-temperature indication) Noise Filter. Connects to measurement ground VSS. Board Level Calibration For best accuracy, the ISL94212 may be recalibrated after soldering to a board using a simple resistor trim. The adjustment method involves obtaining the average cell reading error for the cell inputs at a single temperature and cell voltage value and applying a select-on-test resistor to zero the average cell reading error. Open: no diagnostic result. Short: Low input level (over-temperature indication) TABLE 53. COMPONENT VALUES FOR ACCURACY CALIBRATION ADJUSTMENT OF FIGURE 62 MEASURED ERROR AT VC = 3.3V (mV) V78600 - VCELL (mV) R1 (kΩ) R2 (kΩ) 4 205 DNP 3 274 DNP 2 412 DNP 1 825 DNP 0 DNP DNP -1 DNP 2550 -2 DNP 1270 -3 DNP 866 -4 DNP 649 The adjustment system uses a resistor placed either between VDDEXT and VREF or VREF and VSS as shown in Figure 62. The value of resistor R1 or R2 is then selected based on the average error measured on all cells at 3.3V per cell and room temperature e.g., with 3.3V on each cell input scan the voltage values using the ISL94212 and record the average reading error (ISL94212 reading – cell voltage value). Table 53 shows the value of R1 and R2 required for various measured errors. To use Table 53, find the measured error value closest to the result obtained with measurements using the ISL94212 and select the corresponding resistor value. Alternatively, if finer adjustment resolution is required then this may be obtained by interpolation using Table 53. DNP = Do Not populate Worked Examples The following worked examples are provided to assist with the setup and calculations associated with various functions. Voltage Reference Check Calculation TABLE 54. EXAMPLE REGISTER DATA R/W PAGE FIGURE 62. CELL READING ACCURACY ADJUSTMENT SYSTEM Submit Document Feedback 86 ADDRESS PARAMETER VALUE (HEX) DECIMAL 0 001 010000 IC Temperature 14’h2425 9253 0 001 010101 Reference Voltage 14’h20A7 8359 0 010 111000 Coefficient C 14’h00A4 164 0 010 111001 Coefficient B 14’h3FCD -51 0 010 111010 Coefficient A 9’h006 6 FN7938.1 April 23, 2015 ISL94212 Coefficients A, B and C are two’s compliment numbers. B and C have a range +8191 to -8192. A has a range +255 to -256. Coefficient B above is a negative number (Hex value > 1FFF). The value for B is 14’h3FCD - 14h3FFF- 1 or (1633310 -1638310 - 1) = -51. Coefficient A occupies the upper 9 bits of register 6’b111010 (6'h3A). One way to extract the coefficient data from this register is to divide the complete register value by 32 and rounding the result down to the nearest integer. With 9'h006 in the upper 9 bits, and assuming the lower 5 bits are 0, the complete register value will be 14'h0C0 = 192 decimal. Divide this by 32 to obtain 6. Coefficients A, B and C are used with the IC temperature reading to calibrate the Reference Voltage reading. The calibration is applied by subtracting an adjustment of the form (see Equation 5) from the Reference Voltage reading. 2 B A Adjustment = ----------------------------- dT + ------------- dT + C 8192 256 8192 (EQ. 5) (EQ. 6) Where 9180 is the Internal Temperature Monitor reading at +25°C (see the “Electrical Specifications” table, TINT25 on page 10). 2 51 6 Adjustment = ----------------------------- 36.5 – ------------- 36.5 + 164 = 163.8 8192 256 8192 (EQ. 7) (EQ. 8) Corrected V REF = 8359 – 163.8 = 8195.2 8195.2 V REF value = ------------------ 5 = 2.5010 16384 BAL12:1 = 0100 0101 0001 BALANCE STATUS REGISTER R/W PAGE ADDRESS DATA 1 010 010100 XX 0100 0101 0001 Step 3. Enable balancing using Balance Enable command BALANCE ENABLE COMMAND R/W PAGE ADDRESS DATA 0 011 010000 00 0000 Or enable balancing by setting BEN directly in the Balance Setup register: BEN = 1 BALANCE SETUP REGISTER An example calculation using the data from Table 54 is given in Equation 6. 9253 – 9180 dT = -------------------------------- = 36.5 2 Step 2. Write Balance Status register: Set bits 0, 4, 6 and 10 (EQ. 9) R/W PAGE ADDRESS DATA 1 010 010011 XX XX1X XXXX XXXX The balance FETs attached to cells 1, 5, 7 and 11 turn on. Turn balancing off by resetting BEN or by sending the Balance Inhibit command (Page 3, address 6’h11). Cell Balancing – Timed Mode Refer to “Timed Balance Mode” on page 27. EXAMPLE: ACTIVATE BALANCING ON CELLS 2 AND 8 FOR 1 MINUTE. Step 1. Write Balance Setup register: Set Timed Balance mode, Balance Status pointer, and turn off balance. Cell Balancing – Manual Mode Refer to “Manual Balance Mode” on page 26. EXAMPLE: ACTIVATE BALANCING ON CELLS 1, 5, 7 AND 11 Step 1. Write Balance Setup register: Set Manual Balance mode, Balance Status pointer, and turn off balance. BMD = 01 (Manual Balance mode) BWT = XXX BSP = 0000 (Balance status pointer location 0) BEN = 0 (Balancing disabled) BMD = 10 (Timed Balance mode) BWT = XXX BSP = 0000 (Balance status pointer location 0) BEN = 0 (BALANCING disabled) BALANCE SETUP REGISTER R/W PAGE ADDRESS DATA 1 010 010011 XX XX00 000X XX10 X = don’t care Note: Green text indicates a register change. Step 2. Write Balance Status register: Set bits 1 and 7 BALANCE SETUP REGISTER BAL12:1 = 0000 1000 0010 R/W PAGE ADDRESS DATA 1 010 010011 XX XX00 000X XX01 X = don’t care Submit Document Feedback 87 BALANCE STATUS REGISTER R/W PAGE ADDRESS DATA 1 010 010100 XX 0000 1000 0010 FN7938.1 April 23, 2015 ISL94212 Step 3. Write balance timeout setting to the Watchdog/Balance Time register (page 2, address 6’h15, bits [13:7]) BTM6:1 = 0000011 (1 minute) WATCHDOG/BALANCE TIME REGISTER R/W PAGE ADDRESS DATA 1 010 010101 00 0001 1XXX XXXX • Balance time = 20s Step 4. Enable balancing using Balance Enable command BALANCE ENABLE COMMAND PAGE ADDRESS DATA 0 011 010000 00 0000 BALANCE SETUP REGISTER ADDRESS DATA 1 010 010011 XX XX1X XXXX XXXX • Balancing disabled during cell measurements. • Balance Values: See Table 55 TABLE 55. CELL BALANCE VALUES (HEX) FOR EACH CELL 28’h 28’h 28’h 28’h 28’h 28’h 28’h 28’h 28’h 28’h 28’h 28’h 406A 3E4D 0 292F 3E00 0 2903 3D06 0 151E 502 6D6 BEN = 1 PAGE • Balance wait time (dead time between balancing cycles) = 8s CELL CELL CELL CELL CELL CELL CELL CELL CELL CELL CELL CELL 1 2 3 4 5 6 7 8 9 10 11 12 Or enable balancing by setting BEN directly in the Balance Setup register: R/W The following describes a simple setup to demonstrate the Auto Balance mode cell balancing function of the ISL94212. Note that this balancing setup is not related to the balance value calculation in Equation 10. Auto balance cells using the following criteria: X = don’t care – the lower bits are the watchdog timeout value and should be set to a time longer than the balance time. A value of 111 1111 is suggested. R/W AUTO BALANCE MODE CELL BALANCING EXAMPLE • Balance Status Register: Set up balance: Cells 1, 4, 7 and 10 on 1st cycle. Cells 3, 6, 9 and 12 on 2nd cycle. Cells 2, 5, 8 and 11 on 3rd cycle (See Table 56) TABLE 56. BALANCE STATUS SETUP The balance FETs attached to cells 2 and 8 turn on. The FETs turn off after 1 minute. Balancing may be stopped by resetting BEN or by sending the Balance Inhibit command. Cell Balancing – Auto Mode Refer to “Auto Balance Mode” on page 27. CELL BPS [3:0] 1 0000 Reserved for Manual Balance mode and Timed Balance mode 0001 1 0 0 1 0 0 1 0 0 1 0 0 0010 0 0 1 0 0 1 0 0 1 0 0 1 0011 0 1 0 0 1 0 0 1 0 0 1 0 2 3 4 5 6 7 8 9 10 11 12 BALANCE VALUE CALCULATION EXAMPLE This example is based on a cell State of Charge (SOC) of 9360 coulombs, a target SOC of 8890 coulombs, a balancing leg impedance of 31Ω (30Ω resistor plus 1Ω FET on resistance) and a sampling time interval of 5 minutes (300 seconds). The Balance Value is calculated using Equation 10. 8191 31 B = ------------- 9360 – 8890 ---------- = 79562 = 28h00136CA 5 300 (EQ. 10) The value 8191/5 is the scaling factor of the cell voltage measurement. The value of 28’h00136CA is loaded to the required Cell Balance Register and the value 7’b0001111 (5 minutes) is loaded to the Balance Time bits in the Watchdog/Balance time register. In this example, the total coulomb difference to be balanced is: 470 coulomb (9360 - 8890). At 3.3V/31Ω*300s = 31.9 coulomb per cycle, it takes about 15 cycles for the balancing to terminate. Submit Document Feedback 88 FN7938.1 April 23, 2015 ISL94212 Step 1. Write Balance Value registers Step 3. Write balance timeout setting to the Watchdog/Balance Time register: Balance timeout code = 0000001 (20 seconds) BALANCE VALUE REGISTERS R/W PAGE ADDRESS DATA (HEX) CELL 1 010 100000 14’h006A 1 1 010 100001 14’h0001 1 010 100010 14’h3E4D 1 010 100011 14’h0000 1 010 100100 14’h0000 1 010 100101 14’h0000 1 010 100110 14’h292F 1 010 100111 14’h0000 1 010 101000 14’h3E00 1 010 101001 14’h0000 1 010 101010 14’h0000 1 010 101011 14’h0000 1 010 101100 14’h2903 1 010 101101 14’h0000 1 010 101110 14’h3D06 1 010 101111 14’h0000 1 010 110000 14’h0000 1 010 110001 14’h0000 1 010 110010 14’h151E 1 010 110011 14’h0000 1 010 110100 14’h0502 1 010 110101 14’h0000 1 010 110110 14’h06D6 1 010 110111 14’h0000 2 3 1 1 0 1 0 6’21 0 0 0 0 0 0 0 0 0 0 0 DATA 1 010 010101 00 0000 1XXX XXXX X = don’t care – the lower bits are the watchdog timeout value and should be set to a time longer than the balance time. A value 111 1111 is suggested. 6 BMD = 11 (Auto Balance mode) BWT = 100 (8 seconds) BEN = 0 (Balancing disabled) 7 BALANCE SETUP REGISTER 8 9 R/W PAGE ADDRESS DATA 1 010 010011 XX XX0X XXX1 0011 X = don’t care 10 Step 4B. Write Balance Setup register: Set Balance Status Pointer = 1 11 BSP = 0001 (Balance status pointer = 1) BALANCE SETUP REGISTER 12 R/W PAGE ADDRESS DATA 1 010 010011 XX XXX0 001X XXXX X = don’t care 1 0 0 0 0 1 B0127 B0126 B0125 B0124 B0123 B0122 0 ADDRESS Step 4A. Write Balance Setup register: Set Auto Balance mode, set 8 second Balance wait time, and set balance off: B0121 B0120 B0119 B0118 B0117 B0116 B0115 B0114 0 PAGE 5 B0113 B0112 B1011 B0110 B0109 B0108 0 R/W Step 4. Set up Balance Status register (from Table 56 on page 88) B0107 B0106 B0105 B0104 B0103 B0102 B0101 B0100 0 BALANCE TIMEOUT REGISTER 4 BALANCE VALUE REGISTERS (CELL1) - VALUE 28’h406A 6’20 BTM6:0 = 000 0001 0 0 Step 2. Write BDDS bit in Device Setup register (turn balancing functions off during measurement) BDDS = 1 Step 4C. Write Balance Status register: Set bits 1, 4, 7 and 10 BAL12:1 = 0010 0100 1001 BALANCE STATUS REGISTER R/W PAGE ADDRESS DATA 1 010 010100 XX 0010 0100 1001 Step 4D. Write Balance Setup register: Set Balance Status Pointer = 2 BSP = 0010 (Balance status pointer = 2) BALANCE SETUP REGISTER R/W PAGE ADDRESS DATA 1 010 010011 XX XXX0 010X XXXX X = don’t care DEVICE SETUP REGISTER R/W PAGE ADDRESS DATA 1 010 011001 XX XXXX 1XXX XXXX X = don’t care Submit Document Feedback 89 FN7938.1 April 23, 2015 ISL94212 Step 4E. Write Balance Status register: Set bits 3, 6, 9 and 12 Step 4I. Write Balance Status register: Set bits to all zero to set the end point for the instances. BAL12:1 = 1001 0010 0100 BAL12:1 = 0000 0000 0000 BALANCE STATUS REGISTER R/W PAGE ADDRESS DATA 1 010 010100 XX 1001 0010 0100 BALANCE STATUS REGISTER R/W PAGE ADDRESS DATA 1 010 010100 XX 0000 0000 0000 Step 4F. Write Balance Setup register: Set Balance Status Pointer = 3 Step 5. Enable balancing using the Balance Enable command BSP = 0011 (Balance status pointer = 3) BALANCE ENABLE COMMAND BALANCE SETUP REGISTER R/W PAGE ADDRESS DATA 1 010 010011 XX XXX0 011X XXXX R/W PAGE ADDRESS DATA 0 011 010000 00 0000 Or enable balancing by setting BEN directly in the Balance Setup register: X = don’t care BEN = 1 Step 4G. Write Balance Status register: Set bits 2, 5, 8 and 11 BALANCE SETUP REGISTER BAL12:1 = 0100 1001 0010 BALANCE STATUS REGISTER R/W PAGE ADDRESS DATA 1 010 010100 XX 0100 1001 0010 R/W PAGE ADDRESS DATA 1 010 010011 XX XX1X XXXX XXXX The balance FETs cycle through each instance of the Balance Status register in a loop, interposing the balance wait time between each instance. The measured voltage of each cell being balanced is subtracted from the balance value for that cell at the end of each balance status instance. The process continues until the Balance Value register for each cell contains zero. Step 4H. Write Balance Setup register: Set Balance Status Pointer = 4 BSP = 0100 (Balance status pointer = 4) BALANCE SETUP REGISTER R/W PAGE ADDRESS DATA 1 010 010011 XX XXX0 100X XXXX X = don’t care Register Map R/W + PAGE READ 0001 0001 0001 0001 0001 0001 WRITE BIT 7 ADDRESS 000000 000001 000010 000011 000100 000101 Submit Document Feedback BIT 6 REGISTER NAME VBAT Voltage Cell 1 Voltage Cell 2 Voltage Cell 3 Voltage Cell 4 Voltage Cell 5 Voltage 90 VB7 C1V7 C2V7 C3V7 C4V7 C5V7 VB6 C1V6 C2V6 C3V6 C4V6 C5V6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 BIT 13 BIT 12 BIT 11 BIT 10 BIT 9 BIT 8 VB5 VB4 VB3 VB2 VB1 VB0 VB13 VB12 VB11 VB10 VB9 VB8 C1V5 C1V4 C1V3 C1V2 C1V1 C1V0 C1V13 C1V12 C1V11 C1V10 C1V9 C1V8 C2V5 C2V4 C2V3 C2V2 C2V1 C2V0 C2V13 C2V12 C2V11 C2V10 C2V9 C2V8 C3V5 C3V4 C3V3 C3V2 C3V1 C3V0 C3V13 C3V12 C3V11 C3V10 C3V9 C3V8 C4V5 C4V4 C4V3 C4V2 C4V1 C4V0 C4V13 C4V12 C4V11 C4V10 C4V9 C4V8 C5V5 C5V4 C5V3 C5V2 C5V1 C5V0 C5V13 C5V12 C5V11 C5V10 C5V9 C5V8 FN7938.1 April 23, 2015 ISL94212 Register Map (Continued) R/W + PAGE READ WRITE 0001 BIT 7 ADDRESS 000110 000111 0001 0001 001000 0001 001001 001010 0001 0001 001011 0001 001100 REGISTER NAME Cell 6 Voltage Cell 7 Voltage Cell 8 Voltage Cell 9 Voltage Cell 10 Voltage Cell 11 Voltage Cell 12 Voltage 0001 001111 All Cell Voltage Data 0001 010000 IC Temperature 0001 010001 0001 010010 0001 010011 010100 0001 010101 0001 C11V7 C12V7 ICT7 External Temperature Input 4 Voltage (ExT4 pin) ET4V7 Secondary Reference Voltage RV7 000000 Overvoltage Fault Undervoltage Fault 91 C6V6 C7V6 C8V6 C9V6 C10V6 C11V6 C12V6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 BIT 13 BIT 12 BIT 11 BIT 10 BIT 9 BIT 8 C6V5 C6V4 C6V3 C6V2 C6V1 C6V0 C6V13 C6V12 C6V11 C6V10 C6V9 C6V8 C7V5 C7V4 C7V3 C7V2 C7V1 C7V0 C7V13 C7V12 C7V11 C7V10 C7V9 C7V8 C8V5 C8V4 C8V3 C8V2 C8V1 C8V0 C8V13 C8V12 C8V11 C8V10 C8V9 C8V8 C9V5 C9V4 C9V3 C9V2 C9V1 C9V0 C9V13 C9V12 C9V11 C9V10 C9V9 C9V8 C10V5 C10V4 C10V3 C10V2 C10V1 C10V0 C10V13 C10V12 C10V11 C10V10 C10V9 C10V8 C11V5 C11V4 C11V3 C11V2 C11V1 C11V0 C11V13 C11V12 C11V11 C11V10 C11V9 C11V8 C12V5 C12V4 C12V3 C12V2 C12V1 C12V0 C12V13 C12V12 C12V11 C12V10 C12V9 C12V8 Daisy chain configuration only. This command returns all Page 1 data from address 6’h00 through 6’h0C in a single data stream. See “Communication Sequences” on page 36 and “Address All” on page 42. See example in Figure 41D on page 40. ET3V7 All Temperature Data Submit Document Feedback C10V7 External Temperature Input 3 Voltage (ExT3 pin) 011111 000001 C9V7 ET2V7 0001 1010 C8V7 External Temperature Input 2 Voltage (ExT2 pin) Scan Count 0010 C7V7 ET1V7 010110 1010 C6V7 External Temperature Input 1 Voltage (ExT1 pin) 0001 0010 BIT 6 ICT6 ET1V6 ET2V6 ET3V6 ET4V6 RV6 ICT5 ICT4 ICT3 ICT2 ICT1 ICT0 ICT13 ICT12 ICT11 ICT10 ICT9 ICT8 ET1V5 ET1V4 ET1V3 ET1V2 ET1V1 ET1V0 ET1V13 ET1V12 ET1V11 ET1V10 ET1V9 ET1V8 ET2V5 ET2V4 ET2V3 ET2V2 ET2V1 ET2V0 ET2V13 ET2V12 ET2V11 ET2V10 ET2V9 ET2V8 ET3V5 ET3V4 ET3V3 ET3V2 ET3V1 ET3V0 ET3V13 ET3V12 ET3V11 ET3V10 ET3V9 ET3V8 ET4V5 ET4V4 ET4V3 ET4V2 ET4V1 ET4V0 ET4V13 ET4V12 ET4V11 ET4V10 ET4V9 ET4V8 RV5 RV4 RV3 RV2 RV1 RV0 RV13 RV12 RV11 RV10 RV9 RV8 SCN3 SCN2 SCN1 SCN0 Daisy chain configuration only. This command returns all Page 1 data from address 6’h10 through 6’h16 in a single data stream. See “Communication Sequences” on page 36 and “Address All” on page 42. OF8 UF8 OF7 UF7 OF6 UF6 OF5 UF5 OF4 OF3 OF2 OF1 OF12 OF11 OF10 OF9 UF4 UF3 UF2 UF1 UF12 UF11 UF10 UF9 FN7938.1 April 23, 2015 ISL94212 Register Map (Continued) R/W + PAGE BIT 7 READ WRITE ADDRESS 0010 1010 000010 0010 0010 0010 0010 1010 1010 1010 1010 0010 0010 0010 0010 0010 0010 0010 0010 0010 1010 1010 1010 1010 1010 1010 1010 1010 0010 0010 0010 000100 000101 1010 REGISTER NAME Open Wire Fault Fault Setup Fault Status Cell Setup 000110 Over-temperature Fault 001111 All Fault Data 010000 Overvoltage Limit 010001 010010 010011 010100 010101 010110 010111 011000 0010 0010 000011 011001 011010 011011 011100 Submit Document Feedback BIT 6 Undervoltage Limit External Temp Limit Balance Setup OC7 TOT2 OW C8 OV7 UV7 ETL7 BSP2 BAL8 Watchdog/Balance Time BTM0 User Register Comms Setup Device Setup Internal Temp Limit Serial Number 0 Serial Number 1 92 TOT1 UV C7 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 BIT 13 BIT 12 BIT 11 BIT 10 BIT 9 BIT 8 OC5 OC4 OC3 OC2 OC1 OC0 OC12 OC11 OC10 OC9 OC8 WSCN SCN3 SCN2 SCN1 SCN0 TTST4 TTST3 TTST2 TTST1 TTST0 OV OT WDGF OSC 0 0 MUX REG REF PAR OVSS OVBAT C6 C5 C4 C3 C2 C1 FFSN FFSP C12 C11 C10 C9 TFLT4 TFLT3 TFLT2 TFLT1 TFLT0 TOT0 Daisy Chain configuration only. This command returns all Page 2 data from address 6’h00 through 6’h06 in a single data stream. See “Communication Sequences” on page 36 and “Address All” on page 42. Balance Status (Cells to Balance) User Register OC6 BIT 5 UR7 UR21 SIZE3 BDDS ITL7 SN7 SN21 OV6 UV6 ETL6 BSP1 BAL7 WDG6 UR6 UR20 SIZE2 0 ITL6 SN6 SN20 OV5 OV4 OV3 OV2 OV1 OV0 OV13 OV12 OV11 OV10 OV9 OV8 UV5 UV4 UV3 UV2 UV1 UV0 UV13 UV12 UV11 UV10 UV9 UV8 ETL5 ETL4 ETL3 ETL2 ETL1 ETL0 ETL13 ETL12 ETL11 ETL10 ETL9 ETL8 BSP0 BWT2 BWT1 BWT0 BMD1 BMD0 BEN BSP3 BAL6 BAL5 BAL4 BAL3 BAL2 BAL1 BAL12 BAL11 BAL10 BAL9 WDG5 WDG4 WDG3 WDG2 WDG1 WDG0 BTM6 BTM5 BTM4 BTM3 BTM2 BTM1 UR5 UR4 UR3 UR2 UR1 UR0 UR13 UR12 UR11 UR10 UR9 UR8 UR19 UR18 UR17 UR16 UR15 UR14 UR27 UR26 UR25 UR24 UR23 UR22 SIZE1 SIZE0 ADDR3 ADDR2 ADDR1 ADDR0 CRAT1 CRAT0 CSEL2 CSEL1 ISCN SCAN EOB 0 Pin 37 Pin 39 WP5 WP4 WP3 WP2 WP1 WP0 ITL5 ITL4 ITL3 ITL2 ITL1 ITL0 ITL13 ITL12 ITL11 ITL10 ITL9 ITL8 SN5 SN4 SN3 SN2 SN1 SN0 SN13 SN12 SN11 SN10 SN9 SN8 SN19 SN18 SN17 SN16 SN15 SN14 SN27 SN26 SN25 SN24 SN23 SN22 FN7938.1 April 23, 2015 ISL94212 Register Map (Continued) R/W + PAGE READ WRITE 0010 BIT 7 ADDRESS 011101 BIT 6 REGISTER NAME BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 BIT 13 BIT 12 BIT 11 BIT 10 BIT 9 BIT 8 TV2 TV1 TV0 Trim Voltage RESERVED TV5 0010 0010 0010 0010 0010 1010 1010 1010 1010 0010 0010 0010 0010 1010 TV3 011111 All Setup Data Daisy Chain configuration only. This command returns all Page 2 data from address 6’h10 through 6’h1D in a single data stream. See “Communication Sequences” on page 36 and “Address All” on page 42. 100000 Cell 1 Balance Value 0 B0107 100001 100010 100011 Cell 1 Balance Value 1 Cell 2 Balance Value 0 Cell 2 Balance Value 1 ~ 0010 TV4 110111 111000 111001 111010 111011 B0207 B0221 B0120 B0206 B0220 B0105 B0104 B0103 B0102 B0101 B0100 B0113 B0112 B1011 B0110 B0109 B0108 B0119 B0118 B0117 B0116 B0115 B0114 B0127 B0126 B0125 B0124 B0123 B0122 B0205 B0204 B0203 B0202 B0201 B0200 B0213 B0212 B1011 B0210 B0209 B0208 B0219 B0218 B0217 B0216 B0215 B0214 B0227 B0226 B0225 B0224 B0223 B0222 ~ Cell 12 Balance Value 1 Reference Coefficient C Reference Coefficient B Reference Coefficient A Cell Balance Enabled 0011 000001 Scan Voltages 0011 000010 Scan Temperatures 0011 000011 Scan Mixed 0011 000100 Scan Wires 0011 000101 Scan All 0011 000110 Scan Continuous 0011 000111 Scan Inhibit 0011 001000 Measure 0011 001001 Identify 0011 001010 Sleep 0011 001011 NAK 0011 001100 ACK 0011 001110 Comms Failure 0011 001111 Wakeup 0011 010000 Balance Enable Submit Document Feedback B0121 B0106 93 ~ B1221 RCC7 RCB7 RCA2 CBEN8 B1220 RCC6 RCB6 RCA1 CBEN7 B1219 B1218 B1217 B1216 B1215 B1214 B1227 B1226 B1225 B1224 B1223 B1222 RCC5 RCC4 RCC3 RCC2 RCC1 RCC0 RCC13 RCC12 RCC11 RCC10 RCC9 RCC8 RCB5 RCB4 RCB3 RCB2 RCB1 RCB0 RCB13 RCB12 RCB11 RCB10 RCB9 RCB8 RCA0 RESERVED RCA8 RCA7 RCA6 RCA5 RCA4 RCA3 CBEN6 CBEN5 CBEN4 CBEN3 BAL2 CBEN1 CBEN12 CBEN11 CBEN10 CBEN9 FN7938.1 April 23, 2015 ISL94212 Register Map (Continued) R/W + PAGE READ WRITE BIT 7 ADDRESS REGISTER NAME BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 BIT 13 BIT 12 BIT 11 BIT 10 BIT 9 BIT 8 0011 010001 Balance Inhibit 0011 010010 Reset 0011 010011 Calc Register Checksum 0011 010100 Check Register Checksum 0100 111111 EEPROM MISR Data Register 14-bit MISR EEPROM checksum value. Programmed during test. 0101 000000 MISR Calculated Checksum 14-bit shadow register MISR checksum value. Calculated when shadow registers are loaded from nonvolatile memory Submit Document Feedback 94 FN7938.1 April 23, 2015 ISL94212 Revision History The revision history provided is for informational purposes only and is believed to be accurate, but not warranted. Please go to web to make sure you have the latest Rev. DATE April 23, 2015 REVISION CHANGE FN7938.1 Changed ground references in Figure 1 on page 1. Abs Max “Absolute Maximum Ratings” on page 7 changed the text in the ESD Ratings from Capacitive Discharge to Charge Device Model “Recommended Operating Conditions” on page 7 moved ExT1, ExT2, ExT3, ExT4, which had voltage range 0V to 3.6V to separate line with voltage range 0V to 2.5V. Added to “BASE” in “Pin Descriptions” on page 5, “Do not let this pin float.” Table 3 on page 24, Changed “Cell 0 Voltage” to “VBAT Voltage”. Section , “CRC Calculation,” on page 36: Added example software CRC calculation code (Figure 39 on page 37.) Section , “Reset,” on page 42 - Added note: “A Reset command should be issued following a “hard reset” in which the EN pin is toggled.” Changed “Fault Signal Filtering” on page 46 to add the comment in 2nd paragraph, “When a fault is detected, the [TOT2:0] bits should be rewritten.” Table 30 on page 47, changed in comments for “Read checksum value calculated by ISL94212” from: ...“cycling the EN pin or the host issuing a Reset command.” to: ...“cycling the EN pin followed by a host initiated Reset command, or simply the host issuing a Reset command.” Changed Section, “System Registers,” on page 62. Changed in 4th paragraph 1st sentence “when the EN pin is low” to “when the EN pin is toggled and the device receives a Reset Command”. Section, “Register Descriptions,” on page 62: Changed “Cell 0 Voltage” to “VBAT Voltage” and added voltage calculation equations. System Register description “TOT0, 1, 2” on page 64 added the comment, “This register must be re-written following an error detection resulting from totalizer overflow.” Added to last sentence 2nd paragraph in Section, “Power Supplies,” on page 82, “The external pass transistor is required. Do not allow this pin to float.” Changed all pin name references to all caps. Updated Definitions for Shutdown Mode in “Power Modes” on page 21 and “Reset” on page 42. Table 50 on page 84, Updated recommendation for C1 Replaced “Measurement and Communication Timing” Section (pages 51 to 58 of previous document) with new sections “Communication and Measurement Diagrams” on page 50 and “Communication and Measurement Timing Tables” on page 56 with new figures and tables to offer more clarity and flexibility in communication and measurement timing calculations. December 14, 2012 FN7938.0 Initial Release. About Intersil Intersil Corporation is a leading provider of innovative power management and precision analog solutions. The company's products address some of the largest markets within the industrial and infrastructure, mobile computing and high-end consumer markets. For the most updated datasheet, application notes, related documentation and related parts, please see the respective product information page found at www.intersil.com. You may report errors or suggestions for improving this datasheet by visiting www.intersil.com/ask. Reliability reports are also available from our website at www.intersil.com/support For additional products, see www.intersil.com/en/products.html Intersil products are manufactured, assembled and tested utilizing ISO9001 quality systems as noted in the quality certifications found at www.intersil.com/en/support/qualandreliability.html Intersil products are sold by description only. Intersil Corporation reserves the right to make changes in circuit design, software and/or specifications at any time without notice. Accordingly, the reader is cautioned to verify that data sheets are current before placing orders. Information furnished by Intersil is believed to be accurate and reliable. However, no responsibility is assumed by Intersil or its subsidiaries for its use; nor for any infringements of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under any patent or patent rights of Intersil or its subsidiaries. For information regarding Intersil Corporation and its products, see www.intersil.com Submit Document Feedback 95 FN7938.1 April 23, 2015 ISL94212 Package Outline Drawing Q64.10x10D 64 LEAD THIN PLASTIC QUAD FLATPACK PACKAGE Rev 2, 9/12 12.00 4 5 10.00 D 3 12.00 A 10.00 4 5 B 0.50 3 4X 0.20 C A-B D TOP VIEW 4X 11/13° 0.20 H A-B D BOTTOM VIEW 1.20 MAX 0.05 / / 0.10 C C SIDE VIEW 7 0.08 SEE DETAIL "A" 0° MIN. H 3 0.08 M C A-B D WITH LEAD FINISH 0.22 ±0.05 0.09/0.20 2 1.00 ±0.05 0.05/0.15 0.09/0.16 0.08 R. MIN. 0.20 MIN. 0.20 ±0.03 BASE METAL DETAIL "A" SCALE: NONE 0.25 0-7° GAUGE PLANE 0.60 ±0.15 (1.00) NOTES: 1. All dimensioning and tolerancing conform to ANSI Y14.5-1982. 2. Datum plane H located at mold parting line and coincident with lead, where lead exits plastic body at bottom of parting line. 3. Datums A-B and D to be determined at centerline between leads where leads exit plastic body at datum plane H. 4. Dimensions do not include mold protrusion. Allowable mold protrusion is 0.254mm. 5. These dimensions to be determined at datum plane H. 6. Package top dimensions are smaller than bottom dimensions and top of package will not overhang bottom of package. 7. Does not include dambar protrusion. Allowable dambar protrusion shall be 0.08mm total at maximum material condition. Dambar cannot be located on the lower radius or the foot. 8. Controlling dimension: millimeter. 9. This outline conforms to JEDEC publication 95 registration MS-026, variation ACD. 10. Dimensions in ( ) are for reference only. Submit Document Feedback 96 FN7938.1 April 23, 2015