beautypg.com

Operation – measuring temperature, Temperature register format figure 2, Temperature/data relationship table 2 – Rainbow Electronics DS18S20 User Manual

Page 3: Digital output

background image

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