[摘要]本文針對傳統誤碼測試儀的不足,提出了基于E1接口的簡易誤碼儀的設計與實現,以及其特點與優點,它是一種新型的簡易誤碼儀,使用方便且成本低廉。
[關鍵詞]誤碼率 誤碼測試儀 FPGA E1
當今社會風云萬變,掌握了信息就是掌握了財富,因此通信無疑成為人們生活中不可或缺的部分。而在某些敏感部門,如郵政儲蓄、銀行、保險、稅務、軍事,航空航天等,信息傳輸的可靠性就顯得猶為重要,在數字通信系統傳輸過程中,無論是設備故障,還是傳播衰落、碼間的干擾、鄰近波道干擾等,都可能造成系統性能變差,信息內容改變,甚至造成通信中斷,而其結果都是可以通過碼元差錯的形式表現出來的。誤碼測試儀就是通過檢測數據傳輸系統的誤碼性能指標,對其系統傳輸質量進行評估,并反映數據傳輸設備和其信道工作質量的一個重要設備。
在目前的相關領域,需要檢測通信系統的可靠性時,通常用的都是傳統誤碼檢測儀,它多為國外產品,雖然檢測內容豐富,結果直觀,但價格比較昂貴,操作復雜,維修困難,而國內產品又有待于改進,這都給測試工作帶來了諸多不便。另一方面,在電信傳輸系統中基于E1(2M)單元的傳輸鏈路應用非常廣泛,我國電信傳輸網就是以E1作為標準。此外,它還普遍應用于DDN數據業務、ISDN綜合業務,同時也是GSM移動通信網絡接口及A bis接口的標準。在互聯網寬帶接入技術中,E1也是一種常用的接口方式,相應配套的E1傳輸設備產品種類的數量也很多,因而對E1傳輸誤碼儀的需求量也非常大。此外,FPGA核心控制技術在通信系統中的已經相當成熟,這使得基于E1接口FPGA簡易誤碼儀的開發成為現實。該測試儀的優點主要是實現了單程測試,即發射機和接受機處于異地。它結合FPGA及單片機的結構特點進行編程,在2Mb/s基帶速率上實現位同步和碼同步,用戶可以在LCD顯示模塊上直觀的了解信道的誤碼情況。
一、概述
誤碼測試儀對線路誤碼測試的方法很多,但是不管使用何種測試儀,其測試的原理是一樣的,都有一套收發電路。通常誤碼儀可以分為兩個模塊:發送模塊和接受模塊。發送模塊將序列信號發送到待測通信信道中,再由接收模塊接收,并與原始序列信號相比較,便可得到信道誤碼情況。而我們要設計的為一套發送設備和接受設備分處兩地的系統,如果采用固定序列,就不能反映實際情況。因為在實際測試信道誤碼情況時,測量結果是由發送端發出的信號特性的統計結果所確定的,在數字信道系統中,固定序列是以二進制0,1形式傳輸的,0,1在信道中是等概率隨機出現,所以測量誤碼率最理想的測試序列應該是隨機序列。這樣才能保證測試結果的普遍性和正確性,所以發送模塊的發送序列確定為偽隨機序列。
另一個問題就是:接收模塊接收到的序列應與哪個序列相比較,才能更好的保證測試結果的正確性?如果將接收到的序列與發送端發出的序列相比較,這就只能將發送端與接收端放在同一位置,利用雙向信道將接收到的序列再轉回發送端來比較,這顯然不能實現設計目的中的異地傳接。因此,方案可以確定:首先,由發送模塊發出標準的數據信號,這個標準的數據信號就是偽隨機序列,通常采用 m序列,使其通過待測通信系統構成的信道;接收端采用同樣的m序列產生器,并從收到的碼流中提取位同步信號;將收到的數據流與本地產生的數據流逐位比較,并進行誤碼統計;根據誤碼碼元數和接收到的總碼元數,計算出相應誤碼率,并輸出誤碼顯示。
誤碼儀的簡易框圖如下圖所示。
二、系統介紹
本誤碼儀是基于2Mb/s基帶端口的在線測試設備,它的系統組成主要可以分為兩個部分:發送模塊和接收模塊。現對這兩個部分做概括的分析。
1.發送模塊

首先,我們要解決序列的產生問題,發送部分實質上是一個測試碼產生器,它要產生一個序列信號,用于檢測信道質量。傳統的通信理論里,原始信源信號為0,1等概率且相互獨立的隨機數字序列。同樣,實際數字通信系統的設計,也是基于這個原理。為了使測試結果盡可能真實地反映系統的性能,發送端需要采用某種序列作為測試數據,這種數據序列最重要的特征就是具有近似于隨機信號的性能,也可以說具有與噪聲相似的性能。但是,真正的隨機信號和噪聲是不能重復再現和產生的。所以,只能產生一種周期性的脈沖信號來近似隨機噪聲的性能,即偽隨機序列。本方案中采用的偽隨機序列是 m序列,這是由帶線性反饋的移位寄存器產生的周期最長的一種序列。雖然是周期信號,但它具有類似于隨機信號的自相關特性。
其次,要解決m隨機序列的時序控制問題,由于我們要檢測的是E1接口信道的傳輸誤碼情況,故在發送端就需要一個頻率為2.048MHz的時鐘,用以控制產生的2.048Mb/s的m隨機序列的輸入,并插入幀同步碼,然后將插入幀同步碼的m隨機序列進行編碼,這樣就很好解決了輸入時序控制問題。在序列輸出之前,應通過變壓器進行一次單/雙極的變換,再傳輸到被測信道中去。
2.接收模塊
接收端實際上可以分為三個子模塊:本地m序列發生子模塊,同步子模塊,誤碼率計算子模塊。
本地m序列發生子模塊結構其實與發送端相似,其不同之處在于將接收到的序列置存在本地m序列寄存器中,作為其初始狀態,如果兩個具有相同邏輯結構的m序列發生器在某一時刻寄存器狀態也相同,則這兩個m序列發生器所產生的數字數據流保持同步。這樣,在本地就可以產生一個與發送端結構相同且比特對齊的m序列了。
同步判斷是非常重要的一項指標,是對誤碼統計的先決條件,只有不停的對接收端序列與本地產生序列進行同步判斷,確定收,發端序列都處于同步狀態,再進行誤碼統計才有意義,例如接收端接收到N位碼序列中包含有誤碼,那么由此產生的本地序列與發送端是不一致的,此時就很容易將接收到的含有誤碼的狀態作為本地初始狀態,這種現象叫做“假同步”,同步判斷的目的就在于防止出現“假同步”現象,保證傳輸檢測的正確性。
在實現了收發雙方的同步以后,值得一提的是同步模塊的優化問題。同步模塊一旦探測到接收到的誤碼個數超過了預設的判決標準就會認為收發雙方不同步而重新進行同步判定,這樣做不僅降低了誤碼儀對突發錯誤的處理能力,更嚴重的是會導致接收端進行反復同步,從而大大降低了處理的效率。這時我們就需要納入“同步保護”機制。
位同步子模塊用于提取和跟蹤位同步時鐘,基于 FPGA可編程的特點,設計中可采用Verilog HDL語言編寫模塊的方法實現。
在實現了收發同步后,就要開始誤碼測試了。誤碼測試單元是接收模塊中最重要的一部分,它是由誤碼計數器和單片機組成。在同步的情況下,誤碼計算器開始計數。它在每隔一秒的時間將計數器中的計數值輸入到單片機中,再由單片機完成誤碼率的計算,在計算時,需要將輸入的數據同本地的m序列同步,并將同步信息傳給碼元比較單元。如果誤碼率連續超過預定值并時間達到10S以上的時候,就可以認定是發生了失步,這時單片機就會發出命令,通知開關控制電路調節序列同步模塊的轉換,以便重新開始序列同步過程。m序列的捕捉方法有很多,通常用的有相關器法和循環累加法。這兩種方法各有優劣,相關器法捕捉速度快,通常捕捉時間不超過兩個m序列的周期,但它最大的缺點就是所需的邏輯資源太多,容易造成系統負荷過重。相比較之下,循環累加法則不需要這么多邏輯資源,不過捕捉時隙延長,但在測試情況下是可以接受的,所以在測試一起中一般是采用循環累加法的。
三、硬件實現
本誤碼儀的實際電路中還要用到一個FLEX10K器件,利用該器件的芯片輸入輸出引腳,來實現流碼的輸入輸出,按鍵控制接口及數據顯示接口的連接。
實際電路的發送模塊通過軟件編程模塊實現,在I/O口輸出時應加入幀同步,在外加變壓器實現單/雙極性變換后,再作為測試通信系統的輸出端。在接收模塊,則是同樣的再實現一次單/雙/極性變換,將本地產生的與發送端同步的偽隨機序列與接收到的碼流進行比較,從而實現誤碼的檢測功能,然后通過記數模塊記錄錯誤碼元的個數,再傳送到顯示模塊進行LCD顯示。
四、結束語
采用FPGA核心控制器件進行誤碼測試儀的設計,可以很好的提高誤碼測試儀的程序可移植性和再升級能力。FPGA核心控制器件程序的實現采用現下流行的硬件描述語言VerilogHDL語言編寫,單片機的控制部分由匯編語言編寫。本誤碼儀還具有體積小,功耗低,性能穩定等優點。如果單片機的工作可以由在PC上編寫專門的程序來完成,這樣算出來的誤碼率將更加準確。
參考文獻:
[1]宋萬杰.CPLD技術及應用[M].西安:西安電子科技大學出版社,2000.
[2]樊昌信,徐炳祥,吳成柯等.通信原理(5版)[M].北京:國防工業出版社,2001.
[3]徐志軍,徐光輝.CPLD/FPGA的開發與應用[M].北京:電子工業出版社,2002.
[4]樊昌信.通信原理(第五版)[M].北京:國防工業出版社,2002.
(作者單位:浙江理工大學信電學院)