1 of 16 102299
FEATURES
§ Temperature measurements require no
external components
§ Measures temperatures from –55°C to
+125°C in 0.5°C increments. Fahrenheit
equivalent is –67°F to 257°F in 0.9°F
increments
§ Temperature is read as a 9–bit value (2byte transfer)
§ Wide power supply range (2.7V to 5.5V)
§ Converts temperature to digital word in 1
second
§ Thermostatic settings are user definable
and nonvolatile
§ Data is read from/written via a two–wire
serial interface (open drain I/O lines)
§ Applications include thermostatic
controls, industrial systems, consumer
products, thermometers, or any thermal
sensitive system
§ 8–pin DIP or SOIC package (150-MIL and
208-MIL)
PIN ASSIGNMENT
PIN DESCRIPTION
SDA - 2-Wire Serial Data Input/Output
SCL - 2-Wire Serial Clock
GND - Ground
T
OUT
- Thermostat Output Signal
A0 - Chip Address Input
A1 - Chip Address Input
A2 - Chip Address Input
V
DD
- Power Supply Voltage
DESCRIPTION
The DS1621 Digital Thermometer and Thermostat provides 9–bit temperature readings which indicate
the temperature of the device. The thermal alarm output, T
OUT
, is active when the temperature of the
device exceeds a user–defined temperature TH. The output remains active until the temperature drops
below user defined temperature TL, allowing for any hysteresis necessary.
User-defined temperature settings are stored in nonvolatile memory so parts may be programmed prior to
insertion in a system. Temperature settings and temperature readings are all communicated to/from the
DS1621 over a simple two–wire serial interface.
Digital Thermometer and Thermostat
A2DS1621S 8-PIN SOIC (150-MIL)
DS1621V 8-PIN SOIC (208-MIL)
See Mech Drawings Section
6
A2DS1621 8-PIN DIP (300-MIL)
See Mech Drawings Section
DS1621
2 of 16 102299
DETAILED PIN DESCRIPTION Table 1
PIN SYMBOL DESCRIPTION
1 SDA Data input/output pin for 2-wire serial communication port.
2 SCL Clock input/output pin for 2-wire serial communication port.
3 T
OUT
Thermostat output. Active when temperature exceeds TH; will reset when
temperature falls below TL.
4 GND Ground pin.
5 A2 Address input pin.
6 A1 Address input pin.
7 A0 Address input pin.
8 V
DD
Supply voltage input power pin. (2.7V – 5.5V)
OPERATION
Measuring Temperature
A block diagram of the DS1621 is shown in Figure 1. The DS1621 measures temperatures through the
use of an onboard proprietary temperature measurement technique. A block diagram of the temperature
measurement circuitry is shown in Figure 2.
The DS1621 measures temperature by counting the number of clock cycles that an oscillator with a low
temperature coefficient goes through during a gate period determined by a high temperature coefficient
oscillator. The counter is preset with a base count that corresponds to –55°C. If the counter reaches 0
before the gate period is over the temperature register, which is also preset to the –55°C value, is
incremented indicating that the temperature is higher than –55°C.
At the same time, the counter is preset with a value determined by the slope accumulator circuitry. This
circuitry is needed to compensate for the parabolic behavior of the oscillators over temperature. The
counter is then clocked again until it reaches 0. If the gate period is still not finished, then this process
repeats.
The slope accumulator is used to compensate for the nonlinear behavior of the oscillators over
temperature, yielding a high resolution temperature measurement. This is done by changing the number
of counts necessary for the counter to go through for each incremental degree in temperature. To obtain
the desired resolution, both the value of the counter and the number of counts per °C (the value of the
slope accumulator) at a given temperature must be known.
This calculation is done inside the DS1621 to provide 0.5°C resolution. The temperature reading is
provided in a 9–bit, two’s complement reading by issuing the READ TEMPERATURE command. Table
2 describes the exact relationship of output data to measured temperature. The data is transmitted through
the 2–wire serial interface, MSB first. The DS1621 can measure temperature over the range of –55°C to
+125°C in 0.5°C increments. For Fahrenheit usage a lookup table or conversion factor must be used.
DS1621
3 of 16 102299
DS1621 FUNCTIONAL BLOCK DIAGRAM Figure 1
DS1621
4 of 16 102299
TEMPERATURE MEASURING CIRCUITRY Figure 2
TEMPERATURE/DATA RELATIONSHIPS Table 2
TEMPERATURE DIGITAL OUTPUT
(Binary)
DIGITAL OUTPUT
(Hex)
+125°C 01111101 00000000 7B00h
+25°C 00011001 00000000 1900h
+½°C 00000001 00000000 0080h
+0°C 00000000 00000000 0000h
-½°C 11111111 10000000 FF80h
-25°C 11100111 00000000 E700h
-55°C 11001001 00000000 C900h
Since data is transmitted over the 2–wire bus MSB first, temperature data may be written to/read from the
DS1621 as either a single byte (with temperature resolution of 1°C) or as two bytes. The second byte
would contain the value of the least significant (0.5°C) bit of the temperature reading as shown in Table
1. Note that the remaining 7 bits of this byte are set to all "0"s.
Temperature is represented in the DS1621 in terms of a ½°C LSB, yielding the following 9–bit format:
T = -25°C
SLOPE ACCUMULATOR
PRESET COMPARE
LOW TEMPERATURE
COEFFICIENT OSCILLATOR
COUNTER PRESET
=0
TEMPERATURE REGISTER
COEFFICIENT OSCILLATOR
COUNTER
=0
INC
STOP
SET/CLEAR
1
1 1 0 0
1
1 1
0
0 0 0 0
0
0 0
DS1621
5 of 16 102299
Higher resolutions may be obtained by reading the temperature and truncating the 0.5°C bit (the LSB)
from the read value. This value is TEMP_READ. The value left in the counter may then be read by
issuing a READ COUNTER command. This value is the count remaining (COUNT_REMAIN) after the
gate period has ceased. By loading the value of the slope accumulator into the count register (using the
READ SLOPE command), this value may then be read, yielding the number of counts per degree C
(COUNT_PER_C) at that temperature. The actual temperature may be then be calculated by the user
using the following:
TEMPERATURE=TEMP_READ-0.25 +
CPERCOUNT
REMAINCOUNTCPERCOUNT
__
)___(
Thermostat Control
In its operating mode, the DS1621 functions as a thermostat with programmable hysteresis as shown in
Figure 3. The thermostat output updates as soon as a temperature conversion is complete.
When the DS1621’s temperature meets or exceeds the value stored in the high temperature trip register
(TH), the output becomes active and will stay active until the temperature falls below the temperature
stored in the low temperature trigger register (TL). In this way, any amount of hysteresis may be
obtained.
The active state for the output is programmable by the user so that an active state may either be a logic
"1" (VDD) or a logic "0" (0V).
THERMOSTAT OUTPUT OPERATION Figure 3
DQ (Thermostat output, Active=High)
OPERATION AND CONTROL
The DS1621 must have temperature settings resident in the TH and TL registers for thermostatic
operation. A configuration/status register also determines the method of operation that the DS1621 will
use in a particular application, as well as indicating the status of the temperature conversion operation.
The configuration register is defined as follows:
where
DONE = Conversion Done bit. “1” = Conversion complete, “0” = Conversion in progress.