丁鑫 耿濤 郭娟 方佳朕 張曉鵬



摘 要:為了設計出基于FPGA的誤碼分析儀,選用以STC10F08XE單片機為主控制器、以EP1C3T144C8N芯片為誤碼檢測、USART GPU串口屏為顯示和控制以及EPCS和MAX232為下載程序,完成了整個硬件系統的設計。并在整個硬件系統實現的基礎上,進行了M序列的產生、數據同步實現、誤碼監測統計以及液晶顯示控制等相關實驗。結合硬件電路以及實現的功能設計了各個功能模塊的軟件流程圖,并結合流程圖編寫了各個模塊的實現程序,然后結合硬件完成了聯合調試,最終實現了系統的預期功能。
關鍵詞:誤碼分析儀;FPGA;M序列;STC10F08XE
中圖分類號:TN911 文獻標識碼:A 文章編號:2095-1302(2016)07-00-04
0 引 言
在通信系統中,由于信號在傳輸過程中衰變引起信號電壓的變化,導致信號在傳輸過程中遭到破壞,產生誤碼。誤碼分析儀便是測試誤碼率的測試儀器,本文旨在通過誤碼分析儀模塊的設計來深入了解其原理及使用方法[1]。
1 總體方案設計
1.1 系統需求分析
系統使用FPGA和單片機共同控制的方式,使系統具有很高的集成度,并且方便擴展和升級。經過調研和討論分析,整個設計的基本功能包括如下幾部分[2]:
(1)八種測試速率可調:1 K/10 K/100 K/500 K/1 M/2 M/5 M/10 M速率;
(2)三種測試碼型可選:9位、15位、23位偽隨機序列碼;
(3)誤碼率的統計和計算;
(4)誤碼的發送、接收、同步以及手動插入誤碼的設計;
(5)TFT-LCD彩屏顯示和觸摸按鍵的控制;
(6)單片機與TFT-LCD的通信設計;
(7)誤碼測試儀的菜單顯示設計;
(8)外部指示系統的設計;
(9)時鐘鎖相環設計。
1.2 系統設計方案
誤碼分析儀系統分為硬件設計和軟件設計兩部分。選用FPGA芯片實現誤碼的測試,采用Verilog硬件描述語言通過EDA軟件設計外圍電路和必要的功能。采用單片機作為主控芯片,控制誤碼測試的啟動、加誤碼、變速率、換碼型、TFT-LCD液晶顯示、觸摸按鍵等。
2 硬件電路設計
2.1 系統硬件結構框架
整個系統設計中通過CPU訪問FPGA芯片與TFT-LCD通信,通過FPGA芯片實現碼型的產生與發送、碼型接收的同步、碼型的比較、速率的切換等邏輯功能;通過TFT-LCD實現誤碼率實時顯示以及通過其觸摸功能反饋控制整個系統的功能。系統結構框圖如圖1所示。
2.2 電源電路設計
系統采用5 V供電,模塊內部FPGA普通的IO口電源電壓需要3.3 V供電,而其PLL鎖相環所在的內核LPM模塊需要1.5 V供電。因此需要設計電壓轉換電路。具體設計電路如圖2所示。
除此之外,設計中需要使用FPGA內部的PLL,為了避免數字器件產生的噪聲影響倍頻效果,該模塊必須有單獨電源和濾波設計[3]。具體設計電路如圖3所示。
設計中,5 V電源經AS1117-1.5芯片降壓至1.5 V,產生的1.5 V電源經過一個由磁珠和鉭電容組成的退耦電路過濾后接入PLL電源[4]。
2.3 下載電路設計
RS-232電平與TTL電平轉換設計采用MAX232以進行通信電平轉換。具體設計電路如圖4所示。
根據FPGA數據手冊,設計的JTAG下載口電路如圖5所示。
標準的JTAG接口是4線TMS、TCK、TDI、TDO,分別為測試模式選擇、測試時鐘、測試數據輸入和測試數據輸出[5]。
AS模式下載電路設計,參照數據手冊設計的相應電路如圖6所示。
2.4 時鐘電路設計
單片機時鐘電路設計如圖7所示。FPGA時鐘電路整體設計如圖8所示。設計中選用的FPGA芯片有4路專用時鐘輸入端口,可作為4個LVDS時鐘信號輸入或4個LVTTL時鐘信號輸入[6]。
2.5 USART GPU 串口屏的電路設計
誤碼分析儀系統與用戶進行交互時,需要控制和顯示模塊,系統設計中采用單片機通過串口通信與USART GPU 串口屏進行數據交流、通信,由于其內部集成模塊,所以外部電路簡單。具體設計電路如圖9所示。
3 軟件設計總體結構
整個軟件系統主要由FPGA芯片內部邏輯和單片機程序組成。具體結構框圖如圖10所示。
3.1 軟件開發環境的建立
軟件開發環境主要由QuartusⅡ11.0、Keil C51、ModelSim構成。
3.2 時鐘模塊的設計
本系統的時鐘模塊由PLL鎖相環和時鐘分頻模塊組成,該模塊的輸入輸出如圖11所示。
圖11中inclk0是外部時鐘輸入,c0是PLL鎖相環時鐘輸出,CLK是PLL時鐘20 MHz信號輸入,DIV[2..0]是分頻值輸入,而M_CLK、CLK1是兩路時鐘信號輸出,其中M_CLK是碼型發生速率,而CLK1是同步碼型發生模塊的碼型發生速率,與M_CLK變化趨勢相反。變化模式如圖12所示。
本設計使用時鐘分頻的設計思想實現速率可調功能。具體設計方法如下:分頻值由DIV[2..0]輸入,按分頻公式計算分頻數等于(DIV+1)*2,將PLL倍頻至20 MHz(由于本次設計僅僅需要10 MHz測試速率,所以無需倍頻也可以實現,但為了后續功能增加,故保留PLL模塊)時鐘分頻至10 MHz、5 MHz、2 MHz、1 MHz、500 kHz、100 kHz、10kHz、1 kHz,由M_CLK和CLK1輸入系統。
3.3 PLL鎖相環模塊
PLL鎖相環將低速率穩定的晶體振蕩器倍頻到更高頻的穩定時鐘。基本框圖如圖13所示。
3.4 M序列碼的產生
本誤碼測試系統提供9位、15位、23位三種偽隨機序列作為測試碼型,以9位偽隨機序列發生器為例介紹M序列的產生方法。
9位偽隨機序列的特征方程為:F(X)=1+X5+X9,因此電路反饋線需要從第5級和第9級引出,通過模二加電路送到第1級輸入端。具體設計如圖14所示。
3.5 手動誤碼插入設計
手動插入誤碼即人為在發送的偽隨機序列中插入已知個數的誤碼信號,然后在接收端接收信號,檢測這些誤碼,最后將檢測結果和插入誤碼進行比較,以此可以更加可靠地判斷系統的誤碼性能[7]。具體設計思路流程如圖15所示。
3.6 數據接收模塊設計
數據接收模塊的主要功能是將經過信道傳輸的偽隨機序列碼進行采樣提取。數據接收模塊設計圖如圖16所示。
3.7 數據同步模塊設計
本設計中的同步設計思路通過灌碼同步實現,將接收數據隨機抽取R位送至接收碼組發生器的各個寄存器,此時接收端可以自身產生碼組與輸入碼組進行比較,設定同步規則[8];除此之外,同步成功后需要設定失同步規則,本設計中采用的規則是:300個周期內若出現10個以上誤碼則收發兩端失同步,若30 000個周期內出現1 000個以上誤碼則收發兩端失同步,因此系統給出失同步信號[9],此時的測試數據不能體現系統性能,等待系統再次同步成功后進行測試。同步模塊設計流程圖如圖17所示。
3.8 誤碼統計模塊設計
整個誤碼統計模塊的工作流程是:模塊在同步狀態中開始工作,通過R_en檢測是否失同,若R_en=1則失同步,誤碼數清零,若R_en=0時表示誤碼率在可接受范圍之內,繼續測試,有誤碼則誤碼數加1,當測試超過30 000個測試周期時[10],整體誤碼數清零,一次測試結束。誤碼統計模塊流程圖如圖18所示。
3.9 USART GPU 串口屏
USART GPU 串口屏模塊包括UI界面設計模塊、觸摸按鍵設計模塊兩部分,主要實現測試數據的顯示和測試系統參數的控制。
3.10 單片機總控制模塊設計
單片機軟件模塊是整個軟件設計的中樞,它主要包括控制部分、顯示部分和處理部分三大模塊。具體設計流程圖如圖19所示。
4 系統調試與結果分析
4.1 硬件調試
硬件測試主要包括單片機能否正常運行、FPGA能否正常運行、單片機和串口屏能否通信、下載器能否實現切換、EPCS能否下載程序并且是否能時刻為FPGA下載程序。
4.2 軟件調試
軟件調試主要包括FPGA和單片機兩部分。FPGA調試首先是M序列的產生,接著是數據接收模塊,最后同步。單片機程序調試時分別調試各個功能,最后將各個功能集于一體進行綜合調試,實現整體功能。
最后將FPGA和單片機聯調,實現誤碼分析儀的整體系統功能。
4.3 模塊實體圖
該模塊的實體圖如圖20所示。
5 結 語
整個系統采用了軟硬結合的設計思想,實現了誤碼率的實時測量、誤碼報警、無信號報警、全一報警、手動加誤碼等功能。
本誤碼測試系統是基于FPGA的在多個EDA軟件共同工作下完成的設計。在通信技術日益發展的今天,FPGA在通信研發行業中的應用非常廣泛,在ASIC中的前端仿真、基帶通信的編碼解碼設計、數字圖像處理等都有應用,本次設計實現了FPGA在通信中的一個應用設計,體現了FPGA設計方式的優越性。
參考文獻
[1]官劍.基于FPGA的3G誤碼儀的設計與研究[D].武漢:華中科技大學,2011.
[2] Y Fan,Z Zeljko,MW Chiang .A Versatile High Speed Bit Error Rate Testing Scheme[J]. IEEEXplore, 2004: 385-400.
[3]張義芳.高頻電子線路[M].哈爾濱:哈爾濱工業大學出版社,2009:223-243.
[4]童詩白,華成英.模擬電子技術基礎[M].北京:高等教育出版社,2006:358-397.
[5] Lattice_Maehxo Mini Development Kit Users Guide(Rev EB41_00.5)[Z]. Lattice Corp, 2009: 23-37.
[6]郭天祥.51單片機C語言教程:入門、提高、開發、拓展全攻略[M].北京:電子工業出版社,2009:56-200.
[7] Gerd Vandersteen.Efficient Bit-Error-Rate Estimation of Multicarrier Transceivers[Z]. IEEE, 2011: 5-9.
[8] Barry, J.R,Chen-Chu Yeh.Adaptive minimum bit-error rate equalization for binary signaling[J].IEEE, 2010,48(7): 1226-1235.
[9]李新春.電信測試儀器原理及應用[M].沈陽:東北大學出版社,2008:158-166.
[10] An Overview of LVDS Technology[Z].National Semiconductor Corporation, 1998: 11-15.