基于ARM7和LM35的溫度采集系統(tǒng)設(shè)計
摘要:為了提高測量溫度的實時性及準確性,采用了基于ARM7的溫度測試系統(tǒng),該系統(tǒng)包括傳感器LM35的測溫部分、S3C44BOX內(nèi)置的A/D轉(zhuǎn)換部分等,并用Protel設(shè)計此系統(tǒng)的電路,完成軟件設(shè)計,對實驗結(jié)果進行了分析比較。結(jié)果表明,此系統(tǒng)具有較強的實用性及拓展性。
關(guān)鍵詞:ARM;嵌入式系統(tǒng);LM35;溫度采集
0 引言
目前廣泛應(yīng)用的溫度采集設(shè)備,其溫控系統(tǒng)的內(nèi)部芯片普遍采用單片機,其缺點是采集終端硬件功能簡單、芯片性能低、軟件設(shè)計復(fù)雜、任務(wù)調(diào)度麻煩、系統(tǒng)升級困難等。隨著當(dāng)今社會科技的發(fā)展,人們對溫度采集系統(tǒng)也有了越來越高的要求,具體體現(xiàn)在系統(tǒng)的實時性、精度、軟件設(shè)計、升級等方面。由于嵌入式操作系統(tǒng)的發(fā)展,本文設(shè)計了一種基于ARM7的溫度采系統(tǒng),其具有采集精度高,軟件設(shè)計簡單,軟硬件功能修改方便、升級便利等優(yōu)點,有效地解決了過去采用單片機作為內(nèi)部芯片中的問題。該系統(tǒng)可用于溫室、倉庫等需要實時監(jiān)控溫度的場所,為人們的生活生產(chǎn)提供了便利的可靠的解決方案。
1 系統(tǒng)硬件結(jié)構(gòu)
1.1 系統(tǒng)總體設(shè)計
該設(shè)計采用了Samsung公司所生產(chǎn)的S3C44B0X硬件平臺,配置嵌入式μCLinux操作系統(tǒng)。通過LM35溫度傳感器把溫度物理量轉(zhuǎn)換成模擬物理量的電流信號,同時放大信號,然后采用運算放大器把輸入的電流信號轉(zhuǎn)換成電壓信號,經(jīng)濾波器濾波送給A/D轉(zhuǎn)換器進行A/D轉(zhuǎn)換(采用S3CB4480本身集成的8路10位A/D轉(zhuǎn)換器),轉(zhuǎn)換結(jié)果處理后在LED(發(fā)光二極管)上顯示。設(shè)計要求精確到0.1 ℃,反應(yīng)時間應(yīng)在1 s以內(nèi),總體設(shè)計如圖1所示。
1.2 溫度傳感器LM35
該系統(tǒng)說采用的溫度傳感器是用National Semiconductor所生產(chǎn)的LM35,其輸出電壓與攝氏溫標(biāo)呈線性關(guān)系,轉(zhuǎn)換公式如式(1)。0℃時輸出為0 V,每升高1 ℃,輸出電壓增加10 mV。LM35有多種不同封裝型式。在常溫下,LM35不需要額外的校準處理即可達到±1/4℃的準確率。其電源供應(yīng)模式有單電源與正負雙電源2種,其接腳如圖2,圖3所示,正負雙電源的供電模式可提供負溫度的量測,單電源模式在25 ℃下靜止電流約50μA,工作電壓較寬,可在4~20 V的供電電壓范圍內(nèi)正常工作非常省電??梢蕴峁?plusmn;1/4℃的室溫常用精度。
Vout_LM35(T)=10×T (1)
接下來實際對LM35進行測試,測試使用單電源模式,并且將輸出已非反相放大器放大10倍,以10 Hz的頻率記錄放大后的電壓值,得到如圖4的溫度時間圖。
1.3 A/D轉(zhuǎn)換模塊
本系統(tǒng)選用的S3C4480X自帶的A/D轉(zhuǎn)換器為逐次逼近型8路模擬輸入的10位ADC。該ADC的內(nèi)部結(jié)構(gòu)包括模擬AMXU(輸入多路復(fù)用器)、CO MP(自動調(diào)零比較器)、PSR(時鐘產(chǎn)生器)、10位逐次逼近寄存器SAP,ADCDART(輸入寄存器)。S3C44B0X內(nèi)部ADC的特征如表1所示。
S3C44B0X的內(nèi)部ADC的功能結(jié)構(gòu)如圖5所示。
相關(guān)寄存器:
(1)ADCCON(采樣控制寄存器)的位定義如表2所示。
(2)ADCDAT(轉(zhuǎn)換數(shù)據(jù)寄存器)的位定義如表3所示。
該寄存器的10位表示轉(zhuǎn)換后的結(jié)果,全為1時為滿量程2.5 V。
(3)ADCPSR(轉(zhuǎn)換預(yù)分頻寄存器)的位定義如表4所示。
若系統(tǒng)當(dāng)前的時鐘頻率為X MHz,ADC預(yù)分頻為Y,N位數(shù)字量的轉(zhuǎn)換時間為(X/2×(Y+1))/T。
2 系統(tǒng)的軟件設(shè)計
2.1 軟件環(huán)境
(1)ARM ADS(ARM Developer Suite)是ARM公司推出的新一代ARM集成開發(fā)工具,支持軟件調(diào)試及JTAG硬件仿真調(diào)試,支持匯編、C、C++源程序,具有編譯效率高、系統(tǒng)庫功能強等特點,可在WindowsXP,Windows ME以及Redhat Linux上運行。ADS由命令行開發(fā)工具、ARM時實庫、GUI開發(fā)環(huán)境(CodeWarrior和AXD)、實用程序和支持軟件等組成,用戶可以為ARM系列的RISC處理器編寫和調(diào)試開發(fā)的應(yīng)用程序。
(2)Code Warrior for ARM是一套完整的集成開發(fā)工具,充分發(fā)揮了ARM RISC的優(yōu)勢,它可以加速并簡化嵌入式開發(fā)過程中的每一個環(huán)節(jié),使得開發(fā)人員只需要通過一個集成軟件就可以研制出ARM產(chǎn)品。在整個開發(fā)過程中,開發(fā)人員無需離開Code Warrior開發(fā)環(huán)境,使得開發(fā)人員有更多的精力投入到代碼的編寫上來。
(3)ADS調(diào)試器本身是一個軟件,用戶可以通過這個軟件使用Debug agent對包含有調(diào)試信息的、正在運行的可執(zhí)行代碼進行查看、斷點的控制等調(diào)試操作。
ADS包含有3個調(diào)試器:AXD是ARM擴展調(diào)試器;Armsd是ARM符號調(diào)試器;ADW/ADU是與老版本的Windows或Unix下的ARM調(diào)試工具。
2.2 軟件流程與設(shè)計
2.2.1 A/D轉(zhuǎn)換
A/D轉(zhuǎn)換流程如圖6所示。
采用以下語句對ADC相關(guān)寄存器進行初始化:
2.2.2 溫度采集部分主要程序
2.3 實驗結(jié)果數(shù)據(jù)分析
用Protel設(shè)計此系統(tǒng)的電路,并完成軟件設(shè)計,做出電路板,將LM35傳感器置于室溫狀態(tài)下,測試溫度在超級終端下顯示并用0.01℃用溫度計所測試的溫度進行比較,如表5所示。
從數(shù)據(jù)的結(jié)果來看,符合所要達到的設(shè)計要求,其精度為0.1℃,隨著溫度的改變,本系統(tǒng)的顯示結(jié)果也會相應(yīng)的改變,用秒表測量此結(jié)果變化均在1s以內(nèi),證明了此系統(tǒng)的實時性比較好。
4 結(jié)語
從實驗結(jié)果來看,用LM35傳感器與S3CCB0X構(gòu)建的溫度測試系統(tǒng),具有測溫準確、實時性好、抗干擾能力強、設(shè)計簡單等優(yōu)點。此系統(tǒng)還可拓展其他功能,例如:可以采用Nand FLASH和UART分別存儲和傳輸數(shù)據(jù),實現(xiàn)了監(jiān)測數(shù)據(jù)的長期存儲和通信傳輸。