林芳媛
摘 要:介紹了一種FPGA(現場可編程門陣列)平臺上的通信信號處理方法,該方法具有快捷、簡單、可靠的特點,能夠實現數據的快速處理,具有較強的靈活性與或擴展性,在數據處理與信號處理中的應用前景非常廣闊。本文主要對FPGA信號處理設計的要點及實現方法進行簡單分析。
關鍵詞:FPGA 信號處理 設計 實現
中圖分類號:TN96 文獻標識碼:A 文章編號:1674-098X(2014)06(b)-0061-01
一般通信信號處理中,通過各種算法來實現,包含可編程信號處理器或專用DSP芯片等,但是這些處理方法的處理速度相對比較慢,而且需要很多輔助器件來支持。而完全符合要求的芯片需要專門定制,增加的費用,存在一定的風險問題。而采用FPGA能夠對這些問題有效的解決,在不改變外圍電路的情況下,通過內邏輯實現不同電路的功能,而且FPGA具有強大的開發功能,逐步成為復雜數字硬件電路設計中的理想選擇。
1 硬件總體設計
通信卡一般采用的是32位PCI接口,在3.3 V信號環境下與主機進行數據通信,而通信卡之間采用光纖通信,速率能夠達到1.25 Gbit/s。通信卡包含SFP光收發模塊、FPGA、電源模塊、時鐘產生模塊、CPCI接口及ISP配置PROM等。
2 EDK模塊設計
在Virtex-II Pro器件內部構建處理器硬核為中心的計算機應用系統,然后在FPGA內部進行總線架構、地址譯碼、數據存儲、外設接口等,每一個部件都以IP核形式進行連接。
JTAG調試接口在FPGA內部連接JTAG鏈與處理器核,FPGA內各模塊的輸入輸出及復位信號由復位模塊控制;通過OPB總線和PLB總線,處理器與外設IP核連接,OPB-PLB橋將OPB總線和PLB總線連接在一起,實現二者之間的通信;為了將用戶的程序存儲起來,系統采用PLB總線塊RAM,PC機串口之間通過異步收發機(URAT)連接,實現串口之間的通信,除此以外,通信數據還存儲于兩個OPB總線塊BRAM中,其中光纖通信模塊接收的數據存儲于接收存儲器中,而光纖通信模塊待發送的數據存儲于發送存儲器中,兩個RAM都采用雙接口RAM模塊,一端與串行通信模塊連接,一端與OPB總線連接,兩塊RAM內的數據可以通過PCI-OPB橋直接訪問。
PCI-OPB橋的應用方式包含兩種:主橋與從橋方式。作為主橋時,PCI橋對PCI總線完全控制,系統作為主機直接連接到PCI總線,開始對PCI設備進行初始化配置。而作為從橋時,系統通電后,主機對PCI總線及設備進行掃描,然后配置PCI-OPB橋寄存器,完成初始化配置。PCI-OPB橋的操作方式可以通過修改參數來改變。OPB總線地址與PCI總線地址之間的轉換時,PCI橋作為一個設備與總線連接,主機分配器三個緩沖區,通過緩沖區實現對PCI設備的數據傳輸。在PCI-OPB橋上設置地質變換寄存器,一個PCI地址傳輸過來以后,低位地址比便,高位地址被寄存器內地址替換,形成OPB總線側地址,最終對OPB總線上的RAM進行訪問,反之同樣。
3 光纖通信模塊設計
通過對FPGA器件內嵌入RocketIO實現光纖通信,RocketIO是一種成熟的高速串行收發器,具有時鐘數據恢復功能,每一個RocketIO支持多個信道數據傳輸速率,還可以利用通道綁定功能,進行更高速率的傳輸。RocketIO模塊包含物理介質接入層、物理編碼子層,集成了串化器、解串器等功能,還具有可編程能力。
基于Aurora協議及高速串行接口IP核,實現Aurora IP核,該核內嵌RocketIO模塊,在其內部實現了Aurora協議,提供靈活的用戶接口。在對該IP核進行使用的時候,用戶可以將復雜的結構轉換為簡單用戶接口,實現數據的收發。Aurora IP核包含NFC流控制、LocalLink接口、時鐘輸入、時鐘修正、UFC流控制、狀態控制、RocketIO收發器等基本構造。其中,LocalLink接口實現了幀方式與流方式傳輸;時鐘輸入與修正為該核提供必需的時鐘及修正功能,防止時鐘誤差造成傳輸錯誤;NFC流控制實現鏈路層傳輸的流控制;狀態信息是對該核的工作狀態進行顯示,控制信息能夠對該核進行控制。
兩個存儲器主要滿足數據的存儲要求,實現對收發數據的讀寫。狀態機是對兩個存儲器之間狀態轉換的設備,其轉換過程如圖1所示。Aurora核的主要功能是對待發送數據進行封裝為數據包以后通過RocketIO發送出去。兩臺主機進行通信時,包含接收數據與發送數據這兩個過程,數據傳輸時,接收與發送存儲器具有數據緩沖區的功能。
4 結語
文章主要針對FPGA內部嵌入RocketIO與Aurora核實現光纖通信信號處理的設計方法,并通過對EDK集成開發工具的應用,以及FPGA內嵌PC機的方式,生成整個系統,由于芯片具有可編程的特點,在以后的開發過程中,可以根據數據處理過程中,根據不同的設計要求,來選擇不同的軟件及硬件實現方案,表明了系統的具有較高的靈活性,在實踐應用中,是一種處理信號快速、使用的方法。
參考文獻
[1] 周武杰,禹思敏.基于現場可編程門陣列技術的混沌數字通信系統——設計與實現[J].物理學報,2009(15).
[2] 閔小平,陸達,洪鴻榕.基于現場可編程門陣列的高速光纖通信的實現[J].廈門大學學報(自然科學版),2007(15).
[3] 李進,李忠.采用FPGA的集群通信移動終端設計方案的研究[J].電子產品世界,2011(10).endprint