由单片机和多片DS1820组成的多点温度测控系统

发布者:DreamySunset最新更新时间:2006-05-07 来源: 国外电子元器件 手机看文章 扫描二维码
随时随地手机看文章

    摘要:DS1820是DALLAS公司生产的单线数字温度传感器,它可以在单片机的控制下组成多点温度测量系统。文章介绍了单线数字式温度传感器DS1820的工作原理,给出了用DS1820和89C51单片机构成的单线多点温度测控系统的应用电路及软件框图。

    关键词:数字温度计  单线制  多路温控仪  单片机系统  DS1820

1 概述

DS1820是美国DALLAS公司生产的单线数字温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,特别适合于构成多点温度测控系统,可直接将温度转化成串行数字信号供微机处理,而且每片DS1820都有唯一的产品号并可存入其ROM中,以使在构成大型温度测控系统时在单线上挂任意多个DS1820芯片。从DS1820读出或写入DS1820信息仅需要一根口线,共读写及温度变换功率来源于数据总线,该总线本身也可以向所挂接的DS1820供电,而无需额处电源。DS1820能提供九位温度读数,它无需任何外围硬件即可方便地构成温度检测系统。

2 DS1820的工作原理

DS1820采用3脚PR-35封装或8脚SOIC封装,管脚排列如图1所示。图中GND为地,I/O为数据输入/输出端(即单线总线),该脚为漏极开路输出,常态下呈高电平。VDD是外部+5V电源端,不用时应接地。NC为空脚。

图2所示为DS1820的内部框图,它主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据的高速暂存器(内含便笺式RAM),用于存储用户设定的温度上下限值的TH和TL解发器存储与控制逻辑、8位循环冗余校验码(CRC)发生器等七部分。

2.1 寄生电源

寄生电源由二极管VD1、VD2和寄生电容C组成。电源检测电路用于判定供电方式。寄生电源供电时,VDD端接地,器件从单线总线上获取电源。在I/O线呈低电平时,改由C上的电压Vc继续向器件供电。该寄生电源有两个优点:第一,检测远程温度时无需本地电源;第二,缺少正常电源时也能读ROM。若采用外部电源VDD,则通过VD2向器件供电。

2.2 温度测量原理

DS1820测量温度时使用特有的温度测量技术。其测量电路框图如图3所示。DS1820内部的低温度系数振荡器能产生稳定的频率信号f0,高温度系数振荡器则将被测温度转换成频率信号f。当计数门打开时,DS1820对f0计数,计数门开通时间由高温度系数振荡器决定。芯片内部还有斜率累加器,可对频率的非线性予以被偿。测量结果存入温度寄存器中。一般情况下的温度值应为9位(符号点1位),但因符号位扩展成高8位,故以16位被码形式读出,表1给出了温度和数字量的关系。

表1 DS1820温度数字对应关系表

温度℃ 输出的二进制码 对应的十六进制码
+125 0000000011111010 00FAH
+25 0000000000110010 0032H
+1/2 0000000000000001 0001H
0 0000000000000000 0000H
-1/2 1111111111111111 FFFFH
-25 1111111111001110 FFCEH
-55 1111111110010010 FF92H

2.3 64位激光ROM

64位ROM的结构如下:

    开始8位是产品类型的编号(DS1820为10H),接着是每个器件的唯一的序号,共有48位,最后8位是前56位的CRC校验码,这也是多个DS1820可以采用一线进行通信的原因。主机操作ROM的命令有五种,如表2所列

表2 DS180的ROM命令
指  令 说  明
读ROM(33H) 读DS1820的序列号
匹配ROM(55H) 继读完64位序列号的一个命令,用于多个DS1820时定位
跳过ROM(CCH) 此命令执行后的存储器操作将针对在线的所有DS1820
搜ROM(F0H) 识别总线上各器件的编码,为操作各器件作好准备
报警搜索(ECH) 仅温度越限的器件对此命令作出响应

2.4 高速暂存器

它由便笺式RAM和非易失性电擦写 EERAM组成,后者用于存储TH、TL值。数据选写入RAM,经校验后再传给EERAM。便笺式EAM点9个字节,包括温度信息(第1、2字节)、TH和TL值(3、4字节)、计数寄存器(7、8字节)、CRC(第9字节)等,第5、6字节不用。暂存器的命令共6条,见表3所列。

表3 DS1820贮控制命令

指  令 说  明
温度转换(44H) 启动在线DS1820做温度A/D转换
读数据(BEH) 从高速暂存器读9bits温度值和CRC值
写数据(4EH) 将数据写入高速暂存器的第2和第3字节中
复制(48H) 将高速暂存器中第2和第3字节复制到EERAM
读EERAM(B8H) 将EERAM内容写入高速暂存器中第2和第3字节
读电源供电方式(B4H) 了解DS1820的供电方式

在正常测温情况下,DS1820的测温分辨力为0.5℃,可采用下述方法获得高分辨率的温度测量结果:首先用DS1820提供的读暂存器指令(BEH)读出以0.5℃为分辨率的温度测量结果,然后切去测量结果中的最低有效位(LSB),得到所测实际温度的整数部分Tz,然后现用BEH指令取计数器1的计数剩余值Cs和每度计数值CD。考虑到DS1820测量温度的整数部分以0.25℃、0.75℃为进位界限的关系,实际温度Ts可用下式计算:

Ts=(Tz-0.25℃)+(CD-Cs)/CD

2.5 告警信号

DS1820完成温度转换后,就把测得的温度值与TH、TL作比较。若T>TH或T

2.6 CRC的产生

在64位ROM的最高有效字节中存储有循环冗余校验码(CRC)。主机根据ROM的前56位来计算CRC值,并和存入DS1820中的CRC值作比较,以判断主机收到的ROM数据是否正确。CRC的函数表达式为:CRC=X8+X5+X3+1。此外,DS1820尚需依上式为暂存器中的数据来产生一个8位CRC送给主机,以确保暂存器数据传送无误。

3 多路温度测控仪的电路设计

用单片机控制的多路测度测控仪的电路如图4所示。现用6只DS1820同时测控6路温度(视实际需要还可任意扩展通道数)。图4中采用89C51单片机,其P1.1口接单线总线。DS1820采用寄生电源供电方式。为保证在有效的DS1820时钟周期内能提供足够的电流,图4中采用一个MOSFET管和89C51的H.0口来完成对DS1820的总线上拉。P1.2~P1.7口用来输出温度测控信号,经驱动器MC1413后分别驱动6只固态继电器,通过改变加热或致冷系统的工作状态,可实现对被监测系统的实时控制。

为提高系统的可靠性,该系统设计了由硬件与软件组成的“看门狗”。硬件看门狗由MAX813L及其外围电路组成,同时还具有电源监控和复位功能。P1.1定时输出喂狗,按键S1为手动复位。键盘扫描和动态扫描的显示共用一片可编程接口芯征8279,显示采用8位共阴极LED数码管,它可用来显示通道数、温度测量值以及TH、TL的值。

需要注意的是,在系统安装及工作之前应将主机逐个与DS1820挂接,以读出其序列号。其工作过程为:主机发出一个脉冲,待“0”电平大于480μs后,复位DA1820,在DS1820所发响应脉冲由主机接收后,主机再发读ROM命令代码33H,然后发一个脉冲(15μs),并接着读取DS1820序列号的一位。用同样方法读取序列号的56位。另外,由于DS1820单线通信功能是分时完成的,遵循严格的时隙概念,因此,系统对DS1820和各种操作必须按协议进行,即:初始化DS1820(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。系统对DS1820操作的总体流程图如图5所示。

引用地址:由单片机和多片DS1820组成的多点温度测控系统

上一篇:利用80C31单片机串行口实现多个LED显示的一种简单方法
下一篇:基于PIC单片机的智能IC卡燃气表电控系统设计

小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新工业控制文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved