馮傳均,戴文峰,何 央
(1.中國(guó)工程物理研究院 流體物理研究所,四川 綿陽(yáng)621900;2.中國(guó)工程物理研究院 脈沖功率科學(xué)與技術(shù)重點(diǎn)實(shí)驗(yàn)室,四川 綿陽(yáng) 621900)
基于VB和單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
馮傳均1,2,戴文峰1,2,何 央1,2
(1.中國(guó)工程物理研究院 流體物理研究所,四川 綿陽(yáng)621900;2.中國(guó)工程物理研究院 脈沖功率科學(xué)與技術(shù)重點(diǎn)實(shí)驗(yàn)室,四川 綿陽(yáng) 621900)
為了滿足多路物理信號(hào)實(shí)時(shí)采集、存儲(chǔ)和數(shù)據(jù)分析的要求,本文設(shè)計(jì)了一種基于VB(Visual Basic)和單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)。該設(shè)計(jì)采用單片機(jī)為數(shù)據(jù)采集系統(tǒng)的控制芯片,控制A/D轉(zhuǎn)換芯片實(shí)現(xiàn)多路數(shù)據(jù)實(shí)時(shí)采集,轉(zhuǎn)換后的數(shù)據(jù)利用LCD顯示器進(jìn)行顯示,并通過(guò)RS232串口將數(shù)據(jù)上傳到上位機(jī);利用VB軟件編程的人機(jī)交互界面,實(shí)現(xiàn)對(duì)數(shù)據(jù)采集系統(tǒng)的遠(yuǎn)程監(jiān)控。該系統(tǒng)具有界面友好,操作簡(jiǎn)單等優(yōu)點(diǎn)。
單片機(jī);Visual Basic;數(shù)據(jù)采集;串口通信;人機(jī)交互界面
數(shù)據(jù)采集是現(xiàn)代測(cè)量技術(shù)的基礎(chǔ)之一。在科學(xué)實(shí)驗(yàn)中經(jīng)常需要分析處理各種物理量,例如電壓、電流、壓力、溫度等。實(shí)驗(yàn)過(guò)程中,這些物理信號(hào)通過(guò)專用的采集系統(tǒng)記錄并輸入到計(jì)算機(jī),然后通處理、分析得到試驗(yàn)結(jié)果。在復(fù)雜的大科學(xué)實(shí)驗(yàn)中對(duì)多路數(shù)據(jù)采集系統(tǒng)除了準(zhǔn)確性、穩(wěn)定性的要求外,往往還提出了高效、簡(jiǎn)潔、實(shí)時(shí)的要求,以滿足大量物理信號(hào)在采集、處理過(guò)程中復(fù)雜的時(shí)間、空間和邏輯關(guān)系需求。根據(jù)這些需求,文中設(shè)計(jì)了一種多路數(shù)據(jù)采集系統(tǒng)。系統(tǒng)由上位機(jī)和單片機(jī)組成,上位機(jī)實(shí)現(xiàn)完善的監(jiān)控和管理功能,單片機(jī)實(shí)現(xiàn)快速及靈活的采集控制功能[1]。系統(tǒng)設(shè)計(jì)方案通過(guò)Proteus、Keil與VB(Visual Basic)聯(lián)調(diào)的方式進(jìn)行功能驗(yàn)證。
多路數(shù)據(jù)采集系統(tǒng)主要包括:數(shù)據(jù)采集單元、數(shù)據(jù)傳輸電路和人機(jī)交互界面三部分。數(shù)據(jù)采集單元主要由單片機(jī)、A/D轉(zhuǎn)換芯片、LCD顯示器、矩陣鍵盤組成;數(shù)據(jù)傳輸電路采用RS-232串口通信協(xié)議進(jìn)行數(shù)據(jù)交換;人機(jī)交互界面由上位機(jī)和VB軟件組成。系統(tǒng)的總體框圖如圖1所示。
圖1 系統(tǒng)的總體框圖
被測(cè)物理信號(hào)中的信息通過(guò)相應(yīng)的傳感器按照一定規(guī)律變換成為模擬電壓信號(hào)。信號(hào)經(jīng)過(guò)放大、濾波后由單片機(jī)控制A/D轉(zhuǎn)換芯片進(jìn)行模數(shù)轉(zhuǎn)換,轉(zhuǎn)換結(jié)果返回給單片機(jī);單片機(jī)將采集數(shù)據(jù)在LCD顯示器上顯示,并通過(guò)RS232串口通信將結(jié)果發(fā)送給上位機(jī)。根據(jù)實(shí)驗(yàn)需要選用相應(yīng)的傳感器,即可以實(shí)現(xiàn)溫度、壓力、流量等不同物理信息的采集。數(shù)據(jù)采集電路如圖2所示。
圖2 數(shù)據(jù)采集電路
數(shù)據(jù)采集單元選擇STC89C51RC單片機(jī)為現(xiàn)場(chǎng)控制芯片,該芯片是宏晶科技推出的新一代高速/低功耗/超強(qiáng)抗干擾的單片機(jī),指令代碼完全兼容傳統(tǒng)8051單片機(jī)。單片機(jī)工作電壓5 V,工作頻率范圍:0~40 MHz,自帶EEPROM和看門狗功能??紤]到單片機(jī)I/O口很少,可采用鎖存器74HC573對(duì)單片機(jī)進(jìn)行I/O口擴(kuò)展,通過(guò)一片單片機(jī)控制控制多片A/ D轉(zhuǎn)換芯片,實(shí)現(xiàn)多路模擬信號(hào)的采集需求。數(shù)據(jù)顯示選用LCD1602型液晶顯示器,它具有體積小、質(zhì)量輕、功耗低、抗干擾能力強(qiáng)、與單片機(jī)通信簡(jiǎn)單等特點(diǎn)。LCD1602可以顯示兩行字符,每行16個(gè),顯示容量為16×2個(gè)字符,可通過(guò)并行接口與單片機(jī)I/O口直接相連。第一行顯示當(dāng)前數(shù)據(jù)通道號(hào),第二行顯當(dāng)前數(shù)據(jù)采集轉(zhuǎn)換結(jié)果。
數(shù)據(jù)采集所需的A/D轉(zhuǎn)換單元采用TI公司生產(chǎn)的TLC1543芯片,該芯片采用5 V供電,具有11高速路模數(shù)轉(zhuǎn)換通道,10位精度 (最大±1LSB不可調(diào)整誤差)的A/D轉(zhuǎn)換器,并提供EOC(轉(zhuǎn)換完成)信號(hào),采用串行通信接口,易于和單片機(jī)接口。TLC1543工作過(guò)程分為兩個(gè)周期:訪問(wèn)周期和采樣周期。TLC1543的CS、CLOCK、ADDRESS、EOC、DATA OUT引腳與單片機(jī)相連接,工作狀態(tài)由CS端使能或禁止。單片機(jī)輸出低電平時(shí),TLC1543開始數(shù)據(jù)轉(zhuǎn)換,I/O、CLOCK、 ADDRESS使能,DATA OUT脫離高阻狀態(tài)。單片機(jī)通過(guò)CLOCK計(jì)數(shù)向ADDRESS寫入4位數(shù)據(jù)為通道地址。數(shù)據(jù)轉(zhuǎn)換結(jié)束后,EOC由高電平變?yōu)榈碗娖剑瑔纹瑱C(jī)從DATA OUT讀取10位數(shù)據(jù),數(shù)據(jù)范圍為0~1024,如圖2所示當(dāng)模擬電壓等于+3.82 V時(shí),A/D轉(zhuǎn)換結(jié)果為0782;空閑時(shí)單片機(jī)控制CS腳置高電平,芯片禁止,DATA OUT置高阻狀態(tài)。控制時(shí)序如圖3所示。
單片機(jī)與上位機(jī)之間的數(shù)據(jù)傳輸采用異步串口通信方式[2-4]。由于單片機(jī)的輸入、輸出電平為TTL電平,與上位機(jī)RS-232標(biāo)準(zhǔn)串行接口的電氣規(guī)范不一致,因此要實(shí)現(xiàn)實(shí)現(xiàn)單片機(jī)與上位機(jī)之間的數(shù)據(jù)交換,必須進(jìn)行電平轉(zhuǎn)換[5],本系統(tǒng)采用MAX232芯片對(duì)單片機(jī)串口電平進(jìn)行轉(zhuǎn)換。上位機(jī)和單片機(jī)是主從關(guān)系,上位機(jī)發(fā)送握手信號(hào)給單片機(jī),單片機(jī)收到后發(fā)送應(yīng)答信號(hào);上位機(jī)接收到應(yīng)答信號(hào)后,判斷應(yīng)答信號(hào)是否正確,正確則向單片機(jī)發(fā)送命令信號(hào),否則繼續(xù)發(fā)送握手信號(hào)。串口參數(shù)設(shè)置為:波特率9 600 bps,1位起始位,1位停止位,8位數(shù)據(jù)位,無(wú)奇偶校驗(yàn)位。上位機(jī)和單片機(jī)之間的數(shù)據(jù)交換流程如圖4所示。
圖3 TLC1543工作時(shí)序
單片機(jī)控制程序采用C語(yǔ)言編寫,在Keil的uVision4開發(fā)環(huán)境中完成[6-11]。控制程序由一個(gè)主程序和四個(gè)子程序組成,子程序包括:UART通信模塊、A/D控制模塊、LCD顯示模塊、矩陣鍵盤模塊等,主程序完成系統(tǒng)初始化和子程序的調(diào)用。
上位機(jī)軟件采用Visual Basic軟件開發(fā)工具,通過(guò)編程代碼和調(diào)用控件[12-15],實(shí)現(xiàn)數(shù)據(jù)采集監(jiān)控系統(tǒng)的可視化編程。軟件通過(guò)調(diào)用Label(標(biāo)簽)、TextBox(文本框)、Button(按鈕)等控件實(shí)現(xiàn)控制命令的發(fā)送;通過(guò)調(diào)用Mscomm控件實(shí)現(xiàn)上位機(jī)與單片機(jī)之間的串口通迅;通過(guò)調(diào)用CWGraph控件實(shí)現(xiàn)將數(shù)據(jù)曲線顯示。數(shù)據(jù)采集系統(tǒng)監(jiān)控界面包括:串口設(shè)置、控制命令、數(shù)據(jù)顯示3部分組成。多路數(shù)據(jù)采集系統(tǒng)人機(jī)界面如圖5所示。
圖5 數(shù)據(jù)采集系統(tǒng)監(jiān)控界面
基于TLC1543和單片機(jī)的數(shù)據(jù)采集單元,能夠?qū)崿F(xiàn)對(duì)多路模擬數(shù)據(jù)實(shí)時(shí)采集、顯示和數(shù)據(jù)上傳功能,采集的數(shù)據(jù)結(jié)果具有較高的精度?;赩B和上位機(jī)的人機(jī)交互界面,能夠?qū)崿F(xiàn)對(duì)數(shù)據(jù)采集單元的遠(yuǎn)程監(jiān)控,實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)顯示、存儲(chǔ)和曲線繪制。該系統(tǒng)具有廣泛的使用價(jià)值。
[1]劉艷美,姜波.VB實(shí)現(xiàn)PC機(jī)與單片機(jī)(8051)的串口通訊[J].自動(dòng)化技術(shù)與應(yīng)用,2007,26(11):94-96.
[2]郭惠,吳迅.單片機(jī)C語(yǔ)言程序設(shè)計(jì)[M].北京:電子工業(yè)出版社,2008.
[3]宋志強(qiáng),寧慧慧,余紅英.基于VB的兩路數(shù)據(jù)實(shí)時(shí)采集[J].電子測(cè)試,2009,9:70-73.
[4]劉風(fēng)聲.基于VB6.0的單片機(jī)與PC機(jī)通訊的實(shí)現(xiàn)與應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2007,10(17):202-208.
[5]馬壯,吳錚,王永強(qiáng).基于VB的PC與單片機(jī)串行通信系統(tǒng)研究與實(shí)現(xiàn)[J].唐山學(xué)院學(xué)報(bào),2008,4(21):23-24.
[6]祝敬德,李杰,馮凱強(qiáng),等.基于FT245RL和FPGA的6路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2015,23(1):187-190.
[7]劉宇鴻,蔣留冰,車?yán)?基于FPGA的數(shù)據(jù)采集與回放系統(tǒng)設(shè)計(jì)[J].桂林電子科技大學(xué)學(xué)報(bào),2015,35(1):31-34.
[8]閆慧蘭,顧亮,候朝楨,等.AT89C52單片機(jī)與VB串行通信的實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2003,19(12):65-66.
[9]曾麗麗,劉心紅,趙付,等.VB通信編程技術(shù)[M].北京:中國(guó)石化出版社,2014.
[10]李敏孜,劉志鴻,王宏.利用VB6.0實(shí)現(xiàn)PC機(jī)與MCS-51單片機(jī)之間的串行通信[J].內(nèi)蒙古科技與經(jīng)濟(jì),2004,24:66-67.
[11]陳三風(fēng),劉曉波.基于VB6.0與單片機(jī)串行通信的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用,2004(1):66-68.
[12]陳倩詒.VB與單片機(jī)語(yǔ)言串行通信技術(shù)[J].微型機(jī)與應(yīng)用,2001(11):30-31.
[13]石永帥.基于VB的多路數(shù)據(jù)采集系統(tǒng)的實(shí)現(xiàn)[J].中國(guó)科技信息,2012(12):134-135.
[14]祁建廣,李寶營(yíng),孫玉明.基于VB6.0的多路數(shù)據(jù)采集與處理系統(tǒng)[J].大連工業(yè)大學(xué)學(xué)報(bào),2009,28(1):51-53.
[15]陳平,楊建,王炬城.基于FPGA的高速光纖數(shù)據(jù)傳輸板卡設(shè)計(jì)[J].信息通信,2015(1):79-80.
The design of a multi-channel data acquisition system based on VB and SCM
FENG Chuan-jun1,2,DAI Wen-feng1,2,HE Yang1,2
(1.Institute of Fluid Physics,CAEP,Mianyang 621900,China;2.Key Laboratory of Pulsed Power Science and Technology,CAEP,Mianyang 621900,China)
To acquire,store,and analyze multiple physical signals in real-time,this work presents a new design of multichannel data acquisition system.This design utilizes a SCM to control the A/D converter for multi-channel real-time data acquisition.The converted data is displayed in a LCD,and sent to the host computer through RS232.The human-machine interface is programmed with Visual Basic,which implements the remote control of the system.The interface is friendly and easy to operate.
single chip microcomputer;Visual Basic;data acquisition;serial communication
TN98
A
1674-6236(2016)22-0155-03
2015-11-15稿件編號(hào):201511134
馮傳均(1989—),男,四川廣元人。研究方向:脈沖功率技術(shù)及測(cè)控技術(shù)。