MAXIM MAX1618

19-1495; Rev 1; 10/99
Remote Temperature Sensor
with SMBus Serial Interface
____________________________Features
The MAX1618 precise digital thermometer reports the
temperature of a remote sensor. The remote sensor is a
diode-connected transistor—typically a low-cost, easily
mounted 2N3904 NPN type—that replaces conventional
thermistors or thermocouples. Remote accuracy is ±3°C
for multiple transistor manufacturers, with no calibration
needed. The MAX1618 can also measure the die temperature of other ICs, such as microprocessors, that contain
an on-chip, diode-connected transistor.
♦ Single Channel: Measures Remote CPU
Temperature
The 2-wire serial interface accepts standard System
Management Bus (SMBus™) Write Byte, Read Byte, Send
Byte, and Receive Byte commands to program the alarm
thresholds and to read temperature data. The data format
is 7 bits plus sign, with each bit corresponding to 1°C, in
two’s complement format. Measurements can be done
automatically and autonomously, with the 16Hz conversion
rate or programmed to operate in a single-shot mode.
♦ Supports SMBus Alert Response Accuracy
±3°C (+60°C to +100°C)
±5°C (-55°C to +120°C)
♦ SMBus 2-Wire Serial Interface
♦ Programmable Under/Overtemperature Alarms
♦ Overtemperature Output for Fan Control
(Thermostat Mode)
†
The thermostat mode configures the ALERT output as an
interrupt or as a temperature reset that remains active only
while the temperature is above the maximum temperature
limit or below the minimum temperature limit. The ALERT
output polarity in thermostat mode can be configured for
active high or active low. Fan control is implemented using
this ALERT output.
The MAX1618 is available in a small (1.1mm high) 10-pin
µMAX package.
♦ No Calibration Required
♦ 3µA (typ) Standby Supply Current
♦ 900µA (max) Supply Current in Autoconvert Mode
♦ +3V to +5.5V Supply Range
♦ Small 10-Pin µMAX Package
Ordering Information
PART
MAX1618MUB
TEMP. RANGE
-55°C to +125°C
PIN-PACKAGE
10 µMAX
________________________Applications
Desktop and Notebook
Computers
Central Office
Telecom Equipment
Smart Battery Packs
LAN Servers
Industrial Controls
Test and Measurement
Multichip Modules
Typical Operating Circuit
___________________Pin Configuration
3V TO 5.5V
200Ω
0.1µF
TOP VIEW
VCC
STBY
10k EACH
ADD0 1
10 ALERT
ADD1
9
MAX1618
DXP
2
GND
3
DXN
DXP
MAX1618
SMBDATA
8
SMBCLK
4
7
STBY
5
6
VCC
SMBCLK
SMBDATA
2N3904
DXN
2200pF
ALERT
MAX1618
________________General Description
CLOCK
DATA
INTERRUPT
TO µC
ADD0 ADD1 GND
µMAX
SMBus is a trademark of Intel Corp.
†Patents Pending
________________________________________________________________ Maxim Integrated Products
1
For free samples & the latest literature: http://www.maxim-ic.com, or phone 1-800-998-8800.
For small orders, phone 1-800-835-8769.
MAX1618
Remote Temperature Sensor
with SMBus Serial Interface
ABSOLUTE MAXIMUM RATINGS
VCC to GND ..............................................................-0.3V to +6V
DXP, ADD_ to GND ....................................-0.3V to (VCC + 0.3V)
DXN to GND ..........................................................-0.3V to +0.8V
SMBCLK, SMBDATA, ALERT, STBY to GND ...........-0.3V to +6V
SMBDATA Current.................................................-1mA to 50mA
DXN Current. ......................................................................±1mA
ESD Protection (all pins, Human Body Model).. .............± 2000V
Continuous Power Dissipation (TA = +70°C)
µMAX (derate 5.6mW/°C above +70°C) ....................444mW
Operating Temperature Range (extended) ......-55°C to +125°C
Junction Temperature. ....................................................+150°C
Storage Temperature Range ............................-65°C to +150°C
Lead Temperature (soldering, 10sec) ............................+300°C
Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. These are stress ratings only, and functional
operation of the device at these or any other conditions beyond those indicated in the operational sections of the specifications is not implied. Exposure to
absolute maximum rating conditions for extended periods may affect device reliability.
ELECTRICAL CHARACTERISTICS
(VCC = +3.3V, configuration byte register = X8h, TA = 0°C to +85°C, unless otherwise noted.)
PARAMETER
SYMBOL
CONDITIONS
MIN
TYP
MAX
UNITS
ADC AND POWER SUPPLY
Temperature Resolution
(Note 1)
Temperature Error,
Remote Diode (Note 2)
Supply-Voltage Range
VCC
Undervoltage Lockout
Threshold
UVLO
Monotonicity guaranteed
8
TR = +60°C to +100°C
-3
3
TR = +55°C to +125°C
-5
5
3
5.5
V
2.95
V
VCC input, disables A/D conversion,
rising edge
Bits
2.6
2.8
1
1.7
50
Undervoltage Lockout Hysteresis
Power-On Reset Threshold
VCC, falling edge
Standby Supply Current
SMBus static
3
Standby Supply Current
Hardware or software standby,
SMBCLK at 10kHz
5
Average Operating
Supply Current
Autoconvert mode, average measured
Autoconvert
over
4sec, 16 conv/sec
mode, average
From stop bit to conversion complete
47
Conversion Rate Timing Error
Autoconvert mode
-25
Remote-Diode Source Current
DXP forced to DXN + 0.65V,
ID = 1 (high)
Conversion Time
mV
2.5
50
POR Threshold Hysteresis
tCONV
ADDO, ADD1 Bias Current
µA
µA
450
900
µA
62
78
ms
25
%
80
100
120
Low level
8
10
12
Momentary upon power-on reset
V
mV
10
High level
DXN Source Voltage
°C
µA
0.7
V
160
µA
SMBus INTERFACE
STBY SMBCLK, SMBDATA
Input High Voltage
VIH
VCC = 3.0V
STBY, SMBCLK, SMBDATA
Input Low Voltage
VIL
VCC = 3.0V to 5.5V
2.2
STBY, SMBCLK, SMBDATA
Input Current
Logic inputs forced to VCC or GND
-1
SMBCLK, SMBDATA
Output Low Sink Current
SMBCLK, SMBDATA forced to 0.4V
6
2
_______________________________________________________________________________________
V
0.8
V
1
µA
mA
Remote Temperature Sensor
with SMBus Serial Interface
(VCC = +3.3V, configuration byte register = X8h, TA = 0°C to +85°C, unless otherwise noted.)
PARAMETER
SYMBOL
CONDITIONS
ALERT Output Low Sink Current
ALERT forced to 0.4V
ALERT Output High
Leakage Current
ALERT forced to 5.5V
MIN
TYP
MAX
6
mA
1
SMBCLK, SMBDATA Input
Capacitance
5
SMBus Clock Frequency
DC
(Note 3)
UNITS
µA
pF
100
tLOW
10% to 10% points
SMBCLK Clock High Time
tHIGH
90% to 90% points
SMBCLK, SMBDATA Rise Time
tR
10% to 90% points
1
µs
SMBCLK, SMBDATA Fall Time
tF
90% to 10% points
300
ns
SMBus Start Condition
Setup Time
4.7
kHz
SMBCLK Clock Low Time
µs
4
µs
4.7
µs
500
ns
SMBus Repeated Start
Condition Setup Time
tSU:STA
90% to 90% points
SMBus Start Condition
Hold Time
tHD:STA
10% of SMBDATA to 90% of SMBCLK
4
µs
SMBus Stop Condition
Setup Time
tSU:STO
90% of SMBCLK to 10% of SMBDATA
4
µs
SMBus Data Valid to SMBCLK
Rising-Edge Time
tSU:DAT
90% of SMBDATA to 10% of SMBCLK
250
ns
SMBus Data-Hold Time
tHD:DAT
(Note 4)
0
µs
SMBus Bus Free Time
tBUF
4.7
µs
SMBCLK Falling Edge to SMBus
Data-Valid Time
Between start/stop condition
Master clocking in data
1
µs
MAX
UNITS
ELECTRICAL CHARACTERISTICS
(VCC = +3.3V, configuration byte register = X8h, TA = -55°C to +125°C, unless otherwise noted.) (Note 5)
PARAMETER
SYMBOL
CONDITIONS
MIN
TYP
Temperature Resolution (Note 1)
Monotonicity guaranteed
8
Initial Temperature Error,
Remote Diode (Note 2)
TR = +60°C to +100°C
-3
3
TR = -55°C to +125°C
-5
5
From stop bit to conversion complete
47
Autoconvert mode
-25
Supply-Voltage Range
Conversion Time
VCC
tCONV
Conversion-Rate Timing Error
Bits
3
62
°C
5.5
V
78
ms
25
%
_______________________________________________________________________________________
3
MAX1618
ELECTRICAL CHARACTERISTICS (continued)
ELECTRICAL CHARACTERISTICS (continued)
(VCC = +3.3V, configuration byte register = X8h, TA = -55°C to +125°C, unless otherwise noted.) (Note 5)
PARAMETER
CONDITIONS
MIN
TYP
MAX
UNITS
SMBus INTERFACE
STBY, SMBCLK, SMBDATA
Input High Voltage
VCC = 3.0V
2.2
VCC = 5.5V
2.4
V
STBY, SMBCLK, SMBDATA
Input Low Voltage
VCC = 3.0V to 5.5V
STBY, SMBCLK, SMBDATA
Input Current
Logic inputs forced to VCC or GND
-2
SMBCLK, SMBDATA Output
Low Sink Current
SMBCLK, SMBDATA forced to 0.6V
6
mA
ALERT Output Low Sink Current
ALERT forced to 0.4V
1
mA
ALERT Output High Leakage
Current
ALERT forced to 5.5V
0.8
V
2
µA
1
µA
Note 1: Guaranteed, but not 100% tested.
Note 2: A remote diode is any diode-connected transistor from Table 7. TR is the junction temperature of the remote diode. See
Remote Diode Selection for remote-diode forward voltage requirements. Temperature specification guaranteed for a diode
with ideality factor (MTR = 1.013). Additional error = (1.013/m - 1) · 273 + Temp where M = Ideality of remote diode used.
Note 3: The SMBus logic block is a static design that works with clock frequencies down to DC. While slow operation is possible, it
violates the 10kHz minimum clock frequency and SMBus specifications and may monopolize the bus.
Note 4: Note that a transition must internally provide at least a hold time to bridge the undefined region (300ns max) of SMBCLK’s
falling edge.
Note 5: Specifications from -55°C to +125°C are guaranteed by design, not production tested.
Typical Operating Characteristics
(TA = +25°C, unless otherwise noted.)
TEMPERATURE ERROR
vs. REMOTE-DIODE TEMPERATURE
10
0
-10
PATH = DXP TO VCC (5.0V)
AND CONFIG = H08
PATH = DXP TO VCC (5.0V)
AND CONFIG = H00
-20
-30
1.50
1.00
0.50
0.00
-0.50
-1.00
-40
1
10
LEAKAGE RESISTANCE (MΩ)
4
2.00
100
1
TEMPERATURE ERROR (°C)
20
2
MAX1618 toc02
PATH = DXP TO GND AND CONFIG = H08
30
2.50
TEMPERATURE ERROR (°C)
PATH = DXP TO GND AND CONFIG = H00
MAX1618 toc01
40
TEMPERATURE ERROR vs.
POWER-SUPPLY NOISE FREQUENCY
MAX1618 toc03
TEMPERATURE ERROR
vs. LEAKAGE RESISTANCE
TEMPERATURE ERROR (°C)
MAX1618
Remote Temperature Sensor
with SMBus Serial Interface
0
-1
-2
VIN = 100mVp-p
-3
-4
VIN = 250mVp-p
-5
-6
CENTRAL CMPT3904
RANDOM SAMPLE
-55 -35 -15
5
25
-7
45
65
TEMPERATURE (°C)
85 105 125
VIN = SQUARE WAVE APPLIED TO
VCC WITH NO 0.1µF VCC CAPACITOR
-8
0.005
0.05
0.5
5
POWER-SUPPLY NOISE FREQUENCY (MHz)
_______________________________________________________________________________________
50
Remote Temperature Sensor
with SMBus Serial Interface
TEMPERATURE ERROR vs.
COMMON-MODE NOISE FREQUENCY
VIN = 100mVp-p
80
60
40
VIN = 50mVp-p
VCC = 5V
MAX1618 toc05
TEMPERATURE ERROR (°C)
AC-COUPLED TO DXN
2200pF DXN-DXP CAPACITOR
100
TEMPERATURE ERROR (°C)
0
MAX1618 toc04
120
TEMPERATURE ERROR
vs. DXP-DXN CAPACITANCE
-10
20
0
-20
10
100
0
1000
20
COMMON-MODE NOISE FREQUENCY (MHz)
40
60
80
100
DXP-DXN CAPACITANCE (nF)
STANDBY SUPPLY CURRENT
vs. CLOCK FREQUENCY
MAX1618 toc06
STANDBY SUPPLY CURRENT (µA)
50
40
30
VCC = 5V
20
VCC = 3.3V
10
0
1
10
100
1000
CLOCK FREQUENCY (kHz)
STANDBY SUPPLY CURRENT
vs. SUPPLY VOLTAGE
RESPONSE TO THERMAL SHOCK
80
60
50
40
30
ADD0, ADD1 = HIGH-Z
20
110
100
TEMPERATURE (°C)
ADD0, ADD1 = GND
70
MAX1618 toc08
90
STANDBY SUPPLY CURRENT (µA)
120
MAX1618 toc07
100
90
80
70
60
50
40
10-PIN µMAX IMMERSED IN
+115°C FLUORINERT BATH
30
10
20
0
0
1
2
3
SUPPLY VOLTAGE (V)
4
5
-2
0
2
4
6
8 10 12 14 16 18 20
TIME (sec)
_______________________________________________________________________________________
5
MAX1618
____________________________Typical Operating Characteristics (continued)
(TA = +25°C, unless otherwise noted.)
Remote Temperature Sensor
with SMBus Serial Interface
MAX1618
Pin Description
PIN
NAME
FUNCTION
1
ADD0
SMBus Slave Address Select Input. (See Table 6.) ADD0 and ADD1 are sampled upon power-up. Excess
capacitance (>50pF) at the address pins when floating may cause address-recognition problems.
2
ADD1
SMBus Slave Address Select Input. (See Table 6.) ADD0 and ADD1 are sampled upon power-up. Excess
capacitance (>50pF) at the address pins when floating may cause address-recognition problems.
3
GND
Ground
4
DXN
Combined Current Sink and A/D Negative Input. DXN is normally biased to a diode voltage above
ground.
5
DXP
Combined Current Source and A/D Positive Input. Do not leave DXP floating. Place a 2200pF capacitor
between DXP and DXN for noise filtering.
6
VCC
Supply Voltage Input. Bypass to GND with a 0.1µF capacitor.
7
STBY
Hardware-Standby Input. Temperature and comparison threshold data are retained in standby mode.
Low = standby mode. High = operating mode.
8
SMBCLK
9
SMBDATA
10
ALERT
SMBus Serial-Clock Input
SMBus Serial-Data Input/Output. Open drain.
SMBus Alert (Interrupt) Output. Open drain.
Detailed Description
The MAX1618 is a temperature sensor designed to
work in conjunction with an external microcontroller
(µC) or other intelligence in thermostatic, process-control, or monitoring applications. The µC is typically a
power-management or keyboard controller, generating
SMBus serial commands by “bit-banging” general-purpose input-output (GPIO) pins or through a dedicated
SMBus interface block.
Essentially an 8-bit serial analog-to-digital converter
(ADC) with a sophisticated front end, the MAX1618
contains a switched-current source, a multiplexer, an
ADC, an SMBus interface, and the associated control
logic (Figure 1). Temperature data from the ADC is
loaded into a data register, where it is automatically
compared with data previously stored in over/undertemperature alarm threshold registers. The alarm
threshold registers can be set for hysteretic fan control.
currents through the remote diode, measures the forward voltage, and computes the temperature.
The DXN input is biased at 0.65V above ground by an
internal diode to set up the analog-to-digital (A/D)
inputs for a differential measurement. The worst-case
DXP-DXN differential input voltage range is 0.25V to
0.95V.
Excess resistance in series with the remote diode
causes about +1/2°C error/Ω. A 200µV offset voltage at
DXP-DXN causes about +1°C error.
A/D Conversion Sequence
If a Start command is written (or generated automatically in the free-running autoconvert mode), the result of
the measurement is available after the end of conversion. A BUSY status bit in the status byte shows that the
device is performing a new conversion. The result of the
previous conversion is always available even when the
ADC is busy.
ADC and Multiplexer
The averaging ADC integrates over a 30ms period (typ)
with excellent noise rejection. The ADC converts at a
rate of 16Hz. The multiplexer automatically steers bias
6
_______________________________________________________________________________________
Remote Temperature Sensor
with SMBus Serial Interface
STBY
MAX1618
ADDRESS
DECODER
MUX
DXP
DXN
+
+
-
-
ADC
MAX1618
VCC
ADD1
SMBDATA
CONTROL
LOGIC
GND
ADD0
SMBUS
SMBCLK
READ
WRITE
8
8
COMMAND-BYTE
(INDEX) REGISTER
8
8
REMOTE-TEMPERATURE
DATA REGISTER
CONFIGURATION
BYTE REGISTER
HIGH-TEMPERATURE
THRESHOLD
STATUS BYTE REGISTER
LOW-TEMPERATURE
THRESHOLD
ALERT RESPONSE
ADDRESS REGISTER
8
ALERT
R
DIGITAL COMPARATOR
S
Q
CONTROL
LOGIC
Figure 1. Functional Diagram
_______________________________________________________________________________________
7
MAX1618
Remote Temperature Sensor
with SMBus Serial Interface
Low-Power Standby Mode
Standby mode disables the ADC and reduces the supply-current drain to 3µA (typ). Enter standby mode by
forcing the STBY pin low or via the RUN/STOP bit in the
configuration byte register. Hardware and software
standby modes behave almost identically; all data is
retained in memory, and the SMB interface is alive and
listening for reads and writes. The only difference is that
in hardware standby mode, the one-shot command
does not initiate a conversion.
Table 1. Data Format (Two’s Complement)
DIGITAL OUTPUT
DATA BITS
ROUNDED
TEMP.
(°C)
SIGN
MSB
LSB
+130.00
+127
0
111
1111
+127.00
+127
0
111
1111
+126.50
+127
0
111
1111
+126.00
+126
0
111
1111
Standby mode is not a shutdown mode. Activity on the
SMBus draws extra supply current (see Typical
Operating Characteristics). In software standby mode,
the MAX1618 can be forced to perform A/D conversions
through the one-shot command, despite the RUN/STOP
bit being high.
Enter hardware standby mode by forcing the STBY pin
low. In a notebook computer, this line may be connected to the system SUSTAT# suspend-state signal.
+25.25
+25
0
001
1001
+0.50
+1
0
000
0001
+0.25
0
0
000
0000
0.00
0
0
000
0000
-0.25
0
0
000
0000
-0.50
0
0
000
0000
-0.75
-1
1
111
1111
The STBY pin low state overrides any software conversion command. If a hardware or software standby command is received while a conversion is in progress, the
conversion cycle is truncated, and the data from that
conversion is not latched into either temperature reading register. The previous data is not changed and
remains available.
Supply-current drain during the 62ms conversion period
is always about 450µA. Between conversions, the
instantaneous supply current is about 25µA due to the
current consumed by the conversion rate timer. In
standby mode, supply current drops to about 3µA. With
very low supply voltages (under the power-on reset
threshold), the supply current is higher due to the
address input bias currents. It can be as high as 160µA,
depending on ADD0 and ADD1 settings.
-1.00
-1
1
111
1111
-25.00
-25
1
110
0111
-25.50
-25
1
110
0111
-54.75
-55
1
100
1001
-55.00
-55
1
100
1001
-65.00
-65
1
011
1111
-70.00
-65
1
011
1111
SMBus Digital Interface
From a software perspective, the MAX1618 appears as a
set of byte-wide registers that contains temperature data,
alarm threshold values, or control bits. Use a standard
SMBus 2-wire serial interface to read temperature data
and write control bits and alarm threshold data.
The MAX1618 employs four standard SMBus protocols:
Write Byte, Read Byte, Send Byte, and Receive Byte
(Figure 2). The two shorter protocols (Receive and Send)
allow quicker transfers, provided that the correct data
register was previously selected by a Write or Read Byte
instruction. Use caution with the shorter protocols
in multimaster systems, since a second master could
overwrite the command byte without informing the first
master.
8
TEMP.
(°C)
The temperature data format is 7 bits plus sign in two’s
complement form for each channel, with each data bit
representing +1°C (Table 1), transmitted MSB first.
Measurements are offset by +1/2°C to minimize internal
rounding errors; for example, +99.6°C is reported as
+100°C.
Alarm Threshold Registers
Two registers, a high-temperature (THIGH) and a lowtemperature (T LOW ) register, store alarm threshold
data. If a measured temperature equals or exceeds the
corresponding alarm threshold value, an ALERT interrupt is asserted.
The power-on reset (POR) state of the THIGH register is
full scale (0111 1111 or +127°C). The POR state of the
TLOW register is 1100 1001 or -55°C.
Thermostat Mode
Thermostat mode changes the function of the ALERT
output from a latched interrupt-type output to a selfclearing thermostat for fan control. This output simply
responds to the current temperature (Figure 3). If the
current temperature is above THIGH, ALERT activates
_______________________________________________________________________________________
Remote Temperature Sensor
with SMBus Serial Interface
MAX1618
Write Byte Format
S
WR
ADDRESS
ACK
COMMAND
7 bits
ACK
DATA
8 bits
Slave Address: equivalent to chip-select line of
a 3-wire interface
ACK
P
8 bits
Command Byte: selects which
register you are writing to
Data Byte: data goes into the register
set by the command byte (to set
thresholds, configuration masks, and
sampling rate)
Read Byte Format
S
WR
ADDRESS
ACK
COMMAND
7 bits
ACK
Command Byte: selects
which register you are
reading from
ACK
DATA
A
P
8 bits
Slave Address: repeated
due to change in dataflow direction
Data Byte: reads from
the register set by the
command byte
Receive Byte Format
WR
ACK
DATA
7 bits
S = Start condition
P = Stop condition
RD
7 bits
Send Byte Format
ADDRESS
ADDRESS
8 bits
Slave Address: equivalent to chip-select line of
a 3-wire interface
S
S
ACK
P
8 bits
S
ADDRESS
7 bits
Data Byte: writes data to the
register commanded by the
last Read Byte or Write Byte
transmission
Shaded = Slave transmission
A = Not acknowledged
WR
ACK
DATA
A
P
8 bits
Data Byte: reads data from
the register commanded
by the last Read Byte or
Write Byte transmission;
also used for SMBus Alert
Response return address
Figure 2. SMBus Protocols
+3V TO +5.5V
+12V
STBY
VCC
MAX1618
SMBUS
SERIAL
INTERFACE
(TO HOST)
SMBCLK
SMBDATA
DXP
2N3904
DXN
ALERT
ADD0
and does not go inactive until the temperature drops
below TLOW.
Enable thermostat mode through the configuration register (Table 4), with one bit to enable the feature and
another bit to set the output polarity (active high or
active low). The ALERT thermostat comparison is made
after each conversion, or at the end of any SMBus
transaction. For example, if the limit is changed while
the device is in standby mode, the ALERT output
responds correctly according to the last valid A/D
result. Upon entering thermostat mode, the ALERT output is reset so that if the temperature is in the hysteresis
band ALERT initially goes inactive. The power-on reset
(POR) state disables thermostat mode.
Diode Fault Alarm
ADD1
GND
A continuity fault detector at DXP detects whether the
remote diode has an open-circuit condition, short-circuit to GND, or short-circuit DXP-to-DXN condition. At
the beginning of each conversion, the diode fault is
checked, and the status byte is updated. This fault
detector is a simple voltage detector; if DXP rises
Figure 3. Fan Control Application
_______________________________________________________________________________________
9
MAX1618
Remote Temperature Sensor
with SMBus Serial Interface
above VCC - 1V (typ) or below VDXN + 50mv (typ), a
fault is detected and ALERT is asserted. ADC reads
+127°C. Also, if the ADC has an extremely low differential input voltage, the diode is assumed to be shorted
and a fault is detected. Note that the diode fault is not
checked until a conversion is initiated, so immediately
after power-on reset, the status byte indicates no fault
is present even if the diode path is broken.
Table 2. Read Format for Alert Response
Address (0001 100)
BIT
NAME
7
(MSB)
ADD7
6
ADD6
ALERT Interrupts
5
ADD5
Normally, the ALERT interrupt output signal is latched
and can be cleared only by reading the Alert Response
address. Interrupts are generated in response to THIGH
and TLOW comparisons and when the remote diode is
faulted. The interrupt does not halt automatic conversions; new temperature data continues to be available
over the SMBus interface after ALERT is asserted. The
interrupt output pin is open-drain so the devices can
share a common interrupt line.
The interface responds to the SMBus Alert Response
address, an interrupt pointer return-address feature
(see Alert Response Address section). Before taking
corrective action, always check to ensure that an interrupt is valid by reading the current temperature.
The alert activates only once per crossing of a given
temperature threshold to prevent any re-entrant interrupts. To enable a new interrupt, rewrite the value of the
violated temperature threshold.
4
ADD4
3
ADD3
2
ADD2
1
ADD1
0
(LSB)
ADD0
Alert Response Address
The SMBus Alert Response interrupt pointer provides
quick fault identification for simple slave devices that
lack the complex, expensive logic needed to be a bus
master. Upon receiving an ALERT interrupt signal, the
host master can broadcast a Receive Byte transmission
to the Alert Response slave address (0001100). Any
slave device that generated an interrupt then attempts
to identify itself by putting its own address on the bus
(Table 2).
The Alert Response can activate several different slave
devices simultaneously, similar to the I2C General Call.
If more than one slave attempts to respond, bus arbitration rules apply, and the device with the lower address
code wins. The losing device does not generate an
acknowledgement and continues to hold the ALERT
line low until serviced (implies that the host interrupt
input is level sensitive). Successful reading of the alert
response address clears the interrupt latch.
Command Byte Functions
The 8-bit command byte register (Table 3) is the master
index that points to the other registers within the
MAX1618. The register’s POR state is 0000 0001, so a
I2C is a trademark of Philips Corp.
10
FUNCTION
Provide the current MAX1618
slave address that was latched at
POR (Table 6)
Logic 1
Receive Byte transmission (a protocol that lacks the
command byte) that occurs immediately after POR
returns the current remote temperature data.
The one-shot command immediately forces a new conversion cycle to begin. A new conversion begins in
software standby mode (RUN/STOP bit = high). The
device returns to standby mode after the conversion. If
a conversion is in progress when a one-shot command
is received, the command is ignored. If a one-shot
command is received in autoconvert mode (RUN/STOP
bit = low) between conversions, a new conversion
begins; the conversion rate timer is reset, and the next
automatic conversion takes place after a full delay
elapses.
Configuration Byte Functions
The configuration byte register (Table 4) is used to
mask (disable) interrupts, to put the device in software
standby or thermostat mode, change the polarity of the
alert output (thermostat mode only), and to change the
diode bias current. The lower three bits are internally
driven low (000), making them “don’t care” bits. Write
zeros to these bits. The serial interface can read back
this register’s contents.
Status Byte Functions
The status byte register (Table 5) indicates which (if
any) temperature thresholds have been exceeded. This
byte also indicates whether the ADC is converting and
whether there is a fault in the remote diode DXP-DXN
path. After POR, the normal state of all the flag bits is
zero, assuming none of the alarm conditions is present.
The status byte is cleared by any successful read of
the status byte. Note that the ALERT interrupt latch is
not automatically cleared when the status flag bit is
cleared.
______________________________________________________________________________________
Remote Temperature Sensor
with SMBus Serial Interface
MAX1618
Table 3. Command-Byte Bit Assignments
REGISTER
COMMAND
POR STATE
FUNCTION
RFU
00h
N/A
RRTE
01h
0000 0000*
Reserved for future use
RSL
02h
N/A
RCL
03h
0000 1000
Read configuration byte
RCRA
04h
0000 0111
Read conversion rate byte (not supported by MAX1618)
RFU
05h
N/A
Reserved for future use
RFU
06h
N/A
Reserved for future use
Read remote temperature; returns latest temperature
Read status byte (flags, busy signal)
RRHI
07h
0111 1111
Read remote THIGH limit
RRLS
08h
1100 1001
Read remote TLOW limit
WCA
09h
N/A
Write configuration byte
WCRW
0Ah
N/A
Write conversion rate byte (not supported by MAX1618)
RFU
0Bh
N/A
Reserved for future use
RFU
0Ch
N/A
Reserved for future use
WRHA
0Dh
N/A
Write remote THIGH limit
WRLN
0Eh
N/A
Write remote TLOW limit
OSHT
0Fh
N/A
One-shot command
MFGID
FEh
01001101
Read manufacturer ID code
DEVID
FFh
00000010
Read device ID code
*If the device is in hardware standby mode at POR, the temperature register reads 0°C.
Table 4. Configuration-Byte Bit
Assignments
BIT
NAME
POR
STATE
7
(MSB)
MASK
0
Masks all ALERT interrupts
when high.
0
Standby mode control bit. If
high, the device immediately
stops converting and enters
standby mode. If low, the
device converts in either
one-shot or timer mode.
0
ALERT pin polarity control in
thermostat mode.
0 = active low
1 = active high
0
Enables thermostat mode
when high.
6
5
4
RUN/
STOP
POL
THERM
FUNCTION
3
ID
1
Enables diode bias current.
0 (Logic Low) = 5µA to 50µA
(typ)
1 (Logic High) = 10µA to
100µA (typ)
2 to 0
RFU
0
Reserved for future use.
Table 5. Status-Byte Bit
Assignments
BIT
NAME
FUNCTION
7
(MSB)
BUSY
A high indicates that the ADC is busy
converting.
6, 5
RFU
Reserved for future use (returns 0).
RHIGH*
A high indicates that the remote hightemperature alarm has activated. In
thermostat mode, this bit is always in
the same state as the ALERT output.
3
RLOW*
A high indicates that the remote lowtemperature alarm has activated. In
thermostat mode, this bit is always
zero.
2
DIODE
A high indicates a remote-diode fault
(open-circuit, shorted diode, or DXP
short to GND).
1, 0
(LSB)
RFU
4
Reserved for future use (returns 0).
*In ALERT mode, the HIGH and LOW temperature alarm flags
stay high until cleared by POR or until the status byte register
is read.
______________________________________________________________________________________
11
MAX1618
Remote Temperature Sensor
with SMBus Serial Interface
Table 6. Slave Address Decoding
(ADD0 and ADD1)
ADD0
ADD1
ADDRESS
GND
GND
0011 000
GND
High-Z
0011 001
Table 7. SOT23 Type Remote-Sensor
Transistor Manufacturers
MANUFACTURER
MODEL NUMBER
Central Semiconductor (USA)
CMPT3904
Fairchild Semiconductor (USA)
MMBT3904
GND
VCC
0011 010
High-Z
GND
0101 001
Motorola (USA)
MMBT3904
High-Z
High-Z
0101 010
Rohm Semiconductor (Japan)
SST3904
High-Z
VCC
0101 011
Siemens (Germany)
SMBT3904
VCC
GND
1001 100
VCC
High-Z
1001 101
Zetex (England)
FMMT3904CT-ND
VCC
VCC
1001 110
Note: Transistors must be diode-connected (short the base to
the collector).
Note: High-Z means the pin is left unconnected and floating.
Slave Addresses
The device address can be set to one of nine different
values by pin-strapping ADD0 and ADD1 so more than
one MAX1618 can reside on the same bus without
address conflicts (Table 6).
The address pin states are checked at POR only, and
the address data stays latched to reduce quiescent
supply current due to the bias current needed for highimpedance (high-Z) state detection.
The MAX1618 also responds to the SMBus Alert
Response slave address (see the Alert Response
Address section).
POR and UVLO
The MAX1618 has a volatile memory. To prevent ambiguous power-supply conditions from corrupting the data in
the memory and causing erratic behavior, a POR voltage
detector monitors VCC and clears the memory if VCC falls
below 1.7V (typical, see the Electrical Characteristics
table). When power is first applied and VCC rises above
1.75V (typ), the logic blocks begin operating, although
reads and writes at VCC levels below 3V are not recommended. A second VCC comparator, the ADC UVLO comparator, prevents the ADC from converting until there is
sufficient headroom (VCC = 2.8V typ).
Power-Up Defaults:
• Interrupt latch is cleared.
• Address select pins are sampled.
• Command byte is set to 01h to facilitate quick
remote Receive Byte queries.
• THIGH and TLOW registers are set to max and min
limits, respectively.
• Device is in normal mode. (ALERT acts as a latched
interrupt output.)
Applications Information
Remote Diode Selection
Temperature accuracy depends on having a goodquality, diode-connected, small-signal transistor.
Accuracy has been experimentally verified for all of the
devices listed in Table 7. The MAX1618 can also directly measure the die temperature of CPUs and other integrated circuits with on-board temperature sensing
diodes, such as the Intel Pentium II®.
The transistor must be a small-signal type with a relatively high forward voltage. This ensures that the input
voltage is within the A/D input voltage range. The forward voltage must be greater than 0.25V at 10µA at the
highest expected temperature. The forward voltage
must be less than 0.95V at 100µA at the lowest expected temperature. The base resistance has to be less
than 100Ω. Tight specification of forward-current gain
(+50 to +150, for example) indicates that the manufacturer has good process controls and that the devices
have consistent VBE characteristics. Do not use power
transistors.
ADC Noise Filtering
The integrating ADC has inherently good noise rejection, especially of low-frequency signals such as
60Hz/120Hz power-supply hum. Micropower operation
places constraints on high-frequency noise rejection.
Lay out the PCB carefully with proper external noise filtering for high-accuracy remote measurements in electrically noisy environments.
Filter high-frequency electromagnetic interference
(EMI) at DXP and DXN with an external 2200pF capacitor connected between the two inputs. This capacitor
can be increased to about 3300pF (max), including
cable capacitance. A capacitance higher than 3300pF
Pentium II is a registered trademark of Intel Corp.
12
______________________________________________________________________________________
Remote Temperature Sensor
with SMBus Serial Interface
tLOW
B
C
tHIGH
E
D
F
G
I
H
J
K
L
MAX1618
A
M
SMBCLK
SMBDATA
tSU:STA
tHD:STA
tSU:DAT
A = START CONDITION
B = MSB OF ADDRESS CLOCKED INTO SLAVE
C = LSB OF ADDRESS CLOCKED INTO SLAVE
D = R/W BIT CLOCKED INTO SLAVE
E = SLAVE PULLS SMBDATA LINE LOW
tHD:DAT
tSU:STO tBUF
J = ACKNOWLEDGE CLOCKED INTO MASTER
K = ACKNOWLEDGE CLOCK PULSE
L = STOP CONDITION, DATA EXECUTED BY SLAVE
M = NEW START CONDITION
F = ACKNOWLEDGE BIT CLOCKED INTO MASTER
G = MSB OF DATA CLOCKED INTO SLAVE
H = LSB OF DATA CLOCKED INTO SLAVE
I = SLAVE PULLS SMBDATA LINE LOW
Figure 4. SMBus Write Timing Diagram
A
B
tLOW
C
D
E
F
G
tHIGH
H
J
I
K
SMBCLK
SMBDATA
tSU:STA tHD:STA
tSU:STO
tSU:DAT
A = START CONDITION
B = MSB OF ADDRESS CLOCKED INTO SLAVE
C = LSB OF ADDRESS CLOCKED INTO SLAVE
D = R/W BIT CLOCKED INTO SLAVE
E = SLAVE PULLS SMBDATA LINE LOW
F = ACKNOWLEDGE BIT CLOCKED INTO MASTER
G = MSB OF DATA CLOCKED INTO MASTER
H = LSB OF DATA CLOCKED INTO MASTER
tBUF
I = ACKNOWLEDGE CLOCK PULSE
J = STOP CONDITION
K = NEW START CONDITION
Figure 5. SMBus Read Timing Diagram
introduces errors due to the rise time of the switchedcurrent source.
PC Board Layout
1) Place the MAX1618 as close as practical to the
remote diode. In a noisy environment, such as a
computer motherboard, this distance can be 4 inches to 8 inches (typ) or more, as long as the worst
noise sources (such as CRTs, clock generators,
memory buses, and ISA/PCI buses) are avoided.
2) Do not route the DXP–DXN lines next to the deflection coils of a CRT. Also, do not route the traces
across a fast memory bus, which can easily
introduce +30°C error, even with good filtering.
Otherwise, most noise sources are fairly benign.
3) Route the DXP and DXN traces parallel and close to
each other, away from any high-voltage traces such
as +12VDC. Avoid leakage currents from PC board
contamination. A 20MΩ leakage path from DXP to
ground causes approximately +1°C error.
4) Connect guard traces to GND on either side of the
DXP-DXN traces (Figure 5). With guard traces in
place, routing near high-voltage traces is no longer
an issue.
5) Route as few vias and crossunders as possible to
minimize copper/solder thermocouple effects.
6) When introducing a thermocouple, make sure that
both the DXP and the DXN paths have matching
thermocouples. In general, PC board-induced thermocouples are not a serious problem. A copper-
______________________________________________________________________________________
13
MAX1618
Remote Temperature Sensor
with SMBus Serial Interface
GND
10 MILS
10 MILS
DXP
MINIMUM
10 MILS
DXN
Excess capacitance at DX_ limits practical remote-sensor distances (see Typical Operating Characteristics).
For very long cable runs, the cable's parasitic capacitance often provides noise filtering, so the recommended
2200pF capacitor can often be removed or reduced in
value.
Cable resistance also affects remote-sensor accuracy. A
1Ω series resistance introduces about +1/2°C error.
10 MILS
GND
Figure 6. Recommended DXP/DXN PC Traces
solder thermocouple exhibits 3µV/°C, and it takes
approximately 200µV of voltage error at DXP-DXN to
cause a +1°C measurement error, so most parasitic
thermocouple errors are swamped out.
7) Use wide traces. Narrow traces are more inductive
and tend to pick up radiated noise. The 10mil
widths and spacings recommended in Figure 5 are
not absolutely necessary (as they offer only a minor
improvement in leakage and noise), but try to use
them where practical.
8) Note that copper cannot be used as an EMI shield.
Use only ferrous materials such as steel. Placing a
copper ground plane between the DXP-DXN traces
and traces carrying high-frequency noise signals
does not help reduce EMI.
Twisted Pair and Shielded Cables
For remote-sensor distances longer than 8 inches, or in
particularly noisy environments, a twisted pair is recommended. Its practical length is 6 feet to 12 feet (typ)
before noise becomes a problem, as tested in a noisy
electronics laboratory. For longer distances, the best
solution is a shielded twisted pair like that used for audio
microphones. For example, Belden #8451 works well for
distances up to 100 feet in a noisy environment. Connect
the twisted pair to DXP and DXN and the shield to GND,
and leave the shield’s remote end unterminated.
14
Programming Example:
Clock-Throttling Control for CPUs
Listing 1 gives an untested example of pseudocode for
proportional temperature control of Intel mobile CPUs
through a power-management microcontroller. This program consists of two main parts: an initialization routine
and an interrupt handler. The initialization routine checks
for SMBus communications problems and sets up the
MAX1618 configuration. The interrupt handler responds
to ALERT signals by reading the current temperature and
setting a CPU clock duty factor proportional to that temperature. The relationship between clock duty and temperature is fixed in a look-up table contained in the
microcontroller code.
Note: Thermal management decisions should be made
based on the latest external temperature obtained from
the MAX1618 rather than the value of the Status Byte.
The MAX1618 responds very quickly to changes in its
environment due to its sensitivity and its small thermal
mass. High and low alarm conditions can exist at the
same time in the Status Byte, because the MAX1618 is
correctly reporting environmental changes around it.
______________________________________________________________________________________
Remote Temperature Sensor
with SMBus Serial Interface
MAX1618
Listing 1. Pseudocode Example
/* Beginning of the header file which sets the constants */
int
NumStates
= 10;
int
RRTE
= 1;
register */
int
WCA
= 9;
register */
int
RSL
= 2;
int
WRHA
= 13;
register */
int
WRLN
= 14;
register */
int
NoError
int
Nobody
int
MAX1618Addr = 84;
ADD0,ADD1=open */
int
InitConfig = 8;
RUN/STOP=0 */
int
HighAdder
= 2;
int
LowSubtracter
*/
int
CollisionMask
indicates collision */
int
DiodeFaultMask
status bit */
int
TempChangeMask
bits */
/* 0x01, command for reading remote temp
/* 0x09, command for writing configuration
/* 0x02, command for reading status register */
/* 0x0D, command for writing remote THIGH limit
/* 0x0E, command for writing remote TLOW limit
= 0;
= 0;
/* 0x54, default address for MAX1618,
/* 0x08, configure MAX1618 to MASK=0 and
/* 2oC offset for calculating THIGH limit */
= 4; /* 4oC offset for calculating TLOW limit
= 1;
/* 0x01, mask for status bit that
= 4;
/* 0x04, mask for the OPEN diode fault
= 24; /* 0x18, mask for RHIGH and RLOW status
array State[0..NumStates] of int;
State[0] = -65 oC /*
100% */
State[1] = 72 oC /*
87.5% */
State[2] = 74 oC /*
*/
State[3] = 76 oC /*
62.5% */
State[4] = 78 oC /*
*/
State[5] = 80 oC /*
37.5% */
State[6] = 82 oC /*
*/
State[7] = 84 oC /*
12.5% */
State[8] = 86 oC /*
0.0% */
State[9] = 88 oC /*
State[10] = 127 oC
At or above this temperature CPU duty cycle is
At or above this temperature CPU duty cycle is
At or above this temperature CPU duty cycle is 75%
At or above this temperature CPU duty cycle is
At or above this temperature CPU duty cycle is 50%
At or above this temperature CPU duty cycle is
At or above this temperature CPU duty cycle is 25%
At or above this temperature CPU duty cycle is
At or above this temperature CPU duty cycle is
At or above this temperature SHUT SYSTEM OFF! */
/* Extra array location so looping is easier */
/* End of the header file */
______________________________________________________________________________________
15
MAX1618
Remote Temperature Sensor
with SMBus Serial Interface
Listing 1. Pseudocode Example (continued)
int Initialization()
{
int ErrorCode
= NoError;
/* Test the SMBus communications path to the MAX1618 by writing the
configuration and initial temperature limits; if SMBus communication
was unsuccessful, power the system down. Note that the MAX1618Write
procedure takes three parameters: the command code of the register to
be written, the data to write, and a pointer to the the error code
variable. If the error code variable does not equal NoError before the
execution of MAX1618Write, MAX1618Write does nothing. If the SMBus
communication fails in MAX1618Write, the error code variable is set to
the type of error (for example a NACK, i.e. MAX1618 did not
acknowledge). This code assumes that the BIOS is already in thermal
state 0 (not throttling, i.e. full CPU clock rate) when the
initialization routine is executed. */
MAX1618Write(WCA, InitConfig, &ErrorCode);
/* MASK=0 and
RUN/STOP=0 */
MAX1618Write(WRLN, LowestTemp, &ErrorCode);
/* TLOW = -65oC
*/
MAX1618Write(WRHA, State[0] + HighAdder, &ErrorCode)
/* THIGH =
72oC */
if (ErrorCode != NoError) then {
/* Power off the system */
}
/* End of if (ErrorCode ... */
return (ErrorCode);
}
16
/* End of Initialization routine */
______________________________________________________________________________________
Remote Temperature Sensor
with SMBus Serial Interface
MAX1618
Listing 1. Pseudocode Example (continued)
int ALERT_IntHandler()
{
int ErrorCode
= NoError;
int WhoDunnit
= Nobody;
int FoundState
= 0;
int StatusInfo
= 0;
int TempHigh;
int TempLow;
/* This interrupt handler verifies that the MAX1618 is the source of
the interrupt (and also clears the interrupt) via the SMBus Alert
Response address; checks the status byte to ensure that a temperature
change did indeed cause the interrupt; reads the remote temperature;
programs a corresponding clock-throttling duty cycle, and sets up new
Thigh and Tlow limits. */
ReadAlertResponse(&WhoDunnit, &ErrorCode);
if (WhoDunnit == MAX1618Addr) then {
MAX1618Read(RSL, &StatusInfo, &ErrorCode);
if (((StatusInfo & CollisionMask) != 0) and (ErrorCode ==
NoError)) then
MAX1618Read(RSL, &StatusInfo, &ErrorCode);
if (StatusInfo & DiodeFaultMask) != 0) then
{
/* Shut down system because thermal diode doesn't
work */
}
else if ((StatusInfo & TempChangeMask) != 0) then {
MAX1618Read(RRTE, &TempRead, &ErrorCode);
while ((TempRead >= State[FoundState + 1]) and
(FoundState < (NumStates - 1)) do
FoundState++;
if (FoundState == (NumStates - 1)) then {
/* Ahhhhh!!! SHUT SYSTEM OFF!!!! */
}
else {
/* adjust clock duty cycle */
TempHigh = TempRead + HighAdder;
TempLow = TempRead - LowSubtracter;
MAX1618Write(WRHA, TempHigh, &Error);
MAX1618Write(WRLN, TempLow, &Error);
}
/* End of if (FoundState ... */
}
/* End of if (((StatusInfo .. else if ... */
/* Handle local temp status bits if set */
else
}
{
/* Handle cases for other interrupt sources */
}
/* End of if (WhoDunnit ... */
return(ErrorCode);
______________________________________________________________________________________
17
Remote Temperature Sensor
with SMBus Serial Interface
MAX1618
Chip Information
TRANSISTOR COUNT: 9911
18
______________________________________________________________________________________
Remote Temperature Sensor
with SMBus Serial Interface
10LUMAX.EPS
______________________________________________________________________________________
19
MAX1618
Package Information
MAX1618
Remote Temperature Sensor
with SMBus Serial Interface
NOTES
Maxim cannot assume responsibility for use of any circuitry other than circuitry entirely embodied in a Maxim product. No circuit patent licenses are
implied. Maxim reserves the right to change the circuitry and specifications without notice at any time.
20 ____________________Maxim Integrated Products, 120 San Gabriel Drive, Sunnyvale, CA 94086 408-737-7600
© 1999 Maxim Integrated Products
Printed USA
is a registered trademark of Maxim Integrated Products.