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

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 基于高速數(shù)據(jù)采集卡的虛擬示波器設(shè)計(jì)

          基于高速數(shù)據(jù)采集卡的虛擬示波器設(shè)計(jì)

          作者: 時間:2006-09-18 來源:網(wǎng)絡(luò) 收藏

          摘要:基于PCI接口的compuScope 82G型和Visual c++編程工具.設(shè)計(jì)了一種快速示波器試驗(yàn)系統(tǒng),為了保證數(shù)據(jù)采集和波形顯示的實(shí)時性,設(shè)計(jì)中采用了多線程技術(shù)。該系統(tǒng)集波形采集、數(shù)據(jù)分析、輸出、顯示為一體,實(shí)現(xiàn)了的采集和動態(tài)波形的顯示,并且在此基礎(chǔ)上實(shí)現(xiàn)了傳統(tǒng)示波器無法實(shí)現(xiàn)的頻譜分析和數(shù)字濾波功能。
          關(guān)鍵詞儀器;示波器;數(shù)據(jù)采集;CompuScope 82G

          1 引言
          虛擬儀器(VI-ViItuaIInstrument)是指通過應(yīng)用程序?qū)⑼ㄓ糜?jì)算機(jī)與功能化硬件結(jié)合起來,用戶可通過友好的圖形界面操作計(jì)算機(jī),就像在操作自己定義、自己設(shè)計(jì)的單個儀器一樣,從而完成對被測量的采集、處理、分析、判斷、顯示、數(shù)據(jù)存儲等。在這種儀器系統(tǒng)中,各種復(fù)雜測試功能、數(shù)據(jù)分析和結(jié)果顯示都完全由計(jì)算機(jī)軟件完成,在很多方面較傳統(tǒng)儀器有無法比擬的優(yōu)點(diǎn),如使用靈活方便、測試功能豐富、價格低廉、一機(jī)多用等,這些使得虛擬儀器成為未來電子測量儀器發(fā)展的主要方向之一。

          當(dāng)今虛擬儀器系統(tǒng)開發(fā)采用的總線包括傳統(tǒng)的Rs232串行總線、GPIB通用接口總線、VXI總線、PCI總線和IEEE 1394總線即Firewire(也叫做火線)。

          本文介紹基于PCI總線接口的CompuS,cope82G型和Visual C++編程工具的快速虛擬示波器試驗(yàn)系統(tǒng),該系統(tǒng)集波形采集、數(shù)據(jù)分析、輸出、顯示為一體。為了保證數(shù)據(jù)采集和波形顯示的實(shí)時性,設(shè)計(jì)中還采用了多線程技術(shù)。

          2 系統(tǒng)組成和的硬件結(jié)構(gòu)
          2.1 系統(tǒng)組成
          虛擬示波器系統(tǒng)主要由數(shù)據(jù)采集卡、計(jì)算機(jī)和專用軟件組成,其中,數(shù)據(jù)采集卡完成對輸入測量信號的調(diào)理采集和緩存,并通過計(jì)算機(jī)PCI總線送入內(nèi)存;計(jì)算機(jī)在應(yīng)用程序控制下對數(shù)據(jù)進(jìn)行處理、運(yùn)算,最后完成各種電量測試并在屏幕上用圖形或數(shù)據(jù)形式顯示。這一切均在人機(jī)交互方式下完成。

          2.2 數(shù)據(jù)采集卡的硬件結(jié)構(gòu)

          本虛擬示波器采用Gage公司的CompuScope82G型高速數(shù)據(jù)采集卡作為PCI接口。采集卡的硬件結(jié)構(gòu)如圖1所示。

          該數(shù)據(jù)采集卡主要由前置濾波器、可程控衰減器、可程控模擬放大電路、A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器、計(jì)數(shù),定時電路、振蕩電路、時序控制電路及PCI接口電路組成,其功能電路由數(shù)字控制邏輯電路統(tǒng)一控制。該卡是具有2個模擬量輸入通道的標(biāo)準(zhǔn)的PCI總線插卡,卡上集成的2個高速8位ADC的工作頻率高達(dá)IGHz,在單通道工作模式下,2個ADC同時工作,分別在脈沖的上升沿和下降沿進(jìn)行轉(zhuǎn)換,所以最高采樣頻率可以達(dá)到2GHz。卡上配置有16M的高速存儲器,解決了高采樣率和相對較低PCI總線數(shù)據(jù)傳輸速率的匹配問題。在使用之前必須對采集卡的硬件進(jìn)行配置,這些控制程序用到相應(yīng)的底層DAQ驅(qū)動程序。通過采集卡自帶的DLL可以在程序中靈活地對硬件進(jìn)行控制,比如輸入阻抗、輸入電壓范圍、放大器增益、采樣頻率、每次采樣點(diǎn)數(shù)等。

          3 系統(tǒng)的軟件設(shè)計(jì)
          3.1 虛擬示波器的軟件開發(fā)環(huán)境
          虛擬儀器最核心的技術(shù)是軟件技術(shù)。目前,用于虛擬儀器開發(fā)的軟件開發(fā)平臺主要有二大類:一類是通用的可視化軟件編程環(huán)境,主要有Microsoft公司的Visual C++和Visual Basic、Inprise公司的Delphi和C++Builder等;另一類是一些公司推出的專用于虛擬儀器開發(fā)軟件的編程環(huán)境,主要有NI公司的圖形化編程環(huán)境LabView及文本編程環(huán)境IabWindows/CVI、Agilent公司的圖形化編程環(huán)境Agilent VEE??紤]到軟件的靈活性、高效性和可移植性,本設(shè)計(jì)中采用visual C++作為虛擬示波器的開發(fā)環(huán)境。

          3.2 軟件功能模塊
          該虛擬示波器有5大功能模塊:信號采集、用戶界面、頻譜分析、數(shù)字濾波、波形顯示。

          3.2.1信號采集模塊
          信號采集模塊主要完成數(shù)據(jù)的采集,根據(jù)采集信號的不同選用不同的采樣頻率。該模塊中的應(yīng)用程序通過采集卡的驅(qū)動程序和硬件進(jìn)行通信,如果把該模塊放在程序主線程中實(shí)現(xiàn),那么,當(dāng)應(yīng)用程序與驅(qū)動程序進(jìn)行數(shù)據(jù)通信時主界面就會凍結(jié)。為了解決這個問題,本文直接創(chuàng)建一種子線程來單獨(dú)完成與驅(qū)動程序的通信任務(wù),讓主界面專用于響應(yīng)視窗界面的信息。在子線程中通過調(diào)用gage_start_capture()函數(shù)進(jìn)行數(shù)據(jù)的采集。圖2示出數(shù)據(jù)采集流程。數(shù)據(jù)采集的主要代碼如下:


          3.2.2用戶界面模塊
          界面主要切分為3個視圖:主視圖基類為ScrollView,用于顯示波形;2個視圖基類為For-mView,1個用于動態(tài)顯示采集數(shù)據(jù)的特征參數(shù),另1個用于對示波器進(jìn)行操作。整個軟件的主界面設(shè)計(jì)如圖3所示。

          3.2.3頻譜分析模塊
          本軟件利用快速傅里葉變換(FFT)進(jìn)行頻譜分析。頻譜分析采用按時間抽取FFT算法,然后將幅值頻譜分析結(jié)果在用戶界面上以坐標(biāo)曲線形式顯示。進(jìn)行FFT時可以選擇點(diǎn)數(shù),有1024、2048、4096 3種選擇,如果點(diǎn)數(shù)不夠,程序自動補(bǔ)零。

          3.2.4數(shù)宇濾波模塊
          本軟件可以對所采集的信號進(jìn)行低通和高通濾波。首先根據(jù)給定通帶截止頻率、阻帶截止頻率、通帶衰減和阻帶衰減設(shè)計(jì)出巴特沃思(Butter-worth)模擬濾波器,再用雙線性變換法設(shè)計(jì)出數(shù)字濾波器。

          3.2.5波形顯示模塊
          虛擬示波器的工作原理是對信號波形進(jìn)行高速采樣,采樣值被數(shù)字化后存儲起來,當(dāng)重建波形時便從緩沖區(qū)取數(shù),然后用清晰、均勻一致的軌跡映像在屏幕上。由于采集的模擬波形經(jīng)數(shù)字化后成為一串離散數(shù)據(jù),因此,如何重建信號波形是虛擬示中的關(guān)鍵問題之一。當(dāng)前的波形顯示主要有分段顯示和滾動顯示。這里采用滾動顯示,并且提出一種新的滾動顯示算法,突破了滾動顯示只能觀察變化緩慢的信號的限制。算法核心思想如下:

          (1)得到所采集數(shù)據(jù)塊的第1個和最后1個數(shù)據(jù)點(diǎn)的橫坐標(biāo)m_xMin和rn_xMax,m_xMax-m_xMin為波形的邏輯寬度。

          (2)m_xMax-m_xMin的值為邏輯坐標(biāo),把它轉(zhuǎn)化為設(shè)備坐標(biāo)cx,用cx設(shè)定整個滾
          動視圖的寬度。

          (3)為了提高畫圖的效率,只需畫出滾動視圖可視部分的圖形,也就是剪裁區(qū)的圖形,因此要得到剪裁區(qū)。

          (4)畫出坐標(biāo)及剪裁區(qū)內(nèi)的一段波形。

          (5)利用CSplitterWnd::DoSerollBy()函數(shù),根據(jù)采樣間隔的大小決定斷滾動視圖速度的快慢。這樣視圖滾動以后相應(yīng)的剪裁區(qū)也會發(fā)生改變,促使動態(tài)畫出新的波形。

          主要代碼如下:


          4 實(shí)驗(yàn)與討論
          在實(shí)驗(yàn)中使用該系統(tǒng)對正弦信號和鋸齒波信號進(jìn)行了采集,并對2個通道的信號分別進(jìn)行了頻譜分析。實(shí)驗(yàn)時示波器參數(shù)設(shè)置如下:采樣模式為雙通道,其中通道1對正弦信號進(jìn)行采樣,通道2對鋸齒波信號進(jìn)行采樣;采樣率為120Ms/s;采樣深度為16 000點(diǎn);觸發(fā)源為軟件觸發(fā);觸發(fā)時間極限為20ms;輸入信號電壓范圍為~5V。實(shí)驗(yàn)結(jié)果如圖4所示。達(dá)到了預(yù)定的效果。

          本文基于Gage公司的CompuScope 82G型高速數(shù)據(jù)采集卡,用Visual C++編程工具設(shè)計(jì)出一種快速虛擬示波器試驗(yàn)系統(tǒng),實(shí)現(xiàn)了高速數(shù)據(jù)的采集和動態(tài)波形的顯示。同時提出一種新的波形滾動算法,大大改觀了滾動波形的動態(tài)顯示效果。在此基礎(chǔ)上實(shí)現(xiàn)了傳統(tǒng)示波器無法實(shí)現(xiàn)的頻譜分析和數(shù)字濾波功能。采用Visual c++作為儀器編程語言使得編寫的程序通用性和可移植性強(qiáng)。



          評論


          相關(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); })();