国产肉体XXXX裸体137大胆,国产成人久久精品流白浆,国产乱子伦视频在线观看,无码中文字幕免费一区二区三区 国产成人手机在线-午夜国产精品无套-swag国产精品-国产毛片久久国产

新聞中心

EEPW首頁 > EDA/PCB > 設計應用 > 高速HDLC數據實時接收/測試儀的設計實現

高速HDLC數據實時接收/測試儀的設計實現

作者: 時間:2006-05-07 來源:網絡 收藏

摘要:介紹了高速HDLC數據接收/測試儀的設計實現方案。該測試儀通過使用現場可編程邏輯電路(FPGA)技術和多線程軟件結構,將硬件的高速處理特性和軟件的靈活性相結合?;赑CI總線的硬件接收卡將高速數據實時傳送至系統緩沖區(qū),然后調用軟件進行并行數據處理,從數據流中提取出測試信息,完成接收與測試功能。

本文引用地址:http://m.ptau.cn/article/226428.htm

關鍵詞:HDLC 實時數據處理 多線程

在通信系統的測試中,經常需要實時接收和處理HDLC格式數據。使用自行開發(fā)的高速HDLC數據實時接收/測試儀可以很好地保證數據處理的靈活性,用戶可以根據具體的處理環(huán)境來定制測試儀的功能和性能指標。本文結合一個通信誤碼率測試 儀的開發(fā)過程,介紹高速HDLC數據接收/測試處理板的設計原理和結構。

1 系統組成

該高速HDLC數據接收/測試儀共分為兩部分,一部分為數據接收硬件,由一塊微機插卡實現;另一部分為接收終端軟件,由運行于Windows操作系統平臺的軟件實現。硬件板卡基于PCI總線結構,使用FPGA技術將數據讀寫和HDLC協議解釋固化于硬件平臺,以提高實時處理性能,同時在終端軟件上采用多線程并行處理技術減少處理延時,完成實時數據處理和指標統計。

2 高速HDLC數據接收/測試儀硬件設計

2.1 基本技術要求

(1)可接收HDLC格式數據,也可接收同步觸發(fā)模式數據,其工作狀態(tài)可由軟件通過計算機端口進行控制;

(2)接收板可接收的最高數據速率為10Mbit/s;

(3)可將HDLC格式數據中的空幀過濾掉,也可接收所有數據幀,其工作模式由軟件控制;

(4)可工作于自發(fā)自收狀態(tài),以利于調試;

(5)接收板的兼容性要好。

2.2 接收板工作原理

數據接收板原理框圖如圖1所示。測試數據通過RS-422電纜傳送到數字接收板的數據接收端,經電平轉換后,磅給FPGA處理。接收板上由接收芯片MC3486接收RS-422電纜傳輸的差分信號,并轉換為TTL電平輸入FPGA進行信號處理。FPGA產生20位地址和寫信號,將8位的數據由SDRAM左端口寫入,同時將工作狀態(tài)反映在狀態(tài)控制端口,計算機查詢端口狀態(tài),產生相應的地址和讀信號,由SDRAM的右端口將數據讀出。為協調數據到達的不均勻性和軟件讀寫的均勻性,對SDRAM的讀寫采用“乒乓式”緩沖,即將SDRAM分為高低兩區(qū),FPGA寫高區(qū)時,計算機讀低區(qū);FPGA寫低區(qū)時,計算機讀高區(qū)。從而保證了讀寫高速進行且不會發(fā)生沖突。GAL16V8的作用是對端口地址高8位進行譯碼,以保留FPGA管腳資源。

在實現“乒乓式”緩沖讀寫時,具體是讀高區(qū)數據(起始地址為d8000)還是讀低區(qū)數據(起始地址為d90000),要通過查詢方式判定。測試軟件不斷查詢端口201h的q5,若q5為1,則查詢q7和q2,若q7=1,則讀高區(qū)數據,若q2=1,則讀低區(qū)數據。為了保證讀取的數據不掉幀,系統應能在掉幀時發(fā)出警告信息。為此,在FPGA內做一4位計數器,對幀數計數,幀計數器的值傳給端口201h的最低兩位q1和q0。軟件中設置一參數counter,首先使counter的值與幀計數器的值相同,以后每讀一幀數據,counter加1(若counter大于3,則置其為0),同時讀取幀計數器的值(即q1、q0的值),與counter比較,二者不同時則發(fā)出警告信息。

接收板的狀態(tài)控制端口參數列于表1。

表1 實時HDLC數據接收板端口控制參數

端口名稱 端口作用 數據流向 功 能
201h 狀態(tài)控制 雙向端口 讀入時 Q7=1,計算機讀SDRAM低區(qū) 寫入時 Q0=0,過濾空幀
Q0=1,接收所有幀
Q7=0,計算機讀SDRAM高區(qū) Q1=0,工作于HDLC
Q1=1,工作于同步
202h 空幀計數器 只讀 對空幀計數
203h 數據幀計數器 只讀 對數據幀計數

讀取HDLC格式的數據時,每幀需從第四個地址單元讀取數據,即D8003h和D9003h;讀取固定速率突發(fā)方式的數據時,每幀需從第一個地址單元讀取數據。讀取的每幀數據中包含有該幀數據個數的信息,通過此信息,軟件決定何時讀完幀數據。測試數據通通RS-422電纜傳送到插卡的數據接收端,經電平轉換后,送給FPGA處理。主要是將HDLC格式和固定速度突發(fā)方式的數據解調,解調后的有效數據以乒乓方式發(fā)生一高速雙口RAM,計算機通過訪問RAM(地址定為D8000~D9FFFh)來讀取測試數據。

3 高速HDLC數據接收/測試儀軟件設計

測試儀軟件負責讀取緩沖區(qū)數據并實時處理和顯示。軟件由Visual C++編寫,可運行于Win95/98/2000/NT平臺。軟件采用多線程并行處理構架,如圖2所示。

3.1 界面線程

界面線程負責顯示數據處理結果和用戶交互操作。界面線程將數據處理的結果實時顯示出來,包括統計結果、數據源碼和數據段信息等測試內容。

3.2 緩沖區(qū)線程

緩沖區(qū)線程負責將該緩沖區(qū)內的數據及時讀取并鎖定至軟件緩沖區(qū),并且將數據進行初始處理。

在整個測試儀軟件中,緩沖區(qū)線程負責主要的數據處理工作。在緩沖區(qū)線程中,一個處理循環(huán)在不停運行,直到界面線程的暫停和終止命令發(fā)生時停止。在該處理循環(huán)中,不停地對端口201h的q5位進行查詢,以判別是否有數據到達。如果有數據,則判別緩沖區(qū)位置,并將硬件緩沖區(qū)的數據及時讀至軟件緩沖區(qū),等待后續(xù)處理。為協調高速數據和后緩數據處理之間的時間矛盾,軟件采用三級緩沖:第一級緩沖通過板卡將數據寫入至系統內存;第二級緩沖將系統內存管理的硬件緩沖緩沖區(qū)數據移至軟件緩沖區(qū);第三級緩沖將軟件緩沖區(qū)數據移至處理緩沖區(qū)。

為提高數據處理靈活性,測試儀軟件提供定制緩沖區(qū)功能。通過該功能,操作者可以根據實際接收的數據情況來靈活配置測試儀。對于高頻度短數據,采用較大緩沖區(qū);反之,對于較低頻度長數據,采用較小緩沖區(qū)。這樣,可減少數據緩沖的時間消耗,提高實時性。

3.3 數據處理線程

數據處理線程負責根據數據協議對原始數據進行拆包、信息處理和實時統計。

對于HDLC幀格式數據,HDLC協議層數據處理已在硬件FPGA中完成,輸出至緩沖區(qū)的數據直接就是透明數據。此時,數據處理線程的主要處理對象就是存于數據處理緩沖區(qū)中的數據。根據數據協議,測試儀軟件首先將數據組合幀人原始數據中取出,并分離出組合幀中包含的總幀長、包含子幀數等信息。然后根據這些信息將組合幀拆分成子幀,再根據數據協議將內部包含的通信信息取出,并調用實時統計模塊進行指標統計。數據處理流程如圖3所示。

本文介紹的高速HDLC數據接收/測試儀具有可靠性高、運行性能穩(wěn)定、功能定制靈活等優(yōu)點。以它為主要框架的通信誤碼率測試儀已經成功應用于某衛(wèi)星地面站設備的出廠測試中。在測試過程中,程序穩(wěn)定可靠運行,同時,基于Windows的圖形界面提供了充足的信息顯示和良好的人機交互接口,提高了測試結果的可視性。今后,測試儀將從硬件和軟件兩個方面進一步提高響應能力,提高數據吞吐效率,使之更好地滿足實際使用要求。



評論


相關推薦

技術專區(qū)

關閉