花了一天的時(shí)間來細(xì)看MSP430F1611的AD溫度傳感器的寄存器的編程及使用.晚上1點(diǎn)了,編寫并修改N個(gè)程序才發(fā)現(xiàn)AD溫度傳感器的精度太不高了.相差太遠(yuǎn).而且得到值后的算法難以實(shí)現(xiàn). 對(duì)于AD溫度傳感器使用到AD12及其最大值為4095. 值的范圍0~4095共4096個(gè)數(shù).在datasheet中看到最大偏差20度了.真的有點(diǎn)... 況且是溫度范圍分工業(yè)級(jí)與民用級(jí).不好認(rèn)定溫度的范圍... 所以要用溫度傳感器還是用一總線結(jié)構(gòu)的好. 以下的資料供給參考.
COLOR=blue]參考文獻(xiàn):<<基于MSP430內(nèi)嵌溫度傳感器的溫度告警系統(tǒng)>> 作者:趙陸文 屈德新[/COLOR]
MSP430內(nèi)嵌的溫度傳感器實(shí)際上就是一個(gè)輸出電壓隨環(huán)境溫度而變化的溫度二極管,表1是它的一些基本電氣特性。按照TI公司提供的資料,這個(gè)溫度二極管輸出的電壓和對(duì)應(yīng)的溫度近似成簡(jiǎn)單的線性關(guān)系。所測(cè)溫度可由公式(1)求出:
T=(VST-V0℃)/TCSENSOR (1)
其中,T:測(cè)量溫度,單位℃;
VST :ADC模塊的通道10測(cè)量到的電壓,單位mV;
V0℃:0℃時(shí)傳感器的輸出的電壓,單位mV;
TCSENSOR:傳感器的傳感電壓,即輸出電壓隨溫度的變化情況,單位mV/℃。數(shù)值上等于溫度每升高1℃,增加的輸出電壓。
對(duì)于12位的ADC模塊,VST可以通過下面的A/D轉(zhuǎn)換公式求得:
VST=ADC12CH10/(212-1)×(VR+-VR-)+VR- (2)
其中,ADC12CH10:通道10所測(cè)得的溫度傳感器的12位A/D值;
VR+:正參考電壓,可以取內(nèi)部參考VREF+ 、AVcc或者外部參考VeREF+,單位mV;
VR-:負(fù)參考電壓,單位mV。通常取VR-=AVss,在這種情況下,求VST的公式進(jìn)一步簡(jiǎn)化為:
VST=ADC12CH10/(212-1)×VR+ (3)
由(1)式和(3)式可見,把A/D轉(zhuǎn)換所得的結(jié)果VST經(jīng)過簡(jiǎn)單轉(zhuǎn)換就可得到對(duì)應(yīng)的溫度。
表1:MSP430微控制器溫度傳感器電氣特性表
參數(shù) 測(cè)試條件 最小值 典型值 最大值單位
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
誤差及減小辦法
很容易發(fā)現(xiàn)這個(gè)溫度傳感器具有較大的測(cè)量誤差,實(shí)驗(yàn)也證明了這一點(diǎn)。這將導(dǎo)致較大的虛警概率或漏警概率。因此要想實(shí)用它,必須要進(jìn)行誤差校正,以減小這兩個(gè)概率。產(chǎn)生誤差的原因主要有以下幾個(gè)方面:
● 0℃基準(zhǔn)參考電壓誤差
由表1可見,V0℃的最大誤差可達(dá)5%。所以由它導(dǎo)致的最大誤差為:(986×5%)÷3.55≈14℃。會(huì)導(dǎo)致很大的虛警或者漏警概率,所以必須要對(duì)它進(jìn)行校準(zhǔn)。
用TRT表示室溫,VRT表示室溫下溫度傳感器的輸出電壓,則由公式(1)可得:
TRT=(VRT-V0℃)/TCSENSOR (4)
由式(1)減式(4)可得:
T=(VST-VRT)/TCSENSOR+TRT (5)
因?yàn)镸SP430是低功耗的,所以在開機(jī)的一段時(shí)間內(nèi),它的片內(nèi)外溫度可以認(rèn)為是一樣的。因此我們可以用溫度計(jì)測(cè)量出開機(jī)時(shí)的室溫TRT,將開機(jī)時(shí)測(cè)得的VST作為VRT,然后將VRT和TRT代入(5)式進(jìn)行溫度計(jì)算。這樣就消除(至少是減小)了由V0℃不準(zhǔn)確而導(dǎo)致的測(cè)量誤差,從而減小了虛警和漏警概率。
● 傳感電壓誤差
對(duì)于工業(yè)級(jí)標(biāo)準(zhǔn),工作溫度范圍為:-20℃ ~ +85℃。而對(duì)于一個(gè)實(shí)際的系統(tǒng),絕大多數(shù)時(shí)間工作在0℃~+50℃之間。因此,用V0℃做基準(zhǔn)參考會(huì)導(dǎo)致較大的積累誤差。從表1可以看出,由傳感電壓引入的最大誤差約為3%。如果待測(cè)溫度為50℃,用0℃作參考,則最大誤差為:(50-0)×3%=1.5℃;而用室溫(假定TRT = 25℃)作參考,則誤差為:(50-25)×3%=0.75℃,比用0℃作參考時(shí)減小了一半。因此采用室溫作為溫度參考,是減小積累誤差的一個(gè)較好的方案。不過由傳感電壓引入的誤差相對(duì)于來說還是比較小的。
● A/D轉(zhuǎn)換引入的誤差
由芯片資料可見,對(duì)于12位A/D,因漏電流引入的誤差1LSB,這個(gè)誤差可以忽略不計(jì)。但是由于布線技術(shù)、電源和地線等的不良而導(dǎo)致的電源線、地線上的紋波和噪聲脈沖對(duì)轉(zhuǎn)換結(jié)果的影響卻不能不考慮。如圖1所示,如果數(shù)字地DVss和模擬地AVss是分開供電的,則可以在這兩點(diǎn)之間接入反相并接的二極管對(duì),以消除700mV的電壓差。另外如果參考電壓(VR+ - VR-)較小,那么紋波的影響會(huì)變得更明顯,從而影響轉(zhuǎn)換精度。因此,電源的清潔無噪聲對(duì)A/D轉(zhuǎn)換精度有很大的影響。當(dāng)然在可能的情況下還是要盡量采用較大的(VR+-VR-)。還有就是盡量不要采用內(nèi)部參考,內(nèi)部參考不太穩(wěn)定,會(huì)影響轉(zhuǎn)換的精度。仔細(xì)安排各自接地點(diǎn)的旁路電容對(duì)于減小噪聲的影響也是很有用的。圖1給出了一種典型的退耦電容配置方式,在芯片的電源以及外接參考電壓(圖中沒有畫出)的引腳上并接一個(gè)10mF的鉭電容和一個(gè)0.1mF的瓷片電容能夠較好的起到抑制噪聲的作用。
采用內(nèi)嵌溫度傳感器測(cè)量溫度,要受到很多方面的影響。除了上面討論的方法,還有減小誤差的一般方法,比如多次測(cè)量取平均等。所以要綜合考慮各方面的因素,才能取得滿意的效果。