MSP430对于很多传感器领域的工程师来说,不会陌生。MSP430微控制器的诸多系列中都有内嵌的温度传感器。本文将提出一种利用此传感器温度报警系统的设计方案。
首先先简单了解一下MSP430微控制器。此款微处理器是一款具有丰富片上外围的强大功能的超低功耗16位混合信号处理器,其中包括一系列的器件,可以应用在不同的场合。MSP430与MCS-51的一个显著不同就是它在片内集成了模数转换(ADC)模块,使得A/D转换得以容易的实现,其中在MSP430的13x、14x、43x、44x系列器件中,都有内嵌的温度传感器。它的输出送入ADC12模块的通道10,然后对其进行A/D转换,进而可以测量芯片内的温度。在本告警系统中就是采用这个温度传感器的输出来实现温度的实时告警。
那么,如何利用MSP430?其方案又会是怎样的呢?其实ADC12模块的通道10对芯片的温度进行测量,当测量温度高于或者低于预设告警值时,便通过I/O端口的输出来驱动LED,显示告警状态。芯片在整个过程中处于低功耗模式。本系统的原理比较简单,上图给出了相应的原理图。
其次,MSP430内嵌的温度传感器实际上就是一个输出电压随环境温度而变化的温度二极管,下面的表很直观的显示出了它的一些基本电气特性。按照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的公式进一步简化为: