a 1C Remote and Local System Temperature Monitor ADM1032* FEATURES On-Chip and Remote Temperature Sensing Offset Registers for System Calibration 0.125C Resolution/1C Accuracy on Remote Channel 1C Resolution/3C Accuracy on Local Channel Fast (Up to 64 Measurements per Second) 2-Wire SMBus Serial Interface Supports SMBus Alert Programmable Under/Overtemperature Limits Programmable Fault Queue Overtemperature Fail-Safe THERM Output Programmable THERM Limits Programmable THERM Hysteresis 170 A Operating Current 5.5 A Standby Current 3 V to 5.5 V Supply Small 8-Lead SOIC and MSOP Packages APPLICATIONS Desktop and Notebook Computers Smart Batteries Industrial Controllers Telecommunications Equipment Instrumentation Embedded Systems PRODUCT DESCRIPTION The ADM1032 is a dual-channel digital thermometer and under/overtemperature alarm intended for use in personal computers and thermal management systems. The higher 1C accuracy offered allows systems designers to safely reduce temperature guardbanding and increase system performance. The device can measure the temperature of a microprocessor using a diodeconnected NPN or PNP transistor, which may be provided on-chip or can be a low cost discrete device, such as the 2N3906. A novel measurement technique cancels out the absolute value of the transistor's base emitter voltage so that no calibration is required. The second measurement channel measures the output of an on-chip temperature sensor to monitor the temperature of the device and its environment. The ADM1032 communicates over a 2-wire serial interface compatible with System Management Bus (SMBus) standards. Under and overtemperature limits can be programmed into the device over the serial bus, and an ALERT output signals when the on-chip or remote temperature measurement is out of range. This output can be used as an interrupt or as an SMBus alert. The THERM output is a comparator output that allows CPU clock throttling or on/off control of a cooling fan. An ADM1032-1 is also available. The only difference between the ADM1032 and the ADM1032-1 is the default value of the external THERM limit. FUNCTIONAL BLOCK DIAGRAM ADDRESS POINTER REGISTER CONVERSION RATE REGISTER ON-CHIP TEMPERATURE SENSOR A/D CONVERTER BUSY RUN/STANDBY LOCAL TEMPERATURE HIGH LIMIT REGISTER LIMIT COMPARATOR REMOTE TEMPERATURE VALUE REGISTER DIGITAL MUX D- ANALOG MUX DIGITAL MUX D+ LOCAL TEMPERATURE LOW LIMIT REGISTER LOCAL TEMPERATURE VALUE REGISTER REMOTE TEMPERATURE LOW LIMIT REGISTER REMOTE TEMPERATURE HIGH LIMIT REGISTER LOCAL THERM LIMIT REGISTER REMOTE OFFSET REGISTER EXTERNAL THERM LIMIT REGISTER CONFIGURATION REGISTER EXTERNAL DIODE OPEN-CIRCUIT INTERRUPT MASKING STATUS REGISTER ADM1032 VDD GND ALERT THERM SMBUS INTERFACE SDATA SCLK *Patents 5,982,221, 6,097,239, 6,133,753, 6,169,442, 5,867,012. REV. C Information furnished by Analog Devices is believed to be accurate and reliable. However, no responsibility is assumed by Analog Devices for its use, nor for any infringements of patents or other rights of third parties that may result from its use. No license is granted by implication or otherwise under any patent or patent rights of Analog Devices. Trademarks and registered trademarks are the property of their respective companies. One Technology Way, P.O. Box 9106, Norwood, MA 02062-9106, U.S.A. Tel: 781/329-4700 www.analog.com Fax: 781/326-8703 (c) 2003 Analog Devices, Inc. All rights reserved. ADM1032-SPECIFICATIONS (T = T A MIN to TMAX, VDD = VMIN to VMAX, unless otherwise noted.) Parameter Min Typ Max Unit Test Conditions/Comments POWER SUPPLY Supply Voltage, VDD Average Operating Supply Current, ICC 3.0 3.30 170 5.5 2.55 5.5 215 10 2.8 2.4 V A A V V 0.0625 Conversions/Sec Rate1 Standby Mode VDD Input, Disables ADC, Rising Edge 1 1 3 Undervoltage Lockout Threshold Power-On Reset Threshold 2.35 1 TEMPERATURE-TO-DIGITAL CONVERTER Local Sensor Accuracy Resolution Remote Diode Sensor Accuracy 0 TA 100C, VCC = 3 V to 3.6 V 35.7 142.8 C C C C C A A ms 5.7 22.8 ms 0.4 1 V A IOUT = -6.0 mA2 VOUT = VDD2 V VDD = 3 V to 5.5 V V mV VDD = 3 V to 5.5 V SDATA Forced to 0.6 V ALERT Forced to 0.4 V 1.3 0.6 600 600 mA mA A pF kHz ms s s ns ns Stop Condition Setup Time, tSU:STO 600 ns Data Valid to SCLK Rising Edge Time, tSU:DAT Data Hold Time, tHD:DAT Bus Free Time, tBUF SCLK, SDATA Rise Time, tR SCLK, SDATA Fall Time, tF 100 ns 300 1.3 ns s ns ns 1 3 Resolution Remote Sensor Source Current Conversion Time 0.125 230 13 OPEN-DRAIN DIGITAL OUTPUTS (THERM, ALERT) Output Low Voltage, VOL High Level Output Leakage Current, IOH SERIAL BUS TIMING2 Logic Input High Voltage, VIH SCLK, SDATA Logic Input Low Voltage, VIL Hysteresis SCLK, SDATA SDATA Output Low Sink Current ALERT Output Low Sink Current Logic Input Current, IIH, IIL Input Capacitance, SCLK, SDATA Clock Frequency SMBus Timeout SCLK Clock Low Time, tLOW SCLK Clock High Time, tHIGH Start Condition Setup Time, tSU:STA Start Condition Hold Time, tHD:STA 0.1 2.1 0.8 500 6 1 -1 +1 5 25 400 64 300 300 60C TD 100C, VCC = 3 V to 3.6 V 0C TD 120C High Level2 Low Level2 From Stop Bit to Conversion Complete (Both Channels) One-Shot Mode with Averaging Switched On One-Shot Mode with Averaging Off (i.e., Conversion Rate = 32 or 64 Conversions per Second) Note 3 tLOW between 10% Points tHIGH between 90% Points Time from 10% of SDATA to 90% of SCLK Time from 90% of SCLK to 10% of SDATA Time for 10% or 90% of SDATA to 10% of SCLK Between Start/Stop Condition NOTES 1 See Table VI for information on other conversion rates. 2 Guaranteed by design, not production tested. 3 The SMBus timeout is a programmable feature. By default, it is not enabled. Details on how to enable it are available in the Serial Bus Interface section of this data sheet. Specifications subject to change without notice. -2- REV. C ADM1032 ABSOLUTE MAXIMUM RATINGS* THERMAL CHARACTERISTICS Positive Supply Voltage (VDD) to GND . . . . . . -0.3 V, +5.5 V D+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.3 V to VDD + 0.3 V D- to GND . . . . . . . . . . . . . . . . . . . . . . . . . -0.3 V to +0.6 V SCLK, SDATA, ALERT . . . . . . . . . . . . . . . . -0.3 V to +5.5 V THERM . . . . . . . . . . . . . . . . . . . . . . . -0.3 V to VDD + 0.3 V Input Current, SDATA, THERM . . . . . . . . -1 mA, +50 mA Input Current, D- . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 mA ESD Rating, All Pins (Human Body Model) . . . . . . >1000 V Maximum Junction Temperature (TJ max) . . . . . . . . . 150C Storage Temperature Range . . . . . . . . . . . . -65C to +150C IR Reflow Peak Temperature . . . . . . . . . . . . . . . . . . . . 220C Lead Temp (Soldering 10 sec) . . . . . . . . . . . . . . . . . . . 300C 8-Lead SOIC Package JA = 121C/W 8-Lead MSOP Package JA = 142C/W PIN CONFIGURATION VDD 1 8 SCLK D+ 2 7 SDATA ADM1032 TOP VIEW 6 ALERT (Not to Scale) 5 GND THERM 4 D- 3 *Stresses above those listed under Absolute Maximum Ratings may cause permanent damage to the device. This is a stress rating only; functional operation of the device at these or any other conditions above those indicated in the operational section of this specification is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability. ORDERING GUIDE Model Temperature Range Package Description Package Option Branding Information SMBus Addr External THERM Default ADM1032AR ADM1032ARM ADM1032AR-1 ADM1032ARM-1 0C to 120C 0C to 120C 0C to 120C 0C to 120C 8-Lead SOIC Package 8-Lead MSOP Package 8-Lead SOIC Package 8-Lead MSOP Package R-8 RM-8 R-8 RM-8 1032AR T2A 1032AR01 T1A 4C 4C 4C 4C 85C 85C 108C 108C tLOW tR tF tHD:STA SCLK tHD:STA tHD:DAT tHIGH tSU:STA tSU:DAT tSU:STO SDATA tBUF P S S P Figure 1. Diagram for Serial Bus Timing PIN FUNCTION DESCRIPTIONS Pin No. Mnemonic Description 1 2 3 4 VDD D+ D- THERM 5 6 7 8 GND ALERT SDATA SCLK Positive Supply, 3 V to 5.5 V. Positive Connection to Remote Temperature Sensor. Negative Connection to Remote Temperature Sensor. THERM is an open-drain output that can be used to turn a fan on/off or throttle a CPU clock in the event of an overtemperature condition. Requires pull-up to VDD. Supply Ground Connection. Open-Drain Logic Output Used as Interrupt or SMBus Alert. Logic Input/Output, SMBus Serial Data. Open-drain output. Requires pull-up resistor. Logic Input, SMBus Serial Clock. Requires pull-up resistor. REV. C -3- ADM1032-Typical Performance Characteristics 20 1.0 13 12 8 4 D+ TO GND 0 -4 D+ TO V DD -8 TEMPERATURE ERROR - C TEMPERATURE ERROR - C TEMPERATURE ERROR - C 16 0.5 0 11 9 7 5 VIN = 40mV p-p 3 1 -12 VIN = 10mV p-p -0.5 -16 0 10 LEAKAGE RESISTANCE - M 100 TPC 1. Temperature Error vs. Leakage Resistance 0 20 40 60 80 TEMPERATURE - C 100 120 TPC 2. Temperature Error vs. Actual Temperature Using 2N3906 12 -1 100k 10M 1M FREQUENCY - Hz 100M TPC 3. Temperature Error vs. Differential Mode Noise Frequency 2.0 18 VIN = 250mV p-p 8 6 4 VIN = 100mV p-p 14 SUPPLY CURRENT - A TEMPERATURE ERROR - C TEMPERATURE ERROR - C 16 10 12 10 8 6 4 1.5 1.0 VDD = 5V 0.5 2 2 VDD = 3V 10 1M 1 6 FREQUENCY - Hz TPC 4. Temperature Error vs. Power Supply Noise Frequency 11 16 21 26 CAPACITANCE - nF 31 36 TPC 5. Temperature Error vs. Capacitance between D+ and D- 12 VIN = 100mV p-p 8 6 4 VIN = 50mV p-p 60 50 VDD = 5V 40 30 20 2 10 VIN = 25mV p-p 0 100k 100M TPC 7. Temperature Error vs. Common-Mode Noise Frequency 35 30 25 20 15 10 5 VDD = 3.3V 0 0 1M 10M FREQUENCY - Hz 100 40 70 10 0.1 1 10 CONVERSION RATE - Hz TPC 6. Operating Supply Current vs. Conversion Rate 80 SUPPLY CURRENT - A TEMPERATURE ERROR - C 0 0.01 STANDBY SUPPLY CURRENT - A 0 0 1 5 10 25 50 75 100 250 500 750 1000 SCLK FREQUENCY - kHz TPC 8. Standby Supply Current vs. Clock Frequency -4- 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 SUPPLY VOLTAGE - V TPC 9. Standby Supply Current vs. Supply Voltage REV. C ADM1032 FUNCTIONAL DESCRIPTION Figure 2 shows the input signal conditioning used to measure the output of an external temperature sensor. This figure shows the external sensor as a substrate transistor, provided for temperature monitoring on some microprocessors, but it could equally well be a discrete transistor. If a discrete transistor is used, the collector will not be grounded and should be linked to the base. To prevent ground noise interfering with the measurement, the more negative terminal of the sensor is not referenced to ground but is biased above ground by an internal diode at the D- input. If the sensor is operating in a noisy environment, C1 may optionally be added as a noise filter. Its value is typically 2200 pF but should be no more than 3000 pF. See the section on Layout Considerations for more information on C1. The ADM1032 is a local and remote temperature sensor and overtemperature alarm. When the ADM1032 is operating normally, the on-board A/D converter operates in a freerunning mode. The analog input multiplexer alternately selects either the on-chip temperature sensor to measure its local temperature or the remote temperature sensor. These signals are digitized by the ADC and the results are stored in the Local and Remote Temperature Value Registers. The measurement results are compared with local and remote, high, low, and THERM temperature limits stored in nine onchip registers. Out-of-limit comparisons generate flags that are stored in the Status Register, and one or more out-of limit results will cause the ALERT output to pull low. Exceeding THERM temperature limits causes the THERM output to assert low. To measure VBE, the sensor is switched between the operating currents of I and N x I. The resulting waveform is passed through a 65 kHz low-pass filter to remove noise, and then to a chopper-stabilized amplifier that performs the functions of amplification and rectification of the waveform to produce a dc voltage proportional to VBE. This voltage is measured by the ADC to give a temperature output in twos complement format. To further reduce the effects of noise, digital filtering is performed by averaging the results of 16 measurement cycles. The limit registers can be programmed, and the device controlled and configured, via the Serial System Management Bus (SMBus). The contents of any register can also be read back via the SMBus. Control and configuration functions consist of * Switching the device between normal operation and standby mode. * Masking or enabling the ALERT output. * Selecting the conversion rate. Signal conditioning and measurement of the internal temperature sensor is performed in a similar manner. TEMPERATURE DATA FORMAT One LSB of the ADC corresponds to 0.125C, so the ADC can measure from 0C to 127.875C. The temperature data format is shown in Tables I and II. MEASUREMENT METHOD A simple method of measuring temperature is to exploit the negative temperature coefficient of a diode, or the base-emitter voltage of a transistor, operated at constant current. Unfortunately, this technique requires calibration to null out the effect of the absolute value of VBE, which varies from device to device. The results of the local and remote temperature measurements are stored in the Local and Remote Temperature Value Registers and are compared with limits programmed into the Local and Remote High and Low Limit Registers. The technique used in the ADM1032 is to measure the change in VBE when the device is operated at two different currents. Table I. Temperature Data Format (Local Temperature and Remote Temperature High Byte) This is given by VBE = (n f ) KT x In ( N ) q where: K is Boltzmann's constant (1.38 x 10-23). q is the charge on the electron (1.6 x 10-19 Coulombs). T is the absolute temperature in Kelvins. N is the ratio of the two currents. nf is the ideality factor of the thermal diode. The ADM1032 is trimmed for an ideality factor of 1.008. Temperature Digital Output 0C 1C 10C 25C 50C 75C 100C 125C 127C 0 0 0 0 0 0 0 0 0 000 000 000 001 011 100 110 111 111 VDD I NI IBIAS D+ REMOTE SENSING TRANSISTOR VOUT+ TO ADC C1* D- BIAS DIODE LOW-PASS FILTER fC = 65kHz *CAPACITOR C1 IS OPTIONAL. IT SHOULD ONLY BE USED IN NOISY ENVIRONMENTS. C1 = 2.2nF TYPICAL, 3nF MAX. Figure 2. Input Signal Conditioning REV. C -5- VOUT- 0000 0001 1010 1001 0010 1011 0100 1101 1111 ADM1032 Table II. Extended Temperature Resolution (Remote Temperature Low Byte) Extended Resolution Remote Temperature Low Byte 0.000C 0.125C 0.250C 0.375C 0.500C 0.625C 0.750C 0.875C 0 0 0 0 1 1 1 1 000 010 100 110 000 010 100 110 Status Register Bit 7 of the Status Register indicates that the ADC is busy converting when it is high. Bits 6 to 3, 1, and 0 are flags that indicate the results of the limit comparisons. Bit 2 is set when the remote sensor is open circuit. 0000 0000 0000 0000 0000 0000 0000 0000 If the local and/or remote temperature measurement is above the corresponding high temperature limit, or below or equal to the corresponding low temperature limit, one or more of these flags will be set. These five flags (Bits 6 to 2) NOR'd together, so that if any of them are high, the ALERT interrupt latch will be set and the ALERT output will go low. Reading the Status Register will clear the five flag bits, provided that the error conditions that caused the flags to be set have gone away. While a limit comparator is tripped due to a value register containing an out-of-limit measurement, or the sensor is open circuit, the corresponding flag bit cannot be reset. A flag bit can only be reset if the corresponding value register contains an in-limit measurement or the sensor is good. ADM1032 REGISTERS The ADM1032 contains registers that are used to store the results of remote and local temperature measurements and high and low temperature limits and to configure and control the device. A description of these registers follows, and further details are given in Tables III to VII. The ALERT interrupt latch is not reset by reading the Status Register but will be reset when the ALERT output has been serviced by the master reading the device address, provided the error condition has gone away and the Status Register flag bits have been reset. Address Pointer Register The Address Pointer Register itself does not have, or require, an address, since it is the register to which the first data byte of every write operation is written automatically. This data byte is an address pointer that sets up one of the other registers for the second byte of the write operation or for a subsequent read operation. When Flags 1 and 0 are set, the THERM output goes low to indicate that the temperature measurements are outside the programmed limits. THERM output does not need to be reset, unlike the ALERT output. Once the measurements are within the limits, the corresponding status register bits are reset and the THERM output goes high. The power-on default value of the Address Pointer Register is 00h, so if a read operation is performed immediately after power-on without first writing to the Address Pointer, the value of the local temperature will be returned, since its register address is 00h. Table IV. Status Register Bit Assignments Value Registers The ADM1032 has three registers to store the results of local and remote temperature measurements. These registers are written to by the ADC only and can be read over the SMBus. Offset Register Series resistance on the D+ and D- lines in processor packages and clock noise can introduce offset errors into the remote temperature measurement. To achieve the specified accuracy on this channel, these offsets must be removed. The offset value is stored as an 11-bit, twos complement value in Registers 11h (high byte) and 12h (low byte, left justified). The value of the offset is negative if the MSB of Register 11h is 1 and positive if the MSB of Register 12h is 0. The value is added to the measured value of the remote temperature. 12h -4C -1C -0.125C 0C +0.125C +1C +4C 1 1 1 0 0 0 0 0 0 1 0 0 0 0 111 1100 111 1111 111 1111 000 0000 000 0000 000 0001 000 0100 000 000 110 000 010 000 000 Function 7 6 5 4 3 2 1 0 BUSY LHIGH* LLOW* RHIGH* RLOW* OPEN* RTHRM LTHRM 1 When ADC Converting 1 When Local High Temp Limit Tripped 1 When Local Low Temp Limit Tripped 1 When Remote High Temp Limit Tripped 1 When Remote Low Temp Limit Tripped 1 When Remote Sensor Open-Circuit 1 When Remote THERM Limit Tripped 1 When Local THERM Limit Tripped Configuration Register Two bits of the Configuration Register are used. If Bit 6 is 0, which is the power-on default, the device is in Operating Mode with the ADC converting. If Bit 6 is set to 1, the device is in Standby Mode and the ADC does not convert. The SMBus does, however, remain active in Standby Mode so values can be read from or written to the SMBus. The ALERT and THERM O/Ps are also active in Standby Mode. Table III. Sample Offset Register Codes 11h Name *These flags stay high until the status register is read or they are reset by POR. The offset register powers up with a default value of 0C and will have no effect if nothing is written to them. Offset Value Bit Bit 7 of the Configuration Register is used to mask the alert output. If Bit 7 is 0, which is the power-on default, the output is enabled. If Bit 7 is set to 1, the output is disabled. 0000 0000 0000 0000 0000 0000 0000 -6- REV. C ADM1032 Table V. Configuration Register Bit Assignments Power-On Default Bit Name Function 7 MASK1 6 RUN/STOP 0 = ALERT Enabled 1 = ALERT Masked 0 = Run 1 = Standby Reserved 5-0 0 0 Consecutive ALERT Register This value written to this register determines how many out-oflimit measurements must occur before an ALERT is generated. The default value is that one out-of-limit measurement generates an ALERT. The max value that can be chosen is 4. The purpose of this register is to allow the user to perform some filtering of the output. This is particularly useful at the faster two conversion rates where no averaging takes place. 0 Table VII. Consecutive ALERT Register Codes Conversion Rate Register The lowest four bits of this register are used to program the conversion rate by dividing the internal oscillator clock by 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, or 1024 to give conversion times from 15.5 ms (Code 0Ah) to 16 seconds (Code 00h). This register can be written to and read back over the SMBus. The higher four bits of this register are unused and must be set to zero. Use of slower conversion times greatly reduces the device power consumption, as shown in Table VI. Conversion/sec 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0Ah 0B to FFh 0.0625 0.125 0.25 0.5 1 2 4 8 16 32 64 Reserved Average Supply Current mA Typ at VDD = 5.5 V 0.17 0.20 0.21 0.24 0.29 0.40 0.61 1.1 1.9 0.73 1.23 Limit Registers The ADM1032 has nine limit registers to store local and remote, high, low, and THERM temperature limits. These registers can be written to and read back over the SMBus. The high limit registers perform a > comparison, while the low limit registers perform a < comparison. For example, if the High Limit Register is programmed with 80C, then measuring 81oC will result in an alarm condition. If the Low Limit Register is programmed with 0C, measuring 0C or lower will result in an alarm condition. Exceeding either the local or remote THERM limit asserts THERM low. A default hysteresis value of 10C is provided, which applies to both channels. This hysteresis may be reprogrammed to any value after power up (Reg 0x21h). One-Shot Register The One-Shot Register is used to initiate a single conversion and comparison cycle when the ADM1032 is in Standby Mode, after which the device returns to standby. This is not a data register as such, and it is the write operation that causes the one-shot conversion. The data written to this address is irrelevant and is not stored. The conversion time on a single shot is 96 ms when the conversion rate is 16 conversions per second or less. At 32 conversions per second, the conversion time is 15.3 ms. This is because averaging is disabled at the faster conversion rates (32 and 64 conversions per second). REV. C Number of Out-of-Limit Measurements Required yxxx 000x yxxx 001x yxxx 011x yxxx 111x 1 2 3 4 NOTES x = Don't care bit. y = SMBus timeout bit. Default = 0. See SMBus section for more information. Table VI. Conversion Rate Register Codes Data Register Value SERIAL BUS INTERFACE Control of the ADM1032 is carried out via the serial bus. The ADM1032 is connected to this bus as a slave device, under the control of a master device. There is a programmable SMBus timeout. When this is enabled, the SMBus will timeout after typically 25 ms of no activity. However, this feature is not enabled by default. To enable it, set Bit 7 of the Consecutive Alert Register (Address = 22h). The ADM1032 supports packet error checking (PEC) and its use is optional. It is triggered by supplying the extra clock for the PEC byte. The PEC byte is calculated using CRC-8. The frame check sequence (FCS) conforms to CRC-8 by the polynomial C (x ) = x 8 + x 2 + x 1 + 1 Consult the SMBus 1.1 specification for more information. ADDRESSING THE DEVICE In general, every SMBus device has a 7-bit device address (except for some devices that have extended, 10-bit addresses). When the master device sends a device address over the bus, the slave device with that address will respond. The ADM1032 is available with one device address, which is Hex 4C (1001 100). The serial bus protocol operates as follows: 1. The master initiates data transfer by establishing a START condition, defined as a high-to-low transition on the serial data line SDATA, while the serial clock line SCLK remains high. This indicates that an address/data stream will follow. All slave peripherals connected to the serial bus respond to the START condition and shift in the next eight bits, consisting of a 7-bit address (MSB first) plus an R/W bit, which determines the direction of the data transfer, i.e., whether data will be written to or read from the slave device. The peripheral whose address corresponds to the transmitted address responds by pulling the data line low during the low period before the ninth clock pulse, known as the Acknowledge Bit. All other devices on the bus now remain idle while the selected device waits for data to be read from or written to it. -7- ADM1032 Table VIII. List of ADM1032 Registers Read Address (Hex) Write Address (Hex) Name Power-On Default Not Applicable 00 01 02 03 04 05 06 07 08 Not Applicable 10 11 12 13 14 19 Not Applicable Not Applicable Not Applicable Not Applicable 09 0A 0B 0C 0D 0E 0F Not Applicable 11 12 13 14 19 Address Pointer Local Temperature Value External Temperature Value High Byte Status Configuration Conversion Rate Local Temperature High Limit Local Temperature Low Limit External Temperature High Limit High Byte External Temperature Low Limit High Byte One-Shot External Temperature Value Low Byte External Temperature Offset High Byte External Temperature Offset Low Byte External Temperature High Limit Low Byte External Temperature Low Limit Low Byte External THERM Limit Undefined 0000 0000 (00h) 0000 0000 (00h) Undefined 0000 0000 (00h) 0000 1000 (08h) 0101 0101 (55h) (85C) 0000 0000 (00h) (0C) 0101 0101 (55h) (85C) 0000 0000 (00h) (0C) 20 21 22 FE FF 20 21 22 Not Applicable Not Applicable Local THERM Limit THERM Hysteresis Consecutive ALERT Manufacturer ID Die Revision Code 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0101 0101 (55h) (85C) (ADM1032) 0110 1100 (6Ch) (108C) (ADM1032-1) 0101 0101 (55h) (85C) 0000 1010 (0Ah) (10C) 0000 0001 (01h) 0100 0001 (41h) Undefined Writing to Address 0F causes the ADM1032 to perform a single measurement. It is not a data register as such and it does not matter what data is written to it. If the R/W bit is a 0, the master will write to the slave device. If the R/W bit is a 1, the master will read from the slave device. 2. Data is sent over the serial bus in sequences of nine clock pulses, eight bits of data followed by an Acknowledge Bit from the slave device. Transitions on the data line must occur during the low period of the clock signal and remain stable during the high period, since a low-to-high transition when the clock is high may be interpreted as a STOP signal. The number of data bytes that can be transmitted over the serial bus in a single read or write operation is limited only by what the master and slave devices can handle. To write data to one of the device data registers or read data from it, the Address Pointer Register must first be set so that the correct data register is addressed. The first byte of a write operation always contains a valid address that is stored in the Address Pointer Register. If data is to be written to the device, the write operation contains a second data byte that is written to the register selected by the Address Pointer Register. This is illustrated in Figure 3a. The device address is sent over the bus followed by R/W set to 0. This is followed by two data bytes. The first data byte is the address of the internal data register to be written to, which is stored in the Address Pointer Register. The second data byte is the data to be written to the internal data register. 3. When all data bytes have been read or written, stop conditions are established. In Write Mode, the master will pull the data line high during the tenth clock pulse to assert a STOP condition. In Read Mode, the master device will override the Acknowledge Bit by pulling the data line high during the low period before the ninth clock pulse. This is known as No Acknowledge. The master will then take the data line low during the low period before the tenth clock pulse, then high during the tenth clock pulse to assert a STOP condition. When reading data from a register, there are two possibilities: 1. If the ADM1032's Address Pointer Register value is unknown or not the desired value, it is first necessary to set it to the correct value before data can be read from the desired data register. This is done by performing a write to the ADM1032 as before, but only the data byte containing the register read address is sent, since data is not to be written to the register. This is shown in Figure 3b. Any number of bytes of data may be transferred over the serial bus in one operation, but it is not possible to mix read and write in one operation because the type of operation is determined at the beginning and cannot subsequently be changed without starting a new operation. A read operation is then performed consisting of the serial bus address, R/W bit set to 1, followed by the data byte read from the data register. This is shown in Figure 3c. In the case of the ADM1032, write operations contain either one or two bytes, while read operations contain one byte and perform the following functions. -8- 2. If the Address Pointer Register is known to be at the desired address already, data can be read from the corresponding data register without first writing to the Address Pointer Register and Figure 3b can be omitted. REV. C ADM1032 Notes 2. Don't forget that some of the ADM1032 registers have different addresses for read and write operations. The write address of a register must be written to the address pointer if data is to be written to that register, but it is not possible to read data from that address. The read address of a register must be written to the address pointer before data can be read from that register. 1. Although it is possible to read a data byte from a data register without first writing to the Address Pointer Register, if the Address Pointer Register is already at the correct value, it is not possible to write data to a register without writing to the Address Pointer Register because the first data byte of a write is always written to the Address Pointer Register. 1 9 1 9 SCLK A6 SDATA A5 A4 A3 A2 A1 A0 R/W START BY MASTER D7 D6 D5 D4 D3 D2 D1 D0 ACK. BY ADM1032 ACK. BY ADM1032 FRAME 2 ADDRESS POINTER REGISTER BYTE FRAME 1 SERIAL BUS ADDRESS BYTE 1 9 SCLK (CONTINUED) D7 SDATA (CONTINUED) D6 D5 D4 D3 D2 D1 D0 ACK. BY ADM1032 STOP BY MASTER FRAME 3 DATA BYTE Figure 3a. Writing a Register Address to the Address Pointer Register, then Writing Data to the Selected Register 1 9 1 9 SCLK SDATA START BY MASTER A6 A5 A4 A3 A2 A1 A0 R/W D7 D6 D5 D4 D3 D2 D1 D0 ACK. BY ADM1032 ACK. BY ADM1032 FRAME 1 SERIAL BUS ADDRESS BYTE STOP BY MASTER FRAME 2 ADDRESS POINTER REGISTER BYTE Figure 3b. Writing to the Address Pointer Register Only 1 9 1 9 SCLK SDATA A6 A5 A4 A3 A2 A1 A0 R/W D7 D6 D5 D4 D3 D2 D1 D0 ACK. BY ADM1032 START BY MASTER ACK. BY ADM1032 FRAME 1 SERIAL BUS ADDRESS BYTE STOP BY MASTER FRAME 2 DATA BYTE FROM ADM1032 Figure 3c. Reading Data from a Previously Selected Register ALERT OUTPUT The ALERT output goes low whenever an out-of-limit measurement is detected, or if the remote temperature sensor is open-circuit. It is an open drain and requires a pull-up to VDD. Several ALERT outputs can be wire-ORed together so that the common line will go low if one or more of the ALERT outputs goes low. One or more ALERT outputs can be connected to a common SMBALERT line connected to the master. When the SMBALERT line is pulled low by one of the devices, the following procedure occurs as illustrated in Figure 4. MASTER RECEIVES SMBALERT The ALERT output can be used as an interrupt signal to a processor, or it may be used as an SMBALERT. Slave devices on the SMBus can not normally signal to the master that they want to talk, but the SMBALERT function allows them to do so. REV. C START ALERT RESPONSE ADDRESS MASTER SENDS ARA AND READ COMMAND RD ACK DEVICE ADDRESS DEVICE SENDS ITS ADDRESS Figure 4. Use of SMBALERT -9- NO ACK STOP ADM1032 1. SMBALERT pulled low. 2. Master initiates a read operation and sends the Alert Response Address (ARA = 0001 100). This is a general call address that must not be used as a specific device address. 3. The device whose ALERT output is low responds to the Alert Response Address and the master reads its device address. Since the device address is seven bits, an LSB of 1 is added. The address of the device is now known and it can be interrogated in the usual way. 4. If more than one device's ALERT output is low, the one with the lowest device address will have priority in accordance with normal SMBus arbitration. A THERM hysteresis value is provided to prevent a cooling fan cycling on and off. The power-on default value is 10C, but this may be reprogrammed to any value after power-up. This hysteresis value applies to both the local and remote channels. Using these two limits in this way allows the user to gain maximum performance from the system by only slowing it down should it be at a critical temperature. The THERM signal is open drain and requires a pull-up to VDD. The THERM signal must always be pulled up to the same power supply as the ADM1032, unlike the SMBus signals (SDATA, SCLK, and ALERT) that may be pulled to a different power rail, usually that of the SMBus controller. 5. Once the ADM1032 has responded to the Alert Response Address, it will reset its ALERT output, provided that the error condition that caused the ALERT no longer exists. If the SMBALERT line remains low, the master will send ARA again, and so on until all devices whose ALERT outputs were low have responded. 100C 90C 70C 60C LOW POWER STANDBY MODE 50C The ADM1032 can be put into a Low Power Standby Mode by setting Bit 6 of the Configuration Register. When Bit 6 is low, the ADM1032 operates normally. When Bit 6 is high, the ADC is inhibited and any conversion in progress is terminated without writing the result to the corresponding value register. 40C The SMBus is still enabled. Power consumption in the Standby Mode is reduced to less than 10 A if there is no SMBus activity, or 100 A if there are clock and data signals on the bus. LOCAL THERM LIMIT -HYSTERESIS TEMPERATURE THERM Figure 5. Operation of the THERM Output Table IX. THERM Hysteresis Sample Values When the device is in Standby Mode, it is still possible to initiate a one-shot conversion of both channels by writing XXh to the One-Shot Register (Address 0Fh), after which the device will return to standby. It is also possible to write new values to the limit register while it is in standby. If the values stored in the temperature value registers are now outside the new limits, an ALERT is generated even though the ADM1032 is still in standby. THE ADM1032 INTERRUPT SYSTEM The ADM1032 has two interrupt outputs, ALERT and THERM. These have different functions. ALERT responds to violations of software-programmed temperature limits and is maskable. THERM is intended as a "fail-safe" interrupt output that cannot be masked. If the temperature goes equal to or below the lower temperature limit, the ALERT pin will be asserted low to indicate an out-of-limit condition. If the temperature is within the programmed low and high temperature limits, no interrupt will be generated. If the temperature exceeds the high temperature limit, the ALERT pin will be asserted low to indicate an overtemperature condition. A local and remote THERM limit may be programmed into the device to set the temperature limit above which the overtemperature THERM pin will be asserted low. This temperature limit should be equal to or greater than the high temperature limit programmed. The behavior of the high limit and THERM limit is as follows: 1. If either temperature measured exceeds the high temperature limit, the ALERT output will assert low. 2. If the local or remote temperature continues to increase and either one exceeds the THERM limit, the THERM output asserts low. This can be used to throttle the CPU clock or switch on a fan. LOCAL THERM LIMIT 80C THERM Hysteresis Binary Representation 0C 1C 10C 0 000 0000 0 000 0001 0 000 1010 SENSOR FAULT DETECTION At the D+ input, the ADM1032 has a fault detector that detects if the external sensor diode is open circuit. This is a simple voltage comparator that trips if the voltage at D+ exceeds VDD - 1 V (typical). The output of this comparator is checked when a conversion is initiated and sets Bit 2 of the Status Register if a fault is detected. If the remote sensor voltage falls below the normal measuring range, for example due to the diode being short-circuited, the ADC will output -128 (1000 0000). Since the normal operating temperature range of the device only extends down to 0C, this output code should never be seen in normal operation, so it can be interpreted as a fault condition. Since it will be outside the power-on default low temperature limit (0C) and any low limit that would normally be programmed, a short-circuit sensor will cause an SMBus alert. In this respect, the ADM1032 differs from and improves upon competitive devices that output zero if the external sensor goes short-circuit. These devices can misinterpret a genuine 0C measurement as a fault condition. When the D+ and D- lines are shorted together, an ALERT will always be generated. This is because the Remote Value Register reports a temperature value of -128C. Since the ADM1032 performs a less-than or equal-to comparison with the low limit, an ALERT is generated even when the low limit is set to its minimum of -128C. -10- REV. C ADM1032 APPLICATIONS INFORMATION FACTORS AFFECTING ACCURACY Remote Sensing Diode should not be a problem, since it will either be a substrate transistor in the processor or a small package device, such as the SOT-23, placed in close proximity to it. The ADM1032 is designed to work with substrate transistors built into processors' CPUs or with discrete transistors. Substrate transistors will generally be PNP types with the collector connected to the substrate. Discrete types can be either a PNP or an NPN transistor connected as a diode (base shorted to collector). If an NPN transistor is used, the collector and base are connected to D+ and the emitter to D-. If a PNP transistor is used, the collector and base are connected to D- and the emitter to D+. Substrate transistors are found in a number of CPUs. To reduce the error due to variations in these substrate and discrete transistors, a number of factors should be taken into consideration: The on-chip sensor, however, will often be remote from the processor and will only be monitoring the general ambient temperature around the package. The thermal time constant of the SOIC-8 package in still-air is about 140 seconds, and if the ambient air temperature quickly changed by 100 degrees, it would take about 12 minutes (5 time constants) for the junction temperature of the ADM1032 to settle within 1 degree of this. In practice, the ADM1032 package will be in electrical and therefore thermal contact with a printed circuit board and may also be in a forced airflow. How accurately the temperature of the board and/or the forced airflow reflect the temperature to be measured will also affect the accuracy. 1. The ideality factor, nf, of the transistor. The ideality factor is a measure of the deviation of the thermal diode from the ideal behavior. The ADM1032 is trimmed for an nf value of 1.008. The following equation may be used to calculate the error introduced at a temperature TC when using a transistor whose nf does not equal 1.008. Consult the processor data sheet for nf values. T = (n ) - 1.008 x (273.15 Kelvin + T ) 1.008 natural This value can be written to the Offset Register and is automatically added to or subtracted from the temperature measurement. 2. Some CPU manufacturers specify the high and low current levels of the substrate transistors. The high current level of the ADM1032, IHIGH, is 230 A and the low level current, ILOW, is 13 A. If the ADM1032 current levels do not match the levels of the CPU manufacturers, then it may become necessary to remove an offset. The CPU's data sheet will advise whether this offset needs to be removed and how to calculate it. This offset may be programmed to the Offset Register. It is important to note that if accounting for two or more offsets is needed, then the algebraic sum of these offsets must be programmed to the Offset Register. If a discrete transistor is being used with the ADM1032, the best accuracy will be obtained by choosing devices according to the following criteria: * Base-emitter voltage greater than 0.25 V at 6 mA, at the highest operating temperature. * Base-emitter voltage less than 0.95 V at 100 mA, at the lowest operating temperature. Self-heating due to the power dissipated in the ADM1032 or the remote sensor causes the chip temperature of the device or remote sensor to rise above ambient. However, the current forced through the remote sensor is so small that self-heating is negligible. In the case of the ADM1032, the worst-case condition occurs when the device is converting at 16 conversions per second while sinking the maximum current of 1 mA at the ALERT and THERM output. In this case, the total power dissipation in the device is about 11 mW. The thermal resistance, JA, of the SOIC-8 package is about 121C/W. In practice, the package will have electrical and therefore thermal connection to the printed circuit board, so the temperature rise due to self-heating will be negligible. LAYOUT CONSIDERATIONS Digital boards can be electrically noisy environments, and the ADM1032 is measuring very small voltages from the remote sensor, so care must be taken to minimize noise induced at the sensor inputs. The following precautions should be taken: 1. Place the ADM1032 as close as possible to the remote sensing diode. Provided that the worst noise sources, i.e., clock generators, data/address buses, and CRTs are avoided, this distance can be 4 to 8 inches. 2. Route the D+ and D- tracks close together, in parallel, with grounded guard tracks on each side. Provide a ground plane under the tracks if possible. 3. Use wide tracks to minimize inductance and reduce noise pickup. 10 mil track minimum width and spacing is recommended. * Base resistance less than 100 . * Small variation in hFE (say 50 to 150) that indicates tight control of VBE characteristics. Transistors such as 2N3904, 2N3906, or equivalents in SOT-23 packages are suitable devices to use. GND 10MIL D+ 10MIL 10MIL D- THERMAL INERTIA AND SELF-HEATING Accuracy depends on the temperature of the remote-sensing diode and/or the internal temperature sensor being at the same temperature as that being measured, and a number of factors can affect this. Ideally, the sensor should be in good thermal contact with the part of the system being measured, for example 4. the processor. If it is not, the thermal inertia caused by the mass of the sensor will cause a lag in the response of the sensor to a temperature change. In the case of the remote sensor, this REV. C -11- 10MIL 10MIL 10MIL GND 10MIL Figure 6. Arrangement of Signal Tracks Try to minimize the number of copper/solder joints, which can cause thermocouple effects. Where copper/solder joints are used, make sure that they are in both the D+ and D- path and at the same temperature. ADM1032 5. Place a 0.1 F bypass capacitor close to the VDD pin. In very noisy environments, place a 2200 pF input filter capacitor across D+ and D- close to the ADM1032. 6. If the distance to the remote sensor is more than 8 inches, the use of twisted pair cable is recommended. This will work up to about 6 feet to 12 feet. APPLICATION CIRCUIT Figure 7 shows a typical application circuit for the ADM1032, using a discrete sensor transistor connected via a shielded, twisted pair cable. The pull-ups on SCLK, SDATA, and ALERT are required only if they are not already provided elsewhere in the system. The SCLK and SDATA pins of the ADM1032 can be interfaced directly to the SMBus of an I/O controller, such as the Intel 820 chipset. 7. For really long distances (up to 100 feet), use shielded twisted pair, such as Belden #8451 microphone cable. Connect the twisted pair to D+ and D- and the shield to GND close to the ADM1032. Leave the remote end of the shield unconnected to avoid ground loops. 0.1F VDD 3V TO 3.6V ADM1032 TYP 10k D+ SCLK D- SMBUS CONTROLLER SDATA 2N3906 SHIELD OR CPU THERMAL DIODE ALERT VDD THERM Because the measurement technique uses switched current sources, excessive cable and/or filter capacitance can affect the measurement. When using long cables, the filter capacitor may be reduced or removed. TYP 10k GND FAN ENABLE Cable resistance can also introduce errors. 1 series resistance introduces about 1C error. 5V OR 12V FAN CONTROL CIRCUIT Figure 7. Typical Application Circuit OUTLINE DIMENSIONS 8-Lead Standard Small Outline Package [SOIC] Narrow Body (R-8) 8-Lead Mini Small Outline Package [MSOP] (RM-8) Dimensions shown in millimeters Dimensions shown in millimeters and (inches) 3.00 BSC 5.00 (0.1968) 4.80 (0.1890) 8 4.00 (0.1574) 3.80 (0.1497) 8 5 1 4 1.27 (0.0500) BSC 0.25 (0.0098) 0.10 (0.0040) COPLANARITY SEATING 0.10 PLANE 4.90 BSC 1 1.75 (0.0688) 1.35 (0.0532) 0.51 (0.0201) 0.33 (0.0130) 5 3.00 BSC 6.20 (0.2440) 5.80 (0.2284) 4 PIN 1 0.50 (0.0196) 45 0.25 (0.0099) 0.65 BSC 1.10 MAX 0.15 0.00 8 0.25 (0.0098) 0 1.27 (0.0500) 0.41 (0.0160) 0.19 (0.0075) 0.38 0.22 COPLANARITY 0.10 COMPLIANT TO JEDEC STANDARDS MS-012AA CONTROLLING DIMENSIONS ARE IN MILLIMETERS; INCH DIMENSIONS (IN PARENTHESES) ARE ROUNDED-OFF MILLIMETER EQUIVALENTS FOR REFERENCE ONLY AND ARE NOT APPROPRIATE FOR USE IN DESIGN 0.23 0.08 8 0 0.80 0.40 SEATING PLANE COMPLIANT TO JEDEC STANDARDS MO-187AA Revision History Location Page 3/03--Data Sheet changed from REV. B to REV. C. Edits to SPECIFICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 10/02--Data Sheet changed from REV. A to REV. B. Edits to the GENERAL DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Edits to the ORDERING GUIDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Edits to Table VIII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 OUTLINE DIMENSIONS updated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 -12- REV. C C01906-0-3/03(C) Thermocouple effects should not be a major problem since 1C corresponds to about 200 V and thermocouple voltages are about 3 V/C of temperature difference. Unless there are two thermocouples with a big temperature differential between them, thermocouple voltages should be much less than 200 V.