The DS1621 Digital Thermometer and Thermostat provides 9–bit temperature readings which indicate
the temperature of the device. The thermal alarm output, T
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.
, is active when the temperature of the
OUT
1 of 16102299
DS1621
DETAILED PIN DESCRIPTION Table 1
PINSYMBOLDESCRIPTION
1SDAData input/output pin for 2-wire serial communication port.
2SCLClock input/output pin for 2-wire serial communication port.
3T
OUT
Thermostat output. Active when temperature exceeds TH; will reset when
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.
2 of 16102299
DS1621 FUNCTIONAL BLOCK DIAGRAM Figure 1
STATUS REGISTER &
CONTROL LOGIC
TEMPERATURE SENSOR
HIGH TEMP TRIGGER, TH
LOW TEMP TRIGGER, TL
DIGITAL COMPARATOR/LOGIC
ADDRESS
I/O CONTROL
SCL
SDAA0A1
A2
T
OUT
AND
DS1621
3 of 16102299
TEMPERATURE MEASURING CIRCUITRY Figure 2
HIGH TEMPERATURE
LSB
MSB
LSB
SLOPE ACCUMULATOR
PRESETCOMPARE
DS1621
LOW TEMPERATURE
COEFFICIENT OSCILLATOR
COEFFICIENT OSCILLATOR
COUNTERPRESET
INC
=0
COUNTER
STOP
=0
TEMPERATURE/DATA RELATIONSHIPS Table 2
TEMPERATUREDIGITAL OUTPUT
(Binary)
+125°C01111101 000000007B00h
+25°C00011001 000000001900h
+½°C00000001 000000000080h
+0°C00000000 000000000000h
-½°C11111111 10000000FF80h
-25°C11100111 00000000E700h
-55°C11001001 00000000C900h
SET/CLEAR
TEMPERATURE REGISTER
DIGITAL OUTPUT
(Hex)
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:
1
1100
1
11
0
0000
0
00
T = -25°C
4 of 16102299
DS1621
−
TLTHT (°C)
DONE
THF
TLF
NVB
10POL
1SHOT
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 +
REMAINCOUNTCPERCOUNT
CPERCOUNT
__
)___(
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.
5 of 16102299
Loading...
+ 11 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.