胡鑫杰,周群
(電子工程學院,合肥 230037)
溫度測試在工業(yè)生產(chǎn)、醫(yī)療衛(wèi)生和環(huán)境監(jiān)測等領(lǐng)域的應(yīng)用十分廣泛。傳統(tǒng)的模擬儀表測量已經(jīng)不能滿足現(xiàn)代科技對測試速度和精度的要求,越來越多的數(shù)字化集成溫度傳感器開始使用。為了滿足現(xiàn)代溫度測試的實時性和大容量數(shù)據(jù)存儲的需求,構(gòu)建一種以計算機為信息處理中心,微控制器系統(tǒng)為終端的智能測試系統(tǒng)已成為測試儀表的發(fā)展方向。本文在此基礎(chǔ)上設(shè)計了一種基于LPC2378微控制器的高精度、多通道智能溫度測試系統(tǒng)。
系統(tǒng)設(shè)計的總體構(gòu)架如圖1所示,主要包括:溫度傳感器、信號調(diào)理電路、A/D轉(zhuǎn)換器、LPC2378主控制器、SD卡存儲單元和USB通信單元。溫度傳感器采集的多路模擬信號經(jīng)過調(diào)理電路后由模/數(shù)轉(zhuǎn)換器實現(xiàn)信號的采集和數(shù)字化。微控制器LPC2378負責數(shù)字信號的處理和整個系統(tǒng)的控制功能。USB總線使外設(shè)和計算機連接更加快捷方便,數(shù)據(jù)可以通過USB送到計算機顯示。SD卡的使用擴展了系統(tǒng)的存儲空間和增加了系統(tǒng)的靈活性,在USB總線無法連接或出現(xiàn)故障的情況下,數(shù)據(jù)可以直接保存在SD卡上,然后再轉(zhuǎn)移到計算機顯示處理。這非常適合在不利于現(xiàn)場作業(yè)的測試環(huán)境中應(yīng)用。
圖1 溫度測試系統(tǒng)總體框圖
模擬前端電路由溫度傳感器和信號調(diào)理電路組成。選擇體積小、精度高、穩(wěn)定性好的Pt100作為溫度傳感器,為消除導(dǎo)線電阻對Pt100阻值的影響,進一步提高測量精度采用了四線制的接法[1]。四線制測量原理如圖2所示,RL1、RL2、RL3和RL4分別為導(dǎo)線L1、L2、L3和L4的等效電阻,在V1和V2兩端外接恒流源激勵I(lǐng),V3和V4兩端接入高輸入阻抗電路,則流過RL3和RL4電流值為0,故V3、V4兩端的測量電壓值為熱電阻RTD兩端的真實電壓值。
圖2 熱電阻四線制原理
圖 3為具體應(yīng)用電路,LM358內(nèi)部包含兩個獨立的運算放大器U1A和U1B,U1A構(gòu)成了測量回路的外部恒流源。根據(jù)運輸放大器虛短和虛斷的概念,U1A的正向輸入端和反向輸入端的電壓值相等且輸入電流值為零,所以不論Pt100的阻值如何變化,流過其電流值的大小始終為為了減少流過Pt100電流所產(chǎn)生的溫度對自身阻值的影響,外部恒流源的激勵電流不易過大,一般不超過5mA[2]。U1B實現(xiàn)對傳感器輸出信號的放大功能。為了增加U1B的輸入阻抗,R2和R3的取值要盡可能的大。根據(jù)流經(jīng)R3和R5電流值相等,可得公式:
圖3 Pt100恒流源測溫電路
LPC2378提供了豐富的串行接口資源,能夠滿足絕大多數(shù)串行通信的需要。主控制器內(nèi)部集成了一個轉(zhuǎn)換精度為10位的逐次逼近式模數(shù)轉(zhuǎn)換器可供一般數(shù)據(jù)采集系統(tǒng)使用,但考慮到本系統(tǒng)對分辨率和測量精度要求,在設(shè)計時采用了外置模/數(shù)轉(zhuǎn)換器AD7718。
AD7718是一款低噪聲、高分辨率、高可靠性和線性度較好的24位A/D轉(zhuǎn)換器件。圖4所示為AD7718利用SPI總線主微控制器實現(xiàn)數(shù)據(jù)通信。LPC2378設(shè)置為SPI主機,AD7718為從機。主控制器的P0-14口用查詢的方式來檢測數(shù)據(jù)有效否,為提高系統(tǒng)效率也可以利用外部中斷口采用中斷方式來檢測。LPC2378讀寫AD7718的時序控制如圖5所示。
圖4 LPC2378和AD7718接口電路
圖5 AD7718讀寫時序圖
主控制器LPC2378內(nèi)部集成了USB2.0設(shè)備控制器,使CPU與外設(shè)之間的數(shù)據(jù)交換可以穩(wěn)定地達到很高的速度,同時也減少了開發(fā)難度,提高了芯片的性價比。USB接口電路如圖6所示,USB1D-和USB1D+為LPC2378中USB端口的一對差分數(shù)據(jù)線,分別通過27 的匹配電阻與USB接口連接。VBUS用于檢測USB總線電源是否連接,當USB總線連接時,該管腳輸入高電平。U1CONNECT靈活控制LPC2378與PC之間的連接與斷開。當該口輸出低電平時,D+數(shù)據(jù)線通過1.5kΩ的上拉電阻連接到VD3V3通知PC:設(shè)備要與之連接;輸出高電平時,D+數(shù)據(jù)線與電源VD3V3斷開,通知PC:設(shè)備已經(jīng)斷開與主機的連接。USB_U1UP_LED口用于控制LED亮滅以指示USB總線的活動狀態(tài),當USB設(shè)備枚舉成功時,LED點亮;枚舉成功后,當USB總線處于正常通行狀態(tài)時,LED閃爍;當USB設(shè)備處于掛起狀態(tài)或通信不正常時,LED熄滅[4]。PRTR5V0U2X為ESD元件,用于防止靜電從USB總線中進入電路中損壞芯片。
為了擴展系統(tǒng)的存儲空間和使用范圍,增加系統(tǒng)的靈活性,在設(shè)計中采用了移動設(shè)備中使用較為廣泛的SD卡作為數(shù)據(jù)存儲器件。LPC2378內(nèi)部提供了一個SD接口,支持SPI和SD兩種讀寫模式。本設(shè)計中采用了SD模式,SD卡與主機的接口電路如圖7所示。將SD卡與主控制器相應(yīng)的數(shù)據(jù)線(DATA[3:])、時鐘線(CLK)和命令線(CMD)直接相連。SD_CD定義為通用輸入管腳,用來檢測SD卡是否完全插入。當SD卡完全插入時,卡座內(nèi)部的觸點連接到GND,輸出低電平;當卡拔出時,該引腳同過47K的電阻上拉至高電平[5]。同理,SD_WP用來檢測SD卡的寫保護操作。
圖7 SD卡接口電路
系統(tǒng)軟件設(shè)計包括3個部分:下位機固件設(shè)計、USB驅(qū)動開發(fā)和上位機軟件設(shè)計。
下位機固件是整個系統(tǒng)軟件設(shè)計的關(guān)鍵,是系統(tǒng)功能實現(xiàn)的重要保障。下位機系統(tǒng)固件主要完成用A/D轉(zhuǎn)換器實現(xiàn)多路溫度信號的采集,把采集到的電壓信號通過計算變換為溫度值送到上位機顯示或直接存儲在SD卡上[6]。系統(tǒng)固件設(shè)計采取分塊設(shè)計的思想,根據(jù)硬件功能和信號流程分塊編寫了系統(tǒng)初始化、數(shù)據(jù)采集、數(shù)據(jù)存儲和顯示存儲等4個子程序,主函數(shù)通過調(diào)用各子程序?qū)崿F(xiàn)系統(tǒng)功能。軟件主程序設(shè)計流程如圖8所示。
在整個固件設(shè)計中,數(shù)據(jù)處理模塊是程序的核心部分,它負責完成采集電壓值向溫度值的轉(zhuǎn)換,直接影響了系統(tǒng)的測試精度。為了提高溫度的測試精度和穩(wěn)定性,減少系統(tǒng)隨機事件引起的誤差,采取數(shù)字濾波的方法處理A/D轉(zhuǎn)換值。本設(shè)計中采取了滑動平均的處理方法[7]:先讀取AD轉(zhuǎn)換的前5個值,分別保存在一個數(shù)組內(nèi),去掉其中最小值和最大值后取其它3個值的平均值,利用所得均值來計算要實際測量的溫度值。此后,每讀取一次AD值,數(shù)組更新一次。
圖8 系統(tǒng)軟件流程圖
為了減小設(shè)計難度和開發(fā)時間,USB驅(qū)動程序采用了廣州致遠電子有限公司開發(fā)的LPC23xx.inf驅(qū)動文件。該公司還提供了與驅(qū)動程序相對應(yīng) 的EasyUSB23xx.dll動 態(tài) 庫, 可 供VC、VB、VF、Delphi、C++ Builder和 Power Builder等 調(diào)用。EasyUSB23xx.dll提供了讀寫USB的兩個函數(shù):ReadData23xx()和 WriteData23xx()[8]。
上位機軟件設(shè)計相對比較簡單,其功能是實現(xiàn)對整個測試系統(tǒng)的控制和數(shù)據(jù)的接收、保存,并在計算機上繪圖顯示動態(tài)溫度曲線。本設(shè)計采用了C++Builder 6調(diào)用EasyUSB23xx.dll的方法實現(xiàn)對USB設(shè)備的讀寫操作,繪圖顯示采用了TChart控件完成[9]。
為標定系統(tǒng)的測試精度和誤差,在輸入端采取固定電阻代替Pt100的方法對系統(tǒng)進行測試。經(jīng)過多次實現(xiàn)和測量,系統(tǒng)模擬前端的放大電路線性度良好,增益值為10.57。AD7718的內(nèi)部參考電壓值為2.5V,限定了系統(tǒng)的溫度測試范圍為-200℃~400℃。系統(tǒng)的測試分辨率為0.01℃,測試精度達到 ℃,能夠滿足預(yù)期的設(shè)計要求和一般工業(yè)測量的需要。圖9為本系統(tǒng)在波峰焊接機工作過程中所測試的6路溫度曲線,很好的反映了微電子焊接過程中的溫度曲線,對調(diào)整焊接溫度提高焊接質(zhì)量有一定的參考價值。
圖9 波峰焊接機溫度曲線
本文詳細介紹了多通道、高精度溫度測試系統(tǒng)的硬件設(shè)計,并給出了軟件設(shè)計的核心思路。利用USB總線建立下位機與計算機的通信簡單方便,也是未來計算機與外設(shè)連接的發(fā)展趨勢之一。SD卡的使用不僅大大擴展了數(shù)據(jù)的存儲容量,而且給使用人員提供了更大的選擇空間。在一些不適合現(xiàn)場作業(yè)或?qū)崟r采集沒有要求的情況下,可以將大量數(shù)據(jù)保存在SD卡,然后再轉(zhuǎn)移到PC進行數(shù)據(jù)的分析和處理。本系統(tǒng)已經(jīng)很好的應(yīng)用于工業(yè)測試中,使用方便,效果良好。
[1] 何希才,任力穎,楊靜.實用傳感器接口電路[M].北京:中國電力出版社,2007:16-19.
[2] 黎飛鴻,劉錦高.RTD Pt100的一種單電源信號調(diào)理電路[J].儀器儀表用戶,2007,14(1):70-72.
[3] 許新利,劉峰,張東輝.基于AD7718的高精度微弱信號測試系統(tǒng)[J].應(yīng)用科技,2006,11(33):33-36.
[4] 周立功.深入淺出ARM7-LPC2378(下冊)[M].廣州:廣州致遠電子有限公司,2008:216-222.
[5] 高學軍 ,王 君.基于ARM7的SD卡控制器的設(shè)計[J].儀表技術(shù),2009(2):16-19.
[6] 盧佳廷. 基于ARM7-TDMI的多路溫度信號采集系統(tǒng)設(shè)計[J]. 電腦知識與技術(shù),2007,4(21):739-748.
[7] 柯兆盛.無線傳輸高精度測溫系統(tǒng)[D].吉林:吉林大學,2004:13-14 .
[8] 周立功. ARM嵌入式系統(tǒng)應(yīng)用筆記-基于LPC2300(下冊)[M].廣州:廣州致遠電子有限公司,2008:58-59.
[9] 吳逸賢,吳目誠.精彩C++ Builder 6程序設(shè)計[M].北京:科學出版社,2003.