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使用者的增多,其必将发挥更大的作用。