《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計應(yīng)用 > 遠(yuǎn)程數(shù)據(jù)采集與交互系統(tǒng)設(shè)計
遠(yuǎn)程數(shù)據(jù)采集與交互系統(tǒng)設(shè)計
現(xiàn)代電子技術(shù)
陳婭冰,呂懷蓮 煙臺工程職業(yè)技術(shù)學(xué)院
摘要: 為了提高大型實驗設(shè)備的利用率,在此提出利用Matlab、數(shù)據(jù)庫、FPGA和服務(wù)器等軟硬件設(shè)施,實現(xiàn)遠(yuǎn)程實驗系統(tǒng)數(shù)據(jù)采集的方案。該方案中設(shè)計了基于FPGA的數(shù)據(jù)采集箱,利用數(shù)據(jù)采集箱將大型實驗設(shè)備和基于J2EE平臺的服務(wù)器相連接。服務(wù)器將采集到的實驗數(shù)據(jù)存儲到數(shù)據(jù)庫軟件中,當(dāng)用戶需要時,可通過網(wǎng)絡(luò)訪問服務(wù)器獲取數(shù)據(jù)。在客戶機(jī)端,用戶還可以采用Matlab還原實驗數(shù)據(jù),畫出實驗數(shù)據(jù)曲線。
Abstract:
Key words :

摘要:為了提高大型實驗設(shè)備的利用率,在此提出利用Matlab、數(shù)據(jù)庫、FPGA和服務(wù)器等軟硬件設(shè)施,實現(xiàn)遠(yuǎn)程實驗系統(tǒng)數(shù)據(jù)采集的方案。該方案中設(shè)計了基于FPGA的數(shù)據(jù)采集箱,利用數(shù)據(jù)采集箱將大型實驗設(shè)備和基于J2EE平臺的服務(wù)器相連接。服務(wù)器將采集到的實驗數(shù)據(jù)存儲到數(shù)據(jù)庫軟件中,當(dāng)用戶需要時,可通過網(wǎng)絡(luò)訪問服務(wù)器獲取數(shù)據(jù)。在客戶機(jī)端,用戶還可以采用Matlab還原實驗數(shù)據(jù),畫出實驗數(shù)據(jù)曲線。
關(guān)鍵詞:遠(yuǎn)程數(shù)據(jù)采集;FPGA;J2EE;Matlab

    在科學(xué)技術(shù)發(fā)展過程中,資源信息的共享對科學(xué)研究水平的提高具有重要的意義。目前,在一些企業(yè)、高等院校和科研機(jī)構(gòu)中,由于管理體制與設(shè)備使用機(jī)制的局限性,大型實驗儀器的使用率極為有限,造成了大量的資源浪費(fèi)現(xiàn)象。如果針對大型實驗儀器使用遠(yuǎn)程控制實驗,一方面用戶可以在任何時間,任何地點通過網(wǎng)絡(luò)進(jìn)行實驗,有利于用戶合理地安排自己的學(xué)習(xí)、工作計劃,而不再受時間和地點的約束;另一方面則可以提高實驗室資源的利用率。因此,構(gòu)建大型實驗儀器共享平臺是符合科學(xué)技術(shù)發(fā)展要求的。

1 遠(yuǎn)程實驗系統(tǒng)總體方案設(shè)計
1.1 系統(tǒng)的功能及需求分析
    對大型實驗共享平臺而言,由于構(gòu)建的是一種新型的實驗儀器資源共享平臺,希望能從各種不同設(shè)備中獲取其各自的實驗數(shù)據(jù)或結(jié)果,以平臺通用的格式來傳輸和存儲數(shù)據(jù),便于進(jìn)入平臺的各個用戶共享這些實驗數(shù)據(jù)或結(jié)果。
    通常實驗儀器由于功能的不同、生產(chǎn)廠商的不同,使得獲取數(shù)據(jù)的方式、數(shù)據(jù)的存儲格式等均不相同,各種實驗儀器基本上采用的都是自己專用的數(shù)據(jù)采集裝置,不能滿足大型實驗共享平臺的要求。因此,在構(gòu)建大型實驗儀器共享平臺中,如何完成平臺中各種不同設(shè)備數(shù)據(jù)信息的采集及處理是實現(xiàn)遠(yuǎn)程數(shù)據(jù)交流與共享的關(guān)鍵。
1.2 系統(tǒng)總體結(jié)構(gòu)
    根據(jù)需求分析,遠(yuǎn)程實驗系統(tǒng)結(jié)構(gòu)如圖1所示。

a.JPG
    在實驗室本地,利用FPGA體積小,速度快,內(nèi)部延時小,可自由編程,靈活性高等優(yōu)點,以FPGA為核心輔以A/D轉(zhuǎn)換器等設(shè)備,設(shè)計出可提供多種接口的數(shù)據(jù)采集箱。數(shù)據(jù)采集箱接口多樣化,便于同各種不同型號的實驗儀器相聯(lián),并且數(shù)據(jù)采集箱可以轉(zhuǎn)發(fā)簡單的控制指令(如:啟動、停止)。數(shù)據(jù)采集箱采集到的數(shù)據(jù),在FPGA中完成數(shù)據(jù)格式化過程(將數(shù)據(jù)按照約定編碼成統(tǒng)一的格式)后,暫存到緩存中,然后經(jīng)傳輸線路將格式化的數(shù)據(jù)發(fā)送到服務(wù)器端存儲到數(shù)據(jù)庫中永久保存。數(shù)據(jù)庫中數(shù)據(jù)主要按時間段存儲,時間段的劃分由實驗用戶設(shè)置決定,可以用一次完整實驗過程來劃分時間段,也可以用同一個實驗分割成幾個時間片段來存儲數(shù)據(jù),這樣有利于日后數(shù)據(jù)比較分析。
    在異地,用戶可以使用PC機(jī)通過互聯(lián)網(wǎng)登錄到服務(wù)器,發(fā)出控制指令或?qū)?shù)據(jù)庫中的實驗數(shù)據(jù)下載到客戶端。用戶即可以用表格的形式顯示數(shù)據(jù),也可以將數(shù)據(jù)導(dǎo)入到Matlab中,利用Matlab強(qiáng)大的繪圖和分析功能,對實驗數(shù)據(jù)進(jìn)行更為高效的分析。

2 基于FPGA的數(shù)據(jù)采集箱設(shè)計
    數(shù)據(jù)采集箱主要完成對實驗數(shù)據(jù)進(jìn)行采集和初步處理的功能。數(shù)據(jù)采集箱可采集的數(shù)據(jù)種類包括溫度、電壓、電流、轉(zhuǎn)速等。為了達(dá)到“萬能”數(shù)據(jù)采集效果,數(shù)據(jù)采集箱還提供了多種接口,不僅提供了高效、方便的USB接口,也提供了工業(yè)通用的RS 232接口、IDE接口。數(shù)據(jù)采集箱有溫度傳感器、電流傳感器、旋轉(zhuǎn)編碼器、霍爾傳感器、A/D等外部器件,如果由普通的單片機(jī)實現(xiàn),需要很多的擴(kuò)展芯片,而且單片機(jī)的時序性強(qiáng),它很難同時實現(xiàn)這些功能,或者以降低系統(tǒng)精度作為代價。所以,在數(shù)據(jù)采集箱中采用FPGA芯片來并發(fā)處理系統(tǒng)的各位部分信號,這樣不僅可減少PCB板的面積,增加抗干擾能力,同時也減少了成本。數(shù)據(jù)采集箱結(jié)構(gòu)如圖2所示。

b.JPG


    數(shù)據(jù)采集箱的核心:XC2VP30是工業(yè)級Virtex-II Pro FPGA器件之一,邏輯單元Slice有13 696個,RAM為2 448 Kb,136個18×1乘法器以及8個數(shù)字時鐘管理模塊和644個用戶I/O端口,以及2個工作在350+MH4,基于FPGA開發(fā)平臺的BLDCM模糊PI控制器IBM PowerPC 405 RISC處理器和8個3.125 Gb/s RocketIO收發(fā)器,能提供多達(dá)120 Gb/s全雙工數(shù)據(jù)傳輸。Xilinx的FPGA是基于SRAM工藝,因此它們是易失的,數(shù)據(jù)采集箱采用3塊FLASH XCF04S ISP PROM來存儲FPGA的配置文件。
    電流采集利用ADS807完成。ADS807是帶采樣/保持的高速12位A/D轉(zhuǎn)換器,采用流水線技術(shù)并行處理模擬量。數(shù)據(jù)采集箱中通過電流傳感器采集到電流值,然后通過ADS807將其轉(zhuǎn)換為12位數(shù)字信號傳送給FPGA。為了降低噪聲的影響,采用了平均濾波方法對A/D輸出進(jìn)行濾波?;诖笮蛯嶒炂脚_的特殊性,本設(shè)計采用兩個獨立工作的轉(zhuǎn)換器構(gòu)成兩通道的模式。
    為了得到高精度的速度信號,F(xiàn)PGA對E6B2CWZ6C增量式旋轉(zhuǎn)編碼器的A相脈沖信號進(jìn)行采集,被測對象每旋轉(zhuǎn)一周,A相將發(fā)出1 000個脈沖信號。
    由于各種設(shè)備、接口的傳輸數(shù)率不相同,在FPGA內(nèi)部為每一種設(shè)備或接口開辟獨立的緩沖區(qū)。FPGA對讀入的數(shù)據(jù),先編碼,依據(jù)讀入設(shè)備,添加設(shè)備編號和接收時間;然后將讀取數(shù)據(jù)放入緩沖區(qū);當(dāng)緩沖區(qū)滿,接收到清空緩沖區(qū)或者發(fā)送指令后,緩沖區(qū)數(shù)據(jù)經(jīng)網(wǎng)卡發(fā)送到服務(wù)器端。

3 基于J2EE的軟件設(shè)計
    J2EE作為業(yè)界開發(fā)企業(yè)級電子商務(wù)的標(biāo)準(zhǔn)技術(shù),其組件不僅繼承了Java 2平臺的優(yōu)點,如平臺無關(guān)性、安全性等,還增加了一系列的企業(yè)應(yīng)用程序編程接口,如Java消息服務(wù)(Java Messaging Service,JMS)、企業(yè)Java組件(Enterprise Java Bean,EJB)、Java命名和目錄服務(wù)(Java Naming and Directory Interface,JNDI)、公共對象請求代理體系結(jié)構(gòu)(Common Object Request Broker Architecture,CORBA)、遠(yuǎn)程方法調(diào)用(Remote Method Invocation,RMI)、Java事務(wù)服務(wù)(Java Transaction Setvice,JTS)、Java數(shù)據(jù)庫連接(Java DataBaseCon-nectivity,JDBC)等。
    本系統(tǒng)服務(wù)器端應(yīng)用基于Struts和Hibernate的MVC(Model View Controller)設(shè)計模式。該設(shè)計模式把數(shù)據(jù)庫封裝起來,對業(yè)務(wù)層提供統(tǒng)一API訪問,節(jié)省開發(fā)人員的工作量,它可使整個管理系統(tǒng)的結(jié)構(gòu)層次清晰,并實現(xiàn)了層之間的解耦,使開發(fā)過程中層與層之間的工作幾乎是完全獨立的,極大的提高了系統(tǒng)的開發(fā)效率,同時也提供了系統(tǒng)的可重用性和靈活性,為日后的擴(kuò)展和維護(hù)留有很大的余地。
    在服務(wù)器端,主要設(shè)計了用戶管理模塊,實驗數(shù)據(jù)管理模塊,通信模塊。用戶管理模塊的主要功能是實現(xiàn)用戶權(quán)限分級,防止惡意訪問。實驗數(shù)據(jù)管理模塊主要對接收到的實驗數(shù)據(jù)進(jìn)行分類、分時間入庫,并建立相應(yīng)的數(shù)據(jù)日志和備份。通信模塊一方面負(fù)責(zé)與采集箱通信,另一方面負(fù)責(zé)與遠(yuǎn)程客戶端交流,完成按用戶指令采集實驗數(shù)據(jù)、將實驗數(shù)據(jù)提交給用戶等工作。
    遠(yuǎn)程實驗系統(tǒng)的數(shù)據(jù)查看頁面示意圖如圖3所示。當(dāng)用戶通過互聯(lián)網(wǎng)遠(yuǎn)程登錄后,根據(jù)用戶權(quán)限,可以自由選擇查看特定時間段時內(nèi)的某個端口數(shù)據(jù),還可以刪除冗余的數(shù)據(jù)。

c.JPG
    通常,數(shù)據(jù)庫中存儲的實驗數(shù)據(jù)比較龐大,單純的表格有時難以形象地反映實驗效果。Matlab是常用的仿真軟件,廣泛應(yīng)用到各種科研領(lǐng)域,具有強(qiáng)大的繪制曲線功能,利用這一功能,本文編寫.m文件,將服務(wù)器端的實驗數(shù)據(jù)下載到本地,然后利用Matlab繪制出圖形,進(jìn)一步幫助用戶對實驗結(jié)果進(jìn)行分析。圖4是經(jīng)轉(zhuǎn)換后,由Matlab繪制出的電機(jī)轉(zhuǎn)速波形樣圖。

d.JPG

4 結(jié)語
    在此對建設(shè)遠(yuǎn)程實驗系統(tǒng)的意義進(jìn)行了探討,并設(shè)計了遠(yuǎn)程實驗系統(tǒng)結(jié)構(gòu):以FPGA為核心設(shè)備的數(shù)據(jù)采集箱,利用J2EE平臺以B/S模式對實驗數(shù)據(jù)進(jìn)行遠(yuǎn)程讀取。今后將在遠(yuǎn)程實驗系統(tǒng)設(shè)計方案中設(shè)備可靠性進(jìn)行進(jìn)一步研究。例如:多用戶并發(fā)控制實驗設(shè)備時,指令發(fā)出的先后順序控制;用戶發(fā)出錯誤指令可能導(dǎo)致設(shè)備工作異常的處理措施等方面,還待進(jìn)一步研究。
 

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