LM92数字温度传感器.docx
《LM92数字温度传感器.docx》由会员分享,可在线阅读,更多相关《LM92数字温度传感器.docx(14页珍藏版)》请在冰豆网上搜索。
LM92数字温度传感器
LM92I2C总线方式控制的数字温度传感器和MSP430单片机构成的测温嵌入式系统和Internet相连,并通过标准网络浏览器进行过程控制。
LM92I2CtestingtemperatureembeddedsystemwhichcombinethedigitaltemperaturesensorLM92andMCUMSP430becontrolledbyI2CBusandInternetconnectandusethestandardnetworkbrowsertocontrol
1LM92数字温度传感器LM92是美国国家半导体公司近期生产的一种高精度数字温度传感器,他采用I2C总线方式控制。
内含12b温度A/D转换器,工作电压:
+2.7~+5.5V;测温范围:
-55~+150℃;精度:
±0.333℃(30℃时);线形度:
±0.5℃;温度刷新间隔:
500ms。
内部有16b只读温度寄存器,通过I2C总线方式控制,可以存储测温数据,还可以设置窗口上、下限温度值,临界温度告警值。
当测温数据偏离窗口上、下限温度范围,或临界温度值时,LM92可以产生中断请求信号INT或临界温度告警信号TCRITA。
在同一条I2C总线上最多可连接4个LM92。
LM92采用SO8脚封装,I2C总线由数据线SDA和时钟线SCL构成;其输出为漏极开路,总线必须接有上拉电阻。
2MSP430与I2C总线LM92的接口MSP430单片机与传统的51单片机在结构上有很大的区别。
其中之一就是:
在MSP430的外围接口电路中,没有提供像51那样控制外设读、写、地址锁存信号的硬件电路。
与这种接口电路相适应,MSP430更倾向使用I2C总线以及ISP等基于串行接口的外围器件。
如图1所示。
3MSP430单片机与LM92构成嵌入式测温系统的特点LM92数字温度传感器与传统的热敏电阻器、模拟温度传感器不同,他可以直接将测量的温度数据转换成13b串行数字温度信号,供CPU读取;在硬件电路设计上就可以省去传统传感器需要的信号放大器和A/D转换器。
虽然长期以来热敏电阻器是最常用的元件,目前在一些工业应用领域仍然起重要的作用;在汽车的计算机控制系统中,温度传感器仍然采用热敏电阻器。
热敏电阻器的电压输出与温度不具有线性关系,需通过查表或外加线性化电路,才能得到准确的温度。
而且,热敏电阻器在高温区段电压变化率较小,不易分辨,造成温度测量的误差较大。
这是热敏电阻器的最大缺点。
其次,热敏电阻器产品在不同的批次间存在差异,电子响应性能不一致。
因而,使用前都需要进行调校,在大量生产时增加了成本和时间。
相比之下,集成电路温度传感器LM92输出与温度成线性关系,无论在高温或低温范围内,准确度都是一样的。
但是LM92数字温度传感器测温范围是:
-55~+150℃,特别是在高温段的测温范围,相对热敏电阻器较低;限制了他在一些工业应用领域中的应用。
但在低温段可以替代热敏电阻器、模拟温度传感器。
MSP430单片机片内最多有64kB的ROM,可以完全容纳一个控温程序,不需要对外扩展ROM芯片。
MSP430单片机与LM92构成的嵌入式测温系统硬件电路结构紧凑、简单,可以充分减小制版面积,减小了成本;系统设计也可以简化,节省设计时间。
提高了系统的精确度、准确度、可靠性,减小了系统的干扰。
4单片机嵌入系统和Internet连接目前,为了把单片机为核心的嵌入式系统和Internet相连,已有多家国外公司在进行这方面的较多研究。
这方面较为典型的有emWare公司和TASKING公司。
要求专门为嵌入式微控制器设备设计网络服务器,使嵌入式设备可以和Internet相连,并通过标准网络浏览器进行过程控制。
LM92采用I2C总线方式控制,而MSP430单片机的通用串行同步异步通信接口USART是一个串行通道,他允许7b或8b串行位流以预先编程的速率或外部时钟确定的速率移入、移出MSP430。
串行异步通信协议UART以预先编程的速率和嵌入式系统内部的电路模块进行串行数据移入、移出通信;串行同步通信协议SPI用外部时钟确定的速率和嵌入式系统外部的Internet网进行串行数据移入、移出通信。
LM92和MSP430单片机构成的嵌入式测温系统,是以串行同步通信协议SPI模式和Internet网连接;使人们可以通过互联网观测、控制远在千里外的系统进行正常工作。
通过MSP430的串行同步通信协议SPI模式,用蓝牙收发器芯片无线连接Internet网,还可以实现在汽车行驶过程中的离车诊断;他不仅可以读取汽车控制系统存储的故障信息,还能对控制系统进行重新检测和诊断。
还可以进行对汽车无人遥控驾驶课题的研究。
5结语LM92数字温度传感器和MSP430单片机构成的嵌入式测温系统,用串行同步通信协议SPI模式和Internet相连,并通过标准网络浏览器进行过程控制;其应用的范围将极为广阔,改变了传统的近距离有线嵌入式控制系统,极大地方便了人们的工作和生活,将是未来一种新的发展趋势。
参考文献[1]胡大可.MSP430系列16位单片机原理与应用[M].北京:
北京航空航天大学出版社,2000
来源:
现代电子技术作者:
杨勇
30单片机--浏览文章
MSP430与I2C总线接口技术的研究
点击:
发布日期:
2007-7-2616:
25:
00进入论坛
引言
MSP430单片机自从2000年问世以来,就以其功能完善、超低功耗、开发简便的特点得到了许多设计人员的青睐。
MSP430与传统的51单片机在结构上有很大的区别。
其中之一就是:
在MSP430的外围接口电路中,没有提供像51那样控制外设读、写、地址锁存信号的硬件电路。
与这种接口电路相适应,MSP430更倾向使用I2C总线以及ISP等基于串行接口的外围器件。
另一方面,随着I2C技术的发展和成熟,其硬件结构简单、高速传输、器件丰富等特点使该类器件的应用越来越广泛。
因此研究新型单片机MSP430与I2C总线接口技术有着重要的意义。
本文针对这一问题进行研究,分析研究了MSP430与I2C总线接口的原理和方法,提出了高效的接口方法,介绍了优化的程序。
1MSP430单片机I/O端口控制特点
与8031单片机相比,MSP430的I/O端口的功能要强大的多,其控制的方法也更为复杂。
MSP430的I/O端口可以实现双向的输入、输出;完成一些特殊功能如:
驱动LCD、A/D转换、捕获比较等;实现I/O各种中断。
MSP430采用了传统的8位端口方式保证其兼容性,即每个I/O端口控制8个I/O引脚。
为了实现对I/O端口每一个引脚的复杂控制,MSP430中的每个I/O口都对应一组8位的控制寄存器(如图1)。
寄存器中的每一位对应一个I/O引脚,实现对该引脚的独立控制。
寄存器的功能和数目是由该I/O口所能完成的功能以及类型确定的。
[2]
图1为MSP430的一个I/O端口的控制结构示意图。
对于最基本的只能完成输入、输出功能的I/O端口其控制寄存器只有3个。
其中,输入寄存器保存输入状态;输出寄存器保存输出的状态,方向寄存器控制对应引脚的输入、输出状态。
本文中用来实现I2C总线接口的P6.6、P6.7都属于这类的端口。
此外,有些I/O端口不但可以用作基本的输入输出,而且可以用作其他用途,比如可以作为LCD的驱动控制引脚。
这类端口的控制功能寄存器实现引脚功能状态的切换。
再者,有一类端口不但可以完成上述两种端口的功能,而且可以实现中断功能。
该类端口拥有图1中所有的寄存器,中断触发的方式以及中断的屏蔽性都可以通过相应的寄存器控制。
本文中使用的P2.0就属于该类端口,利用它来接收LM92发出的中断。
通过上述的控制结构,MSP430的I/O端口可以实现很丰富的功能。
不仅如此,其中一些I/O口还可以与MSP430中的特殊模块相结合完成更为复杂的工作。
如与捕获比较模块相结合可以实现串行通信,与A/D模块结合实现A/D转换等。
此外,MSP430I/O端口的电器特性也十分突出,几乎所有的I/O口都有20mA的驱动能力,对于一般的LED、蜂鸣器可以直接驱动无需辅助电路。
许多端口内部都集成了上拉电阻,可以方便与外围器件的接口。
2MSP430与I2C总线器件接口
通过上述的介绍了解了MSP430中I/O口的一些控制特点。
以下介绍如何利用这些特点实现I2C总线的接口。
如图2所示,使用41系列单片机的P6.6产生I2C总线的时序同步信号;使用P6.7完成I2C总线的串行数据输入输出;利用P2.0接收LM92产生的中断信号。
基于I2C总线规范,通过对LM92的A0、A1和AT240的A0、A1、A2设定不同的器件地址,两个器件可以共用SCL、SDA。
2.1I/O端口引脚控制
与8031不同,MSP430没有位空间,也没有专门执行位操作的控制电路。
那么对于一个指定的I/O端它是如何进行控制的呢?
MSP430中有关位操作的指令都是通过逻辑运算实现的。
[3]例如:
BISB#01000010B,P1OUT;将P1.6和P1.1置位XORB#01000010B,P1OUT;逻辑或运算
该例中的置位指令BISB是用原操作数(01000010)与目的操作数(P1OUT)做逻辑或运算得到的。
因此该命令与第二行的指令是等效的。
虽然,这样的控制方法比起8031略显复杂,但它的控制能力有所增强。
从例子中不难看出,这种方式可以同时控制多个端口位。
2.2简化I2C接口的方法
众所周知,实现I2C总线协议主要是控制SDA、SCL使其产生协议所规定的各种时序。
要控制P6.7、P6.6产生I2C总线要求的各种时序,就要频繁使用到输入、输出以及方向寄存器。
而要减少代码的量,简化接口控制,最直接的方法就是减少有关寄存器操作次数。
要实现这一想法需要软硬件结合,充分利用I/O口的特点以及I2C总线协议的特点。
仔细观察图3的基本数据操作时序[1]可以发现:
第一,I2C总线在无数据传输时均处于高电平状态;第二,SDA引脚是数据的输入输出端,它的状态变化最为复杂,控制它需要频繁的使用P6IN、P6OUT、P6DIR三个寄存器。
图2中的R1、R2是上拉电阻,其阻值由选用的I2C总线器件的电器特性确定。
在本文中这两个电阻不但起上拉的作用,还有助于解决第一个问题。
当P6.6、P6.7处于接收状态时,上拉电阻可以将该点的电平拉升为VCC,从而确保总线空闲时有稳定的高电平。
延续以上的思路可以发现,方向寄存器相应位为输入时,就等于给I2C从器件发送了逻辑'1'。
那么如何发送逻辑'0'呢?
将对应的方向控制位设为输出,然后输出寄存器相应位置为'0'就可以实现。
再进一步,如果将输出寄存器对应为设为'0',只控制方向寄存器的变化就可以发送两种逻辑电平。
这样,在发送数据时只需要控制方向寄存器。
对于SDA需要频繁切换输入输出状态的特点,本方法可以减少15%左右的代码量,并使程序更清晰。
这样就为第二个问题找到了很好的解决方法。
3I2C总线控制时序的实现以上讲述了I2C总线最基本的操作时序。
I2C总线中的各种操作都是由这些基本操作组合完成的。
由于I2C总线器件的类型、功能、结构不尽相同,因此每一种器件具体控制时序有所区别。
图4是AT2402读取指定字节数据控制时序。
从图中可以看出一个读取操作中要使用到起始、发送字节、处理回应、接收字节、停止这些基本操作。
附录中的代码就实现了这个时序。
对于AT2402还有其他控制的时序,如字节写时序、数据页读时序、地址读取时序等等[1]。
附录中代码对基本操作分别编写为子程序。
对于不同的功能时序,可以通过子程序的调用来实现。
LM92是一种高精度的温度传感器,它也采用I2C总线方式控制。
图5是该器件读取温度数据的时序。
因为它的功能和结构与AT2402有很大的区别,所以二者控制时序不尽相同。
如图4和图5,虽然都是实现读取操作,但是二者时序差别很大,LM92的控制时序明显要复杂的多。
不过仔细分析可以看出这些时序也都是由一些基本操作组合实现的。
这样就可以在上述方法的基础上完善LM92所需要的基本操作子程序,进而根据时序需要安排子程序实现对LM92的各种控制。
综上所述,要实现I2C总线的控制时序,需要仔细分析各种器件的时序要求及特点,构建所有的基本操作,并按时序要求合理安排基本操作。
4结束语
应用上述的设计方法和电路,实现了MSP430与I2C总线器件的接口,很好的控制AT2402和LM92,达到了预期的目标。
实践证明该方法对实现I2C总线器件控制非常有效,而且使用该方法编制的程序代码量小,执行效率高。
该方法为MSP430与I2C总线接口提供了一种可行的方案。
温度传感器LM92的主要性能参数
2012-05-0814:
34 浏览:
340次
LM92是一个具有I2C串行总线,其精度为±0.33℃的温度传感器和温度窗口比较器。
LM92窗口比较器结构使温度控制系统的设计极为方便。
只要温度超出可编程窗口,漏极开路中断INT就变为有效;当温度超过可编程温度门限时温度报警输出T_CRIT_A变为有效。
INT输出可以用两种模式工作,即比较器模式或事件模式。
而T_CRIT_A输出只能以比较器模式工作。
主控制器可以编程LM92的窗口的上限和下限以及温度的临界门限。
另外,可编程的滞回和故障排队功能对最大程度减少虚假报警也是很有用的。
该传感器的加电缺省门限为:
THYST=2℃,TLOW=10℃,THIGH=64℃,T_CRIT=80℃.1.主要特点:
(1)I2C串行总线接口。
(2)窗口比较大大简化了ACPI温度监视和控制的设计。
(3)独立的漏极开路中断输出和临界温度关断。
(4)最小功耗的掉电模式。
(5)同一总线最多可连接四片LM92。
(6)12位带符号输出。
(7)电源电压:
2.7~5.5V
(8)温度测量精度:
最大±0.33℃(30℃);
最大±0.50℃(10~50℃);
最大±1.0℃(-10~85℃);
最大±1.25℃(125℃);
最大±1.5℃(-25~150℃)。
(9)电源电压:
350μA(典型);
625μA(最大);
(10)掉电模式电源电流:
5μA(最大);
(11)温度线性:
最大±0.5℃。
(12)分辨率:
±0.0625℃。
2.外型引脚图和引脚表
LM92的引脚图和引脚表如图1和表1所示。
LM92
2
1
3
4
5
6
7
8
SDA
SCL
T_CRIT_A
GND
+VS
A0
A1
INT
图1:
LM92的引脚图
引脚号
符号
描述
1
SDA
I2C串行总线的双向数据线。
漏极开路输出
2
SCL
I2C串行总线的时钟输入
3
T_CRIT_A
临界温度报警,漏极开路输出
4
GND
地
5
INT
中断,漏极开路输出
8
+VS
正电源
7,6
A0,A1
用户设置I2C地址输入
表1:
LM92的引脚表
3.内部原理方框图和温度误差曲线
LM92的内部原理方框图和温度误差曲线如图2、图3和图4所示。
图2:
LM92的内部原理方框图
图3:
+Vs=5V时LM92的温度误差曲线
图4:
+Vs=3.3V时LM92的温度误差曲线
4.技术参数
LM92的主要极限参数、温度/数字转换特性和技术参数如表2、表3和表4所示。
电源电压
-0.3~6.5V
任一引脚电压(对地)
-0.3~[(+Vs)+0.3]V
任一引脚输入电流
5mA
T_CRIT_A和INT输出吸收电流
10mA
T_CRIT_A和INT输出电压
6.5V
储存温度
-65~125℃
表1:
LM92的主要极限参数
参数
典型值
上/下限
单位
测试条件
温度误差
±0.33(最大)
℃
+Vs=3.3~4.0V;TA=30℃
±0.50(最大)
℃
+Vs=3.3~4.0V;TA=10~50℃
±1.00(最大)
℃
+Vs=3.3~4.0V;TA=10~85℃
±1.25(最大)
℃
+Vs=4.0V;TA=125℃
±1.50(最大)
℃
+Vs=4.0V;TA=25~150℃
分辨率
13(0.0625)
位(℃)
温度转换时间
500
1000
ms
静态电流
0.35
mA
I2C总线停机
0.35
0.6265(最大)
mA
I2C总线工作
5
μA
掉电模式
THYST缺省温度
2
℃
加电时
TLOW缺省温度
10
℃
加电时
THIGH缺省温度
64
℃
加电时
TC缺省温度
80
℃
加电时
表2:
LM92的温度/数字转换特性
参数
符号
典型值
上/下限值
单位
测试条件
SDA和SCL逻辑“1”输入电压
VIN
(1)
(+Vs)×0.7~(+Vs)+0.3
V
SDA和SCL逻辑“0”输入电压
VIN(0)
-0.3~(+Vs)×0.3
V
SDA和SCL数字输入滞回
VIN(HYST)
500
250(最小)
mV
A0和A1逻辑“1”输入电压
VIN
(1)
2.0~(+Vs)+0.3
V
A0和A1逻辑“0”输入电压
VIN(0)
-0.3~0.7
V
逻辑“1”输入电流
VIN
(1)
0.005
1.0(最大)
μA
VIN=+Vs
逻辑“0”输入电流
VIN(0)
-0.005
-1.0(最大)
μA
VIN=0V
所有数字输入电容
CIN
20
pF
高电平输出电流
IOH
10(最大)
μA
IOH=+Vs
低电平输出电压
IOL
0.4(最大)
V
IOL=3mA
T_CRIT_A输出饱和电压
0.8(最大)
IOUT=4.0mA
表3:
LM92的DC主要技术参数