![](http://datasheet.mmic.net.cn/150000/DS18S20Z_datasheet_5001378/DS18S20Z_3.png)
DS18S20
3 of 23
Figure 1. DS18S20 Block Diagram
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.
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 1gives 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
_
+
=
VPU
4.7k
POWER-
SUPPLY
SENSE
64-BIT ROM
AND
1-Wire PORT
DQ
VDD
INTERNAL VDD
CPP
PARASITE POWER
CIRCUIT
MEMORY CONTROL
LOGIC
SCRATCHPAD
8-BIT CRC GENERATOR
TEMPERATURE SENSOR
ALARM HIGH TRIGGER (TH)
REGISTER (EEPROM)
ALARM LOW TRIGGER (TL)
REGISTER (EEPROM)
GND
DS18S20