《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 一種基于FPGA的高速誤碼測試儀的設(shè)計
一種基于FPGA的高速誤碼測試儀的設(shè)計
電子設(shè)計工程
王 騏,王青萍 湖北第二師范學(xué)院
摘要: 摘要:誤碼測試儀是檢測通信系統(tǒng)可靠性的重要設(shè)備。傳統(tǒng)的誤碼測試儀基于CPLD和CPU協(xié)同工作,不僅結(jié)構(gòu)復(fù)雜,價格昂貴,而且不方便攜帶。基于FPGA的高速誤碼測試儀,采用FPGA來完成控制和測試模塊的一體化設(shè)計,提高了
關(guān)鍵詞: FPGA 誤碼測試儀 Vetilog
Abstract:
Key words :

摘要:誤碼測試儀是檢測通信系統(tǒng)可靠性的重要設(shè)備。傳統(tǒng)的誤碼測試儀基于CPLD和CPU協(xié)同工作,不僅結(jié)構(gòu)復(fù)雜,價格昂貴,而且不方便攜帶。基于FPGA的高速誤碼測試儀,采用FPGA來完成控制和測試模塊的一體化設(shè)計,提高了系統(tǒng)功能擴展性和系統(tǒng)的集成度,使得各個功能模塊在不改動硬件電路的情況下可以相應(yīng)變化。在發(fā)送端發(fā)送m序列作為測試數(shù)據(jù),其測試速率最高可達到155 Mh/s。由于將物理層上的各協(xié)議層的功能集中到FPGA內(nèi)部實現(xiàn),減少了硬件和軟件的設(shè)計復(fù)雜度,并且縮短了系統(tǒng)的開發(fā)的周期,具有可升級的特點。
關(guān)鍵詞:高速誤碼測試儀;現(xiàn)場可編程門陣列;Vetilog硬件描述語言;模塊圖元;仿真;M序列碼

    誤碼分析儀作為數(shù)字通信系統(tǒng)驗收、維護和故障查詢的理想工具,廣泛應(yīng)用于同軸電纜、光纖、衛(wèi)星及局間中繼等符合CEPT(European Confence of Postal and Telecommunications Administrations)數(shù)字系列通信系統(tǒng)傳輸質(zhì)量的監(jiān)測。評價一個通信系統(tǒng)的可靠性的指標就是檢測該通信系統(tǒng)在數(shù)據(jù)傳輸過程中誤碼率的大小,本文設(shè)計的高速信號誤碼測試儀,用于對EPON中接收和發(fā)送突發(fā)光信號的接收模塊的可靠性進行檢測。目前誤碼分析儀的工作模式已發(fā)展到如下4種:分析儀模式、發(fā)生器模式、分析儀/發(fā)生器模式、直通模式。本設(shè)計中的誤碼測試儀屬于第3種類型,即該誤碼測試儀可以產(chǎn)生測試的碼流,又可以進行誤碼測試。
    誤碼測試儀主要由發(fā)送模塊,接收模塊,顯示模塊,控制模塊等幾個模塊組成,系統(tǒng)硬件結(jié)構(gòu)框圖如圖1所示。其中發(fā)送、接收模塊在FPGA中實現(xiàn),控制模塊由單片機實現(xiàn),顯示模塊由單片機驅(qū)動,這樣使得設(shè)計的誤碼分析儀具有體積輕巧,接口豐富,簡單易用,成本低廉,內(nèi)核可升級等特點。

a.JPG



1 基于FPGA的誤碼測試儀的設(shè)計
    FPGA在該設(shè)計中實現(xiàn)了誤碼測試儀的核心功能,F(xiàn)PGA設(shè)計使用的是自頂向下模塊化的設(shè)計方法。基于FPGA設(shè)計的模塊包括:SY87739L頻率計的控制模塊、SY87700時鐘提取控制模塊、計數(shù)模塊、偽隨機序列發(fā)送模塊、數(shù)據(jù)接收模塊、與單片機的通信模塊。
1.1 頻率合成芯片SY87739L的控制模塊
    在設(shè)計中SY87739L合成的頻率用于偽隨機序列合成的同步時鐘,因為該誤碼測試儀可以測試的頻率有32 Mb/s、64 Mb/s、122 Mb/  s、155 Mb/s 4種。所以該芯片要根據(jù)設(shè)置的參數(shù)合成相應(yīng)的頻率。具體合成哪一個,由FPGA來實現(xiàn)對SY87739L的控制。
    SY87739L(規(guī)程式透明3.3 V 10~729 MHz分數(shù)N合成器)是一個頻率合成芯片。依照一參考頻率源,它可以合成10~729 MHz范圍內(nèi)的差分頻率。此外它可以精確地為標準的傳輸協(xié)議合成相應(yīng)的參考頻率。SY87739L合成的頻率是由一個32位的串行輸入的編程數(shù)據(jù)決定。PROGCS為高電平時,編程數(shù)據(jù)才會被SY87739L接收。若用戶需要改變編程數(shù)據(jù)獲得一個新的頻率時,應(yīng)先將PROGCS設(shè)置為高電平,延時一段時間(待32 bit編程數(shù)據(jù)被SY87739L接收)后在回落到低電平。既在PROGCS的下降沿時,SY87739L會由前一時段接收到32 bit編程數(shù)據(jù)決定合成新的頻率。具體步驟如下:1)確定編程數(shù)據(jù)的值;2)設(shè)置PROGCS為高電平;3)串行輸入32 bit編程數(shù)據(jù)(由PROGDI管腳輸入),同時在PROGSK端輸入時鐘信號;4)設(shè)置PROGCS為低電平;5)等待LOCKED跳為高電平。
    根據(jù)SY87739L的工作原理,可以用硬件語言編寫出SY87739L的控制代碼,圖2是由Verilog代碼用Synplify Pro8.1綜合出的圖元。

b.JPG


    該模塊控制SY87739L合成32 M頻率功能仿真結(jié)果(由ModelSim SE6.1仿真)如圖3所示。

c.JPG


    測試文件中給DATA-I賦值為00000001,可以觀察出prog_di串行輸出的編程數(shù)據(jù)為0000_01100_01101_0100_000_10001_101_101;prog_cs在prog_di有效編程數(shù)據(jù)輸出為高電平,待編程數(shù)據(jù)輸出結(jié)束后回落到低電平:PROGSK輸出SY87739L的編程時鐘。經(jīng)分析可以看出SY87739L控制模塊可以實現(xiàn)預(yù)想的功能。
1.2 時鐘提取芯片SY87700V的控制模塊
    SY87700V對FPGA接收的數(shù)據(jù)進行時鐘提取和數(shù)據(jù)恢復(fù)。將恢復(fù)的數(shù)據(jù)與接收端產(chǎn)生的本地偽隨機序列進行對比,實現(xiàn)誤碼檢測,兩數(shù)據(jù)流對比時以提取的時鐘為同步時鐘。SY87700V在提取數(shù)據(jù)前要預(yù)知提取的頻率的范圍,此頻率范圍由FPGA發(fā)送給SY87700V。SY87700V的參考時鐘是否進行分頻,也要根據(jù)設(shè)置的參數(shù)由FPGA控制。此外該模塊還要實現(xiàn)FPGA讀取SY87700V的功能,以確定SY87700V是否完成時鐘提取及數(shù)據(jù)恢復(fù)。根據(jù)SY87700V的工作原理,可以用硬件語言Verilog編寫程序在FPGA實現(xiàn)控制SY87700V的模塊,圖4是由代碼綜合出的圖元。

i.JPG


    由FPGA控制SY87700V從122M數(shù)據(jù)提取時鐘和恢復(fù)數(shù)據(jù)的功能仿真的結(jié)果波形圖(用Modelsim仿真)如下圖5所示。

d.JPG


    測試文件中給data_i賦值為000011111,可以觀察出FREQUSEL1輸出值1,F(xiàn)REQUSEL2輸出值為0,F(xiàn)REQUSEL3輸出值為1,DIVSEL1輸出值為0,DIVSEL2輸出值為1。CLKSEL輸出高電平(這一信號可以控制SY87700V完成提取的輸入數(shù)據(jù)時鐘的功能)。CD也輸出高電平(使SY87700V能正常的進行數(shù)據(jù)恢復(fù)和時鐘提取)。從圖中可以看出SY87700V控制模塊輸出的信號可以控制SY87700V完成對122M數(shù)據(jù)的時鐘提取和數(shù)據(jù)恢復(fù),實現(xiàn)預(yù)想的邏輯功能。
1.3 計數(shù)模塊
    計數(shù)模塊是用來計算總的碼數(shù)和誤碼數(shù)以及誤碼塊數(shù)的,該計數(shù)器是一個同步復(fù)位計數(shù)器。由verilog HDL代碼綜合出的圖元如圖6所示。

j.JPG


    該計數(shù)模塊最大的計數(shù)值達252,用Modelsim仿真軟件對計數(shù)模塊進行功能仿真的結(jié)果如圖7所示:

e.JPG


    在測試文件中,c_i賦值為一個脈沖流,在cnt_o輸出的計數(shù)結(jié)果是正確的。可以判斷出該模塊的功能的正確性。
1.4 偽隨機序列發(fā)送模塊
    偽隨機序列發(fā)送模塊的任務(wù)是以SY87739L合成的頻率為時鐘產(chǎn)生偽隨機序列并串行輸出偽隨機序列。該模塊可以產(chǎn)生三種級數(shù)的偽隨機序列,生成的偽隨機序列串行輸出。具體合成那一級數(shù)決定于washbone模塊(FPGA與單片機的通信控制模塊)輸出的控制信號:P09T-en(合成9級m序列使能信號)、P15T-en(合成15級m序列使能信號)、P23T-en(合成23級m序列使能信號)。三個信號中哪個為高電平就合成相應(yīng)級數(shù)的偽隨機序列。由Verilog HDL代碼綜合出的圖元如圖8所示。

k.JPG


    功能仿真結(jié)果(合成23級偽隨機序列)如圖9所示。

f.JPG


    在測試文件中賦給該模塊的輸入信號相應(yīng)的值,使其完成合成23級偽隨機序列的功能。在上圖中,ser_o串行輸出23級的m序列,可以判斷該模塊可以成功的合成m序列實現(xiàn)誤碼測試儀發(fā)送端的功能。
1.5 數(shù)據(jù)接收模塊
    FPGA中的接收模塊實現(xiàn)的功能有:1)m序列發(fā)生,2)是誤碼檢測。前者的邏輯功能與發(fā)送端模塊相類似,其作用是產(chǎn)生一個與發(fā)端碼形相同并且比特對齊的本地m序列;后者的作用是將收到的數(shù)據(jù)與本地m序列相比較,檢測是否有誤碼,若有誤碼則輸出一個誤碼脈沖給計數(shù)模塊進行統(tǒng)計。該模塊可以接收三種級數(shù)的偽隨機序列,由Verilog程序綜合出的圖元如圖10所示。

l.JPG


    發(fā)送的測試碼為周期是29-1的m序列時,數(shù)據(jù)接收模塊的仿真波形如圖11所示。

g.JPG


    在仿真文件中對該模塊輸入端口ser_i賦值一個碼流,當(dāng)賦值碼流與本地偽隨機序列同步的(同頻同相),數(shù)據(jù)接收模塊每比對一bit碼,就在sum_o端口輸出一高電平,若比對時有誤碼,則prt_o端口輸出一高電平。在上圖中,PRBS_r是本地合成的偽隨機序列,可以看出該模塊能夠?qū)崿F(xiàn)了m序列的產(chǎn)生和誤碼的檢測和統(tǒng)計功能。
1.6 FPGA與單片機通信的控制模塊
    FPGA與單片機的通信控制模塊(washbone moudle)實現(xiàn)的功能有:1)控制FPGA發(fā)送數(shù)據(jù)(總碼數(shù)、誤碼數(shù)、誤碼塊數(shù))到數(shù)據(jù)線上;2)控制FPGA接收單片機發(fā)送到數(shù)據(jù)線上的控制數(shù)據(jù)。FPGA與單片機的通信控制模塊將FPGA接收到的控制信息產(chǎn)生控制其他模塊的信號,這些控制信號包括SY87739L頻率合成的使能信號,SY87700V控制模塊的使能信號,計數(shù)器復(fù)位信號,偽隨機碼的級數(shù)、速率、發(fā)送接收接口的控制信號等。由源程序綜合出的圖元如圖12所示。

m.JPG


    當(dāng)SY87700V提取的數(shù)據(jù)頻率為30.72 MHz時,SY87700V的參考頻率為3.84 MHz。圖13為FPGA與單片機的通信控制模塊的功能仿真結(jié)果。該仿真是對washbone模塊中控制FPGA接收單片機控制數(shù)據(jù)這一功能的仿真。在測試文件中RAM_data FPGA與單片機的通信數(shù)據(jù)信號賦值為0001010(控制該模塊產(chǎn)生P09T_en、mb_OO_en、mb_OI_en為高電平的信號);exchange賦值高電平,既FPGA將數(shù)據(jù)(總碼數(shù),誤碼數(shù),誤碼塊數(shù))存入FPGA的內(nèi)部存儲單元;FPGA GSn=0.WRn=1既FPGA讀取數(shù)據(jù)線上的數(shù)據(jù),并存入內(nèi)部寄存器memory中。在該模塊的輸出管腳中:P09T _en、mb_OO_en、mb_OI_en輸出為高電平,既控制偽隨機發(fā)送模塊合成9級m序列,發(fā)送、接收的端口類型都為光接口類型。從下列仿真圖中可以判斷該模塊可以實現(xiàn)要求的邏輯功能。

h.JPG



2 各模塊綜合結(jié)果
2.1 綜合報告
    綜合優(yōu)化(SyntIlesize)是指將HDL語言、原理圖等設(shè)計輸入翻譯成由與、或、非門,RAM,寄存器等基本邏輯單元組成的邏輯連接(網(wǎng)表),并根據(jù)目標與要求(約束條件)優(yōu)化所生成的邏輯連接,輸出edf和edn等文件,供FPGA廠家的布局布線器進行實現(xiàn)。
    在本設(shè)計中使用綜合工具Synplify Pro8.1進行綜合,該綜合工具綜合出的結(jié)果占用面積小、工作頻率高,綜合速度快。目前FPGA技術(shù)中最流行的高效綜合工具之一。FPGA中各模塊通過綜合工具Synplify Pro8.1綜合。在綜合前,在時序約束文件中將分頻系數(shù)為100分頻的分頻器時鐘約束為10.0MHz;接收模塊中合成m序列的同步時鐘CDR00TKP約束為125.0 MHz;CDRK輸入的是7.68 MHz的晶體振蕩器產(chǎn)生的時鐘,F(xiàn)PGA根據(jù)合成m序列的速率,判斷CDRK是否進行二分頻,F(xiàn)PGA將處理后的CDRK作為提取時鐘芯片的參考時鐘。該時鐘約束為7.68 MHz;
DDS39REFCLK是時鐘合成模塊的參考時鐘,該時鐘約束為30MHz:DDS39TKP輸入的是時鐘合成芯片SY87739L的合成時鐘,該時鐘用于發(fā)送模塊產(chǎn)生m序列的同步時鐘,DDS39TKP約束為95 MHz。
    從綜合報告中可以看出綜合后各個時鐘的綜合結(jié)果都超出了約束的頻率,滿足時序的要求。此外還可以從報告中得到FPGA中的資源利用情況:使用59個I/O原語資源,使用了0個I/O寄存器.使用了775個非I/O寄存器占FPGA總資源的50%,使用的總邏輯資源為1 253個查找表,占總資源的81%。
2.2 RTL(寄存器級)視圖
    RTL視圖是由與、或、非門,RAM,寄存器等基本邏輯單元組成邏輯連接圖,從中可以形象的得到FPGA中各模塊的連接情況,并能判斷硬件描述語言編寫出來的系統(tǒng)在邏輯上是否正確。圖14是由Synplify綜合出的RTL視圖。

n.JPG


    分析上圖中各模塊的連接情況可以判斷出由Verilog編寫出的程序在各模塊的邏輯連接設(shè)計上是正確的,可將綜合后的edf文件輸送給Xinlinx布局布線器實現(xiàn)。

3 結(jié)束語
    本文研究的內(nèi)容是一種用于高速通信系統(tǒng)中的誤碼測試儀。該高速信號誤碼測試儀是基于FPGA(現(xiàn)場可編程門陣列)為核心設(shè)計而成,適用于斷線誤碼檢測。誤碼測試儀在發(fā)送端發(fā)送m序列作為測試數(shù)據(jù),其測試速率最高可達到155Mbps。對于高速數(shù)字電路迅速發(fā)展的今天,此誤碼測試儀的測試速率還可進一步提高,但是一旦提高了誤碼測試儀的工作速率,就無法回避高速數(shù)字電路中信號完整性,電磁干擾等高速數(shù)字電路設(shè)計中要注意的問題。由于使用FPGA實現(xiàn)誤碼測試儀的核心功能,該系統(tǒng)具有可以升級的特點。
    設(shè)計中軟件部分采用的是Verilog硬件語言編寫程序,軟件開發(fā)環(huán)境使用的是Xflinx公司的EDA集成開發(fā)工具ISE8.1,仿真工具ModelSim SE 6.1b,綜合工具SynplifyPro8.1等幾款軟件。硬件實現(xiàn)采用的是Xilinx的SPARTANHE系列中的XC2S50E平臺級FPGA為核心功能芯片。在FP GA中實現(xiàn)誤碼測試儀的發(fā)送部分、接收部分及誤碼量統(tǒng)計模塊的設(shè)計。輔以時鐘合成芯片Micrel SY87739L、時鐘提取芯片Micrel SY87700V及單片機(C8051F010)的控制,整個系統(tǒng)的體積較小,成本也較低。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美成人精品一区二区三区| 国产欧美一区二区色老头| 午夜激情综合网| 9i看片成人免费高清| 亚洲丰满在线| 久久不见久久见免费视频1| 亚洲免费影视第一页| 亚洲午夜精品17c| 亚洲色图制服丝袜| 亚洲视频香蕉人妖| 亚洲调教视频在线观看| 一本久久综合亚洲鲁鲁| 一本综合久久| 在线一区视频| 亚洲图片激情小说| 亚洲欧美美女| 欧美亚洲在线观看| 午夜精品成人在线视频| 欧美一级播放| 亚洲电影在线观看| 亚洲精品小视频| 一区二区久久久久久| 亚洲无亚洲人成网站77777 | 日韩一区二区高清| 一本综合久久| 亚洲欧美激情一区二区| 欧美一区永久视频免费观看| 久久久久久伊人| 免费成人激情视频| 欧美久久婷婷综合色| 欧美午夜女人视频在线| 国产精品久久久久久久浪潮网站| 国产精品有限公司| 激情欧美国产欧美| 亚洲精品国偷自产在线99热| 一本色道久久综合狠狠躁的推荐| 亚洲综合二区| 欧美在线不卡视频| 亚洲精品在线观看免费| 亚洲视屏在线播放| 欧美主播一区二区三区| 免费欧美高清视频| 欧美日韩一区二区免费在线观看 | 欧美久久久久久久| 国产精品一区二区欧美| 伊人久久大香线蕉综合热线| 亚洲精品少妇30p| 亚洲男同1069视频| 亚洲经典视频在线观看| 宅男噜噜噜66一区二区| 欧美一区二区三区婷婷月色| 另类酷文…触手系列精品集v1小说| 欧美久久99| 国产欧美日韩一区二区三区在线| 亚洲电影免费在线观看| 亚洲视频axxx| 亚洲黑丝一区二区| 亚洲欧美在线播放| 欧美电影资源| 国产精品一区二区在线观看网站| 在线观看欧美成人| 亚洲一线二线三线久久久| 亚洲国内欧美| 欧美亚洲免费电影| 欧美激情中文字幕一区二区| 国产精自产拍久久久久久| 亚洲精品1区| 欧美一区国产在线| 亚洲午夜未删减在线观看| 久久综合色播五月| 国产精品美女999| 亚洲国产精品电影在线观看| 亚洲在线日韩| 洋洋av久久久久久久一区| 久久九九免费| 国产精品成av人在线视午夜片| 狠狠色噜噜狠狠色综合久| 中文成人激情娱乐网| 亚洲欧洲午夜| 久久精品视频免费播放| 国产精品v欧美精品∨日韩| 在线日韩成人| 欧美亚洲视频在线观看| 亚洲午夜精品国产| 欧美激情按摩在线| 黄色亚洲精品| 欧美一区二区在线免费观看| 亚洲小说春色综合另类电影| 欧美成年网站| 精久久久久久| 欧美在线free| 欧美一级播放| 国产精品v一区二区三区| 亚洲青色在线| 亚洲日本中文字幕| 久久五月天婷婷| 国产欧美一区视频| 亚洲亚洲精品在线观看| 夜夜嗨av一区二区三区中文字幕 | 国产精品久久久久久久久久尿| 亚洲人线精品午夜| 亚洲精品免费在线| 免费精品视频| 原创国产精品91| 久久精品91| 久久人人九九| 国内精品久久久久伊人av| 亚洲欧美日韩视频二区| 午夜激情综合网| 国产精品日韩欧美一区| 亚洲一区二区三区中文字幕在线| 亚洲午夜黄色| 国产精品v欧美精品v日韩 | 亚洲欧美精品suv| 香蕉尹人综合在线观看| 国产精品对白刺激久久久| 在线视频精品| 亚洲女人小视频在线观看| 国产精品成人在线| 亚洲天堂av电影| 羞羞视频在线观看欧美| 国产精品视频自拍| 亚洲一区视频在线| 欧美在线日韩在线| 国产主播一区二区三区四区| 久久riav二区三区| 麻豆精品网站| 最新亚洲视频| 一区二区三区日韩精品视频| 欧美日韩国产区| 亚洲图色在线| 久久国产精品久久国产精品| 国产偷国产偷亚洲高清97cao| 欧美在线观看一区二区| 久久综合中文| 亚洲精品国精品久久99热一| 一区二区av在线| 国产精品久久中文| 欧美一区二区三区免费在线看| 久久久之久亚州精品露出| 在线观看视频亚洲| 99ri日韩精品视频| 国产精品国产三级国产专区53 | 久久精品国语| 曰本成人黄色| 一本一本久久a久久精品综合妖精| 欧美视频一区二区| 亚洲欧美国内爽妇网| 久久综合精品国产一区二区三区| 亚洲国产高清在线| 亚洲制服少妇| 国产主播喷水一区二区| 亚洲乱码国产乱码精品精98午夜| 欧美视频日韩视频在线观看| 亚洲欧美一区二区激情| 美国成人直播| 99精品免费| 久久久国产一区二区| 最新国产精品拍自在线播放| 亚洲视屏一区| 国内精品久久久久影院色| 亚洲免费电影在线观看| 国产精品视区| 91久久在线视频| 欧美午夜免费影院| 欧美主播一区二区三区美女 久久精品人 | 玖玖国产精品视频| 日韩午夜视频在线观看| 久久成人免费日本黄色| 亚洲激情在线观看视频免费| 午夜精品一区二区三区在线| 伊人成人开心激情综合网| 亚洲一本大道在线| 影音先锋久久资源网| 亚洲一区二区在线免费观看视频| 国产一区二区精品丝袜| 一本色道久久综合精品竹菊| 国产欧美一区二区精品秋霞影院 | 欧美伊人久久| 欧美日韩国产在线一区| 欧美专区福利在线| 欧美日韩一区综合| 亚洲国产精品久久久久秋霞影院| 欧美午夜一区二区| 亚洲国产综合视频在线观看| 国产精品美女诱惑| 99re6热在线精品视频播放速度| 国产欧美视频一区二区| 中国亚洲黄色| 在线观看视频日韩| 欧美一区免费| 9i看片成人免费高清| 蜜桃伊人久久| 性一交一乱一区二区洋洋av| 欧美日韩精品免费观看| 亚洲国产影院| 国内精品视频666| 欧美亚洲综合网| 一区二区三区福利| 欧美黄色一区|