中电网移动|移动中电网
 
中电网移动|移动中电网|高清图滚动区

基于I2C串行总线接口的数字智能温度传感器

1、概述

TMPl01 是 TI 公司生产的基于 I2C 串行总线接口的低功耗、高精度智能温度传感器,其内部集成有温度传感器、A/D 转换器、I2C 串行总线接口等。宽泛的温度测量范围和较高的分辨率使其广泛应用于多领域的温度测量系统、多路温度测控系统以及各种恒温控制装置。TMPl01 具有以下性能特点:


1)带有 I2C 总线,通过串行接口(SDA,SCI)实现与单片机的通信,其 I2C 总线上可挂接 3 个 TMPl01 器件,构成多点温度测控系统。

2)温度测量范围为-55%~125℃,9~12 位 A/D 转换精度,12 位 A/D 转换的分辨率达 0.0625~C。被测温度值以符号扩展的 16 位数字量方式串行输出。

3)电源电压范围宽(+2.7 V~+5.5 V),静态电流小(待机状态下仅为 O.1μA)。

4)内部具有可编程的温度上、下限寄存器及报警(中断)输出功能,内部的故障排队功能可防止因噪声干扰引起的误触发,从而提高温控系统的可靠性。

2、TMPl01 引脚功能和内部结构

2.1 TMPl01 引脚功能

TMPl01 硬件连接简便,运行时除了 SDA、SCI.和 ALERT 线上需要加上拉电阻外不需外接器件.TMPl01 采用 SOT23-6 封装,引脚排列如图 1 所示,引脚功能如下:

SCL:串行时钟输入端;

GND:接地端;

ALERT:总线报警(中断)输出端,漏极开路输出;

V+:电源端;

ADD0:I2C 总线的地址选择端;

SDA:串行数据输入 / 输出端。电源与接地端之间接有一只 0.1μF 的耦合电容。

2.2 TMPl01 内部结构

TMP101 内部结构框图如图 2 所示,TMP101 内部含有二极管温度传感器、△-∑型 A/D 转换器、时钟振荡器、控制逻辑、配置寄存器、温度寄存器以及故障排队计数器。TMP101 首先通过内部温度传感器产生一个与被测温度成正比的电压信号,再通过 12 位△-∑型 A/D 转换器将电压信号转换为与摄氏温度成正比的数字量并存储在内部的温度寄存器中。该器件根据用户在温度上下限寄存器中设定的 THIGH 和 TLOW,通过温度窗口比较器决定是否启动报警输出。系统上电后器件处于缺省状态,其温度报警缺省阈值为:上限温度 THIGH=80℃温度 TLOW=75℃。

3、TMP101 工作原理

TMPl01 的 I2C 总线串行数据接口线 SDA 和串行时钟接口线 SDA 由主控制器控制.主控制器作为主机,TMP101 作为从机并支持 12C 总线协议的读/写操作命令。首先通过主控制器对其进行地址设定。使主控制器对挂接在总线上的 TMP1O1 进行地址识别。为了能够正确获取 TMP101 内部温度寄存器中的温度值数据,要通过 I2C 总线对 TMP101 内部相关寄存器写相应的数据,设定温度转换结果的分辨率、转换时间、报警输出的上、下限温度值以及工作方式等.也就是对 TMPl01 内部的配置寄存器、上限温度寄存器和下限温度寄存器进行初始化设置。

3.1 TMP1O1 的地址设置

根据 12C 串行总线规范,TMP1O1 有一个 7 位的从器件地址码,其有效位为“10010”,其余两位根据引脚 ADD0 接地、悬空和接电源端的不同分别设置为“00”、“01”、“10”。一条 I2C 总线上可挂接 3 个 TMPl01 器件。

3.2 TMP101 内部寄存器

TMP101 的功能实现和工作方式主要是由内部 5 个寄存器确定,如图 3 所示,这些寄存器分别是地址指针寄存器、温度寄存器、配置寄存器、上限温度(TL)寄存器和下限温度(TH)寄存器。后 4 个寄存器均属于数据寄存器。

 

址指针寄存器为 8 位可读 / 写寄存器,内部存储了要读写的其余 4 个数据寄存器的地址,在读写操作中。通过设定地址指针寄存器的内容确定要访问的寄存器。在 8 位数据字节中,前 6 位全部设置为 0,后 2 位用于选择寄存器,后 2 位 P0、P1 的值与选择的寄存器关系如表 l 所列。

 

 

温度寄存器为 16 位可读寄存器,温度寄存器存储经 A/D 转换后的 12 位温度数据,后 4 位全补为 O,以构成 2 字节的可读寄存器。也可以通过设置配置寄存器的内容来获得 9、10、ll、12 位不同的转换结果。

配置寄存器为 8 位可读 / 写寄存器,数据格式如表 2 所列。通过配置寄存器设置器件的工作方式。Rl/R0 为温度传感器转换分辨率配置位,可以设定内部.A/D 转换器的分辨率及转换时间:F1/F0 为故障排队次数配置位,当被测温度连续超过 n 次(通过设置 Fl/F0 位),就会有报警输出;POL 为 ALERT 极性位,通过 POL 的设置,可以使控制器和 ALERT 输出的极性一致:SD 用来设置器件是否工作在关断模式:在关断模式下,向 OS/ALERT 位写 l 可以开启一次温度转换,在温度比较模式下,该数据位可提供比较模式的状态。

4、与 PICl8F458 单片机的接口

TMP101 以高精度的测量结果和超小型贴片封装广泛应用于各种温度测量系统、电源管理系统、温度监控装置以及恒温控制装置中,通过其串行数据接口线 SDA 和串行时钟接口线 SCL 可方便地与微控制器相连接,构成一个温度测量系统。图 4 所示为 PIC18F458 单片机与 TMP101 的连接应用电路。

4.1 PICl8F458 简介

PICl8F458 是美国 Microchip 公司生产的单片机。片内集成了 A/D 转换器、EEPROM 存储器、比较输出、捕捉输入、PWM 输出、I2C 和 SPI 接口、异步串行通信(USART)接口电路、CAN 总线接口电路、Flash 程序存储器等,功能强大,设计电路简单可靠。

4.2 TMP101 初始化设置

要获取 TMP101 中的温度值数据,首先应通过 PICl8F458 单片机对 TMP101 内部的配置寄存器、上限温度寄存器和下限温度寄存器进行初始化设置。其过程为:PICl8F458 单片机对 TMP101 写地址,然后写配置寄存器地址到指针寄存器,最后写入数据到配置寄存器。PICl8F458 单片机对 TMP101 配置寄存器写操作的时序如图 5 所示,上、下限温度寄存器的写时序和配置寄存器的写时序同理。

4.3 TMP101 读数据

读取 TMP101 内部温度寄存器当前值的过程是:首先写入要读的 TMP101,然后写入要读的 TMP101 内部温度寄存器,向 I2C 总线上发送一个“重启动信号”,并将 TMP101 地址字节也重发一次,改变数据的传输方向,从而再进行读取温度寄存器的操作。单片机对 TMPl01 温度寄存器读操作的时序如图 6 所示。

图 6 可以解释为:在串行数据线 SDA 和串行时钟线 SCL 的时序配合下,将 PICl8F458 单片机的启动使能位 SEN 置位建立启动信号时序,紧接着单片机将要读的 TMP101 地址字节写入缓冲器,并通过单片机内部移位寄存器将字节移送至 SDA 引脚,8 位地址字节的前 7 位是 TMP101 的受控地址,后 l 位为读 / 写控制位(为“O”时表示写操作)。写地址字节完成后,在第 9 个时钟脉冲周期内,单片机释放 SDA,以便 TMP101 在地址匹配后,能够反馈一个有效应答信号供单片机检测接收。第 9 个时钟脉冲之后,SCL 引脚保持为低电平,SDA 引脚电平保持不变,直到下一个数据字节被送入缓冲器为止。然后再写入要读的 TMP101 内部温度寄存器地址字节,其过程与 TMPl01 地址字节的写操作同理。通过向总线上发送“重启动信号”,改变数据的传输方向,此时寻址字节也要重发一次,但对 TMP101 的地址字节已变为读操作,再读取 TMP101 内部温度寄存器的地址字节,最后读出 TMP101 内部温度寄存器中的温度值数据字节,被测温度值以符号扩展的 16 位数字量方式串行输出。单片机每接收一个字节都要反馈一个应答信号,此时要注意单片机反馈的应答信号和 TMP101 反馈的应答信号是不同的,最后通过设置停止使能位,发送一个停止信号时序到总线上,表明此次通信终止。

5、结束语

介绍了基于 I2C 串行总线接口的数字智能温度传感器 TMP101 的性能、结构和工作原理,以及与 PICl8F458 单片机的实际应用,并成功地运用到“基于单片机的智能教室控制系统”中,该系统能显示教室内实际检测到的温度值,并通过 RS-485 通讯数据线传输到上位机进行实时显示,测量结果精度高,系统运行稳定。

猜你喜欢
中电网移动|移动中电网|频道导航区