摘 要:MSP430微控制器的诸多系列中都有内嵌的温度传感器。本文提出了一种基于这个传感器的温度报警系统的方案。然后分析了产生虚警和漏警的原因,并提出了减小这两种概率的办法,最后给出了以MSP430F449为例的C语言程序。
关键词:MSP430;温度传感器;告警
1. 系统的总体方案
MSP430微控制器MCU(Micro Controller Unit)是TI公司推出的一款具有丰富片上外围的强大功能的超低功耗16位混合信号处理器。其中包括一系列的器件,可以应用在不同的场合。MSP430与MCS-51的一个显著不同就是它在片内集成了模数转换(ADC)模块,使得A/D转换得以容易的实现。其中在MSP430的13x、14x、43x、44x系列器件中,都有内嵌的温度传感器。它的输出送入ADC12模块的通道10,然后对其进行A/D转换,进而可以测量芯片内的温度。在本告警系统中就是采用这个温度传感器的输出来实现温度的实时告警。
图1 基于MSP430F449内嵌温度传感器的温度告警系统原理图 本系统的基本方案是这样的:ADC12模块的通道10对芯片的温度进行测量,当测量温度高于或者低于预设告警值时,便通过I/O端口的输出来驱动LED,显示告警状态。芯片在整个过程中处于低功耗模式。本系统的原理比较简单,图1给出其简单的原理图。
2. 温度传感器的测温原理和过程
MSP430内嵌的温度传感器实际上就是一个输出电压随环境温度而变化的温度二极管,表1是它的一些基本电气特性。按照TI公司提供的资料,这个温度二极管输出的电压和对应的温度近似成简单的线性关系。所测温度可由的公式(1)求出: 其中,T:测量到温度,单位℃;
VST :ADC模块的通道10测量到的电压,单位mV;
V0℃ :0℃时传感器的输出的电压,单位mV;
TC SENSOR :传感器的传感电压,即输出电压随温度的变化情况,单位mV/℃。数值上等于温度每升高1℃,增加的输出电压。
对于12位的ADC模块,VST可以通过下面的A/D转换公式求得: 其中,ADC12CH10:通道10所测得的温度传感器的12位A/D值;
VR+:正参考电压,可以取内部参考VREF+ 、AVcc或者外部参考VeREF+ ,单位mV;
VR-:负参考电压,单位mV。通常取VR-=AVss,在这种情况下,求VST的公式进一步简化为: 由(1)式和(3)式可见,把A/D转换所得的结果VST经过简单转换就可得到对应的温度。 表1:MSP430微控制器温度传感器电气特性表
|