近年来随着各种无线通信技术以及其他相关技术的日趋成熟,家庭环境监控系统得到了越来越广泛的应用。在家庭环境监控系统中,各个节点置于家庭中的不同位置,实时监测各点的状况,并及时上传到监控中心。节点的关键部件包括传感器,在家庭环境监控系统中大量使用了温度传感器。
借助于温度传感器,家庭环境监控系统能够监测家庭环境、家用电器和某特殊点的温度,然后基于测量的数据进行有效的控制,从而达到节省能源、保障安全和改善人们起居条件的目的。本文以数字式温度传感器TMP275为例,介绍温度传感器在家庭环境监控中的应用。
1TMP275简介
TMP275是TI公司于2006年推出的一款低功耗数字输出温度传感器。其精确度达±0.5℃,适用于环境、通信、计算机、消费类、工业以及仪表应用等多个领域的温度测量。
TMP275的高度精确性可使散热与电源管理更加高效,而其低功耗能够延长电池使用寿命并最小化自加热 (selfheating)。在-20℃~+100℃范围内,TMP275的精确度为±0.5℃(最大值)。其双线串行接口与I2C相兼容。芯片采用小巧的8引脚MSOP封装。该器件的其他特性包括:50 μA低电流、9至12位可编程分辨率、0.1 μA关机电流模式、整个温度范围内出色的稳定性,以及-40℃~+125℃的广泛工作温度范围。另外,该器件还允许多达8个不同地址,以实现接口总线设计的高灵活性。TMP275的引脚排列如图1所示。
2TMP275硬件设计
TMP275的两线串行接口(引脚SCL、SDA)与I2C总线接口兼容,可以直接与其相连,从而大大降低了设计难度。当测量温度超过用户设定的最高温度或低于最低温度时,引脚ALERT输出高电平或低电平(可以通过配置寄存器来实现)。上述3个引脚在实际连接中需要上拉电阻。引脚A0、A1、A2可以接地或高电平,用于决定芯片的器件地址(有8个)。TMP275的外围电路原理图如图2所示。
图1TMP275引脚排列
3TMP275的基本原理
TMP275的功能实现和工作方式主要由内部的5个寄存器来确定,分别是: 指针寄存器(pointer register)、温度寄存器(temperature register)、配置寄存器(configuration register)、上限温度寄存器(THIGH register)和下限温度寄存器(TLOW register)。TMP275的内部寄存器结构如图3所示。
TMP275的工作方式主要通过配置寄存器来实现。配置寄存器的数据格式如下:
图2TMP275外围电路原理图图3TMP275的内部寄存器结构
各数据位的具体说明如下:
SD设置器件是否工作在关断模式。SD为1时为关断模式,SD为0时为正常模式(包括比较模式和中断模式)。
TM设置器件工作在比较模式还是中断模式。TM为1时工作在中断模式,TM为0时工作在比较模式。
POLALERT极性位。通过POL的设置,可以使控制器和ALERT输出极性一致。
F1/F0错误队列配置位。只有温度连续超限n次后,报警才会输出。参数n由F1和F0来设置,设置错误队列的目的是防止环境噪声对报警输出的影响。具体配置参数如表1所列。
R1/R0温度传感器分辨率配置位。通过对其配置,可以控制温度传感器的转换分辨率,同时也可以控制时间;分辨率越高,转换时间越长。具体配置参数如表2所列。
表1错误队列配置表2分辨率配置
OS在关断模式下,向该位写1,可以开启一次温度转换;在温度比较模式下,该数据位可以提供比较模式的状态。
4TMP275的工作方式与串行接口
4.1工作方式
正常工作方式下,当所采集的温度在上下限温度之外时,TMP275会依据配置寄存器中的TM状态来决定器件是工作在比较模式还是中断模式。当器件工作在比较模式,且所采集的温度连续n次(参数n为由F0、F1决定的连续错误数)等于或大于THIGH时,比较器激活ALERT告警输出,提醒主机当前工作温度不正常;只有当温度连续n次低于TLOW时,ALERT信号才恢复正常。正常工作时,默认方式为比较模式。当器件工作在中断模式,且所采集的温度连续n次在上下限温度之外时,比较器都会激活ALERT报警输出;只有在对寄存器进行操作或者器件在关断模式下时,ALERT信号才会恢复正常,此种模式下可以进行系统的耐温测试。
另外,器件还有节能的关断模式。如果选择该模式,当前的温度转换结束后,器件会自动关断,此时电流消耗只有1 μA。只有向配置寄存器的OS位写1,才可以开启下一次温度转换。该模式由配置寄存器的SD数据位来设定。
4.2串行接口
TMP275的两线数据线SDA和时钟线SCL兼容I2C协议,而且只能作为从器件。它支持快速模式(1~400 kHz)和高速模式(1 kHz~3.4 MHz)。该器件的地址是由固定的高4位1001以及受控于A0、A1、A2的低3位决定。
4.2.1I2C总线综述
初始化传输的设备称为“主设备”,受主设备控制的是“从设备”。主设备产生串行时钟(SCL),控制总线接入,以及产生启动(START)和停止(STOP)条件。只有在总线不忙时,才可以传送数据。在传送期间,时钟信号线为高电平时,数据线SDA必须保持不变;只有在启动/停止信号到来后,数据线SDA才能改变。
TMP275作为从设备,只有接收到启动信号后,芯片才开始工作。若接收到的地址无误,则发出一个确认信号,并根据R/W位的状态进行读/写操作。当停止信号到来后,所有工作结束[1]。
4.2.2从设备接收模式
接收模式下,主设备先向TMP275发送TMP275的地址信息和状态信息(R/W=0),然后发送数据,写入地址指针寄存器。下一个字节或者几个字节再依据指针寄存器的内容写入相应的寄存器。对于每一个成功接收到的数据,TMP275都将发送确认信息。主设备通过发送停止信号而终止数据传输。
4.2.3从设备发送模式
发送模式下,主设备先向TMP275发送TMP275的地址信息和状态信息(R/W=1),然后读取由地址指针寄存器指定的数据。对于每一个成功接收到的数据,TMP275都将发送确认信息。主设备通过发送停止信号而终止数据传输。
5TMP275在家庭环境监控中的应用
5.1节点简介
本文的讨论是以基于蓝牙(Bluetooth)技术的家庭环境监控系统的节点为平台,介绍温度传感器TMP275在环境监控中的具体应用。该节点包括处理器、蓝牙模块、温度传感器TMP275和电源4部分,如图4所示。
图4节点结构框图
5.2处理器部分和温度传感器部分
节点处理器选用AVR单片机ATmega128。它是基于AVR RISC结构的8位低功耗CMOS微处理器。由于其先进的指令集及单周期指令执行时间,ATmega128的数据吞吐率高达1 MIPS/MHz,从而缓解了系统在功耗和处理速度之间的矛盾。
ATmega128提供一种兼容于I2C的TWI总线接口,因此TMP275的SDA和SCL引脚可以直接与处理器的引脚相连,另外还需接上拉电阻[2]。TMP275的报警输出方式设置为低电平输出,接有上拉电阻。A0、A1和A2全部接低电平,这样TMP275器件的写地址为0x90,读地址为0x91。TMP275的连接原理图如图5所示。
图5TMP275连接原理图
5.3蓝牙模块部分
蓝牙模块选用CSR公司的BlueCore02External蓝牙芯片。此芯片是一个单一芯片无线电和基带链路控制器的Bluetooth 2.4 GHz系统,采用0.18 μm CMOS技术,集成了射频、基带、带有全部集成蓝牙协议栈的MCU以及收发器[3]。
在本节点的设计中,蓝牙模块通过UART接口与处理器相连接。IO0、IO1、IO2引脚接LED灯,用来指示蓝牙模块与其他蓝牙设备进行寻呼、连接和数据传输的状态。蓝牙模块的其他引脚在本节点设计中未涉及,故予以省略。蓝牙模块的连接原理图如图6所示。
图6蓝牙模块的连接原理图
结语
实际应用表明,TMP275芯片具有很高的性能,利用它可以很好地实现预期的设计功能,而且操作简单。利用主控处理器和多片TMP275也很容易构成一个其他的环境监控系统,且能得到很高的测试精度。目前,基于温度传感器TMP275和蓝牙技术的家庭环境监控系统已经调试完毕,运行性能良好。