1-Wire温度传感器在火灾报警系统中应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1-Wire 温度传感器在火灾报警系统中应用
2009-10-18 18:39:00 来源:
摘 要:1-Wire 总线技术具有节省 I/O 资源、结构简单、成本低廉,便于总线扩展和 方便维护等特点。文章中介绍了 1-Wire 总线技术数字温度传感器的基本特性与功能 块图, 数字温度传感器 ROM 命令和功能命令。 阐述了 1-Wire 总线技术数字温度传感 器供电方式。利用 1-Wire 总线技术使用多个数字温度传感器,实时时钟电路,键盘 显示电路,串行存储器电路,RS485 通信电路以及看门狗电路等,组成了火灾报警系 统硬件系统。 绘制了温度采集与处理流程图。 采用多个传感器测量不同房间内的温度, 可以设置不同房间的报警上限值,可以实现多个房间对应温度的显示和报警。1-Wire 总线技术数字温度传感器已经成功地应用于火灾报警系统中。 关键词:1-Wire 技术;温度传感器;火灾报警;温度采集 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)将会自动执行。 4. 火灾报警系统硬件组成 火灾报警系统由 AT89C51,实时时钟电路 DS1302,键盘与显示电路,RS485 通 信电路,MAX813L 组成的看门狗电路,串行 E2PROM 存储器电路等组成,采用多个 传感器测量不同房间内的温度,可以设置不同房间的报警上限值,可以实现多个房间