1.引言
1-Wire总线技术具有节省I/O资源、结构简单、成本低廉,便于总线扩展和方便维护等特点。因此在分布式测温系统中有着广泛的应用。而美国DALLAS公司生产的单总线智能温度传感器DS18B20是采用1-Wire总线技术的典型产品[2]。DS18B20通过单线按照1-Wire协议传送特定的命令序列并进行数据通信。该系列产品有个很重要的特性就是在出厂前每个器件都被写入了唯一的64位ROM码即序列号,最低有效字节为家族代码。代表器件的类型。如DS1990A的家族码为01H,DS18B20的家族码为28H。由于在同一条1-Wire总线上可同时挂接多个相同系列或不同系列的1-Wire器件,因此主机必须能够决定如何正确地访问位于1-Wire总线上的各个器件。64位ROM码中家族码提供了器件的类型,随后的6个字节是器件的唯一序列号,用以区分同一个系列的不同器件。该序列号可作为1-Wire总线上器件的地址。这样1-Wire总线上的所有器件连同主机就构成了一个微型局域网。它们之间通过一条公共线来进行通信[5]。
2.数字温度传感器特性与功能块图。
DS18B20的核心功能就是可以直接转换成数字量。由于每一个智能温度传感器DS18B20有一个唯一的64位序列号。允许多个DS18B20在同一条总线上工作。因此可以用一个单片机在一个大范围内控制多个数字温度传感器DS18B20,经常用于环境温度控制、温度监测系统以及过程监测和控制系统中。1-Wire器件64位序列号的最高有效字节是循环冗余校验CRC码。该值基于前面的56位数据。当系统主机开始与某个器件进行通信时,可以从低位开始读取8个ROM字节即64位序列号。
1-Wire总线技术的温度传感器DS18B20温度的测量范围为-55℃~+125℃。便笺存储器中包含两个字节温度寄存器用于存储温度传感器的数字输出。另外提供一个字节报警上限TH和一个字节报警下限TL寄存器。还有一个字节组态寄存器。组态寄存器允许用户设置分辨率为9~12位。分别对应温度值0.5℃、0.25℃、0.125℃和0.0625℃。TH、、TL和组态寄存器可以存放在EEPROM中,因此当系统掉电时,TH、、TL和组态寄存器中的数据仍将保存。1-Wire总线技术的温度传感器DS18B20功能块如图1所示。
图11-Wire技术的温度传感器DS18B20功能块图