PS810 Li Ion Single Cell Fuel Gauge • Provides battery status, such as average time to empty, relative State-Of-Charge and battery State-Of-Health • In-system offset calibration compensates for offset error in current measurement SDA/SPS IO6 SCL/IO0 16 15 14 13 NTC/IO2 1 12 IO5 VCOIN/IO3 2 11 IO4 VFILTER 3 10 GND MCLR 4 PS810 7 8 SR ROSC 5 6 N/C 9 14-pin TSSOP SCL/IO0 1 14 SDA/SPS IO1 2 13 IO6 NTC/IO2 3 12 IO5 VCOIN/IO3 4 VFILTER MCLR VC1 5 PS810 Software Features 16-pin QFN (4 mm x 4 mm) IO1 • Highly accurate fuel gauge for single cell Li Ion applications • Algorithms are implemented using an embedded PIC18 low-power microcontroller with 16-bit instruction set • Reports current, voltage and temperature utilizing a programmable 8 to15-bit + sign, sigma-delta ADC • Host communication accomplished through an industry standard SMBus interface or an alternative single pin serial interface • I/O pins are available to provide functions such as digital GPIO, coin cell voltage measurement and thermistor input • Integrated temperature sensor and regulator minimize external components • Embedded fuel gauge algorithms and application specific parameters are stored in a 4K x 16 Flash memory • 512 bytes of RAM are available for temporary storage of battery parameters Pin Description VC1 N/C Hardware Features 11 IO4 10 GND 6 9 SR 7 8 ROSC Package Features • 16-pin QFN package or 14-pin TSSOP package • -20°C to +85°C operating temperature range 1.0 PRODUCT OVERVIEW The PS810 is a fuel gauge for one-cell Li Ion or Li Polymer applications. The device provides the host and the system user with critical battery information, such as voltage, current, temperature, run time, State-Of-Charge and State-Of-Health. This information is available through an industry standard SMBus or an alternative Single Pin Serial interface. Advanced fuel gauge algorithms are stored in on-board Flash memory and executed by the industry recognized PIC18 microcontroller. These algorithms include compensation factors which optimize the performance of the battery for a specific application and operating environment. Compensation is included for the effects of temperature, discharge rate, charge rate and battery aging. © 2006 Microchip Technology Inc. To provide precise measurements of current, voltage and temperature, the PS810 integrates a highly accurate 15-bit + sign, sigma-delta A/D converter. Based upon operating conditions, this programmable converter can be configured to measure specific battery parameters with a resolution of 8 to 15 bits + sign. Precision measurements combined with advanced algorithms provide accurate indications of capacity, run time, State-Of-Health and safety and charge/discharge conditions. The ability to operate directly from a single Li Ion or Li Polymer cell minimizes the need for external components, such as a voltage regulator and voltage divider. To further limit external circuitry and enhance accuracy, the PS810 provides an integrated temperature sensor and oscillator. DS21904C-page 1 PS810 TABLE 1-1: PS810 QFN PIN SUMMARY Pin# Pin Name PS810 TSSOP PIN SUMMARY Pin# Pin Name 1 2 3 NTC/IO2 VCOIN/IO3 VFILTER External NTC input or GPIO Coin cell monitor input or GPIO Power supply filter cap 1 2 3 4 5 6 7 MCLR VC1 N/C N/C Master Clear Cell voltage input No connect No connect 4 5 SCL/IO0 IO1 NTC/IO2 VCOIN/IO3 VFILTER SMBus clock or GPIO General purpose IO External NTC input or GPIO Coin cell monitor input or GPIO Power supply filter cap 6 7 MCLR VC1 Master Clear Cell voltage input 8 9 10 11 12 13 14 15 16 ROSC SR GND IO4 IO5 IO6 SDA/SPS SCL/IO0 IO1 Oscillator bias resistor Sense resistor input Power supply ground General purpose IO General purpose IO General purpose IO SMBus data/one-wire serial line SMBus clock or GPIO0 General purpose IO 8 9 10 11 12 13 14 ROSC SR GND IO4 IO5 IO6 SDA/SPS Oscillator bias resistor Sense resistor input Power supply ground General purpose IO General purpose IO General purpose IO SMBus data/one-wire serial line FIGURE 1-1: Description TABLE 1-2: Description PS810 INTERNAL BLOCK DIAGRAM Analog Section Digital Section VFILTER 4K 4Kxx16 16Flash Flash 512-byte 512-byteRAM/ RAM/ Registers Registers Voltage Voltage Reference Referenceand and Temp TempSensor Sensor Voltage Voltage Regulator Regulator VC1 PIC18F PIC18F Microcontroller Microcontroller SDA/SPS SCL Comm Comm Interface Interface 15-bit 15-bit++sign sign Sigma-Delta Sigma-Delta Integrating Integrating A/D A/DConverter Converter SR NTC Analog Analog Input InputMux Mux VCOIN Control Controland andStatus Status Run Run Oscillator Oscillator IO0 IO1 Sleep Sleep Oscillator Oscillator Input/Output Input/Output IO2 ROSC IO3 IO4 IO5 IO6 DS21904C-page 2 GND MCLR © 2006 Microchip Technology Inc. CELL CONNECTIONS VR V1 * GROUND IF NOT USED COIN CELL INPUT EXT. THERMISTOR INPUT NTC * NVR VCOIN * 20 240 R5 R2 R4 C10 1.0 nF C5 100 nF C2 100 nF C3 100 nF 20K 6 5 4 3 2 1 16 ROSC SR GND IO4 IO5 IO6 7 8 9 10 11 12 13 14 GROUND PLANE CONNECTION NC NC PS810Q U1 QFN PACKAGE VC1 MCLR VFILTER VCOIN/IO3 NTC/IO2 IO1 SCL/IO0 SDA/SPS 0.020 R9 232K R8 470 R32 3 100 nF C32 2 6 7 VSS VDD U2 20 20 R15 R14 VM SAFETY IC S8241A DO 4 5 CO © 2006 Microchip Technology Inc. 5 2 3 R31 1.0K TPCS8209 Q1 1 2 3 1 CMSZDA5V6 D1 240 240 R21 R20 B+ C D B- PACK CONNECTION FIGURE 1-2: 4 1.1 8 1 15 PS810 Schematic PS810 APPLICATION SCHEMATIC – PS810-BASED BATTERY PACK DS21904C-page 3 PS810 1.2 Bill of Materials TABLE 1-3: ID PS810 BILL OF MATERIALS Part Number Symbol 1 04-826197 Rev. 1.1 Description Mftr. Mftr. PN Supplier Supplier PN Qty Raw PCB, PS8110 Microchip 04-826197 Rev. 1.1 Microchip 04-826197 Rev. 1.1 1 2 CC-0402-10X7R25-1.0NF-01 C10 Capacitor, Ceramic, 1.0 nF, 25V, +/-10%, X7R dielectric, 0402 Panasonic ECJ-0EB1E102K Digikey PCC102BQCT-ND 1 3 CC-0603-10X7R16-100NF-01 C2, C3, C5, C32 Capacitor, Ceramic, 100 nF, 16V, +/-10%, X7R dielectric, 0603 Panasonic ECJ-1VB1C104K Digikey PCC1762CT-ND 4 4 DZ-SOT323-10D-CMSZDA5V6-01 D1 Dual Zener Diode, 5.6V, +/-10%, 200 mW, common anode, SOT-323 Central Semi. CMSZDA5V6 Diodes Inc. AZ23C5V6W-7 Central Semi. CMSZDA5V6 Diodes Inc. AZ23C5V6W-7 1 5 QM-TSSOP844-DN-TPCS8209-01 Q1 MOSFET, dual N-channel Enhancement mode, 20V, 5A, TSSOP-8/4.4 mm body width package Toshiba TPCS8209(TE12L) Digikey TPCS8209CT-ND 1 6 RF-0402-5-20-01 (Note 1) R14, R15 Resistor, film, 0402, 5%, 20 ohms Panasonic ERJ-2GEJ200X Digikey P20JCT-ND 2 7 RF-0402-5-20K-01 (Note 1) R4 Resistor, film, 0402, 5%, 20 kOhms Panasonic ERJ-2GEJ203X Digikey P20KJCT-ND 1 8 RF-0603-ITC25-221K-01 (Note 1) R8 Resistor, film, 0603, 1%, 232 kOhms, 25 ppm TC Susumu Co. Ltd. RR0816P-2213-D-34D Digikey RR08P221KDCT-ND 1 9 RF-0603-5-1.0K-01 (Note 1) R31 Resistor, film, 0603, 5%, 1.0 kOhms Panasonic ERJ-3GEYJ102V Digikey P1.0KGCT-ND 1 10 RF-0603-5-470-01 (Note 1) R32 Resistor, film, 0603, 5%, 470 ohms Panasonic ERJ-3GEYJ471V Digikey P470GCT-ND 1 11 RF-0805-5-20-01 (Note 1) R5 Resistor, film, 0805, 5%, 20 ohms Panasonic ERJ-6GEYJ200V Digikey P20ACT-ND 1 12 RF-0805-5-240-01 (Note 1) R2, R20, R21 Resistor, film, 0805, 5%, 240 ohms Panasonic ERJ-6GEYJ241V Digikey P240ACT-ND 3 13 RF-1206-1-0.029-01 (Note 1) R9 Resistor, metal strip, 1206, 1%, 0.020 ohms Vishay WSL1206-0.020-1%-R86 Vishay WSL1206-0.020-1%-R86 1 14 UM-SOT235-4085S8241ABPMCGBPT2-01 U2 IC, Battery Protection Circuit, Seiko Li Ion, 1-cell, -40°C to +85°C, Instruments SOT23-5 package S-8241ABPMC-GBP-T2 (Note 2) Seiko Instruments S-8241ABPMC-GBP-T2 (Note 2) 1 15 UM-QFN164X4-2085-PS810-01 U1 IC, Low-Voltage Fuel Gauge, Microchip -20°C to +85°C, QFN-16/ 4.0x4.0 mm package PS810 Microchip PS810 1 Note 1: 2: Resistor sizes shown are minimum recommended sizes for the application. Other variants of the S-8241A series, with different trip points, are also available. Consult the S-8241A series data sheet. DS21904C-page 4 © 2006 Microchip Technology Inc. PS810 2.0 ARCHITECTURAL OVERVIEW The PS810 contains a complete analog “front-end” for battery monitoring as well as an embedded microcontroller, with supporting memory, for control, measurement accumulation, calculation and communications. Major functions within the PS810 include: • • • • • • • Voltage Regulator Precision Time Base Temperature Sensor 4K x 16 Flash Memory 512-byte RAM Memory 15-bit plus sign Analog-to-Digital (A/D) Converter SMBus/I2C™ or Single Pin Serial Communications Interface • PIC18 Microcontroller 2.5 RAM Memory 512 bytes of general purpose RAM memory is provided for storage of temporary parameters. 2.6 A/D Converter The PS810 incorporates an integrating sigma-delta A/D converter together with an analog that has inputs for charge and discharge current, cell voltage, coin cell voltage, the on-chip temperature sensor and an off-chip thermistor. The converter can be programmed to perform a conversion with resolutions of 8 to 15 bits + sign, while utilizing either a single-ended +300 mV or a differential ±150 mV reference. 2.7 SMBus/I2C™ or Single Pin Serial Communications Interface Figure 1-1 is a block diagram of the internal circuitry of the PS810. Figure 1-2 is a schematic diagram that depicts the PS810 in a typical single cell lithium ion application. The function of each of the blocks listed above is summarized in the following sections. This communications port for the PS810 is selectable as a 2-pin industry standard SMBus/I2C or a single pin interface. All commands, status and data are read or written from the host system via this interface. 2.1 The two pin communication interface uses one clock pin and one data pin and is compatible with the industry standard System Management Bus (SMBus) and the Inter IC Communication Bus (I2C). Internal Voltage Regulator The PS810 incorporates an internal voltage regulator that supports 1-cell lithium pack configurations. The internal regulator draws power directly from the VC1 input. No other external components are required to regulate circuit voltage. 2.2 Precision Time Base The integrated precision time base is a highly accurate RC oscillator that provides precise timing for the sigmadelta A/D and for the on-chip elapsed time counters without the need for an external crystal. This time base is trimmed during manufacturing to a nominal frequency of 512 kHz. 2.3 Temperature Sensor An integrated temperature sensor is provided that can eliminate the need for an external thermistor. As an option, a connection is provided for an external thermistor for applications where the battery cell is physically separated from the PS810. 2.4 2.7.1 2.7.2 SMBus/I2C SINGLE PIN SERIAL INTERFACE The Single Pin Serial (SPS) interface consists of one pin only: the SDA/SPS pin (pin 14). This communication is an asynchronous return-to-one protocol. The timing of the driven low pulses defines the communication. 2.8 PIC18 Microcontroller The PIC18 is a high-performance, CMOS, fully static 8-bit microcontroller. The PIC18 employs an advanced RISC architecture. This device has enhanced core features, such as 31 level deep stack and multiple internal and external interrupt sources. The separate instruction and data buses of the Harvard architecture allow a 16-bit wide instruction word with a separate 8-bit wide data bus. The two-stage instruction pipeline allows all instructions to execute in a single cycle, except for program branches, which require two cycles. A total of 75 instructions are available. Flash Memory 4K x 16 of Flash memory is incorporated for storage of nonvolatile parameters, such as PowerSmart® 3D cell models, fuel gauge algorithms and application specific data. © 2006 Microchip Technology Inc. DS21904C-page 5 PS810 NOTES: DS21904C-page 6 © 2006 Microchip Technology Inc. PS810 3.0 OPERATIONAL DESCRIPTION 3.1.1.1 3.1 A/D Operation The current resolution is based on the smallest amount of voltage the A/D converter can measure across the sense resistor. Since this measurement uses 13 bits (plus sign) and the reference used is the internal 150 mV reference, the smallest voltage across the sense resistor that can be measured is: The PS810 A/D converter measures current, voltage and temperature and integrates the current over time to calculate State-Of-Charge. Cell voltage is measured with a direct connection to the battery cell without requiring an external voltage divider. Using an external sense resistor, current is monitored during both charge and discharge and is integrated over time using the onchip oscillator as the time base. Temperature is measured from the on-chip temperature sensor or an optional external thermistor. Voltage, current and temperature can be calibrated for accuracy over the operational range. The A/D converter performs sampling using a 32 kHz clock. 3.1.1 CURRENT MEASUREMENT The A/D input channels for current measurement are the SR and GND pins. The voltage drop across the sense resistor is measured and converted mathematically into a current measurement. The current is also integrated over time to get the amount of charge entering or leaving the battery. A sense resistor is connected to SR and GND. The maximum input voltage that can be measured at SR is +/-150 mV. The sense resistor should be properly sized to accommodate the lowest and highest expected charge and discharge currents, including suspend and/ or standby currents. The parameter NullCurr represents the zero-zone current of the battery. This is provided as a calibration guardband for reading zero current. Currents below +/- NullCurr (in mA) limit are read as zero and not included in the capacity algorithm calculations. A typical value for NullCurr is 3 mA, therefore, currents between -3 mA and +3 mA will be reported as zero and not included in the capacity calculations. This feature is provided so that electrical noise on the battery module current path is not interpreted as actual charge entering or leaving the battery. Sense Resistor Selection and Current Measurement Range EQUATION 3-1: 150 mV/(2 ^ 13 – 1) = 150 mV/32767 = 18.3 μV Thus, the smallest current that can be measured is: 18.3 μV/RSENSE (mΩ) The largest current that can be measured is: 150 mV/RSENSE (mΩ) Example: a 20 milliohm sense resistor will measure from: 18.3 μV/20 mΩ = 0.915 mA (though will be recorded as zero if < NullCurr) up to: 150 mV/20 mΩ = 7.5 Amps 3.1.1.2 Current Calibration In-circuit calibration of the current is done using the communication interface (SMBus/I2C or SPS) at time of manufacture to obtain optimal accuracy. A correction is calculated and stored for both offset and slope. COD is a constant that is measured at calibration time and contains the offset due to external PCB components. CFCurr is the “Correction Factor for Current” which compensates the A/D gain and any variances in the actual sense resistance over varying currents. It is multiplied against the raw A/D measurement. COCurr is the “Correction Offset for Current” which is updated in real time by the A/D shorting the inputs and comparing any result to zero. This is added to COD and compensates for any offset that varies over time, such as temperature dependent offsets. Figure 3-1 shows the relationship of the COCurr and CFCurr values. © 2006 Microchip Technology Inc. DS21904C-page 7 PS810 FIGURE 3-1: COCurr AND CFCurr VALUE RELATIONSHIP Raw Measurement Ideal A/D Response CFCurr Actual A/D Response COCurr Actual Current 3.1.2 AUTO-OFFSET COMPENSATION Accuracy drift is prevented using an automatic autozero self-calibration method which zeros the current measurement circuit periodically at a programmable rate. This feature can correct for drift in temperature during operation. The Auto-Offset Compensation circuit works internally by disconnecting the RS input and internally shorting it to GND to measure the zero input offset. Furthermore, the calibration factor, COD, contains the offset factor external to the IC, offset due to the circuit board, system, etc. COD is added to the internal offset calculated by the auto-offset cycle to determine the full offset, COCurr. 3.1.3 VOLTAGE MEASUREMENTS The A/D input channel for cell voltage measurement is the VC1 pin. Measurements are taken each measurement period when the A/D is active. The maximum voltage at the VC1 pin is 5.5V, but voltages above 4.5V are not suggested since this will saturate the A/D. The cell voltage is measured with an integration method to reduce any sudden spikes or fluctuations. The A/D uses a default of 11-bit plus sign resolution for these measurements. DS21904C-page 8 The VC1 input circuit contains an internal resistive divider to reduce the external voltage input to a range that the internal A/D circuit can accommodate (300 mV maximum). The divider is 15 to 1 based on a maximum cell voltage of 4.5 volts. The voltage divider is only connected to ground when the actual voltage measurement is occurring. CFVoltage is the “Correction Factor for Pack Voltage” which compensates for any variance in the actual A/D response versus an ideal A/D response over varying voltage inputs. In-circuit calibration of the voltage is done at the time of manufacture to obtain accuracy in addition to high resolution. Cell voltage measurements can be accurate to within ±20 mV. 3.1.4 TEMPERATURE MEASUREMENTS The A/D can measure temperature from the internal temperature sensor or an external thermistor connected to the NTC pin. The A/D uses a default of 11-bit plus sign resolution for the temperature measurements. A standard 10 kOhms at 25°C Negative-TemperatureCoefficient (NTC) device of the 103ETB type is suggested for the optional external thermistor. One leg of the NTC should be connected to the NTC pin and the other to ground. A linearization algorithm is used to convert the voltage measurement seen at the NTC pin to a temperature value. The external thermistor should be placed as close as possible to the battery cells and should be isolated from any other sources of heat that may affect its operation. Calibration of the temperature measurements involves a correction factor and an offset exactly like the current measurement. The internal temperature measurement makes use of correction factor, CFTempI and offset, COTempI, while the NTC pin for the optional external thermistor makes use of correction factor, CFTempE. © 2006 Microchip Technology Inc. PS810 TABLE 3-1: Parameter Name A/D OPERATION PARAMETERS # of Bytes Units Typical Value NullCurr 1 mA 3 Zero zone control is built into the PS810 so that electrical noise doesn’t actually drain the gas gauge, when in fact the current is zero. For this reason, current less than NullCurr mA in either direction will be measured as zero. CFCurr 2 unsigned word 4200 Correction Factor for Current. Adjusts the scaling of the sense resistor current measurements. COCurr 1 signed byte 0 Correction Offset for Current. This is the value the A/D reads when zero current is flowing through the sense resistor. COD 1 signed byte 0 Correction Offset Deviation. Offset value for the auto-zero calibration of the current readings. AOMInterval 1 op cycles 60 Interval of time between auto-offset calibrations. AVGIScale 1 coded CFVoltage 2 integer 2250 Correction Factor for Pack Voltage. Adjusts the scaling of the VC1 pin measurement. CFCoin 2 integer 2250 Correction Factor for Coin Cell Measurement. Adjusts the scaling of the VCOIN pin measurement. CFTempE 2 integer 326 Correction Factor for Temperature. Adjusts the scaling of temperature measured across an external thermistor at the NTC input pin. CFTempI 2 integer 2038 Correction Factor for Temperature. Adjusts the scaling of temperature measured from the internal temperature sensor. COTempI 2 signed word 21298 Correction Offset for Temperature. Used for temperature measurement using internal temperature sensor. Operational Description b00100000 Time period over which current is averaged to calculate average current: IAVG = IAVG + (I – IAVG)/(AVGIScale * 2). Note: Only Most Significant set bit is used, others are ignored. © 2006 Microchip Technology Inc. DS21904C-page 9 PS810 3.2 3.2.3 Operational Modes The PS810 operates on a continuous cycle, measuring current, voltage and temperature, then performing fuel gauge calculations. There are four power modes: Run mode, in which the measuring and calculating loop constantly repeats; Bus Inactive Low-Power mode, in which only self-discharge is calculated; Low-Voltage Sleep mode, in which there are no measurements and only wake-up circuitry is powered; and Shelf-Sleep mode, in which only communication line sensors are powered. 3.2.1 RUN MODE Run mode is the highest power consuming mode. During Run mode, all measurements and calculations occur. Current, voltage and temperature measurements are each made sequentially. Run mode is active until voltage drops below the Sleep voltage, the bus goes inactive or the Shelf-Sleep command is executed. 3.2.2 BUS INACTIVE LOW-POWER MODE The PS810 enters Low-Power mode when all of the following conditions are true: • Current is zero (optional) • The communication pins are low for at least 8 periods of 512 ms each • There is no communication attempt for at least 8 periods of 512 ms each To enter this mode, typically, there must be no load or charger present and no communication host. The pack is out of the system. In this mode, the PS810 will draw less current from the battery, approximately 25 μA and will only track self-discharge. Alternatively, if selfdischarge tracking is not required, Ultra Low-Power mode can be used and the PS810 will draw less than 1 microamp. TABLE 3-2: LOW-VOLTAGE SLEEP MODE Entry to Low-Voltage Sleep mode can only occur when the measured pack voltage at VC1 input is below a preset limit set by the parameter SleepVoltage (in mV) and the current is zero (less than NullCurr). Sleep mode may be exited to Run mode when the voltage at VC1 is greater than the wake-up voltage, which is 3.2 volts, 10%. While in 10% Sleep mode, no measurements occur and no calculations are made. The fuel gauge display is not operational, no communications are recognized and only a wake-up condition will permit an exit from Sleep mode. Sleep mode is one of the lowest power consuming modes and is used to conserve battery energy following a complete discharge. There are two power levels that can be chosen for LowVoltage Sleep mode. Low-Power mode draws approximately 20 μA and will wake-up automatically when the voltage rises above the wake-up voltage, which is a constant 3.2 volts above the wake-up volts, +/-5%. Ultra Low-Power mode draws less than 1 μA and requires an external source to drive the communication line high to wake-up, since the voltage wake-up comparator is powered down. 3.2.4 SHELF-SLEEP MODE Shelf-Sleep mode can be entered by a battery data command on the communication bus for conserving energy while shipping battery packs. It can be exited only by an external source driving the communication data line high. This mode uses the Ultra Low-Power Sleep mode, resulting in current draw less than 1 microamp. This mode is entered by writing a password to SMBus command code, 0x43. A word write protocol is used to write the password, 0x5A7A. OPERATIONAL MODES Mode Entry Exit Notes Run Voltage > Wake-up voltage or data line driven high Voltage less than SleepVoltage, bus Idle or Shelf-Sleep command issued Highest power consumption and accuracy. Bus Inactive Low-Power Current < NullCurr, communication lines low and no communication attempts Activity on communication lines Only self-discharge calculated. Low-Voltage Sleep VC(1) < SleepVoltage, Current is not zero Voltage > Wake-up voltage (Low-Power mode), Data line driven high (Ultra Low-Power mode) No measurements made. Shelf-Sleep Can be entered by SMBus command Data line driven high No measurements made. DS21904C-page 10 © 2006 Microchip Technology Inc. PS810 TABLE 3-3: OPERATIONAL MODE PARAMETERS Parameter Name # Bytes Units Typical Value SleepVoltage 2 mV 2700 The pack voltage at which the PS810 will enter Low-Voltage Sleep mode. PwrConsumSleep 1 1/256 mA 7 The average current that the battery module typically draws from the battery while in Low-Power mode. PowerModes 1 bitmap Operational Description b00000101 bit 5: 1 = Bus Inactive mode, always uses Ultra Low-Power mode until first bus communication after POR 0 = Disable Bus Inactive Low-Power mode bit 4: 1 = Enable Bus Inactive Low-Power mode 0 = Disable Bus Inactive Low-Power mode bit 3: 1 = Use Ultra Low-Power mode as Bus Inactive Low-Power mode (no self-discharge calculations) 0 = Use Low-Power mode with self-discharge calculations as Bus Inactive Low-Power mode bit 2: 1 = Require NullCurr for Bus Inactive Low-Power mode and Low-Voltage Sleep mode 0 = No NullCurr requirement for Sleep modes bit 1: 1 = Use Ultra Low-Power mode as Low-Voltage Sleep mode 0 = Use Low-Power mode as Low-Voltage Sleep mode bit 0: 1 = Set remcap to zero when entering Low-Voltage Sleep mode 0 = Do not change remcap when entering Low-Voltage Sleep mode © 2006 Microchip Technology Inc. DS21904C-page 11 PS810 NOTES: DS21904C-page 12 © 2006 Microchip Technology Inc. PS810 4.0 CAPACITY MONITORING The PS810 uses the voltage, current and temperature data from the A/D converter, along with battery algorithms and cell models, to determine the state of the battery and to process the battery data instruction set. By integrating measured current, monitoring voltages and temperature, adjusting for self-discharge and checking for End-Of-Charge and End-Of-Discharge conditions, the PS810 creates an accurate fuel gauge under all battery conditions. 4.1 Capacity Calculations The PS810 calculates State-Of-Charge and fuel gauging functions using a ‘coulomb counting’ method, with additional inputs from battery voltage and temperature measurements. By continuously and accurately measuring the current into and out of the battery cells, along with accurate three-dimensional cell models, the PS810 is able to provide accurate predictions of SOC and run time. The capacity calculations consider two separate states: charge or Capacity Increasing (CI) and discharge or Capacity Decreasing (CD). The CI state only occurs when a charge current larger than the parameter NullCurr value is measured. Otherwise, while at rest and/or while being discharged, the state is CD. Conditions must persist for at least NChangeState measurement periods for a valid state change between CD and CI. A minimum value of 2 is suggested for NChangeState. Regardless of the CI or CD state, self-discharge is also calculated and subtracted from the integrated capacity values. Even when charging, there is still a selfdischarge occurring in the battery. Self-discharge is modelled internally in the PS810 and is a factor of temperature and State-Of-Charge. Since the PS810 electronics also drain current from the battery system, another parameter value allows even this minor drain to be included in the capacity calculations. The PwrConsumption value represents the drain of the IC and associated circuitry, including additional safety monitoring electronics, if present. A typical value of 31 represents the modules nominal power consumption, including PS810 typical consumption of 85 μA. © 2006 Microchip Technology Inc. The total capacity added or subtracted from the battery (change in charge) per measurement period is expressed by the following formula: EQUATION 4-1: ΔCharge = ΣiΔt (the current integrated over time) - PwrConsumption * Δt - Self-discharge percentage * FCC The battery current will be precisely measured and integrated in order to calculate total charge removed from or added to the battery. Based on look-up table values, the capacity is adjusted relative to discharge rate and temperature. 4.2 Discharge Termination Remaining capacity is determined based on the EndOf-Discharge (EOD) voltage point. The voltage level at which this point occurs will change depending on the temperature and discharge rate, since these factors affect the voltage curve and total capacity of the battery. The EOD voltage look-up table predicts the voltage point at which this EOD will be reached based on discharge rate and temperature. The PS810 will monitor temperature and discharge rate continuously and update the EOD voltage from the look-up table in real time. When the voltage measured on the cell is below the EOD voltage for the duration of EODRecheck x periods (500 ms), a valid EOD has occurred. When a valid EOD has been reached, the FULLY_DISCHARGED bit in BatteryStatus will be set. 4.3 Capacity Relearn To maintain accurate capacity prediction ability, the FullCapacity value is relearned on each discharge, which has reached a valid EOD after a previous valid fully charged EOC. If a partial charge occurs before reaching a valid EOD, then no relearn will occur. The difference between the old FCC and the new learned FCC will be limited to 256 mAh, except when cycles are less than RLCycles. DS21904C-page 13 PS810 4.4 EOD Voltage Look-up Table 4.4.1 3. If the system needs a certain amount of energy for a system shutdown procedure that will require a certain discharge rate and a certain amount of time, then the discharge rate could change suddenly as soon as the End-OfDischarge voltage point is hit. The voltage entries should then represent a remaining capacity that exists at the future discharge rate of the shutdown procedure. NEAR EMPTY RESERVE CAPACITY POINT Available capacity in the battery varies with temperature and discharge rate. Since the remaining capacity will vary with temperature and discharge rate, a shutdown point, or End-Of-Discharge voltage, will also vary with temperature and discharge rate in order to leave enough reserve energy in the battery to allow a system to perform a shutdown procedure under all conditions. Plotting voltage versus capacity at various temperatures and discharge rates, along with the voltage versus capacity at the shutdown procedure discharge rate, will identify the voltage point at which shutdown should occur assuming a switch from the first discharge rate to the shutdown discharge rate. The End-Of-Discharge voltage look-up table allows for entry of 64 different voltages as a function of 8 different temperature regions and 8 different discharge rate regions. Linear interpolation is used to determine the End-Of-Discharge voltage within the regions. The residual capacity entries represent the difference between the ideal capacity of the battery and the capacity available at the specific temperature and discharge rate. To compensate remaining capacity, the residual capacity will be subtracted from remaining capacity. The compensation adjustment will happen in real time to avoid sudden drops or jumps. Every time the temperature decreases by one degree, a new interpolated value will be subtracted from the remaining capacity. Every time the temperature increases by one degree, the remaining capacity will be held constant until the discharged capacity equals the interpolated value that should have been added to the remaining capacity (to avoid capacity increases during discharge). This compensation will not begin until after the fully charged status is reset, allowing the remaining capacity to be 100% when the battery is full. It is recommended to use the table in one of three ways: 1. Constant Shutdown Voltage If the system does not require any reserve energy, then the same voltage can be used in all table entries. This should be the lowest voltage the battery can safely discharge to, or the lowest voltage that will support system operation, whichever is higher. 2. Constant Remaining Capacity To give a warning of a certain amount of capacity left, the voltage that represents this capacity for a certain temperature and discharge rate is used in each entry. Plotting voltage versus capacity for different temperatures and discharge rates will identify these points TABLE 4-1: Constant Reserve Energy for System Shutdown V_EOD LOOK-UP TABLE EXAMPLE <-10° <0° <10° <20° < 0.2C 3200 mV 3100 mV 3050 mV — < 0.5C 3125 mV — — < 0.8C 3075 mV — < 1.1C — <30° <40° <50° >50° 0% 0% 0% 0% < 1.4C < 1.7C < 2.0C > 2.0C Residual Capacity 20% 10% 5% Table 4-1 is an example of the various voltage values that will signal the shutdown points as a function of temperature and discharge rate. DS21904C-page 14 3% Table 4-2 shows the actual names of the values in the memory. Table 4-3 shows the value definitions. © 2006 Microchip Technology Inc. PS810 TABLE 4-2: CEOD(1) VALUE NAMES IN THE MEMORY TEOD(1) TEOD(2) TEOD(3) TEOD(4) TEOD(5) TEOD(6) TEOD(7) TEOD(7) VEOD1(1) VEOD1(2) VEOD1(3) VEOD1(4) VEOD1(5) VEOD1(6) VEOD1(7) VEOD1(8) CEOD(2) VEOD2(1) VEOD2(2) VEOD2(3) VEOD2(4) VEOD2(5) VEOD2(6) VEOD2(7) VEOD2(8) CEOD(3) VEOD3(1) VEOD3(2) VEOD3(3) VEOD3(4) VEOD3(5) VEOD3(6) VEOD3(7) VEOD3(8) CEOD(4) VEOD4(1) VEOD4(2) VEOD4(3) VEOD4(4) VEOD4(5) VEOD4(6) VEOD4(7) VEOD4(8) CEOD(5) VEOD5(1) VEOD5(2) VEOD5(3) VEOD5(4) VEOD5(5) VEOD5(6) VEOD5(7) VEOD5(8) CEOD(6) VEOD6(1) VEOD6(2) VEOD6(3) VEOD6(4) VEOD6(5) VEOD6(6) VEOD6(7) VEOD6(8) CEOD(7) VEOD7(1) VEOD7(2) VEOD7(3) VEOD7(4) VEOD7(5) VEOD7(6) VEOD7(7) VEOD7(8) CEOD(7) VEOD8(1) VEOD8(2) VEOD8(3) VEOD8(4) VEOD8(5) VEOD8(6) VEOD8(7) VEOD8(8) FCCP(1) FCCP(2) FCCP(3) FCCP(4) FCCP(5) FCCP(6) FCCP(7) FCCP(8) 4.4.2 COMPENSATING FOR CELL AGING As lithium ion cells age, the voltage versus capacity curves become depressed. That is, the battery cell can no longer deliver as high of a voltage as it once could for a given capacity. The overall capacity loss is adjusted for by the relearning of full charge capacity. The End-Of-Discharge voltage points, which are voltage points at which a certain capacity remains, are adjusted using a scaling factor. The End-Of-Discharge voltage points will become lower with each cycle. A cycle is defined as a total amount of discharge capacity equal to full charge capacity. Cycle count is used to determine the age of the cells and the © 2006 Microchip Technology Inc. parameter, AgeFactor, determines the number of millivolts that the voltage becomes depressed per cycle. AgeFactor is subtracted from the End-Of-Discharge voltage for every cycle the battery has been through. AgeFactor units are in eighths of millivolts. Thus, with the effect of aging, the actual End-Of-Discharge voltage becomes: EQUATION 4-2: VEODaged = VEOD – (CycleCount * AgeFactor * 0.125) mV DS21904C-page 15 PS810 TABLE 4-3: CAPACITY MONITORING PARAMETERS Parameter Name # of Bytes Units Typical Value DesignCapacity 2 mAh 2200 Battery data value for DesignCapacity. This is the first capacity loaded into the FullChargeCapacity upon power-up. RemCap 2 mAh 440 The initial capacity of the battery. When the PS810 is first powered up and initialized, before a learning cycle takes place to learn the full capacity, the full capacity will take the value programmed into RemCap to compute relative State-Of-Charge percentage. NullCurr 1 mA 3 A zero zone control is built into the PS810 so that any electrical noise doesn’t actually drain the gas gauge, when in fact, the current is zero. For this reason, current less than NullCurr mA in either direction will be measured as zero. PwrConsumption 1 1/256 mA 31 Current consumption of the battery module. This is the average current that the battery module typically draws from the battery (255 = 1 mA). ClrFullyChrg 1 % 90 Reset FULLY_CHARGED bit at this level, 100 = 100%. When discharging begins, the FULLY_CHARGED bit must remain set until the cell voltages are below EOCVolt, so that a small current will not trigger a false End-Of-Charge trigger. Thus, ClrFullyChrg is set at about 90%. FULLY_CHARGED bit will be on until the battery has discharged to less than 90%. ConfigCAP 1 bitmap Operational Description 11100100 bit 7: Compensate remaining capacity – the displayed remaining capacity actually equals FCC minus capacity used minus residual capacity. bit 6: Remaining capacity decrease only – when compensating, if temperature changed causing a decrease in residual capacity, do not let remaining capacity rise to reflect this. Instead, hold it steady until discharge catches up. bit 5: Only compensate on discharge. bit 4: Compensate on null current. bit 3: Unused. bit 2: Set capacity to positive immediately upon charging. If discharged below zero, this allows capacity to count up immediately upon charging. bit 1: Learn unconditionally – relearn FCC under any conditions. Typically used for testing only. bit 0: Disable self-discharge. DS21904C-page 16 © 2006 Microchip Technology Inc. PS810 TABLE 4-3: Parameter Name CAPACITY MONITORING PARAMETERS (CONTINUED) # of Bytes Units FLAGS1 1 bitmap RemCapDelta 1 1/4 mAh 2 Maximum change in remaining capacity per measurement period. EODRecheck 1 integer 8 Recheck period for EOD. Voltage must be below VEOD for this many measurement periods. ClrFullyDischrg 1 % 10 Reset FULLY_DISCHARGED bit, 100 = 100%. Once fully discharged bit is set, it will stay set until capacity rises above this value, typically 10%. EODCap 2 mAh 100 Capacity remaining in battery at EOD. Remaining capacity is loaded with EODCap at EOD. FullCapacity 2 mAh 2200 Learned value of battery capacity. Used for battery data value of FullChargeCapacity. This is a learned parameter, which is the equivalent of all charge counted from fully charged to fully discharged, including self-discharge and error terms. This is reset after a learning cycle and used for remaining capacity and relative State-Of-Charge calculations. RLCycles 1 integer 2 The number of initial cycles without a relearn limit. Normally, full charge capacity will change by a maximum of 256 mAh when relearned. Since FullCapacity can vary greatly with the first learning cycle, the initial capacity may not be correct; thus, this should be set to at least 2. TEOD 7 (°Celsius * 10 + 200)/4 CEOD 7 1/64 C 19, 32, 48, EOD C-rate boundaries – 8 increasing values of C-rates coded 64, 77, 90, as: CEODx = C-rate * 64. 109 FCCP 8 255 = 100% 50, 25, 12, Unusable residual capacity before save to disk, corresponding 8, 0, 0, to temperature, 255 = 100%. 0, 0 Typical Value Operational Description b00100000 Bit coded as follows: Bit Function 7 Unused 6 Unused 5 Int/Ext temperature 4 Disable Sleep in main Idle mode. 3 Unused 2 Disable safety GPIO 1 Unused 0 Unused 5, 20, 35, EOD temperature boundaries – 8 increasing values of 50, 80, temperature coded as: TEODx = (°Celsius * 10 + 200)/4. 113, 150 VEODOffset 2 mV 2700 VEOD 64 voltage – VEODOffset/4 75 End-Of-Discharge voltage, voltage = VEODOffset + 4 * VEOD. Cell voltage at which save to disk is signaled. AgeFactor 1 0.125 mV 1 Scale factor for EOD voltages due to aging (in units of .125 mV), VEODaged = VEOD – (CycleCount * .125 * AgeFactor). VEODCoin 2 mV 2500 © 2006 Microchip Technology Inc. Baseline for VEOD formula. Voltage at which coin cell is determined to be empty. DS21904C-page 17 PS810 NOTES: DS21904C-page 18 © 2006 Microchip Technology Inc. PS810 5.0 CHARGE CONTROL For pulse charging, replace condition 2 with Average Current < EOCCurAvg and remove condition 3. 5.1 Full Charge Detection Methods When a valid, fully charged EOC condition is detected, the following actions occur: For a typical lithium ion constant-current/constantvoltage charge system, the PS810 will monitor the taper current that enters the battery. Once the battery has reached the final voltage level of the charger, when VC1 is greater than EOCVolt, taper monitoring will begin. Once the taper current falls between TaperCRate and TaperLow, indicating that the battery is full, the End-OfCharge (EOC) will be triggered. For pulse charging, the average current will be monitored. When average current falls below EOCCurAvg, the EOC will be triggered. So that a sudden drop or removal of charge current doesn’t trigger a false EOC when using taper current, the current and the average current must be within StableCurr of each other. • The FULLY_CHARGED status bit in BatteryStatus is set to ‘1’ to indicate a full condition. (This will remain set until RelativeStateOfCharge drops below the ClrFullyChrg value in memory.) • Remaining capacity is set to FCC and thus, RelativeStateOfCharge is set to 100%. 5.2 Temperature Algorithms The PS810 provides a temperature alarm set point. HighTempAl: When the measured temperature is greater than HighTempAl, the OVER_TEMP_ALARM bit is set. Thus, the conditions to trigger EOC are: 1. Cell Voltage > EOCVolt and 2. TaperCRate > Current > TaperLow and 3. Average Current – Current < StableCurr TABLE 5-1: Parameter Name CHARGE CONTROL PARAMETERS # Bytes Units Typical Value Operational Description HighTempAl 1 (°Celsius * 10 + 200)/4 200 OVER_TEMP_ALARM threshold bit in AlarmWarning register, coded value = (°Celsius * 10 + 200)/4. When the temperature exceeds HighTempAl, the OVER_TEMP_ALARM becomes active. EOCCurAvg 2 mA 200 EOC trigger for pulse charging. If the average current during pulse charging has dropped below the EOCCurAvg threshold for a pass count equal to the parameter value, EOCRecheck, the End-Of-Charge state will be reached. EOCRecheck 1 integer 6 Number of checks before EOC trigger. The End-Of-Charge conditions must remain for at least this number of periods, before being considered true, to help filter out false full conditions due to spikes. EOCVolt 2 mV 4150 StableCurr 1 mA 50 TaperCRate 1 1/64 C 3 Upper limit EOC taper current based on temperature, 64 = 1C. TaperLow 1 1/64 C 1 Lower limit EOC taper current, 64 = 1C. ConfigEOCD 1 bitmap © 2006 Microchip Technology Inc. EOC trigger cell voltage. When a cell reaches this voltage, the End-Of-Charge determination will start monitoring the current to determine when the battery is full. When the current is in the proper range and the cell voltage is greater than EOCVolt, then FULLY_CHARGED bit in BatteryStatus will be set. EOC trigger current deviation level. In order to prevent current spikes from causing a premature taper current trigger, the average current and the instantaneous current must be within StableCurr of each other. 10011111 Bit coded as follows: Function Bit 7 Limit remcap to FCC 6 Unused 5 Trigger EOC on average current 4 Trigger EOC on taper current 3 Disallow multiple EODs 2 Limit capacity to EODCap until EOD 1 Set capacity to residual capacity at VEOD 0 Learn FCC at VEOD DS21904C-page 19 PS810 NOTES: DS21904C-page 20 © 2006 Microchip Technology Inc. PS810 6.0 GPIO CONFIGURATION 6.1 Configuring Inputs and Outputs GPIOs can be set up to act as inputs or outputs that are based on conditions involving battery data parameters, or GPIO levels, compared to constants. This powerful programming model allows for customizing GPIO to set on any possible fuel gauge conditions and reset on any other possible fuel gauge conditions in any groupings. Four parameters define the global behavior of each pin as follows: • GPIOSTATE: defines the state, high or low, the GPIO is in during initialization of the fuel gauge. TABLE 6-1: • GPIODIRECTION: Defines whether the GPIO is an input or an output. • GPIOCONFIG: enables analog functions NTC and VCOIN vs. GPIO (high byte), enables pull-up or pull-down on inputs (low byte). • GPIOPOLARITY: defines active and inactive polarities. All GPIOs will drive high to VBAT, except for IO0 and IO3, which will drive high to VBAT – 1 volt. All GPIOs have pull-ups and pulldowns when configured as inputs, except IO0 and IO3, which only have pull-downs. IO0 is only available in SPS mode and IO3 is only available when not using VCOIN. Similarly, IO2 is only available when not using NTC. GPIO PARAMETERS Name Definition Bit Description GPIOSTATE Reset State of GPIO Bit number corresponds to GPIO number bit setting: bit (x) = 1: GPIO defaults to high bit (x) = 0: GPIO defaults to low GPIODIRECTION GPIO Input or Output Bit number corresponds to GPIO number bit setting: bit (x) = 1: GPIO is an input bit (x) = 0: GPIO is an output GPIOCONFIG High Byte Analog or GPIO bit (5) = 1: Pin 1 is NTC thermistor input bit (5) = 0: Pin 1 is GPIO bit (4) = 1: Pin 2 is VCOIN coin cell input bit (4) = 0: Pin 2 is GPIO bit (0) = 1: Disable pull-up and pull-down resistors on inputs bit (0) = 0: Enable pull-up and pull-down resistors on inputs GPIOCONFIG Low Byte Pull-up or Pull-down on Inputs If GPIO is configured as input, then: bit (7-2): 1 = Pull-down 0 = Pull-up bit (1-0): 1 = 1.8V communication 0 = TTL communication GPIOPOLARITY TABLE 6-2: Default and Active Polarity Bit number corresponds to GPIO number bit setting: bit (x) = 1: GPIO is default high, active-low bit (x) = 0: GPIO is default low, active-high PARAMETER NUMBER/GPIO NUMBER CORRESPONDENCE Parameter Bit # GPIO # 0 0/SCL 1 SDA/SPS 2 6 3 5 4 4 5 3 6 2 7 1 © 2006 Microchip Technology Inc. DS21904C-page 21 PS810 6.2 Configuring Output Functions Powerful and flexible programming protocols allow GPIO configured as outputs to be defined with complex functions based on battery data. Virtually all information about the battery can be used in a multiple level trigger function or Reset function. This programming is accomplished using Microchip programming development tool, PowerTool™ 800. GPIO output functions can be based on the following information functions: • All battery data functions, such as voltage, current, battery status, etc. • The high or low level of any other GPIO • The miscellaneous flags byte which contains the following information: - bit 0: Charge started - bit 1: Discharge started - bit 2: Charge increasing - bit 3: POR detected - bit 4: Unused - bit 5: Wake from Sleep - bit 6: In Low-Voltage Sleep mode - bit 7: In Shelf-Sleep mode - bit 8: In Bus Sleep mode An example of a condition is : Voltage < 3200 This condition is true if the battery data of voltage is less than 3200 mV. Condition groups can be created by ANDing and ORing individual conditions together. An example condition group is: (Voltage < 3200) AND (Current > 100) OR (Temperature > 60) AND (Current > 200) Because of precedence the equation would be interpreted: ((Voltage < 3200) AND (Current > 100)) OR ((Temperature > 60) AND (Current > 200)) This entire condition group can be programmed to activate a single GPIO. A Reset condition can then be assigned to reset the GPIO if it had triggered as a result of its trigger condition group. Example Reset condition group: (Voltage > 3200) OR (Current = 0) Furthermore, multiple trigger condition groups, each with their own individual Reset condition groups, can be assigned to a single GPIO. This is all accomplished by programming with PowerTool™ 800. Once an argument is selected from above, an operator is selected to compare it to a constant. The operators are >, <, =, AND and NOR. The latter two are used to compare individual bits in a bit map. For example, AND a bit map against the operand 00000000 00000010 will be true if bit one is a ‘1’. NOR a bit map against the operand 11111111 11111101 will be true if bit one is a ‘0’. DS21904C-page 22 © 2006 Microchip Technology Inc. PS810 7.0 KEELOQ® SECURITY The PS810 will employ KEELOQ security coding which can ensure only proprietary batteries can be used with the host device. Since the batteries are tailored to the system requirements, an incompatible battery may cause poor performance or even non-performance. A verification challenge will be issued to the battery from the host. The battery will encrypt the challenge data and return it to the host. The host will encrypt the challenge data also and verify that the battery’s encrypted response matches. For technical KEELOQ specifications, see Microchip application note AN827, “Using KEELOQ® to Validate Subsystem Compatibility” (DS00827). The host issues a “challenge” (i.e., a 32-bit random number) by writing it to the KEELOQ bus function on the PS810. The PS810 firmware contains the KEELOQ encryption algorithm and a 64-bit key. The PS810 runs the 32-bit challenge data along with its 64-bit key through the KEELOQ decrypt algorithm to create a 32-bit response. The host then reads the response from the PS810 using the KEELOQ bus function. The host verifies the response by also running the challenge through the decrypt algorithm using the same key. If the results are the same, authentication is successful. © 2006 Microchip Technology Inc. When a challenge is written to the battery, it takes time to generate the encrypted response. Battery status bit 1 is set to one (‘1’) when a challenge is written and reset to zero (‘0’) when the response is ready and may be read from the PS810. The security of authentication relies not on the secrecy of the algorithm, but on secrecy and management of the key. The key, the function that stores the key and the KEELOQ decrypt algorithm that uses it are located in memory that is protected from reads and writes. This prevents the key from being read except by code in the boot block and prevents the boot block from being altered without being first erased. The key is stored in an encoded form and during normal execution, never appears in its entirety in RAM. A battery pack’s key is stored at time of manufacture. Each pack can have a unique key, further improving security, which is a function of a master key and the pack’s serial number. A host would use the master key, the pack serial number and a key generation algorithm to determine an individual pack’s key. DS21904C-page 23 PS810 NOTES: DS21904C-page 24 © 2006 Microchip Technology Inc. PS810 8.0 COMMUNICATION 8.1 SMBus/I2C Battery Data Interface requirements, including bus time-outs and PEC (CRC-8) error checking. The SMBus port serves as a slave for both read and write functions. SMBus slave protocols supported include Read Word, Write Word, Read Block and Write Block, all with or without PEC (CRC-8) error correction. The PS810 uses a two-pin communication protocol compatible with the System Management Bus (SMBus) and the Inter IC Communication (I2C™) protocols to communicate to the host. One pin is the clock and one is the data. The SMBus/I2C port responds to all battery data commands listed in Table 8-1. To receive information about the battery, the host sends the appropriate commands to the SMBus/I2C port. The battery data command set is summarized in Table 8-1. The SMBus protocol used for PS810 is for the host to master the SMBus. PS810 operates only in Slave mode. The master will send the PS810 device’s SMBus write address (0x16 for write) followed by the command code. The host will then send the PS810 device’s read address (0x17 for read) and await data. As a response to the read request, the PS810 will send all the data bytes required. The PS810 SMBus/I2C communications port is fully compliant with the System Management Bus specification, version 1.1 and supports all previous and new FIGURE 8-1: SMBus TIMING tR tF tLOW tSU:STA tHIGH SCL tHD:STA tHD:STA tSU:DAT tSU:STO tSU:STA SDA tBUF P S S P tLOW:SEXT SCLACK tLOW:MEXT SCLACK tLOW:MEXT tLOW:MEXT SCL SDA Note: SCLACK is the Acknowledge related clock pulse generated by the master. © 2006 Microchip Technology Inc. DS21904C-page 25 PS810 8.2 SPS Single Pin Serial Battery Data Interface The PS810 can also communicate using one pin, the SDA pin with the Single Pin Serial protocol (SPS). The single pin serial interface communication is an asynchronous return-to-one protocol. The signal requires an external pull-up resistor. The timing of the driven low pulses defines the communication. A Break cycle starts a command from the host to the battery. The command is eight bits long. After this, eight data bits are either sent to the battery or received from the battery. The Least Significant bits are sent first. The Break cycle is defined by a low period for a time equal to or greater than tB, then returned high for a time greater than or equal to tBR. The SPS protocol only allows one byte to be read per command code. Thus, commands that receive twobyte pieces of data must be executed one byte at a time. To get a two-byte data, the command code for the high byte must be sent, the high data byte received and then, the command code for the low data byte must be sent to receive the low data byte. Furthermore, it is possible that the piece of data has changed in between the time it took to get the high byte and the low byte if the host system is communicating slowly. Therefore, it is recommended to always verify the data hasn’t changed. This is done by reading the high byte, then reading the low byte, then rereading the high byte and comparing it to the first read to make sure it is the same. If it is not the same, then the low byte can be reread and matched with the new high byte. The data bits consist of three sections each: 1. 2. 3. Start: a logic low for at least time tSTR. Data: data high or low valid by time tDS and held until time tDH/V. Stop: logic high by time tSSU and held until time TCYC. DS21904C-page 26 © 2006 Microchip Technology Inc. PS810 FIGURE 8-2: SINGLE PIN SERIAL TIMING B re a k T im in g B re a k b it B re a k R e s e t tB tB R H o s t to P S 8 1 0 D a ta b it S ta rt b it S to p b it t s trh td s u h td h ts s u h t c yc h P S 8 1 0 to H o s t D a ta b it S ta rt b it S to p b it t s trb td s u b tdv ts s u b t c yc b C M D a n d D a ta P ro to c o l C M D A d d re s s B re a k LS B MSB LS B D a ta to o r fro m PS810 C o m m u n ic a tio n E x a m p le CM D Addr = 04 hex B re a k 0 1 1 © 2006 Microchip Technology Inc. 0 D a ta = 2 5 h e x 0 0 0 0 1 0 1 0 0 1 0 0 DS21904C-page 27 PS810 8.3 Battery Data Function Description The following subsections document the detailed operation of all of the individual battery data commands. TABLE 8-1: PS810 SMBus DATA FUNCTIONS SMBus Command Code Access Temperature 0x00 Read 0.1° Celsius Voltage 0x01 Read mV Current 0x02 Read mA AverageCurrent 0x03 Read mA RelativeStateOfCharge 0x04 Read % AbsoluteStateOfCharge 0x05 Read % RemainingCapacity 0x06 Read mAh FullChargeCapacity 0x07 Read mAh AverageTimeToEmpty 0x08 Read MInutes BatteryStatus 0x09 Read BatStatus Bit Code CycleCount 0x0A Read Cycles Integer DesignCapacity 0x0B Read DesignCapacity mAh CoinVoltage 0x0C Read ManufactureDate 0x0D Read MFGDate Coded SerialNumber 0x0E Read SerialNumber Hex Word Battery Data Function Name Parameter Reference Units mV ManufacturerID 0x0F Read MFGID Hex Word DeviceID 0x10 Read DevID Hex Word KEELOQ 0x17 Read/Write Block Data UserData 0x16 Read Block Data DS21904C-page 28 © 2006 Microchip Technology Inc. PS810 TABLE 8-2: PS810 SINGLE PIN SERIAL DATA FUNCTIONS SPS Command Code Access Temperature (low byte) 0x00 Read Temperature (high byte) 0x01 Read Voltage (low byte) 0x02 Read Voltage (high byte) 0x03 Read Current (low byte) 0x04 Read Current (high byte) 0x05 Read Battery Data Function Name AverageCurrent (low byte) 0x06 Read AverageCurrent (high byte) 0x07 Read RelativeStateOfCharge 0x08 Read reserved 0x09 — AbsoluteStateOfCharge 0x0A Read reserved 0x0B — RemainingCapacity (low byte) 0x0C Read RemainingCapacity (high byte) 0x0D Read FullChargeCapacity (low byte) 0x0E Read FullChargeCapacity (high byte) 0x0F Read AverageTimeToEmpty (low byte) 0x10 Read AverageTimeToEmpty (high byte) 0x11 Read BatteryStatus 0x12 Read Parameter Reference 0.1° Celsius mV mA mA % % mAh mAh MInutes BatStatus reserved 0x13 — CycleCount (low byte) 0x14 Read Cycles CycleCount (high byte) 0x15 Read Cycles DesignCapacity (low byte) 0x16 Read DesignCapacity DesignCapacity (high byte) 0x17 Read DesignCapacity CoinVoltage (low byte) 0x18 Read DesignVPack CoinVoltage (high byte) 0x19 Read DesignVPack ManufactureDate (low byte) 0x1A Read MFGDate ManufactureDate (high byte) 0x1B Read MFGDate SerialNumber (low byte) 0x1C Read SerialNumber SerialNumber (high byte) 0x1D Read SerialNumber ManufacturerID (low byte) 0x1E Read MFGID ManufacturerID (high byte) 0x1F Read MFGID DeviceID (low byte) 0x20 Read DevID DeviceID (high byte) 0x21 Read DevID KEELOQ (low byte) 0x28 Read/Write MFGData KEELOQ (second byte) 0x29 Read/Write MFGData KEELOQ (third byte) 0x2A Read/Write MFGData KEELOQ (high byte) 0x2B Read/Write MFGData © 2006 Microchip Technology Inc. Units Bit Code Integer mAh mV Coded Hex Word Hex Word Hex Word Hex Double Word DS21904C-page 29 PS810 8.3.1 Temperature (0.1° CELSIUS) Returns the cell pack’s internal temperature. 8.3.11 CycleCount (INTEGER) Returns the pack voltage. CycleCount is updated to keep track of the total usage of the battery. CycleCount is increased whenever an amount of charge has been removed from the battery equivalent to the full capacity. 8.3.3 8.3.12 8.3.2 Voltage (mV) Current (mA) DesignCapacity (mAh) Returns the current being supplied (or accepted) through the battery’s terminals. Returns the theoretical capacity of a new pack. 8.3.4 Returns the voltage of the coin cell. AverageCurrent (mA) Returns a rolling average of the current being supplied (or accepted) through the battery’s terminals. The time period over which current is averaged is adjustable. 8.3.5 RelativeStateOfCharge (%) Returns the predicted remaining battery capacity expressed as a percentage of FullChargeCapacity. 8.3.6 AbsoluteStateOfCharge (%) Returns the predicted remaining battery capacity expressed as a percentage of DesignCapacity. Note that AbsoluteStateOfCharge can return values greater than 100%. 8.3.7 RemainingCapacity (mAh) Returns the predicted remaining battery capacity. The RemainingCapacity value is expressed as: Current x Time. 8.3.8 AverageTimeToEmpty (MINUTES) Returns a rolling average of the predicted remaining battery life. The time period over which it is averaged is the same as AverageCurrent. 8.3.10 8.3.14 CoinCellVoltage (mV) ManufactureDate (CODE) This function returns the date the pack was manufactured in a coded integer. The date is packed in the following fashion: (year-1980) * 512 + month * 32 + day. 8.3.15 SerialNumber (HEX WORD) This function is used to return a serial number. This number, when combined with the ManufacturerID, the DeviceID and the ManufactureDate, will uniquely identify the battery. 8.3.16 ManufacturerID (HEX WORD) This function returns a hex word containing the battery manufacturer’s ID. 8.3.17 DeviceID (HEX WORD) This function returns a hex word that contains the battery’s ID. FullChargeCapacity (mAh) Returns the predicted pack capacity when it is fully charged. 8.3.9 8.3.13 BatteryStatus (FLAGS) Returns the Smart Battery’s status word. The BatteryStatus function is used by the power management system to get alarm and status bits. Battery Status Bits: bit 7: INITIALIZED bit 6: DISCHARGING bit 5: FULLY_CHARGED bit 4: FULLY_DISCHARGED bit 3: OVER_TEMP_ALARM bit 2: Unused bit 1: KEELOQ response processing bit 0: COIN_CELL_EMPTY DS21904C-page 30 8.3.18 KEELOQ (BLOCK DATA) This function is used for identification of the battery to the system. The host system writes a 4-byte challenge of random data to the battery. The PS810 runs the challenge data through the KEELOQ algorithm using a safe key entered at time of manufacture. (An option is to have this key based on a manufacturer’s key and the serial number.) The host then reads the 4-byte response and compares it with an internally generated response using the same key. The responses must match for validation. 8.3.19 UserData (BLOCK DATA) Reads 1 to 32 bytes from the UserData block in Flash. The number of bytes read is determined by parameter UserDataLen. This is a general purpose storage of any information a user may want to read. Note: This command is only available in SMBus mode, not SPS mode. © 2006 Microchip Technology Inc. PS810 9.0 PARAMETER SETUP This section documents all of the programmable parameters that are resident in the memory. TABLE 9-1: Parameter Name ALPHABETICAL LISTING OF PARAMETERS # Bytes Units Typical Value AgeFactor 1 0.125 mV 0 AOMInterval 1 op cycles 60 AVGIScale 1 coded b00100000 Operational Description Scale factor for EOD voltages due to aging. In units of .125 mV, VEODaged = VEOD – (CycleCount * AgeFactor). Interval between auto-offset calibrations. Time period over which current is averaged to calculate average current, IAVG = IAVG + (I – IAVG)/AVGIScale. Note: Only Most Significant set bit is used, others are ignored. 1xxxxxxx: IAVG = IAVG + (I – IAVG)/256 01xxxxxx: IAVG = IAVG + (I – IAVG)/128 001xxxxx: IAVG = IAVG + (I – IAVG)/64 0001xxxx: IAVG = IAVG + (I – IAVG)/32 00001xxx: IAVG = IAVG + (I – IAVG)/16 000001xx: IAVG = IAVG + (I – IAVG)/8 0000001x: IAVG = IAVG + (I – IAVG)/4 00000001: IAVG = IAVG + (I – IAVG)/2 BGCal 1 integer 14 CalStatus 1 bitmap b11111111 CFCoin 2 integer 2250 Correction Factor for Coin Cell Voltage. CFCurr 2 integer 4200 Correction Factor for Current. Adjusts the scaling of the sense resistor current measurements. CFTempE 2 integer 326 Correction Factor for Temperature. Adjusts the scaling of temperature measured across an external thermistor at the NTC input pin. CFTempI 2 integer 2038 Correction Factor for Temperature. Adjusts the scaling of temperature measured from the internal temperature sensor. CFVoltage 2 integer 2250 Correction Factor for Pack Voltage. Adjusts the scaling of the pack voltage measurements. Used to calibrate the measurement of pack voltage between VC1 input pin and ground. ClrFullyChrg 1 % 90 Reset FULLY_CHARGED bit at this level, 100 = 100%. When discharging begins, the FULLY_CHARGED bit should remain set until the cell voltages are below EOCVolt, so that a small current will not trigger a false End-Of-Charge trigger. ClrFullyDischrg 1 % 10 Reset FULLY_DISCHARGED bit, 100 = 100%. Once fully discharged bit is set, it will stay set until capacity rises above this value, typically 10%. COCurr 1 signed byte 0 Correction Offset for Current. This is the value the A/D reads when zero current is flowing through the sense resistor. © 2006 Microchip Technology Inc. Band gap voltage calibration factor. Bit coded as follows: Function Bit 7 RCOSC 6 TEMP 5 CURRENT 4 VC1 3 VCOIN 0 = Not calibrated 1 = Calibrated DS21904C-page 31 PS810 TABLE 9-1: Parameter Name ALPHABETICAL LISTING OF PARAMETERS (CONTINUED) # Bytes Units Typical Value COD 1 signed byte 0 Config1 1 bitmap b00010000 ConfigCAP 1 bitmap 11100100 DS21904C-page 32 Operational Description Correction Offset Deviation. Offset value for the module effect on the current readings. bit 7: Internal use only. bit 6: 1 = FG overrides bootloader high priority interrupt service bit 5: 1 = Bootloader write commands disabled until locked bit 4: 1 = Disable bootloader write commands bit 3: 1 = Start in SMBus mode 0 = SPS mode bit 2: 1 = 32 ms SMBus time-out 0 = 16 ms SMBus time-out bit 1: 1 = Flash reading is locked 0 = Flash reading is unlocked bit 0: Unused. bit 7: Compensate remaining capacity – the displayed remaining capacity actually equals FCC minus capacity used minus residual capacity. bit 6: Remaining capacity decrease only – when compensating, if temperature change causes a decrease in residual capacity, do not let remaining capacity rise to reflect this. Instead, hold it steady until discharge catches up. bit 5: Only compensate remaining capacity on discharge. bit 4: Enable compensation during null current. bit 3: Unused bit 2: Set capacity to positive immediately upon charging. If discharged below zero, this allows capacity to count up immediately upon charging. bit 1: Learn unconditionally – relearn FCC under any conditions. Typically used for testing only. bit 0: Disable self-discharge. © 2006 Microchip Technology Inc. PS810 TABLE 9-1: Parameter Name ALPHABETICAL LISTING OF PARAMETERS (CONTINUED) # Bytes Units Typical Value ConfigEOCD 1 bitmap 10011111 COTempE 2 signed word 21198 Correction offset for external temperature. COTempI 2 signed word 21198 Correction offset for internal temperature. Cycles 2 integer 0 DesignCapacity 2 mAh 2200 Operational Description Bit coded as follows: Bit Function 7 Limit remaining capacity to FCC 6 Unused 5 Trigger EOC on average current 4 Trigger EOC on taper current 3 Disallow multiple EODs 2 Limit capacity to EODCap until EOD 1 Set capacity to residual capacity at VEOD 0 Learn FCC at VEOD Battery data register for CycleCount. Cycles is updated to keep track of the total usage of the battery. Cycles is increased whenever an amount of charge has been removed from the battery, equivalent to the full capacity. Battery data value for DesignCapacity. This is the first capacity loaded into the FullChargeCapacity upon initial power-up. Battery data value for DeviceID (2-byte hex word). DevID 2 hex word AAAA EOCCurAvg 2 mA 200 EOC trigger for pulse charging. If the average current during charging has dropped below the threshold for a pass count equal to EOCRecheck, the End-Of-Charge state will be reached. EOCRecheck 1 op cycles 6 Number of checks before EOC trigger. The End-Of-Charge conditions must remain for at least this number of periods before being considered true. EOCVolt 2 mV 4150 EOC trigger cell voltage. When the cell reaches this voltage, the PS810 will start monitoring the current to determine when the battery is full. When the current is in the proper range and the cell voltage is greater than EOCVolt, then the FULLY_CHARGED bit in BatteryStatus will be set. EODCap 2 mAh 100 EODRecheck 1 op cycles 8 FDBVersion 1 integer — FLAGS1 1 bitmap 00100000 FullCapacity 2 mAh 2200 © 2006 Microchip Technology Inc. Reserve remaining capacity at EOD. Recheck period for EOD. Voltage must be below VEOD for this many measurement periods. Flash data block version. Bit coded as follows: Function Bit 7 Unused 6 Unused 5 Int/Ext temperature 4 Disable Sleep in main Idle mode 3 Unused 2 Disable safety GPIO 1 Unused 0 Unused Learned value of battery capacity. Used for battery data value of FullChargeCapacity. This is a learned parameter which is the equivalent of all charge counted from fully charged to fully discharged, including self-discharge and error terms. This is reset after a learning cycle and used for remaining capacity and relative State-Of-Charge calculations. DS21904C-page 33 PS810 TABLE 9-1: ALPHABETICAL LISTING OF PARAMETERS (CONTINUED) Parameter Name # Bytes Units Typical Value HighTempAl 1 coded byte 200 MFGDate 2 coded hex word 0x3246 Operational Description OVER_TEMP_ALARM bit threshold, Coded Value = (°Celsius * 10 + 200)/4. Battery data value for ManufactureDate. The date of manufacture of the battery pack can be programmed here and retrieved with the battery data ManufactureDate command, Coding: Date = (Year-1980) x 512 + Month x 32 + Day. MFGID 2 hex word – Value for ManufacturerID (2-byte hex word). NChangeState 1 op cycles 2 State change delay filter. Delays the change between “charge increasing” state and “charge decreasing” state based on current direction. To avoid problems with current spikes in opposite directions, a delay filter is built in to control when to change from charging status to discharging status. The current must change directions and stay in the new direction for NChangeState periods before the status is changed and capacity is increased or decreased as a result of the new current direction. NullCurr 1 mA 3 A zero zone control is built into the PS810 so that any electrical noise doesn’t actually drain the gas gauge, when in fact, the current is zero. For this reason, current less than NullCurr mA in either direction will be measured as zero. OscCal 1 integer 206 PowerModes 1 bitmap b00000101 PW1 2 integer – First password for the battery pack lock. PW2 2 integer – Second password for the battery pack lock. PwrConsumption 1 1/256 mA 31 Current consumption of the battery module. This is the average current that the battery module typically draws from the battery (255 = 1 mA). PwrConsumSleep 1 1/256 mA 7 Current consumption of battery module when in Sleep mode. RefCal 1 integer 0 Reference voltage calibration factor. DS21904C-page 34 RC oscillator trimming. bit 4: 1 = Enable Bus Inactive Low-Power mode 0 = Disable Bus Inactive Low-Power mode bit 3: 1 = Use Ultra Low-Power mode as Bus Inactive Low-Power mode (no self-discharge calculations) 0 = Use Low-Power mode with self-discharge calculations as Bus Inactive Low-Power mode bit 2: 1 = Require NullCurr for Bus Inactive Low-Power mode and Low-Voltage Sleep mode 0 = No NullCurr requirement for Sleep modes bit 1: 1 = Use Ultra Low-Power mode as Low-Voltage Sleep mode 0 = Use Low-Power mode as Low-Voltage Sleep mode bit 0: 1 = Set remcap to zero when entering Low-Voltage Sleep mode 0 = Do not change remcap when entering Low-Voltage Sleep mode © 2006 Microchip Technology Inc. PS810 TABLE 9-1: Parameter Name ALPHABETICAL LISTING OF PARAMETERS (CONTINUED) # Bytes Units Typical Value RemCap 2 mAh 440 The initial capacity of the battery. When the PS810 is first powered up and initialized, before a learning cycle takes place to learn the full capacity, the full capacity will take the value programmed into RemCap to compute relative State-Of-Charge percentage. RemCapDelta 1 1/4 mAh 2 Maximum change in remaining capacity per measurement period. RLCycles 1 integer 2 The number of initial cycles without a relearn limit. The initial number of cycles where the relearn limit is not active. Normally, full charge capacity will change by a maximum of 256 mAh when relearned. Since FullCapacity can vary greatly with the first learning cycle, the initial capacity may not be correct; thus, this should be set to at least 2. SerialNumber 2 integer – Battery data value for SerialNumber. The serial number of the battery pack can be programmed here and retrieved with the battery data SerialNumber command. SleepVoltage 2 mV 2700 The pack voltage at which the PS810 will enter Low-Voltage Sleep mode. StableCurr 1 mA 50 EOC trigger current deviation level. In order to prevent current spikes from causing a premature taper current trigger, the average current and the instantaneous current must be within StableCurr of each other for the End-Of-Charge to trigger on the taper current. TaperCRate 1 1/64 C 3 Upper limit EOC taper current, 64 = 1C. TaperLow 1 1/64 C 1 Lower limit EOC taper current, 64 = 1C. Number of bytes read by UserData SMBus command. Operational Description UserDataLen 1 bytes 2 VEODCoin 2 mV 2500 Empty voltage of coin cell. VEODOffset 2 mV 2700 Base voltage for VEOD look-up table. © 2006 Microchip Technology Inc. DS21904C-page 35 PS810 NOTES: DS21904C-page 36 © 2006 Microchip Technology Inc. PS810 10.0 ELECTRICAL CHARACTERISTICS TABLE 10-1: ABSOLUTE MAXIMUM RATINGS Symbol Description Min. Max. Units 7.0 V VPIN Voltage Directly at any pin -0.5 TBIAS Temperature under Bias -20 85 °C TSTORAGE Storage Temperature (package dependent) -35 120 °C Note: These are stress ratings only. Stress greater than the listed ratings may cause permanent damage to the device. Exposure to absolute maximum ratings for an extended period may affect device reliability. Functional operation is implied only at the listed operating conditions below. TABLE 10-2: DC CHARACTERISTICS (TA = -20°C TO +85°C; VDD (INTERNAL) = +2.8V ±7%) Symbol Description Min. Typ. Max. Units — 5.5 V Condition VC1 Supply Voltage 2.5 (Note 3) VDD Internal Regulated Supply Voltage — 2.8 — V IDD Supply Current – Run mode — 100 125 μA A/D active (Note 1) IDDSLP Supply Current – Sleep mode — 22 25 μA Sleep mode (Note 1) IDDSSLP Supply Current – Shelf-Sleep mode — 600 1000 nA Shelf-Sleep mode (Note 1) VIL Input Low Voltage – GPIO — — 0.2 * VDD V VIH Input High Voltage – GPIO 0.8 * VDD — — V IIL-IO0PU GPIO Input Low Current – Pull-up mode 7 — 90 μA IL-IO Leakage Current – IO pins Programmed as Outputs or Inputs without Pull-up — 1 2 μA VOL-IO Output Low Voltage for GPIO — — 0.4 V IOL = 0.5 mA VOH-IO Output High Voltage for GPIO Configured as Push-Pull 2.0 — — V IOH = 100 μA VSR Sense Resistor Input Voltage Range -152 — 152 mV INTC Thermistor Output Current — 5.2 — μA VIL-SMB Input Low Voltage for SMBus pins -0.5 — 0.8 V VIH-SMB Input High Voltage for SMBus pins 2.0 — 5.5 V VOL-SMB Output Low Voltage for SMBus pins — — 0.4 V VOH-SMB Output High Voltage for SMBus pins 2.1 — 5.5 V VIL-SMB (1.8V) Input Low Voltage for SMBus pins at 1.8V -0.5 — 0.32 V VIH-SMB (1.8V) Input High Voltage for SMBus pins at 1.8V 1.48 — 2.12 V VOL-SMB (1.8V) Output Low Voltage for SMBus pins at 1.8V — — 0.32 V VOH-SMB (1.8V) Output High Voltage for SMBus pins at 1.8V 1.48 — 2.12 V IPULLUP-SMB Current through Pull-up Resistor or Current Source for SMBus pins 100 — 350 μA ILEAK-SMB Input Leakage Current – SMBus pins — — ±8 μA Note 1: 2: 3: Varies with battery voltage IPULLUP = 350 μA Does not include current consumption due to external loading on pins. Sample mode current is specified during an A/D inactive cycle. Sample mode average current can be calculated using the formula: Average Sample Mode Supply Current = (IDDRUN + (n – 1) * IDDINS)/n; where “n” is the programmed sample rate. A/D accuracy is maintained between 2.7 volts and 4.5 volts. © 2006 Microchip Technology Inc. DS21904C-page 37 PS810 TABLE 10-3: AC CHARACTERISTICS (TA = -20°C TO +85°C; VDD (INTERNAL) = +2.8V ±7%) Symbol Description Min. Typ. Max. Units 509.952 512 514.048 kHz fRC Internal RC Oscillator Frequency fA/D Internal A/D Operating Clock — fRC/16 — kHz tPOR Power-on Reset Delay — 2 10 ms tSHELF Delay to Entry of Shelf-Sleep mode 1 — — ms tWAKE Delay to Exit of Shelf-Sleep mode 1 — — ms Condition Delay from time when VC1 voltage exceeds 2.7V SDA and SCL go high AC CHARACTERISTICS – SMBus/I2C™ (TA = -20°C TO +85°C; VDD (INTERNAL) = +2.8V ±7%) TABLE 10-4: Symbol Description Min. Typ. Max. Units fSMB SMBus Clock Operating Frequency 10 — 100 kHz tBUF Bus Free Time between Start and Stop 4.7 — — μs tSHLD Bus Hold Time after Repeated Start 4.0 — — μs tSU:STA Setup Time before Repeated Start 4.7 — — μs tSU:STOP Stop Setup Time 4.0 — — μs tHLD Data Hold Time 0 — — ns tSETUP Data Setup Time 250 — — ns Condition Slave mode tLOW Clock Low Period 4.7 — — μs tHIGH Clock High Period 4.0 — 50 μs (Note 2) tLOW:SEXT Message Buffering Time — — 10 ms (Notes 1, 3) tHIGH:MEXT Message Buffering Time — — 10 ms (Notes 1, 4) tF Clock/Data Fall Time — — 300 ns (Note 5) tR Clock/Data Rise Time — — 1000 ns (Note 5) Note 1: 2: 3: 4: 5: The PS810 will time-out when the cumulative message time defined from Start-to-Ack, Ack-to-Ack or Ack-to-Stop exceeds the value of TTIMEOUT, min. of 25 ms. The PS810 will reset the communication no later than TTIMEOUT, max. of 35 ms. tHIGH max. provides a simple, ensured method for devices to detect bus Idle conditions. tLOW:SEXT is the cumulative time a slave device is allowed to extend the clock cycles in one message from the initial start to the stop. tHIGH:MEXT is the cumulative time a master device is allowed to extend its clock cycles within each byte of a message as defined from Start-to-Ack, Ack-to-Ack or Ack-to-Stop. Rise and fall time is defined as follows: tR = (VILMAX – 0.15) to (VIHMIN + 0.15) tF = 0.9 VDD to (VILMAX – 0.15) DS21904C-page 38 © 2006 Microchip Technology Inc. PS810 TABLE 10-5: AC CHARACTERISTICS: SPS INTERFACE (TA = -20°C TO +85°C; VDD (INTERNAL) = +2.8V ±7%) Symbol Description Min. Typ. Max. Units tCYCH Cycle Time, Host to Battery 190 — — μs tCYCB Cycle Time, Battery to Host 190 205 250 μs tSTRH Start Time, Host to Battery 5 — — ns tSTRB Start Time, Battery to Host 32 — — μs tDSUH Data Setup Time, Host to Battery — — 50 μs tDSUB Data Setup Time, Battery to Host — — 50 μs tDH Data Hold Time, Host to Battery 90 — — μs tDV Data Valid Time, Battery to Host — — 80 μs tSSUH Stop Setup, Host to Battery — — 145 μs tSSUB Stop Setup Time, Battery to Host — — 145 μs tRSPS Response Time of Battery to Host 190 — 320 μs tB Break Time 190 — — μs tBR Break Recovery Time 40 — — μs TABLE 10-6: Symbol Condition A/D CONVERTER CHARACTERISTICS (TA = -20°C TO +85°C; VREG (INTERNAL) = +2.8V ±7%) Description Min. Typ. Max. Units Condition ADRES A/D Converter Resolution 9 — 15 bits tCONV A/D Conversion Measurement Time, n-bit + sign — 2n/fA/D — s VADIN A/D Converter Input Voltage Range (internal) -150 — 150 mV Differential (Note 1) 0 — 300 mV Single-Ended EVGAIN Supply Voltage Gain Error — — 0.100 % EVOFFSET Compensated Offset Error — — 0.100 % Temperature Gain Error — — 0.100 % EINL Integrated Nonlinearity Error — — 0.004 % Note 1: Voltage is internal at A/D converter inputs. SR, PTAT and NTC are measured directly. VC1 and VCOIN inputs are measured using internal level translation circuitry that scales the input voltage range appropriately for the converter. ETEMP TABLE 10-7: Symbol ETIME Description Silicon Time Base Error TABLE 10-8: Symbol SILICON TIME BASE CHARACTERISTICS (TA = -20°C TO +85°C; VREG (INTERNAL) = +2.8V ±7%) Min. Typ. Max. Units Condition — — 0.4 % Bias Resistor ROSC Tolerance = 1% TL = ±25 ppm TEMPERATURE MEASUREMENT ACCURACY (TA = -20°C TO +85°C; VREG (INTERNAL) = +2.8V ±7%) Description Min. Typ. Max. Units TRES Reported Temperature Resolution — 1 — °C TACC Reported Temperature Accuracy -3 — 3 °C TDRIFT Reported Temperature Drift — -2 — °C/V © 2006 Microchip Technology Inc. Condition VREG = 3.6V, requires calibration in the application DS21904C-page 39 PS810 NOTES: DS21904C-page 40 © 2006 Microchip Technology Inc. PS810 11.0 PACKAGING INFORMATION 11.1 Packaging Marking Information 14-Lead TSSOP Example XXXXXXXX YYWW NNN PS810 e3 0510 017 16-Lead QFN Example XXXXXXX XXXXXXX YYWWNNN Legend: XX...X Y YY WW NNN e3 * Note: PS810 /ML e3 0510017 Customer-specific information Year code (last digit of calendar year) Year code (last 2 digits of calendar year) Week code (week of January 1 is week ‘01’) Alphanumeric traceability code Pb-free JEDEC designator for Matte Tin (Sn) This package is Pb-free. The Pb-free JEDEC designator ( e3 ) can be found on the outer packaging for this package. In the event the full Microchip part number cannot be marked on one line, it will be carried over to the next line, thus limiting the number of available characters for customer-specific information. © 2006 Microchip Technology Inc. DS21904C-page 41 PS810 11.2 Package Details The following sections give the technical details of the packages. 14-Lead Plastic Thin Shrink Small Outline (ST) – 4.4 mm Body (TSSOP) E E1 p D 2 1 n B α A c φ β A1 L Units Dimension Limits n p Number of Pins Pitch Overall Height Molded Package Thickness Standoff § Overall Width Molded Package Width Molded Package Length Foot Length Foot Angle Lead Thickness Lead Width Mold Draft Angle Top Mold Draft Angle Bottom * Controlling Parameter § Significant Characteristic A A2 A1 E E1 D L φ c B α β MIN .033 .002 .246 .169 .193 .020 0 .004 .007 0 0 INCHES NOM 14 .026 .035 .004 .251 .173 .197 .024 4 .006 .010 5 5 A2 MAX .043 .037 .006 .256 .177 .201 .028 8 .008 .012 10 10 MILLIMETERS* NOM MAX 14 0.65 1.10 0.85 0.90 0.95 0.05 0.10 0.15 6.25 6.38 6.50 4.30 4.40 4.50 4.90 5.00 5.10 0.50 0.60 0.70 0 4 8 0.09 0.15 0.20 0.19 0.25 0.30 0 5 10 0 5 10 MIN Notes: Dimensions D and E1 do not include mold flash or protrusions. Mold flash or protrusions shall not exceed .005” (0.127mm) per side. JEDEC Equivalent: MO-153 Drawing No. C04-087 DS21904C-page 42 © 2006 Microchip Technology Inc. PS810 16-Lead Plastic Quad Flat No Lead Package (ML) 4x4x0.9 mm Body (QFN) – Saw Singulated D D1 EXPOSED METAL PAD e E1 E 2 b 1 n OPTIONAL INDEX AREA TOP VIEW L BOTTOM VIEW A3 A A1 Number of Pins Pitch Overall Height Standoff Contact Thickness Overall Width Exposed Pad Width Overall Length Exposed Pad Length Contact Width Contact Length Units Dimension Limits n e A A1 A3 E E2 D D2 b L MIN .031 .000 .152 .100 .152 .100 .010 .012 INCHES NOM 16 .026 BSC .035 .001 .008 REF .157 .106 .157 .106 .012 .016 MAX .039 .002 .163 .110 .163 .110 .014 .020 MILLIMETERS* NOM 16 0.65 BSC 0.80 0.90 0.00 0.02 0.20 REF 4.00 3.85 2.55 2.70 3.85 4.00 2.55 2.70 0.25 0.30 0.30 0.40 MIN MAX 1.00 0.05 4.15 2.80 4.15 2.80 0.35 0.50 *Controlling Parameter Notes: JEDEC equivalent: MO-220 Drawing No. C04-127 © 2006 Microchip Technology Inc. Revised 04-24-05 DS21904C-page 43 PS810 NOTES: DS21904C-page 44 © 2006 Microchip Technology Inc. Note the following details of the code protection feature on Microchip devices: • Microchip products meet the specification contained in their particular Microchip Data Sheet. • Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the intended manner and under normal conditions. • There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip’s Data Sheets. Most likely, the person doing so is engaged in theft of intellectual property. • Microchip is willing to work with the customer who is concerned about the integrity of their code. • Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not mean that we are guaranteeing the product as “unbreakable.” Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our products. Attempts to break Microchip’s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act. Information contained in this publication regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer’s risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights. Trademarks The Microchip name and logo, the Microchip logo, Accuron, dsPIC, KEELOQ, microID, MPLAB, PIC, PICmicro, PICSTART, PRO MATE, PowerSmart, rfPIC, and SmartShunt are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. AmpLab, FilterLab, Migratable Memory, MXDEV, MXLAB, PICMASTER, SEEVAL, SmartSensor and The Embedded Control Solutions Company are registered trademarks of Microchip Technology Incorporated in the U.S.A. Analog-for-the-Digital Age, Application Maestro, dsPICDEM, dsPICDEM.net, dsPICworks, ECAN, ECONOMONITOR, FanSense, FlexROM, fuzzyLAB, In-Circuit Serial Programming, ICSP, ICEPIC, Linear Active Thermistor, MPASM, MPLIB, MPLINK, MPSIM, PICkit, PICDEM, PICDEM.net, PICLAB, PICtail, PowerCal, PowerInfo, PowerMate, PowerTool, Real ICE, rfLAB, rfPICDEM, Select Mode, Smart Serial, SmartTel, Total Endurance, UNI/O, WiperLock and Zena are trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. SQTP is a service mark of Microchip Technology Incorporated in the U.S.A. All other trademarks mentioned herein are property of their respective companies. © 2006, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved. Printed on recycled paper. Microchip received ISO/TS-16949:2002 quality system certification for its worldwide headquarters, design and wafer fabrication facilities in Chandler and Tempe, Arizona and Mountain View, California in October 2003. The Company’s quality system processes and procedures are for its PICmicro® 8-bit MCUs, KEELOQ® code hopping devices, Serial EEPROMs, microperipherals, nonvolatile memory and analog products. In addition, Microchip’s quality system for the design and manufacture of development systems is ISO 9001:2000 certified. © 2006 Microchip Technology Inc. DS21904C-page 45 WORLDWIDE SALES AND SERVICE AMERICAS ASIA/PACIFIC ASIA/PACIFIC EUROPE Corporate Office 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 480-792-7200 Fax: 480-792-7277 Technical Support: http://support.microchip.com Web Address: www.microchip.com Australia - Sydney Tel: 61-2-9868-6733 Fax: 61-2-9868-6755 India - Bangalore Tel: 91-80-2229-0061 Fax: 91-80-2229-0062 China - Beijing Tel: 86-10-8528-2100 Fax: 86-10-8528-2104 India - New Delhi Tel: 91-11-5160-8631 Fax: 91-11-5160-8632 Austria - Wels Tel: 43-7242-2244-399 Fax: 43-7242-2244-393 Denmark - Copenhagen Tel: 45-4450-2828 Fax: 45-4485-2829 China - Chengdu Tel: 86-28-8676-6200 Fax: 86-28-8676-6599 India - Pune Tel: 91-20-2566-1512 Fax: 91-20-2566-1513 France - Paris Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 China - Fuzhou Tel: 86-591-8750-3506 Fax: 86-591-8750-3521 Japan - Yokohama Tel: 81-45-471- 6166 Fax: 81-45-471-6122 Germany - Munich Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 China - Hong Kong SAR Tel: 852-2401-1200 Fax: 852-2401-3431 Korea - Gumi Tel: 82-54-473-4301 Fax: 82-54-473-4302 China - Qingdao Tel: 86-532-8502-7355 Fax: 86-532-8502-7205 Korea - Seoul Tel: 82-2-554-7200 Fax: 82-2-558-5932 or 82-2-558-5934 Atlanta Alpharetta, GA Tel: 770-640-0034 Fax: 770-640-0307 Boston Westborough, MA Tel: 774-760-0087 Fax: 774-760-0088 Chicago Itasca, IL Tel: 630-285-0071 Fax: 630-285-0075 Dallas Addison, TX Tel: 972-818-7423 Fax: 972-818-2924 Detroit Farmington Hills, MI Tel: 248-538-2250 Fax: 248-538-2260 Kokomo Kokomo, IN Tel: 765-864-8360 Fax: 765-864-8387 Los Angeles Mission Viejo, CA Tel: 949-462-9523 Fax: 949-462-9608 San Jose Mountain View, CA Tel: 650-215-1444 Fax: 650-961-0286 China - Shanghai Tel: 86-21-5407-5533 Fax: 86-21-5407-5066 China - Shenyang Tel: 86-24-2334-2829 Fax: 86-24-2334-2393 China - Shenzhen Tel: 86-755-8203-2660 Fax: 86-755-8203-1760 China - Shunde Tel: 86-757-2839-5507 Fax: 86-757-2839-5571 China - Wuhan Tel: 86-27-5980-5300 Fax: 86-27-5980-5118 China - Xian Tel: 86-29-8833-7250 Fax: 86-29-8833-7256 Malaysia - Penang Tel: 60-4-646-8870 Fax: 60-4-646-5086 Philippines - Manila Tel: 63-2-634-9065 Fax: 63-2-634-9069 Italy - Milan Tel: 39-0331-742611 Fax: 39-0331-466781 Netherlands - Drunen Tel: 31-416-690399 Fax: 31-416-690340 Spain - Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 UK - Wokingham Tel: 44-118-921-5869 Fax: 44-118-921-5820 Singapore Tel: 65-6334-8870 Fax: 65-6334-8850 Taiwan - Hsin Chu Tel: 886-3-572-9526 Fax: 886-3-572-6459 Taiwan - Kaohsiung Tel: 886-7-536-4818 Fax: 886-7-536-4803 Taiwan - Taipei Tel: 886-2-2500-6610 Fax: 886-2-2508-0102 Thailand - Bangkok Tel: 66-2-694-1351 Fax: 66-2-694-1350 Toronto Mississauga, Ontario, Canada Tel: 905-673-0699 Fax: 905-673-6509 10/31/05 DS21904C-page 46 © 2006 Microchip Technology Inc.