×
嵌入式开发 > 详情

温度传感器在火灾报警系统中的应用

发布时间:2020-07-09 发布时间:
|

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所示。

图1 1-Wire技术的温度传感器DS18B20功能块图

3.数字温度传感器ROM命令和功能命令。

为了能够使1-Wire总线技术的温度传感器DS18B20正常工作,需要按照一定顺序执行相关命令。首先进行初始化,其次执行ROM命令,最后执行DS18B20功能命令。常用的ROM命令有5个。每个命令均为一个字节。在发送DS18B20功能命令之前,主CPU必须发布适当的ROM命令。对ROM的五种操作命令有ROM搜索命令(代码为F0H),ROM命令(代码为33H),匹配ROM命令(代码为55H),跳过ROM命令(代码为CCH)和搜索报警命令(代码为ECH)。

当主CPU使用了ROM命令之后,如果访问想要通信的从设备DS18B20时,主CPU能够发布一个DS18B20功能命令。1-Wire总线技术的温度传感器DS18B20功能命令主要有5条。这些命令允许主CPU读或写DS18B20的便笺存储器,开始温度转换以及决定电源的模式。DS18B20功能命令如下所述。

1.温度转换命令(代码为44H)使DS18B20开始转换。转换完毕的温度数据存放在两个字节的温度寄存器中。

2.写便笺存储器命令(代码为4EH)允许主CPU 写3个字节数据到便笺存储器中。第一个数据字节被写入到TH寄存器中,第二个数据字节被写入到TL寄存器中,第三个数据字节被写入到组态寄存器中。数据写入从最低有效位开始。在主CPU发出复位脉冲之前,三个字节必须被写完。

3.读便笺存储器命令(代码为BEH)允许主CPU 读出便笺存储器中的内容。数据传输从字节0的最低有效位开始到字节8。便笺存储器中的9个字节内容被读出。其中字节8为CRC校验码。如果只需要读出便笺存储器中的部分字节,主CPU可以随时发出复位脉冲终止读操作。

4.拷贝便笺存储器命令(代码为48H)将拷贝便笺存储器字节2、3、4即TH 、TL和组态寄存器内容到EEPROM。

5.从EEPROM重新调出命令(代码为B8H)将从EEPROM重新调出TH 、TL和组态寄存器内容,并将数据放置到便笺存储器字节2、3、4中。上电时从EEPROM重新调出命令(代码为B8H)将会自动执行。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
PLC控制步进电机方法