摘 要:本文介绍了数字式温度传感器DS1624的特性,工作原理,以及在温度检测系 统中的电路设计、软件设计,并讨论了使用中的注意事项。
关键词:单片机;数字式温度传感器;DS 1624;I2C总线
DS1624的基本特性
DS1624是Dallas公司生产的一种功能较强的数字式温度传感器,它比同系列的DS1620控制更为简单,比DS1621分辨率更高,可以使用一片控制器控制多达8片传感器,支持I2C总线协议,测温范围宽,读数稳定,分辨率高,无须外接电路,与单片机接口简单,可以广泛用于温度检测、温度控制,温度报警等领域。
测温范围:-55℃~+125℃,分辨率0.03125℃
温度值以13位数字量输出(两字节传输)
温度转换时间小于1秒,
数据的读写通过2线串行接口实现(SDA,SCL)可选总线地址。
内部集成256B的E2PROM,可以用来保存用户设定的参数
引脚说明
DS1624为8脚DIP封装或者SOIC封装,其引脚功能如下表。
DS1624的工作原理
DS1624采用专用的片内的温度测量技术进行温度的测量,其温度测量原理如图1。
图1 (略)
在计数门开通的情况下对低温系数振荡器的脉冲个数进行计数,计数脉冲的周期由高温系数振荡器所决定,计数器和温度寄存器的预先设置值为-55℃。如果计数器在脉冲结束之前达到0,则温度寄存器增加,同时计数器预置为非线性累加器的值,并重新开始计数,如果脉冲周期在计数器到0之前还未结束,则重复上面的过程,否则停止计数。最终温度寄存器中的值即为被测温度值。
DS1624的温度值以0.03125℃为单位表示,1624 内部的温度寄存器为13位(2个字节)的寄存器,该寄存器可以通过IIC总线串行读出,高位在前。该13寄存器的内容即为补码表示的温度值,最高位置符号位,符号位?quot;1"表示温度值为负,为"0"表示温度值为正。将该13位数据的真值乘以0.03125,即为被测温度值。例如:
表示被测温度为:+802*0.03125=25.0625℃
DS1624的工作方式
DS1624可以在两种方式下工作,连续转换方式和一次转换方式,通过配置寄存器的来控制使用哪种工作模式。
DONE 为转换完成位,温度转换完成时候为1,正在转换时为0,1SHOT为一次模式位,该位为1时,每次收到开始转换命令执行一次温度转换,为0时,执行连续温度转换,该位为非易失性的。
DS1624在嵌入一个系统时,需要有MCU对其发出控制命令,如读写状态寄存器,读温度寄存器,开始温度转换等命令,MCU对DS1624的控制是通过I2C总线接口来实现的,写入和读出完全遵循I2C总线的协议。
DS1624的命令集包含下面5个,比相同系列的DS1621更加方便,简捷。
(1)开始温度转换[EEH]
该命令启动温度转换,无需读数据,再一次转换模式下,该命令启动转换,DS1624完成转换之后保持空闲,在连续转换方式下,该命令启动DS1624进行连续的温度转换。
(2)温度转换结束命令[22H]
该命令停止温度转换,无需更多数据,在连续运行方式下,该命令停止DS1624的温度转换,并且保持空闲,直到DS1624得到新的温度转换开始命令。
(3)读温度命令[AAH]
该命令读出最近一次温度转换的结果,随后DS1624将两个字节补码表示的温度值送出。最高为符号位,最低三位不用。
(4)访问配置寄存器[ACH]
若R/W=0,该命令写入配置寄存器之后,MCU送出一个字节,用以确定DS1624的工作方式;若R/W=1,DS6124送出当前状态用来通知MCU转换是否完成。
(5)访问存储器[17H]
该命令用来访问DS1624内部集成的256B的E2存储器,下一字节数据为被访问的存储器的地址,即可进行E2存储器的读写操作,读写时和其他的I2C协议的E2存储器相同。读者可参考其它的资料。
DS1624 启动温度转换、访问配置寄存器、读取温度值的流程图见图2。
图2 (略)
图3 (略)
典型应用
DS1624的典型应用图,见图3,其中LED显示和温度报警电路读者可以自行设计。DS1624没有专门的温度控制功能,用户可以将温度控制信息,如温度上限,温度下限保存在E2存储器中。工作时可将DS1624设为连续工作方式,MCU不停读取温度值,送显示装置显示,并可将温度值和E2存储器中的温度控制参数比较,用以驱动报警、加热或其他执行机构。还可以将PID等参数存于E2存储器中,通过先进的算法实现闭环控制。
注意事项
DS1624在使用的时候,应注意几点问题
1、写E2PROM需要10ms的时间,所以在每一次寄存器写操作后都需要等待10ms再进行下一次写操作。
2、由于SDA、SCL均为漏极开路I/O因此一定要有上拉电阻。
3、在数据传输和写命令字的时候,一定遵循I2C总线的协议,在由写操作到读操作转换的时候,应该重新启动数据传输,然后发送地址和读写位。
4、在构成测温系统时,一片单片机最多可以连接8片DS1624,并可采用求平均值的方法提高测量精度。此时应将地址A2、A1、A0作不同的调整。
|