1.概述
DS1625是美国DALLAS公司研制的数字温度计和控温器。它可输出9位温度值,当所测温度超过用户设定的温度上限TH时,测温报警端TOUT输出有效报警电平,直至温度降低到低于用户设定的温度下限TL。由于DS1625存在一定的时间滞后,因而它有较强的抗干扰能力。在DS1625嵌入系统之前,用户即可设定温度的上下限,而且时间是非易失性的。另外,DS1625的温度设定及读写操作均可通过一个简单的2线制串行接口来完成。DS1625具有如下特点:
●测量温度不需外部元件;
●测温范围为-55℃~+125℃,分辨率为0.5℃;
●温度值以9位二进制数输出(以两字节的格式传输);
●完成一次测温仅需500ms;
●温度的上下限可以由用户设定,而且是非易失性的;
●数据的输入输出均可借助于一个简单的2线制串行接口来完成(开漏I/O线);
●采用8脚DIP或SOIC封装。DS1625的极限参数如下:
任意脚对地的电压: -0.5~+7.0V;
工作温度范围: -55~+125℃;
存储温度: -55~+125℃;焊接温度:持续10秒时,小于260℃;
2.引脚功能
图1所示为DS1625的引脚排列图。各引脚的
功能如下:
SDA:2线制串行数据输入/输出端;
SCL:2线制连续时钟端;
TOUT:控温信号输出端;
A0~A2:地址输入端;
VDD:电源;
GND:接地端。
3.工作原理
3.1温度测量
DS1625在测量温度时使用了专有的在线温度测量技术。它通过计算在一个由对温度高度敏感的振荡器决定的计数周期内对温度低敏感的振荡器时钟脉冲的计数值来测量温度。DS1625在计数器中预置了一个初值,它相当与-55℃。如果计数周期结束之前计数器达到0,已预置了此初值的温度寄存器中的数字就会增加,从而表明温度高于-55℃。
与此同时,计数器斜波累加电路被重新预置一个值,然后计数器重新对时钟计数,直到计数值为0.
通过改变增加的每1℃内的计数器的计数,斜波累加电路可以补偿振荡器的非线性误差,以提高精度,任意温度下计数器的值和每一斜波累加电路的值对应的计数次数须为已知。
DS1625通过这些计算可以得到0.5℃的精度,温度输出为9位,在发出读温度值请求后还会输出两位补偿值。表1给出了所测温度和输出数据的关系。这些数据可通过2线制串行口连续输出, MSB在前,LSB在后。
由于数据在总线上传输时MSB在前,所以DS1625读出的数据可以是一个字节(分辨率为1℃),也可以是两个字节,第二个字节包含的最低位为0.5℃。图2所示是DS1625的测温电路的原理方框图。
3.2控温操作
在把DS1625用作一个带有可编程迟滞的控温器来使用时,当DS1625的温度达到或超过寄存器中存储的温度上限TH时, TOUT输出高电平,直至温度低于TL。此外, DS1625可以获得任意量的迟滞,从而提高了器件的抗干扰能力。输出的有效电平是由用户来设定的。
因此,在进行控温操作时必须先设定TH和TL寄存器的温度上下限,而且,为了显示测温过程的状态以及确定在具体应用DS1625时要采用的模式,还需用一个设置/状态寄存器。
设置/状态寄存器的定义如下:
以下是设置/状态寄存器各部分的功能:
DONE:转换完成标志位。1表示转换完成,0表示转换正在进行。
THF:上限温度标志位。当温度达到或超过TH时,此位为1。除非写入0或器件断电,否则它将一直保持为1。THL:下限温度标志位。当温度低于或等于TL时,此位为1。除非写入0或器件断电,否则它保持为1。
NVB:非易失性存储忙标志位。1表示正在进行向EEPROM存储单元中写入数据, 0表示此过程不在进行中。完成写入EEPROM过程需10ms。
POL:有效输出电平极性位。1为高电平有效,0为低电平有效。此位为非易失性。
1SHOT:工作模式选择位。DS1625在接到开始测温请求后,若此位为1,则工作在单次工作模式,完成一次测温操作;若此位为0,将进行连续测温。
对于一般的控温操作, DS1625采用连续测温模式。但在某些时候,只需完成一次测温或者为了节约电源功耗,可采用单次测量模式。注意,采用单次测温模式时,控温输出TOUT保持它在测完最后一个有效温度时的状态。
DS1625支持2线制串行总线和数据传输协议。定义在总线上发送数据的器件为发送器,接收数据的器件为接收器,控制信息传输的为主器件,被信息控制的为从器件。总线必须由产生串行时钟信号的主器件来控制,它控制总线工作并产生启动和终止发送条件。DS1625作为2线制串行总线上的从器件,通过开漏I/O线SDA和SCL与总线相连。图3给出了DS1625在2线制数据总线上的数据传输方式。
3.3指令集
数据和控制信息的写入读出是以图3所示的方式进行的。在写入信息时,主器件输出从器件(即DS1625)的地址,同时R/W位置0。接收到响应位后,总线上的主器件发出一个命令地址, DS1625接收此地址后,产生响应位,主器件就向它发送数据。如果要对它进行读操作,主器件除了发出命令地址外,还要产生一个重复的启动条件和命令字节,此时R/W位为1,读操作开始。下面对它们的命令进行说明。
读温度值[AAh]:即读出最后一个测温结果。DS1625产生两个字节,即为寄存器内的结果。访问TH[A1h]:如果R/W位置0,将写入数据到TH寄存器。发出请求后,接下来的两个字节写入DS1625,以设置输出TOUT的上限温度。如果R/W位置1,将读出存在寄存器中的值。访问TL[A2h]:如果R/W位置0,将写入数据到TL寄存器。发出请求后,接下来的两个字节写入DS1625,即设置输出TOUT的下限温度。如果R/W位置1,将读出存在寄存器中的值。
访问设置寄存器[ACh]:如果R/W位置0,将写入数据到设置寄存器。发出请求后,接下来的一个字节被写入。如果R/ W位置1,将读出存在寄存器中的值。
开始测温[EEh]:此命令将开始一次温度的测量,不需再输入数据。在单次测量模式下,可在进行转换的同时使DS1625保持闲置状态。在连续模式下,将启动连续测温。
停止测温[22h]:该命令将停止温度的测量,不需再输入数据。此命令可用来停止连续测温模式。
发出请求后,当前温度测量结束,然后DS1625保持闲置状态。直到下一个开始测温的请求发出才继续进行连续测量。
3.结束语
本文介绍了数字温度计和控温器DS1625的主要性能和工作原理。用户可灵活设定它的温度上下限。因此, DS1625可用来控温或应用于工业系统、消费产品、温度计及其它温度测控系统。