關(guān) 閉

新聞中心

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

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

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


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


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

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


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



評論


相關(guān)推薦

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

關(guān)閉