<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于多功能DAQ卡的虛擬數(shù)字示波器的設(shè)計

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

          ——
          作者:西安市第二炮兵工程學(xué)院控制系 惠俊軍 王志賢 時間:2007-01-26 來源:《今日電子》 收藏

          虛擬數(shù)字示波器的結(jié)構(gòu)與組成

          虛擬數(shù)字示波器由一塊pxi總線的多功能數(shù)據(jù)采集卡和相應(yīng)的軟件組成。將它們安裝在一臺運行windows的pc上,即構(gòu)成一個功能強大的可存儲數(shù)字示波器。數(shù)字示波器的前面板如圖1所示。

          本文引用地址:http://www.ex-cimer.com/article/20852.htm

          ● 數(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支持?jǐn)?shù)值型、布爾型、文本型和串等數(shù)據(jù)類型,而且最大優(yōu)點是能夠通過對話框形式的交互式操作生成標(biāo)準(zhǔn)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è)計其他虛擬儀器。




          關(guān)鍵詞:

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();