在传统的温度测量系统设计中,往往采用模拟技术进行设计,这样就不可避免地遇到诸如引线误差补偿、多点测量中的切换误差和信号调理电路的误差等问题;而其中某一环节处理不当,就可能造成整个系统性能的下降。随着现代科学技术的飞速发展,特别是大规模集成电路设计技术的发展,微型化、集成化、数字化正成为传感器发展的一个重要方向「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的内部结构「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接口传送至上位机。
2.1 dsl8820的自动搜索算法「4」
由于系统中使用了多片dsl8b20构成温度传感器网络,因此,如何准确、有效地对每一温度传感器进行寻址成为该系统设计的一个核心问题。结合dsl8b20的实际特点和系统的需求,提出如下解决方案:首先利用dsl8b20的内部报警上限寄存器(如图1所示,以下简称th寄存器)存放温度传感器的编号,并将其编号贴在温度传感器表面。由于th寄存器具有掉电不丢失数据功能,因此,便把每片dsl8b20的唯一64位注册码及其编号一一对应起来。这一过程需要对dsl8b20进行单独编程。然后,将确定好编号的温度传感器接入单线网络,利用dsl8b20特有的单线网络自动搜索功能,即可搜寻到每片dsl8b20的注册码,再利用该注册码和相应的rom操作指令,即可从每片dsl8b20的th寄存器中读出相应的设定编号,实现每片dsl8820的寻址功能。下面重点介绍一下该自动搜索功能。
每片dsl8b20有唯一的64位注册码,存储在只读存储器(rom)中,其结构如下:
其中低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的当前位与之不匹配,则该器件转换到等待状态并保持等待状态,直到下一个复位信号到来。其余63位注册码的搜索依然按照这种读2位写1位的模式进行重复操作。按照这种搜索算法进行下去,最终除了唯一一个dsl8b20外,所有dsl8b20将进入等待状态,经过最后一轮检测就可得到最后保留未进入等待状态的dsl8b20的注册码。在后续搜索过程中选用不同的路径或分支来查找其他器件的注册码,即可完成所有器件注册码的识别。
2.2软件系统设计
系统软件采用c语言编写。在中断服务程序中,实现用户输入以及和上位机的接口功能;在主程序中,实现温度传感器网络的自动搜索、编号排序、获取温度信息,并根据预先设定的温度上下限,实现相应的报警功能「5」。该系统中,根据不同的分辨率要求,dsl8b20的分辨率可通过编程设定,最高分辨率为12位,即o.062 5℃,可满足高精度设计要求。同时,由于设计中使用传感器网络的自动搜索算法,因此,当对网络中的温度传感器作出调整(如更换、添加、删除等操作)时,系统具有很强的自适应能力.系统软件流程如图3所示
3 结 论
在传统的温度测量系统中,往往采用模拟的温度传感器进行设计,必须经过a/d转换后才可以被微处理器识别和处理。这样的设计方法不仅对前端模拟信号处理电路提出了更高的要求,而且不具有数字通信和网络功能。本文结合dsl8b20的新特性和现代温度测量系统提出的新要求,提出了基于智能数字温度传感器dsl8b20的高精度、多点温度测量系统设计方案。该方案具有安装方便、数字化程度高、精度高、适应性强等特点,在多种温度检测中具有广阔的应用前景。
Linux系统ELF程序的执行过程
办公空间照明融入互联网文化是种什么体验?
电机能量回收原理
蓝牙耳机哪个好?2021年游戏蓝牙耳机排行榜
上半年全球风险投资额缩水48%至1739亿美元 近四分之一流向AI初创公司
DSl8B20构成的多点温度测量系统的设计
智能穿戴的春天来了?上海物联网及智能穿戴式峰会为你揭秘
爱仕达助推五金行业 实现自动化、智能化转型升级
揭秘日本雷克萨斯九州工厂
6位智能制造领域代表将提哪些议案?
华为向外界透露表示华为是一家100%由员工持有的民营企业
基于PCIe-Native机制的热插拔
ROHS指令(标准)中实施环境管理物质适用范围
iphone14配置确认 iphone14什么配置
华为云等保合规方案,助力企业最快30天过等保
单相电源滤波器作用 浅谈单相电源滤波器应用
2019年Q4 AMOLED智能机面板出货排行榜: 维信诺成国内No.1
基于Dragonboard 410c的kinect应用系列之五——脸部识别实现代码
LED光疗应用于医美市场备受看好
单相双值电容电动机的反转方法