由于電子技術(shù)的飛速發(fā)展,電子元器件的性價(jià)比不斷得到提高。本文采用32位的ARM7" title="ARM7">ARM7 TDMI-S微處理器核LPC2142" title="LPC2142">LPC2142為控制核心,利用其內(nèi)部自帶的A/D轉(zhuǎn)換器和SPI接口來控制LED顯示驅(qū)動(dòng)器MC14489進(jìn)行溫度的實(shí)時(shí)顯示。
2 熱敏電阻" title="熱敏電阻">熱敏電阻溫度的轉(zhuǎn)換原理
熱敏電阻是溫度傳感器的一種,他由仿陶瓷半導(dǎo)體組成。熱敏電阻(NTC)不同于普通的電阻,他具有負(fù)的電阻溫度特性,即當(dāng)溫度升高時(shí),其電阻值減小。圖1為熱敏電阻的特性曲線。 熱敏電阻的阻值~溫度特性曲線是一條指數(shù)曲線,非線性較大,因此在使用時(shí)要進(jìn)行線性化處理。線性化處理雖然能夠改善熱敏電阻的特性曲線,但是比較復(fù)雜。為此,在要求不高的一般應(yīng)用中,常做出在一定的溫度范圍內(nèi)溫度與阻值成線性關(guān)系的假定,以簡(jiǎn)化計(jì)算。使用熱敏電阻是為了感知溫度,給熱敏電阻通以恒定的電流,電阻兩端就可測(cè)到一個(gè)電壓,然后通過公式下面的公式可求得溫度:
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ì)" title="溫度計(jì)">溫度計(jì)設(shè)計(jì)的主要工作,就是把熱敏電阻兩端電壓值經(jīng)過A/D轉(zhuǎn)換成數(shù)字量送到單片機(jī)中,然后通過軟件方法計(jì)算出溫度值,再進(jìn)行顯示、打印等處理。
3 硬件電路設(shè)計(jì)
在電子技術(shù)迅猛發(fā)展的今天,一些功能強(qiáng)大的元器件價(jià)格不斷下降,使其性價(jià)比不斷得到提高,應(yīng)用領(lǐng)域越來越廣泛。本文就是采用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)換通道的選擇可通過設(shè)置ADC控制寄存器ADC0DR來實(shí)現(xiàn)。轉(zhuǎn)換的結(jié)果通過一個(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處理器使用流水線技術(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ī)模降低超過30%,而其性能的損失卻很小。
LPC2142內(nèi)部帶有一個(gè)10位逐次逼近式A/D轉(zhuǎn)換器,其主要特性為:
(1)6個(gè)引腳復(fù)用為輸入腳;
(2)掉電模式;
(3)測(cè)量范圍O V~Vref通常為3 V,不超過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口線相聯(lián),用來接收待顯示的串行數(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)述可知:熱敏電阻特性曲線是一條指數(shù)曲線,非線性度較大,又由于非線性處理比較復(fù)雜,在本文設(shè)計(jì)要求不是很高的情況下可以做以簡(jiǎn)化來處理。
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中熱敏電阻的阻值一溫度特性曲線可以看出,在+10~150℃的溫度范圍內(nèi),阻值與溫度的關(guān)系線性度較好。通常就把這個(gè)溫度范圍作為有效溫度范圍。當(dāng)溫度超出這個(gè)范圍時(shí),用數(shù)碼管全部顯示F作為標(biāo)志。
由于有效溫度范圍沒有超過150℃,所以溫度顯示用3位數(shù)碼管,其顯示格式為:AD XXX其中,XXX為溫度值,圖2中的LED1和LED2只顯示字符A和D,后面三只數(shù)碼管LED3,LED4和LED5顯示溫度值。
5 結(jié) 語
采用SPI串行接口和MCl4489管理芯片來構(gòu)成智能化儀器儀表的顯示驅(qū)動(dòng)電路可使系統(tǒng)的性能價(jià)格比獲得大幅度的提高。本文在要求精度不是很高的情況下,將熱敏電阻的特性做了簡(jiǎn)單化線形處理,并利用本文的設(shè)計(jì)電路對(duì)+10~150℃范圍內(nèi)的溫度進(jìn)行了測(cè)量,達(dá)到了良好效果。在整個(gè)設(shè)計(jì)過程中需要注意的問題有以下幾點(diǎn):
(1)LPC2142微控制器具有獨(dú)立的模擬電源引腳VDDA,USSA,為了降低噪聲和出錯(cuò)幾率,模擬電源與數(shù)字電源應(yīng)當(dāng)用一個(gè)10μH的電感進(jìn)行隔離。
(2)A/D轉(zhuǎn)換參考電壓Vref的選擇要滿足測(cè)量精度的需要。如果想提高A/D轉(zhuǎn)換精度,一般均采用基準(zhǔn)源芯片來提供參考電壓。TL431是一個(gè)具有良好熱穩(wěn)定性能的、低噪聲的三端可調(diào)分流基準(zhǔn)源(溫度系數(shù)為30×10-6/℃)。本文就是采用該基準(zhǔn)源芯片來提供參考電壓。
(3)由于本系統(tǒng)中LPC2142微控制器作為SPI主機(jī)來使用,故其P0.7引腳SSEL要接一個(gè)10 kΩ的上拉電阻。