在科學(xué)技術(shù)發(fā)展過(guò)程中,資源信息的共享對(duì)科學(xué)研究水平的提高具有重要的意義。目前,在一些企業(yè)、高等院校和科研機(jī)構(gòu)中,由于管理體制與設(shè)備使用機(jī)制的局限性,大型實(shí)驗(yàn)儀器的使用率極為有限,造成了大量的資源浪費(fèi)現(xiàn)象。
如果針對(duì)大型實(shí)驗(yàn)儀器使用遠(yuǎn)程控制實(shí)驗(yàn),一方面用戶可以在任何時(shí)間,任何地點(diǎn)通過(guò)網(wǎng)絡(luò)進(jìn)行實(shí)驗(yàn),有利于用戶合理地安排自己的學(xué)習(xí)、工作計(jì)劃,而不再受時(shí)間和地點(diǎn)的約束;另一方面則可以提高實(shí)驗(yàn)室資源的利用率。因此,構(gòu)建大型實(shí)驗(yàn)儀器共享平臺(tái)是符合科學(xué)技術(shù)發(fā)展要求的。
1 遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)總體方案設(shè)計(jì)
1.1 系統(tǒng)的功能及需求分析
對(duì)大型實(shí)驗(yàn)共享平臺(tái)而言,由于構(gòu)建的是一種新型的實(shí)驗(yàn)儀器資源共享平臺(tái),希望能從各種不同設(shè)備中獲取其各自的實(shí)驗(yàn)數(shù)據(jù)或結(jié)果,以平臺(tái)通用的格式來(lái)傳輸和存儲(chǔ)數(shù)據(jù),便于進(jìn)入平臺(tái)的各個(gè)用戶共享這些實(shí)驗(yàn)數(shù)據(jù)或結(jié)果。
通常實(shí)驗(yàn)儀器由于功能的不同、生產(chǎn)廠商的不同,使得獲取數(shù)據(jù)的方式、數(shù)據(jù)的存儲(chǔ)格式等均不相同,各種實(shí)驗(yàn)儀器基本上采用的都是自己專用的數(shù)據(jù)采集裝置,不能滿足大型實(shí)驗(yàn)共享平臺(tái)的要求。因此,在構(gòu)建大型實(shí)驗(yàn)儀器共享平臺(tái)中,如何完成平臺(tái)中各種不同設(shè)備數(shù)據(jù)信息的采集及處理是實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)交流與共享的關(guān)鍵。
1.2 系統(tǒng)總體結(jié)構(gòu)
根據(jù)需求分析,遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)結(jié)構(gòu)如圖1所示。
在實(shí)驗(yàn)室本地,利用FPGA體積小,速度快,內(nèi)部延時(shí)小,可自由編程,靈活性高等優(yōu)點(diǎn),以FPGA為核心輔以A/D轉(zhuǎn)換器等設(shè)備,設(shè)計(jì)出可提供多種接口的數(shù)據(jù)采集箱。數(shù)據(jù)采集箱接口多樣化,便于同各種不同型號(hào)的實(shí)驗(yàn)儀器相聯(lián),并且數(shù)據(jù)采集箱可以轉(zhuǎn)發(fā)簡(jiǎn)單的控制指令(如:?jiǎn)?dòng)、停止)。
數(shù)據(jù)采集箱采集到的數(shù)據(jù),在FPGA中完成數(shù)據(jù)格式化過(guò)程(將數(shù)據(jù)按照約定編碼成統(tǒng)一的格式)后,暫存到緩存中,然后經(jīng)傳輸線路將格式化的數(shù)據(jù)發(fā)送到服務(wù)器端存儲(chǔ)到數(shù)據(jù)庫(kù)中永久保存。數(shù)據(jù)庫(kù)中數(shù)據(jù)主要按時(shí)間段存儲(chǔ),時(shí)間段的劃分由實(shí)驗(yàn)用戶設(shè)置決定,可以用一次完整實(shí)驗(yàn)過(guò)程來(lái)劃分時(shí)間段,也可以用同一個(gè)實(shí)驗(yàn)分割成幾個(gè)時(shí)間片段來(lái)存儲(chǔ)數(shù)據(jù),這樣有利于日后數(shù)據(jù)比較分析。
在異地,用戶可以使用PC機(jī)通過(guò)互聯(lián)網(wǎng)登錄到服務(wù)器,發(fā)出控制指令或?qū)?shù)據(jù)庫(kù)中的實(shí)驗(yàn)數(shù)據(jù)下載到客戶端。用戶即可以用表格的形式顯示數(shù)據(jù),也可以將數(shù)據(jù)導(dǎo)入到Matlab中,利用Matlab強(qiáng)大的繪圖和分析功能,對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行更為高效的分析。
2 基于FPGA的數(shù)據(jù)采集箱設(shè)計(jì)
數(shù)據(jù)采集箱主要完成對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行采集和初步處理的功能。數(shù)據(jù)采集箱可采集的數(shù)據(jù)種類包括溫度、電壓、電流、轉(zhuǎn)速等。為了達(dá)到“萬(wàn)能”數(shù)據(jù)采集效果,數(shù)據(jù)采集箱還提供了多種接口,不僅提供了高效、方便的USB接口,也提供了工業(yè)通用的RS 232接口、IDE接口。
數(shù)據(jù)采集箱有溫度傳感器、電流傳感器、旋轉(zhuǎn)編碼器、霍爾傳感器、A/D等外部器件,如果由普通的單片機(jī)實(shí)現(xiàn),需要很多的擴(kuò)展芯片,而且單片機(jī)的時(shí)序性強(qiáng),它很難同時(shí)實(shí)現(xiàn)這些功能,或者以降低系統(tǒng)精度作為代價(jià)。所以,在數(shù)據(jù)采集箱中采用FPGA芯片來(lái)并發(fā)處理系統(tǒng)的各位部分信號(hào),這樣不僅可減少PCB板的面積,增加抗干擾能力,同時(shí)也減少了成本。數(shù)據(jù)采集箱結(jié)構(gòu)如圖2所示。
數(shù)據(jù)采集箱結(jié)構(gòu)
數(shù)據(jù)采集箱的核心:XC2VP30是工業(yè)級(jí)Virtex-II Pro FPGA器件之一,邏輯單元Slice有13 696個(gè),RAM為2 448 Kb,136個(gè)18×1乘法器以及8個(gè)數(shù)字時(shí)鐘管理模塊和644個(gè)用戶I/O端口,以及2個(gè)工作在350+MH4,基于FPGA開(kāi)發(fā)平臺(tái)的BLDCM模糊PI控制器IBM PowerPC 405 RISC處理器和8個(gè)3.125 Gb/s RocketIO收發(fā)器,能提供多達(dá)120 Gb/s全雙工數(shù)據(jù)傳輸。Xilinx的FPGA是基于SRAM工藝,因此它們是易失的,數(shù)據(jù)采集箱采用3塊FLASH XCF04S ISP PROM來(lái)存儲(chǔ)FPGA的配置文件。
電流采集利用ADS807完成。ADS807是帶采樣/保持的高速12位A/D轉(zhuǎn)換器,采用流水線技術(shù)并行處理模擬量。數(shù)據(jù)采集箱中通過(guò)電流傳感器采集到電流值,然后通過(guò)ADS807將其轉(zhuǎn)換為12位數(shù)字信號(hào)傳送給FPGA。為了降低噪聲的影響,采用了平均濾波方法對(duì)A/D輸出進(jìn)行濾波?;诖笮蛯?shí)驗(yàn)平臺(tái)的特殊性,本設(shè)計(jì)采用兩個(gè)獨(dú)立工作的轉(zhuǎn)換器構(gòu)成兩通道的模式。
為了得到高精度的速度信號(hào),F(xiàn)PGA對(duì)E6B2CWZ6C增量式旋轉(zhuǎn)編碼器的A相脈沖信號(hào)進(jìn)行采集,被測(cè)對(duì)象每旋轉(zhuǎn)一周,A相將發(fā)出1 000個(gè)脈沖信號(hào)。
由于各種設(shè)備、接口的傳輸數(shù)率不相同,在FPGA內(nèi)部為每一種設(shè)備或接口開(kāi)辟獨(dú)立的緩沖區(qū)。FPGA對(duì)讀入的數(shù)據(jù),先編碼,依據(jù)讀入設(shè)備,添加設(shè)備編號(hào)和接收時(shí)間;然后將讀取數(shù)據(jù)放入緩沖區(qū);當(dāng)緩沖區(qū)滿,接收到清空緩沖區(qū)或者發(fā)送指令后,緩沖區(qū)數(shù)據(jù)經(jīng)網(wǎng)卡發(fā)送到服務(wù)器端。
3 基于J2EE的軟件設(shè)計(jì)
J2EE作為業(yè)界開(kāi)發(fā)企業(yè)級(jí)電子商務(wù)的標(biāo)準(zhǔn)技術(shù),其組件不僅繼承了Java 2平臺(tái)的優(yōu)點(diǎn),如平臺(tái)無(wú)關(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)、公共對(duì)象請(qǐng)求代理體系結(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ù)庫(kù)連接(Java DataBaseCon-nectivity,JDBC)等。
本系統(tǒng)服務(wù)器端應(yīng)用基于Struts和Hibernate的MVC(Model View Controller)設(shè)計(jì)模式。該設(shè)計(jì)模式把數(shù)據(jù)庫(kù)封裝起來(lái),對(duì)業(yè)務(wù)層提供統(tǒng)一API訪問(wèn),節(jié)省開(kāi)發(fā)人員的工作量,它可使整個(gè)管理系統(tǒng)的結(jié)構(gòu)層次清晰,并實(shí)現(xiàn)了層之間的解耦,使開(kāi)發(fā)過(guò)程中層與層之間的工作幾乎是完全獨(dú)立的,極大的提高了系統(tǒng)的開(kāi)發(fā)效率,同時(shí)也提供了系統(tǒng)的可重用性和靈活性,為日后的擴(kuò)展和維護(hù)留有很大的余地。
在服務(wù)器端,主要設(shè)計(jì)了用戶管理模塊,實(shí)驗(yàn)數(shù)據(jù)管理模塊,通信模塊。用戶管理模塊的主要功能是實(shí)現(xiàn)用戶權(quán)限分級(jí),防止惡意訪問(wèn)。實(shí)驗(yàn)數(shù)據(jù)管理模塊主要對(duì)接收到的實(shí)驗(yàn)數(shù)據(jù)進(jìn)行分類、分時(shí)間入庫(kù),并建立相應(yīng)的數(shù)據(jù)日志和備份。通信模塊一方面負(fù)責(zé)與采集箱通信,另一方面負(fù)責(zé)與遠(yuǎn)程客戶端交流,完成按用戶指令采集實(shí)驗(yàn)數(shù)據(jù)、將實(shí)驗(yàn)數(shù)據(jù)提交給用戶等工作。
遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)的數(shù)據(jù)查看頁(yè)面示意圖如圖3所示。
遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)的數(shù)據(jù)查看頁(yè)面示意圖
當(dāng)用戶通過(guò)互聯(lián)網(wǎng)遠(yuǎn)程登錄后,根據(jù)用戶權(quán)限,可以自由選擇查看特定時(shí)間段時(shí)內(nèi)的某個(gè)端口數(shù)據(jù),還可以刪除冗余的數(shù)據(jù)。
通常,數(shù)據(jù)庫(kù)中存儲(chǔ)的實(shí)驗(yàn)數(shù)據(jù)比較龐大,單純的表格有時(shí)難以形象地反映實(shí)驗(yàn)效果。Matlab是常用的仿真軟件,廣泛應(yīng)用到各種科研領(lǐng)域,具有強(qiáng)大的繪制曲線功能,利用這一功能,本文編寫(xiě).m文件,將服務(wù)器端的實(shí)驗(yàn)數(shù)據(jù)下載到本地,然后利用Matlab繪制出圖形,進(jìn)一步幫助用戶對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析。
4 結(jié)語(yǔ)
在此對(duì)建設(shè)遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)的意義進(jìn)行了探討,并設(shè)計(jì)了遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)結(jié)構(gòu):以FPGA為核心設(shè)備的數(shù)據(jù)采集箱,利用J2EE平臺(tái)以B/S模式對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行遠(yuǎn)程讀取。今后將在遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)方案中設(shè)備可靠性進(jìn)行進(jìn)一步研究。例如:多用戶并發(fā)控制實(shí)驗(yàn)設(shè)備時(shí),指令發(fā)出的先后順序控制;用戶發(fā)出錯(cuò)誤指令可能導(dǎo)致設(shè)備工作異常的處理措施等方面,還待進(jìn)一步研究。
評(píng)論
查看更多