基于FPGA的RS485接口誤碼測(cè)試儀的設(shè)計(jì)
摘 要: 介紹了一種基于FPGA的誤碼測(cè)試儀的設(shè)計(jì)原理、實(shí)現(xiàn)過(guò)程及調(diào)試經(jīng)驗(yàn)。該誤碼測(cè)試系統(tǒng)使用RS485接口,具有原理簡(jiǎn)單、接口獨(dú)特、功能豐富等特點(diǎn),系統(tǒng)具有較好的可擴(kuò)展性。
在數(shù)字通信中,誤碼率BER(Bit Error Rate)是衡量通信系統(tǒng)質(zhì)量的一項(xiàng)重要指標(biāo)。無(wú)論是設(shè)備故障、傳播衰落、碼間干擾、臨近信道干擾等因素都可能造成系統(tǒng)性能惡化甚至造成通信中斷,其結(jié)果都可通過(guò)誤碼的形式表現(xiàn)出來(lái)[1]。因此,誤碼測(cè)試儀是現(xiàn)代通信系統(tǒng)的主要測(cè)試儀器之一。
目前,通常使用的傳統(tǒng)誤碼測(cè)試儀雖然具有測(cè)試內(nèi)容豐富、測(cè)試結(jié)果直觀等優(yōu)點(diǎn),但是由于通信系統(tǒng)復(fù)雜程度的不斷增加,接口形式變化多樣以及一些非標(biāo)準(zhǔn)碼率的應(yīng)用,使得傳統(tǒng)誤碼測(cè)試儀的使用受到了一定的限制。另一方面,近年來(lái)FPGA技術(shù)得到了迅速發(fā)展,使用FPGA設(shè)計(jì)電路具有很大的靈活性,可以大大提高集成度和設(shè)計(jì)速度,還可以簡(jiǎn)化接口和控制,有利于提高系統(tǒng)的整體性能和工作可靠性。本文即介紹了一種基于FPGA的RS485接口誤碼測(cè)試儀的設(shè)計(jì)和實(shí)現(xiàn)。該設(shè)計(jì)具有系統(tǒng)簡(jiǎn)單、功能可靠、接口獨(dú)特等特點(diǎn),并且增加了傳統(tǒng)誤碼測(cè)試儀所沒(méi)有的測(cè)量系統(tǒng)傳輸延時(shí)的功能。
1 設(shè)計(jì)背景
本文所設(shè)計(jì)的誤碼測(cè)試儀主要用于測(cè)試某通信系統(tǒng)的誤碼性能。該通信系統(tǒng)是一個(gè)龐大復(fù)雜的系統(tǒng),本文主要介紹信道部分,包括基帶的信道編解碼和無(wú)線信道的收發(fā),其基本框圖如圖1所示。
為了在線路傳輸上保證良好的抗干擾能力,系統(tǒng)采用了RS485接口,選用了4.096 Mb/s的碼率。因此,為了測(cè)試圖1所示系統(tǒng)的誤碼性能,誤碼測(cè)試儀必須具有以下指標(biāo):
(1) 邏輯接口:RS485差分信號(hào)。
(2) 物理接口:DB9。
(3) 碼率:4.096 Mb/s。
傳統(tǒng)誤碼測(cè)試儀通常都不具備以上3項(xiàng)指標(biāo),本文設(shè)計(jì)的誤碼測(cè)試儀滿足了上述3項(xiàng)指標(biāo)。
2 誤碼測(cè)試原理
構(gòu)成誤碼測(cè)試儀的方案有多種形式,其基本工作過(guò)程可以概括為以下幾個(gè)步驟:
(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)的誤碼率。
在通信工程應(yīng)用中,為了最大程度地模擬真實(shí)通信中的數(shù)據(jù)流的統(tǒng)計(jì)特性,通常采用二進(jìn)制偽隨機(jī)序列。對(duì)于偽隨機(jī)序列有以下幾點(diǎn)要求[2]:
(1) 應(yīng)具有良好的偽隨機(jī)性,即應(yīng)具有和隨機(jī)序列類似的隨機(jī)性。
(2) 應(yīng)具有良好的自相關(guān)、互相關(guān)和部分相關(guān)特性,即要求自相關(guān)峰值尖銳,而互相關(guān)和部分相關(guān)值接近于零。這是為了接收端的準(zhǔn)確檢測(cè),以減小差錯(cuò)。
(3) 要求隨機(jī)序列的數(shù)目足夠多,以保證在碼分多址的通信系統(tǒng)中,有足夠多的地址提供給不同的用戶。
根據(jù)本地碼組發(fā)生器的構(gòu)成方式不同,誤碼測(cè)試儀可分為多種類型,本文采用的是逐位檢測(cè)式,其使用的碼組為最大長(zhǎng)度線形移位反饋寄存器序列,即m序列。其工作原理為:本地的m序列發(fā)生器產(chǎn)生的m序列和所接收的m序列進(jìn)行逐位比較,若兩個(gè)m序列同步,則比較器輸出的是傳輸誤碼;若兩個(gè)m序列不同步,則比較器輸出的是由失步造成的誤碼。由于失步造成的誤碼較大(根據(jù)m序列的特性,其誤碼率應(yīng)為0.5),因此可根據(jù)誤碼率門限來(lái)區(qū)分檢測(cè)系統(tǒng)是否失步。若失步,則讓本地m序列發(fā)生器等待一個(gè)時(shí)鐘周期,再依次逐位比較,并逐位控制本地m序列發(fā)生器的等待時(shí)間,直到兩序列完全同步為止。
評(píng)論