首页 | 期刊简介 | 编辑部 | 广告部 | 发行部 | 在线投稿 | 联系我们 | 产品信息索取
2024年4月19日星期五
2011年第01期
 
2010年第12期
 
2010年第11期
2010年第11期
 
2010年第10期
2010年第10期
 
2010年第09期
2010年第09期
 
2010年第09期
2010年第08期
 
2010年第07期
2010年第07期
 
2010年第06期
2010年第06期
 
2010年第05期
2010年第05期
 
2010年第04期
2010年第04期
 
2010年第03期
2010年第03期
 
2010年第02期
2010年第02期
 
2010年第01期
2010年第01期
 
2009年第12期
2009年第12期
 
2009年第11期
2009年第11期
 
2009年第10期
2009年第10期
 
2009年第9期
2009年第9期
 
2009年第8期
2009年第8期
 
2009年第7期
2009年第7期
 
2009年第6期
2009年第6期
 
2009年第5期
2009年第5期
 
2009年第4期
2009年第4期
 
2009年第3期
2009年第3期
 
2009年第2期
2009年第2期
 
2009年第1期
2009年第1期
 
2008年第12期
2008年第12期
 
2008年第11期
2008年第11期
 
2008年第10期
2008年第10期
 
2008年第9期
2008年第9期
 
2008年第8期
2008年第8期
 
2008年第7期
2008年第7期
 
2008年第6期
2008年第6期
 
2008年第5期
2008年第5期
 
2008年第4期
2008年第4期
 
2008年第3期
2008年第3期
 
2008年第2期
2008年第2期
 
2008年第1期
2008年第1期
数字式I2C总线温度传感器DS1624在温度检测中的应用
Digital I2C Bus Thermometer DS1624 and Its Applications on Temperature Detection
■ 济南铁道职业技术学院 林毓梁 李颖




摘 要:本文介绍了数字式温度传感器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作不同的调整。

         
版权所有《世界电子元器件》杂志社
地址:北京市海淀区上地东路35号颐泉汇 邮编:100085
电话:010-62985649
E-mail:dongmei@eccn.com