FEATURES
On-Chip and Remote Temperature Sensing
Offset Registers for System Calibration
0.125C Resolution/1C Accuracy on Remote Channel
1C Resolution/3C Accuracy on Local Channel
Fast (Up to 64 Measurements per Second)
2-Wire SMBus Serial Interface
Supports SMBus Alert
Programmable Under/Overtemperature Limits
Programmable Fault Queue
Overtemperature Fail-Safe THERM Output
Programmable THERM Limits
Programmable THERM Hysteresis
170 A Operating Current
5.5 A Standby Current
3 V to 5.5 V Supply
Small 8-Lead SOIC and MSOP Packages
APPLICATIONS
Desktop and Notebook Computers
Smart Batteries
Industrial Controllers
Telecommunications Equipment
Instrumentation
Embedded Systems
FUNCTIONAL BLOCK DIAGRAM
ON-CHIP
TEMPERATURE
SENSOR
D+
ANALOG
D–
MUX
BUSY
EXTERNAL DIODE OPEN-CIRCUIT
ADM1032
A/D
CONVERTER
RUN/STANDBY
LOCAL TEMPERATURE
VALUE REGISTER
REMOTE TEMPERATURE
VALUE REGISTER
REMOTE OFFSET
REGISTER
ADM1032
PRODUCT DESCRIPTION
The ADM1032 is a dual-channel digital thermometer and under/
overtemperature alarm intended for use in personal computers and
thermal management systems. The higher 1∞C accuracy offered
allows systems designers to safely reduce temperature guardbanding and increase system performance. The device can measure the
temperature of a microprocessor using a diode-connected NPN or
PNP transistor, which may be provided on-chip or can be a low cost
discrete device, such as the 2N3906. A novel measurement technique cancels out the absolute value of the transistor’s base emitter
voltage so that no calibration is required. The second measurement
channel measures the output of an on-chip temperature sensor to
monitor the temperature of the device and its environment.
The ADM1032 communicates over a 2-wire serial interface
compatible with System Management Bus (SMBus) standards.
Under and overtemperature limits can be programmed into the
device over the serial bus, and an ALERT output signals when the
on-chip or remote temperature measurement is out of range.
output can be used as an interrupt or as an SMBus alert.
This
The THERM output is a comparator output that allows CPU
clock throttling or on/off control of a cooling fan. An ADM1032-1
available. The only difference between the ADM1032 and the
is
ADM1032-1 is the default value of the external
An ADM1032-2 is also available. It has a different SMBus address
to the ADM1032 and the ADM1032-1. The SMBus address of the
ADM1032-2 is 0x4D.
ADDRESS POINTER
REGISTER
CONVERSION RATE
REGISTER
LOCAL TEMPERATURE
LOW LIMIT REGISTER
LOCAL TEMPERATURE
HIGH LIMIT REGISTER
COMPARATOR
DIGITAL MUX
STATUS REGISTER
LIMIT
DIGITAL MUX
SMBUS INTERFACE
REMOTE TEMPERATURE
LOW LIMIT REGISTER
REMOTE TEMPERATURE
HIGH LIMIT REGISTER
LOCAL THERM LIMIT
REGISTER
EXTERNAL THERM LIMIT
REGISTER
CONFIGURATION
REGISTER
INTERRUPT
MASKING
THERM
ALERT
THERM
limit.
*
V
GND
DD
REV. D
Information furnished by Analog Devices is believed to be accurate and
reliable. However, no responsibility is assumed by Analog Devices for its
use, nor for any infringements of patents or other rights of third parties that
may result from its use. No license is granted by implication or otherwise
under any patent or patent rights of Analog Devices. Trademarks and
registered trademarks are the property of their respective owners.
Conversion Time35.7142.8msFrom Stop Bit to Conversion Complete
OPEN-DRAIN DIGITAL OUTPUTS
(THERM, ALERT)
Output Low Voltage, V
High Level Output Leakage Current, I
SERIAL BUS TIMING
Logic Input High Voltage, V
OL
OH
2
IH
SCLK, SDATA
Logic Input Low Voltage, V
IL
Hysteresis500mV
SCLK, SDATA
SDATA Output Low Sink Current6mASDATA Forced to 0.6 V
ALERT Output Low Sink Current1mAALERT Forced to 0.4 V
Logic Input Current, I
, I
IH
IL
Input Capacitance, SCLK, SDATA5pF
Clock Frequency400kHz
SMBus Timeout2564msSee Note 3
SCLK Clock Low Time, t
SCLK Clock High Time, t
Start Condition Setup Time, t
Start Condition Hold Time, t
Stop Condition Setup Time, t
LOW
HIGH
SU:STA
HD:STA
SU:STO
Data Valid to SCLK Rising Edge100nsTime for 10% or 90% of SDATA to
Time, t
Data Hold Time, t
Bus Free Time, t
SCLK, SDATA Rise Time, t
SCLK, SDATA Fall Time, t
NOTES
1
See Table VI for information on other conversion rates.
2
Guaranteed by design, not production tested.
3
The SMBus timeout is a programmable feature. By default, it is not enabled. Details on how to enable it are available in the Serial Bus Interface section of this data sheet.
Specifications subject to change without notice.
SU:DAT
HD:DAT
BUF
R
F
3.03.305.5V
170215mA0.0625 Conversions/Sec Rate
1
5.510mAStandby Mode
Input, Disables ADC, Rising Edge
DD
£ 100∞C, VCC = 3 V to 3.6 V
A
£ 100∞C, VCC = 3 V to 3.6 V
D
± 3∞C0∞C £ T
13mALow Level
£ 120∞C
D
2
2
(Both Channels) One-Shot Mode with
Averaging Switched On
5.722.8msOne-Shot Mode with Averaging Off
(i.e., Conversion Rate = 32 or 64
Conversions per Second)
*Stresses above those listed under Absolute Maximum Ratings may cause
permanent damage to the device. This is a stress rating only; functional operation
of the device at these or any other conditions above those indicated in the
operational section of this specification is not implied. Exposure to absolute
maximum rating conditions for extended periods may affect device reliability.
ORDERING GUIDE
TemperaturePackage Package SMBus External
ModelRangeDescription Option Branding AddrDefault
ADM1032AR0∞C to 120∞C8-Lead SOIC R-8 1032AR 4C85⬚C
ADM1032AR-REEL0∞C to 120∞C8-Lead SOIC R-8 1032AR 4C85⬚C
ADM1032AR-REEL70∞C to 120∞C8-Lead SOIC R-8 1032AR 4C85⬚C
ADM1032ARZ
ADM1032ARZ-REEL
ADM1032ARZ-REEL7
1
1
0∞C to 120∞C
0∞C to 120∞C8-Lead SOIC R-8 1032AR 4C85⬚C
1
0∞C to 120∞C8-Lead SOIC R-8 1032AR 4C85⬚C
8-Lead
SOIC R-8 1032AR 4C85⬚C
ADM1032AR-10∞C to 120∞C8-Lead SOIC R-8 1032AR01 4C108⬚C
ADM1032AR-1REEL0∞C to 120∞C8-Lead SOIC R-8 1032AR01 4C108⬚C
ADM1032AR-1REEL70∞C to 120∞C8-Lead SOIC R-8 1032AR01 4C108⬚C
ADM1032ARZ-1
ADM1032ARZ-1REEL
ADM1032ARZ-1REEL7
ADM1032ARM
ADM1032ARM-REEL0∞C to 120∞C8-Lead
ADM1032ARM-REEL70∞C to 120∞C8-Lead
ADM1032ARMZ
ADM1032ARMZ-REEL
ADM1032ARMZ-REEL7
ADM1032ARM-1
1
1
0∞C to 120∞C8-Lead SOIC R-8 1032AR 4C85⬚C
1
0∞C to 120∞C8-Lead SOIC R-8 1032AR 4C85⬚C
1
0∞C to 120∞C8-Lead SOIC R-8 1032AR 4C85⬚C
0∞C to 120∞C
0∞C to 120∞C
1
0∞C to 120∞C8-Lead MSOP RM-8 T2A 4C85⬚C
1
0∞C to 120∞C8-Lead MSOP RM-8 T2A 4C85⬚C
0∞C to 120∞C
0∞C to 120∞C8-Lead MSOP RM-8 T1A 4C108⬚C
0∞C to 120∞C8-Lead MSOP RM-8 T1C 4D85⬚C
1
0∞C to 120∞C8-Lead MSOP RM-8 T1C 4D85⬚C
8-Lead MSOP
RM-8 T1A 4C108⬚C
ADM1032ARMZ-2REEL710∞C to 120∞C8-Lead MSOP RM-8 T1C 4D85⬚C
1
Z = Pb-free part.
THERM
REV. D
SCLK
SDATA
t
BUF
PS
t
HD:STA
t
LOW
t
R
t
HD:DAT
t
HIGH
t
F
t
SU:DAT
Figure 1. Diagram for Serial Bus Timing
–3–
t
HD:STA
t
SU:STA
S
t
SU:STO
P
ADM1032
PIN CONFIGURATION
V
THERM
DD
D+
D–
1
2
ADM1032
TOP VIEW
3
(Not to Scale)
4
8
7
6
5
SCLK
SDATA
ALERT
GND
PIN FUNCTION DESCRIPTIONS
Pin
No.MnemonicDescription
1V
DD
Positive Supply, 3 V to 5.5 V.
2D+Positive Connection to Remote Temperature Sensor.
3D–Negative Connection to Remote Temperature Sensor.
4THERMTHERM is an open-drain output that can be used to turn a fan on/off or throttle a CPU clock in the event of
an overtemperature condition. Requires pull-up to V
DD
.
5GNDSupply Ground Connection.
6ALERTOpen-Drain Logic Output Used as Interrupt or SMBus Alert.
7SDATALogic Input/Output, SMBus Serial Data. Open-drain output. Requires pull-up resistor.
8SCLKLogic Input, SMBus Serial Clock. Requires pull-up resistor.
REV. D–4–
Typical Performance Characteristics–ADM1032
20
16
12
8
4
0
–4
–8
TEMPERATURE ERROR – C
–12
–16
010100
D+ TO GND
D+ TO V
DD
LEAKAGE RESISTANCE – M
TPC 1. Temperature Error vs.
Leakage Resistance
12
10
V
= 250mV p-p
IN
8
6
4
V
= 100mV p-p
TEMPERATURE ERROR – C
IN
2
0
101M
FREQUENCY – Hz
1.0
0.5
0
TEMPERATURE ERROR – C
–0.5
020406080100120
TEMPERATURE – C
TPC 2. Temperature Error vs. Actual
Temperature Using 2N3906
18
16
14
12
10
8
6
4
TEMPERATURE ERROR – C
2
0
161116212631
CAPACITANCE – nF
36
13
11
9
7
5
3
TEMPERATURE ERROR – C
1
–1
100k100M1M
V
= 40mV p-p
IN
V
= 10mV p-p
IN
FREQUENCY – Hz
10M
TPC 3. Temperature Error vs.
Differential Mode Noise Frequency
2.0
1.5
1.0
= 5V
V
0.5
SUPPLY CURRENT – A
0
0.01
DD
VDD = 3V
0.1110100
CONVERSION RATE – Hz
TPC 4. Temperature Error vs. Power
Supply Noise Frequency
12
10
8
6
4
TEMPERATURE ERROR – C
2
0
100k1M10M100M
VIN = 100mV p-p
VIN = 50mV p-p
VIN = 25mV p-p
FREQUENCY – Hz
TPC 7. Temperature Error vs.
Common-Mode Noise Frequency
TPC 5. Temperature Error vs.
Capacitance Between D+ and D–
80
70
60
50
40
30
20
SUPPLY CURRENT – A
10
0
151025 50 75 100
SCLK FREQUENCY – kHz
V
5V
DD =
V
3.3V
DD =
250 500 750 1000
TPC 8. Standby Supply Current vs.
Clock Frequency
TPC 6. Operating Supply Current vs.
Conversion Rate
40
35
30
25
20
15
10
5
STANDBY SUPPLY CURRENT – A
0
0
1.52.50.5 1.03.05.03.5 4.0 4.52.0
SUPPLY VOLTAGE – V
TPC 9. Standby Supply Current vs.
Supply Voltage
REV. D
–5–
ADM1032
FUNCTIONAL DESCRIPTION
The ADM1032 is a local and remote temperature sensor and
overtemperature alarm. When the ADM1032 is operating
normally, the on-board A/D converter operates in a freerunning mode. The analog input multiplexer alternately selects
either the on-chip temperature sensor to measure its local temperature or the remote temperature sensor. These signals are
digitized by the ADC and the results are stored in the Local
and Remote Temperature Value Registers.
The measurement results are compared with local and remote,
high, low, and THERM temperature limits stored in nine onchip registers. Out-of-limit comparisons generate flags that are
stored in the Status Register, and one or more out-of limit results
will cause the ALERT output to pull low. Exceeding THERM
temperature limits causes the THERM output to assert low.
The limit registers can be programmed, and the device controlled and configured, via the Serial System Management Bus
(SMBus). The contents of any register can also be read back via
the SMBus.
Control and configuration functions consist of
∑
Switching the device between normal operation and
standby mode.
∑
Masking or enabling the ALERT output.
∑
Selecting the conversion rate.
MEASUREMENT METHOD
A simple method of measuring temperature is to exploit the
negative temperature coefficient of a diode, or the base-emitter
voltage of a transistor, operated at constant current. Unfortunately, this technique requires calibration to null out the effect
of the absolute value of V
, which varies from device to device.
BE
The technique used in the ADM1032 is to measure the change
in V
when the device is operated at two different currents.
BE
This is given by
Figure 2 shows the input signal conditioning used to measure
the output of an external temperature sensor. This figure shows
the external sensor as a substrate transistor, provided for
temperature monitoring on some microprocessors, but it could
equally well be a discrete transistor. If a discrete transistor is
used, the collector will not be grounded and should be linked to the
base. To prevent ground noise interfering with the measurement,
the more negative terminal of the sensor is not referenced to
ground but is biased above ground by an internal diode at the
D– input. If the sensor is operating in a noisy environment, C1
may optionally be added as a noise filter. Its value is typically
2,200 pF but should be no more than 3,000 pF. See the section on Layout Considerations for more information on C1.
To measure DV
, the sensor is switched between the operating
BE
currents of I and N ¥ I. The resulting waveform is passed
through a 65 kHz low-pass filter to remove noise, and then to
a chopper-stabilized amplifier that performs the functions of
amplification and rectification of the waveform to produce a dc
voltage proportional to DV
. This voltage is measured by the
BE
ADC to give a temperature output in twos complement format.
To further reduce the effects of noise, digital filtering is performed
by averaging the results of 16 measurement cycles.
Signal conditioning and measurement of the internal temperature
sensor is performed in a similar manner.
TEMPERATURE DATA FORMAT
One LSB of the ADC corresponds to 0.125∞C, so the ADC can
measure from 0∞C to 127.875∞C. The temperature data format
is shown in Tables I and II.
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.
Table I. Temperature Data Format (Local Temperature and
Remote Temperature High Byte)
DVn
BEf
where:
K is Boltzmann’s constant (1.38 ¥ 10
q is the charge on the electron (1.6 ¥ 10
KT
=
()¥()
In N
q
–23
).
–19
Coulombs).
T is the absolute temperature in Kelvins.
N is the ratio of the two currents.
n
is the ideality factor of the thermal diode.
f
The ADM1032 is trimmed for an ideality factor of 1.008.
IN II
D+
REMOTE
SENSING
TRANSISTOR
C1*
D–
*
CAPACITOR C1 IS OPTIONAL AND IT SHOULD ONLY BE USED IN VERY NOISY ENVIRONMENTS.
C1 = 1000pF MAX.
Table II. Extended Temperature Resolution (Remote
Temperature Low Byte)
ExtendedRemote Temperature
ResolutionLow Byte
0.000∞C0000 0000
0.125∞C0010 0000
0.250∞C0100 0000
0.375∞C0110 0000
0.500∞C1000 0000
0.625∞C1010 0000
0.750∞C1100 0000
0.875∞C1110 0000
ADM1032 REGISTERS
The ADM1032 contains registers that are used to store the
results of remote and local temperature measurements and high
and low temperature limits and to configure and control the
device. A description of these registers follows, and further
details are given in Tables III to VII.
Address Pointer Register
The Address Pointer Register itself does not have, or require, an
address, since it is the register to which the first data byte of
every write operation is written automatically. This data byte
is an address pointer that sets up one of the other registers for
the second byte of the write operation or for a subsequent
read operation.
The power-on default value of the Address Pointer Register is
00h. So, if a read operation is performed immediately after poweron without first writing to the Address Pointer, the value of the
local temperature will be returned, since its register address is 00h.
Value Registers
The ADM1032 has three registers to store the results of local
and remote temperature measurements. These registers are
written to by the ADC only and can be read over the SMBus.
Offset Register
Series resistance on the D+ and D– lines in processor packages
and clock noise can introduce offset errors into the remote
temperature measurement. To achieve the specified accuracy on
this channel, these offsets must be removed.
The offset value is stored as an 11-bit, twos complement value
in Registers 11h (high byte) and 12h (low byte, left justified).
The value of the offset is negative if the MSB of Register 11h is
1 and positive if the MSB of Register 12h is 0. The value is added
to the measured value of the remote temperature.
The offset register powers up with a default value of 0∞C and
will have no effect if nothing is written to them.
Bit 7 of the Status Register indicates that the ADC is busy
converting when it is high. Bits 6 to 3, 1, and 0 are flags that
indicate the results of the limit comparisons. Bit 2 is set when the
remote sensor is open circuit.
If the local and/or remote temperature measurement is above the
corresponding high temperature limit, or below or equal to the
corresponding low temperature limit, one or more of these flags
will be set. These five flags (Bits 6 to 2) NOR’d together, so that
if any of them are high, the ALERT interrupt latch will be set
and the ALERT output will go low. Reading the Status Register
will clear the five flag bits, provided that the error conditions that
caused the flags to be set have gone away. While a limit comparator is tripped due to a value register containing an out-of-limit
measurement, or the sensor is open circuit, the corresponding flag
bit cannot be reset. A flag bit can only be reset if the corresponding value register contains an in-limit measurement or the
sensor is good.
The ALERT interrupt latch is not reset by reading the Status
Register but will be reset when the ALERT output has been
serviced by the master reading the device address, provided the
error condition has gone away and the Status Register flag bits
have been reset.
When Flags 1 and 0 are set, the THERM output goes low to
indicate that the temperature measurements are outside the
programmed limits. THERM output does not need to be reset,
unlike the ALERT output. Once the measurements are within the
limits, the corresponding status register bits are reset and the
THERM output goes high.
Table IV. Status Register Bit Assignments
BitNameFunction
7BUSY1 When ADC Converting
6LHIGH*1 When Local High Temp Limit Tripped
5LLOW*1 When Local Low Temp Limit Tripped
4RHIGH*1 When Remote High Temp Limit Tripped
3RLOW*1 When Remote Low Temp Limit Tripped
2OPEN*1 When Remote Sensor Open-Circuit
1RTHRM1 When Remote THERM Limit Tripped
0LTHRM1 When Local THERM Limit Tripped
*These flags stay high until the status register is read or they are reset by POR.
Configuration Register
Two bits of the Configuration Register are used. If Bit 6 is 0,
which is the power-on default, the device is in Operating Mode
with the ADC converting. If Bit 6 is set to 1, the device is in
Standby Mode and the ADC does not convert. The SMBus
does, however, remain active in Standby Mode so values can be
read from or written to the SMBus. The ALERT and THERM
O/Ps are also active in Standby Mode.
Bit 7 of the Configuration Register is used to mask the alert
output. If Bit 7 is 0, which is the power-on default, the output is
enabled. If Bit 7 is set to 1, the output is disabled.
REV. D
–7–
ADM1032
Table V. Configuration Register Bit Assignments
Power-On
BitNameFunctionDefault
7MASK10 = ALERT Enabled0
1 = ALERT Masked
6RUN/STOP0 = Run0
1 = Standby
5–0Reserved0
Conversion Rate Register
The lowest four bits of this register are used to program the
conversion rate by dividing the internal oscillator clock by 1, 2,
4, 8, 16, 32, 64, 128, 256, 512, or 1,024 to give conversion
times from 15.5 ms (Code 0Ah) to 16 seconds (Code 00h).
This register can be written to and read back over the SMBus.
The higher four bits of this register are unused and must be set
to zero. Use of slower conversion times greatly reduces the
device power consumption, as shown in Table VI.
The ADM1032 has nine limit registers to store local and remote,
high, low, and THERM temperature limits. These registers can
be written to and read back over the SMBus.
The high limit registers perform a > comparison, while the low
limit registers perform a
< comparison. For example, if the High
Limit Register is programmed with 80∞C, then measuring 81∞C
will result in an alarm condition. If the Low Limit Register is
programmed with 0∞C, measuring 0∞C or lower will result in an
alarm condition. Exceeding either the local or remote THERM
limit asserts THERM low. A default hysteresis value of 10∞C is
provided, which applies to both channels. This hysteresis may
be reprogrammed to any value after power up (Reg 0x21h).
One-Shot Register
The One-Shot Register is used to initiate a single conversion
and comparison cycle when the ADM1032 is in Standby Mode,
after which the device returns to standby. This is not a data
register as such, and it is the write operation that causes the
one-shot conversion. The data written to this address is irrelevant and is not stored. The conversion time on a single shot is
96 ms when the conversion rate is 16 conversions per second or
less. At 32 conversions per second, the conversion time is 15.3 ms.
This is because averaging is disabled at the faster conversion rates
(32 and 64 conversions per second).
Consecutive ALERT Register
This value written to this register determines how many out-oflimit measurements must occur before an ALERT is generated.
The default value is that one out-of-limit measurement generates
an ALERT. The max value that can be chosen is 4. The purpose
of this register is to allow the user to perform some filter
ing of the
output. This is particularly useful at the faster two conversion
rates where no averaging takes place.
Table VII. Consecutive ALERT Register Codes
Number of Out-of-Limit
Register ValueMeasurements Required
yxxx 000x1
yxxx 001x2
yxxx 011x3
yxxx 111x4
NOTES
x = Don’t care bit.
y = SMBus timeout bit. Default = 0. See SMBus section for more
information.
SERIAL BUS INTERFACE
Control of the ADM1032 is carried out via the serial bus. The
ADM1032 is connected to this bus as a slave device, under the
control of a master device.
There is a programmable SMBus timeout. When this is enabled,
the SMBus will timeout after typically 25 ms of no activity. However,
this feature is not enabled by default. To enable it, set Bit 7
of the Consecutive Alert Register (Address = 22h).
The ADM1032 supports packet error checking (PEC) and its
use is optional. It is triggered by supplying the extra clock for the
PEC byte. The PEC byte is calculated using CRC-8. The frame
check sequence (FCS) conforms to CRC-8 by the polynomial
Cx xxx
821
=+++
()
1
Consult the SMBus 1.1 specification for more information.
ADDRESSING THE DEVICE
In general, every SMBus device has a 7-bit device address (except
for some devices that have extended, 10-bit addresses). When
the master device sends a device address over the bus, the slave
device with that address will respond. The ADM1032 and the
ADM1032-1 are available with one SMBUS address, which is
Hex 4C (1001 100). The ADM1032-2 is also available with one
SMBUS address; however, that address is Hex 4D (1001 101).
The serial bus protocol operates as follows:
1. The master initiates data transfer by establishing a START
condition, defined as a high-to-low transition on the serial
data line SDATA, while the serial clock line SCLK remains
high. This indicates that an address/data stream will follow.
All slave peripherals connected to the serial bus respond to
the START condition and shift in the next eight bits, consisting
of a 7-bit address (MSB first) plus an R/W bit, which determines
the direction of the data transfer, i.e., whether data will be
written to or read from the slave device.
The peripheral whose address corresponds to the transmitted
address responds by pulling the data line low during the low
period before the ninth clock pulse, known as the Acknowledge
Bit. All other devices on the bus now remain idle while the
Writing to Address 0F causes the ADM1032 to perform a single measurement. It is not a data register as such and it does not matter what data is written to it.
)
selected device waits for data to be read from or written to it.
If the R/W bit is a 0, the master will write to the slave device.
If the R/W bit is a 1, the master will read from the slave device.
2. Data is sent over the serial bus in sequences of nine clock
pulses, eight bits of data followed by an Acknowledge Bit
from the slave device. Transitions on the data line must
occur during the low period of the clock signal and remain
stable during the high period, since a low-to-high transition
when the clock is high may be interpreted as a STOP signal.
The number of data bytes that can be transmitted over the
serial bus in a single read or write operation is limited only by
what the master and slave devices can handle.
3. When all data bytes have been read or written, stop conditions
are established. In Write Mode, the master will pull the data
line high during the tenth clock pulse to assert a STOP
condition. In Read Mode, the master device will override the
Acknowledge Bit by pulling the data line high during the low
period before the ninth clock pulse. This is known as No
Acknowledge. The master will then take the data line low
during the low period before the tenth clock pulse, then high
during the tenth clock pulse to assert a STOP condition.
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 ADM1032, write operations contain either one
or two bytes, while read operations contain one byte and perform
the following functions.
To write data to one of the device data registers or read data
from it, the Address Pointer Register must first be set so that the
correct data register is addressed. The first byte of a write opera-
Address
Pointer Register. If data is to be written to the device, the write
operation er one
register selected by the Address Pointer Register.
This is illustrated in Figure 3a. The device address is sent over
the bus followed by R/W set to 0. This is followed by two data
bytes. The first data byte is the address of the internal data
register to be written to, which is stored in the Address Pointer
Register. The second data byte is the data to be written to the
internal data register.
When reading data from a register, there are two possibilities:
1. If the ADM1032’s Address Pointer Register o.lue is unknown
or not the desired o.lue, it is first necessary to set it to the
correct o.lue before data can be read from the desired data
register. This is done by performing a write to the ADM1032
address is sent, since data is not to be written to the register.
This is shown in Figure 3b.
A read operation is then performed er sisting of the serial bus
address, R/W bit set to 1, followed by the data byte read from
the data register. This is shown in Figure 3c.
2. If the Address Pointer Register is known to be at the desired
address already, data can be read from the corresponding
data register without first writing to the Address Pointer
Register and Figure 3b can be omitted.
REV. D
–9–
ADM1032
Notes
1. Although it is possible to read a data byte from a data register
without first writing to the Address Pointer Register, if the
Address Pointer Register is already at the correct value, it is
not possible to write data to a register without writing to the
Address Pointer Register because the first data byte of a write
is always written to the Address Pointer Register.
1919
SCLK
A6
SDATA
START BY
MASTER
A5A4A3A2A1A0R/WD7
FRAME 1
SERIAL BUS ADDRESS BYTE
SCLK (CONTINUED)
SDATA (CONTINUED)
2. Don’t forget that some of the ADM1032 registers have different addresses for read and write operations. The write address
of a register must be written to the address pointer if data is
to be written to that register, but it is not possible to read
data from that address. The read address of a register must
be written to the address pointer before data can be read
from that register.
D6D5D4D3D2D1D0
ACK. BY
ADM1032
ADDRESS POINTER REGISTER BYTE
D7D6D5D4D3
FRAME 2
FRAME 3
DATA BYTE
D2
D1D0
91
ACK. BY
ADM1032
ACK. BY
ADM1032
STOP BY
MASTER
Figure 3a. Writing a Register Address to the Address Pointer Register, then Writing Data to the Selected Register
1919
SCLK
SDATA
START BY
MASTER
A6A5A4A3A2A1A0 R/WD7D6D5D4D3D2D1D0
ACK. BY
FRAME 1
SERIAL BUS ADDRESS BYTE
ADM1032
Figure 3b. Writing to the Address Pointer Register Only
1919
SCLK
SDATA
START BY
MASTER
A6A5A4A3A2A1A0R/WD7D6D5D4D3D2D1D0
ACK. BY
FRAME 1
SERIAL BUS ADDRESS BYTE
ADM1032
Figure 3c. Reading Data from a Previously Selected Register
ALERT OUTPUT
The ALERT output goes low whenever an out-of-limit measurement is detected, or if the remote temperature sensor is
open-circuit. It is an open drain and requires a pull-up to V
DD
.
Several ALERT outputs can be wire-ORed together so that the
common line will go low if one or more of the ALERT outputs
goes low.
The ALERT output can be used as an interrupt signal to a
processor, or it may be used as an SMBALERT. Slave devices
on the SMBus can not normally signal to the master that they
want to talk, but the SMBALERT function allows them to do so.
STOP BY
MASTER
STOP BY
MASTER
ADDRESS POINTER REGISTER BYTE
FRAME 2
FRAME 2
DATA BYTE FROM ADM1032
ACK. BY
ADM1032
ACK. BY
ADM1032
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 fol-
lowing procedure occurs as illustrated in Figure 4.
MASTER
RECEIVES
SMBALERT
NO
START
ALERT RESPONSE ADDRESS
RD
MASTER SENDS
ARA AND READ
COMMAND
Figure 4. Use of
ACK DEVICE ADDRESS
DEVICE SENDS
ITS ADDRESS
SMBALERT
ACK
STOP
REV. D–10–
ADM1032
1. SMBALERT pulled low.
2. Master initiates a read operation and sends the Alert Response
Address (ARA = 0001 100). This is a general call address that
must not be used as a specific device address.
3.
The device whose ALERT output is low responds to the Alert
Response Address and the master reads its device address.
Since the device address is seven bits, an LSB of 1
The address of the device is now known and it can
is added.
be
interrogated in the usual way.
4. If more than one device’s ALERT output is low, the one with
the lowest device address will have priority in accordance
with normal SMBus arbitration.
5. Once the ADM1032 has responded to the Alert Response
Address, it will reset its ALERT output, provided that the error
condition that caused the ALERT no longer exists. If the
SMBALERT line remains low, the master will send ARA again,
and so on until all devices whose ALERT outputs were low
have responded.
LOW POWER STANDBY MODE
The ADM1032 can be put into a Low Power Standby Mode by
setting Bit 6 of the Configuration Register. When Bit 6 is low, the
ADM1032 operates normally. When Bit 6 is high, the ADC is
inhibited and any conversion in progress is terminated without
writing the result to the corresponding value register.
The SMBus is still enabled. Power consumption in the Standby
Mode is reduced to less than 10 mA if there is no SMBus activity,
or 100 mA 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 XXh to the
One-Shot Register (Address 0Fh), after which the device will return
to standby. It is also possible to write new values to the limit register
while it is in standby. If the values stored in the temperature value
registers are now outside the new limits, an ALERT is generated
even though the ADM1032 is still in standby.
A THERM hysteresis value is provided to prevent a cooling fan
cycling on and off. The power-on default value is 10∞C, but this
may be reprogrammed to any value after power-up. This hysteresis value applies to both the local and remote channels.
Using these two limits in this way allows the user to gain maximum performance from the system by only slowing it down
should it be at a critical temperature.
The THERM signal is open drain and requires a pull-up to
V
. The THERM signal must always be pulled up to the same
DD
power supply as the ADM1032, unlike the SMBus signals
(SDATA, SCLK, and ALERT) that may be pulled to a different
power rail, usually that of the SMBus controller.
100C
90C
80C
70C
60C
50C
40C
TEMPERATURE
LOCAL THERM
LIMIT
LOCAL THERM LIMIT
–HYSTERESIS
THERM
THE ADM1032 INTERRUPT SYSTEM
The ADM1032 has two interrupt outputs, ALERT and THERM.
These have different functions. ALERT responds to violations of
software-programmed temperature limits and is maskable. THERM
is intended as a “fail-safe” interrupt output that cannot be masked.
If the temperature goes equal to or below the lower temperature limit,
the ALERT pin will be asserted low to indicate an out-of-limit
condition. If the temperature is within the programmed low and
high temperature limits, no interrupt will be generated.
If the temperature exceeds the high temperature limit, the ALERT pin
will be asserted low to indicate an overtemperature condition. A local
and remote THERM limit may be programmed into the device to set
the temperature limit above which the overtemperature THERM
pin will be asserted low. This temperature limit should be equal to
or greater than the high temperature limit programmed.
The behavior of the high limit and THERM limit is as follows:
1. If either temperature measured exceeds the high temperature
limit, the ALERT output will assert low.
2. If the local or remote temperature continues to increase and
either one exceeds the THERM limit, the THERM output
asserts low. This can be used to throttle the CPU clock or
switch on a fan.
REV. D
–11–
ADM1032
A
PPLICATIONS INFORMATION
FACTORS AFFECTING ACCURACY
Remote Sensing Diode
The ADM1032 is designed to work with substrate transistors
built into processors’ CPUs or with discrete transistors. Substrate
transistors will generally be PNP types with the collector connected
to the substrate. Discrete types can be either a PNP or an NPN
transistor connected as a diode (base shorted to collec
NPN transistor is used, the collector and base are
tor). If an
connected to
D+ and the emitter to D–. If a PNP transistor is used, the
collector and base are connected to D– and the emitter to D+.
Substrate transistors are found in a number of CPUs. To reduce
the error due to variations in these substrate and discrete
transistors, a number of factors should be taken into consideration:
1. The ideality factor, n
, of the transistor. The ideality factor is
f
a measure of the deviation of the thermal diode from the
ideal behavior. The ADM1032 is trimmed for an n
value of
f
1.008. The following equation may be used to calculate
the error introduced at a temperature T∞C when using a
transistor whose n
processor data sheet for n
n
()
DT
=
does not equal 1.008. Consult the
f
values.
f
–.
1 008
natural
.
1 008
¥+
273 15
()
Kelvin T
.
This value can be written to the Offset Register and is automatically added to or subtracted from the temperature measurement.
2. Some CPU manufacturers specify the high and low current
levels of the substrate transistors. The high current level of
the ADM1032, I
, is 13 A. If the ADM1032 current levels do not match
I
LOW
, is 230 A and the low level current,
HIGH
the levels of the CPU manufacturers, then it may become
necessary to remove an offset. The CPU’s data sheet will
advise whether this offset needs to be removed and how to
calculate it. This offset may be programmed to the Offset
Register. It is important to note that if accounting for two
or more offsets is needed, then the algebraic sum of these
offsets must be programmed to the Offset Register.
If a discrete transistor is being used with the ADM1032, the
best accuracy will be obtained by choosing devices according to
the following criteria:
∑ Base-emitter voltage greater than 0.25 V at 6 mA, at the highest
operating temperature.
∑ Base-emitter voltage less than 0.95 V at 100 mA, at the lowest
operating temperature.
∑ Base resistance less than 100 W.
∑ Small variation in h
control of V
BE
(say 50 to 150) that indicates tight
FE
characteristics.
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 internal temperature sensor being at the same
temperature as that being measured, and a number of factors
can affect this. Ideally, the sensor should be in good thermal
contact with the part of the system being measured, for example
the processor. If it is not, the thermal inertia caused by the mass
of the sensor will cause a lag in the response of the sensor to a
temperature change. In the case of the remote sensor, this
should not be a problem, since it will either be a substrate tran
sistor
in the processor or a small package device, such as the SOT-23,
placed in close proximity to it.
The on-chip sensor, however, will often be remote from the
processor and will only be monitoring the general ambient
temperature around the package. The thermal time constant of
the SOIC-8 package in still air is about 140 seconds, and if the
ambient air temperature quickly changed by 100 degrees, it
would take about 12 minutes (five time constants) for the junction temperature of the ADM1032 to settle within one degree of
this. In practice, the ADM1032 package will be in electrical and
therefore
also be in a
the board
measured
thermal contact with a printed circuit board and may
forced airflow. How accurately the temperature of
and/or the forced airflow reflect the temperature to be
will also affect the accuracy.
Self-heating due to the power dissipated in the ADM1032 or the
remote sensor causes the chip temperature of the device or remote
sensor to rise above ambient. However, the current forced through
the remote sensor is so small that self-heating is negligible. In
the case of the ADM1032, the worst-case condition occurs when
the device is converting at 16 conversions per second while sinking
the maximum current of 1 mA at the ALERT and THERM
output. In this case, the total power dissipation in the device is
about 11 mW. The thermal resistance, q
, of the SOIC-8 package
JA
is about 121∞C/W.
In practice, the package will have electrical and therefore thermal
connection to the printed circuit board, so the temperature rise
due to self-heating will be negligible.
LAYOUT CONSIDERATIONS
Digital boards can be electrically noisy environments, and the
ADM1032 is measuring very small voltages from the remote
sensor, so care must be taken to minimize noise induced at the
sensor inputs. The following precautions should be taken:
1.
Place the ADM1032 as close as possible to the remote sensing
diode. Provided that the worst noise sources, i.e., clock
erators, data/address buses, and CRTs are avoided, this
gen
can be four to eight inches.
distance
2. Route the D+ and D– tracks close together, in parallel, with
grounded guard tracks on each side. Provide a ground plane
under the tracks if possible.
3. Use wide tracks to minimize inductance and reduce noise
pickup. 10 mil track minimum width and spacing is
recommended.
GND
D+
D–
GND
Figure 6. Arrangement of Signal Tracks
10MIL
10MIL
10MIL
10MIL
10MIL
10MIL
10MIL
4. Try to minimize the number of copper/solder joints, which
can cause thermocouple effects. Where copper/solder joints
are used, make sure that they are in both the D+ and D– path
and at the same temperature.
REV. D–12–
ADM1032
Thermocouple effects should not be a major problem since
1∞C corresponds to about 200 V and thermocouple voltages
about 3 V/∞C of temperature difference. Unless there are
are
two
thermocouples with a big temperature differential between
thermocouple voltages should be much less than 200 V.
them,
5. Place a 0.1 mF bypass capacitor close to the V
pin. In very
DD
noisy environments, place a 1,000 pF input filter capacitor
across D+ and D– close to the ADM1032.
6. If the distance to the remote sensor is more than eight inches,
the use of twisted pair cable is recommended. This will work
up to about six feet to twelve feet.
7. For really long distances (up to 100 feet), use shielded twisted
pair, such as Belden #8451 microphone cable. Connect the
twisted pair to D+ and D– and the shield to GND close to
the ADM1032. Leave the remote end of the shield unconnected
to avoid ground loops.
Because the measurement technique uses switched current
sources,
measurement.
excessive cable and/or filter capacitance can affect the
When using long cables, the filter capacitor may
be reduced or removed.
Cable resistance can also introduce errors. 1 W series resistance
introduces about 1∞C error.
APPLICATION CIRCUIT
Figure 7 shows a typical application circuit for the ADM1032,
using a discrete sensor transistor connected via a shielded,
twisted pair cable. The pull-ups on SCLK, SDATA, and ALERT
are required only if they are not already provided elsewhere
n the system.
i
The SCLK and SDATA pins of the ADM1032 can be inter-
directly to the SMBus of an I/O controller, such as the
faced
Intel 820 chipset.
0.1F
2N3906
OR
CPU THERMAL
DIODE
SHIELD
ADM1032
D+
D–
GND
V
SCLK
SDATA
ALERT
THERM
DD
V
DD
TYP 10k
FAN
ENABLE
TYP 10k
CONTROL
CIRCUIT
SMBUS
CONTROLLER
FAN
3V TO 3.6V
5V OR 12V
Figure 7. Typical Application Circuit
REV. D
–13–
ADM1032
8-Lead Standard Small Outline Package [SOIC]
Narrow Body
(R-8)
Dimensions shown in millimeters and (inches)
OUTLINE DIMENSIONS
8-Lead Mini Small Outline Package [MSOP]
(RM-8)
Dimensions shown in millimeters
5.00 (0.1968)
4.80 (0.1890)
4.00 (0.1574)
3.80 (0.1497)
0.25 (0.0098)
0.10 (0.0040)
COPLANARITY
0.10
CONTROLLING DIMENSIONS ARE IN MILLIMETERS; INCH DIMENSIONS
(IN PARENTHESES) ARE ROUNDED-OFF MILLIMETER EQUIVALENTS FOR
REFERENCE ONLY AND ARE NOT APPROPRIATE FOR USE IN DESIGN