Datasheet

Conguration Register
Byte 4 of the scratchpad memory contains the configura-
tion register, which is organized as illustrated in Figure 10.
The user can set the conversion resolution of the DS18B20
using the R0 and R1 bits in this register as shown in Table
2. The power-up default of these bits is R0 = 1 and R1 =
1 (12-bit resolution). Note that there is a direct tradeoff
between resolution and conversion time. Bit 7 and bits 0 to
4 in the configuration register are reserved for internal use
by the device and cannot be overwritten.
CRC Generation
CRC bytes are provided as part of the DS18B20’s 64-bit
ROM code and in the 9
th
byte of the scratchpad memory.
The ROM code CRC is calculated from the first 56 bits
of the ROM code and is contained in the most significant
byte of the ROM. The scratchpad CRC is calculated from
the data stored in the scratchpad, and therefore it chang-
es when the data in the scratchpad changes. The CRCs
provide the bus master with a method of data validation
when data is read from the DS18B20. To verify that data
has been read correctly, the bus master must re-calculate
the CRC from the received data and then compare this
value to either the ROM code CRC (for ROM reads) or
to the scratchpad CRC (for scratchpad reads). If the cal-
culated CRC matches the read CRC, the data has been
received error free. The comparison of CRC values and
the decision to continue with an operation are determined
entirely by the bus master. There is no circuitry inside the
DS18B20 that prevents a command sequence from pro-
ceeding if the DS18B20 CRC (ROM or scratchpad) does
not match the value generated by the bus master.
The equivalent polynomial function of the CRC (ROM or
scratchpad) is:
CRC = X
8
+ X
5
+ X
4
+ 1
The bus master can re-calculate the CRC and compare it
to the CRC values from the DS18B20 using the polyno-
mial generator shown in Figure 11. This circuit consists
of a shift register and XOR gates, and the shift register
bits are initialized to 0. Starting with the least significant
bit of the ROM code or the least significant bit of byte 0
in the scratchpad, one bit at a time should shifted into the
shift register. After shifting in the 56th bit from the ROM or
the most significant bit of byte 7 from the scratchpad, the
polynomial generator will contain the recalculated CRC.
Next, the 8-bit ROM code or scratchpad CRC from the
DS18B20 must be shifted into the circuit. At this point, if
the re-calculated CRC was correct, the shift register will
contain all 0s. Additional information about the Maxim
1-Wire cyclic redundancy check is available in Application
Note 27: Understanding and Using Cyclic Redundancy
Checks with Maxim iButton Products.
Figure 10. Configuration Register
Figure 11. CRC Generator
Table 2. Thermometer Resolution Configuration
R1 R0
RESOLUTION
(BITS)
MAX CONVERSION TIME
0 0 9 93.75ms (t
CONV
/8)
0 1 10 187.5ms (t
CONV
/4)
1 0 11 375ms (t
CONV
/2)
1 1 12 750ms (t
CONV
)
BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0
0 R1 R0 1 1 1 1 1
XOR XOR
XOR
INPUT
MSB
LSB
DS18B20 Programmable Resolution
1-Wire Digital Thermometer
www.maximintegrated.com
Maxim Integrated
9