学海荡舟手机网

主页 > 实用文摘 > 教育文摘_15 > > 详细内容

数字温度测控芯片DS1620的应用_电测仪表论文

摘要:ds1620是一种半导体温度测控芯片,9位温度数据值,测温范围-55~+125℃,0.5℃分辨率。通过三线串行接口与cpu连接,可作为热传感器使用;用三个温控触发端控制加热或制冷装置,可用作热继电器。本文介绍它的功能和使用方法,并给出c51的源程序。

    关键词:ds1620 温度传感器 三线串行接口 热继电器

引 言

1 概 述

 ds1620是dallas公司推出的数字温度测控器件。 2.7~ 5.0v供电电压,测量温度范围为-55~+125℃,9位数字量表示温度值,分辨率为0.5℃。在0~+70℃精确度为0.5℃, -40~0℃和+70~+85℃精确度为1℃,-55~-40℃和+85~ +125℃精确度为2℃。th和tl寄存器中的温度报警限设定值存放在非易失性存储器中,掉电后不会丢失。通过三线串行接口,完成温度值的读取和th、tl的设定。

2 引脚功能说明

 ds1620采用8脚dip封装或8脚soic封装。引脚排列如图1所示,引脚功能说明如表1所列。

表1 ds1620引脚功能说明

引  脚名    称

功    能

1dq三线制的数据输入/输出
2clk/conv三线制的时钟输入和标准转换输入
3rst三线制的复位输入
4gnd
5tcom温度高/低限触发输出
6tlow温度低限触发输出
7thigh温度高限触发输出
8vdd3~5v电源

3 温度值数据格式

 ds1620的温度值为9位数字量,数据用补码表示,最低位表示0.5℃。几个典型温度的数字量如表2所列。通过三线传送数据时,低位在前,高位在后。ds1620读出或写入的温度数据值可以是9位的字(在第9位后将置为低电平),也可以作为两个8位字节的16位字。这时高7位为无关位。这种方式在8位单片机中处理是比较方便的。

4 操作和控制

 控制/状态寄存器用于决定ds1620在不同场合的操作方式,也指示温度转换时的状态。控制/状态寄存器的定义如下。

donethftlfnvb10cpu1shot

done:温度转换完标志。“1”转换完成,“0”转换进行中。

thf:温度过高标志。温度高于或等于th寄存器中的设定值时变为“1”。当thf为“1”后,即使温度降到th以下,thf值也仍为“1”。可以通过写入“0”或断开电源来清除这个标志。

tlf:温度过低标志。温度低于或等于tl寄存器中的设定值时变为“1”。当tlf为“1”后,即使温度升高到tl以上,tlf值也仍为“1”。可以通过写入“0”或断开电源来清除这个标志。

nvb:非易失性存储器忙标志。“1”表示正在向存储器中写入数据;“0”表示存储器不忙。写入存储器要10ms时间。

cpu:cpu使用标志。“1”表示使用cpu,ds1620和cpu通过三线制进行数据传输;“0”表示不使用cpu,当不使用cpu时, 接低电平,clk/作为转换控制使用。这一位存放在非易失存储器中,允许至少 50 000次写操作。

1shot:一次突发模式。“1”时按转换协议进行一次转换;“0”时连续转换。这一位存放在非易失性存储器中,允许至少50 000次写操作。

ds1620有两种操作模式。

表2 ds1620的几个典型温度和数字量对应关系

温度/℃数字输出(二进制)数字输出(十六进制)
+125             0 1111101000fah
+25             0 00110032h
+0.5             0 00000000001h
0             0 00000000000h
-0.5             1 1111111101ffh
-25             1 1100111001ceh
-55             1 10010010192h

(1)单独工作模式

 在这种工作模式下,ds1620作为热继电器使用,常用连续转换方式,可在没有cpu参与下工作。预先必须写入控制寄存器操作模式和th、tl寄存器的温度设定值,clk/用作转换开始控制端。要注意:这种工作模式下,控制/状态寄存器的cpu标志位必须设为“0”。为了使clk/作转换控制,必须为低电平。如果clk/被拉低,且在10ms以内置高,则产生一次转换;如果clk/保持低,则ds1620连续进行转换。当cpu为“0”时,转换由clk/控制,而不受1shot控制位的限制。

 ds1620有三个温度触发控制端。当ds1620的温度高于或等于th寄存器设定值时,thigh输出为高电平;当温度低于或等于tl寄存器设定值时,tlow输出高电平;当温度高于th寄存器设定值时,tcom输出为高电平,直到温度下降到tl寄存器设定值以下时才会变为低电平。三个温度触发控制端的输出特性如图2所示。

        (2)三线串行通信模式

 三线制由三个信号线组成:(复位)、clk(时钟)和dq(数据)。数据传输在由低电平变为高电平后开始。在数据传输过程中,使变为低电平会终止数据传输。时钟由一序列上升沿和下降沿组成。ds1620输入、输出数据时,都必须是上升沿数据有效。读写数据时低位在前,高位在后。ds1620的三线制操作时序如图3所示。

 从时序图可知,三线制的操作大部分是命令字在前,数据在后(部分命令后不需要数据)。下面是ds1620的几个主要命令字:

开始转换[eeh] 开始转换温度,后面不需要有其它

数据;

读温度[aah] 读出最后一次温度转换的结果,后

面的9个脉冲输出9位温度值;

读配置寄存器[0ch] 命令后的连续8个脉冲读出配

置寄存器的内容;

写配置寄存器[ach] 命令后的连续8个脉冲写入配

置寄存器新的内容;

写th寄存器[01h] 命令后的连续9个脉冲写入th

寄存器9位温度高限设定值;

写tl寄存器[02h] 命令后的连续9个脉冲写入tl

寄存器9位温度低限设定值;

读th寄存器[a1h] 命令后的连续9个脉冲读出th

寄存器9位温度高限设定值;

读tl寄存器[a2h] 命令后的连续9个脉冲读出tl

寄存器9位温度低限设定值。

5 应用实例

    5.1 无cpu参与下的应用

 ds1620有三个温度触发输出,都可作为温控端使用,用于控制加热或制冷装置。在设置控制/状态寄存器以及th和tl寄存器内容后,ds1620可在脱离cpu的情况下单独作温控器使用。图4是用thigh作控制的应用实例。当环境温度高于th寄存器的温度设定值后,thigh输出为高,2n7000导通,启动风扇散热;当环境温度低于th寄存器的设定值后,thigh输出为低电平,2n7000截止,风扇停转。

5.2 有cpu参与下的应用

(1)硬件连线

 图5是用at89c51单片机作cpu来操作ds1620的。单片机的p1口连接ds1620的三线通信接口:p1.1接dq,p1.2接clk/,p1.3接。

    (2)程序设计

 程序采用c51编制,在keil c v6.20下调试通过。本刊网络补充版(//www.dpj.com.cn)中,给出操作ds1620的几个主要子函数。ds1620setconf(unsigned char val)用于配置控制/状态寄存器的内容;用ds1620startconv(void)开始进行温度转换;用ds1620readconf(void)返回控制/状态寄存器内容;可查寻done位来判断是否转换完成,转换完成后用ds1620read(void)读出转换的温度值。也可采用软件延时方式,在开始转换后延时1s以上,再读转换的温度数据值。

6 小 结

 ds1620的外围接线简单,使用灵活。使用时请注意它的测量范围及精度能否满足要求。用作热继电器使用时必须写入控制寄存器操作模式和th、tl寄存器的温度设定值。