花了一天的時(shí)間來細(xì)看MSP430F1611的AD溫度傳感器的寄存器的編程及使用.晚上1點(diǎn)了,編寫并修改N個(gè)程序才發(fā)現(xiàn)AD溫度傳感器的精度太不高了.相差太遠(yuǎn).而且得到值后的算法難以實(shí)現(xiàn). 對于AD溫度傳感器使用到AD12及其最大值為4095. 值的范圍0~4095共4096個(gè)數(shù).在datasheet中看到最大偏差20度了.真的有點(diǎn)... 況且是溫度范圍分工業(yè)級與民用級.不好認(rèn)定溫度的范圍... 所以要用溫度傳感器還是用一總線結(jié)構(gòu)的好. 以下的資料供給參考.
參考文獻(xiàn):<<基于MSP430內(nèi)嵌溫度傳感器的溫度告警系統(tǒng)>> 作者:趙陸文 屈德新
MSP430內(nèi)嵌的溫度傳感器實(shí)際上就是一個(gè)輸出電壓隨環(huán)境溫度而變化的溫度二極管,表1是它的一些基本電氣特性。按照TI公司提供的資料,這個(gè)溫度二極管輸出的電壓和對應(yīng)的溫度近似成簡單的線性關(guān)系。所測溫度可由公式(1)求出:
T=(VST-V0℃)/TCSENSOR (1)
其中,T:測量溫度,單位℃;
VST :ADC模塊的通道10測量到的電壓,單位mV;
V0℃:0℃時(shí)傳感器的輸出的電壓,單位mV;
TCSENSOR:傳感器的傳感電壓,即輸出電壓隨溫度的變化情況,單位mV/℃。數(shù)值上等于溫度每升高1℃,增加的輸出電壓。
對于12位的ADC模塊,VST可以通過下面的A/D轉(zhuǎn)換公式求得:
VST=ADC12CH10/(212-1)×(VR+-VR-)+VR-
(2) 其中,ADC12CH10:通道10所測得的溫度傳感器的12位A/D值;
VR+:正參考電壓,可以取內(nèi)部參考VREF+ 、AVcc或者外部參考VeREF+,單位mV;
VR-:負(fù)參考電壓,單位mV。通常取VR-=AVss,在這種情況下,求VST的公式進(jìn)一步簡化為:
VST=ADC12CH10/(212-1)×VR+
(3) 由(1)式和(3)式可見,把A/D轉(zhuǎn)換所得的結(jié)果VST經(jīng)過簡單轉(zhuǎn)換就可得到對應(yīng)的溫度。
表1:MSP430微控制器溫度傳感器電氣特性表
參數(shù) 測試條件 最小值 典型值 最大值單位
V0℃ Vcc= 2.2V/3V 986 - 5% 986 986 + 5% mV
TCSENSOR Vcc= 2.2V/3V,TA=0℃ 3.55 -3% 3.55 3.55 +3% mV/℃
tSENSOR Vcc= 2.2V/3V 30 μs