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