基于高速數據采集卡的虛擬示波器設計
1 引言
虛擬儀器(VI-ViItuaIInstrument)是指通過應用程序將通用計算機與功能化硬件結合起來,用戶可通過友好的圖形界面操作計算機,就像在操作自己定義、自己設計的單個儀器一樣,從而完成對被測量的采集、處理、分析、判斷、顯示、數據存儲等。在這種儀器系統中,各種復雜測試功能、數據分析和結果顯示都*杉撲慊砑瓿桑諍芏嚳矯娼洗騁瞧饔形薹ū饒獾撓諾悖縭褂昧榛罘獎恪⒉饈怨δ芊岣弧⒓鄹竦土⒁換嚶玫齲廡┦溝瞇檳庖瞧鞒晌蠢吹繾硬飭懇瞧鞣⒄溝鬧饕較蛑弧?
當今虛擬儀器系統開發采用的總線包括傳統的Rs232串行總線、GPIB通用接口總線、VXI總線、PCI總線和IEEE 1394總線即Firewire(也叫做火線)。
本文介紹基于PCI總線接口的CompuS,cope82G型高速數據采集卡和Visual C++編程工具的快速虛擬示波器試驗系統,該系統集波形采集、數據分析、輸出、顯示為一體。為了保證數據采集和波形顯示的實時性,設計中還采用了多線程技術。
2 系統組成和采集卡的硬件結構
2.1 系統組成
虛擬示波器系統主要由數據采集卡、計算機和軟件組成,其中,數據采集卡完成對輸入測量信號的調理采集和緩存,并通過計算機PCI總線送入內存;計算機在應用程序控制下對數據進行處理、運算,zui后完成各種電量測試并在屏幕上用圖形或數據形式顯示。這一切均在人機交互方式下完成。
2.2 數據采集卡的硬件結構
本虛擬示波器采用Gage公司的CompuScope82G型高速數據采集卡作為PCI接口。采集卡的硬件結構如圖1所示。
該數據采集卡主要由前置濾波器、可程控衰減器、可程控模擬放大電路、A/D轉換器、D/A轉換器、計數,定時電路、振蕩電路、時序控制電路及PCI接口電路組成,其功能電路由數字控制邏輯電路統一控制。該卡是具有2個模擬量輸入通道的標準的PCI總線插卡,卡上集成的2個高速8位ADC的工作頻率高達IGHz,在單通道工作模式下,2個ADC同時工作,分別在脈沖的上升沿和下降沿進行轉換,所以zui高采樣頻率可以達到2GHz。卡上配置有16M的高速存儲器,解決了高采樣率和相對較低PCI總線數據傳輸速率的匹配問題。在使用之前必須對采集卡的硬件進行配置,這些控制程序用到相應的底層DAQ驅動程序。通過采集卡自帶的DLL可以在程序中靈活地對硬件進行控制,比如輸入阻抗、輸入電壓范圍、放大器增益、采樣頻率、每次采樣點數等。
3 系統的軟件設計
3.1 虛擬示波器的軟件開發環境
虛擬儀器zui核心的技術是軟件技術。目前,用于虛擬儀器開發的軟件開發平臺主要有二大類:一類是通用的可視化軟件編程環境,主要有Microsoft公司的Visual C++和Visual Basic、Inprise公司的Delphi和C++Builder等;另一類是一些公司推出的于虛擬儀器開發軟件的編程環境,主要有NI公司的圖形化編程環境LabView及文本編程環境IabWindows/CVI、Agilent公司的圖形化編程環境Agilent VEE。考慮到軟件的靈活性、性和可移植性,本設計中采用visual C++作為虛擬示波器的開發環境。
3.2 軟件功能模塊
該虛擬示波器有5大功能模塊:信號采集、用戶界面、頻譜分析、數字濾波、波形顯示。
3.2.1信號采集模塊
信號采集模塊主要完成數據的采集,根據采集信號的不同選用不同的采樣頻率。該模塊中的應用程序通過采集卡的驅動程序和硬件進行通信,如果把該模塊放在程序主線程中實現,那么,當應用程序與驅動程序進行數據通信時主界面就會凍結。為了解決這個問題,本文直接創建一種子線程來單獨完成與驅動程序的通信任務,讓主界面于響應視窗界面的信息。在子線程中通過調用gage_start_capture()函數進行數據的采集。圖2示出數據采集流程。數據采集的主要代碼如下:
3.2.2用戶界面模塊
界面主要切分為3個視圖:主視圖基類為ScrollView,用于顯示波形;2個視圖基類為For-mView,1個用于動態顯示采集數據的特征參數,另1個用于對示波器進行操作。整個軟件的主界面設計如圖3所示。
3.2.3頻譜分析模塊
本軟件利用快速傅里葉變換(FFT)進行頻譜分析。頻譜分析采用按時間抽取FFT算法,然后將幅值頻譜分析結果在用戶界面上以坐標曲線形式顯示。進行FFT時可以選擇點數,有1024、2048、4096 3種選擇,
上一篇:電流探頭技術指標
下一篇:小型與大型真空泵的區分