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