諸國磊,王英民,曾 浩
(1西北工業(yè)大學(xué)航海學(xué)院,西安 710072;2海軍裝備研究院,北京100161)
聲自導(dǎo)系統(tǒng)是現(xiàn)代魚雷最基本也是最核心的部件,直接決定魚雷的總體性能和戰(zhàn)術(shù)指標(biāo)[1]。聲自導(dǎo)系統(tǒng)由于其復(fù)雜程度和對實(shí)時性的要求,往往采用大規(guī)模的DSP芯片陣列來進(jìn)行自導(dǎo)信號處理,體積和功耗都較大。為了減小系統(tǒng)的體積,減少系統(tǒng)的功耗,使系統(tǒng)小型化,利用最新FPGA片上的上億的門電路資源將整個信號處理部分在單個芯片上實(shí)現(xiàn)提供了一種新的思路[2]。
文中,在FPGA平臺上實(shí)現(xiàn)了一個通過片上網(wǎng)絡(luò)連結(jié)的片上多處理器系統(tǒng),并將魚雷自導(dǎo)任務(wù)合理的劃分為適合多處理器系統(tǒng)結(jié)構(gòu)的多個子任務(wù)后,將所有的子任務(wù)映射在片上系統(tǒng)的多個微處理器上控制其協(xié)調(diào)工作。通過實(shí)際運(yùn)行實(shí)驗(yàn),驗(yàn)證了系統(tǒng)的可行性,為自導(dǎo)系統(tǒng)的小型化實(shí)現(xiàn)提供了一種可行的實(shí)現(xiàn)方式。
自導(dǎo)系統(tǒng)把基陣接收到的聲信號轉(zhuǎn)變成電信號之后,經(jīng)過一系列信號處理過程,最終得到需要的目標(biāo)參數(shù)信息。這一系列處理包括窄帶信號預(yù)處理、時域采樣、空間處理波束形成等,最終進(jìn)行門限檢測和參數(shù)估計[1],處理流程如圖1所示,圖中虛線部分是關(guān)注的數(shù)字信號處理部分,將在片上網(wǎng)絡(luò)系統(tǒng)上實(shí)現(xiàn)。
圖1 自導(dǎo)任務(wù)處理流程
時域信號處理部分負(fù)責(zé)將前端預(yù)處理模塊傳來的經(jīng)過數(shù)字化采集的信號進(jìn)行降采樣處理,將數(shù)字信號通過正交解調(diào)、低通濾波后對信號再次進(jìn)行采樣,降低數(shù)據(jù)量。
波束形成模塊完成自導(dǎo)系統(tǒng)中波束形成處理,將陣元信號進(jìn)行加權(quán)空間處理,形成所需的多路波束域信號。
信號檢測處理實(shí)現(xiàn)基本的目標(biāo)檢測功能,確定目標(biāo)是否存在。參數(shù)估計實(shí)現(xiàn)自導(dǎo)系統(tǒng)的測向、測距、測速等定位算法。
整個系統(tǒng)的實(shí)現(xiàn)是通過Xilinx公司的EDK工具來完成的,并且在Xilinx提供的Virtex-II Pr o開發(fā)板上進(jìn)行了實(shí)現(xiàn),表1給出了整個系統(tǒng)的配置。圖2給出了系統(tǒng)的結(jié)構(gòu)框圖,它是一個固定結(jié)構(gòu)的2×3的2維mesh結(jié)構(gòu),每個處理單元(PE)通過一個網(wǎng)絡(luò)接口(NI)與相應(yīng)的一個路由器(R)相連。
圖2 片上網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)框圖
處理單元是利用Xilinx公司的軟核處理器Micr oblaze來實(shí)現(xiàn)的,在這里采用同樣的IP核來作為處理單元,可以用相同的網(wǎng)絡(luò)接口將這些微處理器連接到路由器上;相同的微處理器為程序的映射也提供了方便。在本系統(tǒng)中,一共實(shí)例化了6個Micr oblaze微處理器。
表1 系統(tǒng)配置
路由器是網(wǎng)絡(luò)通訊結(jié)構(gòu)的核心部分。片上網(wǎng)絡(luò)采用蟲洞路由交換技術(shù)[3],數(shù)據(jù)經(jīng)過路由器的延時很短,可以高效的進(jìn)行數(shù)據(jù)傳輸。路由器的主要幾個組成部分見圖3的原理結(jié)構(gòu)框圖,每個功能單元的功能介紹如下。
2.2.1 控制單元
控制單元對多路到達(dá)的數(shù)據(jù)包中的路徑選擇和優(yōu)先級信息進(jìn)行解碼。路徑選擇信息決定數(shù)據(jù)包從哪個出口傳出。當(dāng)多路數(shù)據(jù)同時到達(dá)路由器并競爭同一個出口時,控制單元會根據(jù)數(shù)據(jù)包頭中優(yōu)先級的高低對數(shù)據(jù)進(jìn)行選擇,優(yōu)先級別高的數(shù)據(jù)先通過路由器被送往目標(biāo)出口,較低優(yōu)先級的數(shù)據(jù)包將被存儲在對應(yīng)的緩沖器中。
圖3 路由器結(jié)構(gòu)框圖
2.2.2 緩沖器單元
緩沖器單元負(fù)責(zé)對參與競爭的低優(yōu)先級的數(shù)據(jù)進(jìn)行存儲,以防止數(shù)據(jù)包的丟失,以便參與下一次的競爭。緩沖器單元中的FIFO利用片上的Block Ram資源實(shí)現(xiàn)。
2.2.3 多路選擇單元
多路選擇單元根據(jù)控制單元給出的路徑選擇信息,將相應(yīng)的數(shù)據(jù)包發(fā)送到指定出口。根據(jù)在片上網(wǎng)絡(luò)系統(tǒng)中的不同位置,分別設(shè)計了有3、4、5個出口的路由器。表2中給出了三種路由器的能量及資源的使用情況。
表2 路由節(jié)點(diǎn)資源使用及能量損耗
2.3.1 路由轉(zhuǎn)換與處理單元之間的接口
網(wǎng)絡(luò)接口(NI)是在PLB總線基礎(chǔ)上實(shí)現(xiàn)的,在網(wǎng)絡(luò)接口中有輸入和輸出緩存器,實(shí)現(xiàn)對處理單元和路由器之間數(shù)據(jù)的緩沖匹配,由于處理單元和底層路由器的時鐘頻率差異較大,所以從處理單元到路由器的數(shù)據(jù)寫入和讀取需要通過網(wǎng)絡(luò)接口來進(jìn)行速率的匹配。
2.3.2 路由與路由之間的接口
路由與路由之間是通過并行線路直接連接的,數(shù)據(jù)通過對應(yīng)的路由之間的接口連線傳輸。
在基于FPGA平臺的片上網(wǎng)絡(luò)多處理器系統(tǒng)上實(shí)現(xiàn)信號處理任務(wù)。首先要根據(jù)任務(wù)的運(yùn)算量進(jìn)行任務(wù)劃分,然后要根據(jù)片上系統(tǒng)通訊結(jié)構(gòu)特點(diǎn)對任務(wù)進(jìn)行映射[4-5],以達(dá)到最好的運(yùn)行效率,具體任務(wù)準(zhǔn)備和映射過程如下。
自導(dǎo)處理任務(wù)在進(jìn)行映射前首先需要被適當(dāng)?shù)倪M(jìn)行劃分,對于這個特定任務(wù)采用了手動劃分,在這里主要考慮任務(wù)的復(fù)雜程度將任務(wù)劃分為6個子任務(wù)模塊T1~T6如圖4所示。
任務(wù)T1接收2n路陣元數(shù)據(jù)并拆分各n路數(shù)據(jù)轉(zhuǎn)發(fā)到任務(wù)T2、T3,因?yàn)楹罄m(xù)的低通濾波降采樣任務(wù)運(yùn)算量較大,所以需要拆分為兩個任務(wù)進(jìn)行處理;T2、T3分別將各自的n路數(shù)據(jù)進(jìn)行低通濾波降采樣;任務(wù)T4將T2、T3處理完成后的2n路數(shù)據(jù)進(jìn)行水平和垂直疊加形成水平和垂直各m路數(shù)據(jù);任務(wù)T5對水平和垂直的m路數(shù)據(jù)進(jìn)行波束形成處理,分別形成p、q路波束;任務(wù)T6對波束形成后的波束域進(jìn)行信號檢測和參數(shù)估計。
圖4 自導(dǎo)處理任務(wù)劃分
綜合考慮處理器陣列的結(jié)構(gòu)特點(diǎn),將劃分好的任務(wù)進(jìn)行了映射,對應(yīng)的映射關(guān)系如圖5所示,任務(wù)T1~T4分別映射在處理單元PE1~PE4上,T5映射在PE6上,T6映射在PE5上。數(shù)據(jù)流向如圖中箭頭所示。
圖5 任務(wù)映射關(guān)系
對系統(tǒng)進(jìn)行了運(yùn)行測試,給出理想狀態(tài)的2n路陣元數(shù)據(jù),對其進(jìn)行自導(dǎo)信號處理。圖6給出了波束形成后觀測到的一個方向上的波束形成結(jié)果,由于是正前方來的信號,所以正前方波束幅度最大。
表3給出了對一組方位的檢測結(jié)果,可以看到由于是理想數(shù)據(jù),檢測結(jié)果誤差較小。
圖6 波束形成輸出
表3 方位檢測結(jié)果
通過測試,可以看到系統(tǒng)很好的完成了自導(dǎo)信號處理檢測等任務(wù)。
文中,在一個FPGA平臺上實(shí)現(xiàn)了一個片上網(wǎng)絡(luò)多處理系統(tǒng),將魚雷自導(dǎo)信號處理算法在這個平臺上進(jìn)行了實(shí)現(xiàn),通過實(shí)際運(yùn)行測試,驗(yàn)證了系統(tǒng)的可行性。在FPGA上實(shí)現(xiàn)的片上多處理系統(tǒng)平臺還可以進(jìn)一步的改進(jìn),根據(jù)任務(wù)的情況采用不同的IP核,例如對復(fù)雜處理的處理單元實(shí)例化DSP處理單元以提高運(yùn)算速度,當(dāng)然這會改變通用架構(gòu),需要針對性設(shè)計路由及接口單元。
[1] 李志舜.魚雷自導(dǎo)信號與信息處理[M].西安:西北工業(yè)大學(xué)出版社,2004.
[2] 李仁發(fā),劉彥,徐成.多處理器片上系統(tǒng)任務(wù)調(diào)度研究進(jìn)展評述[J].計算機(jī)研究與發(fā)展,2008,45(9):1620-1629.
[3] L M Ni,P K Mc Kinley.A survey of wor mhole routing techniques in direct net works[J].Computer,F(xiàn)eb.1993,26(2):62-76.
[4] G Chen,F(xiàn) Li,S W Son,et al.Application mapping for chip multiprocessors[C]//IEEE Proc.DAC,June 2008:620-625.
[5] 楊盛光,李麗,高明倫,等.面向能耗和延時的No C映射方法[J].電子學(xué)報,2008,36(5):937-942.