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