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