基于ARM的綜合測試儀設(shè)計(jì)
關(guān)鍵詞:濕度傳感器;ARM核;固件程序設(shè)計(jì);
1引言
我國的疆域廣闊,時(shí)區(qū)分布不同,海拔以及溫度,濕度等氣候差異都很大,實(shí)時(shí)的了解我們所處位置的氣候情況對工作和生活是很重要的。尤其對一些野外工作的科研人員來說,需要測試海拔,溫度,濕度等物理量作為參考因素。為了測量這些物理量需要我們攜帶多種測試設(shè)備,這對野外工作很不方便。為了實(shí)時(shí)方便的了解我們所處的海拔高度和天氣情況,我們需要有更便捷,功能更齊全的綜合測量儀器。同時(shí)可以將現(xiàn)場的數(shù)據(jù)送到PC,以方便今后的進(jìn)一步分析和處理。
2系統(tǒng)組成以及基本原理
整個(gè)綜合測試儀主要由五個(gè)部分組成。分別是核心控制單元,濕度測量,海拔高度測量,溫度測量,以及測量數(shù)據(jù)顯示部分。濕度測量是通過濕度傳感器將環(huán)境濕度物理量變換為電信號,最終將處理后的模擬信號經(jīng)過A/D后送到CPU。海拔測量主要是通過間接測量大氣壓強(qiáng),經(jīng)過計(jì)算來得出當(dāng)?shù)氐暮0胃叨?,其中也考慮到其他因素的影響而采取了軟件修正的方法。溫度測量采用數(shù)字溫度測量芯片DS1820來實(shí)現(xiàn),這是一個(gè)應(yīng)用的比較廣泛,也是得到了實(shí)踐驗(yàn)證,確切可行的一種測量方法。所有采集的物理量經(jīng)過A/D轉(zhuǎn)換后,在CPU中經(jīng)過處理,反映出各自代表的物理量后,送到顯示電路,以提供使用者信息,也可送到PC,讓PC機(jī)上的數(shù)據(jù)分析軟件做進(jìn)一步的處理和存儲。
3系統(tǒng)硬件整體設(shè)計(jì)
系統(tǒng)控制器單元
本設(shè)計(jì)采用LPC2104作為控制器的控制芯片[1][3]。LPC2104是PHILIPS公司專為嵌入式應(yīng)用提供的高性價(jià)比微控制器解決方案。它采用ARM公司的16位/32位RISC結(jié)構(gòu),內(nèi)核是ARM7TDMI-S,CPU操作頻率可達(dá)60MHz,片上集成:具有ISP和IAP功能的128KB Flash程序存儲器、16KB靜態(tài)RAM、2個(gè)UART、1個(gè)I2C串行接口、1個(gè)SPI串行接口,多達(dá)6路輸出的PWM、2個(gè)定時(shí)器,分別具有4路捕獲/比較通道、實(shí)時(shí)時(shí)鐘及看門狗定時(shí)器等,能夠與常用的外圍設(shè)備實(shí)現(xiàn)無縫連接,本系統(tǒng)以LPC2104為核心控制電路,對外圍的各種前端測量電路,包括濕度測量,溫度測量,海拔測量,以及數(shù)據(jù)顯示電路進(jìn)行無逢整合。其中系統(tǒng)整體框圖如圖1。
3.1 濕度測試電路設(shè)計(jì)
濕敏測量在工業(yè)、農(nóng)業(yè)、氣象、醫(yī)療以及日常生活等方面都得到了廣泛的應(yīng)用,特別是隨著科學(xué)技發(fā)展,對于濕度的檢測和控制越來越受到人們的重視并進(jìn)行了大量的研制工作。
在本測量儀中濕度測量電路是由濕敏元件和轉(zhuǎn)換電路,信號調(diào)理電路,以及A/D轉(zhuǎn)換電路等組成,它將環(huán)境濕度變換為電信號,然后通過A/D轉(zhuǎn)換成數(shù)字信號。
在實(shí)際應(yīng)用中,需要同時(shí)考慮對濕度傳感器進(jìn)行線性處理和溫度補(bǔ)償,常常采用運(yùn)算放大器構(gòu)成濕度測量電路,在圖2中Rt是熱敏電阻器(20kΩ,B=4100K);RH為H204C濕度傳感器,運(yùn)算放大器型號為OP07。該電路的濕度電壓特性及溫度特性表明:在(30%~90%)RH、15℃~35℃范圍內(nèi),輸出電壓表示的濕度誤差不超過3%RH。下式是濕度測量的原理表達(dá)式:
R=R0exp(B/T-AH)
其中H為相對濕度;T為絕對溫度;R0為在T=0℃ ,相對濕度H=0時(shí)RH的阻值;A為濕度常數(shù);B為溫度常數(shù)。
圖2 濕度測量電路 |
3.2 海拔高程測試電路設(shè)計(jì)
海拔測量的方法主要有兩種:一種是GPS,一種是氣壓檢測法。GPS測量是一個(gè)比較好的,也比較先進(jìn)的測量方法,測量結(jié)果也非常精確。但是存在著成本較高這個(gè)缺點(diǎn),所以在本系統(tǒng)中采用氣壓檢測的方法。氣壓測量的原理是依據(jù)海拔高度增加氣壓隨之減小的原理,但是這個(gè)變化不是線性,而是一個(gè)函數(shù),函數(shù)關(guān)系大致如下:
P=760(e^-(a/7924))
P:氣壓,毫米汞柱a:海拔, 千米。當(dāng)然,氣壓還跟季節(jié),空氣濕度,氣流有關(guān)系,要把這些數(shù)據(jù)也參入計(jì)算是很復(fù)雜的事。所以在設(shè)計(jì)中通過采樣多個(gè)數(shù)據(jù)進(jìn)行加權(quán)求和。同時(shí)在軟件設(shè)計(jì)中考慮進(jìn)行軟件的修正。
在系統(tǒng)設(shè)計(jì)中,氣壓測量傳感器采用TP051P測量現(xiàn)場氣壓值,而后通過AD620進(jìn)行前端放大,放大以后的數(shù)據(jù)送到ICL7135進(jìn)行A/D轉(zhuǎn)換。轉(zhuǎn)換后的數(shù)據(jù)以串行的方式送到CPU進(jìn)行處理。圖2是海拔測量的前端采樣以及調(diào)理電路。
圖3 海拔測量前端電路 |
3.3 溫度測試電路設(shè)計(jì)
DS18B20是美國DALLAS半導(dǎo)體公司繼DS1820之后最新推出的一種改進(jìn)型智能溫度傳感器。與傳統(tǒng)的熱敏電阻相比,他能夠直接讀出被測溫度并且可根據(jù)實(shí)際要求通過簡單的編程實(shí)現(xiàn)9~12位的數(shù)字值讀數(shù)方式??梢苑謩e在93.75 ms和750 ms內(nèi)完成9位和12位的數(shù)字量,并且從DS18B20讀出的信息或?qū)懭隓S18B20的信息僅需要一根口線(單線接口)讀寫,溫度變換功率來源于數(shù)據(jù)總線,總線本身也可以向所掛接的DS18B20供電,而無需額外電源。因而使用DS18B20可使系統(tǒng)結(jié)構(gòu)更趨簡單,可靠性更高。他在測溫精度、轉(zhuǎn)換時(shí)間、傳輸距離、分辨率等方面較DS1820有了很大的改進(jìn),給用戶帶來了更方便的使用和更令人滿意的效果。如圖4是DS1820與微處理器LPC2104的典型連接電路[5][6]:
圖 4 溫度測量電路 |
3.4 數(shù)據(jù)顯示電路設(shè)計(jì)
作為測量結(jié)果的最終顯示,在本地系統(tǒng)中采用了LCD作為本地顯示界面[2],在界面主要包括(1)系統(tǒng)當(dāng)前狀態(tài)顯示。包括當(dāng)前工作模式,測量的具體物理量。(2)實(shí)時(shí)數(shù)據(jù)輪循顯示,更據(jù)設(shè)定連續(xù)測量確定的物理量。其中LCD采用了大連東顯公司的1602模塊,可以較好的完成系統(tǒng)設(shè)計(jì)的功能,LCD通過5V電源供電,LCD模塊自帶負(fù)壓輸出,對比度可調(diào)節(jié)。最終還可以通過串口將測量數(shù)據(jù)送到PC機(jī)上進(jìn)行測量數(shù)據(jù)的進(jìn)一步顯示和分析。
圖5 數(shù)據(jù)顯示電路 |
系統(tǒng)的軟件設(shè)計(jì)是整個(gè)儀器的核心。綜測儀軟件設(shè)計(jì)主要包括兩個(gè)部分的設(shè)計(jì):本地CPU LPC2104固件程序設(shè)計(jì),PC機(jī)程序設(shè)計(jì)。其中本地CPU固件程序設(shè)計(jì)包括三個(gè)部分:整個(gè)綜測儀的系統(tǒng)初始化,對對前端部分的控制,和PC機(jī)進(jìn)行通訊。整個(gè)本地部分的程序設(shè)計(jì)采用事件驅(qū)動中斷,和模塊化設(shè)計(jì)的思想。開發(fā)環(huán)境采用ARM公司提供的ADS開發(fā)環(huán)境。
本地CPU和PC機(jī)之間的通訊方式采用固定長度的消息來進(jìn)行,其中消息的格式表1:
表1 消息格式 |
消息頭 |
消息類型 |
信息 |
消息尾 |
一個(gè)好的上位機(jī)軟件能夠提供記錄儀最廣泛的支持,通過上位機(jī)的支持,鍵盤等不必要的零件解放了,同時(shí)提供出更多的資源以利用[4]。在本綜合測量儀系統(tǒng)中,PC機(jī)上程序設(shè)計(jì)主要包括軟件界面設(shè)計(jì),數(shù)據(jù)圖形化處理,后期數(shù)據(jù)分析。軟件支持是綜合儀不可或缺的一部分,其主要功能為:設(shè)定測量的物理量,設(shè)定測量間隔(2s~24h任意可調(diào)),設(shè)定停止方式,設(shè)定啟動時(shí)間,設(shè)定通訊格式,讀取數(shù)據(jù)并顯示測量數(shù)據(jù)、歷史曲線等,并提供打印功能,把數(shù)據(jù)轉(zhuǎn)化為EXCEL或WORD文檔形式等等功能。
5結(jié)束語
綜合測量儀對野外科研研究,農(nóng)業(yè)及氣象分析具有很突出的意義,也可以應(yīng)用到與氣候條件有關(guān)的各種行業(yè)。經(jīng)過實(shí)驗(yàn)室條件和現(xiàn)場運(yùn)行的結(jié)果表明,所設(shè)計(jì)的綜合測量儀器能夠很好的應(yīng)用予各種科研,將各種功能集于一體,很好的滿足了野外工作的要求,經(jīng)過實(shí)踐的檢驗(yàn),表明本測量儀具有較強(qiáng)的實(shí)用性和推廣價(jià)值。
參考文獻(xiàn):
[1].劉棟梁,便攜式數(shù)據(jù)采集與處理系統(tǒng)的實(shí)現(xiàn)[J],計(jì)算機(jī)測量與控制,2002,10(2):127-129。
[2]. 馬少華 曲向儒 嵌入式系統(tǒng)的LCD人機(jī)交互菜單設(shè)計(jì)[J],單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2006,12:69-70。
[3] 李振峰 李海峽等, 基于LPC2104的智能燈光控制器設(shè)計(jì)[EB/OL], http://cnc.mcu1.com/data/2007/0203/article_15880.htm,2007-02-03/2007-04-06。
[4] 張義青,李華貴 ,嵌入式時(shí)實(shí)程序設(shè)計(jì)中C/C++代碼的優(yōu)化。微計(jì)算機(jī)信息2003,19(1)
[5]胡振宇,劉魯源,杜振輝?DS18B20接口的C語言程序設(shè)計(jì)[J]單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2002,(7)[6]金偉正,單線數(shù)字溫度傳感器的原理與應(yīng)用[J].電子技術(shù)應(yīng)用,2000,(6):6668