Operation – measuring temperature, Temperature register format figure 2, Temperature/data relationship table 2 – Rainbow Electronics DS18S20 User Manual
Page 3: Digital output

DS18S20
3 of 21
OPERATION – MEASURING TEMPERATURE
The core functionality of the DS18S20 is its direct-to-digital temperature sensor. The temperature sensor
output has 9-bit resolution, which corresponds to 0.5
°
C steps. The DS18S20 powers-up in a low-power
idle state; to initiate a temperature measurement and A-to-D conversion, the master must issue a Convert
T [44h] command. Following the conversion, the resulting thermal data is stored in the 2-byte
temperature register in the scratchpad memory and the DS18S20 returns to its idle state. If the DS18S20
is powered by an external supply, the master can issue “read time slots” (see the 1-WIRE BUS SYSTEM
section) after the Convert T command and the DS18S20 will respond by transmitting 0 while the
temperature conversion is in progress and 1 when the conversion is done. If the DS18S20 is powered
with parasite power, this notification technique cannot be used since the bus must be pulled high by a
strong pullup during the entire temperature conversion. The bus requirements for parasite power are
explained in detail in the POWERING THE DS18S20 section of this datasheet.
The DS18S20 output data is calibrated in degrees centigrade; for Fahrenheit applications, a lookup table
or conversion routine must be used. The temperature data is stored as a 16-bit sign-extended two’s
complement number in the temperature register (see Figure 2). The sign bits (S) indicate if the
temperature is positive or negative: for positive numbers S = 0 and for negative numbers S = 1. Table 2
gives examples of digital output data and the corresponding temperature reading.
Resolutions greater than 9 bits can be calculated using the data from the temperature, COUNT REMAIN
and COUNT PER °C registers in the scratchpad. Note that the COUNT PER °C register is hard-wired to
16 (10h). After reading the scratchpad, the TEMP_READ value is obtained by truncating the 0.5
°
C bit
(bit 0) from the temperature data (see Figure 2). The extended resolution temperature can then be
calculated using the following equation:
C
PER
COUNT
REMAIN
COUNT
C
PER
COUNT
READ
TEMP
E
TEMPERATUR
_
_
_
_
_
25
.
0
_
−
+
−
=
Additional information about high-resolution temperature calculations can be found in Application Note
105: “High Resolution Temperature Measurement with Dallas Direct-to-Digital Temperature Sensors”.
TEMPERATURE REGISTER FORMAT Figure 2
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
LS Byte
2
6
2
5
2
4
2
3
2
2
2
1
2
0
2
-1
bit 15
bit 14
bit 13
bit 12
bit 11
bit 10
bit 9
bit 8
MS Byte
S S S S S S S S
TEMPERATURE/DATA RELATIONSHIP Table 2
TEMPERATURE DIGITAL
OUTPUT
(Binary)
DIGITAL OUTPUT
(Hex)
+85.0°C*
0000 0000 1010 1010
00AAh
+25.0°C
0000 0000 0011 0010
0032h
+0.5°C
0000 0000 0000 0001
0001h
0°C
0000 0000 0000 0000
0000h
-0.5°C
1111 1111 1111 1111
FFFFh
-25.0°C
1111 1111 1100 1110
FFCEh
-55.0°C
1111 1111 1001 0010
FF92h
*The power-on reset value of the temperature register is +85°C