基于FPGA的誤碼 測(cè)試儀設(shè)計(jì)
摘 要
FPGA 是一類稱為現(xiàn)場(chǎng)可編程邏輯器件中的一員, 它被認(rèn)為是一種專用集成電路技術(shù). 現(xiàn)今的通信系統(tǒng)大量采用FPGA 作為系統(tǒng)的核心控制器件, 將物理層上的各協(xié)議層的功能集中在FPGA內(nèi)部實(shí)現(xiàn), 不僅提高了通信系統(tǒng)的集成, 同時(shí)也減少了硬件和軟件設(shè)計(jì)的復(fù)雜度. 文章分析研究了傳統(tǒng)誤碼儀的工作原理與結(jié)構(gòu),提出了一種基于FPGA 的誤碼檢測(cè)方案,提出采用FPGA來(lái)完成誤碼儀的控制和測(cè)試模塊一體化設(shè)計(jì)。該方案不僅提出了鎖相環(huán)法提取同步信號(hào)方法,還納入了“同步保護(hù)” 的思想。本誤碼儀主要分為三個(gè)部分:發(fā)送部分,接受部分,SOPC的CPU部分。發(fā)送部分包括:m序列偽隨機(jī)信號(hào)發(fā)生器模塊、手動(dòng)插入誤碼模塊、HDB3編碼模塊;接收部分包括:位同步模塊、HDB3解碼模塊、序列同步模塊及誤碼檢測(cè);SOPC的CPU部分主要涉及,灌碼的控制,誤碼率的計(jì)算和LCD顯示。
由于基于FPGA進(jìn)行設(shè)計(jì),該誤碼儀具有再升級(jí)和可移植能力強(qiáng)、體積小巧,等優(yōu)點(diǎn),具有較高的實(shí)用價(jià)值。
關(guān)鍵字: FPGA,誤碼測(cè)試儀,m序列,灌碼
ABSTRACT
FPGA is one of the f ield prog ram mable log ic dev ices and an ASIC technique. As a key cont rol device in the communicat ion system, FPGA can no t only improv e the sy stems integ rat ion, but also reduce the complexity of the hardw are and sof tware.Paper researched the w6rk theory and structure of traditional BERT,The paper put forward a project of mistake code examination based on FPGA,.made use of FPGA to complete the instrument error of the control module integration and testing of the design. That project not only put forward a method of withdrawing a synchronous signal by Phase Lock Loop, but also bring into the thought of"synchronousprotection".The BERT can be divided into three parts:sending part, accept the part, the CPU of SOPC part. Sending part includes: m pseudo random signal sequence generator module, manually inserted miscode module,HDB3 coding;Receiving part includes: a bit synchronous module, HDB3 decoding module, sequence synchronous and error detection sequence module. The SOPC CPU part mainly involves the loading of control,BER calculation and LCD display.
Due to design based on FPGA, the instrument has a further escalation of error and be able to transplant.Power,small size advantages of high practical value.
Keyword: FPGA,BERT,m pseudo random sequence,loading code
目 錄
第一章 緒論 1
1.1 研究背景及意義 1
1.2 國(guó)內(nèi)外研究現(xiàn)狀 2
1.3 系統(tǒng)仿真所用的技術(shù): 4
1.3.1 FPGA/CPLD技術(shù)及應(yīng)用 4
1.3.2 關(guān)于FPGA/CPLD的優(yōu)勢(shì) 4
第二章 誤碼測(cè)試技術(shù) 5
2.1 誤碼的基本概念 5
2.1.1 誤碼簡(jiǎn)述 5
2.1.2 誤碼性能參數(shù) 5
2.2 誤碼檢測(cè)原理 7
第三章 系統(tǒng)總體設(shè)計(jì) 9
3.1 總體方案設(shè)計(jì) 9
3.1.1系統(tǒng)需求分析 9
3.1.2系統(tǒng)總體方案設(shè)計(jì) 10
第四章 各個(gè)模設(shè)計(jì) 11
4.1 時(shí)鐘模塊設(shè)計(jì) 10
4.2 m序列偽隨機(jī)信號(hào)發(fā)生器模塊設(shè)計(jì) 14
4.2.1 m序列的介紹和產(chǎn)生原理 14
4.2.2 m序列發(fā)生器設(shè)計(jì) 15
4.3 手動(dòng)插入誤碼模塊設(shè)計(jì) 16
4.4 位同步模塊設(shè)計(jì) 18
4.5 HDB3編解碼器設(shè)計(jì) 19
4.5.1 HDB3編解碼原理 19
4.5.2 HDB3碼編碼 20
4.5.3 HDB3碼解碼 23
4.6 序列同步模塊及誤碼檢測(cè)設(shè)計(jì) 26
4.7 誤碼計(jì)算和顯示模塊 28
4.8 小結(jié) 28
第五章 軟硬件開(kāi)發(fā)環(huán)境介紹 30
5.1 FPGA硬件開(kāi)發(fā)板介紹 30
5.2 FPGA軟件開(kāi)發(fā)環(huán)境QuarusⅡ、SOPC、NiosⅡ介紹 31
第六章 全文工作總結(jié)及展望 33
6.1 全文工作總結(jié) 33
6.2 展望 34
致謝 35
參考文獻(xiàn) 36
共 Ⅳ 頁(yè) 第 IV 頁(yè)
興華學(xué)院 基于FPGA的誤碼測(cè)試儀設(shè)計(jì)
第一章 緒論
1.1 研究背景及意義
在信息高速發(fā)展的今天,通信無(wú)疑己經(jīng)成為人們生活中不可缺少的部分。尤其是數(shù)字通信,它以抗干擾能力強(qiáng),高質(zhì)量的遠(yuǎn)距離傳輸,以及便于與計(jì)算機(jī)連接,易于加密等優(yōu)點(diǎn)己經(jīng)成為現(xiàn)代信息傳輸?shù)闹匾侄?。人們已?jīng)感受到通信網(wǎng)絡(luò)帶來(lái)的種種便利,除了我們所熟悉的互聯(lián)網(wǎng),電話網(wǎng)絡(luò)這樣的主干通信網(wǎng)之外,越來(lái)越多的專用網(wǎng)絡(luò)也應(yīng)用到了各行各業(yè)。例如,氣象檢測(cè)站的數(shù)據(jù)傳輸網(wǎng),水文監(jiān)測(cè)點(diǎn)的數(shù)據(jù)傳輸網(wǎng)等,這些專用網(wǎng)絡(luò)都具有低速,長(zhǎng)距離,通信數(shù)據(jù)結(jié)構(gòu)較為簡(jiǎn)單等特點(diǎn).
在通信系統(tǒng)中,無(wú)論是設(shè)備故障、傳播衰落、碼間干擾、鄰近波道干擾等原因,都使得在數(shù)字通信中的接收端不可避免出現(xiàn)誤碼,都可能造成系統(tǒng)性能惡化甚至造成通信中斷,其結(jié)果都可通過(guò)誤碼的形式表現(xiàn)出來(lái),如果有誤碼就有誤碼率,誤碼率(BER:Bit Error Rate)是反映數(shù)據(jù)傳輸設(shè)備及其信道工作性質(zhì)的一個(gè)重要指標(biāo)。所謂誤碼率是指在傳輸過(guò)程中發(fā)生誤碼的概率,在實(shí)際工程中計(jì)算是取一段足夠長(zhǎng)的傳輸時(shí)間,求這段時(shí)間內(nèi)發(fā)生的誤碼的碼元個(gè)數(shù)與傳輸?shù)目偞a元數(shù)之比。由于比特(bit)是碼元的最小單位,故當(dāng)碼流的每個(gè)碼元是lbit時(shí),誤碼率就是誤比特率(簡(jiǎn)稱BER);當(dāng)傳輸碼字(碼符)時(shí),稱為誤字(符)率;當(dāng)傳輸碼組時(shí),稱為誤碼組率。BERN是其基本測(cè)量參考單位。誤碼率是檢驗(yàn)通信設(shè)備傳輸質(zhì)量的重要指標(biāo),誤碼的檢測(cè)在通信中必不可少。因此,產(chǎn)生了各種各樣的誤碼檢測(cè)器H瑚。誤碼儀被廣泛應(yīng)用于數(shù)字傳輸系統(tǒng)的工程旌工、工程驗(yàn)收、日常維護(hù)及科研測(cè)試。主要有交機(jī)、視頻會(huì)議系統(tǒng)等通信產(chǎn)品的生產(chǎn)商和電信、聯(lián)通、移動(dòng)、網(wǎng)通、鐵通、郵電、電力等營(yíng)運(yùn)商運(yùn)維部門(mén),是新建網(wǎng)絡(luò)檢測(cè)評(píng)估以及網(wǎng)絡(luò)故障分析的必備工具。如何快速準(zhǔn)確的檢測(cè)到通信系統(tǒng)的誤碼率成為數(shù)據(jù)通信系統(tǒng)中不可缺少的重要工作。網(wǎng)絡(luò)維護(hù)人員經(jīng)常會(huì)遇到通信線路連接不通,通信數(shù)據(jù)接收不到,通信線路誤碼率高,通信網(wǎng)絡(luò)規(guī)程不匹配,通信網(wǎng)絡(luò)設(shè)備連接不上等問(wèn)題,這時(shí)一臺(tái)操作簡(jiǎn)單方便、體積輕巧、接口豐富、人機(jī)交互界面簡(jiǎn)潔、成本低廉的手持式通信線路質(zhì)量分析儀器——誤碼儀成了網(wǎng)絡(luò)維護(hù)人員不可缺少的設(shè)備,誤碼分析儀給工程實(shí)際應(yīng)用帶來(lái)了極大的便利。
隨著通信測(cè)試技術(shù)的發(fā)展,通信測(cè)試儀器表現(xiàn)出一些共同的發(fā)展趨勢(shì)和特點(diǎn)。首先,測(cè)試設(shè)備的軟件化,智能化程度正在提高。其次,由于通信技術(shù)的發(fā)展迅速,同時(shí)通信測(cè)試儀器相對(duì)比較昂貴,考慮到投資費(fèi)用問(wèn)題,就要求儀器開(kāi)發(fā)商必須考慮測(cè)試設(shè)備的測(cè)試功能,針對(duì)相應(yīng)領(lǐng)域及成本問(wèn)題。另外,小型便攜化的設(shè)計(jì)思想是網(wǎng)絡(luò)測(cè)試設(shè)備發(fā)展的又一個(gè)趨勢(shì)和特點(diǎn)。由于網(wǎng)絡(luò)測(cè)試的移動(dòng)性,需要在同一個(gè)網(wǎng)絡(luò)的不同測(cè)試點(diǎn)進(jìn)行測(cè)試,或者測(cè)試物理距離跨度較大的網(wǎng)絡(luò),這都要求網(wǎng)絡(luò)測(cè)試儀器朝著小型化、便攜式的方向發(fā)展。便攜式通信測(cè)試儀器以現(xiàn)場(chǎng)施工和運(yùn)行維護(hù)使用為主要目的,它不強(qiáng)調(diào)追求測(cè)試功能的完備性,而重點(diǎn)考慮的是實(shí)用性和方便性。
基于FPGA的智能誤碼測(cè)試儀就是基于實(shí)用、方便、經(jīng)濟(jì)方面的要求來(lái)進(jìn)行設(shè)計(jì)開(kāi)發(fā)的?;贔PGA的誤碼測(cè)試儀相對(duì)于傳統(tǒng)的誤碼測(cè)試儀的優(yōu)點(diǎn)在于其FPGA的內(nèi)部邏輯功能是通過(guò)向內(nèi)部靜態(tài)存儲(chǔ)器單元加載配置數(shù)據(jù)來(lái)實(shí)現(xiàn)的。它采用現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)作為核心器件,再升級(jí)和可移植能力強(qiáng)。其配置文件決定了邏輯單元的邏輯功能以及模塊間或與I/O間的連接,并最終決定了FPGA所實(shí)現(xiàn)的功能。FPGA的這種結(jié)構(gòu)允許多次編程,并享有快速有效地對(duì)新設(shè)計(jì)進(jìn)行優(yōu)化的靈活性,故現(xiàn)今的通信系統(tǒng)大量采用FPGA作為系統(tǒng)的核心控制器件。此外,F(xiàn)PGA還具有靜態(tài)可重復(fù)編程和動(dòng)態(tài)系統(tǒng)重構(gòu)的特性,使得硬件的功能可以像軟件一樣通過(guò)編程來(lái)修改。這樣就極大的提高了電子系統(tǒng)設(shè)計(jì)的靈活性和通用性?,F(xiàn)今的數(shù)字通信系統(tǒng)大量采用FPGA作為系統(tǒng)的核心控制器件。將物理層上的各協(xié)議層的功能集中:至UFPGA內(nèi)部實(shí)現(xiàn),提高了系統(tǒng)的集成度,同時(shí)也減少了硬件和軟件設(shè)計(jì)的復(fù)雜度。因此利用FPGA作為設(shè)計(jì)誤碼儀的主要芯片成為最適合的設(shè)計(jì)案。
1.2 國(guó)內(nèi)外研究現(xiàn)狀
誤碼分析儀作為數(shù)字通信系統(tǒng)驗(yàn)收、維護(hù)和故障查詢的理想工具,廣泛應(yīng)用于同軸電纜、光纖、衛(wèi)星及局間中繼等符合CEPT(Confederation of European Postsand Telecommunications)數(shù)字系列通信系統(tǒng)傳輸質(zhì)量的監(jiān)測(cè)H1。目前誤碼分析儀的工作模式已發(fā)展到如下4種:
1、分析儀模式。分析儀模式主要應(yīng)用于在線檢測(cè)。
2、發(fā)生器模式。發(fā)生器模式可以產(chǎn)生各種幀信號(hào),也可在n個(gè)(n=l-31)時(shí)隙中發(fā)送PRBS(Psedo—Random Binary Sequence)測(cè)試碼或用戶編程字。
3、分析儀/發(fā)生器模式。分析儀/發(fā)生器模式相當(dāng)于碼發(fā)生器與誤碼分析儀的結(jié)合,用于中斷業(yè)務(wù)遠(yuǎn)端環(huán)回的測(cè)試。本課題研究的誤碼儀屬于此類。
4、直通模式。直通模式用于插入式的測(cè)試,可在n個(gè)n=(1-31)時(shí)隙中插入測(cè)試碼型,并對(duì)被測(cè)時(shí)隙的告警和誤碼進(jìn)行分析,而其余時(shí)隙仍在正常通信。
從誤碼儀接入方式或測(cè)試方式看,通常采用兩種方式:一種是斷線測(cè)試:另一種是在線監(jiān)測(cè)。
所謂斷線測(cè)試,是指在中斷業(yè)務(wù)傳輸?shù)那闆r下,由誤碼儀對(duì)系統(tǒng)進(jìn)行實(shí)時(shí)誤碼測(cè)試。這種斷線測(cè)試方式的實(shí)質(zhì)是對(duì)系統(tǒng)運(yùn)行質(zhì)量進(jìn)行時(shí)域取樣檢測(cè)。根據(jù)斷線測(cè)試期間(即取樣檢測(cè)時(shí)間內(nèi))測(cè)得的數(shù)據(jù),來(lái)推斷或估計(jì)系統(tǒng)傳輸業(yè)務(wù)時(shí)的運(yùn)行質(zhì)量。當(dāng)系統(tǒng)運(yùn)行穩(wěn)定、系統(tǒng)誤碼平穩(wěn)隨機(jī)且前后獨(dú)立等概率的情況下,只要測(cè)試時(shí)間或統(tǒng)計(jì)時(shí)間足夠長(zhǎng),斷線測(cè)試獲得的數(shù)據(jù)是能夠以較高的精度和較大的可信度反應(yīng)系統(tǒng)的運(yùn)行質(zhì)量的。但是,在許多情況下,系統(tǒng)的誤碼并不是平穩(wěn)隨機(jī)的,而會(huì)出現(xiàn)緩慢的隨機(jī)波動(dòng)。這樣,不同的測(cè)試時(shí)間和不同的統(tǒng)計(jì)周期,獲得的測(cè)試數(shù)據(jù)可能會(huì)有一定的差別。此時(shí),斷線測(cè)試獲得的數(shù)據(jù)就不能很好地反映系統(tǒng)傳輸業(yè)務(wù)時(shí)的運(yùn)行質(zhì)量。這是斷線測(cè)試的局限性,要實(shí)時(shí)了解系統(tǒng)長(zhǎng)期運(yùn)行期間的質(zhì)量情況,需要對(duì)系統(tǒng)進(jìn)行在線誤碼監(jiān)測(cè)。所謂在線監(jiān)測(cè),是指在不中斷業(yè)務(wù)運(yùn)行的情況下,利用系統(tǒng)總碼流中的固定樣碼或冗余碼對(duì)系統(tǒng)誤碼進(jìn)行實(shí)時(shí)在線監(jiān)測(cè)。與斷線測(cè)試相比,在線監(jiān)測(cè)具有如下優(yōu)點(diǎn):
1、由于在線監(jiān)測(cè)與系統(tǒng)加載運(yùn)行同時(shí)進(jìn)行的,統(tǒng)計(jì)時(shí)間不受限制,因而測(cè)試結(jié)果具有較高的精度和較好的可信度。
2、在線監(jiān)測(cè)不需要中斷業(yè)務(wù)傳輸,就可以維護(hù)任務(wù)時(shí)了解到系統(tǒng)運(yùn)行的質(zhì)量水平及其變化情況,從而大大提高了系統(tǒng)維護(hù)的透明度。
3、在線監(jiān)測(cè)不需要中斷業(yè)務(wù)傳輸,因此不會(huì)影響系統(tǒng)的服務(wù)時(shí)間,從而會(huì)給系統(tǒng)的運(yùn)營(yíng)者帶來(lái)明顯的經(jīng)濟(jì)效益。
4、在線監(jiān)測(cè)能夠統(tǒng)計(jì)和記錄系統(tǒng)長(zhǎng)期加載運(yùn)行時(shí)的誤碼情況,從而可以積累和提供系統(tǒng)運(yùn)行的第一手資料,以便對(duì)系統(tǒng)的研究和設(shè)計(jì)改進(jìn)提供可靠的資料依據(jù)。
目前傳統(tǒng)的誤碼測(cè)試儀主要是國(guó)外產(chǎn)品,以安捷倫Agilent E7580A 2M誤碼測(cè)試儀來(lái)說(shuō),目前市場(chǎng)價(jià)格在20000元/臺(tái)左右,操作復(fù)雜,價(jià)格昂貴。還有Agilent公司的N4906B串行誤碼率測(cè)試儀等。
國(guó)內(nèi)典型設(shè)備有信息產(chǎn)業(yè)部電子第四十一研究所的AV系列誤碼測(cè)試儀,如AV5235,AV5231,AV5232等??偟膩?lái)說(shuō),國(guó)外的產(chǎn)品功能比較完善,但其價(jià)格也相對(duì)較高;而國(guó)內(nèi)廠家的產(chǎn)品信號(hào)處理速度相對(duì)較低。下表是國(guó)內(nèi)外一些設(shè)備的性能特點(diǎn)。
表1.1誤碼儀性能特點(diǎn)
型號(hào)
特性
公司
ProBER2
識(shí)別2Mb/s信號(hào)的頻率,電平,脈沖波形,抖動(dòng)等
美國(guó)安捷倫公司
Agilent
N4906B
9.5 Gb/s到12.5 Gb/s的碼型發(fā)生器和誤差檢測(cè)器
快速位模式同步
預(yù)定義標(biāo)準(zhǔn)兼容模式(Sonet/SDH/以太網(wǎng)/PC總線)
直觀用戶界面、Windows XP操作系統(tǒng)、觸摸屏
體積小巧可節(jié)省-T作臺(tái)和機(jī)架空間
LAN、USB 2.0、GPIB端口
SunLite E1
2.048Mbps發(fā)送和接收及外部時(shí)鐘
El比特差錯(cuò)率測(cè)試
電平和頻率測(cè)試
取出和插入功能(N或M.64)
VF監(jiān)測(cè)和分析
可編程發(fā)送幀字
G.821、G.826和M.2100分析
告警產(chǎn)生/誤碼插入
傳輸時(shí)延測(cè)暈
Sunri srtelcom(美國(guó)勝利
電訊公司)
AV5233C
l~3次群,NRZ/RZ/AMI/HDB3可在線測(cè)試、漢顯、打印
依愛(ài)電子(安徽蚌埠41所)
AV5235
可在線測(cè)試、告警、時(shí)隙顯示,NX64Kb/S信道測(cè)試
AV5232E
適用16/32/64/128/256/512/1024/2048Kb/S數(shù)據(jù)測(cè)試
可在線測(cè)試,漢顯,機(jī)內(nèi)帶打印
1.3 系統(tǒng)仿真所應(yīng)用的技術(shù)
1.3.1 FPGA/CPLD技術(shù)及應(yīng)用
以上所設(shè)計(jì)的誤碼檢測(cè)系統(tǒng)是利用FPGA/CPLD技術(shù)來(lái)建模實(shí)現(xiàn)的。究竟什么是FPGA/CPLD,為什么要用這種技術(shù),它具有什么優(yōu)點(diǎn),下面將對(duì)FPGA/CPLD技術(shù)進(jìn)行簡(jiǎn)要的概述。
FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)與CPLD(復(fù)雜可編程邏輯器件)都是可編程邏輯器件,它們是在PAL、GAL等邏輯器件的基礎(chǔ)之上發(fā)展起來(lái)的。同以往的PAL、GAL等相比較,F(xiàn)PGA/CPLD的規(guī)模比較大,適合于對(duì)時(shí)序、組合等邏輯電路應(yīng)用場(chǎng)合,它可以替代幾十甚至上百塊通用IC芯片。這樣的FPGA/CPLD實(shí)際上就是一個(gè)子系統(tǒng)部件。這種芯片具有可編程性和實(shí)現(xiàn)方案容易改動(dòng)的特點(diǎn)。由于芯片內(nèi)部硬件連接關(guān)系的描述可以存放在磁盤(pán)、ROM、PROM或EPROM中,因而在可編程門(mén)陣列芯片及外圍電路保持不動(dòng)的情況下,換一塊EPROM芯片,就能實(shí)現(xiàn)一種新的功能。FPGA芯片及其開(kāi)發(fā)系統(tǒng)問(wèn)世不久,就受到世界范圍內(nèi)電子工程設(shè)計(jì)人員的廣泛和普遍歡迎。
1.3.2 關(guān)于FPGA/CPLD的優(yōu)勢(shì)
高速和高可靠是FPGA/CPLD最明顯的特點(diǎn),其時(shí)鐘延遲可達(dá)納秒級(jí),結(jié)合其并
行工作方式,在超高速應(yīng)用領(lǐng)域和實(shí)時(shí)測(cè)控方面有非常廣闊的應(yīng)用前景。在高可靠應(yīng)用領(lǐng)域,如果設(shè)計(jì)得當(dāng),將不會(huì)存在類似于CPU的復(fù)位不可靠和PC可能跑飛等問(wèn)題。CPLD和FPGA的高可靠性還表現(xiàn)在,幾乎可將整個(gè)系統(tǒng)下載于同一芯片中,實(shí)現(xiàn)所謂片上系統(tǒng),從而大大縮小了體積,易于管理和屏蔽。與ASIC設(shè)計(jì)相比,F(xiàn)PGA/CPLD顯著的優(yōu)勢(shì)是開(kāi)發(fā)周期短,投資風(fēng)險(xiǎn)小、產(chǎn)品上市速度快,市場(chǎng)適應(yīng)能力強(qiáng)和硬件升級(jí)回旋余地大,而且當(dāng)產(chǎn)品定型和產(chǎn)量擴(kuò)大后,可將在生產(chǎn)中達(dá)到充分檢驗(yàn)的VHDL設(shè)計(jì)迅速實(shí)現(xiàn)ASIC投產(chǎn)。本系統(tǒng)所用的程序編輯軟件以及所用的集成芯片都是Altera公司的產(chǎn)品。
第2章 誤碼測(cè)試技術(shù)
在這一章里將對(duì)誤碼測(cè)試原理進(jìn)行詳細(xì)介紹,首先介紹了誤碼的基本概念、誤碼性能參數(shù)和誤碼產(chǎn)生的原因;其次,對(duì)誤碼測(cè)試原理進(jìn)行了詳述:
2.1 誤碼的基本概念
2.1.1 誤碼簡(jiǎn)述
隨著數(shù)字通信突飛猛進(jìn)的發(fā)展,與此同時(shí),其傳輸?shù)目煽啃詣t顯得尤為重要。誤碼特性是數(shù)字通信系統(tǒng)的重要特性之一。對(duì)二進(jìn)制數(shù)字信號(hào)來(lái)說(shuō),誤碼的基本概念是:在傳輸系統(tǒng)的發(fā)送端發(fā)送“1”碼時(shí),在接收端收到的卻是“0",而當(dāng)發(fā)送端發(fā)送“0”碼時(shí),接收端收到的卻是“1’’碼。這種收發(fā)信碼的不一致就稱為誤碼。誤碼影響數(shù)字傳輸系統(tǒng)的傳輸質(zhì)量,使音頻信號(hào)發(fā)生失真,使數(shù)據(jù)信號(hào)丟失信息,產(chǎn)生不準(zhǔn)確信息或減少傳輸量等。因此,誤碼一直受到業(yè)內(nèi)的普遍重視,許多科技人員對(duì)其進(jìn)行了長(zhǎng)期的研究與實(shí)驗(yàn)。誤碼是影響數(shù)字通信系統(tǒng)最重要的因素,因?yàn)檎`碼直接破壞了信息傳遞的正確性。誤碼對(duì)數(shù)字網(wǎng)中的任何信息都會(huì)產(chǎn)生影響。目前,普通電信業(yè)務(wù)中占90%甚至95%以上是電話業(yè)務(wù),誤碼對(duì)電話業(yè)務(wù)的損害最終反映為話音中出現(xiàn)噪
聲,影響了通話質(zhì)量;在語(yǔ)音通信中,隨機(jī)誤碼的效果不過(guò)是聽(tīng)筒中的嗒嗒聲,對(duì)通信質(zhì)量的影響不大。而數(shù)字通信中信息本身幾乎沒(méi)有冗余度,誤碼的影響很明顯,通常需要用糾檢錯(cuò)編碼和重發(fā)等辦法加以解決。
2.1.2 誤碼性能參數(shù)
在實(shí)際系統(tǒng)工作時(shí),由于無(wú)線電和衛(wèi)星系統(tǒng)的傳播效應(yīng)、電磁干擾和隨機(jī)傳輸模式的影響,系統(tǒng)性能可能會(huì)隨時(shí)間發(fā)生變化。為了滿足測(cè)量要求,在實(shí)際中通常采用誤碼性能參數(shù)來(lái)表示系統(tǒng)的誤碼性能,采用超過(guò)每個(gè)閾值的時(shí)間百分?jǐn)?shù)來(lái)表征。通過(guò)測(cè)量可判斷出該系統(tǒng)的優(yōu)劣,并且可以根據(jù)誤碼性能指標(biāo)判別出傳輸系統(tǒng)問(wèn)題出現(xiàn)在哪個(gè)段落。具體來(lái)說(shuō)有下列指標(biāo):
誤碼個(gè)數(shù)記錄:以發(fā)送端的二進(jìn)制數(shù)和接收端的二進(jìn)制數(shù)逐比特比較凡屬相異的即為誤碼,可在短時(shí)間內(nèi)判斷出該系統(tǒng)的優(yōu)劣。
劣化分(DM):每次測(cè)量時(shí)間To=1分鐘,門(mén)限平均誤碼率Pe=10-6,當(dāng)分鐘平均誤碼率低于這一門(mén)限值時(shí)稱為劣化分鐘,見(jiàn)式(2—1):
(2—1)
嚴(yán)重誤碼秒(SES):每次測(cè)量時(shí)間To=1秒,門(mén)限平均誤碼率Pe=10-3,當(dāng)秒平均誤碼率低于這一門(mén)限值時(shí)稱為嚴(yán)重誤碼秒,見(jiàn)式(2—2):
(2—2)
誤碼秒(ES):每次測(cè)量時(shí)間To=1秒,門(mén)限平均誤碼率Pe=0,量周期內(nèi)只要出現(xiàn)誤碼就稱為誤碼秒,見(jiàn)式(2-3):
(2—3)
無(wú)誤碼秒(EFS):每次測(cè)量時(shí)間瓦=1秒,門(mén)限平均誤碼率Pe=0,時(shí)間內(nèi)未出現(xiàn)一個(gè)誤碼,則稱該秒為無(wú)誤碼秒,見(jiàn)式(2-4):
(2—4)
平均誤碼率:是在一段相當(dāng)長(zhǎng)的時(shí)間間隔內(nèi),傳輸系統(tǒng)出現(xiàn)誤碼的概率,見(jiàn)式(2—5):
(2—5)
在數(shù)字通道中,誤碼率反映的是所產(chǎn)生的誤碼的多少,是針對(duì)一定時(shí)間的統(tǒng)計(jì)數(shù)值。因此在測(cè)量中要求m足夠大時(shí)才比較準(zhǔn)確。在實(shí)際系統(tǒng)工作時(shí),如果一個(gè)系統(tǒng)在足夠長(zhǎng)的時(shí)間內(nèi)都具有比要求還低的誤碼率,則可認(rèn)為該系統(tǒng)能長(zhǎng)期正常工作:如果系統(tǒng)在數(shù)秒周期以內(nèi)具有高的誤碼率,則認(rèn)為此系統(tǒng)是不穩(wěn)定的而“不可利用”。G.82l判據(jù)定義了可利用時(shí)間,并指出了誤碼性能指標(biāo)的計(jì)算過(guò)程:根據(jù)總測(cè)量時(shí)間Z,誤碼測(cè)試儀減去不可利用時(shí)間周期,即誤碼率比10-3差的10秒或更長(zhǎng)的周期,可以得到可利用時(shí)間(SAVAIL秒)。在余下的可利用時(shí)間內(nèi),累計(jì)有誤碼的秒作為誤碼秒(ES)被記錄,同時(shí)將誤碼率比10-3更差的任何秒作為嚴(yán)重誤碼秒(SES)被累計(jì),余下的無(wú)嚴(yán)重誤碼秒周期一起被放入60秒的信息編組中,而平均誤碼率比10-6差的任何秒都?xì)w類為劣化分(DM),計(jì)算流程如圖2.1所示:
圖2.1 誤碼率計(jì)算流程圖
2.2 誤碼檢測(cè)原理
誤碼測(cè)試儀是一種常用的通信儀器,廣泛用于電子電路、通信和教學(xué)實(shí)驗(yàn)等領(lǐng)域。其基本原理是通過(guò)對(duì)經(jīng)過(guò)被測(cè)系統(tǒng)的序列和原序列進(jìn)行逐位比較,從而得到誤碼數(shù)。基本原理如圖2.2。
圖2.2 誤碼檢測(cè)基本原理
這里的被測(cè)系統(tǒng)是指廣義的信道,它不僅包括傳輸媒質(zhì)、還有調(diào)制解調(diào)器、交換設(shè)備等,因而檢測(cè)誤碼可以了解整個(gè)數(shù)據(jù)傳輸系統(tǒng)的傳輸性能。誤碼的產(chǎn)生不僅僅只是線路上的碼間串?dāng)_和噪聲干擾引起,系統(tǒng)的接收、發(fā)送設(shè)備以及其它部分都可能引起誤碼。
從圖2.2知,誤碼測(cè)試系統(tǒng)主要由發(fā)送(測(cè)試碼產(chǎn)生器)和接收(誤碼檢測(cè))兩部分組成。發(fā)送部分完成系統(tǒng)需求的各種偽隨機(jī)碼產(chǎn)生、發(fā)送功能,誤碼插入功能。該模塊根據(jù)操作人員設(shè)定的碼元類型以及發(fā)送速率發(fā)送供系統(tǒng)測(cè)試用的比特流。要求能發(fā)出標(biāo)準(zhǔn)的數(shù)據(jù)信號(hào)作為測(cè)試信號(hào),代替實(shí)際線路中的傳輸信號(hào)送到被測(cè)系統(tǒng)中。接收部分要求能產(chǎn)生與發(fā)送部分完全相同的數(shù)據(jù)信號(hào),用以和接收到的信號(hào)逐位比較,比對(duì)過(guò)程如圖比對(duì)過(guò)程如圖2.3所示:
圖2.3 數(shù)據(jù)比對(duì)原理圖
從圖2.3可以看到,從信道傳遞到接收機(jī)的序列通過(guò)異或門(mén)與接收機(jī)產(chǎn)生的序列進(jìn)行對(duì)比,若相同,則輸出為‘O’,若不同,則輸出為“1"并計(jì)為1個(gè)誤碼,從而得到準(zhǔn)確的誤碼數(shù)或誤碼率。總體來(lái)說(shuō),誤碼儀檢測(cè)的工作過(guò)程可概括為以下幾個(gè)過(guò)程和步驟:
(1)以某種方式產(chǎn)生和發(fā)送碼組相同的碼型,以相同相位的本地碼組作為比較標(biāo)準(zhǔn);
(2)將本地碼組與接收碼組逐個(gè)進(jìn)行比較,并輸出誤碼脈沖信號(hào);
(3)對(duì)誤碼脈沖信號(hào)進(jìn)行統(tǒng)計(jì),并給出相應(yīng)的誤碼率。
在對(duì)通信系統(tǒng)的性能進(jìn)行誤碼檢測(cè)的設(shè)備中,發(fā)送部分的碼組發(fā)生器作為代替數(shù)字信息輸入的信號(hào)源是一種不可缺少的裝置。常用的碼組發(fā)生器有兩類:
一類是偽隨機(jī)碼發(fā)生器,它產(chǎn)生的序列具有接近純隨機(jī)數(shù)字序列的特性:另一類是規(guī)則碼發(fā)生器。它可通過(guò)選擇開(kāi)關(guān)或按鍵來(lái)確定規(guī)則碼的構(gòu)成。規(guī)則碼發(fā)生器的序列周期一般較短,主要用作單元部件和整機(jī)性能的測(cè)試序列。而在測(cè)量通信系統(tǒng)的誤碼率時(shí),測(cè)量結(jié)果與誤碼測(cè)試儀送出信號(hào)的統(tǒng)計(jì)特性有關(guān),通常認(rèn)為二進(jìn)制信號(hào)0和l是以等概率出現(xiàn)的,所以從理論上講,誤碼儀發(fā)碼發(fā)生器產(chǎn)生的信號(hào)以隨機(jī)序列為最佳,然而隨機(jī)序列難以重復(fù)產(chǎn)生,所以在實(shí)際測(cè)量時(shí)不能用隨機(jī)序列??紤]到偽隨機(jī)序列具有類似于隨機(jī)序列的一些統(tǒng)計(jì)特性,同時(shí)又便于重復(fù)產(chǎn)生和處理,所以一般用偽隨機(jī)序列來(lái)代替隨機(jī)序列,作為被測(cè)系統(tǒng)的測(cè)試信號(hào)。
誤碼儀收端模塊所面臨的最主要問(wèn)題是如何準(zhǔn)確地實(shí)現(xiàn)本地產(chǎn)生的序列與收到的數(shù)據(jù)流同步,即比特對(duì)齊,這是整個(gè)誤碼儀正常工作的前提。根據(jù)本地碼組發(fā)生器的構(gòu)成方式不同,將誤碼檢測(cè)器分為以下幾種類型:
(1)幀同步式的誤碼檢測(cè)器
這種誤碼檢測(cè)器的基本原理是在測(cè)試序列中插入幀同步碼組,在接收端進(jìn)行幀同步識(shí)別,并依靠幀同步信號(hào)控制本地碼發(fā)生器,產(chǎn)生與測(cè)試序列相位一致和起止位置一致的本地碼組。
(2)隨機(jī)同步式誤碼檢測(cè)器
這種誤碼檢測(cè)器不需要幀同步系統(tǒng),當(dāng)然也就不需要在發(fā)端插入幀同步碼組。它的基本原理是將接收到的m序列的部分子序列寫(xiě)入本地碼發(fā)生器的各級(jí),就能使本地碼和接收碼保持同步。為了在建立同步后,保持同步的穩(wěn)定性,設(shè)置一個(gè)寫(xiě)入控制門(mén)。讓接收碼寄存器的自序列在寫(xiě)入本地碼發(fā)生器前必須先經(jīng)過(guò)寫(xiě)入控制門(mén)。只有在子序列無(wú)誤碼和本地碼失步的情況下,控制門(mén)才打開(kāi)。
(3)收發(fā)自檢式誤碼檢測(cè)器
它的特點(diǎn)是:本地碼組直接由發(fā)送碼組給出,不需要另外設(shè)置本地碼組發(fā)生器。在誤碼檢測(cè)器中,同時(shí)將發(fā)送碼組和接收碼組進(jìn)行比較。這種檢測(cè)方式要求發(fā)送碼組和接收碼組在同一地點(diǎn),因此只能用于室內(nèi)測(cè)試。這種設(shè)備的碼組產(chǎn)生器和誤碼檢測(cè)器可做在同一套裝置上,電路較為簡(jiǎn)單。測(cè)試時(shí),將發(fā)送碼組分為兩路:一路送給被測(cè)通信系統(tǒng);另一路送給誤碼檢測(cè)器。由于接收碼組和發(fā)送碼組到達(dá)誤碼檢測(cè)器的時(shí)間不同,存在延時(shí)誤差,因此需要對(duì)發(fā)送碼組進(jìn)行延時(shí)調(diào)整,以便使兩路碼組信號(hào)的相位一致。
(4)逐位檢測(cè)式誤碼檢測(cè)器
逐位誤碼檢測(cè)器的基本工作原理是:本地m序列發(fā)生器產(chǎn)生的m序列和所接收的m序列進(jìn)行逐位比較,若兩個(gè)m序列同步,則比較器輸出傳輸誤碼;若兩m序列不同步,則比較器輸出的是由于失步造成的誤碼。由于失步造成的誤碼較大(根據(jù)m序列的特性,其誤碼率應(yīng)為O.5),因此可根據(jù)誤碼率門(mén)限來(lái)區(qū)分檢測(cè)系統(tǒng)是否失步,若失步,則讓本地m序列發(fā)生器等待一個(gè)位時(shí)鐘周期,依次逐位比較,
并逐位控制本地m序列發(fā)生器的等待時(shí)間,直至兩序列完全同步為止。
本系統(tǒng)用的是逐位檢測(cè)同步法。
第三章 系統(tǒng)總體設(shè)計(jì)
3.1 總體方案設(shè)計(jì)
3.1.1 系統(tǒng)需求分析
文章的目的為設(shè)計(jì)出一臺(tái)可實(shí)際操作運(yùn)行的誤碼儀設(shè)備,由于是基于FPGA的設(shè)計(jì),系統(tǒng)具有很高的集成度和可擴(kuò)展性,并可以隨時(shí)升級(jí),在設(shè)計(jì)的功能上可以隨時(shí)刪減和調(diào)整。經(jīng)過(guò)分析,整個(gè)設(shè)計(jì)的基本功能需求如下:
測(cè)試速率:2MHz。測(cè)試碼型: 215-1位偽隨機(jī)序列碼
HDB3碼編解轉(zhuǎn)換;
基于液晶屏的顯示;
誤碼率計(jì)算
以上的各個(gè)功能經(jīng)過(guò)軟件編程仿真及綜合后,所消耗u洛(邏輯單元)大概在2000個(gè)左右。因此需選用具備足夠LES(邏輯單元)的FPGA芯片進(jìn)行設(shè)計(jì)。
整個(gè)設(shè)計(jì)有三個(gè)子系統(tǒng):發(fā)送子系統(tǒng)、接受子系統(tǒng)、SOPC系統(tǒng)。
誤碼儀發(fā)送子系統(tǒng)完成誤碼測(cè)試中偽隨機(jī)測(cè)試碼的發(fā)送基本功能,需要完成系統(tǒng)要求需如下基本功能模塊:
215—1偽隨機(jī)碼產(chǎn)生模塊;
誤碼插入模塊;
HDB3碼型編碼模塊。
誤碼儀接收子系統(tǒng),需要完成如下幾個(gè)功能模塊:
HDB3碼型解碼模塊;
同步時(shí)鐘提取模塊;
偽隨機(jī)測(cè)試碼同步模塊。
SOPC系統(tǒng)完成的功能:
誤碼統(tǒng)計(jì)及誤碼率運(yùn)算程序;
LCD信息輸出;
灌碼控制開(kāi)關(guān)功能。
3.1.2 系統(tǒng)總體方案設(shè)計(jì)
根據(jù)系統(tǒng)需求制定了系統(tǒng)總構(gòu)架框圖,選用大規(guī)??删幊涕T(mén)陣列芯片F(xiàn)PGA作為主控芯片,利用EDA軟件設(shè)計(jì)FPGA的外圍電路和必要的功能電路。采用模塊化結(jié)構(gòu)不僅方便了調(diào)試和維護(hù)工作,而且提高了CPU的工作效率和系統(tǒng)運(yùn)行的可靠性。誤碼測(cè)試儀整體框圖如圖3.1所示
發(fā)送部分
HDB3編碼
誤碼插入
M序列發(fā)生器
待測(cè)系統(tǒng)
時(shí)鐘電路
接收部分
灌碼序列同步
位同步
HDB3解碼
灌碼控制,誤碼計(jì)算,顯示
SOPC系統(tǒng)
圖3.1 誤碼測(cè)試儀整體框圖
第四章 各個(gè)模塊設(shè)計(jì)
4.1 時(shí)鐘模塊設(shè)計(jì)
時(shí)鐘是整個(gè)設(shè)計(jì)中不可缺少的一環(huán),數(shù)據(jù)的產(chǎn)生,發(fā)送,接受以及計(jì)數(shù)等等,都需要有一個(gè)基準(zhǔn)的系統(tǒng)時(shí)鐘模塊來(lái)提供所需要的時(shí)鐘信號(hào),時(shí)鐘模塊由鎖相環(huán)與時(shí)鐘分頻模塊組成。
l 該模塊由QuartuslI的MegaCore(設(shè)計(jì)庫(kù))功能自動(dòng)生成,用于例化內(nèi)部PLL(鎖相環(huán)),實(shí)現(xiàn)所需的倍頻功能??梢詫?0MHz時(shí)鐘8/25倍頻到16MHz作為內(nèi)部數(shù)據(jù)處理時(shí)鐘。圖4.1為系統(tǒng)生成的PLL框圖。
圖4.1 PLL框圖
如圖所示,inclk0為外部有源晶振提供的50MHz時(shí)鐘信號(hào)輸入,經(jīng)過(guò)PLL產(chǎn)生co和c1兩個(gè)時(shí)鐘信號(hào),其中co與inclk0相同,為50MHz,c1為inclk0的8/25倍頻,為16MHz。方框內(nèi)表格各項(xiàng)內(nèi)容分別為信號(hào)名稱,信號(hào)倍率,信號(hào)相位,占空比。
通過(guò)Quartus軟件仿真得到時(shí)序仿真波形圖如圖4.2所示:
圖4.2 PLL時(shí)序仿真波形圖
l 8分頻模塊設(shè)計(jì)
在系統(tǒng)中碼元速度為2Mb/s,需啊設(shè)計(jì)一個(gè)8分頻器將16M時(shí)鐘信號(hào)分頻為2M,8分頻器的設(shè)計(jì)用VHDL語(yǔ)言描述如下:
library ieee;
use ieee.std_logic_1164.all;
entity fenpin_8 is
generic(DWIDTH:integer:=8);
port(
clkin : in std_logic;
clkout :out std_logic
);
end fenpin_8;
architecture rtl of fenpin_8 is
signal temp :integer range DWIDTH-1 downto 0;
begin
process(clkin)
begin
if(clkinevent and clkin=1) then
if temp=7 then
temp<=0;
else
temp<=temp+1;
end if;
end if;
end process;
process(temp)
begin
if temp
收藏