一、前言随着科学技术的不断进步与发展,温度传感器的种类日益繁多,应用逐渐广泛,并且开始由模拟式向着数字式、单总线式、双总线式和三总线式方向发展。而数字温度传感器更因适用于各种微处理器接口组成的自动温度控制系统具有可以克服模拟传感器与微处理器接口时需要信号调理电路和A/D转换器的弊端等优点,被广泛应用于工业控制、电子测温计、医疗仪器等各种温度控制系统中。其中,比较有代表性的数字温度传感器有DS1820、MAX65
一、前言
随着科学技术的不断进步与发展,温度传感器的种类日益繁多,应用逐渐广泛,并且开始由模拟式向着数字式、单总线式、双总线式和三总线式方向发展。而数字温度传感器更因适用于各种微处理器接口组成的自动温度控制系统具有可以克服模拟传感器与微处理器接口时需要信号调理电路和A/D转换器的弊端等优点,被广泛应用于工业控制、电子测温计、医疗仪器等各种温度控制系统中。其中,比较有代表性的数字温度传感器有DS1820、MAX6575、DS1722、MAX6635等。本文主要介绍了数字温度传感器DS1722的特性、使用方法以及它的时序等,并阐述了传感器DS1722和单片机89C51构成的温度测量系统。
二、DS1722的工作原理
1 、DS1722的主要特点
DS1722是一种低价位、低功耗的三总线式数字温度传感器,其主要特点如表1所示。
2、DS1722的内部结构
数字温度传感器DS1722有8管脚m-SOP封装和8管脚SOIC封装两种,其引脚排列如图1所示。它由四个主要部分组成:精密温度传感器、模数转换器、SPI/三线接口电子器件和数据寄存器,其内部结构如图2所示。
开始供电时,DS1722处于能量关闭状态,供电之后用户通过改变寄存器分辨率使其处于连续转换温度模式或者单一转换模式。在连续转换模式下,DS1722连续转换温度并将结果存于温度寄存器中,读温度寄存器中的内容不影响其温度转换;在单一转换模式,DS1722执行一次温度转换,结果存于温度寄存器中,然后回到关闭模式,这种转换模式适用于对温度敏感的应用场合。在应用中,用户可以通过程序设置分辨率寄存器来实现不同的温度分辨率,其分辨率有8位、9位、10位、11位或12位五种,对应温度分辨率分别为1.0℃、0.5℃、0.25℃、0.125℃或0.0625℃,温度转换结果的默认分辨率为9位。DS1722有摩托罗拉串行接口和标准三线接口两种通信接口,用户可以通过SERMODE管脚选择通信标准。
3、DS1722温度操作方法
传感器DS1722将温度转换成数字量后以二进制的补码格式存储于温度寄存器中,通过SPI或者三线接口,温度寄存器中地址01H和02H中的数据可以被读出。输出数据的地址如表2所示,输出数据的二进制形式与十六进制形式的精确关系如表3所示。在表3中,假定DS1722 配置为12位分辨率。数据通过数字接口连续传送,MSB(最高有效位)首先通过SPI传输,LSB(最低有效位)首先通过三线传输。
4、DS1722的工作程序
DS1722的所有的工作程序由SPI接口或者三总线通信接口通过选择状态寄存器位置适合的地址来完成。表4为 寄存器的地址表格,说明了DS1722两个寄存器(状态和温度)的地址。
1SHOT是单步温度转换位,SD是关闭断路位。如果SD位为“1”,则不进行连续温度转换,1SHOT位写入“1”时,DS1722执行一次温度转换并且把结果存在温度寄存器的地址位01h(LSB)和02h(MSB)中,完成温度转换后1SHOT自动清“0”。如果SD位是“0”,则进入连续转换模式,DS1722将连续执行温度转换并且将全部的结果存入温度寄存器中。虽然写到1SHOT位的数据被忽略,但是用户还是对这一位有读/写访问权限。如果把SD改为“1”,进行中的转换将继续进行直至完成并且存储结果,然后装置将进入低功率关闭模式。
传感器上电时默认1SHOT位为“0”。R0,R1,R2为温度分辨率位,如表5所示(x=任意值)。用户可以读写访问R2,R1和R0位,上电默认状态时R2=“0”,R1=“0”,R0=“1”(9位转换)。此时,通信口保持有效,用户对SD位有读/写访问权限,并且其默认值是“1”(关闭模式)。
三、DS1722测温系统设计
1、软件设计
传感器DS1722提供了两种串行接口模式,当模式选通管脚SERMODE接VDDD时选择SPI通信,当该管脚接地时选择标准三总线通信。
以三总线模式为例,温度测量系统硬件电路由数字温度传感器DS1722和单片机AT89C51及显示部分组成。用P1口作数据的输出端口,采集到的温度信号由单片机处理后送到P1口,经74LS47驱动送至七段码译码器显示。其电路框图如图3所示。
2、软件设计
软件的设计分为四个大部分:数据的采集部分、数据整数部分的转化部分、数据小数部分的转化部分、数据的显示部分。系统软件流程如图4所示。
四、测温结果及分析
在温度测量过程中,将传感器DS1722放入0℃冰水混合的容器中,逐渐给容器加热升温,用温度计观察容器中水温变化,并记录传感器经单片机89C51处理后的输出温度值,所得数据如表6所示。如果用公式“绝对误差=实际温度—实测温度”来计算温度传感器DS1722的误差,那么实验数据表明:随着温度的升高,实验误差越来越大。误差随温度变化的曲线如图5所示。
从图5可以看出,传感器DS1722的温度误差与温度呈线性关系,产生温度误差的因素大概有以下几个方面:
(1)实验电路本身的因素;
(2)人为因素,在读数时可能存在人为误差;
(3)环境的因素,因为把传感器放到了试管内,管内温度和水温有一定的差别;
(4)传感器自身因素,实验时传感器焊接到八脚双列直插管座上,不能和试管壁充分接触,这也存在一定的误差。
综合考虑以上的各种因素,这个误差范围是传感器DS1722所允许的,所以,实验数据真实有效。
五、结束语
数字温度传感器DS1722可接受宽电压范围的模拟信号和低功率的数字逻辑信号,因而可满足日益增长的对便携和混合信号系统多电压的要求。增加的标准三线和SPI串行接口使设计者在嵌入式系统中使用不同的网络通信协定方面有很大的灵活性。
数字温度传感器DS1722的应用领域可以涉及到个人计算机/服务器/工作组、单元电话、办公设备或者任何热敏系统,缺点是不能暴露在一些工业应用需要的环境压力下,例如燃烧状况下。相信随着DS1722使用者的增多,其必将发挥更大的作用。