施海鋒,柏玉嫻
(南京電子技術研究所, 南京210039)
現代相控陣雷達的控制器主要是根據作戰任務確定雷達工作方式和工作參數,對雷達資源進行自適應調度與管理,是雷達系統實現多目標、多任務的關鍵,性能直接影響雷達的目標容量和測量精度[1]。XILINX公司的Virtex-5 FXT平臺集成了兩個PowerPC440嵌入式處理器內核和若干高速串行收發(Serdes)接口以及大量的IP核[2],獲得了VxWorks實時嵌入式操作系統支持,全面地滿足了雷達控制的實時性強、接口種類多、集成度高的需求特點,是高性能嵌入式雷達控制器的一個良好選擇。但目前該平臺的應用處理大多基于VxWorks的單PowerPC,接口主要以千兆以太網等方式為主,既存在著較大的資源浪費,也無法完全滿足雷達控制日益增長的性能要求。在不大幅度提高設計成本的前提下,本文提出一種“主-從”異構式控制模型架構的嵌入式雷達控制器設計方案,充分發揮Virtex-5 FXT平臺的能力,提高雷達控制器性能。
雷達控制器一般依據雷達駐留或脈沖周期規劃任務,實時數據的接收、處理、發送等工作必須在同一駐留或脈沖周期的規定時間內完成才能實現雷達的協調工作[3]。隨著大型數字陣列雷達等新型雷達的研制,雷達控制器面臨的新需求主要有:
(1)控制周期要求小于200 μs,并有進一步縮小的趨勢;
(2)多雷達間的精密協同要求任務編排精度從幾十微秒提高到幾十納秒,并具備多優先級、多駐留的預處理能力;
(3)需要實現高精度的坐標轉換,多陣面或多相限的波束指向計算;
(4)控制信息容量快速增長,控制接口的帶寬需要達到幾Gbps以上、延時控制在幾十微秒以內。
以動平臺數字陣雷達為例,雷達控制器的主要工作有:信息接收、存儲(處理時間T1)、調度指令解析(T2)、系統時間同步(T3)、多優先級任務規劃與編排(T4)、定時參數計算(T5)、導航數據平滑(T6)、坐標轉換(T7)、波束指向計算(T8)、控制指令生成(T9)、系統狀態監控(T10)、指令輸出(T11)等。這些任務在邏輯上大多屬于關聯任務,一個任務的執行依賴于上一個或多個任務的執行結果。只有一個處理器的情況下,幾個動態任務同時請求業務時進出運行隊列所帶來的開銷會導致處理時間的不確定,從而降低系統的整體性能。在接口方面,目前使用的以太網TCP/IP協議的解析也會消耗大量的處理器資源。單PowerPC雷達控制器的處理性能和接口能力均無法滿足這些新需求。
基于已有的Virtex-5 FXT硬件平臺,考慮從兩個方面提高雷達控制器的性能:
(1)通過雙核并行處理提高處理性能;
(2)采用更好的總線技術提高接口處理能力。
多核處理器是將多個處理器內核集成在一塊芯片上,支持多個處理器內核之間任務的劃分和分配,并能夠并行執行任務[4]。主流的多核技術主要有兩種架構:
(1)對等同構架構,如Intel的酷睿2等。在要求進行并行處理時,同構多核架構容易獲得比較好的效果。但同構多核處理性能會受到軟件中必須串行執行部分的制約。如果考慮用于保持高速緩存相關性時的同步時間,以及多個內核集中訪問內存時的待機時間等,整體處理能力的提升可能并不明顯。
(2)“主核+從核”的異構架構,異構處理器集成了包括通用處理器內核和特定高性能處理內核的多種處理核。典型的有TI公司的ARM和數字信號處理DSP結合的OMAP系列多核芯片以及AMD公司的CPU和GPU結合的APU處理器等。異構多核處理器提供了兩全和均衡的方案,內核的異構性可以同時執行具有不同要求的應用程序,CPU致力于執行傳統處理器的主要任務,比如運行操作系統、執行傳統的串行任務等,DSP或GPU等則執行數學密集型計算。
目前,針對多核設計的操作系統處理模式主要有以下3種:
(1)對稱多處理(Symmetric multiprocessing,SMP),一個操作系統的實例可以同時管理所有CPU內核,且應用并不綁定某一個內核。
(2)非對稱多處理(Asymmetric multiprocessing,AMP),每個CPU內核運行一個獨立的操作系統或同一操作系統的獨立實例。AMP可以是同構的,所有內核運行同一種類型和版本的操作系統;也可以是異構的,每個內核運行不同類型或版本的操作系統。
(3)混合多處理(Bound multiprocessing,BMP),BMP結合了SMP高級資源管理和AMP應用控制的混合功能,一個操作系統的實例可以同時管理所有CPU內核,但每個應用被鎖定于某個指定的核心。
這3種模式都有其各自的優點和缺點。每一個模式適合于解決某方面的特定問題,而且對操作系統的要求也各不相同。
為滿足微秒級的強實時處理要求,雷達控制器一般采用VxWorks操作系統,該系統支持實時系統的一系列特征包括多任務,中斷支持,任務搶占式調度和循環調度[5]。操作系統程序對系統進行管理而花費的時間和空間稱為操作系統開銷。對于VxWorks主要是中斷響應、任務切換以及內存管理等。雖然微內核設計使VxWorks縮減了系統開銷并加速了對外部事件的反應,但VxWorks的中斷處理程序中實現的功能有很多限制,比如不能進行浮點運算、獲取信號量等,需要把這些工作留給任務來做。實際測試Power-PC440處理器一次中斷響應及任務啟動時間需要14-20 μs,當有多個中斷與任務時,對于雷達控制器而言是一筆不小的開銷。
如何設計Virtex-5 FXT平臺中的兩個PowerPC440嵌入式處理器架構主要取決于以下3個因素:
(1)實時性設計。核心問題是降低雷達控制器的軟件運行時間。如前所述,雷達控制的大多數任務屬于串行連接關系,因此SMP并不是最優方案。如果采用AMP方式分別運行 VxWorks操作系統,則兩個CPU均有部分資源被用于操作系統自身開銷。此時,操作系統的應用反而不能充分發揮處理器性能。
(2)開發成本。目前最新的VxWorks6.X版本操作系統與Workbench集成開發環境已經支持該平臺的AMP或SMP應用,但操作系統以及開發環境都是專有的,操作系統的升級成本非常昂貴。
(3)技術可行性。PowerPC440目前既支持基于VxWorks操作系統的開發,也可利用XILINX公司的ISE軟件編程實現類DSP的中斷處理、浮點運算、接口處理等功能。
根據上述的分析,目前的改進方案是對兩個PowerPC核進行異構化的主、從劃分:主處理器類似于通用CPU,運行VxWorks操作系統,實現整個系統的管理:包括內存與文件系統管理、人機接口、數據的處理、高速接口控制等;從處理器類似于DSP,配置一個32位浮點運算單元(FPU),專用于計算密集型運算,不運行操作系統,利用C語言編程。
以太網TCP/IP協議棧解析需要大量的軟件開銷,基于Virtex-5 FXT的PowerPC平臺與VxWorks6.7環境的測試條件下,標準UDP協議報文的傳輸性能最高僅達到約180 Mbps。這已經遠不能滿足現階段的雷達控制器的帶寬與實時性要求。因此需要從商用市場上尋求新的高性能開放式總線技術。
光纖通道(FiberChannel,FC)兼顧了網絡與通道的優點,具備高帶寬(目前規范最高16 Gbps)、延時確定性(最小延時2 μs)、可伸縮性(包括點到點、仲裁環、交換拓撲)等優點,可為復雜軍用綜合電子信息系統定制中、大規模的交換系統,提供實時的控制和響應以及大數據量的傳輸能力。
RapidIO技術是目前惟一的嵌入式系統互連國際標準(ISO/IEC 18372),數據幀小,具備很強的實時性,支持通道捆綁提供更高的帶寬,適合于插箱級的緊耦合系統。RapidIO互連定義包含兩類技術:面向高性能微處理器及系統互連的ParallelRapidIO接口;面向串行背板、DSP和相關串行控制平面應用的SerialRapidIO接口。本文主要描述的串行 RapidIO技術(sRIO)。
光纖通道FC和RapidIO主要面向高性能嵌入式互連通信,層次結構簡潔,均可以實現基于硬件的高效數據傳輸,成為嵌入式系統應用的優選。
本控制器中采用FC替代千兆以太網接口作為主要外部通訊接口,模塊之間數據交互則使用sRIO接口。千兆以太網接口則主要用于系統調試或作為輔助外部接口使用。
在確定了異構雙核架構以及FC、sRIO等外部接口后,嵌入式雷達控制器的具體設計構架如圖1,控制器采用符合VITA 46規范的6U VPX板卡形式,基于一片Virtex-5 FX200T芯片構建,處理器與接口功能均采用IP形式在FPGA內部硬件實現(如圖1虛線內所示),電平轉換、總線驅動則由專用芯片完成。為滿足光纖信號的輸入輸出,采用VPX電光混合連接器。

圖1 雷達控制器構架圖
嵌入式雷達控制器主要性能如下:
(1)兩個 PowerPC440處理器,工作主頻 400 MHz;
(2)1GByte片外DDR2 SDRAM,1GByte FLASH;
(3)支持2路4.25G FC、一路X4 3.125G sRIO、自定義協議Serdes接口;
(4)支持多路1000base-T、1000base-X以太網接口。
集成在FPGA里的兩個32位定點PowerPC是控制器的核心,具備獨立的內存存儲空間(DDR2 SDRAM),主 PowerPC配置了外部程序存儲空間(FLASH),從PowerPC的程序運行在FPGA內部的BRAM中,執行文件包含在FPGA的配置文件里。在配置了中斷處理器、串口等設備后就組成了一個雙PowerPC基本系統。
根據FPGA內部的資源,控制器實現了兩路4.25G規范FC,一路X4 3.125G sRIO接口,兩種接口協議解析均由FPGA硬件完成,具備高效、穩定的優點。FPGA中僅使用了一個以太網MAC核,通過一片以太網交換芯片實現多通道的1000base-T、1000base-X以太網接口擴展。FPGA內部提供了專用的DMA通道和PowerPC處理器本地總線接口(PLB),掛接在DMA和PLB上的設備可與DDR2內存直接交互數據。每個DMA通道可提供6.4 Gbps(32位,200 MHz)的理論帶寬;PLB總線的理論帶寬達到了12.8Gbps(128位,100 MHz)[6]。為保證接口帶寬,以太網、sRIO、Serdes等接口均掛接在DMA上;兩路4.25 Gbps光纖通道使用PLB總線。
兩個內核之間的通信機制是雙核系統設計的關鍵[7]。本方案中,主處理器面臨多個任務并管理通訊接口,因此中斷源多,配置專用的中斷控制器,可實現32個中斷源的多優先級控制。從處理器主要用于高性能的計算,任務相對較少,因此利用GPIO狀態觸發實現簡單快速的中斷響應。主處理器與從處理器之間主要通過中斷實現同步與互斥,并通過FPGA內部的雙口RAM實現數據共享,為避免兩個處理器同時寫同一片RAM區引起的數據出錯,提前將內存分為若干塊并分配給每個任務,每塊內存地址空間只允許一個處理核進行寫操作。
雙核的開發需要利用ISE套件和Workbench軟件共同完成,首先通過ISE套件中的EDK軟件調用PowerPC、DMA控制器、PLB總線控制器、內存接口控制器、FPU、以太網 MAC、sRIO、FC等硬核組成一個雙PowerPC硬件系統,對各IP進行內存地址、中斷等的配置后,再分別對兩個PowerPC進行不同的軟件設計:主處理首先生成最簡化BSP包,逐步增加各種驅動后開展VxWorks操作系統的軟硬件的調試;從處理直接利用ISE軟件進行編程與調試;兩個PowerPC分別完成調試后開展中斷和內存交互等的協同調試。具體流程如圖2所示。

圖2 雷達控制器雙核開發流程圖
根據現在的設計,操作系統無法對兩個處理器進行統一的任務調度與資源平衡。因此,雙核之間任務的預先分配是雙核能否發揮最大效能的關鍵。任務規劃及并行處理優化原則如下:
(1)任務屬性分類及分配。主處理器完成涉及大量內存與外部接口操作的任務;從處理器完成涉及大量浮點運算的任務;
(2)對任務進行功能內聚及優先級規劃,關聯性強的工作作為一個任務來運行,避免多個任務之間大量的通信影響系統效率;對于實時性要求高的任務以高優先級運行,以保證事件的實時響應;
(3)主、從處理器均采用靜態內存分配方案,在程序編譯時候將所有需要的內存都已經分配好。避免內存動態分配帶來的延時或一次分配失敗;
(4)對所有任務的處理時間進行測算,合理調整部分任務的執行順序,將主、從處理器之間的等待時間控制為盡可能短。
雙核任務規劃如圖3所示。

圖3 雙核任務規劃示意圖
應用表明:預先規劃較好的實現了主、從處理器的負荷均衡,提高了雙核執行效率和處理性能;FC、sRIO等基于硬件處理協議接口大幅減少了CPU在接口協議處理上的開銷。雙核控制器對比基于千兆以太網的單核處理控制器,性能改善最高可達到60%以上,實際傳輸帶寬提高了10倍以上。基于千兆以太網的單核處理控制器原先可滿足最短600 μs左右雷達駐留周期的實時控制;雙核控制器則可滿足200 μs以內駐留周期的應用需求。
多核處理進入嵌入式系統是大勢所趨,內嵌高性能多核處理器的FPGA在嵌入式控制領域具有廣闊的應用前景。本設計針對雷達控制特定的應用需求,在設計成本及技術風險有效控制的前提下,充分挖掘Virtex5-FXT平臺的能力,實現了一種異構式雙Power-PC雷達控制器的構建與應用,改進后的控制器處理性能得以大幅提升。同時,FC、sRIO等國際規范的高速接口的應用,使得控制器具備了良好的通用性。該控制器被應用于大型數字陣列相控陣雷達中,取得了良好的使用實效和較高的性價比。
[1] 舒亞海.艦載相控陣雷達反導技術研究[J].現代雷達,2013,35(4):6-9.Shu Yahai.Anti-missile prospect of shipborne phased array radar[J].Modern Radar,2013,35(4):6-9.
[2] Xilinx,Inc.Virtex-5 FPGA user guidedata book[Z].MARCH 31,2008:22-24.
[3] 邱國華,史國慶.相控陣雷達中實時雷達控制的設計方法[J]. 現代雷達,2003,25(6):22-24.Qiu Guohua,Shi Guoqing.Design method for real-time radar control system in phased array radar[J].Modern Radar,2003,25(6):22-24.
[4] 陳芳園,張冬松,王志英.異構多核處理器體系結構設計研究[J]. 計算機工程與科學,2011,33(12):27-36.Chen Fangyuan,Zhang Dongsong,Wang Zhiying.Research of the heterogeneous multi-core processors architecture design[J].Computer Engineering & Science,2011,33(12):27-36.
[5] 張曉平,王 劍.基于嵌入式系統的雷達控制器[J].現代雷達,2004,26(4):35-37,42.Zhang Xiaoping,Wang Jian.Radar controller based on embedded system[J].Modern Radar,2004,26(4):35-37,42.
[6] Xilinx,Inc.Embedded processor block in virtex-5 FPGAs[Z].MARCH 31,2008.
[7] 劉 建,陳 杰,敖天勇,等.片上異構多核DSP同步與通信的實現[J].電子科技大學學報,2010,39(4):528-531,536.Liu Jian,Chen Jie,Ao Tianyong,et al.Implementations of synchronization and communication in heterogeneous multicore DSP[J].Journal of University of Electronic Science and Technology of China,2010,39(4):528-531,536.