精品人妻一区二区三区麻豆91国产精品亚洲精品日韩|国产成人精品久久久久日韩中文字幕视频一区二区|国产区精品福利在线熟女|xk8134星空传媒|亚洲一区二区精品3399|5566中文字幕一区二区|国产69精品久久久久9999|中文字幕亚洲欧美日韩|国产日韩久久久久精品影院|亚洲国产精品久久久久久久久,果冻传媒精选麻豆人口中文av内射,欧美成人精品一区二区三区在线观看国产91精品肉色丝袜 ,国产日韩欧美一区二区久久精品东北电影制片厂第一部电影

在線客服
首頁 > 技術(shù)文章 >
技術(shù)文章
技術(shù)文章

多功能DAQ卡的虛擬數(shù)字示波器設(shè)計

摘 要:簡要介紹了虛擬儀器的組成,,基于Labwindows/CVI和NI公司的PXI-6670E數(shù)據(jù)采集卡,,設(shè)計了一個虛擬數(shù)字示波器,。該系統(tǒng)功能強大,,不僅具有實時采集功能,,還具有頻譜分析、加窗處理,、濾波功能和數(shù)字存儲等功能,。
    
    關(guān)鍵詞:虛擬儀器;Labwindows/CVI,;數(shù)據(jù)采集卡,;頻譜分析;虛擬示波器
    
    引言
    
    虛擬儀器中有一類是基于多功能DAQ卡的虛擬儀器,結(jié)構(gòu)簡單,,開發(fā)成本低,,目前已經(jīng)得到了廣泛的應(yīng)用。本文以一個基于多功能DAQ卡的虛擬數(shù)字示波器為例,,來說明如何開發(fā)基于多功能DAQ卡的虛擬儀器,。 
     
    虛擬數(shù)字示波器的結(jié)構(gòu)與組成
    虛擬數(shù)字示波器由一塊PXI總線的多功能數(shù)據(jù)采集卡和相應(yīng)的軟件組成。將它們安裝在一臺運行Windows的PC上,,即構(gòu)成一個功能強大的可存儲數(shù)字示波器,。數(shù)字示波器的前面板如圖1所示。 
         
     
    ● 數(shù)據(jù)采集卡,。
    
    設(shè)計中所采用的是NI公司生產(chǎn)的多功能數(shù)據(jù)采集卡PXI-6670E,,其主要功能如下:
    64路單端/32路差分模擬輸入;12位精度,;1.25MSPS采樣速度,;1.25MSPS磁盤寫入速度;±0.05~±10V輸入范圍,;兩路12位模擬輸出,;8條數(shù)字I/O線;兩路24位計數(shù)器/定時器,。
    
    ● 儀器功能,。
    
    本例虛擬數(shù)字示波器具有實時數(shù)據(jù)采集、頻譜分析,、加窗處理和濾波等功能,。在虛擬數(shù)字示波器主面板上有數(shù)據(jù)采集、頻譜分析,、加窗處理,、濾波功能等功能鍵,按相應(yīng)的功能鍵就可進入相應(yīng)的子面板,。
    
   
    
    軟件的設(shè)計與實現(xiàn) ,。
    
    ● 軟件開發(fā)環(huán)境。
    
    虛擬數(shù)字示波器軟件設(shè)計采用了基于C語言的編程環(huán)境LabWindows/CVI,。LabWindows/CVI支持數(shù)值型,、布爾型、文本型和串等數(shù)據(jù)類型,而且最大優(yōu)點是能夠通過對話框形式的交互式操作生成標準C程序代碼,。另外LabWindows/CVI提供了非常豐富的調(diào)試工具,包括單步執(zhí)行,、斷點、變量查看,、監(jiān)視窗口等,,這些功能使程序的調(diào)試變 得更為容易。
    
    ● 主要功能模塊,。
    
    虛擬數(shù)字示波器主要由軟件控制完成信號的采集和顯示處理,,功能結(jié)構(gòu)框圖如圖2所示。
    
   
    
    在數(shù)據(jù)采集面板中主要完成以下功能:設(shè)置通道,、設(shè)置采樣頻率、設(shè)置產(chǎn)生方式,、顯示波形等,,其軟面板如圖3所示。
    
   
    
    在數(shù)據(jù)采集面板中主要完成以下功能:對實時采集的信號和自行產(chǎn)生的信號進行頻譜分析,,查看譜線等功能,,其軟面板如圖4所示。
    
   
    
    加窗處理面板對實時采集的信號和自行產(chǎn)生的信號加窗處理(包括海明窗,、漢明窗,、平滑窗和布拉克曼窗等),其軟面板如圖5所示,。
    
   
    
    在濾波處理面板中包括以下功能:對實時采集的信號和自行產(chǎn)生的信號進行濾波處理(包括單步濾波法,、多步濾波法和傳統(tǒng)方法等),其軟面板如圖6所示,。
    
    ● 源程序文件的生成,。
    
    當(dāng)完成面板各個控件的設(shè)置后,就可以產(chǎn)生程序的代碼函數(shù)了,。具體方法為:把已完成的面板定為當(dāng)前響應(yīng)狀態(tài),,在[Code]菜單中,選中[Generate]中的[All Code],,在彈出的對話框中選定函數(shù)主面板和退出函數(shù),,就能產(chǎn)生與用戶接口文件相對應(yīng)的框架代碼函數(shù)。
    
    ● 添加程序代碼,。
    
    上一步自動生成的是控件對應(yīng)的函數(shù)的框架,,要使控件完成一定的功能,必須添加程序代碼來控制控件,。其中main()函數(shù)是程序的入口,,它的功能是初始化程序,裝載用戶面板并顯示,如要完成其他功能須添加代碼,。以下這段代碼實現(xiàn)數(shù)據(jù)采集功能,,程序通過調(diào)用數(shù)據(jù)采集按鈕的回調(diào)函數(shù)SHOU進行外部采集。
    
    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); /*設(shè)置采樣速率*/
    nidaqAIConfigBuffer(AiTask,1000,kNidaqFinite);/*設(shè)置采樣數(shù)據(jù)緩沖區(qū)*/
    nidaqAIStart(AiTask);/*啟動采樣*/
    nidaqAIRead(AiTask,“daq::1!(0)”,1000,-1.0,wave);/*讀取采樣數(shù)據(jù)*/
    nidaqAIStop(AiTask);/*結(jié)束采樣*/
    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); /*顯示波形*/
    break;
    }
    return 0;
    }
    限于篇幅,,其他功能模塊的實現(xiàn)這里就不一一介紹了,。
    
    ● 保存項目文件,然后編譯運行,。
    
    結(jié)論
    
    本文設(shè)計的虛擬數(shù)字示波器不僅具有一般臺式數(shù)字存儲器的功能,,而且充分發(fā)揮了微機強大的功能和軟件設(shè)計的靈活性,而且此虛擬數(shù)字示波器的設(shè)計包含了基于多功能DAQ卡的虛擬儀器設(shè)計的基本思路和方法,,用戶可以參照這種方法來設(shè)計其他虛擬儀器,。
北京迪陽世紀科技有限責(zé)任公司 版權(quán)所有 ? 2008 - 2018 著作權(quán)聲明
010-62156134 62169728 13301007825 節(jié)假日:13901042484 微信號:sun62169728
地址:北京市西城阜外百萬莊扣鐘北里7號公寓
E_mail:[email protected] 傳真: 010-68328400
京ICP備17023194號-1 公備110108007750