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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于以太網(wǎng)的虛擬示波器設(shè)計(jì)

          基于以太網(wǎng)的虛擬示波器設(shè)計(jì)

          作者: 時(shí)間:2011-01-18 來源:網(wǎng)絡(luò) 收藏


          具體示波器程序中發(fā)送和接收數(shù)據(jù)信息都是由套接字完成。嵌入式系統(tǒng)作為客戶機(jī)端,上位機(jī)則作為服務(wù)器端,其連接過程可以分為3個(gè)步驟:服務(wù)器監(jiān)聽,客戶端請(qǐng)求,連接確認(rèn)。成功連接之后,作為客戶機(jī)端的嵌入式系統(tǒng)在收到上位機(jī)發(fā)送的數(shù)據(jù)發(fā)送命令后,將被測(cè)信號(hào)數(shù)據(jù)打包通過發(fā)送至上位機(jī)。在監(jiān)測(cè)網(wǎng)絡(luò)連接方面,嵌入式系統(tǒng)與上位機(jī)之間通過心跳幀連接,當(dāng)網(wǎng)絡(luò)連接出現(xiàn)故障時(shí)嵌入式系統(tǒng)發(fā)出的心跳幀中斷。上位機(jī)可及時(shí)發(fā)現(xiàn)并退出網(wǎng)絡(luò)進(jìn)行報(bào)警。通信運(yùn)行機(jī)制如圖4所示。


          示波器通信設(shè)計(jì)充分發(fā)揮數(shù)據(jù)量大、傳輸速度快的優(yōu)點(diǎn),提高了示波器波形顯示的實(shí)時(shí)性,使其更加接近真實(shí)示波器顯示的波形。
          2.2 通道選擇及數(shù)據(jù)坐標(biāo)計(jì)算模塊
          嵌入式系統(tǒng)向上位機(jī)發(fā)送的UDP數(shù)據(jù)包包含有6種被測(cè)信號(hào)的數(shù)據(jù)信息,共計(jì)60個(gè)采樣點(diǎn),360個(gè)數(shù)據(jù)點(diǎn)。程序中通過建立數(shù)組NUM[6][60]將其分別保存并寫入上位機(jī)緩存區(qū),同時(shí)虛擬示波器界面使用復(fù)選框控件設(shè)定6個(gè)顯示通道,從而實(shí)現(xiàn)同時(shí)顯示6通道波形的功能。當(dāng)通道C(C=1~6)被選中時(shí),其對(duì)應(yīng)的復(fù)選框控件所關(guān)聯(lián)的成員變量值由FALSE變?yōu)門RUE,調(diào)用當(dāng)前NUM[C][60]數(shù)據(jù),逐個(gè)計(jì)算數(shù)據(jù)點(diǎn)對(duì)應(yīng)的坐標(biāo)并將其顯示在波形顯示窗口中。對(duì)于數(shù)字示波器來說,不僅需要超高速實(shí)時(shí)采樣速率,還需要有較高的波形分析細(xì)節(jié),因此本文的虛擬示波器采用線性插值算法進(jìn)行恢復(fù)和重建原始信號(hào),所謂線性插值就是在兩個(gè)采樣點(diǎn)之間插入一點(diǎn),用直線將采樣點(diǎn)和插值點(diǎn)連接起來。采樣點(diǎn)數(shù)據(jù)坐標(biāo)Pi(xi,yi)和插值點(diǎn)數(shù)據(jù)坐標(biāo)計(jì)算方法如下:

          式中,left為屏幕最左端數(shù)據(jù)點(diǎn)坐標(biāo),cnt為當(dāng)前數(shù)據(jù)點(diǎn)的編號(hào),即示波器接收到的第幾個(gè)數(shù)據(jù)點(diǎn)。而xvalue則是兩點(diǎn)之間間隔的距離。yvalue為縱軸幅值系數(shù),yoffset為當(dāng)前所選縱軸偏移量,插值點(diǎn)選取相鄰兩采樣點(diǎn)的中點(diǎn)。
          2.3 觸發(fā)模塊
          為使掃描信號(hào)與被測(cè)信號(hào)同步,可以設(shè)定一些條件,將被測(cè)信號(hào)不斷地與這些條件相比較,只有當(dāng)被測(cè)信號(hào)滿足這些條件時(shí)才啟動(dòng)掃描,從而使得掃描的頻率與被測(cè)信號(hào)相同或存在整數(shù)倍的關(guān)系,也就是同步。觸發(fā)的目的在于使每次顯示的初始時(shí)刻都從波形的同一位置開始,確保波形穩(wěn)定顯示。
          程序中主線程不斷地接收分線程發(fā)送來的數(shù)據(jù),首先判斷當(dāng)前數(shù)據(jù)點(diǎn)是否大于它之前的5個(gè)數(shù)據(jù)點(diǎn),如果判斷為真,則說明當(dāng)前為波形上升沿,之后數(shù)據(jù)點(diǎn)與預(yù)先設(shè)定好的觸發(fā)電平相比較;如果相等或在允許的誤差帶內(nèi),則確定該數(shù)據(jù)點(diǎn)為觸發(fā)點(diǎn),由于使用軟件實(shí)現(xiàn)觸發(fā)功能,因此虛擬示波器“掛起時(shí)間”即重新準(zhǔn)備觸發(fā)的時(shí)間很短,錯(cuò)失波形中重要事件的幾率極低。
          2.4 波形存儲(chǔ)回放模塊
          虛擬示波器程序通過建立分線程來接收數(shù)據(jù),同時(shí)還兼顧保存數(shù)據(jù)的任務(wù)。程序初始化時(shí)創(chuàng)建2個(gè)文件。
          1)歷史頁面文件,當(dāng)用戶點(diǎn)擊“開始保存”控件時(shí)程序啟動(dòng)保存功能,將以太網(wǎng)發(fā)送的數(shù)據(jù)全部寫入歷史頁面文件;
          2)歷史頁面信息文件,用來保存數(shù)據(jù)在一次保存操作中的各類信息,例如:本次數(shù)據(jù)保存的起始和結(jié)束時(shí)間、保存的數(shù)據(jù)量、符合觸發(fā)條件的數(shù)據(jù)點(diǎn)的位置等。
          當(dāng)需要實(shí)現(xiàn)波形的回放時(shí),程序根據(jù)歷史頁面信息文件保存的信息,從歷史頁面文件中篩選出指定時(shí)間段內(nèi)的數(shù)據(jù),計(jì)算各數(shù)據(jù)點(diǎn)坐標(biāo)并將其顯示于示波器屏幕內(nèi)。
          2.5 參數(shù)計(jì)算模塊
          虛擬示波器在波形正常顯示的同時(shí),根據(jù)接收到的數(shù)據(jù)實(shí)時(shí)地計(jì)算當(dāng)前信號(hào)的各類指標(biāo)。其中信號(hào)的平均值、有效值以及頻率的算法如下:


          式中,n是預(yù)先給定的參與計(jì)算的數(shù)據(jù)點(diǎn)數(shù),NUM[c][m]是保存數(shù)據(jù)的數(shù)組,tmax1-tmax2的含義是波形相鄰的兩個(gè)最值之間的平均時(shí)間,定義為波形的周期。
          2.6 前面板設(shè)計(jì)
          與文獻(xiàn)使用LabVIEW開發(fā)工具設(shè)計(jì)的虛擬示波器前面板相比,本文虛擬示波器前面板控件類型更加豐富、美觀,通過模擬實(shí)際示波器的各項(xiàng)操作,顯示處理結(jié)果,其設(shè)計(jì)如圖5所示。界面包括波形顯示窗口和控制區(qū)域2個(gè)部分。其中控制區(qū)域根據(jù)儀器功能需要設(shè)有:通道選擇、刻度選擇、波形存儲(chǔ)、頻譜分析、計(jì)算等各類控制按鍵。



          評(pí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); })();