夏妍 孫碩
摘要 本文設計多路數(shù)據(jù)采集系統(tǒng)時,設計思想采用虛擬儀器,在LabVIEW軟件平臺基礎上,以單片機系統(tǒng)作為數(shù)據(jù)采集部分,分析了該系統(tǒng)的具體設計過程,旨在為實際設計工作提供參考。
【關鍵詞】單片機 LabVIEW 多路數(shù)據(jù)采集系統(tǒng) 設計
虛擬儀器是一種軟硬件測試平臺,以計算機為基礎,已經廣泛的應用到工業(yè)控制領域。美國國家儀器公司基于虛擬儀器軟件開發(fā)平臺,推出了LabVIEW,其主要面向的領域為計算機測控領域,集中了圖形開發(fā)、調試及運行功能。多路數(shù)據(jù)采集系統(tǒng)利用LabVIEW設計時,多路信號的模擬采集通常利用NI公司的數(shù)據(jù)采集板卡,但數(shù)據(jù)采集板卡的價格比較高,導致開發(fā)成本大,而且開發(fā)周期也比較長。為解決該問題,本文以單片機代替數(shù)據(jù)采集板卡,促進開發(fā)成本降低的同時,提升數(shù)據(jù)采集效率。
1 系統(tǒng)硬件設計
本文設計多路數(shù)據(jù)采集系統(tǒng)過程中,系統(tǒng)構成包含兩部分,一部分為上位機,采用LabVIEW;另一部分為下位機,單片機即設置在此部分中,系統(tǒng)原理圖見圖1。
通常,上位機并不會較高的要求硬件,選擇普通PC即可,而下位機則對硬件要求較高,因此,本節(jié)主要介紹下位機硬件的設計方法。按照實際需求,下位機功能模塊主要包含三部分,分別為信息收集模塊、微型控制器、RS232串行通訊模塊。
1.1 信息收集模塊
該模塊由多部分構成,如多路模擬信號傳輸器、數(shù)據(jù)預處理電路。設計信息收集模塊電路時,一般采用兩種方式,一種為信息收集電路利用單獨電子元件構建,另一種為通過系統(tǒng)內部控制器所具備的A/D功能設計。嵌入式系統(tǒng)情況下,根據(jù)其硬件設計理論,本文在進行信息收集模塊電路設計過程中,采用第二種方式,使用現(xiàn)購買的多路模擬信號傳感器。在信號預處理部分,計算放大器電流為其主要使用的,增強原本比較微弱的傳感器信號,使A/D轉換輸入電壓需求得到滿足。
1.2 微型控制器
根據(jù)信息收集模塊的設計方案,結合系統(tǒng)對微型控制器能力的要求,下位機硬件控制中心選擇STC12C5A60S2單片機,原因是此類型單片機以8051內核為基礎建立,并具備機械周期/單時鐘功能,同時,該單片機內部還設置有FLASH、計數(shù)器、定時器、SRAM等,可將信息收集、控制期間的功能要求有效滿足,并與微型控制器的設計要求相符合。
1.3 RS232串行通訊模塊
上位機與下位機之間進行信息通信時,通過RS232串行通信模塊實現(xiàn)。在下位機的單片機中,無論是輸入訊號,或是輸出信號,電平均為TTL,邏輯1、邏輯0均分別約為3.8V、0.4V。以串行接口協(xié)議為依據(jù),RS232具有如下特征:采用負邏輯、高信號與低信號間的變化幅度應非常大,基于此,設計邏輯1電壓范圍時,選擇-15—-5V,而邏輯O的電壓范圍則選擇+5~_15V,一般來說,邏輯1設置為-10V、邏輯O設置為+10V[2]。由此一來,TTL電平需要進行轉變,變?yōu)镽S232電平,本文采取的實現(xiàn)此種轉變的方法為添加MAX232E芯片。
2 系統(tǒng)軟件設計
2.1 RS232通信協(xié)議約定
上位機要想可靠的、真實的與下位機通信,RS232通信協(xié)議必須要自制定。在RS232通信協(xié)議中,包含的約定內容比較多,如波特率、停止位、數(shù)據(jù)格式定義、數(shù)據(jù)頭標識符等。本文設計過程中,RS232通信協(xié)議包含幾下幾方面約定:
2.1.1 基本通信數(shù)據(jù)格式
波特率設置為115 200,數(shù)據(jù)位共8位,以1作為停止位,奇偶校驗位設置為N。通信命令格式完整情況下,上位機將其發(fā)送給下位機時,按照如下約定進行:上位機把參數(shù)設置發(fā)送給下位機,同時,數(shù)據(jù)采集命令啟動,此命令共包含三方面的內容:
(1)數(shù)據(jù)起始標識符,為OX55+OXA5形式,
(2)下位機設定參數(shù)數(shù)據(jù)塊,字節(jié)共7個,
(3)數(shù)據(jù)結束標識符,為oxcc。
其中,確定第二方面內容的大小時,可以系統(tǒng)自定義的數(shù)據(jù)塊大小為依據(jù),本系統(tǒng)中,數(shù)據(jù)塊自定義為7塊,因此其字節(jié)也為7個。數(shù)據(jù)采集完成后,上位機再把停止數(shù)據(jù)采集命令發(fā)送給下位機,數(shù)據(jù)采集工作完成。
2.1.2 采集數(shù)據(jù)格式
下位機數(shù)據(jù)采集工作完成后,要將其發(fā)送給上位機,發(fā)送時應按照采集數(shù)據(jù)高字節(jié)+低字節(jié)的格式進行。下位機開展數(shù)據(jù)采集工作時,設定20s為時間間隔,實際應用中,可按照實際情況作出相應的修改。
2.2 下位機單片機軟件設計
此部分軟件設計中,工作主要包含三方面:
(1)數(shù)據(jù)采集功能模塊設計,A/D轉換功能為STC單片機的內置功能,通過該項功能,數(shù)據(jù)采集功能模塊采集外部多路模擬量的數(shù)據(jù)。
(2) RS232數(shù)據(jù)通信功能模塊設計,設計工作以RS232通信協(xié)議約定為依據(jù)進行,實現(xiàn)方法采取RS232中斷與查詢結合的方式,設計RS232通信程序時,利用串行中斷法達到接收上位機一幀通信命令的目的,而下位機則通過查詢功能將采集完成的數(shù)據(jù)發(fā)送給上位機。
(3)系統(tǒng)主程序功能模塊,標志Recfiag由串行中斷接收,查詢并處理標志Recflag為此模塊主要功能。
2.3 上位機LabVIEW軟件設計
上位機將數(shù)據(jù)采集控制命令發(fā)送給下位機時,主要通過LabVIEW軟件實現(xiàn),同時,下位機將采集數(shù)據(jù)發(fā)送給上位機后,上位機也要利用LabVIEW進行接收、顯示等?;诖朔N功能需求,在上位機LabVIEW前面板程序(見圖2)中,主要包含以下幾方面:
(1)串口通信參數(shù)設置模塊:上位機及下位機通信時,RS232通信串口號等參數(shù)設置時利用此部分進行;
(2)下位機參數(shù)設置:數(shù)據(jù)采集命令發(fā)送給下位機前,需進行采集通道號等相關參數(shù)的設置,通過該模塊實現(xiàn),本系統(tǒng)設計過程中,數(shù)據(jù)采集模擬量設定為5路,輸入通道數(shù)量需要擴展情況下,可以5路為基礎,實施類推,5路報警門限值設定后,數(shù)據(jù)采集時,門限值被超過后,報警現(xiàn)象出現(xiàn)在下位機中,報警方式為聲光,此時,系統(tǒng)管理者即可開展相應的處理:
(3)運行控制選項:功能包含下位機數(shù)據(jù)采集的啟動或停止、數(shù)據(jù)存儲等;
(4)實時數(shù)據(jù)顯示:將某條采集通道實時的數(shù)據(jù)采集情況顯示出來;
(5)實時曲線顯示:以曲線方式顯示實時的某采集通道數(shù)據(jù)。
接下來,本節(jié)即對上述各部分做具體的介紹。
2.3.1 串行通信功能模塊
Instrument I/O>serial目錄位于LabVIEW功能面板中,可滿足串行通信需求的集成模塊則包含在此目錄中,通過該模塊,能夠將測控系統(tǒng)方便的設計出來。本系統(tǒng)設計過程中,需使用的串行通信模塊包含以下幾種:
(1)初始化時采用VISA onfigUre SerialPort;
(2)向VISA resource name指定的串行接口寫入write buffer字符時采用VISA write;
(3)規(guī)定字節(jié)數(shù)的數(shù)據(jù)在VISA resourcename指定的串行接口讀取時采用VISARead;
(4) VISA resource name指定的串行接口關閉時采用VISA Close。
2.3.2 實時數(shù)據(jù)處理及顯示功能模塊
數(shù)據(jù)從下位機中讀取出來后,由數(shù)據(jù)處理模塊做出相應的處理,已將實時顯示等功能實現(xiàn)。在實時顯示數(shù)據(jù)部分,會以波形圖的方式、數(shù)值的方式顯示出實時的處理后的數(shù)據(jù)。
2.3.3 下位機參數(shù)設置功能模塊
該模塊設置參數(shù)時,方式采用兩種,一種為將設定值直接輸入,一種為參數(shù)值預先設定好,具體采用何種方法,由用戶自行選擇。不過,本系統(tǒng)設計時,設置方式選擇后者,以使用戶的操作更加便利。實際上,參數(shù)值預先設定過程中,并非是具體的參數(shù)值,而是選擇相應的參數(shù)序號,序號發(fā)送到下位機單片機中后,單片機在對應表中查找具體的設定參數(shù)值。此種方法有利于將通信數(shù)據(jù)長度減少,使數(shù)據(jù)通訊速度提高,并促進程序設計工作簡化,原因是設定值超過255之后,要想將一個參數(shù)設置完成,上位機進行數(shù)據(jù)量上傳時,需要的字節(jié)數(shù)量為2個。對于需設置的全部參數(shù),依據(jù)HEX格式,該模塊將其都放置到索引數(shù)組,之后利用VISA Write函數(shù),向下位機發(fā)送參數(shù)。
2.3.4 運行控制選項功能模塊
該模塊實現(xiàn)運行控制選項時,采用的方式為事件驅動,相應VI程序編寫到驅動事件中后,即可實現(xiàn)該模塊的功能。
3 結論
設計多路數(shù)據(jù)采集系統(tǒng)過程中,利用LabVIEW平臺及單片機之后,能夠一定程度的簡化設計過程,提高開發(fā)速度,同時,監(jiān)控界面也更加美觀。本文在單片機及LabVIEW基礎上設計的系統(tǒng)經實踐后,結果顯示,上位機與下位機之間可以正常的通信,可實現(xiàn)采集并實時監(jiān)測多路數(shù)據(jù),具有較為廣闊的應用前景。
參考文獻
[1]馮傳均,戴文峰,何央,基于VB和單片機的多路數(shù)據(jù)采集系統(tǒng)設計[J].電子設計工程,2016,24 (22):155-157+160.
[2]李鵬.MSP430單片機在多路數(shù)據(jù)采集系統(tǒng)設計中的應用[J].無線互聯(lián)科技,2016(07):139-140.
[3]孫進,基于單片機的多路數(shù)據(jù)采集系統(tǒng)設計[J].信息通信,2014 (10): 61-62.
[4]李輝,基于C8051F060單片機的多路數(shù)據(jù)采集系統(tǒng)設計[J].電子設計工程,2014, 22 (15):186-190.
[5]劉艷.基于LabVIEW和Proteus的單片機數(shù)據(jù)采集系統(tǒng)設計[J],現(xiàn)代電子技術,2013, 36 (09):102-104+108.
[6]郭松輝,張琦,李亞君,基于MSP4 30F149單片機的工程機械多路數(shù)據(jù)采集系統(tǒng)設計[J].礦山機械,2016 (01): 94-96+5.