您好,歡迎訪(fǎng)問(wèn)新進(jìn)時(shí)官網(wǎng)!

電子測試測量系統集成解決專(zhuān)家,專(zhuān)業(yè)提供電子測量分析解決方案和設備

新進(jìn)時(shí)服務(wù)熱線(xiàn)+86 755 86091080

常見(jiàn)問(wèn)題

聯(lián)系我們

全國咨詢(xún)熱線(xiàn):+86 755 86091080

公司名稱(chēng):首頁(yè)
電話(huà):0755-27588969
傳真:0755-27588569
手機: 13828757317  葉先生
郵箱:service@ecredix.com.cn
地址:深圳市寶安區創(chuàng )業(yè)二路139號寶安新一代信息技術(shù)產(chǎn)業(yè)園C座309室

什么是虛擬數字示波器

文章來(lái)源:首頁(yè)人氣:4471發(fā)表時(shí)間:2016-01-18 18:13:40

虛擬數字示波器的結構與組成  
---虛擬數字示波器由一塊PXI總線(xiàn)的多功能數據采集卡和相應的軟件組成。將它們安裝在一臺運行Windows的PC上,即構成一個(gè)功能強大的可存儲數字示波器。數字示波器的前面板如圖1所示。  
● 數據采集卡  
---設計中所采用的是NI公司生產(chǎn)的多功能數據采集卡PXI-6670E,其主要功能如下:  
---64路單端/32路差分模擬輸入;12位精度;1.25MSPS采樣速度;1.25MSPS磁盤(pán)寫(xiě)入速度;±0.05~±10V輸入范圍;兩路12位模擬輸出;8條數字I/O線(xiàn);兩路24位計數器/定時(shí)器。  
● 儀器功能。  
---本例虛擬數字示波器具有實(shí)時(shí)數據采集、頻譜分析、加窗處理和濾波等功能。在虛擬數字示波器主面板上有數據采集、頻譜分析、加窗處理、濾波功能等功能鍵,按相應的功能鍵就可進(jìn)入相應的子面板。  
軟件的設計與實(shí)現  
● 軟件開(kāi)發(fā)環(huán)境。  
---虛擬數字示波器軟件設計采用了基于C語(yǔ)言的編程環(huán)境LabWindows/CVI。LabWindows/CVI支持數值型、布爾型、文本型和串等數據類(lèi)型,而且優(yōu)點(diǎn)是能夠通過(guò)對話(huà)框形式的交互式操作生成標準C程序代碼。另外LabWindows/CVI提供了非常豐富的調試工具,包括單步執行、斷點(diǎn)、變量查看、監視窗口等,這些功能使程序的調試變 得更為容易。  
● 主要功能模塊。  
---虛擬數字示波器主要由軟件控制完成信號的采集和顯示處理,功能結構框圖如圖2所示。  
---在數據采集面板中主要完成以下功能:設置通道、設置采樣頻率、設置產(chǎn)生方式、顯示波形等,其軟面板如圖3所示。  
---在數據采集面板中主要完成以下功能:對實(shí)時(shí)采集的信號和自行產(chǎn)生的信號進(jìn)行頻譜分析,查看譜線(xiàn)等功能,其軟面板如圖4所示。  
---加窗處理面板對實(shí)時(shí)采集的信號和自行產(chǎn)生的信號加窗處理(包括海明窗、漢明窗、平滑窗和布拉克曼窗等),其軟面板如圖5所示。  
---在濾波處理面板中包括以下功能:對實(shí)時(shí)采集的信號和自行產(chǎn)生的信號進(jìn)行濾波處理(包括單步濾波法、多步濾波法和傳統方法等),其軟面板如圖6所示。  
● 源程序文件的生成。  
---當完成面板各個(gè)控件的設置后,就可以產(chǎn)生程序的代碼函數了。具體方法為:把已完成的面板定為當前響應狀態(tài),在[Code]菜單中,選中[Generate]中的[All Code],在彈出的對話(huà)框中選定函數主面板和退出函數,就能產(chǎn)生與用戶(hù)接口文件相對應的框架代碼函數。  
● 添加程序代碼。  
---上一步自動(dòng)生成的是控件對應的函數的框架,要使控件完成一定的功能,必須添加程序代碼來(lái)控制控件。其中main()函數是程序的入口,它的功能是初始化程序,裝載用戶(hù)面板并顯示,如要完成其他功能須添加代碼。以下這段代碼實(shí)現數據采集功能,程序通過(guò)調用數據采集按鈕的回調函數SHOU進(jìn)行外部采集。  
int CVICALLBACK SHOW(int panel,int control,int event,void *callbackData,int eventData1,int eventData2)  
{  
int NumChan;/*定義所用通道*/  
double ActScanRate;/*定義采樣速率*/  
switch (event)  
{  
case EVENT_COMMIT:  
nidaqAICreateTask(“daq::1!(0)”, kNidaqWaveformCapture, &NumChan,&AiTask);/*創(chuàng )建采樣任務(wù)*/  
nidaqAIConfigScanClockRate(AiTask,400000,&ActScanRate); /*設置采樣速率*/  
nidaqAIConfigBuffer(AiTask,1000,kNidaqFinite);/*設置采樣數據緩沖區*/  
nidaqAIStart(AiTask);/*啟動(dòng)采樣*/  
nidaqAIRead(AiTask,“daq::1!(0)”,1000,-1.0,wave);/*讀取采樣數據*/  
nidaqAIStop(AiTask);/*結束采樣*/  
DeleteGraphPlot(EEpanel,EEPANEL_WAVEGRAPH, -1,VAL_IMMEDIATE_DRA);/*刪除顯示的波形*/  
PlotY(EEpanel, EEPANEL_WAVEGRAPH, wave, 1000, VAL_DOUBLE, VAL_THIN_LINE, VAL_EMPTY_SQUARE, VAL_SOLID, 1, VAL_YELLOW); /*顯示波形*/ 
此文關(guān)鍵詞: