Dual Channel Temperature Sensor and Overtemperature Alarm ADT7482 FEATURES GENERAL DESCRIPTION 1 local and 2 remote temperature sensors 0.25C resolution/1C accuracy on remote channels 1C resolution/1C accuracy on local channel Automatically cancels up to 1.5 k (typ) of resistance in series with the remote sensors Extended, switchable temperature measurement range 0C to +127C (default) or -55C to +150C 2-wire SMBus serial interface with SMBus alert support Programmable overtemperature/undertemperature limits Offset registers for system calibration Up to 2 overtemperature fail-safe THERM outputs Small, 10-lead MSOP package 240 A operating current, 5 A standby current The ADT7482 1 is a three-channel digital thermometer and undertemperature/overtemperature alarm for PCs and thermal management systems. It can measure the temperature in two remote locations, such as in the remote thermal diode in a CPU or GPU, or using a discrete diode connected transistor. This device also measures its own ambient temperature. One feature of the ADT7482 is series resistance cancellation where up to 1.5 k (typical) of resistance in series with each of the temperature monitoring diodes can be automatically cancelled from the temperature result, allowing noise filtering. The temperature of the remote thermal diodes and ambient temperature can be measured accurate to 1C. The temperature measurement range, which defaults to 0C to 127C, can be switched to a wider measurement range of from -55C to +150C. APPLICATIONS Desktop and notebook computers Industrial controllers Smart batteries Automotive Embedded systems Burn-in applications Instrumentation The ADT7482 communicates over a 2-wire serial interface compatible with system management bus (SMBus) standards. The default address of the ADT7482 is 0x4C. An ALERT output signals when the on-chip or remote temperature is outside the programmed limits. The THERM output is a comparator output that allows on/off control of a cooling fan. The ALERT output can be reconfigured as a second THERM output if required. 1 Protected by U.S. Patents 5,195,827, 5,867,012, 5,982,221, 6,097,239, 6,133,753, 6,169,442, 7,010,440, other patents pending. FUNCTIONAL BLOCK DIAGRAM ADDRESS POINTER REGISTER ONE-SHOT REGISTER ON-CHIP TEMPERATURE SENSOR LOCAL TEMPERATURE LOW-LIMIT REGISTER 11-BIT ADC SRC BUSY RUN/STANDBY REMOTE 1 AND 2 TEMP VALUE REGISTERS LOCAL TEMPERATURE HIGH-LIMIT REGISTER REMOTE 1 AND 2 TEMP THERM-LIMIT REGISTERS REMOTE 1 AND 2 TEMP LOW-LIMIT REGISTERS REMOTE 1 AND 2 TEMP HIGH-LIMIT REGISTERS REMOTE 1 AND 2 TEMP VALUE REGISTERS CONFIGURATION REGISTERS EXTERNAL DIODES OPEN-CIRCUIT INTERRUPT MASKING STATUS REGISTERS ADT7482 8 ALERT/THERM2 SMBus INTERFACE 1 5 9 10 4 VDD GND SDATA SCLK THERM 06150-001 D2- 6 ANALOG MUX LOCAL TEMPERATURE VALUE REGISTER LIMIT COMPARATOR D1- 3 D2+ 7 LOCAL TEMPERATURE THERM-LIMIT REGISTER DIGITAL MUX D1+ 2 CONVERSION RATE REGISTER Figure 1. Rev. 0 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. Specifications subject to change without notice. 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 owners. One Technology Way, P.O. Box 9106, Norwood, MA 02062-9106, U.S.A. Tel: 781.329.4700 www.analog.com Fax: 781.461.3113 (c)2006 Analog Devices, Inc. All rights reserved. ADT7482 TABLE OF CONTENTS Features .............................................................................................. 1 Temperature Value Registers .................................................... 12 Applications....................................................................................... 1 Conversion Rate Register .......................................................... 13 General Description ......................................................................... 1 Limit Registers ............................................................................ 13 Functional Block Diagram .............................................................. 1 Status Registers ........................................................................... 14 Revision History ............................................................................... 2 Offset Register ............................................................................ 14 Specifications..................................................................................... 3 One-Shot Register ...................................................................... 15 Timing Specifications .................................................................. 4 Consecutive ALERT Register ................................................... 15 Absolute Maximum Ratings............................................................ 5 Serial Bus Interface......................................................................... 17 Thermal Resistance ...................................................................... 5 Addressing the Device ............................................................... 17 ESD Caution.................................................................................. 5 ALERT Output............................................................................ 19 Pin Configuration and Function Descriptions............................. 6 Low Power Standby Mode......................................................... 19 Typical Performance Characteristics ............................................. 7 Sensor Fault Detection .............................................................. 19 Theory of Operation ........................................................................ 9 Interrupt System ......................................................................... 19 Series Resistance Cancellation.................................................... 9 Applications Information .............................................................. 22 Temperature Measurement Method .......................................... 9 Noise Filtering............................................................................. 22 Temperature Measurement Results.......................................... 10 Factors Affecting Diode Accuracy........................................... 22 Temperature Measurement Range ........................................... 10 Thermal Inertia and Self-Heating............................................ 22 Temperature Data Format ......................................................... 11 Layout Considerations............................................................... 23 Registers ........................................................................................... 12 Application Circuit..................................................................... 23 Address Pointer Register ........................................................... 12 Outline Dimensions ....................................................................... 24 Configuration Registers............................................................. 12 Ordering Guide .......................................................................... 24 REVISION HISTORY 6/06--Revision 0: Initial Version Rev. 0 | Page 2 of 24 ADT7482 SPECIFICATIONS TA = -40C to +120C , VDD = 3 V to 3.6 V, unless otherwise noted. Table 1. Parameter POWER SUPPLY Supply Voltage, VDD Average Operating Supply Current, IDD Undervoltage Lockout Threshold Power-On Reset Threshold TEMPERATURE-TO-DIGITAL CONVERTER Local Sensor Accuracy Min Typ Max Unit Test Conditions 3.0 3.30 240 5 2.55 3.6 350 30 V A A V V 0.0625 conversions/sec rate 1 Standby mode VDD input, disables ADC, rising edge 1 2.5 1 1.5 2.5 Resolution Remote Diode Sensor Accuracy 1 Resolution Remote Sensor Source Current 0.25 220 82 13.5 1.5 71 93 C C C C C C C C A A A k ms 11.5 15 ms 0.1 0.4 1 V A 1 1.5 2.5 Maximum Series Resistance Cancelled Conversion Time OPEN-DRAIN DIGITAL OUTPUTS (THERM, ALERT/THERM2) Output Low Voltage, VOL High Level Output Leakage Current, IOH SMBus INTERFACE3, 4 Logic Input High Voltage, VIH SCLK, SDATA Logic Input Low Voltage, VIL SCLK, SDATA Hysteresis SDA Output Low Voltage, VOL Logic Input Current, IIH, IIL SMBus Input Capacitance, SCLK, SDATA SMBus Clock Frequency SMBus Timeout 5 SCLK Falling Edge to SDATA Valid Time 2.1 0C TA +70C 0C TA +85C -40C TA +100C 0C TA +70C, -55C TD 2 +150C 0C TA +85C, -55C TD2 +150C -40C TA +100C, -55C TD2 +150C D High level 3 Mid level3 Low level2 Resistance split evenly on D+ and D- lines From stop bit to conversion complete (all channels) one-shot mode with averaging switched on One-shot mode with averaging off (that is, conversion rate = 16, 32, or 64 conversions per second) IOUT = -6.0 mA VOUT = VDD V 0.8 500 0.4 +1 -1 5 25 400 64 1 V mV V A pF kHz ms s IOUT = -6.0 mA User programmable Master clocking in data 1 See Table 11 for conversion rates. Guaranteed by characterization, but not production tested. 3 Guaranteed by design, but not production tested. 4 See the Timing Specifications section for more information. 5 Disabled by default. For details on enabling the SMBus, see the Serial Bus Interface section. 2 Rev. 0 | Page 3 of 24 ADT7482 TIMING SPECIFICATIONS Table 2. SMBus Timing Specifications 1 Parameter fSCLK tLOW tHIGH tR tF tSU; STA tHD; STA 2 tSU; DAT 3 tSU; STO 4 tBUF Limit at TMIN, TMAX 400 1.3 0.6 300 300 600 600 100 600 1.3 Unit kHz max s min s min ns max ns max ns min ns min ns min ns min s min Description Clock low period, between 10% points. Clock high period, between 90% points. Clock/data rise time. Clock/data fall time. Start condition setup time. Start condition hold time. Data setup time. Stop condition setup time. Bus free time between stop and start conditions. 1 Guaranteed by design, but not production tested. Time from 10% of SDATA to 90% of SCLK. Time for 10% or 90% of SDATA to 10% of SCLK. 4 Time for 90% of SCLK to 10% of SDATA. 2 3 tLOW tR tF tHD;STA SCLK tHD;STA tHD;DAT tHIGH tSU;STA tSU;STO tSU;DAT SDATA STOP START START Figure 2. Serial Bus Timing Rev. 0 | Page 4 of 24 STOP 06150-002 tBUF ADT7482 ABSOLUTE MAXIMUM RATINGS Table 3. Parameter Positive Supply Voltage (VDD) to GND D+ D- to GND SCLK, SDATA, ALERT, THERM Input Current, SDATA, THERM Input Current, D- ESD Rating, All Pins (Human Body Model) Maximum Junction Temperature (TJ Max) Storage Temperature Range IR Reflow Peak Temperature IR Reflow Peak Temperature Pb-Free Lead Temperature (Soldering 10 sec) Rating -0.3 V to +3.6 V -0.3 V to VDD + 0.3 V -0.3 V to +0.6 V -0.3 V to +3.6 V -1 mA, to +50 mA 1 mA 2000 V 150C -65C to +150C 220C 260C 300C 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. THERMAL RESISTANCE JA is specified for the worst-case conditions, that is, a device soldered in a circuit board for surface-mount packages. Table 4. Thermal Resistance Package Type 10-Lead MSOP JA 142 ESD CAUTION ESD (electrostatic discharge) sensitive device. Electrostatic charges as high as 4000 V readily accumulate on the human body and test equipment and can discharge without detection. Although this product features proprietary ESD protection circuitry, permanent damage may occur on devices subjected to high energy electrostatic discharges. Therefore, proper ESD precautions are recommended to avoid performance degradation or loss of functionality. Rev. 0 | Page 5 of 24 JC 43.7 Unit C/W ADT7482 PIN CONFIGURATION AND FUNCTION DESCRIPTIONS VDD 1 D1- 3 THERM 4 GND 5 10 SCLK ADT7482 9 SDATA TOP VIEW (Not to Scale) 8 ALERT/THERM2 7 D2+ 6 D2- 06150-003 D1+ 2 Figure 3. Pin Configuration Table 5. Pin Function Descriptions Pin No. 1 2 3 4 Mnemonic VDD D1+ D1- THERM 5 6 7 8 GND D2- D2+ ALERT /THERM2 SDATA SCLK 9 10 Description Positive Supply, 3 V to 3.6 V. Positive Connection to the First Remote (Remote 1) Temperature Sensor. Negative Connection to the First Remote (Remote 1) Temperature Sensor. Open-Drain Output. This pin can be used to turn a fan on/off or throttle a CPU clock in the event of an overtemperature condition. Requires pull-up resistor. Supply Ground Connection. Negative Connection to the Second Remote (Remote 2) Temperature Sensor. Positive Connection to the Second Remote (Remote 2) Temperature Sensor. Open-Drain Logic Output. This pin is used as interrupt or SMBus alert. May also be configured as a second THERM output. Requires pull-up resistor. Logic Input/Output, SMBus Serial Data. Open-drain output. Requires pull-up resistor. Logic Input, SMBus Serial Clock. Requires pull-up resistor. Rev. 0 | Page 6 of 24 ADT7482 TYPICAL PERFORMANCE CHARACTERISTICS 3.5 10 3.0 2.0 DEV 15 DEV 16 MEAN HIGH 4 LOW 4 5 1.5 1.0 0.5 0 -5 D+ TO VCC -10 -15 0 50 100 150 TEMPERATURE (C) -25 06150-004 -1.0 -50 1 Figure 4. Local Temperature Error vs. Temperature Figure7. Temperature Error vs. D+/D- Leakage Resistance 3.5 0 2.0 DEV 15 DEV 16 HIGH 4 LOW 4 -2 1.5 1.0 0.5 0 -0.5 -4 -6 -8 -10 DEV 3 -12 DEV 2 -14 DEV 4 -16 0 50 100 150 TEMPERATURE (C) -18 06150-005 -1.0 -50 DEV 8 DEV 9 DEV 10 DEV 11 DEV 12 DEV 13 DEV 14 DEV 1 DEV 2 DEV 3 DEV 4 DEV 5 DEV 6 DEV 7 3.0 2.5 2.0 5 10 15 20 25 100 CAPACITANCE (nF) Figure 5. Remote 1 Temperature Error vs. Temperature 3.5 0 06150-008 2.5 DEV 8 DEV 9 DEV 10 DEV 11 DEV 12 DEV 13 DEV 14 TEMPERATURE ERROR (C) DEV 1 DEV 2 DEV 3 DEV 4 DEV 5 DEV 6 DEV 7 3.0 Figure 8. Temperature Error vs. D+/D- Capacitance 1000 DEV 15 DEV 16 MEAN HIGH 4 LOW 4 DEV 2BC 900 800 700 IDD (A) 1.5 1.0 0.5 600 500 DEV 4BC 400 300 0 DEV 3BC 200 -1.0 -50 05466-021 -0.5 0 50 100 TEMPERATURE (C) 150 100 06150-006 TEMPERATURE ERROR 100 10 LEAKAGE RESISTANCE (M) 06150-007 -20 -0.5 TEMPERATURE ERROR D+ TO GND 0 06150-009 TEMPERATURE ERROR 2.5 DEV 8 DEV 9 DEV 10 DEV 11 DEV 12 DEV 13 DEV 14 TEMPERATURE ERROR (C) DEV 1 DEV 2 DEV 3 DEV 4 DEV 5 DEV 6 DEV 7 Figure 6. Remote 2 Temperature Error vs. Temperature 0 0.01 0.1 1 10 CONVERSION RATE (Hz) Figure 9. Operating Supply Current vs. Conversion Rate Rev. 0 | Page 7 of 24 ADT7482 25 422 420 TEMPERATURE ERROR (C) DEV 2BC 416 414 DEV 3BC DEV 4BC 412 20 100mV 15 10 50mV 5 410 3.1 3.2 3.3 3.4 3.5 3.6 VDD (V) 0 06150-010 408 3.0 DEV 2 500 600 70 TEMPERATURE ERROR (C) 4.2 4.0 DEV 3 3.8 DEV 4 3.6 3.4 3.2 60 100mV 50 40 30 50mV 20 10 20mV 0 3.1 3.2 3.3 3.4 3.5 3.6 VDD (V) -10 06150-011 3.0 3.0 200 300 400 NOISE FREQUENCY (MHz) 500 600 80 DEV 2BC DEV 3BC 30 100 Figure 14. Temperature Error vs. Differential Mode Noise Frequency Figure 11. Standby Supply Current vs. Voltage 35 0 06150-014 IDD (A) 200 300 400 NOISE FREQUENCY (MHz) 80 4.4 70 TEMPERATURE ERROR (C) DEV 4BC 25 20 15 10 5 60 50 40 30 20 10 1 10 100 FSCL (kHz) 1000 06150-012 ISTBY (A) 100 Figure 13. Temperature Error vs. Common Mode Noise Frequency Figure 10. Operating Supply Current vs. Voltage 0 0 06150-013 20mV 0 0 500 1000 1500 2000 TOTAL SERIES RESISTANCE ON D+/D- LINES () Figure 15. Temperature Error vs. Series Resistance Figure 12. Standby Supply Current vs. Clock Frequency Rev. 0 | Page 8 of 24 2500 06150-015 IDD (A) 418 ADT7482 THEORY OF OPERATION The ADT7482 is a local and 2x remote temperature sensor and overtemperature/undertemperature alarm. When the ADT7482 is operating normally, the on-board ADC operates in a freerunning mode. The analog input multiplexer alternately selects either the on-chip temperature sensor to measure its local temperature or either of the remote temperature sensors. The ADC digitizes these signals and the results are stored in the local, Remote 1, and Remote 2 temperature value registers. The local and remote measurement results are compared with the corresponding high, low, and THERM temperature limits, stored in on-chip registers. Out-of-limit comparisons generate flags that are stored in the status register. A result that exceeds the high temperature limit, the low temperature limit, or a remote diode open circuit causes the ALERT output to assert low. Exceeding THERM temperature limits causes the THERM output to assert low. The ALERT output can be reprogrammed as a second THERM output. The limit registers can be programmed, and the device controlled and configured, via the serial 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, selecting the temperature measurement scale, masking or enabling the ALERT output, switching Pin 8 between ALERT and THERM2, and selecting the conversion rate. SERIES RESISTANCE CANCELLATION Parasitic resistance to the D+ and D- inputs to the ADT7482, seen in series with the remote diode, is caused by a variety of factors, including PCB track resistance and track length. This series resistance appears as a temperature offset in the remote sensor temperature measurement. This error typically causes a 0.5C offset per ohm of parasitic resistance in series with the remote diode. The ADT7482 automatically cancels out the effect of this series resistance on the temperature reading, providing a more accurate result, without the need for user characterization of this resistance. The ADT7482 is designed to automatically cancel typically up to 1.5 k of resistance. By using an advanced temperature measurement method, this is transparent to the user. This feature allows resistances to be added to the sensor path to produce a filter, allowing the part to be used in noisy environments. See the Noise Filtering section for more details. TEMPERATURE MEASUREMENT METHOD A simple method of measuring temperature is to exploit the negative temperature coefficient of a diode, measuring the base-emitter voltage (VBE) of a transistor operated at constant current. However, this technique requires calibration to null out the effect of the absolute value of VBE, which varies from device to device. The technique used in the ADT7482 is to measure the change in VBE when the device is operated at three different currents. Previous devices have used only two operating currents. The use of a third current allows automatic cancellation of resistances in series with the external temperature sensor. Figure 16 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, but it could equally be a discrete transistor. If a discrete transistor is used, the collector is not grounded and should be linked to the base. To prevent ground noise from 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. Capacitor C1 can be added as a noise filter (a recommended maximum value of 1000 pF). However, a better option in noisy environments is to add a filter, as described in the Noise Filtering section. See the Layout Considerations section for more information. To measure VBE, the operating current through the sensor is switched among three related currents. Shown in Figure 16, N1 x I and N2 x I are different multiples of the current, I. The currents through the temperature diode are switched between I and N1 x I, giving VBE1, and then between I and N2 x I, giving VBE2. The temperature can then be calculated using the two VBE measurements. This method can also be shown to cancel the effect of any series resistance on the temperature measurement. The resulting VBE waveforms are passed through a 65 kHz low-pass filter to remove noise and then to a chopper-stabilized amplifier. This amplifies and rectifies the waveform to produce a dc voltage proportional to VBE. The ADC digitizes this voltage and a temperature measurement is produced. To reduce the effects of noise, digital filtering is performed by averaging the results of 16 measurement cycles for low conversion rates. At rates of 16, 32, and 64 conversions/second, no digital averaging takes place. Signal conditioning and measurement of the internal temperature sensor are performed in the same manner. Rev. 0 | Page 9 of 24 ADT7482 VDD I N1 x I N2 x I IBIAS D+ TO ADC BIAS DIODE D- 1 CAPACITOR LOW-PASS FILTER fC = 65kHz VOUT- 06150-016 REMOTE SENSING TRANSISTOR VOUT+ C11 C1 IS OPTIONAL. IT SHOULD ONLY BE USED IN NOISY ENVIRONMENTS. Figure 16. Input Signal Conditioning TEMPERATURE MEASUREMENT RESULTS 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 local temperature measurement is an 8-bit measurement with 1C resolution. The remote temperature measurements are 10-bit measurements, with the 8 MSBs stored in one register and the 2 LSBs stored in another register. Table 6 is a list of the temperature measurement registers. Table 6. Register Address for the Temperature Values Temperature Channel Local Remote 1 Remote 2 Register Address, MSBs 0x00 0x01 0x30 Register Address, LSBs N/A 0x10 (2 MSBs) 0x33 (2 MSBs) Set Bit 3 of the Configuration 1 register to 1, to read the Remote 2 temperature values from the following register addresses: * Remote 2, MSBs = 0x01 * Remote 2, LSBs = 0x10 The above is true only when Bit 3 of the Configuration 1 register is set. To read the Remote 1 temperatures, switch this bit back to 0. Only the two MSBs in the remote temperature low byte are used. This gives the remote temperature measurement a resolution of 0.25C. Table 7 shows the data format for the remote temperature low byte. Table 7. Extended Temperature Resolution (Remote Temperature Low Byte) Extended Resolution 0.00C 0.25C 0.50C 0.75C Remote Temperature Low Byte 0 000 0000 0 100 0000 1 000 0000 1 100 0000 When reading the full remote temperature value, both the high and low byte, the two registers should be read LSB first and then MSB. Reading the LSB causes the MSB to be locked until it is read. This guarantees that the two values are read as a result of the same temperature measurement. TEMPERATURE MEASUREMENT RANGE The temperature measurement range for both local and remote measurements is, by default, 0C to +127C. However, the ADT7482 can be operated using an extended temperature range. It can measure the full temperature range of a remote thermal diode, from -55C to +150C. Switch between these two temperature ranges by setting or clearing Bit 2 in the Configuration 1 register. A valid result is available in the next measurement cycle after changing the temperature range. In extended temperature mode, the upper and lower temperature measured by the ADT7482 is limited by the remote diode selection. The temperature registers themselves can have values from -64C to +191C. However, most temperaturesensing diodes have a maximum temperature range of -55C to +150C. Note that while both local and remote temperature measurements can be made while the part is in extended temperature mode, the ADT7482 itself should not be exposed to temperatures greater than those specified in the Absolute Maximum Ratings section. Further, the device is only guaranteed to operate as specified at ambient temperatures from -40C to +120C. Rev. 0 | Page 10 of 24 ADT7482 TEMPERATURE DATA FORMAT The ADT7482 has two temperature data formats. When the temperature measurement range is from 0C to 127C (default), the temperature data format for both local and remote temperature results is binary. When the measurement range is in extended mode, an offset binary data format is used for both local and remote results. Temperature values in the offset binary data format are offset by +64. Examples of temperatures in both data formats are shown in Table 8. Switching between measurement ranges can be done at any time. Switching the range also switches the data format. The next temperature result following the switching is reported back to the register in the new format. However, the contents of the limit registers do not change. Ensure that when the data format changes, the limit registers are reprogrammed as necessary. For more information, refer to the Limit Registers section. Table 8. Temperature Data Format (Local and Remote Temperature High Byte) Temperature -55C 0C +1C +10C +25C +50C +75C +100C +125C +127C +150C Offset Binary 1 0 000 1001 0 100 0000 0 100 0001 0 100 1010 0 101 1001 0 111 0010 1 000 1011 1 010 0100 1 011 1101 1 011 1111 1 101 0110 Binary 0 000 0000 2 0 000 0000 0 000 0001 0 000 1010 0 001 1001 0 011 0010 0 100 1011 0 110 0100 0 111 1101 0 111 1111 0 111 1111 3 1 Offset binary scale temperature values are offset by +64. Binary scale temperature measurement returns 0 for temperature < 0C. 3 Binary scale temperature measurement returns 127 for temperature > 127C. 2 Rev. 0 | Page 11 of 24 ADT7482 REGISTERS The registers in the ADT7482 are 8-bits wide. These registers 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. 7 of this register locks all lockable registers. The affected registers can only be modified if the ADT7482 is powered down and powered up again. See Table 16 for a list of the registers affected by the lock bit. ADDRESS POINTER REGISTER The ADT7482 has five registers to store the results of local and remote temperature measurements. These registers can only be written to by the ADC and can be read over the SMBus. The address pointer register itself does not have, or require, an address, as the first byte of every write operation is automatically written to this register. The data in this first byte always contains the address of another register on the ADT7482, which is stored in the address pointer register. It is to this register address that the second byte of a write operation is written to or to which a subsequent read operation is performed. The power-on default value of the address pointer register is 0x00. Therefore, if a read operation is performed immediately after power-on, without first writing to the address pointer, the value of the local temperature is returned, since its register address is 0x00. TEMPERATURE VALUE REGISTERS * The local temperature value register is at Address 0x00. * The Remote 1 temperature value high byte register is at Address 0x01; the Remote 1 low byte register is at Address 0x10. * The Remote 2 temperature value high byte register is at Address 0x30; the Remote 2 low byte register is at Address 0x33. * The Remote 2 temperature values can be read from Addresses 0x01 for the high byte and Address 0x10 for the low byte if Bit 3 of Configuration Register 1 is set to 1. * To read the Remote 1 temperature values, set Bit 3 of Configuration Register 1 to 0. * The power-on default for all five registers is 0x00. CONFIGURATION REGISTERS There are two configuration registers used to control the operation of the ADT7482. Configuration 1 register is at Address 0x03 for reads and Address 0x09 for writes. See Table 9 for details regarding the operation of this register. Configuration 2 Register is at Address 0x24 for both reads and writes. Setting Bit Table 9. Configuration 1 Register (Read Address = 0x03, Write Address = 0x09) Bit 7 Mnemonic Mask 6 Mon/STBY 5 4 3 AL/TH Reserved Remote 1 /Remote 2 Temp Range Mask R1 Mask R2 2 1 0 Description Setting this bit to 1 masks all ALERTs on the ALERT pin. Default = 0 = ALERT enabled. This applies only if Pin 8 is configured as ALERT, otherwise it has no effect. Setting this bit to 1 places the ADT7482 in standby mode (that is, it suspends all temperature measurements (ADC). The SMBus remains active and values can be written to and read from the registers. THERM and ALERT are also active in standby mode. Changes made to the limit registers in standby mode that effect the THERM or ALERT outputs cause these signals to be updated. Default = 0 = temperature monitoring enabled. This bit selects the function of Pin 8. Default = 0 = ALERT. Setting this bit to 1 configures Pin 8 as THERM2 pin. Reserved for future use. Setting this bit to 1 enables Remote 2 values to be read from the Remote 1 registers. Default = 0 = Remote 1 temperature values and limits are read from these registers. Setting this bit to 1 enables the extended temperature measurement range (-50C to +150C). Default = 0 = (0C to +127C). Setting this bit to 1 masks ALERTs due to the Remote 1 temperature exceeding a programmed limit. Default = 0. Setting this bit to 1 masks ALERTs due to the Remote 2 temperature exceeding a programmed limit. Default = 0. Table 10. Configuration 2 Register (Read/Write Address = 0x24) Bit 7 Mnemonic Lock Bit <6:0> Res Description Setting this bit to 1 locks all lockable registers to their current values. This prevents settings from being tampered with until the device is powered down. Default = 0. Reserved for future use. Rev. 0 | Page 12 of 24 ADT7482 CONVERSION RATE REGISTER The conversion rate register is at Address 0x04 for reads and Address 0x0A for writes. The four LSBs of this register are used to program the conversion times from 15.5 ms (Code 0x0A) to 16 seconds (Code 0x00). To program the ADT7482 to perform continuous measurements, set the conversion rate register to 0x0B. For example, a conversion rate of 8 conversions/second means that, beginning at 125 ms intervals, the device performs a conversion on the local and the remote temperature channels. The four MSBs of this register are reserved and should not be written to. This register can be written to and read back over the SMBus. The default value of this register is 0x07, giving a rate of 8 conversions per second. Use of slower conversion times greatly reduces the device power consumption. LIMIT REGISTERS The ADT7482 has three limits for each temperature channel: high, low, and THERM temperature limits for local, Remote 1, and Remote 2 temperature measurements. The remote temperature high and low limits span two registers each, to contain an upper and lower byte for each limit. There is also a THERM hysteresis register. All limit registers can be written to and read back over the SMBus. See Table 16 for limit register addresses and power-on default values. When Pin 8 is configured as an ALERT output, 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 81C results in an out-of-limit condition, setting a flag in the status register. If the low limit register is programmed with 0C, measuring 0C or lower results in an out-of-limit condition. Exceeding either the local or remote THERM limit asserts THERM low. When Pin 8 is configured as THERM2, exceeding either the local or remote high limit asserts THERM2 low. A default hysteresis value of 10C is provided that applies to both THERM channels. This hysteresis value can be reprogrammed. It is important to remember that the temperature limits data format is the same as the temperature measurement data format. If the temperature measurement uses the default binary scale, then the temperature limits also use the binary scale. If the temperature measurement scale is switched, however, the temperature limits do not switch automatically. The limit registers must be reprogrammed to the desired value in the correct data format. For example, if the remote low limit is set at 10C and the default binary scale is used, the limit register value should be 0000 1010b. If the scale is switched to offset binary, the value in the low temperature limit register should be reprogrammed to be 0100 1010b. Table 11. Conversion Rate Register (Read Address = 0x04, Write Address = 0x0A) Bit 7 6 5 4 <3:0> Mnemonic Reserved Reserved Reserved Reserved Conversion rates Function Reserved for future use. Do not write to this bit. Reserved for future use . Do not write to this bit. Reserved for future use . Do not write to this bit. Reserved for future use. Do not write to this bit. These bits set how often the ADT7482 measures each temperature channel. Conversions/sec Time (seconds) 0000 = 0.0625 16 0001 = 0.125 8 0010 = 0.25 4 0011 = 0.5 2 0100 = 1 1 0101 = 2 500 m 0110 = 4 250 m 0111 = 8 = default 125 m 1000 = 16 62.5 m 1001 = 32 31.25 m 1010 = 64 15.5 m Rev. 0 | Page 13 of 24 ADT7482 STATUS REGISTERS The status registers are read-only registers at Addresses 0x02 (Status Register 1) and Address 0x23 (Status Register 2). They contain status information for the ADT7482. Table 12. Status Register 1 Bit Assignments Bit Name Function ALERT 7 6 BUSY LHIGH1 No Yes 5 LLOW1 4 R1HIGH1 3 R1LOW1 2 D1 OPEN1 1 R1THRM1 0 LTHRM1 1 when ADC converting 1 when local high temperature limit tripped 1 when local low temperature limit tripped 1 when Remote 1 high temperature limit tripped 1 when Remote 1 low temperature limit tripped 1 when Remote 1 sensor open circuit 1 when Remote1 THERM limit tripped 1 when local THERM limit tripped Yes Yes Yes Yes No No These flags stay high until the status register is read, or they are reset by POR 1 These flags stay high until the status register is read, or they are reset by POR. Table 13. Status Register 2 Bit Assignments Bit 7 6 5 Name Res Res Res 4 R2HIGH1 3 R2LOW1 2 D2 OPEN1 1 R2THRM1 0 ALERT 1 Function Reserved for future use Reserved for future use Reserved for future use 1 when Remote 2 high temperature limit tripped 1 when Remote 2 low temperature limit tripped 1 when Remote 2 sensor open circuit 1 when Remote2 THERM limit tripped 1 when ALERT condition exists. ALERT No No No condition has gone away and the status register flag bits have been reset. When Flag 1 and/or Flag 0 of Status Register 1 or Flag 1 of Status Register 2 are set, the THERM output goes low to indicate that the temperature measurements are outside the programmed limits. The 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 automatically, and the THERM output goes high. To add hysteresis, program Register 0x21. The THERM output is reset only when the temperature falls below the THERM limit minus hysteresis. When Pin 8 is configured as THERM2, only the high temperature limits are relevant. If Flag 6 or Flag 4 of Status Register 1 or Flag 4 of Status Register 2 are set, the THERM2 output goes low to indicate that the temperature measurements are outside the programmed limits. Flag 5 and Flag 3 of Status Register 1 and Flag 3 of Status Register 2 have no effect on THERM2. The behavior of THERM2 is otherwise the same as THERM. Bit 0 of the Status Register 2 is set whenever the ADT7482 ALERT output is asserted low. Read Status Register 2 to determine if the ADT7482 is responsible for the ALERT. This bit is reset when the ALERT output is reset. If the ALERT output is masked, then this bit is not set. Yes OFFSET REGISTER Yes Yes No Offset errors can be introduced into the remote temperature measurement by clock noise or by the thermal diode being located away from the hot spot. To achieve the specified accuracy on this channel, these offsets must be removed. The offset values are stored as 10-bit, twos complement values. No These flags stay high until the status register is read, or they are reset by POR. The eight flags that can generate an ALERT are NOR'd together. When any flags are high, the ALERT interrupt latch is set and the ALERT output goes low (provided they are not masked out). Reading the Status 1 register clears the 5 flags, (Bit 6 through Bit 2) in Status Register 1, provided the error conditions that caused the flags to be set have gone away. Reading the Status 2 Register clears the three flags, (Bit 4 through Bit 2) in Status Register 2, provided the error conditions that caused the flags to be set have gone away. A flag bit can only be reset if the corresponding value register contains an in-limit measurement or if the sensor is good. The ALERT interrupt latch is not reset by reading the status register. It is reset when the ALERT output has been serviced by the master reading the device address, provided the error * The Remote 1 Offset MSBs are stored in Register 0x11 and the LSBs are stored in Register 0x12 (low byte, left justified). The Remote 2 Offset MSBs are stored in Register 0x34 and the LSBs are stored in Register0x35 (low byte, left justified). * The Remote 2 Offset can be written to or read from the Remote 1 Offset Registers if Bit 3 of the Configuration 1 register is set to 1. This bit should be set to 0 (default) to read the Remote 1 offset values. Only the upper 2 bits of the LSB registers are used. The MSB of MSB offset registers is the sign bit. The minimum offset that can be programmed is -128C, and the maximum is +127.75C. The value in the offset register is added or subtracted to the measured value of the remote temperature. The offset register powers up with a default value of 0C and has no effect unless a different value is written to it. Rev. 0 | Page 14 of 24 ADT7482 Table 14. Sample Offset Register Codes Offset Value -128C -4C -1C -0.25C 0C +0.25C +1C +4C +127.75C 0x11/0x34 1000 0000 1111 1100 1111 1111 1111 1111 0000 0000 0000 0000 0000 0001 0000 0100 0111 1111 CONSECUTIVE ALERT REGISTER 0x12/0x35 00 00 0000 00 00 0000 00 000000 11 00 0000 00 00 0000 01 00 0000 00 00 0000 00 00 0000 11 00 0000 The 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 maximum value that can be chosen is 4. This register allows some filtering of the output. This is particularly useful at the fastest three conversion rates, where no averaging takes place. This register address is 0x22. For more information, refer to Table 15. Table 15. Consecutive ALERT Register Bit ONE-SHOT REGISTER The one-shot register initiates a conversion and comparison cycle when the ADT7482 is in standby mode, after which the device returns to standby. Writing to the one-shot register address (0x0F) causes the ADT7482 to perform a conversion and comparison on both the local and the remote temperature channels. This is not a data register as such, and it is the write operation to Address 0x0F that causes the one-shot conversion. The data written to this address is irrelevant and is not stored. Register Value1 yzax 000x yzax 001x yzax 011x yzax 111x 1 Amount of Out-of-Limit Measurements Required 1 2 3 4 Notes: y = SMBus SCL timeout bit. Default = 0. See the Serial Bus Interface section for more information. z = SMBus SDA timeout bit. Default = 0. See the Serial Bus Interface section for more information. a = Mask Internal ALERTs. x = Don't care bit. Rev. 0 | Page 15 of 24 ADT7482 Table 16. List of Registers Read Address (Hex) N/A 00 01 01 02 03 04 05 06 07 07 08 08 N/A 10 10 11 11 12 12 13 13 14 14 19 19 20 21 22 23 24 30 31 32 33 34 35 36 37 39 FE FF 1 Write Address (Hex) N/A N/A N/A N/A N/A 09 0A 0B 0C 0D 0D 0E 0E 0F 1 N/A N/A 11 11 12 12 13 13 14 14 19 19 20 21 22 N/A 24 N/A 31 32 N/A 34 35 36 37 39 N/A N/A Name Address Pointer Local Temperature Value Remote 1 Temperature Value High Byte Remote 2 Temperature Value High Byte Status Register 1 Configuration Register 1 Conversion Rate Local Temperature High Limit Local Temperature Low Limit Remote 1 Temperature High Limit High Byte Remote 2 Temperature High Limit High Byte Remote 1 Temperature Low Limit High Byte Remote 2 Temperature Low Limit High Byte One Shot Remote 1 Temperature Value Low Byte Remote 2 Temperature Value Low Byte Remote 1 Temperature Offset High Byte Remote 2 Temperature Offset High Byte Remote 1 Temperature Offset Low Byte Remote 2 Temperature Offset Low Byte Remote 1 Temperature High Limit Low Byte Remote 2 Temperature High Limit Low Byte Remote 1 Temperature Low Limit Low Byte Remote 2 Temperature Low Limit Low Byte Remote 1 THERM Limit Remote 2 THERM Limit Local THERM Limit THERM Hysteresis Consecutive ALERT Status Register 2 Configuration 2 Register Remote 2 Temperature Value High Byte Remote 2 Temperature High Limit High Byte Remote 2 Temperature Low Limit High Byte Remote 2 Temperature Value Low Byte Remote 2 Temperature Offset High Byte Remote 2 Temperature Offset Low Byte Remote 2 Temperature High Limit Low Byte Remote 2 Temperature Low Limit Low Byte Remote 2 THERM Limit Manufacturer ID Die Revision Code Power-On Default Undefined 0000 0000 (0x00) 0000 0000 (0x00) 0000 0000 (0x00) Undefined 0000 0000 (0x00) 0000 0111 (0x07) 0101 0101 (0x55) (85C) 0000 0000 (0x00) (0C) 0101 0101 (0x55) (85C) 0101 0101 (0x55) (85C) 0000 0000 (0x00) (0C) 0000 0000 (0x00) (0C) 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0101 0101 (0x55) (85C) 0101 0101 (0x55) (85C) 0101 0101 (0x55) (85C) 0000 1010 (0x0A) (10C) 0000 0001 (0x01) 0000 0000 (0x00) 0000 0000 (0x00) 0000 0000 (0x00) 0101 0101 (0x55) (85C) 0000 0000 (0x00) (0C) 0000 0000 (0x00) 0000 0000 (0x00) 0000 0000 (0x00) 0000 0000 (0x00) (0C) 0000 0000 (0x00) (0C) 0101 0101 (0x55) (85C) 0100 0001 (0x41) 0110 0101 (0x65) Comment Bit 3 Conf. Reg. = 0 Bit 3 Conf. Reg. = 1 Bit 3 Conf. Reg. = 0 Bit 3 Conf. Reg. = 1 Bit 3 Conf. Reg. = 0 Bit 3 Conf. Reg. = 1 Bit 3 Conf. Reg. = 0 Bit 3 Conf. Reg. = 1 Bit 3 Conf. Reg. = 0 Bit 3 Conf. Reg. = 1 Bit 3 Conf. Reg. = 0 Bit 3 Conf. Reg. = 1 Bit 3 Conf. Reg. = 0 Bit 3 Conf. Reg. = 1 Bit 3 Conf. Reg. = 0 Bit 3 Conf. Reg. = 1 Bit 3 Conf. Reg. = 0 Bit 3 Conf. Reg. = 1 Writing to address 0F causes the ADT7482 to perform a single measurement. It is not a data register as such and it does not matter what data is written to it. Rev. 0 | Page 16 of 24 Lock No No No No No Yes Yes Yes Yes Yes Yes Yes Yes N/A No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes No Yes Yes No Yes Yes Yes Yes Yes N/A N/A ADT7482 SERIAL BUS INTERFACE Control of the ADT7482 is achieved via the serial bus. The ADT7482 is connected to this bus as a slave device, under the control of a master device. The ADT7482 has an SMBus timeout feature. When this is enabled, the SMBus times out after typically 25 ms of no activity. However, this feature is not enabled by default. Set Bit 7 (SCL Timeout Bit) of the consecutive alert register (Address = 0x22) to enable the SCL Timeout. Set Bit 6 (SDA Timeout Bit) of the consecutive alert register (Address = 0x22) to enable the SDA Timeout. 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 responds. The ADT7482 is available with one device address, 0x4C (1001 100b). The address mentioned in this data sheet is a 7-bit address. The R/W bit needs to be added to arrive at an 8-bit address. Serial Bus Protocol Operation 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 follows. 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, that is, whether data is to 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. If the R/W bit is a 0, the master writes to the slave device. If the R/W bit is a 1, the master reads from the slave device. Data is sent over the serial bus in a sequence 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 can 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. When all data bytes have been read or written, stop conditions are established. In write mode, the master pulls the data line high during the tenth clock pulse to assert a stop condition. In read mode, the master device overrides 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 then takes 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. Any number of bytes of data can 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. In the case of the ADT7482, write operations contain either one or two bytes, while read operations contain one byte. To write data to one of the device data registers or to read data from it, the address pointer register must 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. 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. Rev. 0 | Page 17 of 24 ADT7482 1 9 9 1 SCL 1 SDA 0 0 1 1 0 0 R/W START BY MASTER D6 D7 D5 D4 D3 D2 D1 D0 ACK. BY ADT7482 ACK. BY ADT7482 FRAME 1 SERIAL BUS ADDRESS BYTE FRAME 2 ADDRESS POINTER REGISTER BYTE 1 9 SCL (CONTINUED) D6 D5 D4 D2 D3 D1 D0 ACK. BY ADT7482 STOP BY MASTER FRAME 3 DATA BYTE 06150-017 D7 SDA (CONTINUED) Figure 17. Writing a Register Address to the Address Pointer Register, then Writing Data to the Selected Register 1 9 1 9 SCL 0 0 1 1 0 0 R/W START BY MASTER D7 D6 D5 D4 D3 D2 D1 D0 ACK. BY ADT7482 ACK. BY STOP BY ADT7482 MASTER FRAME 1 SERIAL BUS ADDRESS BYTE FRAME 2 ADDRESS POINTER REGISTER BYTE 06150-018 1 SDA Figure 18. Writing to the Address Pointer Register Only 1 9 1 9 SCL 1 0 0 1 1 0 START BY MASTER 0 R/W D7 D6 D5 D4 D3 D2 D1 D0 NO ACK. STOP BY BY MASTER MASTER ACK. BY ADT7482 FRAME 1 SERIAL BUS ADDRESS BYTE FRAME 2 DATA BYTE FROM ADT7482 06150-019 SDA Figure 19. Reading from a Previously Selected Register Reading Data from a Register When reading data from a register there are two possibilities: When reading data from a register, it is important to note the following points: * 1. It is possible to read a data byte from a data register without first writing to the address pointer register. However, 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. This is because the first data byte of a write is always written to the address pointer register. 2. Remember that some of the ADT7482 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 may not be 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. If the ADT7482 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 ADT7482 as before, but only the data byte containing the register read address is sent, as data is not to be written to the register. This is shown in Figure 18. 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 19. * If the address pointer register is known to be already at the desired address, data can be read from the corresponding data register without first writing to the address pointer register and the bus transaction shown in Figure 18 can be omitted. Rev. 0 | Page 18 of 24 ADT7482 ALERT OUTPUT Pin 8 can be configured as an ALERT output. The ALERT output goes low whenever an out-of-limit measurement is detected, or if the remote temperature sensor is an open circuit. It is an open-drain output and requires a pull-up to VDD. Several ALERT outputs can be wire-OR'ed together, so that the common line goes low if one or more of the ALERT outputs goes low. The ALERT output can be used as an interrupt signal to a processor, or it can be used as an SMBALERT. Slave devices on the SMBus cannot normally signal to the bus master that they want to talk, but the SMBALERT function allows them to do so. 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 20. MASTER RECEIVES SMBALERT ALERT RESPONSE ADDRESS RD ACK MASTER SENDS ARA AND READ COMMAND DEVICE ADDRESS DEVICE SENDS ITS ADDRESS NO ACK STOP 06150-020 START Figure 20. Use of SMBALERT 1. SMBALERT is pulled low. 2. Master initiates a read operation and sends the alert response address (ARA = 0001 100). This is a general call address that should 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. As 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 has a low ALERT, the one with the lowest device address has priority, in accordance with normal SMBus arbitration. 5. Once the ADT7482 has responded to the alert response address, it resets its ALERT output, provided that the error condition that caused the ALERT no longer exists. If the SMBALERT line remains low, the master sends the ARA again, and so on until all devices with low ALERT outputs respond. LOW POWER STANDBY MODE The ADT7482 can be put into low power standby mode by setting Bit 6 (Mon/STBY bit) of the Configuration 1 register (Read Address = 0x03, Write Address = 0x09) to 1. When Bit 6 is 0, the ADT7482 operates normally. When Bit 6 is 1, the ADC is inhibited, and any conversion in progress is terminated without writing the result to the corresponding value register. The SMBus is still enabled in low power standby mode. Power consumption in this standby mode is reduced to a typical of 5 A if there is no SMBus activity or up to 30 A if there are clock and data signals on the bus. When the device is in standby mode, it is still possible to initiate a one-shot conversion of all channels by writing to the one-shot register (Address 0x0F), after which the device returns to standby. It does not matter what is written to the one-shot register as all data written to it is ignored. It is also possible to write new values to the limit register while in standby mode. If the values stored in the temperature value registers are now outside the new limits, an ALERT is generated, even though the ADT7482 is still in standby mode. SENSOR FAULT DETECTION The ADT7482 has sensor fault detection circuitry internally at its D+ inputs. This circuit can detect situations where a remote diode is not connected, or is incorrectly connected, to the ADT7482. A simple voltage comparator trips if the voltage at D+ exceeds VDD -1 V (typical), signifying an open circuit between D+ and D-. The output of this comparator is checked when a conversion is initiated. Bit 2 (D1 OPEN flag) of the StatusRegister 1 (Address 0x02) is set if a fault is detected on the Remote 1 channel. Bit 2 (D2 OPEN flag) of the Status Register 2 (Address 0x23) is set if a fault is detected on the Remote 2 channel. If the ALERT pin is enabled, setting this flag causes ALERT to assert low. If a remote sensor is not used with the ADT7482, then the D+ and D- inputs of the ADT7482 need to be tied together to prevent the OPEN flag from being set continuously. Most temperature sensing diodes have an operating temperature range of -55C to +150C. Above 150C, they lose their semiconductor characteristics and approximate conductors instead. This results in a diode short, setting the open flag. The remote diode in this case no longer gives an accurate temperature measurement. A read of the temperature result register gives the last good temperature measurement. Be aware that while the diode fault is triggered, the temperature measurement on the remote channels may not be accurate. INTERRUPT SYSTEM The ADT7482 has two interrupt outputs, ALERT and THERM. Both have different functions and behavior. ALERT is maskable and responds to violations of software-programmed temperature limits or an open-circuit fault on the remote diode. THERM is intended as a fail-safe interrupt output that cannot be masked. If the Remote 1, Remote 2, or local temperature exceeds the programmed high temperature limits, or equals or exceeds the Rev. 0 | Page 19 of 24 ADT7482 The THERM output asserts low if the Remote 1, Remote 2, or local temperature exceeds the programmed THERM limits. The THERM temperature limits should normally be equal to or greater than the high temperature limits. THERM is reset automatically when the temperature falls back within the (THERM - hysteresis) limit. The local and remote THERM limits are set by default to 85C. A hysteresis value can be programmed, in which case, THERM resets when the temperature falls to the limit value minus the hysteresis value. This applies to both local and remote measurement channels. The power-on hysteresis default value is 10C, but this can be reprogrammed to any value after power-up. The hysteresis loop on the THERM outputs is useful when THERM is used for on/off control of a fan. The system can be set up so that when THERM asserts, a fan can be switched on to cool the system. When THERM goes high again, the fan can be switched off. Programming a hysteresis value protects from fan jitter, where the temperature hovers around the THERM limit, and the fan is constantly being switched on and off. 0C 1C 10C 90C 80C THERM LIMIT 70C THERM LIMIT-HYSTERESIS 60C HIGH TEMP LIMIT 50C 40C RESET BY MASTER ALERT THERM 1 4 2 3 Figure 21. Operation of the ALERT and THERM Interrupts 1. If the measured temperature exceeds the high temperature limit, the ALERT output asserts low. 2. If the temperature continues to increase and exceeds the THERM limit, the THERM output asserts low. This can be used to throttle the CPU clock or switch on a fan. 3. The THERM output de-asserts (goes high) when the temperature falls to THERM limit minus hysteresis. In Figure 21, the default hysteresis value of 10C is shown. 4. The ALERT output de-asserts only when the temperature has fallen below the high temperature limit, and the master has read the device address and cleared the status register. Pin 8 on the ADT7482 can be configured as either an ALERT output or as an additional THERM output. THERM2 asserts low when the temperature exceeds the programmed local and/or remote high temperature limits. It is reset in the same manner as THERM, and it is not maskable. The programmed hysteresis value applies to THERM2 also. Table 17. THERM Hysteresis THERM Hysteresis TEMPERATURE 100C Binary Representation 0 000 0000 0 000 0001 0 000 1010 If the ADT7482 is in the default temperature range (0C to 127C), then THERM hysteresis must be less than the THERM limit. Figure 21 shows how the THERM and ALERT outputs operate. If desired, use the ALERT output as a SMBALERT to signal to the host via the SMBus that the temperature has risen. Use the THERM output to turn on a fan to cool the system, if the temperature continues to increase. This method ensures that there is a fail-safe mechanism to cool the system, without the need for host intervention. Figure 22 shows how THERM and THERM2 might operate together to implement two methods of cooling the system. In this example, the THERM2 limits are set lower than the THERM limits. The THERM2 output could be used to turn on a fan. If the temperature continues to rise and exceeds the THERM limits, the THERM output could provide additional cooling by throttling the CPU. Rev. 0 | Page 20 of 24 06150-021 low temperature limits, the ALERT output is asserted low. An open-circuit fault on the remote diode also causes ALERT to assert. ALERT is reset when serviced by a master reading its device address, provided the error condition has gone away, and the status register has been reset. ADT7482 TEMPERATURE 90C 80C 1. When the THERM2 limit is exceeded, the THERM2 signal asserts low. 2. If the temperature continues to increase and exceeds the THERM limit, the THERM output asserts low. 3. The THERM output de-asserts (goes high) when the temperature falls to THERM limit minus hysteresis. In Figure 22, there is no hysteresis value shown. 4. As the system cools further, and the temperature falls below the THERM2 limit, the THERM2 signal resets. Again, no hysteresis value is shown for THERM2. THERM LIMIT 70C 60C THERM2 LIMIT 50C 40C 30C 1 4 THERM 2 3 06150-022 THERM2 Figure 22. Operation of the THERM and THERM2 Interrupts The temperature measurement could be either the local or the remote temperature measurement. Rev. 0 | Page 21 of 24 ADT7482 APPLICATIONS INFORMATION To factor this in, write the T value to the offset register. It is then automatically added to or subtracted from the temperature measurement by the ADT7482. NOISE FILTERING For temperature sensors operating in noisy environments, the previous practice was to place a capacitor across the D+ pin and the D- pins to help combat the effects of noise. However, large capacitances affect the accuracy of the temperature measurement, leading to a recommended maximum capacitor value of 1000 pF. While this capacitor reduces the noise, it does not eliminate it, making it difficult to use the sensor in a very noisy environment. * The ADT7482 has a major advantage over other devices for eliminating the effects of noise on the external sensor. The series resistance cancellation feature allows a filter to be constructed between the external temperature sensor and the part. The effect of any filter resistance seen in series with the remote sensor is automatically cancelled from the temperature result. The construction of a filter allows the ADT7482 and the remote temperature sensor to operate in noisy environments. Figure 23 shows a low-pass R-C-R filter, with the following values: R = 100 and C = 1 nF This filtering reduces both common-mode noise and differential noise. 100 100 If a discrete transistor is being used with the ADT7482, the best accuracy is obtained by choosing devices according to the following criteria: * Base-emitter voltage greater than 0.25 V at 6 A, at the highest operating temperature. * Base-emitter voltage less than 0.95 V at 100 A, at the lowest operating temperature. * Base resistance less than 100 . * Small variation in hFE (such as 50 to 150) that indicates tight control of VBE characteristics. D+ 1nF D- 04110-0-009 REMOTE TEMPERATURE SENSOR Figure 23. Filter Between Remote Sensor and ADT7482 FACTORS AFFECTING DIODE ACCURACY Transistors, such as 2N3904, 2N3906, or equivalents in SOT-23 packages, are suitable devices to use. Remote Sensing Diode The ADT7482 is designed to work with substrate transistors built into processors or with discrete transistors. Substrate transistors are generally PNP types with the collector connected to the substrate. Discrete types can be either PNP or NPN transistors 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+. To reduce the error due to variations in both substrate and discrete transistors, a number of factors should be taken into consideration: * The ideality factor, nf, of the transistor is a measure of the deviation of the thermal diode from ideal behavior. The ADT7482 is trimmed for an nf value of 1.008. The following equation can be used to calculate the error introduced at a temperature T (C), when using a transistor whose nf does not equal 1.008. Consult the processor data sheet for the nf values. ( ) T = n f - 1.008 /1.008 x (273 .15 Kelvin + T ) Some CPU manufacturers specify the high and low current levels of the substrate transistors. The high current level of the ADT7482, IHIGH, is 220 A and the low level current, ILOW, is 13.5 A. If the ADT7482 current levels do not match the current levels specified by the CPU manufacturer, it may be necessary to remove an offset. The CPU data sheet advises whether this offset needs to be removed and how to calculate it. This offset can be programmed to the offset register. It is important to note that if more than one offset must be considered, the algebraic sum of these offsets must be programmed to the offset register. THERMAL INERTIA AND SELF-HEATING Accuracy depends on the temperature of the remote sensing diode and/or the local temperature sensor being at the same temperature as that being measured. A number of factors can affect this. Ideally, the sensor should be in good thermal contact with the part of the system being measured. If it is not, the thermal inertia caused by the sensor's mass causes a lag in the response of the sensor to a temperature change. In the case of the remote sensor, this should not be a problem, since it is either a substrate transistor in the processor or a small package device, such as SOT-23, placed in close proximity to it. The on-chip sensor, however, is often remote from the processor and only monitors the general ambient temperature around the package. In practice, the ADT7482 package is in electrical, and hence thermal, contact with a PCB and may also be in a forced airflow. How accurately the temperature of the board and/or the forced airflow reflects the temperature to be measured also affects the accuracy. Self-heating due to the power dissipated in the ADT7482 or the remote sensor causes the chip temperature of the device or remote sensor to rise Rev. 0 | Page 22 of 24 ADT7482 above ambient. However, the current forced through the remote sensor is so small that self-heating is negligible. In the case of the ADT7482, the worst-case condition occurs when the device is converting at 64 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 4.5 mW. The thermal resistance, JA, of the MSOP-10 package is about 142C/W. * Thermocouple effects should not be a major problem as 1C corresponds to about 200 mV, and thermocouple voltages are about 3 mV/C of temperature difference. Unless there are two thermocouples with a big temperature differential between them, thermocouple voltages should be much less than 200 mV. * Place a 0.1 F bypass capacitor close to the VDD pin. In extremely noisy environments, an input filter capacitor can be placed across D+ and D-, close to the ADT7482. This capacitance can effect the temperature measurement, so care must be taken to ensure that any capacitance seen at D+ and D- is a maximum of 1000 pF. This maximum value includes the filter capacitance, plus any cable or stray capacitance between the pins and the sensor diode. * If the distance to the remote sensor is more than 8 inches, the use of twisted pair cable is recommended. A total of 6 feet to 12 feet is needed. * For long distances (up to 100 feet), use shielded twisted pair, such as Belden No. 8451 microphone cable. Connect the twisted pair to D+ and D- and the shield to GND close to the ADT7482. Leave the remote end of the shield unconnected to avoid ground loops. LAYOUT CONSIDERATIONS Digital boards can be electrically noisy environments, and the ADT7482 is measuring very small voltages from the remote sensor, so care must be taken to minimize noise induced at the sensor inputs. Take the following precautions: * * Place the ADT7482 as close as possible to the remote sensing diode. Provided that the worst noise sources, that is, clock generators, data/address buses, and CRTs, are avoided, this distance can be 4 inches to 8 inches. Route the D+ and D- tracks close together, in parallel, with grounded guard tracks on each side. To minimize inductance and reduce noise pick-up, a 5 mil track width and spacing is recommended. Provide a ground plane under the tracks,if possible. Because the measurement technique uses switched current sources, excessive cable or filter capacitance can affect the measurement. When using long cables, the filter capacitance can be reduced or removed. 5MIL GND 5MIL D+ 5MIL 5MIL APPLICATION CIRCUIT 5MIL Figure 25 shows a typical application circuit for the ADT7482, using discrete sensor transistors. The pull-ups on SCLK, SDATA, and ALERT are required only if they are not already provided elsewhere in the system. 5MIL 06150-024 5MIL GND Figure 24. Typical Arrangement of Signal Tracks * Try to minimize the number of copper/solder joints that 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. The SCLK pin and the SDATA pin of the ADT7482 can be interfaced directly to the SMBus of an I/O controller, such as the Intel(R) 820 chipset. VDD ADT7482 3V TO 3.6V 0.1F TYP 10k D1+ 2N3904/06 OR CPU THERMAL DIODE SCLK D1- SMBUS CONTROLLER SDATA D2+ ALERT D2- THERM GND 5V OR 12V VDD TYP 10k FAN ENABLE Figure 25. Typical Application Circuit Rev. 0 | Page 23 of 24 FAN CONTROL CIRCUIT 06150-025 D- ADT7482 OUTLINE DIMENSIONS 3.00 BSC 10 6 4.90 BSC 3.00 BSC 1 5 PIN 1 0.50 BSC 0.95 0.85 0.75 1.10 MAX 0.15 0.00 0.27 0.17 SEATING PLANE 0.23 0.08 8 0 0.80 0.60 0.40 COPLANARITY 0.10 COMPLIANT TO JEDEC STANDARDS MO-187-BA Figure 26. 10-Lead Mini Small Outline Package (MSOP) RM-10 Dimensions shown in millimeters ORDERING GUIDE Model ADT7482ARMZ 1 ADT7482ARMZ-REEL ADT7482ARMZ-REEL7 1 Temperature Range -40C to +125C -40C to +125C -40C to +125C Package Description 10-Lead MSOP 10-Lead MSOP 10-Lead MSOP Z = Pb-free part. (c)2006 Analog Devices, Inc. All rights reserved. Trademarks and registered trademarks are the property of their respective owners. D06150-0-6/06(0) Rev. 0 | Page 24 of 24 Package Option RM-10 RM-10 RM-10 Branding T0A T0A T0A SMBus Address 4C 4C 4C