摘要: DS1620数字温度计和恒温器提供9位温度指示设备的温度。该温度以0.5°C的增量表示,提供0.5°C的分辨率。在0°C至+70°C范围内,该部件也精确到0.5°C。在-40°C至0°C范围内,以及+70°C至+85°C范围内,DS1620的精度在1°C以内。进一步扩展温度范围,从-55°C到-40°C,从+85°C到+125°C,该设备精确到2°C以内。
DS1620数字温度计和恒温器提供9位温度指示设备的温度。该温度以0.5°C的增量表示,提供0.5°C的分辨率。在0°C至+70°C范围内,该部件也精确到0.5°C。在-40°C至0°C范围内,以及+70°C至+85°C范围内,DS1620的精度在1°C以内。进一步扩展温度范围,从-55°C到-40°C,从+85°C到+125°C,该设备精确到2°C以内。
就温度传感器而言,这些精度非常好,但在0.5°C分辨率不够的情况下。在比例控制系统中,绝对温度不像温度趋势那样关键,可能需要更高的分辨率。
使用一些未记录的DS1620测试模式允许用户使用DS1620和一些开销软件提供0.1°C分辨率。虽然这不会增加设备的精度,但它可以通过具有更精细的温度分辨率来更好地控制某些系统。
DS1620通过使用板载专有温度测量技术来测量温度。温度测量电路的框图见图1.
DS1620通过计算低温系数振荡器在高温系数振荡器确定的门周期内通过的时钟周期数来测量温度。计数器预设了一个基本计数,对应于-55°C。如果在门周期结束前计数器达到零,温度寄存器(也预设为-55℃值)增加,表明温度高于-55℃。
同时,计数器被预先设定一个由斜率累加器电路决定的值。需要这种电路来补偿振荡器在温度上的抛物线特性。然后,计数器再次计时,直到它达到零。如果门周期仍未完成,则重复此过程。
斜率累加器用于补偿振荡器在温度上的非线性行为,从而产生高分辨率的温度测量。这是通过改变计数器在温度每增加一度所需的计数数来实现的。因此,为了获得所需的分辨率,必须知道给定温度下计数器的值和每摄氏度的计数数(斜率累加器的值)。
在内部,此计算在DS1620内部完成,以提供0.5°C分辨率。请注意,DS1620中的温度以1/2°C LSB表示,产生以下9位格式:
更高的分辨率可以通过降低温度并从读取值截断0.5°C位(LSB)来获得。该值为TEMP_READ。然后可以读取留在计数器中的值。该值是门周期结束后剩余的计数(COUNT_REMAIN)。通过将斜率累加器的值输入到计数寄存器中,可以读取该值,从而产生该温度下每摄氏度的计数数(COUNT_PER_C)。实际温度可由用户使用以下方法计算:
图1所示、温度测量电路
以下步骤描述了从DS1620获得0.1°C分辨率所需的过程。如果DS1620尚未处于ONESHOT模式,则通过发送带有适当写入数据的WRITE配置协议来实现。有关该协议和模式设置的更多信息,请参阅DS1620数据表。
设置ONESHOT和CPU模式的协议:
0c03(十六进制)
协议只设置ONESHOT模式:
0c01(十六进制)
上面列出的第一个协议通常是使用计算机控制DS1620时所需的模式设置。
向部件发出START CONVERT命令(EE十六进制)。
发出READ CONFIG命令(AC十六进制)从DS1620读取配置寄存器数据。重复此命令,直到寄存器的最高有效位(即DONE位)为“1”。这意味着温度转换已经完成。使用C语言命名法对该条件的逻辑描述是:
(配置,0x80) = = 0x80
发出READ TEMPERATURE命令,如数据表中所述,这是AA十六进制。从读取值中截断1/2度位,并将其转换为有符号整数。修改后的值是TEMP_READ。
发出READ COUNTER命令,这在数据表中没有记录。该协议的工作方式与读取恒温器设置的协议相同。首先,发送协议,它是A0十六进制。然后从部件中读回一个9位的值。这个值是COUNT_REMAIN。
发出LOAD SLOPE命令,这在数据表中也没有记录。该协议是41十六进制,不需要读取或写入数据。该命令将斜率值加载到计数器中。
再次发出READ COUNTER命令,如上面的步骤5所述。读取的值是COUNT_PER_C。
使用下面的公式计算实际温度,同样使用C命名法:
温度= temp_read - 0.25
+ (count_per_c - count_remain) /
COUNT_PER_C
根据需要重复步骤2到步骤8。
DS1623
注:
请参阅应用说明105获取示例C代码。代码可以从达拉斯半导体的匿名FTP站点下载。
社群二维码
关注“华强商城“微信公众号
Copyright 2010-2023 hqbuy.com,Inc.All right reserved. 服务热线:400-830-6691 粤ICP备05106676号 经营许可证:粤B2-20210308