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