1 概述
随着微处理器的发展,越来越多的单片机向着小型、低成本、低功耗、高集成度的方向发展。NXP(原Philips半导体)公司推出了集成温度传感器的芯片P89LPC92X1系列微型处理器,进一步为系统设计带来方便。
P89LPC9251(简称LPC9251)是P89LPC92X1系列的一种。它是一款高性能数字微控制器,包括一个内部温度传感器。该传感器可用来校正与温度相关的信号,或作为一个独立的温度计。在嵌入式系统设计中,使用LPC9251不仅可以省去如DSl8820、TMP04等常用的温度传感器件,同时可以节省系统设计的I/O口资源,以及减小布板PCB的尺寸空间,进一步降低了系统设计的成本。
LPC9251有2个模数转换模块:ADC0和ADCl。ADCl是一个8位、4通道复用逐次逼近A/D转换器。ADCO是专门用于片上宽温度范围的温度传感器,其温度测量的范围是-40℃~+85℃,在该工作温度范围内输出分辨率近似为+11mV/℃。其性能远远高于一般的温度传感器,如TMP04的测量范围,适宜于中低温的测量,因此LPC9251温度传感器可以在低温环境的系统中可靠工作。
2 温度传感器
2.1 ADC功能模块
片上温度传感器集成在ADC0功能模块中,通过Anin03通道测量温度传感器Vsen,其他3个通道Anin00、Aninol和Anin02暂未使用。温度传感器和内部参考电压Vref(bg)(1.23 V±O.123 V)引脚一起复用在相同的输入通道Anin03。通过配置CONTROL LOGIC(控制逻辑单元)中TPS-CON寄存器的TSELl和TSELO位来选择温度传感器还是内部参考电压。
2.2 温度传感器使用步骤
为了准确地测量温度值,必须首先测量内部参考电压Vref(bg)的电源电压。温度传感器的电压计算公式如下:
在式(1)中,Aref(bg)是Vref的A/D转换的结果,Asen是Vsen的A/D转换的结果。该温度传感器的计算公式如下:
温度传感器的使用步骤如下:
①配置TSEL1和TSEL0为“01”,选择内部参考电压;
②使用ADC获得Aref转换结果;
③配置TSELl和TSELO为“10”,选择温度传感器;
④等待至少200μs,使传感器稳定,然后使用ADC测量Asen;
⑤通过公式(1)计算Vsen;
⑥通过公式(2)计算温度的数值。