尹其暢基于FPGA的誤碼 測試儀設(shè)計
基于FPGA的誤碼 測試儀設(shè)計
摘 要
FPGA 是一類稱為現(xiàn)場可編程邏輯器件中的一員, 它被認為是一種專用集成電路技術(shù). 現(xiàn)今的通信系統(tǒng)大量采用FPGA 作為系統(tǒng)的核心控制器件, 將物理層上的各協(xié)議層的功能集中在FPGA內(nèi)部實現(xiàn), 不僅提高了通信系統(tǒng)的集成, 同時也減少了硬件和軟件設(shè)計的復(fù)雜度. 文章分析研究了傳統(tǒng)誤碼儀的工作原理與結(jié)構(gòu),提出了一種基于FPGA 的誤碼檢測方案,提出采用FPGA來完成誤碼儀的控制和測試模塊一體化設(shè)計。該方案不僅提出了鎖相環(huán)法提取同步信號方法,還納入了“同步保護” 的思想。本誤碼儀主要分為三個部分:發(fā)送部分,接受部分,SOPC的CPU部分。發(fā)送部分包括:m序列偽隨機信號發(fā)生器模塊、手動插入誤碼模塊、HDB3編碼模塊;接收部分包括:位同步模塊、HDB3解碼模塊、序列同步模塊及誤碼檢測;SOPC的CPU部分主要涉及,灌碼的控制,誤碼率的計算和LCD顯示。
由于基于FPGA進行設(shè)計,該誤碼儀具有再升級和可移植能力強、體積小巧,等優(yōu)點,具有較高的實用價值。
關(guān)鍵字: FPGA,誤碼測試儀,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 國內(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)勢 4
第二章 誤碼測試技術(shù) 5
2.1 誤碼的基本概念 5
2.1.1 誤碼簡述 5
2.1.2 誤碼性能參數(shù) 5
2.2 誤碼檢測原理 7
第三章 系統(tǒng)總體設(shè)計 9
3.1 總體方案設(shè)計 9
3.1.1系統(tǒng)需求分析 9
3.1.2系統(tǒng)總體方案設(shè)計 10
第四章 各個模設(shè)計 11
4.1 時鐘模塊設(shè)計 10
4.2 m序列偽隨機信號發(fā)生器模塊設(shè)計 14
4.2.1 m序列的介紹和產(chǎn)生原理 14
4.2.2 m序列發(fā)生器設(shè)計 15
4.3 手動插入誤碼模塊設(shè)計 16
4.4 位同步模塊設(shè)計 18
4.5 HDB3編解碼器設(shè)計 19
4.5.1 HDB3編解碼原理 19
4.5.2 HDB3碼編碼 20
4.5.3 HDB3碼解碼 23
4.6 序列同步模塊及誤碼檢測設(shè)計 26
4.7 誤碼計算和顯示模塊 28
4.8 小結(jié) 28
第五章 軟硬件開發(fā)環(huán)境介紹 30
5.1 FPGA硬件開發(fā)板介紹 30
5.2 FPGA軟件開發(fā)環(huán)境QuarusⅡ、SOPC、NiosⅡ介紹 31
第六章 全文工作總結(jié)及展望 33
6.1 全文工作總結(jié) 33
6.2 展望 34
致謝 35
參考文獻 36
共 Ⅳ 頁 第 IV 頁
興華學院 基于FPGA的誤碼測試儀設(shè)計
第一章 緒論
1.1 研究背景及意義
在信息高速發(fā)展的今天,通信無疑己經(jīng)成為人們生活中不可缺少的部分。尤其是數(shù)字通信,它以抗干擾能力強,高質(zhì)量的遠距離傳輸,以及便于與計算機連接,易于加密等優(yōu)點己經(jīng)成為現(xiàn)代信息傳輸?shù)闹匾侄巍H藗円呀?jīng)感受到通信網(wǎng)絡(luò)帶來的種種便利,除了我們所熟悉的互聯(lián)網(wǎng),電話網(wǎng)絡(luò)這樣的主干通信網(wǎng)之外,越來越多的專用網(wǎng)絡(luò)也應(yīng)用到了各行各業(yè)。例如,氣象檢測站的數(shù)據(jù)傳輸網(wǎng),水文監(jiān)測點的數(shù)據(jù)傳輸網(wǎng)等,這些專用網(wǎng)絡(luò)都具有低速,長距離,通信數(shù)據(jù)結(jié)構(gòu)較為簡單等特點.
在通信系統(tǒng)中,無論是設(shè)備故障、傳播衰落、碼間干擾、鄰近波道干擾等原因,都使得在數(shù)字通信中的接收端不可避免出現(xiàn)誤碼,都可能造成系統(tǒng)性能惡化甚至造成通信中斷,其結(jié)果都可通過誤碼的形式表現(xiàn)出來,如果有誤碼就有誤碼率,誤碼率(BER:Bit Error Rate)是反映數(shù)據(jù)傳輸設(shè)備及其信道工作性質(zhì)的一個重要指標。所謂誤碼率是指在傳輸過程中發(fā)生誤碼的概率,在實際工程中計算是取一段足夠長的傳輸時間,求這段時間內(nèi)發(fā)生的誤碼的碼元個數(shù)與傳輸?shù)目偞a元數(shù)之比。由于比特(bit)是碼元的最小單位,故當碼流的每個碼元是lbit時,誤碼率就是誤比特率(簡稱BER);當傳輸碼字(碼符)時,稱為誤字(符)率;當傳輸碼組時,稱為誤碼組率。BERN是其基本測量參考單位。誤碼率是檢驗通信設(shè)備傳輸質(zhì)量的重要指標,誤碼的檢測在通信中必不可少。因此,產(chǎn)生了各種各樣的誤碼檢測器H瑚。誤碼儀被廣泛應(yīng)用于數(shù)字傳輸系統(tǒng)的工程旌工、工程驗收、日常維護及科研測試。主要有交機、視頻會議系統(tǒng)等通信產(chǎn)品的生產(chǎn)商和電信、聯(lián)通、移動、網(wǎng)通、鐵通、郵電、電力等營運商運維部門,是新建網(wǎng)絡(luò)檢測評估以及網(wǎng)絡(luò)故障分析的必備工具。如何快速準確的檢測到通信系統(tǒng)的誤碼率成為數(shù)據(jù)通信系統(tǒng)中不可缺少的重要工作。網(wǎng)絡(luò)維護人員經(jīng)常會遇到通信線路連接不通,通信數(shù)據(jù)接收不到,通信線路誤碼率高,通信網(wǎng)絡(luò)規(guī)程不匹配,通信網(wǎng)絡(luò)設(shè)備連接不上等問題,這時一臺操作簡單方便、體積輕巧、接口豐富、人機交互界面簡潔、成本低廉的手持式通信線路質(zhì)量分析儀器——誤碼儀成了網(wǎng)絡(luò)維護人員不可缺少的設(shè)備,誤碼分析儀給工程實際應(yīng)用帶來了極大的便利。
隨著通信測試技術(shù)的發(fā)展,通信測試儀器表現(xiàn)出一些共同的發(fā)展趨勢和特點。首先,測試設(shè)備的軟件化,智能化程度正在提高。其次,由于通信技術(shù)的發(fā)展迅速,同時通信測試儀器相對比較昂貴,考慮到投資費用問題,就要求儀器開發(fā)商必須考慮測試設(shè)備的測試功能,針對相應(yīng)領(lǐng)域及成本問題。另外,小型便攜化的設(shè)計思想是網(wǎng)絡(luò)測試設(shè)備發(fā)展的又一個趨勢和特點。由于網(wǎng)絡(luò)測試的移動性,需要在同一個網(wǎng)絡(luò)的不同測試點進行測試,或者測試物理距離跨度較大的網(wǎng)絡(luò),這都要求網(wǎng)絡(luò)測試儀器朝著小型化、便攜式的方向發(fā)展。便攜式通信測試儀器以現(xiàn)場施工和運行維護使用為主要目的,它不強調(diào)追求測試功能的完備性,而重點考慮的是實用性和方便性。
基于FPGA的智能誤碼測試儀就是基于實用、方便、經(jīng)濟方面的要求來進行設(shè)計開發(fā)的?;贔PGA的誤碼測試儀相對于傳統(tǒng)的誤碼測試儀的優(yōu)點在于其FPGA的內(nèi)部邏輯功能是通過向內(nèi)部靜態(tài)存儲器單元加載配置數(shù)據(jù)來實現(xiàn)的。它采用現(xiàn)場可編程門陣列(FPGA)作為核心器件,再升級和可移植能力強。其配置文件決定了邏輯單元的邏輯功能以及模塊間或與I/O間的連接,并最終決定了FPGA所實現(xiàn)的功能。FPGA的這種結(jié)構(gòu)允許多次編程,并享有快速有效地對新設(shè)計進行優(yōu)化的靈活性,故現(xiàn)今的通信系統(tǒng)大量采用FPGA作為系統(tǒng)的核心控制器件。此外,F(xiàn)PGA還具有靜態(tài)可重復(fù)編程和動態(tài)系統(tǒng)重構(gòu)的特性,使得硬件的功能可以像軟件一樣通過編程來修改。這樣就極大的提高了電子系統(tǒng)設(shè)計的靈活性和通用性?,F(xiàn)今的數(shù)字通信系統(tǒng)大量采用FPGA作為系統(tǒng)的核心控制器件。將物理層上的各協(xié)議層的功能集中:至UFPGA內(nèi)部實現(xiàn),提高了系統(tǒng)的集成度,同時也減少了硬件和軟件設(shè)計的復(fù)雜度。因此利用FPGA作為設(shè)計誤碼儀的主要芯片成為最適合的設(shè)計案。
1.2 國內(nèi)外研究現(xiàn)狀
誤碼分析儀作為數(shù)字通信系統(tǒng)驗收、維護和故障查詢的理想工具,廣泛應(yīng)用于同軸電纜、光纖、衛(wèi)星及局間中繼等符合CEPT(Confederation of European Postsand Telecommunications)數(shù)字系列通信系統(tǒng)傳輸質(zhì)量的監(jiān)測H1。目前誤碼分析儀的工作模式已發(fā)展到如下4種:
1、分析儀模式。分析儀模式主要應(yīng)用于在線檢測。
2、發(fā)生器模式。發(fā)生器模式可以產(chǎn)生各種幀信號,也可在n個(n=l-31)時隙中發(fā)送PRBS(Psedo—Random Binary Sequence)測試碼或用戶編程字。
3、分析儀/發(fā)生器模式。分析儀/發(fā)生器模式相當于碼發(fā)生器與誤碼分析儀的結(jié)合,用于中斷業(yè)務(wù)遠端環(huán)回的測試。本課題研究的誤碼儀屬于此類。
4、直通模式。直通模式用于插入式的測試,可在n個n=(1-31)時隙中插入測試碼型,并對被測時隙的告警和誤碼進行分析,而其余時隙仍在正常通信。
從誤碼儀接入方式或測試方式看,通常采用兩種方式:一種是斷線測試:另一種是在線監(jiān)測。
所謂斷線測試,是指在中斷業(yè)務(wù)傳輸?shù)那闆r下,由誤碼儀對系統(tǒng)進行實時誤碼測試。這種斷線測試方式的實質(zhì)是對系統(tǒng)運行質(zhì)量進行時域取樣檢測。根據(jù)斷線測試期間(即取樣檢測時間內(nèi))測得的數(shù)據(jù),來推斷或估計系統(tǒng)傳輸業(yè)務(wù)時的運行質(zhì)量。當系統(tǒng)運行穩(wěn)定、系統(tǒng)誤碼平穩(wěn)隨機且前后獨立等概率的情況下,只要測試時間或統(tǒng)計時間足夠長,斷線測試獲得的數(shù)據(jù)是能夠以較高的精度和較大的可信度反應(yīng)系統(tǒng)的運行質(zhì)量的。但是,在許多情況下,系統(tǒng)的誤碼并不是平穩(wěn)隨機的,而會出現(xiàn)緩慢的隨機波動。這樣,不同的測試時間和不同的統(tǒng)計周期,獲得的測試數(shù)據(jù)可能會有一定的差別。此時,斷線測試獲得的數(shù)據(jù)就不能很好地反映系統(tǒng)傳輸業(yè)務(wù)時的運行質(zhì)量。這是斷線測試的局限性,要實時了解系統(tǒng)長期運行期間的質(zhì)量情況,需要對系統(tǒng)進行在線誤碼監(jiān)測。所謂在線監(jiān)測,是指在不中斷業(yè)務(wù)運行的情況下,利用系統(tǒng)總碼流中的固定樣碼或冗余碼對系統(tǒng)誤碼進行實時在線監(jiān)測。與斷線測試相比,在線監(jiān)測具有如下優(yōu)點:
1、由于在線監(jiān)測與系統(tǒng)加載運行同時進行的,統(tǒng)計時間不受限制,因而測試結(jié)果具有較高的精度和較好的可信度。
2、在線監(jiān)測不需要中斷業(yè)務(wù)傳輸,就可以維護任務(wù)時了解到系統(tǒng)運行的質(zhì)量水平及其變化情況,從而大大提高了系統(tǒng)維護的透明度。
3、在線監(jiān)測不需要中斷業(yè)務(wù)傳輸,因此不會影響系統(tǒng)的服務(wù)時間,從而會給系統(tǒng)的運營者帶來明顯的經(jīng)濟效益。
4、在線監(jiān)測能夠統(tǒng)計和記錄系統(tǒng)長期加載運行時的誤碼情況,從而可以積累和提供系統(tǒng)運行的第一手資料,以便對系統(tǒng)的研究和設(shè)計改進提供可靠的資料依據(jù)。
目前傳統(tǒng)的誤碼測試儀主要是國外產(chǎn)品,以安捷倫Agilent E7580A 2M誤碼測試儀來說,目前市場價格在20000元/臺左右,操作復(fù)雜,價格昂貴。還有Agilent公司的N4906B串行誤碼率測試儀等。
國內(nèi)典型設(shè)備有信息產(chǎn)業(yè)部電子第四十一研究所的AV系列誤碼測試儀,如AV5235,AV5231,AV5232等??偟膩碚f,國外的產(chǎn)品功能比較完善,但其價格也相對較高;而國內(nèi)廠家的產(chǎn)品信號處理速度相對較低。下表是國內(nèi)外一些設(shè)備的性能特點。
表1.1誤碼儀性能特點
型號
特性
公司
ProBER2
識別2Mb/s信號的頻率,電平,脈沖波形,抖動等
美國安捷倫公司
Agilent
N4906B
9.5 Gb/s到12.5 Gb/s的碼型發(fā)生器和誤差檢測器
快速位模式同步
預(yù)定義標準兼容模式(Sonet/SDH/以太網(wǎng)/PC總線)
直觀用戶界面、Windows XP操作系統(tǒng)、觸摸屏
體積小巧可節(jié)省-T作臺和機架空間
LAN、USB 2.0、GPIB端口
SunLite E1
2.048Mbps發(fā)送和接收及外部時鐘
El比特差錯率測試
電平和頻率測試
取出和插入功能(N或M.64)
VF監(jiān)測和分析
可編程發(fā)送幀字
G.821、G.826和M.2100分析
告警產(chǎn)生/誤碼插入
傳輸時延測暈
Sunri srtelcom(美國勝利
電訊公司)
AV5233C
l~3次群,NRZ/RZ/AMI/HDB3可在線測試、漢顯、打印
依愛電子(安徽蚌埠41所)
AV5235
可在線測試、告警、時隙顯示,NX64Kb/S信道測試
AV5232E
適用16/32/64/128/256/512/1024/2048Kb/S數(shù)據(jù)測試
可在線測試,漢顯,機內(nèi)帶打印
1.3 系統(tǒng)仿真所應(yīng)用的技術(shù)
1.3.1 FPGA/CPLD技術(shù)及應(yīng)用
以上所設(shè)計的誤碼檢測系統(tǒng)是利用FPGA/CPLD技術(shù)來建模實現(xiàn)的。究竟什么是FPGA/CPLD,為什么要用這種技術(shù),它具有什么優(yōu)點,下面將對FPGA/CPLD技術(shù)進行簡要的概述。
FPGA(現(xiàn)場可編程門陣列)與CPLD(復(fù)雜可編程邏輯器件)都是可編程邏輯器件,它們是在PAL、GAL等邏輯器件的基礎(chǔ)之上發(fā)展起來的。同以往的PAL、GAL等相比較,F(xiàn)PGA/CPLD的規(guī)模比較大,適合于對時序、組合等邏輯電路應(yīng)用場合,它可以替代幾十甚至上百塊通用IC芯片。這樣的FPGA/CPLD實際上就是一個子系統(tǒng)部件。這種芯片具有可編程性和實現(xiàn)方案容易改動的特點。由于芯片內(nèi)部硬件連接關(guān)系的描述可以存放在磁盤、ROM、PROM或EPROM中,因而在可編程門陣列芯片及外圍電路保持不動的情況下,換一塊EPROM芯片,就能實現(xiàn)一種新的功能。FPGA芯片及其開發(fā)系統(tǒng)問世不久,就受到世界范圍內(nèi)電子工程設(shè)計人員的廣泛和普遍歡迎。
1.3.2 關(guān)于FPGA/CPLD的優(yōu)勢
高速和高可靠是FPGA/CPLD最明顯的特點,其時鐘延遲可達納秒級,結(jié)合其并
行工作方式,在超高速應(yīng)用領(lǐng)域和實時測控方面有非常廣闊的應(yīng)用前景。在高可靠應(yīng)用領(lǐng)域,如果設(shè)計得當,將不會存在類似于CPU的復(fù)位不可靠和PC可能跑飛等問題。CPLD和FPGA的高可靠性還表現(xiàn)在,幾乎可將整個系統(tǒng)下載于同一芯片中,實現(xiàn)所謂片上系統(tǒng),從而大大縮小了體積,易于管理和屏蔽。與ASIC設(shè)計相比,F(xiàn)PGA/CPLD顯著的優(yōu)勢是開發(fā)周期短,投資風險小、產(chǎn)品上市速度快,市場適應(yīng)能力強和硬件升級回旋余地大,而且當產(chǎn)品定型和產(chǎn)量擴大后,可將在生產(chǎn)中達到充分檢驗的VHDL設(shè)計迅速實現(xiàn)ASIC投產(chǎn)。本系統(tǒng)所用的程序編輯軟件以及所用的集成芯片都是Altera公司的產(chǎn)品。
第2章 誤碼測試技術(shù)
在這一章里將對誤碼測試原理進行詳細介紹,首先介紹了誤碼的基本概念、誤碼性能參數(shù)和誤碼產(chǎn)生的原因;其次,對誤碼測試原理進行了詳述:
2.1 誤碼的基本概念
2.1.1 誤碼簡述
隨著數(shù)字通信突飛猛進的發(fā)展,與此同時,其傳輸?shù)目煽啃詣t顯得尤為重要。誤碼特性是數(shù)字通信系統(tǒng)的重要特性之一。對二進制數(shù)字信號來說,誤碼的基本概念是:在傳輸系統(tǒng)的發(fā)送端發(fā)送“1”碼時,在接收端收到的卻是“0",而當發(fā)送端發(fā)送“0”碼時,接收端收到的卻是“1’’碼。這種收發(fā)信碼的不一致就稱為誤碼。誤碼影響數(shù)字傳輸系統(tǒng)的傳輸質(zhì)量,使音頻信號發(fā)生失真,使數(shù)據(jù)信號丟失信息,產(chǎn)生不準確信息或減少傳輸量等。因此,誤碼一直受到業(yè)內(nèi)的普遍重視,許多科技人員對其進行了長期的研究與實驗。誤碼是影響數(shù)字通信系統(tǒng)最重要的因素,因為誤碼直接破壞了信息傳遞的正確性。誤碼對數(shù)字網(wǎng)中的任何信息都會產(chǎn)生影響。目前,普通電信業(yè)務(wù)中占90%甚至95%以上是電話業(yè)務(wù),誤碼對電話業(yè)務(wù)的損害最終反映為話音中出現(xiàn)噪
聲,影響了通話質(zhì)量;在語音通信中,隨機誤碼的效果不過是聽筒中的嗒嗒聲,對通信質(zhì)量的影響不大。而數(shù)字通信中信息本身幾乎沒有冗余度,誤碼的影響很明顯,通常需要用糾檢錯編碼和重發(fā)等辦法加以解決。
2.1.2 誤碼性能參數(shù)
在實際系統(tǒng)工作時,由于無線電和衛(wèi)星系統(tǒng)的傳播效應(yīng)、電磁干擾和隨機傳輸模式的影響,系統(tǒng)性能可能會隨時間發(fā)生變化。為了滿足測量要求,在實際中通常采用誤碼性能參數(shù)來表示系統(tǒng)的誤碼性能,采用超過每個閾值的時間百分數(shù)來表征。通過測量可判斷出該系統(tǒng)的優(yōu)劣,并且可以根據(jù)誤碼性能指標判別出傳輸系統(tǒng)問題出現(xiàn)在哪個段落。具體來說有下列指標:
誤碼個數(shù)記錄:以發(fā)送端的二進制數(shù)和接收端的二進制數(shù)逐比特比較凡屬相異的即為誤碼,可在短時間內(nèi)判斷出該系統(tǒng)的優(yōu)劣。
劣化分(DM):每次測量時間To=1分鐘,門限平均誤碼率Pe=10-6,當分鐘平均誤碼率低于這一門限值時稱為劣化分鐘,見式(2—1):
(2—1)
嚴重誤碼秒(SES):每次測量時間To=1秒,門限平均誤碼率Pe=10-3,當秒平均誤碼率低于這一門限值時稱為嚴重誤碼秒,見式(2—2):
(2—2)
誤碼秒(ES):每次測量時間To=1秒,門限平均誤碼率Pe=0,量周期內(nèi)只要出現(xiàn)誤碼就稱為誤碼秒,見式(2-3):
(2—3)
無誤碼秒(EFS):每次測量時間瓦=1秒,門限平均誤碼率Pe=0,時間內(nèi)未出現(xiàn)一個誤碼,則稱該秒為無誤碼秒,見式(2-4):
(2—4)
平均誤碼率:是在一段相當長的時間間隔內(nèi),傳輸系統(tǒng)出現(xiàn)誤碼的概率,見式(2—5):
(2—5)
在數(shù)字通道中,誤碼率反映的是所產(chǎn)生的誤碼的多少,是針對一定時間的統(tǒng)計數(shù)值。因此在測量中要求m足夠大時才比較準確。在實際系統(tǒng)工作時,如果一個系統(tǒng)在足夠長的時間內(nèi)都具有比要求還低的誤碼率,則可認為該系統(tǒng)能長期正常工作:如果系統(tǒng)在數(shù)秒周期以內(nèi)具有高的誤碼率,則認為此系統(tǒng)是不穩(wěn)定的而“不可利用”。G.82l判據(jù)定義了可利用時間,并指出了誤碼性能指標的計算過程:根據(jù)總測量時間Z,誤碼測試儀減去不可利用時間周期,即誤碼率比10-3差的10秒或更長的周期,可以得到可利用時間(SAVAIL秒)。在余下的可利用時間內(nèi),累計有誤碼的秒作為誤碼秒(ES)被記錄,同時將誤碼率比10-3更差的任何秒作為嚴重誤碼秒(SES)被累計,余下的無嚴重誤碼秒周期一起被放入60秒的信息編組中,而平均誤碼率比10-6差的任何秒都歸類為劣化分(DM),計算流程如圖2.1所示:
圖2.1 誤碼率計算流程圖
2.2 誤碼檢測原理
誤碼測試儀是一種常用的通信儀器,廣泛用于電子電路、通信和教學實驗等領(lǐng)域。其基本原理是通過對經(jīng)過被測系統(tǒng)的序列和原序列進行逐位比較,從而得到誤碼數(shù)。基本原理如圖2.2。
圖2.2 誤碼檢測基本原理
這里的被測系統(tǒng)是指廣義的信道,它不僅包括傳輸媒質(zhì)、還有調(diào)制解調(diào)器、交換設(shè)備等,因而檢測誤碼可以了解整個數(shù)據(jù)傳輸系統(tǒng)的傳輸性能。誤碼的產(chǎn)生不僅僅只是線路上的碼間串擾和噪聲干擾引起,系統(tǒng)的接收、發(fā)送設(shè)備以及其它部分都可能引起誤碼。
從圖2.2知,誤碼測試系統(tǒng)主要由發(fā)送(測試碼產(chǎn)生器)和接收(誤碼檢測)兩部分組成。發(fā)送部分完成系統(tǒng)需求的各種偽隨機碼產(chǎn)生、發(fā)送功能,誤碼插入功能。該模塊根據(jù)操作人員設(shè)定的碼元類型以及發(fā)送速率發(fā)送供系統(tǒng)測試用的比特流。要求能發(fā)出標準的數(shù)據(jù)信號作為測試信號,代替實際線路中的傳輸信號送到被測系統(tǒng)中。接收部分要求能產(chǎn)生與發(fā)送部分完全相同的數(shù)據(jù)信號,用以和接收到的信號逐位比較,比對過程如圖比對過程如圖2.3所示:
圖2.3 數(shù)據(jù)比對原理圖
從圖2.3可以看到,從信道傳遞到接收機的序列通過異或門與接收機產(chǎn)生的序列進行對比,若相同,則輸出為‘O’,若不同,則輸出為“1"并計為1個誤碼,從而得到準確的誤碼數(shù)或誤碼率??傮w來說,誤碼儀檢測的工作過程可概括為以下幾個過程和步驟:
(1)以某種方式產(chǎn)生和發(fā)送碼組相同的碼型,以相同相位的本地碼組作為比較標準;
(2)將本地碼組與接收碼組逐個進行比較,并輸出誤碼脈沖信號;
(3)對誤碼脈沖信號進行統(tǒng)計,并給出相應(yīng)的誤碼率。
在對通信系統(tǒng)的性能進行誤碼檢測的設(shè)備中,發(fā)送部分的碼組發(fā)生器作為代替數(shù)字信息輸入的信號源是一種不可缺少的裝置。常用的碼組發(fā)生器有兩類:
一類是偽隨機碼發(fā)生器,它產(chǎn)生的序列具有接近純隨機數(shù)字序列的特性:另一類是規(guī)則碼發(fā)生器。它可通過選擇開關(guān)或按鍵來確定規(guī)則碼的構(gòu)成。規(guī)則碼發(fā)生器的序列周期一般較短,主要用作單元部件和整機性能的測試序列。而在測量通信系統(tǒng)的誤碼率時,測量結(jié)果與誤碼測試儀送出信號的統(tǒng)計特性有關(guān),通常認為二進制信號0和l是以等概率出現(xiàn)的,所以從理論上講,誤碼儀發(fā)碼發(fā)生器產(chǎn)生的信號以隨機序列為最佳,然而隨機序列難以重復(fù)產(chǎn)生,所以在實際測量時不能用隨機序列。考慮到偽隨機序列具有類似于隨機序列的一些統(tǒng)計特性,同時又便于重復(fù)產(chǎn)生和處理,所以一般用偽隨機序列來代替隨機序列,作為被測系統(tǒng)的測試信號。
誤碼儀收端模塊所面臨的最主要問題是如何準確地實現(xiàn)本地產(chǎn)生的序列與收到的數(shù)據(jù)流同步,即比特對齊,這是整個誤碼儀正常工作的前提。根據(jù)本地碼組發(fā)生器的構(gòu)成方式不同,將誤碼檢測器分為以下幾種類型:
(1)幀同步式的誤碼檢測器
這種誤碼檢測器的基本原理是在測試序列中插入幀同步碼組,在接收端進行幀同步識別,并依靠幀同步信號控制本地碼發(fā)生器,產(chǎn)生與測試序列相位一致和起止位置一致的本地碼組。
(2)隨機同步式誤碼檢測器
這種誤碼檢測器不需要幀同步系統(tǒng),當然也就不需要在發(fā)端插入幀同步碼組。它的基本原理是將接收到的m序列的部分子序列寫入本地碼發(fā)生器的各級,就能使本地碼和接收碼保持同步。為了在建立同步后,保持同步的穩(wěn)定性,設(shè)置一個寫入控制門。讓接收碼寄存器的自序列在寫入本地碼發(fā)生器前必須先經(jīng)過寫入控制門。只有在子序列無誤碼和本地碼失步的情況下,控制門才打開。
(3)收發(fā)自檢式誤碼檢測器
它的特點是:本地碼組直接由發(fā)送碼組給出,不需要另外設(shè)置本地碼組發(fā)生器。在誤碼檢測器中,同時將發(fā)送碼組和接收碼組進行比較。這種檢測方式要求發(fā)送碼組和接收碼組在同一地點,因此只能用于室內(nèi)測試。這種設(shè)備的碼組產(chǎn)生器和誤碼檢測器可做在同一套裝置上,電路較為簡單。測試時,將發(fā)送碼組分為兩路:一路送給被測通信系統(tǒng);另一路送給誤碼檢測器。由于接收碼組和發(fā)送碼組到達誤碼檢測器的時間不同,存在延時誤差,因此需要對發(fā)送碼組進行延時調(diào)整,以便使兩路碼組信號的相位一致。
(4)逐位檢測式誤碼檢測器
逐位誤碼檢測器的基本工作原理是:本地m序列發(fā)生器產(chǎn)生的m序列和所接收的m序列進行逐位比較,若兩個m序列同步,則比較器輸出傳輸誤碼;若兩m序列不同步,則比較器輸出的是由于失步造成的誤碼。由于失步造成的誤碼較大(根據(jù)m序列的特性,其誤碼率應(yīng)為O.5),因此可根據(jù)誤碼率門限來區(qū)分檢測系統(tǒng)是否失步,若失步,則讓本地m序列發(fā)生器等待一個位時鐘周期,依次逐位比較,
并逐位控制本地m序列發(fā)生器的等待時間,直至兩序列完全同步為止。
本系統(tǒng)用的是逐位檢測同步法。
第三章 系統(tǒng)總體設(shè)計
3.1 總體方案設(shè)計
3.1.1 系統(tǒng)需求分析
文章的目的為設(shè)計出一臺可實際操作運行的誤碼儀設(shè)備,由于是基于FPGA的設(shè)計,系統(tǒng)具有很高的集成度和可擴展性,并可以隨時升級,在設(shè)計的功能上可以隨時刪減和調(diào)整。經(jīng)過分析,整個設(shè)計的基本功能需求如下:
測試速率:2MHz。測試碼型: 215-1位偽隨機序列碼
HDB3碼編解轉(zhuǎn)換;
基于液晶屏的顯示;
誤碼率計算
以上的各個功能經(jīng)過軟件編程仿真及綜合后,所消耗u洛(邏輯單元)大概在2000個左右。因此需選用具備足夠LES(邏輯單元)的FPGA芯片進行設(shè)計。
整個設(shè)計有三個子系統(tǒng):發(fā)送子系統(tǒng)、接受子系統(tǒng)、SOPC系統(tǒng)。
誤碼儀發(fā)送子系統(tǒng)完成誤碼測試中偽隨機測試碼的發(fā)送基本功能,需要完成系統(tǒng)要求需如下基本功能模塊:
215—1偽隨機碼產(chǎn)生模塊;
誤碼插入模塊;
HDB3碼型編碼模塊。
誤碼儀接收子系統(tǒng),需要完成如下幾個功能模塊:
HDB3碼型解碼模塊;
同步時鐘提取模塊;
偽隨機測試碼同步模塊。
SOPC系統(tǒng)完成的功能:
誤碼統(tǒng)計及誤碼率運算程序;
LCD信息輸出;
灌碼控制開關(guān)功能。
3.1.2 系統(tǒng)總體方案設(shè)計
根據(jù)系統(tǒng)需求制定了系統(tǒng)總構(gòu)架框圖,選用大規(guī)??删幊涕T陣列芯片F(xiàn)PGA作為主控芯片,利用EDA軟件設(shè)計FPGA的外圍電路和必要的功能電路。采用模塊化結(jié)構(gòu)不僅方便了調(diào)試和維護工作,而且提高了CPU的工作效率和系統(tǒng)運行的可靠性。誤碼測試儀整體框圖如圖3.1所示
發(fā)送部分
HDB3編碼
誤碼插入
M序列發(fā)生器
待測系統(tǒng)
時鐘電路
接收部分
灌碼序列同步
位同步
HDB3解碼
灌碼控制,誤碼計算,顯示
SOPC系統(tǒng)
圖3.1 誤碼測試儀整體框圖
第四章 各個模塊設(shè)計
4.1 時鐘模塊設(shè)計
時鐘是整個設(shè)計中不可缺少的一環(huán),數(shù)據(jù)的產(chǎn)生,發(fā)送,接受以及計數(shù)等等,都需要有一個基準的系統(tǒng)時鐘模塊來提供所需要的時鐘信號,時鐘模塊由鎖相環(huán)與時鐘分頻模塊組成。
l 該模塊由QuartuslI的MegaCore(設(shè)計庫)功能自動生成,用于例化內(nèi)部PLL(鎖相環(huán)),實現(xiàn)所需的倍頻功能。可以將50MHz時鐘8/25倍頻到16MHz作為內(nèi)部數(shù)據(jù)處理時鐘。圖4.1為系統(tǒng)生成的PLL框圖。
圖4.1 PLL框圖
如圖所示,inclk0為外部有源晶振提供的50MHz時鐘信號輸入,經(jīng)過PLL產(chǎn)生co和c1兩個時鐘信號,其中co與inclk0相同,為50MHz,c1為inclk0的8/25倍頻,為16MHz。方框內(nèi)表格各項內(nèi)容分別為信號名稱,信號倍率,信號相位,占空比。
通過Quartus軟件仿真得到時序仿真波形圖如圖4.2所示:
圖4.2 PLL時序仿真波形圖
l 8分頻模塊設(shè)計
在系統(tǒng)中碼元速度為2Mb/s,需啊設(shè)計一個8分頻器將16M時鐘信號分頻為2M,8分頻器的設(shè)計用VHDL語言描述如下:
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<DWIDTH/2 then
clkout<=1;
else
clkout<=0;
end if;
end process;
end rtl;
生成元件端口圖如圖4.3所示,其中c0為16M時鐘,clk為2M時鐘。
圖4.3 8分頻生成元件端口圖
通過Quartus軟件仿真得到時序仿真波形圖如圖4.4所示,圖中端口與圖4.3對應(yīng)。
圖4.4 8分頻時序仿真波形圖
4.2 m序列偽隨機信號發(fā)生器模塊設(shè)計
4.2.1 m序列的介紹和產(chǎn)生原理
許多通信理論都建立在這樣一個假設(shè)上,原始的信源信號為0,1 等概且相互獨立的隨機數(shù)字序列。這類碼序列的最重要的特征應(yīng)是具有近似于隨機信號的性能。也可以說具有與噪聲相似的性能。 但是,真正的隨機信號和噪聲是不能重復(fù)再現(xiàn)和產(chǎn)生的。 所以只能產(chǎn)生一種周期性的脈沖信號來近似隨機噪聲的性能,即偽隨機序列。本方案中采用的偽隨機序列是m序列。
m序列碼也稱偽隨機序列碼,其主要特點是:
(1)每個周期中,“1”碼出現(xiàn)2n-1次,“0”碼出現(xiàn)2n-1次,即0、1出現(xiàn)概率幾乎相等。
(2)序列中連1的數(shù)目是n,連0的數(shù)目是n-1。
(3)分布無規(guī)律,具有與白噪聲相似的偽隨機特性。
由于具有這些特點,m序列碼在通信、雷達、系統(tǒng)可靠性測試等方面獲得了廣泛地應(yīng)用。m序列碼發(fā)生器是一種反饋移位型結(jié)構(gòu)的電路,它由n位移位寄存器加異或反饋網(wǎng)絡(luò)組成,其序列長度M=2n-1,只有一個多余狀態(tài)即全0狀態(tài),所以稱為最大線性序列碼發(fā)生器。由于其結(jié)構(gòu)已定型,且反饋函數(shù)和連接形式都有一定的規(guī)律,因此利用查表的方式就設(shè)計出m序列碼。列出部分m序列碼的反饋函數(shù)F和移存器位數(shù)n的對應(yīng)關(guān)系。如果給定一個序列信號長度M,則根據(jù)M=2n-1求出n,由n查表便可以得到相應(yīng)的反饋函數(shù)F。
圖4-5示出的是由n級移位寄存器構(gòu)成的碼序列發(fā)生器。它由n個二元存儲器和模2開關(guān)網(wǎng)絡(luò)組成。二元存儲器通常是一種雙穩(wěn)態(tài)觸發(fā)器,它的兩種狀態(tài)記作“0”和“1”,其狀態(tài)取決于時鐘控制下輸入的信息(“0”或“1”),例如:第i級移位寄存器狀態(tài)決定于前一時鐘脈沖后的第i-1級移位寄存器的狀態(tài)。
圖4.5
圖中C0、C1…Cn均為反饋線,其中C0=Cn=1,表示反饋連結(jié)。因為m序列是由循環(huán)序列發(fā)生器產(chǎn)生的,因此C0和Cn肯定為1,即參與反饋。而反饋系數(shù)C1、C2…Cn-1若為1,參與反饋,若為0,則表示斷開反饋線,即開路、無反饋連線。
一個線性反饋移位寄存器能否產(chǎn)生m序列.決定于它的反饋系數(shù)Ci(C0…Cn的總稱)。反饋系數(shù)Ci是以八進制表示的。使用該表時,首先將每位八進制數(shù)寫成二進制形式。最左邊的1就是C0(C0恒為1),從此向右,依次用二進制數(shù)表示C1、C2…Cn。有了C1、C2…值后,就可構(gòu)成m序列發(fā)生器。
4.2.2 m序列發(fā)生器設(shè)計
其中FPGA內(nèi)核中m序列發(fā)生器的設(shè)計思想采用移位寄存器理論,并根據(jù)本原多項式來獲得m序列移位寄存器的反饋邏輯式:
其中cn-1-i∈GF(2)是反饋系數(shù),xi∈GF(2)是每位寄存器的狀態(tài)。這樣,結(jié)合cyclone系列FPGA芯片EP1C12-240PQFP的結(jié)構(gòu)特點,就很容易實現(xiàn)反饋移位寄存器的邏輯功能。
圖4.6 m 序列發(fā)生器圖
該電路中共有15個移位寄存器(由D觸發(fā)器構(gòu)成),當出現(xiàn)意外使得所有的D觸發(fā)器都輸出0時,在4個與門和1個與非門的作用下使得第一級觸發(fā)器低電平置位端為0, 從而輸出為1,跳出了m序列不允許的全0狀態(tài), 實現(xiàn)了自啟動功能.可以防止所有的D觸發(fā)器都輸出0而進入死循環(huán),實現(xiàn)自啟動是這個電路的最大特點.
下圖4.7為碼型為215-1位的偽隨機序列碼的波形仿真圖,圖中的信號輸入輸出端子的定義與圖4.6中的對應(yīng):
圖4.7 偽隨機序列碼的波形仿真圖
4.3 手動誤碼插入模塊設(shè)計
發(fā)送端另外一個重要的功能是實現(xiàn)誤碼插入。也就是人為的在發(fā)送序列中插入已知插入頻率的誤碼信號,然后在接收端檢測這些誤碼,最后可以將檢測的結(jié)果與發(fā)送端己知的插入頻率進行比較,以判斷通信系統(tǒng)的誤碼性能。這也是檢測通信系統(tǒng)性能的重要方法之一。
最終輸出的碼型NRZ_1則是加入了手動誤碼按鈕掃描模塊輸入控制,當手動誤碼指令key為1時將一個偽隨機碼反相,也就是將當時的寄存器輸出的值經(jīng)過一級非門,從而實現(xiàn)了插入1個比特的誤碼。當手動誤碼指令key為0,傳遞的偽隨機碼不變。
內(nèi)部結(jié)構(gòu)框圖如圖4.8所示
圖4.8 誤碼插入結(jié)構(gòu)圖
通過軟件仿真得到功能仿真波形圖如圖4.9所示:
沒按鍵加誤碼,有一個時鐘周期的延遲.
圖4.9 不按插入誤碼鍵的時序仿真
用一個時鐘周期的高電平模擬一次按鍵,手動加誤碼,時序仿真如下圖4-10:
圖4.10 按下插入誤碼鍵加入誤碼的時序仿真
4.4 位同步模塊設(shè)計
位同步子模塊用于提取和跟蹤位同步時鐘,碼元的位同步時鐘在接收碼元的時候首先被提取出來,它是傳輸速率的標志。
本設(shè)計中,采用碼元邊沿觸發(fā)的方式來獲取碼元的位時鐘信息。邊沿觸發(fā)方式就是采用碼元的上升沿或者下降沿作為觸發(fā)信號,對分頻計數(shù)器進行復(fù)位,而分頻計數(shù)器的時鐘輸入端由本地高速時鐘提供,要求高速時鐘頻率比碼元速率要高出N倍,因此分頻計數(shù)器的分頻值則為N,N越大提取出來的同步位時鐘相位差越小。位同步模塊設(shè)計電路如圖4.11所示:
圖4.11 位同步電路
波形仿真圖圖如圖4.9所示:高速時鐘頻率采取16M,2M端口為原時鐘,高速時鐘頻率比碼元速率要高出8倍,因此分頻計數(shù)器的分頻值也采取8,Rclk為同步出來的時鐘,與原2M時鐘相比,相位相差1/4。
圖4.9 位同步波形仿真
4.5 HDB3編解碼器設(shè)計
HDB3(High Density Bipolar三階高密度雙極性)碼是在AMI碼的基礎(chǔ)上改進的一種雙極性歸零碼,它除具有AMI碼功率譜中無直流分量,可進行差錯自檢等優(yōu)點外,還克服了AMI碼當信息中出現(xiàn)連“0”碼時定時提取困難的缺點,而且HDB3碼頻譜能量主要集中在基波頻率以下,占用頻帶較窄,是ITU-TG.703推薦的PCM基群、二次群和三次群的數(shù)字傳輸接口碼型,因此HDB3碼的編解碼就顯得極為重要了。
4.5.1HDB3編解碼原理
要了解HDB3碼的編碼規(guī)則,首先要知道AMI碼的構(gòu)成規(guī)則,AMI碼就是把單極性脈沖序列中相鄰的“1”碼(即正脈沖)變?yōu)闃O性交替的正、負脈沖。將“0”碼保持不變,把“1”碼變?yōu)?1、-1交替的脈沖。如:
NRZ碼:1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1
AMI碼:-1 0 0 0 0 +1 0 0 0 0 -1 +1 0 0 0 0 -1 +1
HDB3碼是一種AMI碼的改進型,它的編碼原理可簡述為,在消息的二進制代碼序列中:
(1)當連“0”碼的個數(shù)不大于3時,HDB3編碼規(guī)律與AMI碼相同,即“1”碼變?yōu)椤?1”、“-1”交替脈沖;
(2)當代碼序列中出現(xiàn)4個連“0”碼或超過4個連“0”碼時,把連“0”段按4個“0”分節(jié),即“0000”,并使第4個“0”碼變?yōu)椤?”碼,用V脈沖表示。這樣可以消除長連“0”現(xiàn)象。為了便于識別V脈沖,使V脈沖極性與前一個“1”脈沖極性相同。這樣就破壞了AMI碼極性交替的規(guī)律,所以V脈沖為破壞脈沖,把V脈沖和前3個連“0”稱為破壞節(jié)“000V”;
(3)為了使脈沖序列仍不含直流分量,則必須使相鄰的破壞點V脈沖極性交替;
(4)為了保證前面兩條件成立,必須使相鄰的破壞點之間有奇數(shù)個“1”碼。如果原序列中破壞點之間的“1”碼為偶數(shù),則必須補為奇數(shù),即將破壞節(jié)中的第一個“0”碼變?yōu)椤?”,用B脈沖表示。這時破壞節(jié)變?yōu)椤癇00V”形式。B脈沖極性與前一“1”脈沖極性相反,而B脈沖極性和V脈沖極性相同。
如:NRZ碼:1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1
AMI碼:-1 0 0 0 0 +1 0 0 0 0 -1 +1 0 0 0 0 -1 +1
HDB3碼:-1 0 0 0 -V +1 0 0 0 +V -1 +1 B 0 0 -V +1 -1
4.5.2 HDB3編碼
HDB3碼生成電路主要是由4連零V取代碼變換器,B取代碼加入器、(一)輸入器及雙極變換器組成如圖4.10所示:
圖4.10 HDB3碼生成電路
PCM 二元單極性信息碼流經(jīng)4連零V取代碼變換器,使大于或等于4個連零碼中的第四個零碼用V取代碼來代替。當相鄰V取代碼聞原始信息碼為偶數(shù)時很難保證V取代碼與前面相鄰傳號碼同極性,四此.這時需將4個連零碼流中的第一個零碼加B取代碼,這由B取代碼加入器來完成 PCM+V信息碼流經(jīng)過B取代碼加入器后,將輸出B碼或零碼(取決于相鄰v碼間碼數(shù)的奇偶性),再和PCM+V碼流相加即可輸出PCM+V+B含取代碼的信息碼流、最后經(jīng)過雙級性變換即可輸出HDB3信息碼。
(1)4連零V取代碼變換器
4連零V取代碼變換器是由三級移位寄存器D1、D2、D3、或門A、檢測與門B、非門C組成(如圖4.11所示)。當信息碼流PCM經(jīng)過或門A和三級移位寄存器D1、D2、D3、后,即可將碼流中的前3位碼記憶于寄存器中,當信息碼中前3為零,而第4個零碼來到時=1,檢測門B輸出=1,顯然此時的1碼并非是信息碼流中的1碼,而是人為的假碼稱取代碼V。經(jīng)過4連零V取代碼變換器后,輸出PCM+V含取代碼的信息碼流。
圖4.11 4連零V取代碼變換器
(2)B取代碼加人器
B取代碼加入器是由JK奇偶檢出電路、或門A、與門B1和B2、非門C及D觸發(fā)器組成。
由前所述,當相鄰取代碼V間的原始傳號碼為偶數(shù)時,需將4連零碼中的第一個零碼用取代碼B來代替,但是由于設(shè)計一個能區(qū)分取代碼V(士1碼)和傳號碼(士1碼)的計數(shù)邏輯電路比較復(fù)雜,為簡化電路將相鄰取代碼V中的一個V也參與計數(shù),顯然,此時當相鄰取代碼V間的傳號為奇數(shù)時(含其中一個取代碼),應(yīng)加B取代碼。為了記數(shù),首先將PCM+V a=1信息碼流變換成a=0.5PCM+V 信息碼流,這由B1與門完成。奇偶檢出電路的奇偶計數(shù)是否加取代碼B應(yīng)在相鄰取代碼V間進行。顯然奇偶檢出電路計數(shù)前清零應(yīng)選在取代碼V結(jié)束時刻,奇偶檢出電路計數(shù)結(jié)束時刻應(yīng)選在下一個取代碼V開始時刻,例如:當JK奇偶檢出電路檢出的是奇數(shù)時,Q=1,它和取代碼V一起送到B2與門判斷,輸出1碼(B取代碼):當奇偶檢出電路檢出是偶數(shù)時Q=0,B2與門輸出是0碼,PCM+V信息碼流與B碼相加,即可輸出含取代碼V,B的PCM+V+B信息碼流 其變換波形如圖4.12所示
圖4.12 B取代碼加入器
(3)雙極變換邏輯電路
雙極變換邏輯電路是由或門A、T觸發(fā)器,判決正、負脈沖與門B1和B2及阻塞振蕩器組成,見圖4.13所示。單極性PCM+V+B信息碼流通過或門A 觸發(fā)T觸發(fā)器使其輸出端Q和分別和PCM+V+B相與,可檢出正、負交替脈沖,通過阻塞振蕩器最后輸出正負交替脈沖。值得一提的是此脈沖滿足不了取代碼V與前相鄰傳號碼(或B取代碼)同極性的要求只要在4連零V碼前加一個脈沖,使T觸發(fā)器“空翻”轉(zhuǎn)次(此脈沖不參與正、負脈沖與門B1和B2判別),這樣V脈沖來時觸發(fā)T觸發(fā)器,經(jīng)正、負脈沖與門B1和B2的判別恰好保證了取代碼V與前相鄰的傳號碼(或B取代碼)同極性,經(jīng)過倒相和移一位的取代碼脈沖,正好對準4連零碼中的第二個零碼,將其倒相后得到的脈沖,隨同PCM+V+B信息碼流同時送入或門A,觸發(fā)T觸發(fā)器,此時Q 和和PCM+V十B相與得到的正、負脈沖經(jīng)阻塞振蕩器輸出即可生成HDB3碼流。
圖4.13 雙極性變換電路
4.5.3 HDB3解碼
雖然HDB3 碼的編碼規(guī)則比較復(fù)雜,但譯碼卻比較簡單. 從編碼原理可以看出,每一破壞符號總是與前一非“0”符號同極性. 據(jù)此,從收到的符號序列中很容易找到破壞點V,于是斷定V 符號及其前面的3 個符號必定是連“0”符號,從而恢復(fù)4個連“0”碼,再將所有的+1 、- 1 變成“1”后便得到原信息代碼. 其解碼電路就是完成上述編碼的逆處理,首先將單路雙極性HDB3 碼碼流轉(zhuǎn)換成正、負極性分開的兩路單極性+ HDB3 和- HDB3 信號,然后檢出插入的V 脈沖和B 脈沖, 將取代碼“000V”或“B00V”還原成原信息“0000”.
圖4.14 HDB3譯碼電路功能方框圖
(1) RZ/NRZ變換電路
經(jīng)均衡放大和雙/單變換后的HDB3碼,首先經(jīng)過RZ/NRZ變換,將5O 占空比的歸零RZ碼變換為符合邏輯要求的不歸零NRZ碼,其實現(xiàn)電路如圖4.15
圖4.15 RZ/NRZ變換電路
(2) V檢測電路的設(shè)計
V脈沖檢出電路主要由一個J—K觸發(fā)器加組合與非門來完成,其實現(xiàn)電路如圖3所示。當無V脈沖出現(xiàn)時,正常傳號H在輸入的正負脈沖中交替出現(xiàn)(正脈沖出現(xiàn)的傳號為1+ 負脈沖出現(xiàn)的傳號是1-),輸出V1端無脈沖輸出。當V+脈沖或V-脈沖出現(xiàn)時,正脈沖或負脈沖序列會連續(xù)出現(xiàn)兩個脈沖。當連續(xù)出現(xiàn)的第二個脈沖(V脈沖)到來時,若該脈沖為真正的V脈沖,則V1(對應(yīng)B00V或000V取代節(jié)的第二和第三位)就會輸出一個負脈沖,該負脈沖稱為V脈沖標志,作為扣除B、V脈沖用。
圖4.16 V脈沖檢出電路
圖4.16的V脈沖檢出電路中,J—K觸發(fā)器Q端的輸出信碼和D觸發(fā)器輸出H+脈沖經(jīng)過一個與非門后,就把符合交替變號的H+脈沖扣除了,與非門的輸出信碼中就只有V+脈沖;同理,當J—K觸發(fā)器Q端輸出信碼和H一脈沖經(jīng)過一個與非門后,輸出也只有V-脈沖。可見,J—K觸發(fā)器加組合與非門可以檢測出破壞點V脈沖,V1=0時,有破壞點V+脈沖,V2=0時,有破壞點V-脈沖。
(3) B、V扣除電路
B、V扣除電路包括B脈沖扣除電路和V脈沖扣除電路。V脈沖扣除電路就是將二元碼流中的破壞點V脈沖扣除掉。由前面的V脈沖檢出電路可知,只有在V脈沖出現(xiàn)的位置上,V1和V2的輸出信號才會出現(xiàn)低電平,而其他時候都是輸出高電平,所以,讓V1和V2信號同時經(jīng)過一個與門后,就能把V脈沖(包括V+和V一脈沖)都扣除。B脈沖扣除電路的原理是:根據(jù)HDB3碼譯碼規(guī)則,如果碼流中存在B脈沖,它必定在V脈沖前面的第三位。據(jù)此可認為,如果檢測V脈沖前面的第三位置上不為“0”,則此脈沖為B脈沖;如果檢測到“V”脈沖前面的第三位為“0”,那么,此處自然不存在B脈沖,據(jù)此可進行B脈沖扣除。電路實現(xiàn)時,將第一部分(RZ/NRZ變換電路)的輸出nrz1和nrz2接人到或門,即讓HDB3碼中所有的傳號都通過;然后,經(jīng)過相當于V脈沖扣除功能的電路,判斷所有傳號中如果有V脈沖的存在,就連續(xù)輸出三個連“0”,其他不存在V脈沖的情況則讓所以傳號通過。綜上所述,可設(shè)計出B、V扣除電路的具體電路,如圖4.17所示。
圖4.17 B、V扣除電路
HDB3解碼電路如圖4.18所示.
圖4.18 HDB3解碼設(shè)計
仿真圖如圖4.19
圖4.19 HDB3編解碼波形仿真
4.6 序列同步模塊及誤碼檢測設(shè)計
序列是周期序列,測試序列和檢驗序列的比較應(yīng)以周期內(nèi)同一位置作為起點。因此,在序列比較前首先進行序列同步,沒有狀態(tài)同步就進行序列比較是毫無意義的。常見序列同步方法有滑動相關(guān)法,序列相關(guān)法和SAW器件捕捉法等。但是這些方法都有實現(xiàn)結(jié)構(gòu)復(fù)雜,同步時間長等缺點,為了使誤碼測試儀能在不知發(fā)端序列發(fā)生器的初始狀態(tài)的情況下實現(xiàn)序列的快速同步,可以用圖4.20所示的序列同步模塊中的電路來實現(xiàn)。由于m序列的下一存儲器狀態(tài)組合僅取決于當前的狀態(tài)組合,啟動測量時開關(guān)接到A點,來自待測系統(tǒng)的信號灌入到本地m序列發(fā)生器,一開始是個開環(huán)系統(tǒng)。當15個移存器存滿以后,這時開關(guān)控制電路將開關(guān)轉(zhuǎn)換到B點,使本地碼形發(fā)生器處于閉環(huán)狀態(tài),進行正式測量。由于m序列的下一狀態(tài)僅取決于當前狀態(tài),所以如果最初接收到的15個碼元都是正確的,那么就認為達到了預(yù)同步。采用這一方法的優(yōu)點是可以大大的縮短序列同步所需的時間。
圖4.20 序列同步模塊及誤碼檢測
波形仿真如下兩圖
圖4.21 不加誤碼時序列同步及誤碼檢測時序仿真
圖4.22 加誤碼時序列同步及誤碼檢測時序仿真
4.7 誤碼計數(shù)和顯示模塊
誤碼計數(shù)和顯示均有SOPC來實現(xiàn)。SOPC的CPU采用32位F型,RAM采用內(nèi)部例化的4M大小ON-CHIP,一個JTAG調(diào)試控制器,LCD1602控制器,一個時鐘用于顯示周期,SYNC為灌碼使能端,一個外部中斷計數(shù)端口和INT0中斷端口。SOPC的設(shè)計如下圖:
圖4.23 SOPC設(shè)計控件添加圖
當SYNC輸出高電平時,灌碼模塊開始灌碼,同時灌碼計數(shù)器開始計數(shù)。當15個碼灌完后,計數(shù)器輸出一個上升沿引發(fā)CPU的INT0中斷,使SYNC輸出低電平,灌碼模塊灌碼結(jié)束。
JISHU中斷模塊設(shè)置為當誤碼檢測輸出端每輸出一個上升脈沖,中斷一次,使誤碼數(shù)data加一,即每有一個誤碼,data值加一。
TIMER時鐘模塊設(shè)置為每0.5秒中斷一次,讀一次data值,用于計算誤碼率。
4.8 小結(jié)
本章是整個設(shè)計的核心部分,在上一章的總體設(shè)計基礎(chǔ)上,本章進行了詳細的分模塊的設(shè)計,F(xiàn)PGA的優(yōu)勢在這里得到了體現(xiàn),可以通過下載線纜進行實時在線的調(diào)試,每個模塊分別調(diào)試,模塊的設(shè)計以及調(diào)試可以詳細至門電路一級。
圖4.24 總體設(shè)計圖
第五章 軟硬件開發(fā)環(huán)境介紹
5.1 FPGA硬件開發(fā)板介紹
HSNIOS2C8 V3.0NIOS Ⅱ開發(fā)套件,產(chǎn)品功能如下:
1.提供完整的Altera FPGA軟硬件開發(fā)實現(xiàn)平臺
2.提供基于NIOS Ⅱ IDE HAL de UCOS Ⅱ(LWIP)應(yīng)用開發(fā)實現(xiàn)平臺
3.外設(shè)資源:SDRAM,F(xiàn)LASH
4.良好的擴展性能,開發(fā)板引出了NIOSⅡ系統(tǒng)Avalon總線和未使用的FPGA IO引腳,組合成80芯的擴展接口。
5.板上預(yù)留了LCD1602接口
6.配置端口:板上有2個配置端口,一個是AS配置端口,一個是JTAG配置端口。AS端口用來配置EPCS器