带有存储器功能的数字温度计
扫描二维码
随时随地手机看文章
1.DS1624基本原理
DS1624是美国DALLAS公司生产的集成了测量系统和存储器于一体的芯片。数字接口电路简单,与I2C总线兼容,且可以使用一片控制器控制多达8片的DS1624。其数字温度输出达13位,精度为0.03125℃。DS1624可工作在最低2.7V电压下,适用于低功耗应用系统。
(1).DS1624基本特性
⊕.无需外围元件即可测量温度
⊕.测量范围为-55℃~+125℃,精度为0.03125℃
⊕.测量温度的结果以13位数字量(两字节传输)给出
⊕.测量温度的典型转换时间为1秒
⊕.集成了256字节的E2PROM非易性存储器
⊕.数据的读出和写入通过一个2-线(I2C)串行接口完成
⊕.采用8脚DIP或SOIC封装,如图2.34.1
图2.34.1
(2).引脚描述及功能方框图
其引脚描述如表1所示:
DS1624的功能结构图如图4.34.2所示:
图4.34.2
(3).DS1624工作原理
温度测量
图4.34.3是温度测量的原理结构图
图4.34.3 温度测量的原理结构图
DS1624在测量温度时使用了独有的在线温度测量技术。它通过在一个由对温度高度敏感的振荡器决定的计数周期内对温度低敏感的振荡器时钟脉冲的计数值的计算来测量温度。DS1624在计数器中预置了一个初值,它相当于-55℃。如果计数周期结束之前计数器达到0,已预置了此初值的温度寄存器中的数字就会增加,从而表明温度高于-55℃。
与此同时,计数器斜坡累加电路被重新预置一个值,然后计数器重新对时钟计数,直到计数值为0。
通过改变增加的每1℃内的计数器的计数,斜坡累加电路可以补偿振荡器的非线性误差,以提高精度,任意温度下计数器的值和每一斜坡累加电路的值对应的计数次数须为已知。
DS1624通过这些计算可以得到0.03125℃的精度,温度输出为13位,在发出读温度值请求后还会输出两位补偿值。表2给出了所测的温度和输出数据的关系。这些数据可通过2线制串行口连续输出,MSB在前,LSB在后。
表2 温度与输出数据关系表
由于数据在总线上传输时MSB在前,所以DS1624读出的数据可以是一个字节(分辨率为1℃),也可以是两个字节,第二个字节包含的最低位为0.03125℃。
表2是13位温度寄存器中存储温度值的数据格式
高八位字节 低八位字节
存储器的读操作
在这种模式下,主器件可以从DS1624的EEPROM中读取数据。主器件在发送开始信号之后,主器件首先发送写控制字节1001A2A1A00,主器件接收到DS1624应答之后,发送访问存储器的指令(17H),收到DS1624的应答之后,接着发送字地址将被被写入到DS1624的地址指针。这时DS1624发送应答信号之后,主器件并没有发送停止信号,而是重新发送START开始信号,接着又发送读控制字节1001A2A1A01,主器件接收到DS1624应答之后,开始接收DS1624送出来的数据,主器件每接收完一个字节的数据之后,都要发送一个应答信号给DS1624,直到主器件发送一个非应答信号或停止条件来结束DS1624的数据发送过程。
DS1624的指令集
数据和控制信息的写入读出是以表5和表6所示的方式进行的。在写入信息时,主器件输出从器件(即DS1624)的地址,同时R/W位置0。接收到响应位后,总线上的主器件发出一个命令地址,DS1624接收此地址后,产生响应位,主器件就向它发送数据。如果要对它进行读操作,主器件除了发出命令地址外,还要产生一个重复的启动条件和命令字节,此时R/W位为1,读操作开始。下面对它们的命令进行说明。
访问存储器指令[17H]:该指令是对DS1624的EEPROM进行访问,发送该指令之后,下一个字节就是被访问存储器的字地址数据。
访问设置寄存器指令[ACH]:如果R/W位置0,将写入数据到设置寄存器。发出请求后,接下来的一个字节被写入。 如果R/W位置1,将读出存在寄存器中的值。
读温度值指令[AAH]:即读出最后一个测温结果。DS1624产生两个字节,即为寄存器内的结果。
开始测温指令[EEH]:此命令将开始一次温度的测量,不需再输入数据。在单次测量模式下,可在进行转换的同时使DS1624保持闲置状态。在连续模式下,将启动连续测温。
停止测温指令[22H]:该命令将停止温度的测量,不需再输入数据。此命令可用来停止连续测温模式。发出请求后,当前温度测量结束,然后DS1624保持闲置状态。直到下一个开始测温的请求发出才继续进行连续测量。
表5 主机对DS1624写操作通信格式