諸國磊,王英民,曾 浩
(1西北工業大學航海學院,西安 710072;2海軍裝備研究院,北京100161)
聲自導系統是現代魚雷最基本也是最核心的部件,直接決定魚雷的總體性能和戰術指標[1]。聲自導系統由于其復雜程度和對實時性的要求,往往采用大規模的DSP芯片陣列來進行自導信號處理,體積和功耗都較大。為了減小系統的體積,減少系統的功耗,使系統小型化,利用最新FPGA片上的上億的門電路資源將整個信號處理部分在單個芯片上實現提供了一種新的思路[2]。
文中,在FPGA平臺上實現了一個通過片上網絡連結的片上多處理器系統,并將魚雷自導任務合理的劃分為適合多處理器系統結構的多個子任務后,將所有的子任務映射在片上系統的多個微處理器上控制其協調工作。通過實際運行實驗,驗證了系統的可行性,為自導系統的小型化實現提供了一種可行的實現方式。
自導系統把基陣接收到的聲信號轉變成電信號之后,經過一系列信號處理過程,最終得到需要的目標參數信息。這一系列處理包括窄帶信號預處理、時域采樣、空間處理波束形成等,最終進行門限檢測和參數估計[1],處理流程如圖1所示,圖中虛線部分是關注的數字信號處理部分,將在片上網絡系統上實現。

圖1 自導任務處理流程
時域信號處理部分負責將前端預處理模塊傳來的經過數字化采集的信號進行降采樣處理,將數字信號通過正交解調、低通濾波后對信號再次進行采樣,降低數據量。
波束形成模塊完成自導系統中波束形成處理,將陣元信號進行加權空間處理,形成所需的多路波束域信號。
信號檢測處理實現基本的目標檢測功能,確定目標是否存在。參數估計實現自導系統的測向、測距、測速等定位算法。
整個系統的實現是通過Xilinx公司的EDK工具來完成的,并且在Xilinx提供的Virtex-II Pr o開發板上進行了實現,表1給出了整個系統的配置。圖2給出了系統的結構框圖,它是一個固定結構的2×3的2維mesh結構,每個處理單元(PE)通過一個網絡接口(NI)與相應的一個路由器(R)相連。

圖2 片上網絡系統結構框圖
處理單元是利用Xilinx公司的軟核處理器Micr oblaze來實現的,在這里采用同樣的IP核來作為處理單元,可以用相同的網絡接口將這些微處理器連接到路由器上;相同的微處理器為程序的映射也提供了方便。在本系統中,一共實例化了6個Micr oblaze微處理器。

表1 系統配置
路由器是網絡通訊結構的核心部分。片上網絡采用蟲洞路由交換技術[3],數據經過路由器的延時很短,可以高效的進行數據傳輸。路由器的主要幾個組成部分見圖3的原理結構框圖,每個功能單元的功能介紹如下。
2.2.1 控制單元
控制單元對多路到達的數據包中的路徑選擇和優先級信息進行解碼。路徑選擇信息決定數據包從哪個出口傳出。當多路數據同時到達路由器并競爭同一個出口時,控制單元會根據數據包頭中優先級的高低對數據進行選擇,優先級別高的數據先通過路由器被送往目標出口,較低優先級的數據包將被存儲在對應的緩沖器中。

圖3 路由器結構框圖
2.2.2 緩沖器單元
緩沖器單元負責對參與競爭的低優先級的數據進行存儲,以防止數據包的丟失,以便參與下一次的競爭。緩沖器單元中的FIFO利用片上的Block Ram資源實現。
2.2.3 多路選擇單元
多路選擇單元根據控制單元給出的路徑選擇信息,將相應的數據包發送到指定出口。根據在片上網絡系統中的不同位置,分別設計了有3、4、5個出口的路由器。表2中給出了三種路由器的能量及資源的使用情況。

表2 路由節點資源使用及能量損耗
2.3.1 路由轉換與處理單元之間的接口
網絡接口(NI)是在PLB總線基礎上實現的,在網絡接口中有輸入和輸出緩存器,實現對處理單元和路由器之間數據的緩沖匹配,由于處理單元和底層路由器的時鐘頻率差異較大,所以從處理單元到路由器的數據寫入和讀取需要通過網絡接口來進行速率的匹配。
2.3.2 路由與路由之間的接口
路由與路由之間是通過并行線路直接連接的,數據通過對應的路由之間的接口連線傳輸。
在基于FPGA平臺的片上網絡多處理器系統上實現信號處理任務。首先要根據任務的運算量進行任務劃分,然后要根據片上系統通訊結構特點對任務進行映射[4-5],以達到最好的運行效率,具體任務準備和映射過程如下。
自導處理任務在進行映射前首先需要被適當的進行劃分,對于這個特定任務采用了手動劃分,在這里主要考慮任務的復雜程度將任務劃分為6個子任務模塊T1~T6如圖4所示。
任務T1接收2n路陣元數據并拆分各n路數據轉發到任務T2、T3,因為后續的低通濾波降采樣任務運算量較大,所以需要拆分為兩個任務進行處理;T2、T3分別將各自的n路數據進行低通濾波降采樣;任務T4將T2、T3處理完成后的2n路數據進行水平和垂直疊加形成水平和垂直各m路數據;任務T5對水平和垂直的m路數據進行波束形成處理,分別形成p、q路波束;任務T6對波束形成后的波束域進行信號檢測和參數估計。

圖4 自導處理任務劃分
綜合考慮處理器陣列的結構特點,將劃分好的任務進行了映射,對應的映射關系如圖5所示,任務T1~T4分別映射在處理單元PE1~PE4上,T5映射在PE6上,T6映射在PE5上。數據流向如圖中箭頭所示。

圖5 任務映射關系
對系統進行了運行測試,給出理想狀態的2n路陣元數據,對其進行自導信號處理。圖6給出了波束形成后觀測到的一個方向上的波束形成結果,由于是正前方來的信號,所以正前方波束幅度最大。
表3給出了對一組方位的檢測結果,可以看到由于是理想數據,檢測結果誤差較小。

圖6 波束形成輸出

表3 方位檢測結果
通過測試,可以看到系統很好的完成了自導信號處理檢測等任務。
文中,在一個FPGA平臺上實現了一個片上網絡多處理系統,將魚雷自導信號處理算法在這個平臺上進行了實現,通過實際運行測試,驗證了系統的可行性。在FPGA上實現的片上多處理系統平臺還可以進一步的改進,根據任務的情況采用不同的IP核,例如對復雜處理的處理單元實例化DSP處理單元以提高運算速度,當然這會改變通用架構,需要針對性設計路由及接口單元。
[1] 李志舜.魚雷自導信號與信息處理[M].西安:西北工業大學出版社,2004.
[2] 李仁發,劉彥,徐成.多處理器片上系統任務調度研究進展評述[J].計算機研究與發展,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,Feb.1993,26(2):62-76.
[4] G Chen,F Li,S W Son,et al.Application mapping for chip multiprocessors[C]//IEEE Proc.DAC,June 2008:620-625.
[5] 楊盛光,李麗,高明倫,等.面向能耗和延時的No C映射方法[J].電子學報,2008,36(5):937-942.