《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的誤碼測試儀研究與設計
基于FPGA的誤碼測試儀研究與設計
來源:微型機與應用2013年第24期
張 強,彭向偉
(重慶郵電大學 工業物聯網與網絡化控制教育部重點實驗室,重慶400065)
摘要: 誤碼率是反映數據傳輸設備及其信道工作質量的一個重要指標。作為通信系統的可靠性測量工具,誤碼測試儀廣泛地應用于通信設備的生產調試、檢驗以及日常維護等方面。在對傳統誤碼儀設計的研究和分析之后,研究并設計了一種基于FPGA的誤碼測試儀,詳細地分析和介紹了各個模塊的工作原理。
Abstract:
Key words :

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

    隨著科技的發展,信息通信已成為人們日常生活中必不可少的一部分。數字通信因其抗干擾能力強、通信質量不受距離的影響、通信保密性好等特點而得到廣泛應用和迅速發展[1]。與此同時,數字通信的傳輸可靠性就尤為重要了,而誤碼測試儀作為評估數據傳輸通道質量的重要工具被廣泛地應用。
    誤碼率是反映數據傳輸設備及其通信信道工作質量的一個重要指標。誤碼測試儀就是通過檢測數據傳輸系統的誤碼指標,對其系統的數據傳輸質量進行評估的一種工具。傳統的誤碼儀大多數都具備了諸如操作簡單、結果直觀精確、測試內容豐富等優點,但是同時也存在體積偏大、價格昂貴、只適用于某些專用信道測試以及不易與某些接口適配等方面的問題[2]。因此分析和對比了現有的誤碼儀,研究和設計了一種基于FPGA的誤碼測試儀。
1 m序列
    偽隨機序列也叫做偽隨機碼,是為模仿隨機序列的隨機特性而產生的一種碼流。在一般的通信工程應用中,常采用二進制偽隨機序列。偽隨機序列只有0和1兩種狀態,一般是通過反饋移位寄存器來產生的,這種反饋移位寄存器可分為線性反饋和非線性反饋移位寄存器兩種。其中由線性反饋移位寄存器產生的周期最長的二進制數字序列叫做最大長度線性反饋移位寄存器序列,也稱m序列。因為其自身的自相關性和良好的統計特性,m序列廣泛地用于密碼學和誤碼測試等應用。
    如圖1所示,m序列信號發生器是在n級線性移位寄存器的基礎上,加上反饋邏輯電路構成的。正是由于m序列的這種結構特點,所以非常適合于通過FPGA來產生。一般地,m序列信號發生器有兩種結構:Fabonacci型和Galois型[3]。

    本文采用Fabonacci型移位寄存器來產生m序列。這種結構的特點是移位寄存器的反饋抽頭位置和本原多項式是一致的,序列與寄存器的初始狀態相對應,而碼流序列的產生速度主要受反饋網絡的時延影響。
    an是各個移位寄存器的狀態,cn是對應的各移位寄存器的反饋系數,系數為1時表示參與反饋;為0時表示不參與反饋。反饋函數為:an=c0a0+c1a1+…+cn-1an-1。在每一個時鐘脈沖時刻,高位的移位寄存器將狀態值傳給下一個移位寄存器。一旦級數和反饋系數確定了,則反饋移位寄存器的輸出序列也就確定了。m序列的一個重要的性質就是任何一個m序列的循環移位仍是一個m序列,序列長度為m=2n-1。由于移位寄存器狀態全為0時系統會陷入死循環,所以當意外出現全為0的情況時使an-1等于1,跳出全0狀態實現自啟動。
    本文根據誤碼測試的需要,設計了9位、15位和23位寄存器的3個不同長度的m序列。根據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]。發送端提供3種類型m序列,支持在一定范圍內的發送時鐘頻率的改變。本設計主要是基于低速的數字通信設計,發送頻率設置為2N,N為0~20的整數,單位為MHz。
    在系統模塊中設計了一個按鍵模塊用于選擇發送序列的級數以及發送時鐘頻率。由于在按動按鍵時通常會出現抖動和其他情況,所以采用了防抖動設計,其基本原理就是運用一個小的狀態機,記住先前的狀態,然后再對接下來的電平變化進行判斷。
2 誤碼儀總體設計及其工作原理
    一般地,誤碼儀主要由發送端和接收端兩部分組成。發送端就是一個偽序列發生器,負責產生用來檢測被測信道的碼流。該流碼必須具有隨機性和重復可生成性,通常采用m序列作為測試碼。接收端則是誤碼儀最重要的一部分,其主要作用為接收從被測信道傳來的測試序列,并從序列碼中提取時鐘信號,在此基礎上恢復出本地序列,然后進行序列碼流對比并統計出誤碼。如圖2所示,發送端就是m序列產生模塊,接收端包括位同步模塊、序列同步模塊和誤碼計數模塊等。下面分別就各個模塊做較為詳細的介紹說明。

2.1 誤碼信號檢測原理
    誤碼率是指在測量的時間內錯誤的數字碼元數量與數字碼元總數之比。這個工作主要由兩個計數器完成,一個計數器計數誤碼,而另一個則計數總的碼數。
    誤碼測試儀由發送和接收兩部分組成,發送模塊要求發出標準的數據信號作為測試信號,代替實際線路中的傳輸信號送到被測系統中。接收部分要求能產生與發送部分完全相同的數據信號,用以與接收到的信號逐位比較。
    由圖3可知,由信道傳送到接收機的序列碼通過異或門與接收機產生的序列進行比較,若相同則輸出為0,若不同則輸出為1并計為1個誤碼, 最后再統計總的碼元數和誤碼數,從而得到準確的誤碼數或誤碼率。

    總的來說, 誤碼儀檢測的工作流程可概括為以下幾個步驟:
    (1)以某種方式產生并發送碼組相同的碼型,以相同相位的本地碼組作為對比標準;
    (2)將本地恢復碼元與從信道接收到的碼組逐個進行比較, 并輸出誤碼脈沖信號;
    (3)對誤碼脈沖信號進行統計, 并給出相應的誤碼率。
    由于傳統的誤碼儀一般用于專用的通信信道測試,其接口類型較為單一。為此本文設計了RS422、E1、E2接口,擴展了誤碼測試的接口類型。
2.2 位同步模塊
    位同步模塊的主要工作就是提取信道中碼流的時鐘,它由一個跳變沿捕捉模塊、一個狀態寄存器和一個計數器組成。如圖4所示,其中data是輸入系統的串行信號(m序列),clk是頻率為串行信號碼元速率的2N倍的高頻時鐘信號,a是系統產生的與輸入串行信號碼元位同步的脈沖信號,即位同步脈沖。

    系統工作時,當輸入信號data發生變化時,捕捉模塊就能及時抓捕到這次跳變,并產生一個脈沖信號c,該信號可以將可控計數器清零,同時將狀態寄存器的輸出b置為0,并送到計數器中。計數器進行模為2N的計數,待計滿后就輸出脈沖信號a,該信號一方面可作為整個系統輸出的位同步時鐘信號,另一方面它也被接入了狀態寄存器,控制狀態寄存器的輸出b在計數器完成N的記數后就變為1;在沒有c脈沖信號時使b保持為1,使計數器的模值保持為2N,直到輸入信號data產生新的跳變并產生新的c脈沖信號。
    由此可見,在輸入信號為連1或連0的情況下,只要系統使用的時鐘信號足夠精確,就可以保證在一定時間里輸出滿足要求的位同步時鐘,而在輸入信號data發生跳變時系統又會捕捉該跳變沿并以此為基準來輸出位同步時鐘。為了保證系統的精確性,文本中采用2N等于10。
2.3 序列同步模塊
    前面已經指出m序列是周期序列,測試序列和檢驗序列的比較應以周期內的同一位置作為起點。因此在序列比較前應首先進行序列同步。常見的序列同步方法有滑動相關捕捉法、序列相關捕捉法、SAW器件捕捉法等。但是這些方法都存在著結構復雜、同步時間較長等缺陷,不適合用FPGA實現。
    序列同步模塊的一個重要作用就是根據位同步模塊得到同步時鐘并產生本地檢測碼元序列,通常采用的是灌碼的方式。如圖5所示,在初始狀態下開關K置于B位置,發送端送來的測試序列在完成位同步后按從高位到低位的順序依次送入移位寄存器,存滿后開關K就置于A的位置。移位寄存器和模二加法器在本地時鐘的驅動下產生出檢驗序列。這里要強調的是,本地碼元的m序列發生器和誤碼儀發送端的m序列產生器結構完全一致。

    以9階的m序列為例,由于m序列的下一存儲器狀態組合僅由當前的狀態組合所決定,因此只要最初接收到的9個碼元是正確的,則其隨后產生的所有碼元都是與測試序列相同和同步的。在這之后,測試序列與檢驗序列需要進行一次相關比較,假如在若干個(如10個)碼元周期內其相關值超過閾值,則可認為兩序列同步,否則需要重新進行同步操作。
    采用這一方法之后,序列同步的時間大大縮短,有利于進行碼流的快速測試。
2.4 誤碼計數和顯示
    將恢復出來的本地檢測序列與被測信道傳輸來的測試序列相比較可以檢測出誤碼。兩個碼流通過一個異或門比較,相同為0,不同則為1,然后計數器統計1的個數得出總的誤碼數。
    誤碼測試儀定時每隔1 s進行誤碼統計,并將結果通過點陣型液晶顯示器顯示,直觀地顯示實時誤碼情況。為了便于簡化硬件電路,設計采用FPGA直接驅動液晶顯示器。
    特別地,由于程序設計中會用到除法運算,而除法運算會消耗大量的FPGA邏輯單元,因此本設計中采用獨特的算法將除法運算轉換成位運算,極大地減少了系統資源的占用。
3 誤碼測試儀的IP內核
    該誤碼測試儀基于FPGA設計,程序采用Verilog HDL編寫。其建模的編程特點使得系統更直觀和便于實現[5]。圖6為誤碼測試儀的內核模塊系統框架。所有的程序編寫都遵循自底而上的建模思想。

 

 

    圖6所示的IP核框架大致給出了本次系統設計的主要部分模塊。在這里只給出了一部分的輸入和輸出信號。下面就一些信號做簡單介紹說明。Clkin 為外部時鐘輸入40 MHz。DATAin為經過被測信道的m序列。Clka、Clkb、Clkc分別為倍頻或分頻后的時鐘信號。Ctrl為LCM控制信號。按鍵模塊控制發送序列的級數和發送時鐘頻率,而LED信號主要控制LED燈顯示誤碼儀工作狀態。
    本文研究了一種低速數字通信系統的誤碼測試儀。該誤碼測試儀是基于FPGA(現場可編程門陣列)為核心設計而成,適用于斷線誤碼檢測。該測試儀可以在發送端發送頻率不明的情況下進行碼流的時鐘恢復,這樣就使得其使用范圍更廣。同時根據FPGA的特點,系統還設計有AS下載口和JTAG下載口以及留出了一些多的I/O口,這樣可以方便以后功能的增加和系統軟件的升級。程序結構編寫中,采用了一些獨特的算法使得系統資源占用減少,同時增加了系統的智能性。
    設計中軟件采用的是Verilog HDL編寫程序,軟件開發環境使用的是Altera公司的EDA開發工具quartusII 11.0。整個系統體積較小,具有一定的智能性且價格便宜,適用于一般的數字通信線路測試以及個人架設的通信信道。經過測試,系統的性能可以達到測試的基本要求。
參考文獻
[1] 劉江.基于FPGA的誤碼率測試儀的設計與實現[J].微計算機信息,2005,2l(4):162-163.
[2] 王輝.基于DSP和FPGA的開環多碼型誤碼測試儀的設計[J].測控技術與儀器儀表,2010,36(9):115-118.
[3] 鄒學玉,易國華.一類基于FPGA的m序列發生器設計[J]. 長江大學學報,2006,9(3):84-86.
[4] Altera Corp.Cyclone Device Handbook[DB/OL].[2013-07-15].http://www.altera.conl.2010.
[5] 王金明.VerilogHDL 程序設計教程[M].北京:人民郵電出版社,2004.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
在线观看欧美亚洲| 亚洲午夜在线观看视频在线| 欧美午夜激情在线| 欧美福利电影网| 久久深夜福利| 久久久99久久精品女同性| 亚洲欧美综合国产精品一区| 中文欧美日韩| 一区二区欧美精品| 夜夜嗨av一区二区三区中文字幕| 91久久精品国产91性色| 久久国产精品亚洲77777| 欧美一级黄色网| 午夜伦欧美伦电影理论片| 亚洲嫩草精品久久| 午夜老司机精品| 午夜亚洲精品| 欧美一区二区在线观看| 欧美一区二区在线观看| 欧美在线影院| 亚洲高清在线观看| 亚洲国产天堂网精品网站| 久久精品一区二区三区四区 | 午夜精品美女久久久久av福利| 亚洲一区二区在线视频 | 国产精品vip| 国产精品红桃| 国产精品一区一区| 国产一区二区精品久久| 加勒比av一区二区| 在线看片日韩| 亚洲精品视频免费| 一个人看的www久久| 亚洲欧美日韩视频一区| 久久成人人人人精品欧| 亚洲欧洲日产国产综合网| 99精品99久久久久久宅男| 亚洲天堂偷拍| 欧美一区91| 久久久久久9| 欧美成人精品一区二区三区| 欧美日韩p片| 国产精品久久久久毛片软件| 国产色产综合色产在线视频| 永久免费精品影视网站| 亚洲精品午夜| 亚洲欧美成aⅴ人在线观看| 久久精品视频va| 在线视频精品一区| 欧美一区二区三区免费看 | 欧美激情91| 国产精品久久久久77777| 国产欧美日韩精品在线| 亚洲第一区在线| 在线综合+亚洲+欧美中文字幕| 欧美一级大片在线观看| 日韩午夜黄色| 久久精品1区| 欧美另类一区| 国产色爱av资源综合区| 亚洲激情国产精品| 亚洲与欧洲av电影| 亚洲欧洲日夜超级视频| 亚洲欧美综合一区| 免费观看亚洲视频大全| 国产精品免费看久久久香蕉| 一区二区在线观看视频| 亚洲视频自拍偷拍| 亚洲国产午夜| 先锋影音国产精品| 欧美激情一级片一区二区| 国产日韩av在线播放| 亚洲精品你懂的| 午夜欧美大尺度福利影院在线看 | 日韩一级精品视频在线观看| 久久激情视频免费观看| 欧美日韩aaaaa| 狠狠入ady亚洲精品经典电影| 夜夜嗨av一区二区三区中文字幕| 久久精品免视看| 午夜精品视频在线观看| 欧美国产日韩免费| 国产日韩欧美二区| av成人激情| 亚洲人精品午夜| 久久国产乱子精品免费女| 欧美三级特黄| 亚洲丁香婷深爱综合| 香蕉av福利精品导航| 中文av字幕一区| 欧美成人激情视频免费观看| 国产亚洲精品自拍| 亚洲在线观看视频| 亚洲影视综合| 欧美日韩精品免费在线观看视频| 黄色日韩网站| 欧美亚洲免费电影| 亚洲欧美日韩国产成人| 欧美人成网站| 亚洲成人在线网| 久久er99精品| 欧美一区三区二区在线观看| 国产精品成av人在线视午夜片| 亚洲精品欧美一区二区三区| 91久久久精品| 玖玖综合伊人| 狠狠操狠狠色综合网| 欧美呦呦网站| 久久成人国产| 国产精一区二区三区| 亚洲影院免费观看| 亚洲欧美精品中文字幕在线| 欧美视频在线观看一区| 亚洲精品资源| 一本久道久久综合中文字幕| 欧美国产日韩一区二区三区| **网站欧美大片在线观看| 亚洲国产精品久久久久久女王| 久久久久久9999| 韩国av一区二区三区在线观看| 欧美在线观看日本一区| 久久精品伊人| 国内精品久久久久久影视8| 欧美在线视频观看免费网站| 久久久久久夜| 今天的高清视频免费播放成人 | 欧美日韩在线一区二区三区| 99在线热播精品免费99热| 在线亚洲一区二区| 欧美性猛交99久久久久99按摩| 一区二区欧美亚洲| 亚洲综合色丁香婷婷六月图片| 国产精品v一区二区三区| 亚洲天堂网在线观看| 亚洲欧美日韩国产综合精品二区| 国产精品日本一区二区 | 久久久久久久999| 狠狠色狠狠色综合日日小说| 亚洲国产精品传媒在线观看| 欧美1区2区| 亚洲精品国产精品国自产观看浪潮| 一区二区日韩伦理片| 国产精品啊v在线| 午夜天堂精品久久久久| 久久网站热最新地址| 亚洲成色最大综合在线| 一区二区日韩欧美| 国产精品青草综合久久久久99| 香蕉久久夜色精品国产| 久久欧美中文字幕| 亚洲激情在线| 亚洲一区二区三区视频播放| 国产日本欧美一区二区| 亚洲第一在线| 欧美日韩美女在线| 亚洲一区在线视频| 久久乐国产精品| 亚洲国产婷婷| 亚洲欧美成人在线| 黄色成人av网站| 日韩一级网站| 国产精品女人久久久久久| 欧美一区二区精品| 欧美韩日一区二区| 亚洲影院高清在线| 免费看亚洲片| 一区二区三区视频在线观看| 久久久久久欧美| 亚洲每日更新| 久久成人av少妇免费| 亚洲欧洲精品成人久久奇米网| 亚洲欧美另类中文字幕| 狠狠色丁香婷婷综合| 亚洲视频图片小说| 国产综合色一区二区三区| 99精品视频网| 国产色产综合产在线视频| 亚洲精品在线看| 国产女优一区| 日韩视频一区二区三区| 国产亚洲精品一区二区| 夜夜嗨一区二区三区| 国产一二三精品| 亚洲午夜精品一区二区| 国外成人性视频| 亚洲一级片在线看| 在线观看欧美成人| 欧美一级电影久久| 亚洲精品日本| 久久综合亚洲社区| 亚洲一区视频在线观看视频| 欧美高清不卡| 久久av在线| 国产精品伦子伦免费视频| 日韩视频亚洲视频| 国产真实乱偷精品视频免| 亚洲主播在线观看| 亚洲精品一区二区三区樱花| 久久综合给合久久狠狠色| 亚洲一区二区三区精品在线|