《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > LabVIEW串口通信在數(shù)據(jù)采集中的應(yīng)用
LabVIEW串口通信在數(shù)據(jù)采集中的應(yīng)用
來(lái)源:微型機(jī)與應(yīng)用2011年第23期
董翰川1,郭 勇1,李文杰2
(1.成都理工大學(xué) 信息科學(xué)與技術(shù)學(xué)院,四川 成都 610059; 2.中國(guó)地質(zhì)科學(xué)院 地球物理
摘要: 研究了LabVIEW串口通信的應(yīng)用問(wèn)題,設(shè)計(jì)了一種應(yīng)用于數(shù)據(jù)采集的串口收錄系統(tǒng)。該系統(tǒng)只需設(shè)置相應(yīng)串口參數(shù)即可動(dòng)態(tài)顯示硬件采集的數(shù)據(jù),并可實(shí)時(shí)存儲(chǔ)和回放采集到的數(shù)據(jù),方便以后對(duì)采集數(shù)據(jù)進(jìn)行研究。實(shí)驗(yàn)證明,該系統(tǒng)的穩(wěn)定性和可靠性較高。
Abstract:
Key words :

摘  要: 研究了LabVIEW串口通信的應(yīng)用問(wèn)題,設(shè)計(jì)了一種應(yīng)用于數(shù)據(jù)采集的串口收錄系統(tǒng)。該系統(tǒng)只需設(shè)置相應(yīng)串口參數(shù)即可動(dòng)態(tài)顯示硬件采集的數(shù)據(jù),并可實(shí)時(shí)存儲(chǔ)和回放采集到的數(shù)據(jù),方便以后對(duì)采集數(shù)據(jù)進(jìn)行研究。實(shí)驗(yàn)證明,該系統(tǒng)的穩(wěn)定性和可靠性較高。
關(guān)鍵詞: LabVIEW;串口通信;數(shù)據(jù)采集

 可視化編程軟件LabVIEW不僅能很輕松地將各種軟硬件連接起來(lái),還提供了強(qiáng)大的后續(xù)數(shù)據(jù)處理能力。與傳統(tǒng)儀器相比,虛擬儀器提高了儀器資源的可再用性和可移植性,只需在原有基礎(chǔ)上作相應(yīng)改動(dòng)即可增強(qiáng)它的功能,無(wú)需更換硬件設(shè)備[1]?;诖?,本文在研究LabVIEW的基礎(chǔ)上,開(kāi)發(fā)了基于LabVIEW的串口收錄系統(tǒng),以單片機(jī)為核心的硬件部分作為前端數(shù)據(jù)采集系統(tǒng),可實(shí)現(xiàn)200 kHz的采樣速率、16 bit的分辨率,具有采樣率高、應(yīng)用性強(qiáng)等優(yōu)點(diǎn)。該收錄系統(tǒng)將采集數(shù)據(jù)以曲線方式顯示在上位機(jī)上,以二進(jìn)制.dat格式記錄,并且可回放記錄的數(shù)據(jù),這是該系統(tǒng)的創(chuàng)新點(diǎn)。
1 系統(tǒng)總體方案
 系統(tǒng)總體方案框圖如圖1所示,主要由前端數(shù)據(jù)采集和上位機(jī)波形顯示記錄兩大部分組成。前端數(shù)據(jù)采集部分以單片機(jī)AT89C52為核心,8 KB內(nèi)部ROM空間,硬件部分采集到的數(shù)據(jù)通過(guò)串口通信傳送給上位機(jī),收錄系統(tǒng)實(shí)時(shí)顯示、記錄、回放接收的數(shù)據(jù)。

2 硬件部分的設(shè)計(jì)
2.1 數(shù)據(jù)采集部分

 該部分采用美信公司的MAX306芯片和ADI公司的AD976芯片。MAX306內(nèi)部提供16個(gè)信號(hào)通道,可在程序編程中指定某通道,通道選擇端由單片機(jī)P1口低4位控制,信號(hào)經(jīng)過(guò)某通道后送入A/D;AD976采樣率為200 kHz/s、分辨率為16 bit,采集信號(hào)范圍為-10 V~+10 V,精度為(1/216)×VREF=(1/216)×20=0.305 mV。A/D數(shù)據(jù)傳送端和單片機(jī)P0口相連,A/D控制端和P1口高4位相連。
2.2 串口通信部分
 上位機(jī)和下位機(jī)通過(guò)RS-232串口進(jìn)行數(shù)據(jù)接收和發(fā)送,傳輸介質(zhì)為二芯屏蔽電纜,簡(jiǎn)單易用。下位機(jī)采用TTL電平,串口采用RS-232電平,因此串口通信需經(jīng)過(guò)電平轉(zhuǎn)換,電路采用MAX232電平轉(zhuǎn)換芯片,串口采用母頭接法。通信前先進(jìn)行初始化,包括串口工作方式、通信波特率設(shè)定等,這在下位機(jī)軟件中實(shí)現(xiàn)。
3 軟件部分的設(shè)計(jì)
3.1下位機(jī)軟件部分

 下位機(jī)軟件部分采用C51語(yǔ)言編寫(xiě),這是專門(mén)為51系列單片機(jī)設(shè)計(jì)的高效率C語(yǔ)言編譯器,符合ANSI標(biāo)準(zhǔn),程序代碼運(yùn)行效率高,比匯編語(yǔ)言更簡(jiǎn)單易用[2]。
 下位機(jī)軟件程序流程圖如圖2所示。BUSY為轉(zhuǎn)換結(jié)束狀態(tài)標(biāo)志位,BUSY=1表示轉(zhuǎn)換完成可以讀取,否則,繼續(xù)轉(zhuǎn)換。將讀取結(jié)果送給AT89C52處理,轉(zhuǎn)換為十進(jìn)制后傳送給液晶和上位機(jī),喂狗部分防止程序跑飛。軟件實(shí)現(xiàn)定點(diǎn)疊加平均數(shù)據(jù)處理、看門(mén)狗定時(shí)復(fù)位和冗余避錯(cuò)功能,將連續(xù)采集的3次數(shù)據(jù)求平均值,使得采集結(jié)果更準(zhǔn)確。
 其中十進(jìn)制的轉(zhuǎn)換是關(guān)鍵,轉(zhuǎn)化公式是:
 實(shí)際模擬量=(1/216)×VREF×ValueP0。
 其中,VREF為A/D參考電壓20 V,ValueP0為A/D轉(zhuǎn)換后的二進(jìn)制結(jié)果。
3.2 上位機(jī)軟件部分
 上位機(jī)軟件部分采用LabVIEW語(yǔ)言編寫(xiě),程序中用到VISA資源包。VISA是虛擬儀器軟件構(gòu)架的縮寫(xiě),是儀器編程的標(biāo)準(zhǔn)I/O API,可控制GPIB、串口、USB、以太網(wǎng)、PXI或VXI儀器,并根據(jù)使用儀器的類型調(diào)用相應(yīng)的驅(qū)動(dòng)程序,用戶無(wú)需學(xué)習(xí)各種儀器的通信協(xié)議[3]。
 LabVIEW收錄系統(tǒng)程序流程圖如圖3所示。按下開(kāi)始讀取按鈕后,程序進(jìn)行串口配置,串口配置好后通信分兩路實(shí)現(xiàn),分別用于數(shù)據(jù)讀取和數(shù)據(jù)存儲(chǔ):讀取的數(shù)據(jù)顯示在波形圖標(biāo)中;數(shù)據(jù)以二進(jìn)制格式.dat文件存儲(chǔ)在硬盤(pán)中。存儲(chǔ)之前程序彈出對(duì)話框讓用戶指定存儲(chǔ)路徑。波形顯示采集數(shù)據(jù)的同時(shí),還可以回放之前已存儲(chǔ)的數(shù)據(jù)文件,實(shí)現(xiàn)采集和回放同時(shí)進(jìn)行。

3.2.1 上位機(jī)軟件實(shí)現(xiàn)過(guò)程
 軟件編寫(xiě)要用到VISA Configure Serial Port.vi、VISA Property Node.vi、VISA read.vi、VISA Close.vi、Write To Binary File.vi及Graph Chart.vi[1]。其功能分別是:
 (1)VISA Configure Serial Port.vi用于串口配置,如串口資源名、波特率、數(shù)據(jù)位數(shù)、停止位、校驗(yàn)位等的設(shè)置。
 (2)VISA Property Node.vi用于讀取屬性,將接收到的數(shù)據(jù)全部讀出來(lái)。
 (3)VISA Read.vi用于讀取串口接收來(lái)的數(shù)據(jù)。
 (4)VISA Close.vi釋放串口資源,關(guān)閉函數(shù)。
 (5)Write To Binary File.vi將接收數(shù)據(jù)以二進(jìn)制形式保存起來(lái)。
 (6)Graph Chart.vi用于顯示采集波形。
3.2.2 LabVIEW系統(tǒng)界面和程序
 根據(jù)上位機(jī)軟件設(shè)計(jì)流程圖,利用NI公司的可視化編程軟件LabVIEW編寫(xiě)完成的系統(tǒng)界面如圖4所示。運(yùn)行前,用戶只需設(shè)置串口資源,選擇串口號(hào)、波特率大小、傳輸數(shù)據(jù)位數(shù)、停止位、校驗(yàn)位等。串口工作在方式1,傳輸1幀信息為10 bit,其中1 bit起始位、8 bit數(shù)據(jù)位(先低位后高位)、1 bit停止位[4]。
 圖4上面部分為開(kāi)始讀數(shù)據(jù)、停止讀取、回放、停止回放和退出系統(tǒng)5個(gè)控制按鍵。兩個(gè)圖形控件分別顯示讀取波形和回放波形,讀取值以數(shù)字形式顯示在讀取值窗口。系統(tǒng)界面還可以利用LabVIEW自身強(qiáng)大的數(shù)據(jù)處理能力,借助內(nèi)部處理函數(shù)進(jìn)行波形調(diào)理、波形測(cè)量、FFT變換和濾波等。

 

 

4 測(cè)試與結(jié)論
 將下位機(jī)程序下載到單片機(jī),打開(kāi)電源,按下采集獨(dú)立按鍵,給MAX306某通道加上2 V左右的電壓信號(hào),測(cè)得結(jié)果如圖4所示。借助信號(hào)發(fā)生器給單片機(jī)輸入-10 V~+10 V范圍內(nèi)的任意波形,在上位機(jī)均可得到相應(yīng)波形。
 本文利用單片機(jī)采集數(shù)據(jù),使用LabVIEW編寫(xiě)串口接收數(shù)據(jù)界面,將結(jié)果以二進(jìn)制.dat格式存儲(chǔ)起來(lái),帶查看回放功能,較好地實(shí)現(xiàn)了數(shù)據(jù)采集的實(shí)時(shí)顯示和存儲(chǔ),達(dá)到了系統(tǒng)的設(shè)計(jì)要求和預(yù)期目標(biāo)。該LabVIEW顯示界面可應(yīng)用于其他具有串口接口的數(shù)據(jù)采集系統(tǒng),目前已應(yīng)用于航空物探部分?jǐn)?shù)據(jù)的收錄。
參考文獻(xiàn)
[1] TRAVIS J, KRING J. LabVIEW大學(xué)實(shí)用教程(第三版)[M].朱瑞萍,譯.北京:電子工業(yè)出版社,2008.
[2] 陳誠(chéng),李言武,葛立封.基于LabVIEW的單片機(jī)串口通信設(shè)計(jì)[J].現(xiàn)代計(jì)算機(jī),2009(1):198-200.
[3] 林靜,林振宇,鄭福仁.LabVIEW虛擬儀器程序設(shè)計(jì)從入門(mén)到精通[M].北京:人民郵電出版社,2010.
[4] 張毅坤,陳善久,裘雪紅.單片微型計(jì)算機(jī)原理及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2006.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。