實時數(shù)據(jù)采集系統(tǒng)的設(shè)計

李廷軍1,張朝英2,邱麗波2,陳怡煥1

(1.海軍航空工程學(xué)院 山東煙臺 264001;2.煙臺市技術(shù)學(xué)院 山東煙臺 264000)

  摘 要:介紹了一種高速、實時的數(shù)據(jù)采集系統(tǒng),重點介紹了該數(shù)據(jù)采集系統(tǒng)的軟件設(shè)計。

  關(guān)鍵詞:高速;實時;數(shù)據(jù)采集;VISA

  本文介紹了一種數(shù)據(jù)采集系統(tǒng),他主要完成對某設(shè)備上交流電源、直流電源、模擬電壓、開關(guān)信號、脈沖信號等各種信號的采集工作。完成對上述信號的如下特征進行紀(jì)錄:

 。1)交流電源的電壓、頻率及相序,交流電源的供電時序;

  (2)直流電源的電壓及供電時序;

 。3)模擬信號的幅值及反映其變化規(guī)律的波形;

 。4)開關(guān)信號的電平幅值及信號時序;

 。5)脈沖信號的幅值、脈寬和周期、時序。

  該數(shù)據(jù)采集系統(tǒng)總體上由硬件和軟件2部分組成,硬件是該系統(tǒng)的基礎(chǔ),他完成各種數(shù)據(jù)的采集;軟件是該系統(tǒng)的核心,他主要完成對各個硬件模塊的控制和調(diào)度,實現(xiàn)對數(shù)據(jù)的存儲,并提供人機操作界面。

1 系統(tǒng)軟件結(jié)構(gòu)

  在該數(shù)據(jù)采集系統(tǒng)的開發(fā)過程中,軟件扮演著極其重要的角色。從功能上講,他的涵蓋面很廣,從硬件設(shè)備的驅(qū)動程序到開發(fā)整套系統(tǒng)所需的各個開發(fā)環(huán)節(jié)在內(nèi),他們的層次性很清晰。具體結(jié)構(gòu)如圖1所示。

 。1)VISA管理程序及接口軟件

  VISA(Virtual Instrument Software Architecture)是一個獨立于硬件設(shè)備、接口、操作系統(tǒng)、編程語言的I/O控制庫,處理測控計算機與儀器間物理連接的通訊信息。通過VISA,由不同硬件接口(如:GPIB,VXI或RS232等)連接的儀器設(shè)備可以集成到一個系統(tǒng)中,由一個軟件、一套命令函數(shù)完成所有儀器設(shè)備的控制。

  (2)測試資源層

  測試資源層主要由測試儀器驅(qū)動軟件組成,系統(tǒng)所選用的貨架成品測試儀器無論是VXI總線還是GPIB總線儀器,每臺儀器均對應(yīng)一個測試驅(qū)動軟件,該軟件應(yīng)按VISA要求編寫,軟件功能函數(shù)則完成對儀器測試功能的控制和測試數(shù)據(jù)的讀寫。

  該部分包含有VXI-MXI-II驅(qū)動程序,HPE1413驅(qū)動程序和HP E1459驅(qū)動程序。各個驅(qū)動程序負責(zé)完成對相應(yīng)模塊的初始化和各種配置,并實現(xiàn)對各種數(shù)據(jù)的讀寫。該驅(qū)動程序一般不單獨執(zhí)行,他是由執(zhí)行程序來調(diào)用。

 。3)應(yīng)用開發(fā)層

  用戶開發(fā)層是一個軟件開發(fā)平臺,為了充分利用CVI和儀器之間的方便通訊和VC的強大功能及友好的人機界面。該軟件將利用CVI和VC共同開發(fā),他首先用CVI編制和儀器通訊的動態(tài)鏈接庫,在用VC編寫控制函數(shù),并調(diào)用CVI編制的動態(tài)鏈接庫里的函數(shù)來從儀器上讀取數(shù)據(jù)。

 。4)用戶應(yīng)用層

  用戶應(yīng)用層是軟件系統(tǒng)的頂層,他實際上就是一個執(zhí)行程序,實現(xiàn)對各種儀器模塊的調(diào)度,包括初始化及各個模塊子系統(tǒng)的配置,最后實現(xiàn)對導(dǎo)彈上各種數(shù)據(jù)的同時讀取,并以波形的形式顯示出來,用來觀察各個信號的幅度大小、頻率大小、相位關(guān)系及各種時序關(guān)系。并把數(shù)據(jù)存儲在硬盤中,好在以后進行數(shù)據(jù)回放。

2 采集軟件的設(shè)計

  該程序設(shè)計最主要的部分就是數(shù)據(jù)采集軟件模塊的設(shè)計,他的主要任務(wù)就是完成對數(shù)據(jù)的采集、波形的顯示、數(shù)據(jù)的存儲和數(shù)據(jù)的回放。由于要采集的數(shù)據(jù)量很大,有一百多路信號,包括數(shù)字信號和模擬信號。而且采樣間隔也很短,為1 ms。當(dāng)采用單線程來完成所有的工作時,難以滿足要求。所以該程序?qū)⒉捎枚嗑程來編程。另外,為了便于更好地管理采集回來的數(shù)據(jù),該程序?qū)?shù)據(jù)存儲在數(shù)據(jù)庫里。

  (1)數(shù)據(jù)的采集

  首先把對儀器進行配置和數(shù)據(jù)讀取的函數(shù)做成動態(tài)鏈接庫,其動態(tài)鏈接庫里的函數(shù)主要有3個:初始化函數(shù)、讀取數(shù)據(jù)的函數(shù)和關(guān)閉儀器的函數(shù)。然后在主程序中調(diào)用動態(tài)鏈接庫里的函數(shù),首先要加載動態(tài)鏈接庫,然后獲取其函數(shù)的指針,利用其指針來調(diào)用函數(shù),來實現(xiàn)對儀器的操作。

 。2)波形的顯示

  數(shù)據(jù)的顯示有2種情況,一種是從HPE1459來的開關(guān)信號,還有一種是從HPE1413來的模擬信號,通過選擇,可以顯示他們一部分通道的波形,通過翻頁,可以選擇其他的通道進行顯示。

 。3)數(shù)據(jù)的存儲

  數(shù)據(jù)的存儲就是把讀入內(nèi)存的數(shù)據(jù)通過ODBC存入數(shù)據(jù)庫,由于該數(shù)據(jù)的結(jié)構(gòu)非常簡單,只需建立一個表格就可以把他們之間的關(guān)系描述清楚。所以在進行數(shù)據(jù)存盤之前用SQL先建立一個表格,然后在數(shù)據(jù)存盤時和這個表格建立連接,然后把讀取的數(shù)據(jù)存入該表格。

 。4)數(shù)據(jù)的回放

  他主要是把存放在數(shù)據(jù)庫里的數(shù)據(jù)以波形的形式顯示出來。本程序采用多文檔形式,當(dāng)回放時,可以通過按下面板上的按鈕來顯示不同通道的波形。顯示的波形還可以進行放大和縮小變換。

  其中軟件工作的程序流程如圖2所示。

3 關(guān)鍵技術(shù)

  為了滿足采集系統(tǒng)的試驗要求,本軟件在開發(fā)過程中采用了3項關(guān)鍵技術(shù)。

  (1)動態(tài)鏈接庫(DLL)技術(shù)。

  動態(tài)鏈接庫是運行時模塊,他是把程序編譯成二進制文件,在運行程序時才加進來,這使得他與編程語言沒有關(guān)系。所以可以利用動態(tài)鏈接庫把幾種編程語言結(jié)合起來編程,充分利用各種編程語言的優(yōu)點。該軟件就是通過動態(tài)鏈接庫,充分利用CVI容易和儀器進行通訊的優(yōu)點和VC的友好界面及靈活的顯示功能。

  (2)多媒體定時器(Multimedia Timer)。

  為了提高Windows操作系統(tǒng)的定時精度以滿足對通道的讀取精度要求,提高實時顯示的刷新速度和軟件存儲的效率,采用Windows下提供的多媒體定時器,其定時分辨率(Resolution)最高為1 ms,遠遠高于Windows提供的默認Timer的性能(55 ms)。

 。3)多線程技術(shù)。

  Win32是一種搶占式多任務(wù)操作系統(tǒng),他為每一個線程輪流分配時間段,讓線程在分配的時間段里運行。每個進程除了系統(tǒng)自動生成的主線程外,還可以創(chuàng)建多個線程來協(xié)同完成指定的操作。利用多線程可以大大提高CPU的利用率。對于該應(yīng)用程序,由于要處理的數(shù)據(jù)量非常大,只有利用多線程才能滿足要求,才能保證數(shù)據(jù)不丟失。

 。4)ODBC(開放數(shù)據(jù)庫互連)技術(shù)。

  通過ODBC技術(shù)實現(xiàn)與數(shù)據(jù)庫的連接,也即采用SQL數(shù)據(jù)庫查詢語言,可以保證軟件的通用性,避免應(yīng)用程序隨著數(shù)據(jù)庫的改變而改變。另外,利用數(shù)據(jù)庫技術(shù),可以更方便地對數(shù)據(jù)進行顯示,可以很方便地定位到某一段數(shù)據(jù)的顯示,也可以選擇任意的通道波形進行顯示。

4 結(jié) 語

  使用該數(shù)據(jù)采集系統(tǒng),可以快速地記錄和存儲大量的實時數(shù)據(jù),這對分析某設(shè)備的性能參數(shù)和工作狀態(tài)具有非常重要的作用。

參考文獻

[1] 陳光禹.VXI總線測試平臺技術(shù)[M].成都:電子科技大學(xué)出版社,1996.

[2] Agilent E1313A and Agilent E1413CHigh Speed Scanning A/DConverter,2000.

[3] Agilent E1459A/Z2404B64-ChannelIsolatedInput Interrupt Module User′s and SCPI Programming Manual,2000.

摘自 現(xiàn)代電子技術(shù)


微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號,免費領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費領(lǐng)取《中國移動:5G網(wǎng)絡(luò)AI應(yīng)用典型場景技術(shù)解決方案白皮書
  • 2、回復(fù)“5G6G”免費領(lǐng)取《5G_6G毫米波測試技術(shù)白皮書-2022_03-21
  • 3、回復(fù)“YD6G”免費領(lǐng)取《中國移動:6G至簡無線接入網(wǎng)白皮書
  • 4、回復(fù)“LTBPS”免費領(lǐng)取《《中國聯(lián)通5G終端白皮書》
  • 5、回復(fù)“ZGDX”免費領(lǐng)取《中國電信5GNTN技術(shù)白皮書
  • 6、回復(fù)“TXSB”免費領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費領(lǐng)取《中國移動算力并網(wǎng)白皮書
  • 8、回復(fù)“5GX3”免費領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點本月熱點

     

      最熱通信招聘

    業(yè)界最新資訊


      最新招聘信息