基于A(yíng)RM7TDMI-S微處理器LPC2142的熱敏電阻溫度計(jì)的設(shè)計(jì)
傳統(tǒng)的熱敏電阻溫度計(jì)硬件上大多采用普通單片機(jī)(MCS-51系列)+A/D轉(zhuǎn)換器以及LED顯示模塊構(gòu)成,分立元件多、功耗大、設(shè)計(jì)復(fù)雜且難以調(diào)試;軟件上也多采用冗長(zhǎng)繁瑣的匯編語(yǔ)言來(lái)實(shí)現(xiàn),設(shè)計(jì)效率低、可移植性差、性能難以保證。
目前,嵌入式系統(tǒng)的應(yīng)用已經(jīng)進(jìn)入到一個(gè)高、低端并行發(fā)展的階段,其標(biāo)志就是32位微控制器的發(fā)展。ARM(Advanced RISC Machines)是嵌入式系統(tǒng)應(yīng)用比較廣泛的一種32位微處理器核,具有體積小、功耗低、集成度高、硬件調(diào)試方便和可移植操作系統(tǒng)等優(yōu)點(diǎn)。為智能儀器向輕便化、智能化、微機(jī)一體化等方向發(fā)展提供了必要條件。
由于電子技術(shù)的飛速發(fā)展,電子元器件的性?xún)r(jià)比不斷得到提高。本文采用32位的ARM7 TDMI-S微處理器核LPC2142為控制核心,利用其內(nèi)部自帶的A/D轉(zhuǎn)換器和SPI接口來(lái)控制LED顯示驅(qū)動(dòng)器MC14489進(jìn)行溫度的實(shí)時(shí)顯示。
2 熱敏電阻溫度的轉(zhuǎn)換原理
熱敏電阻是溫度傳感器的一種,他由仿陶瓷半導(dǎo)體組成。熱敏電阻(NTC)不同于普通的電阻,他具有負(fù)的電阻溫度特性,即當(dāng)溫度升高時(shí),其電阻值減小。圖1為熱敏電阻的特性曲線(xiàn)。 熱敏電阻的阻值~溫度特性曲線(xiàn)是一條指數(shù)曲線(xiàn),非線(xiàn)性較大,因此在使用時(shí)要進(jìn)行線(xiàn)性化處理。線(xiàn)性化處理雖然能夠改善熱敏電阻的特性曲線(xiàn),但是比較復(fù)雜。為此,在要求不高的一般應(yīng)用中,常做出在一定的溫度范圍內(nèi)溫度與阻值成線(xiàn)性關(guān)系的假定,以簡(jiǎn)化計(jì)算。使用熱敏電阻是為了感知溫度,給熱敏電阻通以恒定的電流,電阻兩端就可測(cè)到一個(gè)電壓,然后通過(guò)公式下面的公式可求得溫度:
T為被測(cè)溫度;T0為與熱敏電阻特性有關(guān)的溫度參數(shù);K為與熱敏電阻特性有關(guān)的系數(shù);VT為熱敏電阻兩端的電壓。
根據(jù)這一公式,如果能測(cè)得熱敏電阻兩端的電壓,再知道參數(shù)T0和K,則可以計(jì)算出熱敏電阻的環(huán)境溫度,也就是被測(cè)的溫度,這樣就把電阻隨溫度的變化關(guān)系轉(zhuǎn)化為電壓隨溫度變化的關(guān)系了。數(shù)字式電阻溫度計(jì)設(shè)計(jì)的主要工作,就是把熱敏電阻兩端電壓值經(jīng)過(guò)A/D轉(zhuǎn)換成數(shù)字量送到單片機(jī)中,然后通過(guò)軟件方法計(jì)算出溫度值,再進(jìn)行顯示、打印等處理。
3硬件電路設(shè)計(jì)
在電子技術(shù)迅猛發(fā)展的今天,一些功能強(qiáng)大的元器件價(jià)格不斷下降,使其性?xún)r(jià)比不斷得到提高,應(yīng)用領(lǐng)域越來(lái)越廣泛。本文就是采用32位的ARM微處理器核LPC2142代替?zhèn)鹘y(tǒng)的805l單片機(jī)為控制核心,進(jìn)行A/D轉(zhuǎn)換和溫度實(shí)時(shí)顯示。圖2為整個(gè)系統(tǒng)的結(jié)構(gòu)原理圖。
熱敏電阻NTC串聯(lián)上一個(gè)普通電阻R,再接+5V電源,取RT兩端電壓,并送入微控制器LPC2142的AINl(P0.28引腳)通道進(jìn)行A/D轉(zhuǎn)換。轉(zhuǎn)換啟動(dòng)方式以及轉(zhuǎn)換通道的選擇可通過(guò)設(shè)置ADC控制寄存器ADC0DR來(lái)實(shí)現(xiàn)。轉(zhuǎn)換的結(jié)果通過(guò)一個(gè)同步、全雙工串行SPI接口輸出到LED顯示驅(qū)動(dòng)器MCl4489進(jìn)行溫度的實(shí)時(shí)顯示。
3.1 ARM微控制器LPC2142簡(jiǎn)介
ARM 7 TDMI-S核是通用的32位微處理器核,采用馮.諾依曼結(jié)構(gòu),具有高性能和低功耗特性。ARM結(jié)構(gòu)是基于精簡(jiǎn)指令集計(jì)算機(jī)(RISC)原理設(shè)計(jì)的,指令集和相關(guān)的譯碼機(jī)制比復(fù)雜指令集計(jì)算機(jī)要簡(jiǎn)單得多。.ARM 7 TDMI-S處理器使用流水線(xiàn)技術(shù),處理和存儲(chǔ)系統(tǒng)的所有部分都可以連續(xù)工作。這樣,使用一個(gè)小的、廉價(jià)的處理器核就可以非常容易地實(shí)現(xiàn)很高的吞吐量和實(shí)時(shí)的中斷響應(yīng)。
LPC2142是基于一個(gè)支持實(shí)時(shí)仿真和嵌入式跟蹤的3Z/16位ARM7TDMI-s CPU的微控制器,內(nèi)嵌有64 kB的高速FLASH存儲(chǔ)器和16 kB的片內(nèi)SRAM。128位寬度的存儲(chǔ)器接口和獨(dú)特的加速器接口使32位代碼能夠在最高時(shí)鐘頻率下運(yùn)行,對(duì)代碼規(guī)模有嚴(yán)格控制的應(yīng)用可使用16位Thumb模式將代碼規(guī)模降低超過(guò)30%,而其性能的損失卻很小。
LPC2142內(nèi)部帶有一個(gè)10位逐次逼近式A/D轉(zhuǎn)換器,其主要特性為:
(1)6個(gè)引腳復(fù)用為輸入腳;
(2)掉電模式;
(3)測(cè)量范圍O V~Vref通常為3 V,不超過(guò)VDDA電壓);
(4)每個(gè)轉(zhuǎn)換器包含一個(gè)可編程分頻器,可將時(shí)鐘調(diào)整至逐次逼近轉(zhuǎn)換所需的4.5 MHz(最大)。這樣,10位轉(zhuǎn)換時(shí)間大于或等于4.55μs;
(5)一個(gè)或多個(gè)輸入的突發(fā)轉(zhuǎn)換模式;
(6)可選擇由直接啟動(dòng)、輸入跳變或定時(shí)器匹配信號(hào)觸發(fā)轉(zhuǎn)換;
LPC2142內(nèi)部還擁有一個(gè)硬件SPI(Serial Peripheral Interface)接口。他是一個(gè)同步、全雙工串行接口,最大數(shù)據(jù)位速率為時(shí)鐘速率的1/8,可配置為主機(jī)或者從機(jī)。
3.2 LED顯示驅(qū)動(dòng)管理芯片MC14489
MCl4489是美國(guó)MOTOROLA公司生產(chǎn)的串行接口LED顯示驅(qū)動(dòng)管理芯片。其輸入端與系統(tǒng)主CPU之間只有3條I/0口線(xiàn)相聯(lián),用來(lái)接收待顯示的串行數(shù)據(jù)。輸出端既可以直接驅(qū)動(dòng)七段LED顯示器,也可以驅(qū)動(dòng)指示燈。
MCl4489內(nèi)部集成了數(shù)據(jù)接收/譯碼/掃描輸出/驅(qū)動(dòng)顯示所需的全部電路,僅需要外接一具電流設(shè)定電阻就可以對(duì)LED的顯示高亮度進(jìn)行控制。每個(gè)MC14489芯片可以用以下任意一種顯示方式進(jìn)行顯示:5位LED數(shù)字加小數(shù)點(diǎn)顯示; 4位半數(shù)字加小數(shù)點(diǎn)帶符號(hào)顯示;25支指示燈顯示;5位半數(shù)字顯示。該芯片內(nèi)含的譯碼器電路可輸出七段格式的數(shù)字0~9,16進(jìn)制的字母A~F以及15個(gè)字母和符號(hào)。
圖2是用單片MC14489構(gòu)成一個(gè)5位LED顯示器的例子。由圖可知,用MC14489構(gòu)成顯示電路既不用加任何限流電阻,也不用附加反相或驅(qū)動(dòng)電路,電路設(shè)計(jì)非常簡(jiǎn)捷。
MC14489芯片采用特殊的設(shè)計(jì)技術(shù),使其電源引腳在大電流工作的情況下仍具有最低的尖峰和較小的EMI(電磁交互干擾)。
4系統(tǒng)軟件設(shè)計(jì)
由前面熱敏電阻溫度轉(zhuǎn)換原理的簡(jiǎn)述可知:熱敏電阻特性曲線(xiàn)是一條指數(shù)曲線(xiàn),非線(xiàn)性度較大,又由于非線(xiàn)性處理比較復(fù)雜,在本文設(shè)計(jì)要求不是很高的情況下可以做以簡(jiǎn)化來(lái)處理。
4.1程序設(shè)計(jì)流程圖
限于篇幅,本文只給出程序設(shè)計(jì)的流程圖。整個(gè)程序的流程圖如圖3所示。
4.2溫度計(jì)算程序
在公式T=T0-KVT中,系數(shù)值K是一個(gè)很小的數(shù)。為了方便計(jì)算,取擴(kuò)大256倍后的K值和VT作乘積,即256×K×VT。相乘后,對(duì)乘積只取高8位舍棄低8位,就可以抵消系數(shù)值K擴(kuò)大256倍的影響,得到正確的結(jié)果。
此外,從圖1中熱敏電阻的阻值一溫度特性曲線(xiàn)可以看出,在+10~150℃的溫度范圍內(nèi),阻值與溫度的關(guān)系線(xiàn)性度較好。通常就把這個(gè)溫度范圍作為有效溫度范圍。當(dāng)溫度超出這個(gè)范圍時(shí),用數(shù)碼管全部顯示F作為標(biāo)志。
由于有效溫度范圍沒(méi)有超過(guò)150℃,所以溫度顯示用3位數(shù)碼管,其顯示格式為:AD XXX其中,XXX為溫度值,圖2中的LED1和LED2只顯示字符A和D,后面三只數(shù)碼管LED3,LED4和LED5顯示溫度值。
5 結(jié) 語(yǔ)
采用SPI串行接口和MCl4489管理芯片來(lái)構(gòu)成智能化儀器儀表的顯示驅(qū)動(dòng)電路可使系統(tǒng)的性能價(jià)格比獲得大幅度的提高。本文在要求精度不是很高的情況下,將熱敏電阻的特性做了簡(jiǎn)單化線(xiàn)形處理,并利用本文的設(shè)計(jì)電路對(duì)+10~150℃范圍內(nèi)的溫度進(jìn)行了測(cè)量,達(dá)到了良好效果。在整個(gè)設(shè)計(jì)過(guò)程中需要注意的問(wèn)題有以下幾點(diǎn):
(1)LPC2142微控制器具有獨(dú)立的模擬電源引腳VDDA,USSA,為了降低噪聲和出錯(cuò)幾率,模擬電源與數(shù)字電源應(yīng)當(dāng)用一個(gè)10μH的電感進(jìn)行隔離。
(2)A/D轉(zhuǎn)換參考電壓Vref的選擇要滿(mǎn)足測(cè)量精度的需要。如果想提高A/D轉(zhuǎn)換精度,一般均采用基準(zhǔn)源芯片來(lái)提供參考電壓。TL431是一個(gè)具有良好熱穩(wěn)定性能的、低噪聲的三端可調(diào)分流基準(zhǔn)源(溫度系數(shù)為30×10-6/℃)。本文就是采用該基準(zhǔn)源芯片來(lái)提供參考電壓。
(3)由于本系統(tǒng)中LPC2142微控制器作為SPI主機(jī)來(lái)使用,故其P0.7引腳SSEL要接一個(gè)10 kΩ的上拉電阻。
評(píng)論