微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于12C总线接口的智能温度传感器TMPl01的设计

基于12C总线接口的智能温度传感器TMPl01的设计

时间:02-15 来源:互联网 点击:

产的单片机。片内集成了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通讯数据线传输到上位机进行实时显示,测量结果精度高,系统运行稳定。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top