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