0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于FPGA的誤碼測試儀研究與設計

電子工程師 ? 來源:微型機與應用 ? 作者:張強;彭向偉 ? 2021-04-22 15:01 ? 次閱讀

摘 要: 誤碼率是反映數(shù)據(jù)傳輸設備及其信道工作質量的一個重要指標。作為通信系統(tǒng)的可靠性測量工具,誤碼測試儀廣泛地應用于通信設備的生產(chǎn)調試、檢驗以及日常維護等方面。在對傳統(tǒng)誤碼儀設計的研究和分析之后,研究并設計了一種基于FPGA的誤碼測試儀,詳細地分析和介紹了各個模塊的工作原理。

隨著科技的發(fā)展,信息通信已成為人們日常生活中必不可少的一部分。數(shù)字通信因其抗干擾能力強、通信質量不受距離的影響、通信保密性好等特點而得到廣泛應用和迅速發(fā)展[1]。與此同時,數(shù)字通信的傳輸可靠性就尤為重要了,而誤碼測試儀作為評估數(shù)據(jù)傳輸通道質量的重要工具被廣泛地應用。

誤碼率是反映數(shù)據(jù)傳輸設備及其通信信道工作質量的一個重要指標。誤碼測試儀就是通過檢測數(shù)據(jù)傳輸系統(tǒng)的誤碼指標,對其系統(tǒng)的數(shù)據(jù)傳輸質量進行評估的一種工具。傳統(tǒng)的誤碼儀大多數(shù)都具備了諸如操作簡單、結果直觀精確、測試內容豐富等優(yōu)點,但是同時也存在體積偏大、價格昂貴、只適用于某些專用信道測試以及不易與某些接口適配等方面的問題[2]。因此分析和對比了現(xiàn)有的誤碼儀,研究和設計了一種基于FPGA的誤碼測試儀。

1 m序列

偽隨機序列也叫做偽隨機碼,是為模仿隨機序列的隨機特性而產(chǎn)生的一種碼流。在一般的通信工程應用中,常采用二進制偽隨機序列。偽隨機序列只有0和1兩種狀態(tài),一般是通過反饋移位寄存器來產(chǎn)生的,這種反饋移位寄存器可分為線性反饋和非線性反饋移位寄存器兩種。其中由線性反饋移位寄存器產(chǎn)生的周期最長的二進制數(shù)字序列叫做最大長度線性反饋移位寄存器序列,也稱m序列。因為其自身的自相關性和良好的統(tǒng)計特性,m序列廣泛地用于密碼學和誤碼測試等應用。

如圖1所示,m序列信號發(fā)生器是在n級線性移位寄存器的基礎上,加上反饋邏輯電路構成的。正是由于m序列的這種結構特點,所以非常適合于通過FPGA來產(chǎn)生。一般地,m序列信號發(fā)生器有兩種結構:Fabonacci型和Galois型[3]。

o4YBAGCBHxKAGew3AABLudou6DE377.png

本文采用Fabonacci型移位寄存器來產(chǎn)生m序列。這種結構的特點是移位寄存器的反饋抽頭位置和本原多項式是一致的,序列與寄存器的初始狀態(tài)相對應,而碼流序列的產(chǎn)生速度主要受反饋網(wǎng)絡的時延影響。

an是各個移位寄存器的狀態(tài),cn是對應的各移位寄存器的反饋系數(shù),系數(shù)為1時表示參與反饋;為0時表示不參與反饋。反饋函數(shù)為:an=c0a0+c1a1+…+cn-1an-1。在每一個時鐘脈沖時刻,高位的移位寄存器將狀態(tài)值傳給下一個移位寄存器。一旦級數(shù)和反饋系數(shù)確定了,則反饋移位寄存器的輸出序列也就確定了。

m序列的一個重要的性質就是任何一個m序列的循環(huán)移位仍是一個m序列,序列長度為m=2n-1。由于移位寄存器狀態(tài)全為0時系統(tǒng)會陷入死循環(huán),所以當意外出現(xiàn)全為0的情況時使an-1等于1,跳出全0狀態(tài)實現(xiàn)自啟動。

本文根據(jù)誤碼測試的需要,設計了9位、15位和23位寄存器的3個不同長度的m序列。根據(jù)ITU—T的建議,它們的本原多項式分別為x9+x5+1、x15+x14+1和x11+x9+1。設計選用的FPGA芯片為 Cyclone IV代的 EP4CE15系列,該芯片有15 408個邏輯單元,165個I/O口,4個PLL,端口支持頻率可達600 Mb/s以上[4]。

發(fā)送端提供3種類型m序列,支持在一定范圍內的發(fā)送時鐘頻率的改變。本設計主要是基于低速的數(shù)字通信設計,發(fā)送頻率設置為2N,N為0~20的整數(shù),單位為MHz。

在系統(tǒng)模塊中設計了一個按鍵模塊用于選擇發(fā)送序列的級數(shù)以及發(fā)送時鐘頻率。由于在按動按鍵時通常會出現(xiàn)抖動和其他情況,所以采用了防抖動設計,其基本原理就是運用一個小的狀態(tài)機,記住先前的狀態(tài),然后再對接下來的電平變化進行判斷。

2 誤碼儀總體設計及其工作原理

一般地,誤碼儀主要由發(fā)送端和接收端兩部分組成。發(fā)送端就是一個偽序列發(fā)生器,負責產(chǎn)生用來檢測被測信道的碼流。該流碼必須具有隨機性和重復可生成性,通常采用m序列作為測試碼。接收端則是誤碼儀最重要的一部分,其主要作用為接收從被測信道傳來的測試序列,并從序列碼中提取時鐘信號,在此基礎上恢復出本地序列,然后進行序列碼流對比并統(tǒng)計出誤碼。

如圖2所示,發(fā)送端就是m序列產(chǎn)生模塊,接收端包括位同步模塊、序列同步模塊和誤碼計數(shù)模塊等。下面分別就各個模塊做較為詳細的介紹說明。

3665319476654.gif

2.1 誤碼信號檢測原理

誤碼率是指在測量的時間內錯誤的數(shù)字碼元數(shù)量與數(shù)字碼元總數(shù)之比。這個工作主要由兩個計數(shù)器完成,一個計數(shù)器計數(shù)誤碼,而另一個則計數(shù)總的碼數(shù)。

誤碼測試儀由發(fā)送和接收兩部分組成,發(fā)送模塊要求發(fā)出標準的數(shù)據(jù)信號作為測試信號,代替實際線路中的傳輸信號送到被測系統(tǒng)中。接收部分要求能產(chǎn)生與發(fā)送部分完全相同的數(shù)據(jù)信號,用以與接收到的信號逐位比較。

由圖3可知,由信道傳送到接收機的序列碼通過異或門與接收機產(chǎn)生的序列進行比較,若相同則輸出為0,若不同則輸出為1并計為1個誤碼, 最后再統(tǒng)計總的碼元數(shù)和誤碼數(shù),從而得到準確的誤碼數(shù)或誤碼率。

3665456753190.gif

總的來說, 誤碼儀檢測的工作流程可概括為以下幾個步驟:

(1)以某種方式產(chǎn)生并發(fā)送碼組相同的碼型,以相同相位的本地碼組作為對比標準;

(2)將本地恢復碼元與從信道接收到的碼組逐個進行比較, 并輸出誤碼脈沖信號;

(3)對誤碼脈沖信號進行統(tǒng)計, 并給出相應的誤碼率。

由于傳統(tǒng)的誤碼儀一般用于專用的通信信道測試,其接口類型較為單一。為此本文設計了RS422、E1、E2接口,擴展了誤碼測試的接口類型。

2.2 位同步模塊

位同步模塊的主要工作就是提取信道中碼流的時鐘,它由一個跳變沿捕捉模塊、一個狀態(tài)寄存器和一個計數(shù)器組成。如圖4所示,其中data是輸入系統(tǒng)的串行信號(m序列),clk是頻率為串行信號碼元速率的2N倍的高頻時鐘信號,a是系統(tǒng)產(chǎn)生的與輸入串行信號碼元位同步的脈沖信號,即位同步脈沖。

3665608227075.gif

系統(tǒng)工作時,當輸入信號data發(fā)生變化時,捕捉模塊就能及時抓捕到這次跳變,并產(chǎn)生一個脈沖信號c,該信號可以將可控計數(shù)器清零,同時將狀態(tài)寄存器的輸出b置為0,并送到計數(shù)器中。計數(shù)器進行模為2N的計數(shù),待計滿后就輸出脈沖信號a,該信號一方面可作為整個系統(tǒng)輸出的位同步時鐘信號;

另一方面它也被接入了狀態(tài)寄存器,控制狀態(tài)寄存器的輸出b在計數(shù)器完成N的記數(shù)后就變?yōu)?;在沒有c脈沖信號時使b保持為1,使計數(shù)器的模值保持為2N,直到輸入信號data產(chǎn)生新的跳變并產(chǎn)生新的c脈沖信號。

由此可見,在輸入信號為連1或連0的情況下,只要系統(tǒng)使用的時鐘信號足夠精確,就可以保證在一定時間里輸出滿足要求的位同步時鐘,而在輸入信號data發(fā)生跳變時系統(tǒng)又會捕捉該跳變沿并以此為基準來輸出位同步時鐘。為了保證系統(tǒng)的精確性,文本中采用2N等于10。

2.3 序列同步模塊

前面已經(jīng)指出m序列是周期序列,測試序列和檢驗序列的比較應以周期內的同一位置作為起點。因此在序列比較前應首先進行序列同步。常見的序列同步方法有滑動相關捕捉法、序列相關捕捉法、SAW器件捕捉法等。但是這些方法都存在著結構復雜、同步時間較長等缺陷,不適合用FPGA實現(xiàn)。

序列同步模塊的一個重要作用就是根據(jù)位同步模塊得到同步時鐘并產(chǎn)生本地檢測碼元序列,通常采用的是灌碼的方式。如圖5所示,在初始狀態(tài)下開關K置于B位置,發(fā)送端送來的測試序列在完成位同步后按從高位到低位的順序依次送入移位寄存器,存滿后開關K就置于A的位置。移位寄存器和模二加法器在本地時鐘的驅動下產(chǎn)生出檢驗序列。這里要強調的是,本地碼元的m序列發(fā)生器和誤碼儀發(fā)送端的m序列產(chǎn)生器結構完全一致。

pIYBAGCBHsmAM8yAAADKgt6ydO4161.png

以9階的m序列為例,由于m序列的下一存儲器狀態(tài)組合僅由當前的狀態(tài)組合所決定,因此只要最初接收到的9個碼元是正確的,則其隨后產(chǎn)生的所有碼元都是與測試序列相同和同步的。在這之后,測試序列與檢驗序列需要進行一次相關比較,假如在若干個(如10個)碼元周期內其相關值超過閾值,則可認為兩序列同步,否則需要重新進行同步操作。

采用這一方法之后,序列同步的時間大大縮短,有利于進行碼流的快速測試。

2.4 誤碼計數(shù)和顯示

將恢復出來的本地檢測序列與被測信道傳輸來的測試序列相比較可以檢測出誤碼。兩個碼流通過一個異或門比較,相同為0,不同則為1,然后計數(shù)器統(tǒng)計1的個數(shù)得出總的誤碼數(shù)。

誤碼測試儀定時每隔1 s進行誤碼統(tǒng)計,并將結果通過點陣型液晶顯示器顯示,直觀地顯示實時誤碼情況。為了便于簡化硬件電路,設計采用FPGA直接驅動液晶顯示器。

特別地,由于程序設計中會用到除法運算,而除法運算會消耗大量的FPGA邏輯單元,因此本設計中采用獨特的算法將除法運算轉換成位運算,極大地減少了系統(tǒng)資源的占用。

3 誤碼測試儀的IP內核

該誤碼測試儀基于FPGA設計,程序采用Verilog HDL編寫。其建模的編程特點使得系統(tǒng)更直觀和便于實現(xiàn)[5]。圖6為誤碼測試儀的內核模塊系統(tǒng)框架。所有的程序編寫都遵循自底而上的建模思想。

pIYBAGCBHtuAJqNwAAHUR_hzihs106.png

圖6所示的IP核框架大致給出了本次系統(tǒng)設計的主要部分模塊。在這里只給出了一部分的輸入和輸出信號。下面就一些信號做簡單介紹說明。Clkin 為外部時鐘輸入40 MHz。DATAin為經(jīng)過被測信道的m序列。Clka、Clkb、Clkc分別為倍頻或分頻后的時鐘信號。Ctrl為LCM控制信號。按鍵模塊控制發(fā)送序列的級數(shù)和發(fā)送時鐘頻率,而LED信號主要控制LED燈顯示誤碼儀工作狀態(tài)。

本文研究了一種低速數(shù)字通信系統(tǒng)的誤碼測試儀。該誤碼測試儀是基于FPGA(現(xiàn)場可編程門陣列)為核心設計而成,適用于斷線誤碼檢測。該測試儀可以在發(fā)送端發(fā)送頻率不明的情況下進行碼流的時鐘恢復,這樣就使得其使用范圍更廣。同時根據(jù)FPGA的特點,系統(tǒng)還設計有AS下載口和JTAG下載口以及留出了一些多的I/O口,這樣可以方便以后功能的增加和系統(tǒng)軟件的升級。程序結構編寫中,采用了一些獨特的算法使得系統(tǒng)資源占用減少,同時增加了系統(tǒng)的智能性。

設計中軟件采用的是Verilog HDL編寫程序,軟件開發(fā)環(huán)境使用的是Altera公司EDA開發(fā)工具quartusII 11.0。整個系統(tǒng)體積較小,具有一定的智能性且價格便宜,適用于一般的數(shù)字通信線路測試以及個人架設的通信信道。經(jīng)過測試,系統(tǒng)的性能可以達到測試的基本要求。

參考文獻

[1] 劉江。基于FPGA的誤碼率測試儀的設計與實現(xiàn)[J]。微計算機信息,2005,2l(4):162-163.

[2] 王輝。基于DSP和FPGA的開環(huán)多碼型誤碼測試儀的設計[J]。測控技術與儀器儀表,2010,36(9):115-118.

[3] 鄒學玉,易國華。一類基于FPGA的m序列發(fā)生器設計[J]。 長江大學學報,2006,9(3):84-86.

[4] Altera Corp.Cyclone Device Handbook[DB/OL].[2013-07-15].http://www.a(chǎn)ltera.conl.2010.

[5] 王金明.VerilogHDL 程序設計教程[M]。北京:人民郵電出版社,2004.

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1625

    文章

    21620

    瀏覽量

    601234
  • 寄存器
    +關注

    關注

    31

    文章

    5294

    瀏覽量

    119814
  • 發(fā)生器
    +關注

    關注

    4

    文章

    1359

    瀏覽量

    61604
  • 信息通信
    +關注

    關注

    0

    文章

    85

    瀏覽量

    10896
收藏 人收藏

    評論

    相關推薦

    誤碼測試儀的技術原理和應用場景

    誤碼測試儀是一種用于測量數(shù)字信號中誤碼率的測試儀器,其技術原理和應用場景如下:技術原理誤碼測試儀
    發(fā)表于 10-25 14:05

    內置誤碼測試儀(BERT)和采樣示波器一體化測試儀器安立MP2110A

    BERTWave MP2110A是一款內置誤碼測試儀(BERT)和采用示波器的一體化測量儀器,支持光模塊的誤碼率(BERT)測量、眼圖模式測試、眼圖分析等評估操作
    的頭像 發(fā)表于 09-23 14:34 ?212次閱讀
    內置<b class='flag-5'>誤碼</b>率<b class='flag-5'>測試儀</b>(BERT)和采樣示波器一體化<b class='flag-5'>測試儀</b>器安立MP2110A

    M8020A J-BERT 高性能比特誤碼測試儀

    M8020A 比特誤碼測試儀 J-BERT M8020A 高性能 BERT 產(chǎn)品綜述 Keysight J-BERT M8020A 高性能比特誤碼測試儀能夠快速、準確地表征傳輸速率
    的頭像 發(fā)表于 08-21 17:13 ?158次閱讀

    山東防水測試儀的標準設置

    作為檢測產(chǎn)品防水性能的重要設備,防水測試儀的標準設置對于保證測試結果的準確性和可靠性非常重要。本文將簡要介紹防水測試儀的標準設置過程及其關鍵參數(shù)。防水測試儀通常分為兩種類型:手動
    的頭像 發(fā)表于 08-21 11:46 ?216次閱讀
    山東防水<b class='flag-5'>測試儀</b>的標準設置

    麻醉針針管流量測試儀簡述

    文章由濟南三泉智能科技有限公司提供針管流量測試儀是用于檢測醫(yī)用針管流量性能的專用儀器。以下是關于針管流量測試儀的詳細介紹:一、概述針管流量測試儀通過模擬人體注射過程中的針管內壓力變化,
    的頭像 發(fā)表于 05-27 11:56 ?306次閱讀
    麻醉針針管流量<b class='flag-5'>測試儀</b>簡述

    LCR測試儀的基本概念和工作原理 LCR測試儀的功能特點和應用領域

    在電子工程、通信和電力等領域,對電感、電容和電阻(簡稱LCR)的測量和評估是至關重要的。LCR測試儀是一種能夠準確、快速地測量這些參數(shù)的電子測試儀器,其重要性不言而喻。本文將詳細闡述LCR測試儀的基本概念、工作原理、功能特點、應
    的頭像 發(fā)表于 05-11 15:48 ?3090次閱讀

    阻抗測試儀測試頻率是多少

    阻抗測試儀測試頻率范圍是衡量其性能的重要參數(shù)之一,它決定了測試儀能夠測量的信號頻率的上限。
    的頭像 發(fā)表于 05-08 18:19 ?1663次閱讀

    導熱系數(shù)測試儀:科技助力材料性能研究

    導熱系數(shù)測試儀是現(xiàn)代材料科學領域中不可或缺的工具,它為研究材料的導熱性能提供了高效、精確的測試方法。隨著科技的不斷進步,導熱系數(shù)測試儀在材料研發(fā)、質量控制和性能評估等方面發(fā)揮著越來越重
    的頭像 發(fā)表于 04-30 14:59 ?292次閱讀
    導熱系數(shù)<b class='flag-5'>測試儀</b>:科技助力材料性能<b class='flag-5'>研究</b>

    藍牙測試儀的作用

    公司主營出售/回收:示波器、頻譜分析、網(wǎng)絡分析、信號發(fā)生器、萬用表/示波器校準、手機綜合測試儀、噪聲系數(shù)分析、數(shù)據(jù)采集器、NI-GP
    的頭像 發(fā)表于 03-29 11:19 ?843次閱讀

    接地電阻測試儀使用方法 接地電阻測試儀與絕緣電阻測試儀的區(qū)別

    接地電阻測試儀使用方法 接地電阻測試儀是一種用于測量接地體電阻的儀器,廣泛應用于建筑、電力、通信、化工等領域。以下是接地電阻測試儀的使用方法: 首先,將接地電阻測試儀的紅色
    的頭像 發(fā)表于 02-18 16:11 ?1424次閱讀

    導熱系數(shù)測試儀使用方法 導熱系數(shù)測試儀原理是什么

    導熱系數(shù)測試儀是一種用于測量材料導熱性能的儀器,它可以幫助我們評估不同材料的導熱性能,從而為科學研究、工程設計和材料選擇提供參考。下面將詳細介紹導熱系數(shù)測試儀的使用方法和工作原理。 導熱系數(shù)
    的頭像 發(fā)表于 01-25 10:42 ?1629次閱讀

    電阻測試儀怎么使用

    電阻測試儀是一種用于測量電阻的儀器,廣泛應用于電子、電工、通信等領域。本文將詳細介紹電阻測試儀的使用方法和注意事項。 電阻測試儀的主要組成部分 電源部分:為被測電阻提供穩(wěn)定的電壓源。 電流測量部分
    的頭像 發(fā)表于 01-03 16:58 ?4715次閱讀

    LCR測試儀有什么用?LCR測試儀使用說明

    LCR測試儀有什么用?LCR測試儀使用說明? LCR測試儀是一種專門用來測量和分析電感、電容和電阻等電學元件參數(shù)的儀器。LCR測試儀在電子產(chǎn)品制造、電子維修、研發(fā)和教學等領域應用廣泛,
    的頭像 發(fā)表于 12-21 16:01 ?1983次閱讀

    電容電感測試儀有什么特點 電容電感測試儀使用方法

    電容電感測試儀有什么特點 電容電感測試儀使用方法? 電容電感測試儀是一種常用的電子測試設備,用于測量電容和電感的參數(shù)。它具有以下特點: 1. 高精度測量:電容電感
    的頭像 發(fā)表于 12-20 14:13 ?781次閱讀

    接地電阻測試儀如何接線

    接地電阻測試儀是用來測試接地系統(tǒng)的電阻值的儀器,它主要用于保護人員和設備的安全。接地電阻測試儀的準確測試結果對于防止電擊事故和保證設備正常運轉非常重要。正確的接線是確保
    的頭像 發(fā)表于 12-01 14:32 ?3757次閱讀