Dual Channel Temperature Sensor and Over Temperature Alarm ADT7481 FEATURES GENERAL DESCRIPTION 1 local and 2 remote temperature sensors 0.25°C resolution/1°C accuracy on remote channels 1°C resolution/1°C accuracy on local channel Extended, switchable temperature measurement range 0°C to 127°C (default) or –64°C to +191°C 2-wire SMBus serial interface with SMBus ALERT support Programmable over/under temperature limits Offset registers for system calibration Up to 2 over temperature fail-safe THERM outputs Small 10-lead MSOP package 240 μA operating current, 5 μA standby current The ADT74811 is a 3-channel digital thermometer and under/ over temperature alarm, intended for use in PCs and thermal management systems. It can measure its own ambient temperature or the temperature of two remote thermal diodes. These thermal diodes can be located in a CPU or GPU, or they can be discrete diode connected transistors. The ambient temperature, or the temperature of the remote thermal diode, can be accurately measured to ±1°C. The temperature measurement range defaults to 0°C to +127°C, compatible with ADM1032, but can be switched to a wider measurement range from −64°C to +191°C. APPLICATIONS The ADT7481 communicates over a 2-wire serial interface compatible with system management bus (SMBus) standards. The SMBus address of the ADT7481 is 0x4C. An ADT7481-1 with an SMBus address of 0x4B is also available. Desktop and notebook computers Industrial controllers Smart batteries Automotive Embedded systems Burn-in applications Instrumentation 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, for example, on/off control of a cooling fan. The ALERT output can be reconfigured as a second THERM output if required. FUNCTIONAL BLOCK DIAGRAM ADDRESS POINTER REGISTER ONE-SHOT REGISTER CONVERSION RATE REGISTER LOCAL TEMPERATURE THERM LIMIT REGISTER DIGITAL MUX LOCAL TEMPERATURE VALUE REGISTER D1+ 2 D1– 3 D2+ 7 ANALOG MUX 11-BIT A-TO-D CONVERTER BUSY D2– 8 RUN/STANDBY REMOTE 1 AND 2 TEMP VALUE REGISTERS LOCAL TEMPERATURE LOW LIMIT REGISTER LIMIT COMPARATOR ON-CHIP TEMP SENSOR LOCAL TEMPERATURE HIGH LIMIT REGISTER REMOTE 1 AND 2 TEMP THERM LIMIT REGISTER REMOTE 1 AND 2 TEMP LOW LIMIT REGISTERS REMOTE 1 AND 2 TEMP HIGH LIMIT REGISTERS REMOTE 1 AND 2 TEMP OFFSET REGISTERS CONFIGURATION REGISTERS EXTERNAL DIODES OPEN-CIRCUIT INTERRUPT MASKING STATUS REGISTERS ADT7481 8 ALERT/THERM2 1 6 9 10 4 VDD GND SDATA SCLK THERM 05466-001 SMBUS INTERFACE Figure 1. 1 Protected by U.S. Patents 5,195,827; 5,867,012, 5,982,221; 6,097,239; 6,133,753; 6,169,442, other patents pending. 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 ©2005 Analog Devices, Inc. All rights reserved. ADT7481 TABLE OF CONTENTS Features .............................................................................................. 1 Applications....................................................................................... 1 General Description ......................................................................... 1 Functional Block Diagram .............................................................. 1 Specifications..................................................................................... 3 Timing Specifications .................................................................. 4 Absolute Maximum Ratings............................................................ 5 Thermal Characteristics .............................................................. 5 ESD Caution.................................................................................. 5 Pin Configuration and Function Descriptions............................. 6 Typical Performance Characteristics ............................................. 7 Theory of Operation ........................................................................ 9 Temperature Measurement Method .......................................... 9 Temperature Measurement Results.......................................... 10 Temperature Measurement Range ........................................... 10 Temperature Data Format ......................................................... 10 Registers ........................................................................................... 12 Address Pointer Register ........................................................... 12 Temperature Value Registers..................................................... 12 Conversion Rate/Channel Selector Register........................... 13 Limit Registers ............................................................................ 13 Status Registers ........................................................................... 14 Offset Register ............................................................................ 14 One-Shot Register ...................................................................... 15 Consecutive ALERT Register ................................................... 15 Serial Bus Interface......................................................................... 17 Addressing the Device ............................................................... 17 ALERT Output............................................................................ 19 Masking the ALERT Output..................................................... 19 Low Power Standby Mode......................................................... 19 Sensor Fault Detection .............................................................. 19 Interrupt System ......................................................................... 20 Applications Information .............................................................. 22 Noise Filtering............................................................................. 22 Factors Affecting Diode Accuracy........................................... 22 Thermal Inertia and Self-Heating............................................ 22 Layout Considerations............................................................... 22 Application Circuit..................................................................... 23 Outline Dimensions ....................................................................... 24 Ordering Guide .......................................................................... 24 REVISION HISTORY 7/05—Revision 0: Initial Version Rev. 0 | Page 2 of 24 ADT7481 SPECIFICATIONS TA = −40°C to +120°C, 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 2 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 °C °C °C °C °C °C °C μA μA Resolution Remote Diode Sensor Accuracy2 1 Resolution Remote Sensor Source Current 0.25 233 14 Conversion Time 73 94 ms 11 14 ms 0.1 0.4 1 V μA OPEN-DRAIN DIGITAL OUTPUTS: THERM, ALERT/THERM2 Output Low Voltage, VOL High Level Output Leakage Current, IOH SMBus INTERFACE4, 5 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 6 SCLK Falling Edge to SDATA Valid Time ±1 ±1.5 ±2.5 2.1 0°C ≤ TA ≤ +70°C 0°C ≤ TA ≤ +85°C −40 ≤ TA ≤ +100°C 0°C ≤ TA ≤ +70°C, −55°C ≤ TD 3 ≤ +150°C 0°C ≤ TA ≤ +85°C, −55°C ≤ TD3 ≤ +150°C −40°C ≤ TA ≤ +100°C, −55°C ≤ TD3 ≤ +150°C High level 4 Low level4 From stop bit to conversion complete (both channels) one-shot mode with averaging switched on One-shot mode with averaging off (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 32 1 V mV V μA pF kHz ms μs IOUT = −6.0 mA User programmable Master clocking in data 1 See Table 10 for information on other conversion rates. Averaging enabled. 3 Guaranteed by characterization, not production tested. 4 Guaranteed by design, not production tested. 5 See Timing Specifications section for more information. 6 Disabled by default. See the Serial Bus Interface section for details to enable it. 2 Rev. 0 | Page 3 of 24 ADT7481 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 T Limit at TMIN, TMAX 400 4.7 4 1 300 4.7 4 250 4 4.7 Unit kHz max μs min μs min μs max ns max μs min μs min ns min μs 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 tF tHD;STA 1 Guaranteed by design, not production tested. Time from 10% of SDATA to 90% of SCLK. 3 Time for 10% or 90% of SDATA to 10% of SCLK. 4 Time for 90% of SCLK to 10% of SDATA. 2 tR tLOW SCLK tHD;STA tHD;DAT tHIGH tSU;STA tSU;STO tSU;DAT tBUF STOP START START Figure 2. Serial Bus Timing Rev. 0 | Page 4 of 24 STOP 05466-002 SDATA ADT7481 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 (TJMAX) Storage Temperature Range IR Reflow Peak Temperature IR Reflow Peak Temperature for 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 1500 V 150°C −65°C to +150°C 220°C 260°C 300°C 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 CHARACTERISTICS 10-lead MSOP package: θJA = 142°C/W. θJC = 43.74°C/W. 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 ADT7481 PIN CONFIGURATION AND FUNCTION DESCRIPTIONS VDD 1 D1+ 2 10 SCLK ADT7481 9 SDATA 8 ALERT/THERM2 TOP VIEW THERM 4 (Not to Scale) 7 D2+ GND 5 6 D2– 05466-003 D1– 3 Figure 3. Pin Configuration Table 4. Pin Function Descriptions Pin No. 1 2 3 4 Mnemonic VDD D1+ D1− THERM 5 6 7 8 GND D2− D2+ ALERT/THERM2 9 10 SDATA SCLK Description Positive Supply, 3 V to 3.6 V. Positive Connection to the Remote 1 Temperature Sensor. Negative Connection to the Remote 1 Temperature Sensor. Open-Drain Output. Requires pull-up resistor. Signals overtemperature events, could be used to turn a fan on/off, or throttle a CPU clock. Supply Ground Connection. Negative Connection to the Remote 2 Temperature Sensor. Positive Connection to the Remote 2 Temperature Sensor. Open-Drain Logic Output. Used as interrupt or SMBALERT. This 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 ADT7481 TYPICAL PERFORMANCE CHARACTERISTICS 10 3.5 2.0 5 1.5 1.0 0.5 0 –1.0 –50 0 50 100 –5 D+ TO VCC –10 –15 –20 05466-019 –0.5 D+ TO GND 0 05466-022 TEMPERATURE ERROR 2.5 DEV 15 DEV 16 MEAN HIGH 4Σ LOW 4Σ –25 1 150 LEAKAGE RESISTANCE (MΩ) Figure 7. Temperature Error vs. D+/D− Leakage Resistance Figure 4. Local Temperature Error vs. Temperature 3.5 TEMPERATURE ERROR 2.5 2.0 0 DEV 1 DEV 2 DEV 3 DEV 4 DEV 5 DEV 6 DEV 7 DEV 8 DEV 9 DEV 10 DEV 11 DEV 12 DEV 13 DEV 14 DEV 15 DEV 16 HIGH 4Σ LOW 4Σ –2 TEMPERATURE ERROR (°C) 3.0 1.5 1.0 0.5 0 –1.0 –50 0 50 100 –4 –6 –8 –10 DEV 3 –12 DEV 2 –14 DEV 4 05466-020 –0.5 –16 –18 150 0 5 10 TEMPERATURE (°C) 2.0 25 1000 DEV 15 DEV 16 MEAN HIGH 4Σ LOW 4Σ DEV 2BC 900 800 700 IDD (μA) 1.5 1.0 600 500 DEV 4BC 400 0.5 300 0 0 50 100 05466-024 –0.5 –1.0 –50 DEV 3BC 200 05466-021 TEMPERATURE ERROR 2.5 DEV 8 DEV 9 DEV 10 DEV 11 DEV 12 DEV 13 DEV 14 20 Figure 8. Temperature Error vs. D+/D− Capacitance 3.5 DEV 1 DEV 2 DEV 3 DEV 4 DEV 5 DEV 6 DEV 7 15 CAPACITANCE (nF) Figure 5. Remote 1 Temperature Error vs. Temperature 3.0 100 10 TEMPERATURE (°C) 05466-023 3.0 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 100 0 0.01 150 TEMPERATURE (°C) 0.1 1 10 CONVERTION RATE (Hz) Figure 6. Remote 2 Temperature Error vs. Temperature Figure 9. Operating Supply Current vs. Conversion Rate Rev. 0 | Page 7 of 24 100 ADT7481 25 422 420 TEMPERATURE ERROR (°C) DEV 2BC IDD (μA) 418 416 414 DEV 3BC DEV 4BC 412 20 100mV 15 10 50mV 5 3.1 3.2 3.3 3.4 3.5 05466-028 408 3.0 20mV 05466-025 410 0 0 3.6 100 VDD (V) 200 300 400 NOISE FREQUENCY (MHz) 500 600 Figure 13. Temperature Error vs. Common-Mode Noise Frequency Figure 10. Operating Supply Current vs. Voltage 80 4.4 DEV 2 70 TEMPERATURE ERROR (°C) 4.2 4.0 IDD (μA) DEV 3 3.8 DEV 4 3.6 3.4 60 100mV 50 40 30 50mV 20 10 0 05466-026 3.0 3.0 3.1 3.2 3.3 3.4 3.5 –10 0 3.6 VDD (V) DEV 2BC DEV 3BC 30 DEV 4BC 20 15 10 05466-027 ISTBY (μA) 25 5 0 1 10 100 100 200 300 400 NOISE FREQUENCY (MHz) 500 600 Figure 14. Temperature Error vs. Differential Mode Noise Frequency Figure 11. Standby Supply Current vs. Voltage 35 05466-029 20mV 3.2 1000 FSCL (kHz) Figure 12. Standby Supply Current vs. SCLK Frequency Rev. 0 | Page 8 of 24 ADT7481 THEORY OF OPERATION The ADT7481 is a local and dual remote temperature sensor and over/under temperature alarm. When the ADT7481 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. This technique requires calibration to null the effect of the absolute value of VBE, which varies from device to device. The technique used in the ADT7481 measures the change in VBE when the device is operated at two different currents. Figure 15 shows the input signal conditioning used to measure the output of a remote temperature sensor. This figure shows the remote 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 is 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. C1 may optionally be added as a noise filter with a recommended maximum value of 1,000 pF. 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 remote diode open circuit will cause 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. To measure ΔVBE, the operating current through the sensor is switched among two related currents. The currents through the temperature diode are switched between I, and N × I, giving ΔVBE. The temperature can then be calculated using the ΔVBE measurement. 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. The resulting ΔVBE waveforms pass 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 producing a temperature measurement. 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. 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. TEMPERATURE MEASUREMENT METHOD A simple method of measuring temperature is to exploit the negative temperature coefficient of a diode, measuring the baseemitter voltage (VBE) of a transistor operated at constant current. Signal conditioning and measurement of the local temperature sensor is performed in the same manner. VDD N ×I IBIAS VOUT+ D+ REMOTE SENSING TRANSISTOR TO ADC C11 D– LPF BIAS DIODE fC = 65kHz 1CAPACITOR C1 IS OPTIONAL. IT IS ONLY NECESSARY IN NOISY ENVIRONMENTS. C1 = 1000pF MAX. Figure 15. Input Signal Conditioning Rev. 0 | Page 9 of 24 VOUT– 05466-010 I ADT7481 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 1°C 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 5 is a list of the temperature measurement registers. Table 5. 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) If Bit 3 of the Configuration 1 register is set to 1, then the Remote 2 temperature values can be read 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, this bit needs to be switched 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.25°C. Table 6 shows the data format for the remote temperature low byte. TEMPERATURE MEASUREMENT RANGE The temperature measurement range for both local and remote measurements is, by default, 0°C to +127°C. However, the ADT7481 can be operated using an extended temperature range. The temperature range in the extended mode is −64°C to +191°C. The user can 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. Bit 2 Configuration Register 2 = 0 = 0°C to +127°C = default Bit 2 Configuration Register 2 = 1 = −64°C to +191°C In extended temperature mode, the upper and lower temperatures that can be measured by the ADT7481 are limited by the remote diode selection. While the temperature registers can have values from −64°C to +191°C, most temperature sensing diodes have a maximum temperature range of −55°C to +150°C. Note that while both local and remote temperature measurements can be made while the part is in extended temperature mode, the ADT7481 should not be exposed to temperatures greater than those specified in the Absolute section. Furthermore, the device is only guaranteed to operate as specified at ambient temperatures from −40°C to +120°C. TEMPERATURE DATA FORMAT Table 6. Extended Temperature Resolution (Remote Temperature Low Byte) Extended Resolution 0.00°C 0.25°C 0.50°C 0.75°C If the LSB register is read but not the MSB register, then fail-safe protection is provided by the THERM and ALERT signals which update with the latest temperature measurements rather than the register values. The ADT7481 has two temperature data formats. When the temperature measurement range is from 0°C to +127°C (default), the temperature data format is binary for both local and remote temperature results. See the Temperature Measurement Range section for information on how to switch between the two data formats. Remote Temperature Low Byte 0 000 0000 0 100 0000 1 000 0000 1 100 0000 When reading the full remote temperature value, including both the high and low byte, the two registers should be read LSB first and then the MSB. This is because reading the LSB will cause the MSB to be locked until it is read. This is to guarantee that the two values read are derived from the same temperature measurement. The MSB register updates only after it has been read. The MSB will not lock if a SMBus repeat start is used between reading the two registers. There needs to be a stop between reading the LSB and MSB. 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 7. Rev. 0 | Page 10 of 24 ADT7481 Table 7. Temperature Data Format (Local and Remote Temperature High Byte) Temperature −55°C 0°C +1°C +10°C +25°C +50°C +75°C +100°C +125°C +127°C +150°C 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 all temperatures <0°C. 3 Binary scale temperature measurement returns 127 for all temperatures >127°C. 2 The user may switch between measurement ranges at any time. Switching the range will also switch the data format. The next temperature result following the switching will be reported back to the register in the new format. However, the contents of the limit registers will not change. It is up to the user to ensure that when the data format changes, the limit registers are reprogrammed as necessary. More information on this can be found in the Limit Registers section. Rev. 0 | Page 11 of 24 ADT7481 REGISTERS The registers in the ADT7481 are eight bits wide. These registers are used to store the results of remote and local temperature measurements, high and low temperature limits, and to configure and control the device. A description of these registers follows. TEMPERATURE VALUE REGISTERS The ADT7481 has five registers to store the results of local and remote temperature measurements. These registers can only be written to by the ADC and read by the user over the SMBus. • The local temperature value register is at Address 0x00. ADDRESS POINTER REGISTER The address pointer register does not have, nor does it require, an address because 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 ADT7481, 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, 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 0x00. • The Remote 1 temperature value high byte register is at Address 0x01, with the Remote 1 low byte register at Address 0×10. • The Remote 2 temperature value high byte register is at Address 0x30, with the Remote 2 low byte register at Address 0x33. • The Remote 2 temperature values can also be read from Address 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 value for all five registers is 0x00. Table 8: Configuration 1 Register (Read Address 0x03, Write Address 0x09) Bit 7 Mnemonic Mask 6 Mon/STBY 5 4 3 AL/TH Reserved Remote 1/2 2 Temp Range 1 0 Mask R1 Mask R2 Function 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 ADT7481 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. However THERM and ALERT are not active in standby mode, and their states in standby mode are not reliable. 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 the THERM2 pin. Reserved for future use. Setting this bit to 1 enables the user to read the Remote 2 values from the Remote 1 registers. When default = 0, Remote 1 temperature values and limits are read from these registers. Setting this bit to 1 enables the extended temperature measurement range of −64°C to +191°C. When using the default = 0, the temperature range is 0°C to +127°C. 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 9. Configuration 2 Register (Address 0x24) Bit 7 Mnemonic Lock Bit <6:0> Res Function Setting this bit to 1 locks all lockable registers to their current values. This prevents tampering with settings until the device is powered down. Default = 0. Reserved for future use. Rev. 0 | Page 12 of 24 ADT7481 CONVERSION RATE/CHANNEL SELECTOR REGISTER The conversion rate/channel selector register for reads is at Address 0x04, and at 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 ADT7481 to perform continuous measurements, set the conversion rate register to 0x0B. For example, a conversion rate of eight conversions/second means that beginning at 125 ms intervals, the device performs a conversion on the local and the remote temperature channels. This register can be written to, and read back from, the SMBus. The default value of this register is 0x08, giving a rate of 16 conversions per second. Using slower conversion times greatly reduces the device power consumption. Bit 7 in this register can be used to disable averaging of the temperature measurements. All temperature channels are measured by default. It is possible to configure the ADT7481 to measure the temperature of one channel only. This can be configured using Bit 4 and Bit 5 (see Table 10). Table 10. Conversion Rate/Channel Selector Register (Read Address 0x04, Write Address 0x0A) Bit 7 Mnemonic Averaging 6 <5:4> Reserved Channel Selector <3:0> Conversion Rates Function Setting this bit to 1 disables averaging of the temperature measurements at the slower conversion rates (averaging cannot take place at the three faster rates, so setting this bit has no effect). When default = 0, averaging is enabled. Reserved for future use. Do not write to this bit. These bits are used to select the temperature measurement channels: 00 = round robin = default = all channels measured 01 = local temperature only measured 10 = Remote 1 temperature only measured 11 = Remote 2 temperature only measured These bits set how often the ADT7481 measures each temperature channel. Conversion rates are as follows: 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 125 m 1000 = 16 = default 62.5 m 1001 = 32 31.25 m 1010 = 64 15.5 m 1011 = continuous measurements 73 m (averaging enabled) LIMIT REGISTERS The ADT7481 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 from, the SMBus. See Table 15 for details of the 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 80°C, then measuring 81°C will result in an out-of-limit condition, setting a flag in the status register. If the low limit register is programmed with 0°C, measuring 0°C or lower will result 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 10°C is provided that applies to both THERM channels. This hysteresis value may be reprogrammed. It is important to remember that the temperature limits data format is the same as the temperature measurement data format. So 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 automatically switch. The user must reprogram the limit registers to the desired value in the correct data format. For example, if the remote low limit is set at 10°C and the default binary scale is being 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. Rev. 0 | Page 13 of 24 ADT7481 STATUS REGISTERS The status registers are read-only registers, at Address 0x02 (Status Register 1) and Address 0x23 (Status Register 2). They contain status information for the ADT7481. Table 11. Status Register 1 Bit Assignments Bit 7 6 Mnemonic BUSY LHIGH1 5 LLOW1 4 R1HIGH1 3 R1LOW1 2 D1 OPEN1 1 R1THRM1 0 LTHRM1 1 Function 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 ALERT No Yes Yes Yes Yes Yes No No These flags stay high until the status register is read, or they are reset by POR. Table 12. Status Register 2 Bit Assignments Bit 7 6 5 Mnemonic Res Res Res 4 R2HIGH1 3 R2LOW 1 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 Yes Yes 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. The user may add hysteresis by programming Register 0x21. The THERM output will be 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 and 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 Status Register 2 gets set whenever the ALERT output is asserted low. Thus, the user need only read Status Register 2 to determine if the ADT7481 is responsible for the ALERT. This bit gets reset when the ALERT output gets reset. If the ALERT output is masked, then this bit is not set. OFFSET REGISTER No Offset errors may 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. No The offset values are stored as 10-bit, twos complement values. Yes 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 flag is high, the ALERT interrupt latch is set and the ALERT output goes low (provided that the flag(s) is/are not masked out). Reading the Status 1 register will clear the five 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 will clear 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 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. • 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 Register 0x35 (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 two bits of the LSB registers are used. The MSB of the MSB offset register is the sign bit. The minimum offset that can be programmed is −128°C, and the maximum is +127.75°C. The value in the offset register is added to, or subtracted from, the measured value of the remote temperature. The offset register powers up with a default value of 0°C and will have no effect unless the user writes a different value to it. Rev. 0 | Page 14 of 24 ADT7481 The purpose of this register is to allow the user to perform some filtering of the output. This is particularly useful at the fastest three conversion rates, where no averaging takes place. This register is at Address 0x22. This register has other functions that are listed in Table 14. Table 13. Sample Offset Register Codes Offset Value −128°C −4°C −1°C −0.25°C 0°C +0.25°C +1°C +4°C +127.75°C 0x11/0x34 1000 0000 1111 1100 1111 1111 1111 1111 0000 0000 0000 0000 0000 0001 0000 0100 0111 1111 0x12/0x35 00 00 0000 00 00 0000 00 000000 10 00 0000 00 00 0000 01 00 0000 00 00 0000 00 00 0000 11 00 0000 Table 14. Consecutive ALERT Register Bit Bit 7 Name SCL Timeout 6 SDA Timeout 5 Mask Local 4 <3:0> Res Consecutive ALERT ONE-SHOT REGISTER The one-shot register is used to initiate a conversion and comparison cycle when the ADT7481 is in standby mode, after which the device returns to standby. Writing to the one-shot register address (0x0F) causes the ADT7481 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. However the ALERT and THERM outputs are not operational in one-shot mode and should not be used. CONSECUTIVE ALERT REGISTER 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. Rev. 0 | Page 15 of 24 Description Set to 1, enables the SMBus SCL timeout bit. Default = 0 = timeout disabled. See the Serial Bus Interface section for more information. Set to 1 to enable the SMBus SDA Timeout Bit. Default = 0 = Timeout disabled. See the Serial Bus Interface section for more information. Setting this bit to 1 masks ALERTs due to the local temperature exceeding a programmed limit. Default = 0. Reserved for future use. These bits set the number of consecutive out-of-limit measurements that have to occur before an ALERT is generated. 000x = 1 001x = 2 011x = 3 111x = 4 ADT7481 Table 15. 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 3D 3E 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 Mnemonic 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/Channel Selector Local Temperature High Limit Local Temperature Low Limit Remote 1 Temp High Limit High Byte Remote 2 Temp High Limit High Byte Remote 1 Temp Low Limit High Byte Remote 2 Temp 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 Temp High Limit Low Byte Remote 2 Temp High Limit Low Byte Remote 1 Temp Low Limit Low Byte Remote 2 Temp 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 Temp High Limit High Byte Remote 2 Temp Low Limit High Byte Remote 2 Temperature Value Low Byte Remote 2 Temperature Offset High Byte Remote 2 Temperature Offset Low Byte Remote 2 Temp High Limit Low Byte Remote 2 Temp Low Limit Low Byte Remote 2 THERM Limit Manufacturer ID Device ID Power-On Default Undefined 0000 0000 (0x00) 0000 0000 (0x00) 0000 0000 (0x00) Undefined 0000 0000 (0x00) 0000 0111 (0x07) 0101 0101 (0x55) (85°C) 0000 0000 (0x00) (0°C) 0101 0101 (0x55) (85°C) 0101 0101 (0x55) (85°C) 0000 0000 (0x00) (0°C) 0000 0000 (0x00) (0°C) 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0101 0101 (0x55) (85°C) 0101 0101 (0x55) (85°C) 0101 0101 (0x55) (85°C) 0000 1010 (0x0A) (10°C) 0000 0001 (0x01) 0000 0000 (0x00) 0000 0000 (0x00) 0000 0000 (0x00) 0101 0101 (0x55) (85°C) 0000 0000 (0x00) (0°C) 0000 0000 (0x00) 0000 0000 (0x00) 0000 0000 (0x00) 0000 0000 (0x00) (0°C) 0000 0000 (0x00) (0°C) 0101 0101 (0x55) (85°C) 0100 0001 (0x41) 1000 0001 (0x81) 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 ADT7481 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 ADT7481 SERIAL BUS INTERFACE Control of the ADT7481 is achieved via the serial bus. The ADT7481 is connected to this bus as a slave device under the control of a master device. The ADT7481 has an SMBus timeout feature. When this is enabled, the SMBus will typically timeout after 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. The ADT7481 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 + x1 + 1 Consult the SMBus 1.1 specification for more information (www.smbus.org). 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 ADT7481 is available with one device address, 0x4C (1001 100b). An ADT7481-1 is also available. The only difference between the ADT7481 and the ADT7481-1 is the SMBus address. The ADT7481-1 has a fixed SMBus address of 0x4B (1001 011b). The addresses mentioned in this datasheet are 7-bit addresses. The R/W bit needs to be added to arrive at an 8-bit address. Other than the different SMBus addresses, the ADT7481 and the ADT7481-1 are functionally identical. The serial bus protocol operates as follows: 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 a R/W bit, which determines the direction of the data transfer, that is, whether data will be written to, or read from, the slave device. The peripheral with the address corresponding 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 remain idle while the selected device waits for data to be read from or written to it. If the R/W bit is 0, the master writes to the slave device. If the R/W bit is 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 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. 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. 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. In the case of the ADT7481, 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. This procedure is illustrated in Figure 16. The device address is sent over the bus followed by R/W set to 0 and 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 ADT7481 1 9 1 9 SCL 0 1 0 1 1 D7 R/W D6 D5 D4 D3 D2 D1 D0 ACK. BY ADT7481 START BY MASTER ACK. BY ADT7481 FRAME 2 ADDRESS POINTER REGISTER BYTE FRAME 1 DATA SERIAL BUS ADDRESS BYTE 1 SCL (CONTINUED) SDA (CONTINUED) 9 ··· D7 ··· D6 D5 D4 D3 D2 D1 D0 ACK. BY ADT7481 STOP BY MASTER FRAME 3 DATA BYTE 05466-011 0 1 SDA Figure 16. Writing a Register Address to the Address Pointer Register, then Writing Data to the Selected Register 1 9 1 9 SCL 1 0 0 1 1 0 1 R/W D7 D6 D5 D4 D3 D2 D1 D0 ACK. BY ADT7481 START BY MASTER ACK. BY STOP BY ADT7481 MASTER FRAME 2 ADDRESS POINTER REGISTER BYTE FRAME 1 DATA SERIAL BUS ADDRESS BYTE 05466-012 SDA Figure 17. Writing to the Address Pointer Register Only 1 9 1 9 SCL 0 0 1 1 0 1 R/W D7 D6 D5 D4 D3 D2 D1 ACK. BY ADT7481 START BY MASTER D0 ACK. BY STOP BY ADT7481 MASTER FRAME 2 ADDRESS POINTER REGISTER BYTE FRAME 1 DATA SERIAL BUS ADDRESS BYTE Figure 18. Reading from a Previously Selected Register When reading data from a register there are two possible scenarios: • If the address pointer register value of the ADT7481 is unknown or not the desired value, it is 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 ADT7481 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 17. 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 (shown in Figure 18). • If the address pointer register is 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 17 can be omitted. NOTES 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. Rev. 0 | Page 18 of 24 05466-013 1 SDA ADT7481 Remember that some of the ADT7481 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. 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 open circuit. It is an opendrain output and requires a pull-up. Several ALERT outputs can be wire-OR’ed together, so that the common line will go 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 may 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 19. MASTER RECEIVES SMBALERT ALERT RESPONSE ADDRESS MASTER SENDS ARA AND READ COMMAND RD ACK DEVICE ADDRESS NO ACK STOP DEVICE SENDS ITS ADDRESS 05466-014 START Figure 19. 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 must not be used as a specific device address. 3. The device with a low ALERT output responds to the alert response address, and the master reads the address from the responding device. An LSB of 1 is added because the device address is comprised of seven bits. 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 output, the one with the lowest device address will have priority, in accordance with normal SMBus arbitration. 5. Once the ADT7481 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 sends the ARA again, and so on until all devices with low ALERT outputs respond. MASKING THE ALERT OUTPUT The ALERT output can be masked for local, Remote 1, Remote 2 or all three channels. This is done by setting the appropriate mask bits in either the Configuration 1 register (read address = 0x03, write address = 0x09) or in the consecutive ALERT register (address = 0x22) To mask ALERTs due to local temperature, set Bit 5 of the consecutive ALERT register to 1. Default = 0. To mask ALERTs due to Remote 1 temperature, set Bit 1 of the Configuration 1 register to 1. Default = 0. To mask ALERTs due to Remote 2 temperature, set Bit 0 of the Configuration 1 register to 1. Default = 0. To mask ALERTs due to any channel, set Bit 7 of the Configuration 1 register to 1. Default = 0. LOW POWER STANDBY MODE The ADT7481 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. The ADT7481 operates normally when Bit 6 is 0. 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 both channels by writing to the oneshot register (Address 0x0F), after which the device will return to standby. It does not matter what is written to the one-shot register, all data written to it is ignored. It is also possible to write new values to the limit register while in standby mode. ALERT and THERM are not available in standby mode and, therefore, should not be used because the state of these pins is unreliable. SENSOR FAULT DETECTION The ADT7481 has internal sensor fault detection circuitry at its D+ input. This circuit can detect situations where a remote diode is not connected, or is incorrectly connected, to the ADT7481. If the voltage at D+ exceeds VDD − 1 V (typical), it signifies an open circuit between D+ and D−, and consequently, trips the simple voltage comparator. The output of this comparator is checked when a conversion is initiated. Bit 2 (D1 open flag) of the Status Register 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 will cause ALERT to assert low. Rev. 0 | Page 19 of 24 ADT7481 If a remote sensor is not used with the ADT7481, then the D+ and D− inputs of the ADT7481 need to be tied together to prevent the open flag from being continuously set. Table 16. THERM Hysteresis THERM Hysteresis 0°C 1°C 10°C Binary Representation 0 000 0000 0 000 0001 0 000 1010 Most temperature sensing diodes have an operating temperature range of −55°C to +150°C. Above 150°C, 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 will give the last good temperature measurement. The user should be aware that while the diode fault is triggered, the temperature measurement on the remote channels is likely to be inaccurate. Figure 20 shows how the THERM and ALERT outputs operate. A user may wish to use the ALERT output as a SMBALERT to signal to the host via the SMBus that the temperature has risen. The user could use the THERM output to turn on a fan to cool the system, if the temperature continues to increase. This method would ensure that there is a fail-safe mechanism to cool the system, without the need for host intervention. INTERRUPT SYSTEM TEMPERATURE 100°C The ADT7481 has two interrupt outputs, ALERT and THERM. Both outputs 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. 90°C If the Remote 1, Remote 2, or local temperature exceeds the programmed high temperature limits, or equals or exceeds the 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. ALERT 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 automatically reset when the temperature falls back within the (THERM − hysteresis) limit. The local and remote THERM limits are set by default to 85°C. A hysteresis value can be programmed, in which case THERM will reset 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 10°C, but this may 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 user’s 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, a condition wherein the temperature hovers around the THERM limit, and the fan is constantly being switched on and off. 80°C THERM LIMIT 70°C THERM LIMIT-HYSTERESIS 60°C HIGH TEMP LIMIT 50°C 40°C RESET BY MASTER 4 2 3 05466-015 THERM 1 Figure 20. Operation of the ALERT and THERM Interrupts • If the measured temperature exceeds the high temperature limit, the ALERT output will assert low. • 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. • The THERM output de-asserts (goes high) when the temperature falls to THERM limit minus hysteresis. In Figure 20, the default hysteresis value of 10°C is shown. • 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 ADT7481 can be configured as either an ALERT output or as an additional THERM output. THERM2 will assert 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 also applies to THERM2. Rev. 0 | Page 20 of 24 ADT7481 Figure 21 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. TEMPERATURE 90°C 80°C When the THERM2 limit is exceeded, the THERM2 signal asserts low. • If the temperature continues to increase and exceeds the THERM limit, the THERM output asserts low. • The THERM output de-asserts (goes high) when the temperature falls to THERM limit minus hysteresis. In Figure 21, there is no hysteresis value shown. • 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 70°C 60°C THERM2 LIMIT 50°C The temperature measurement could be either the local or the remote temperature measurement. 40°C 30°C 1 4 THERM 2 3 05466-016 THERM2 Figure 21. Operation of the THERM and THERM2 Interrupts Rev. 0 | Page 21 of 24 ADT7481 APPLICATIONS INFORMATION NOISE FILTERING For temperature sensors operating in noisy environments, previous practice was to place a capacitor across the D+ and 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 1,000 pF. FACTORS AFFECTING DIODE ACCURACY • 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 (say 50 to 150) that indicates tight control of VBE characteristics. Remote Sensing Diode The ADT7481 is designed to work with substrate transistors built into processors 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+. 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 ADT7481 is trimmed for an nf value of 1.008. Use the following equation to calculate the error introduced at a temperature, T (°C), when using a transistor where nf does not equal 1.008. Consult the processor data sheet for the nf values. ( • Base-emitter voltage greater than 0.25 V at 6 μA, at the highest operating temperature. ) ΔT = n f – 1.008 /1.008 × (273 .15 Kelvin + T ) To factor this in, the user can write the ΔT value to the offset register. It will then automatically be added to, or subtracted from, the temperature measurement by the ADT7481. • Some CPU manufacturers specify the high and low current levels of the substrate transistors. The high current level of the ADT7481, IHIGH, is 233 μA. The low level current, ILOW, is 14 μA. If the ADT7481 current levels do not match the current levels specified by the CPU manufacturer, it may become necessary to remove an offset. The CPU 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 more than one offset must be considered, the algebraic sum of these offsets must be programmed to the offset register. If a discrete transistor is being used with the ADT7481, the best accuracy is obtained by choosing devices according to the following criteria: Transistors, such as 2N3904, 2N3906, or equivalents in SOT-23 packages, are suitable devices to use. 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; otherwise, 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 will either be a substrate transistor in the processor or a small package device, such as an SOT-23, placed in close proximity to it. The on-chip sensor, however, will often be remote from the processor and only monitors the general ambient temperature around the package. In practice, the ADT7481 package will be 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 will also affect the accuracy of the measurement. Self-heating, due to the power dissipated in the ADT7481 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. The worst-case condition occurs when the ADT7481 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 142°C/W. LAYOUT CONSIDERATIONS Digital boards can be electrically noisy environments, and the ADT7481 measures 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 ADT7481 as close as possible to the remote sensing diode. Provided that the worst noise sources such as clock Rev. 0 | Page 22 of 24 ADT7481 generators, data/address buses, and CRTs are avoided, this distance can range from 4 inches to 8 inches. must be taken to ensure that any capacitance seen at D+ and D− is a maximum of 1,000 pF. This maximum value includes the filter capacitance, plus any cable or stray capacitance between the pins and the sensor diode. • 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. • 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 of cable is needed. • For really 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 ADT7481. Leave the remote end of the shield unconnected to avoid ground loops. 5MIL GND 5MIL D+ 5MIL 5MIL D– 5MIL 5MIL 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. 05466-017 5MIL GND Figure 22. 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. APPLICATION CIRCUIT Figure 23 shows a typical application circuit for the ADT7481, 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. • Thermocouple effects should not be a major problem as 1°C corresponds to about 200 mV, and thermocouple voltages are about 3 mV/°C of temperature difference. The SCLK and SDATA pins of the ADT7481 can be interfaced directly to the SMBus of an I/O controller, such as the Intel® 820 chipset. • Unless there are two thermocouples with a large 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 may be placed across D+ and D− close to the ADT7481. This capacitance can affect the temperature measurement, so care VDD ADT7481 3V TO 3.6V 0.1μF TYP 10kΩ D1+ SCLK D1– SMBUS CONTROLLER SDATA D2+ ALERT D2– THERM GND 5V OR 12V VDD TYP 10kΩ FAN CONTROL CIRCUIT FAN ENABLE Figure 23. Typical Application Circuit Rev. 0 | Page 23 of 24 05466-018 2N3904/06 OR CPU THERMAL DIODE ADT7481 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 0.15 0.00 1.10 MAX 0.27 0.17 SEATING PLANE 0.23 0.08 0.80 0.60 0.40 8° 0° COPLANARITY 0.10 COMPLIANT TO JEDEC STANDARDS MO-187-BA Figure 24. 10-Lead Mini Small Outline Package [MSOP] (RM-10) Dimensions shown in millimeters ORDERING GUIDE Model ADT7481ARMZ 1 ADT7481ARMZ-REEL1 ADT7481ARMZ-REEL71 ADT7481ARMZ-11 ADT7481ARMZ-1REEL1 ADT7481ARMZ-1REEL71 1 Operating Temperature Range −40°C to +125°C −40°C to +125°C −40°C to +125°C −40°C to +125°C −40°C to +125°C −40°C to +125°C Package Description 10-Lead MSOP 10-Lead MSOP 10-Lead MSOP 10-Lead MSOP 10-Lead MSOP 10-Lead MSOP Z = Pb-free part. ©2005 Analog Devices, Inc. All rights reserved. Trademarks and registered trademarks are the property of their respective owners. D05466–0–7/05(0) Rev. 0 | Page 24 of 24 Package Option RM-10 RM-10 RM-10 RM-10 RM-10 RM-10 Branding T08 T08 T08 T0M T0M T0M SMBus Address 4C 4C 4C 4B 4B 4B