1 概述
隨著微處理器的發(fā)展,越來越多的單片機向著小型,、低成本,、低功耗、高集成度的方向發(fā)展,。NXP(原Philips半導體)公司推出了集成溫度傳感器的芯片P89LPC92X1系列微型處理器,,進一步為系統(tǒng)設計帶來方便。
P89LPC9251(簡稱LPC9251)是P89LPC92X1系列的一種,。它是一款高性能數(shù)字微控制器,,包括一個內(nèi)部溫度傳感器。該傳感器可用來校正與溫度相關的信號,,或作為一個獨立的溫度計,。在嵌入式系統(tǒng)設計中,使用LPC9251不僅可以省去如DSl8820,、TMP04等常用的溫度傳感器件,,同時可以節(jié)省系統(tǒng)設計的I/O口資源,以及減小布板PCB的尺寸空間,,進一步降低了系統(tǒng)設計的成本,。
LPC9251有2個模數(shù)轉(zhuǎn)換模塊:ADC0和ADCl。ADCl是一個8位,、4通道復用逐次逼近A/D轉(zhuǎn)換器,。ADCO是專門用于片上寬溫度范圍的溫度傳感器,其溫度測量的范圍是-40℃~+85℃,,在該工作溫度范圍內(nèi)輸出分辨率近似為+11mV/℃,。其性能遠遠高于一般的溫度傳感器,如TMP04的測量范圍,,適宜于中低溫的測量,,因此LPC9251溫度傳感器可以在低溫環(huán)境的系統(tǒng)中可靠工作。
2 溫度傳感器
2.1 ADC功能模塊
片上溫度傳感器集成在ADC0功能模塊中,,通過Anin03通道測量溫度傳感器Vsen,,其他3個通道Anin00、Aninol和Anin02暫未使用,。溫度傳感器和內(nèi)部參考電壓Vref(bg)(1.23 V±O.123 V)引腳一起復用在相同的輸入通道Anin03,。通過配置CONTROL LOGIC(控制邏輯單元)中TPS-CON寄存器的TSELl和TSELO位來選擇溫度傳感器還是內(nèi)部參考電壓。
2.2 溫度傳感器使用步驟
為了準確地測量溫度值,,必須首先測量內(nèi)部參考電壓Vref(bg)的電源電壓,。溫度傳感器的電壓計算公式如下:
在式(1)中,Aref(bg)是Vref的A/D轉(zhuǎn)換的結(jié)果,,Asen是Vsen的A/D轉(zhuǎn)換的結(jié)果,。該溫度傳感器的計算公式如下:
溫度傳感器的使用步驟如下:
?、倥渲肨SEL1和TSEL0為“01”,選擇內(nèi)部參考電壓,;
②使用ADC獲得Aref轉(zhuǎn)換結(jié)果,;
?、叟渲肨SELl和TSELO為“10”,選擇溫度傳感器,;
?、艿却辽?00μs,使傳感器穩(wěn)定,,然后使用ADC測量Asen,;
⑤通過公式(1)計算Vsen,;
?、尥ㄟ^公式(2)計算溫度的數(shù)值。
2.3 代碼例程
本代碼將讀出溫度傳感器的數(shù)值,,并將溫度的計算結(jié)果發(fā)送給UARTO,。
ADCO的配置方法如下:
根據(jù)前述溫度傳感器的測量步驟,應當首先測量內(nèi)部參考電壓Vref(bg),。內(nèi)部參考電壓測量程序如下:
每次配置TSELl和TSEL0為“10”,,用來選擇溫度傳感器。在獲取ADC轉(zhuǎn)換結(jié)果前必須固定地延時200μs,,用來獲取穩(wěn)定的ADC轉(zhuǎn)換結(jié)果,。溫度傳感器的計量程序如下:
2.3.1硬件環(huán)境配置
硬件電路原理如圖1所示。LPC9251的供電電壓采用3.3 V供電,,可以通過MAX3232輸出給串行口或者74LVC244輸出點亮8個LED來實時觀測溫度傳感器的數(shù)值,。PC軟件終端使用的是Tera Term,用于接收LPC9251串行口發(fā)出的溫度數(shù)據(jù),。該設置如圖2所示,。
2.3.2 使用LPC9251輸出固定格式的溫度數(shù)值
程序中以固定的間隔測量溫度傳感器的溫度數(shù)值,并將計量的溫度結(jié)果發(fā)送給UARTO,,然后在PC機上顯示測量結(jié)果,,如圖3所示。
3 結(jié)論
實際測最1000個溫度數(shù)值,,在工作溫度范圍內(nèi)100個離散溫度點讀數(shù)的最大標準偏差僅為2.5個ADC最小分辨率或O.25%誤差,,說明LPC-925l的片上溫度傳感器具有極佳的重復性。由此看來,,LPC9251的重復性比市場上大多數(shù)性能出色的溫度傳感器還好,。使用LPC9251用于片上溫度監(jiān)控,,具有體積小、功耗低,、精度高,、易于實現(xiàn)等優(yōu)點,可以比較容易地實現(xiàn)系統(tǒng)溫度監(jiān)測功能,,有一定的推廣價值,。