DS7505是Maxim公司的数字温度计及温控器,其工作电压为1.7~3.7 V,测量温度范围为一55℃~+125℃,当所测温度超过0℃~+70℃时,其精度可达±O.5℃。用该器件测量温度时无需任何外部元件。该器件读取分辨率有9位、10位、ll位、12位四档,通过两条串行接口线SDA和SCL进行数据的读写操作。DS7505是以高位对齐低位补零的方式存储数据,由于DS7505是从高位读取数据,因此在只读取整数温度时,只需读取一个字节。图1给出DS7505的引脚排列,其中SDA为数据的输入输出;SCL为时钟输入;0.S.为控制输出;GND为接地;A0,A1与A2为地址输人;VDD为输入电压。
2 DS7505内部结构和功能
图2为DS7505内部结构。包括地址及I/O接口控制器,精度参考,过采样调制器,数字滤波器,温控比较器以及4个寄存器,即配置寄存器,温度寄存器、Tos与Thyst寄存器。
2.1 温度寄存器
DS7505把每次的温度测量值经A/D转换后存到该寄存器内。它是2个字节寄存器,温度值以二进制形式存储在该寄存器内如表l所示。符号位(S)表示温度值的正负,S为0代表正,S为l代表负。该位可随时读取,且并不影响该温度寄存器正在运行的操作。该寄存器的BitO~Bit3位被硬件置零。按照先从高位存储,低位补零的原则存储数据,如存储12位温度数据时用Bitl5~Bit4存储;存储11位温度数据时,使用Bit15~Bit5,并把Bit4置零;依次类推存储10位、9位温度数据。存储时选用哪种数据分辨率(9位、10位、11位或12位)需对配置寄存器进行设置。
2.2 配置寄存器
使用配置寄存器来设置DS7505,如温度数据读取分辨率、操作模式、容错能力、输出引脚极性等设置。该寄存器的各位表示如表2所示,表3是对其各位功能的详细描述。
SD=I时DS7505处于睡眠模式,此时转换结束并把转换结果存入温度寄存器内,DS7505进入低功耗待机状态。SD=0时DS7505同到正常操作状态——转换和温控操作,此时DS7505执行温度测量,并把结果存入温度寄存器,DS7505进入睡眠状态。
TM位用来设置DS7505的工作模式。TM=O则DS7505处于比较器模式,当测得的温度值连续超过Tos寄存器中的温度值数次后(超过次数取决于配置寄存器中的Fl与F0位),则激活0.S,并0.S.一直保持有效,直到温度低于Thvst寄存器内的数值为止。当DS7507是由比较器模式进入睡眠模式,则不清除O.S.输出。TM=1则DS7505处于中断模式,当所测值连续超过Tos寄存器内温度值数次后,O.S.激活。一旦激活0.S.只能使DS7505处于睡眠模式或者从任意寄存器读取数据才能使其失效,O.S.失效后其输出清零,当测量温度低于Thyst寄存器内的数值连续数次后,O.S.被重新激活。
存储温度数据前,应配置寄存器的Bit6和Bit5(即R1与R0),用于选择温度数据存储分辨率。如表4所示。
配置寄存器的FO与F1位用于设置温控器的容错能力,即规定所测温度连续超过Tos或Thyst寄存器内数值的次数,即激活0.S.的条件,F1F0=00时激活O.S.所需连续次数为1;F1FO=01时,所需次数为2;F1F0=10时,所需次数为4;FlF0=ll,所需次数为6。
2.3 寄存器指针
寄存器指针是一个8位寄存器,其中高6位置零,低2位(Pl和P0)用来设置访问寄存器,如表5所示。对DS7505读写操作时必须先通过P1和P0设定要访问的寄存器。一旦设定后不能对其更改。从温度寄存器读取数据时,只需设定一次寄存器指针,只要不改变,数据将顺序从寄存器读出。但是当寄存器写入时,每写入一次(即便是向同一寄存器写入),寄存器指针都需要重新设定。上电时指针默认指向温度寄存器,因此读数温度寄存器无需重新设定指针。
2.4 Tos与Thyst寄存器
Tos和Thyst寄存器的数据格式与温度寄存器相同。每次温度转换后,转换值都与储存在这两个寄存器中的数值进行比较。0.S.的输出是根据DS7505的操作模式和比较器的结果进行更新。在温控器比较期间所使用的Tos和Thyst中的数值的位数与温度数据读取分辨率相同,如分辨率为9,则温控比较器只使用Tos和Thyst的高9位。如未用DS7505的控温能力,O.S.位的输出就与Tos和Thyst无关,此时这两个寄存器可用做一般存储器存储数据。
3 2线串行数据总线
DS7505通过串行时钟信号(SCL)及串行数据信号(SDA)两条2线串行数据总线进行通信。总线上,主机(如单片机)产生SCL信号并发送启动和停止命令。当SDA和SCL都为高电平,总线处于空闲状态。当SCL保持为高且SDA产生一个由高到低的电平时,主机开始传输数据;当SCL保持为高而SDA由低变为高时,主机停止数据传送,总线回到空闲状态。所有通信都是从MSB位开始。接收设备(主或从机)每接收一个字节,都将在SDA上产生一个低电平的确认信号ACK,当主机接收完最后一个数据字节时,将发送高电平的非确认信号NACK来暗示接收数据已结束。如图3所示。
总线上的每个从机都有一个可被寻址的7位地址(1O0l A2 Al A0),其中A2、A1、AO可由用户通过设定相应引脚的电平进行选择,这样可允许多达8个DS7505挂接在同一总线。控制字节由主机发出,是由7位从机地址加上R/W位构成,即l0Ol A2 Al A0 R/W。如果主机要由从机读数据,则R/W=l,写数据,则R/W=0。
4 DS7505在测温系统中的应用
图4给出数字温度计和温控器DS7505与单片机STC89LE52结合构成的测温系统电路图,可实现温度测量和控制。在设计中,设定配置寄存器的POL=0,即令O.S.低电平有效而高电平无效,且开始时,令继电器处于断开状态,配置寄存器的TM=O,DS7505工作在比较模式下,通过编程设置门限温度值,将采集的温度数据与门限值相比较,当低于门限值时,0.S.位处于无效状态,输出高电平,三极管导通,继电器闭合,从而进行加热;当采集的温度值超过门限值且达到激活0.S.的条件时,O.S.位被激活,低电平有效,三极管(VQ1关断),继电器断开从而进行降温。用继电器控制加热器的开关可以使被测物体的温度保持在一定的温度范围内,即构成一个恒温器,另外可设置相应的时间实现对物体定时加热,在到达规定时间后由蜂鸣器报警来通知,随后可由按键来结束蜂鸣器报警。在设计中利用发光二级管(VQ2)作为指示灯,其点亮、熄灭表示加热器的加热状态和降温状态。为了防止三极管VQl击穿,在电路上并联一个二极管(VDl),起保护作用。
5 结语
DS7505是一种无需任何外部器件就能实现温度测量的数字温控器,是拥有独立温控能力的器件。它体积小,编程简单,且精确度高,耗电低。在设计的温度测量系统中选用了DS7505数字温控器,实际应用证明该器件使用简单、测量精度高,并且不易受环境因素干扰,具有良好的适应性和扩展性。
上一篇:基于虚拟仪器的车用电机测试平台控制系统
下一篇:基于DSP-LF2407A和CAN总线的分布式电机控制系统
- 热门资源推荐
- 热门放大器推荐