0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DSl8B20构成的多点温度测量系统的设计

电子设计 来源:陈翠 2019-01-30 17:17 次阅读

在传统的温度测量系统设计中,往往采用模拟技术进行设计,这样就不可避免地遇到诸如引线误差补偿、多点测量中的切换误差和信号调理电路的误差等问题;而其中某一环节处理不当,就可能造成整个系统性能的下降。随着现代科学技术的飞速发展,特别是大规模集成电路设计技术的发展,微型化、集成化、数字化正成为传感器发展的一个重要方向「1」。美国Dallas半导体公司推出的数字温度传感器DSl8820,具有独特的单总线接口,仅需要占用一个通用I/O端口即可完成与微处理器通信;在-10~+85℃温度范围内具有±0.5℃精度;用户可编程设定9~12位的分辨率。以上特性使得DSl8820非常适用于构建高精度、多点温度测量系统。

1 DSl8B20简介

1.1 DSl8B20的特点

DSl8820是美国Dallas半导体公司继DSl820之后最新推出的一种改进型智能数字温度传感器[2]。与传统的热敏电阻相比,它能够直接读出被测温度,并且可根据实际要求通过编程实现9~12位的数字值读数方式;可以分别在93.75 ms和750 ms内完成9位和12位的数字量;从DSl8820读出信息或写入DSl8820信息仅需要1根口线(单线接口);温度变换功率来源于数据总线,总线身也可以向所挂接的DSl8820供电,而无需额外电源。使用DSl8820可使系统结构更趋简单,可靠性更高。DSl8B20在测温精度、转换时间、传输距离、分辨率等方面较DSl820有了很大的改进。

1.2 DSl8B20内部结构及工作原理

DSl8B20构成的多点温度测量系统的设计

DSl8B20的内部结构「3」如图1所示,主要包括寄生电源电路、64位只读存储器(ROM)和单线接口、存储器和控制逻辑、存放中间数据的高速暂存存储器、温度传感器、报警上限寄存器TH、报警下限寄存器TL、配置寄存器和8位CRC(循环冗余校验码)发生器。

DSl8B20的核心是其数字温度传感器,精度可以通过用户编程配置为9、10、11和12位,其分别对应于O.5℃、O.25℃、O.125℃和O.062 5℃,可以满足各种不同的分辨率要求。开始一次温度转换时,微处理器需要向DSl8B20发出Convert T指令。转换完成之后,该温度数据存放在高速暂存存储器的温度寄存器中,占用2字节,并且DSl8B20返回到空闲状态。当DSl8B20采用外部供电方式时,主机可以在发送温度转换指令后发起一次读时隙。若此时该DSl8820已经完成温度转换,它将会返回"1",否则返回"O"。

2 温度测量系统设计

由DSl8B20和美国Microchip公司推出的PIC单片机PICl8F8620以及相关外围电路组成的高精度、多点温度测量系统的结构框图如图2所示。系统采用6片DSl8820构成小型温度传感器网络,通过单线连接方式连接至微处理器的通用I/O端口RBO。其中DSl8B20的分辨率为11位模式,即0.125℃。微处理器通过单线协议与温度传感器网络实现通信。微处理器获得温度信息后,通过特定的算法,将处理后的温度信息通过USB口或RS485接口传送至上位机

DSl8B20构成的多点温度测量系统的设计

2.1 DSl8820的自动搜索算法「4」

由于系统中使用了多片DSl8B20构成温度传感器网络,因此,如何准确、有效地对每一温度传感器进行寻址成为该系统设计的一个核心问题。结合DSl8B20的实际特点和系统的需求,提出如下解决方案:首先利用DSl8B20的内部报警上限寄存器(如图1所示,以下简称"TH寄存器")存放温度传感器的编号,并将其编号贴在温度传感器表面。由于TH寄存器具有掉电不丢失数据功能,因此,便把每片DSl8B20的唯一64位注册码及其编号一一对应起来。这一过程需要对DSl8B20进行单独编程。然后,将确定好编号的温度传感器接入单线网络,利用DSl8B20特有的单线网络自动搜索功能,即可搜寻到每片DSl8B20的注册码,再利用该注册码和相应的ROM操作指令,即可从每片DSl8B20的TH寄存器中读出相应的设定编号,实现每片DSl8820的寻址功能。下面重点介绍一下该自动搜索功能。

每片DSl8B20有唯一的64位注册码,存储在只读存储器(ROM)中,其结构如下:

DSl8B20构成的多点温度测量系统的设计

其中低8位是产品的工厂代码(DSl8B20为28H),接着是每个器件的唯一序号,共48位,最高8位是前56位的循环冗余校验码。这就准许总线主机对总线上特定的DSl8B20进行寻址。只有与64位注册码严格相符的DSl8B20,才能对后续的操作作出反应。所有与64位注 册码不符的DSl8B20将等待复位脉冲。

搜索算法首先通过复位和在线应答脉冲时隙将单线总线上的所有DSl8B20复位。成功地执行该操作后发送1字节的搜索命令,使所有连接到单总线的DSl8B20准备就绪,开始进行搜索操作。搜索命令发出之后,开始实际的搜索过程。

首先,总线上的所有DSl8B20同时发送注册码中的第1位(最低有效位,参见上述DSl8B20内部64位注册码结构)。按照单总线的特性,当所有DSl8B20同时应答主机时,结果相当于全部被发送数据位的逻辑"与"。DSl8B20发送其注册码的第1位后,主机启动下一位操作,接着DSl8B20发送第1位数据的补码。从两次读到的数据位可以对注册码的第1位作出几种判断,如表1所列。

DSl8B20构成的多点温度测量系统的设计

然后,主机向总线上的所有器件发回一个指定位。如果DSl8B20中注册码的当前位的值与该数据位匹配,则继续参与搜索过程;若DSl8B20的当前位与之不匹配,则该器件转换到等待状态并保持等待状态,直到下一个复位信号到来。其余63位注册码的搜索依然按照这种读2位写1位的模式进行重复操作。按照这种搜索算法进行下去,最终除了唯一一个DSl8B20外,所有DSl8B20将进入等待状态,经过最后一轮检测就可得到最后保留未进入等待状态的DSl8B20的注册码。在后续搜索过程中选用不同的路径或分支来查找其他器件的注册码,即可完成所有器件注册码的识别。

2.2软件系统设计

系统软件采用C语言编写。在中断服务程序中,实现用户输入以及和上位机的接口功能;在主程序中,实现温度传感器网络的自动搜索、编号排序、获取温度信息,并根据预先设定的温度上下限,实现相应的报警功能「5」。该系统中,根据不同的分辨率要求,DSl8B20的分辨率可通过编程设定,最高分辨率为12位,即O.062 5℃,可满足高精度设计要求。同时,由于设计中使用传感器网络的自动搜索算法,因此,当对网络中的温度传感器作出调整(如更换、添加、删除等操作)时,系统具有很强的自适应能力.系统软件流程如图3所示

DSl8B20构成的多点温度测量系统的设计

3 结 论

在传统的温度测量系统中,往往采用模拟的温度传感器进行设计,必须经过A/D转换后才可以被微处理器识别和处理。这样的设计方法不仅对前端模拟信号处理电路提出了更高的要求,而且不具有数字通信和网络功能。本文结合DSl8B20的新特性和现代温度测量系统提出的新要求,提出了基于智能数字温度传感器DSl8B20的高精度、多点温度测量系统设计方案。该方案具有安装方便、数字化程度高、精度高、适应性强等特点,在多种温度检测中具有广阔的应用前景。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 温度测量
    +关注

    关注

    0

    文章

    198

    浏览量

    28209
  • 温度测量系统

    关注

    0

    文章

    25

    浏览量

    21148
收藏 人收藏

    评论

    相关推荐

    用LPC2119芯片CAN总线和DSl8B20设计的智能超声液位变送器

    ,信号传输可靠、实时、灵活;由一线式数字温度传感器DSl8B20芯片完成温度补偿功能。先进的处理器加强了液位计的回波处理能力,采用数字滤波,提高了液位的测量精度。
    的头像 发表于 09-17 09:23 6435次阅读
    用LPC2119芯片CAN总线和<b class='flag-5'>DSl8B20</b>设计的智能超声液位变送器

    基于DS18B20和LabVIEW的多点温度测量系统

    今天我们一起完成一个比较完整的作品,基于DS18B20和LabVIEW的多点温度测量系统。我重点介绍实现
    发表于 09-26 10:28 1721次阅读

    温度传感器DSl8B20在Proteus仿真的实现

    的原理图和结果经实验验证后可直接应用到实际项目中。  单总线数字式温度传感器DSl8B20具有体积小、动态范围宽、测量精度高等特点,分辨率可根据实际的需求进行相应的设置。单总线器件连接简单,且具有很强的扩展性,可以组建
    发表于 11-02 15:08

    基于DSP与数字温度传感器的温度控制系统

    芯片TMS320F2812与数字温度传感器DSl8B20设计出一个温度测量系统,根据测量所得的
    发表于 11-02 15:21

    数字温度传感器DSl8B20怎么实现快速编程?

    一般来说,总线数越少,连接就越简单,因而串行总线嵌入式元件在许多应用场合颇受欢迎。但正因为只有1根线,该类元件的编程要紧扣硬件和时钟,难度大于I2C总线和SPI总线。本文以数字温度传感器DSl8B20为例,介绍一种实用和简单的编程方案。
    发表于 10-21 06:16

    基于DSP与DSl8B20怎么实现温度控制系统

    TMS320F2812与数字温度传感器DSl8B20设计出一个温度测量系统,根据测量所得的
    发表于 10-24 08:02

    如何利用AT89C51单片机和DSl8B20数字温度传感器实现多点温度的检测与控制

    本文设计了一种基于AT89C51、数字温度传感器DSl8820的多点温度检测系统,该系统利用
    发表于 05-07 06:06

    基于数字温度Dsl8BZO的温度测量仪的开发

    传统的温度测量系统通常需要对采样电压进行信号放大和灯D转换,介绍了基于数字式温度计DS18B20温度
    发表于 03-18 08:44 28次下载

    基于单总线的多点温度测量技术

    讨论了基于单总线数字温度传感器DS18B20多点温度测量技术。重点论述了系统硬件组成、传感器
    发表于 06-23 08:43 18次下载

    基于AVR单片机和DS18B20多点温度测量系统

    基于AVR单片机和DS18B20多点温度测量系统 介绍基于AVR单片机、BASCOM-AVR语言和DS18
    发表于 10-15 23:47 3524次阅读
    基于AVR单片机和DS18<b class='flag-5'>B20</b>的<b class='flag-5'>多点</b><b class='flag-5'>温度</b><b class='flag-5'>测量</b><b class='flag-5'>系统</b>

    数字温度传感器DSl8B20的编程方案

    本文以数字温度传感器DSl8B20为例,介绍一种实用和简单的编程方案。1  DS18B20的精简编程考虑测温分辨率:通过设置配置寄存器,DS18B20有0.5℃、0.25℃、0.125
    发表于 06-28 09:09 963次阅读
    数字<b class='flag-5'>温度</b>传感器<b class='flag-5'>DSl8B20</b>的编程方案

    基于数字温度传感器DSl8B20芯片的多点测温系统

      0 引言   多点测温系统在工业领域及其国民生产中有广泛的用途。如在化工领域中,经常需要检测和控制反应釜中的液体的温度,使之能够稳定在一定
    发表于 08-30 09:42 2292次阅读
    基于数字<b class='flag-5'>温度</b>传感器<b class='flag-5'>DSl8B20</b>芯片的<b class='flag-5'>多点</b>测温<b class='flag-5'>系统</b>

    单线数字温度传感器DSl8B20芯片特性及引脚

    DSl8B20芯片特性及管脚介绍   1.1 DSl8B20芯片特性   DSl8B20单线数字温度传感器是新一代温度传感器,它具有微
    发表于 08-30 09:43 4580次阅读
    单线数字<b class='flag-5'>温度</b>传感器<b class='flag-5'>DSl8B20</b>芯片特性及引脚

    基于DS18B20多点温度测量系统的设计_毕业设计

    本文介绍了基于DS18B20和STC89C52RC的多点温度测量的方法和原理,利用DSI8B20单总线
    发表于 11-26 15:10 89次下载

    基于单片机的多点温度测量系统

    简单、精度高、抗干扰能力强、工作稳定等特点。 本文介绍基于AT89C51单片机、C语言和DS18B20传感器的多点温度测量系统设计及其在Pr
    发表于 04-13 11:39 77次下载