趙英瀟,蘇 陽
(1.軍事科學院 軍事科學信息研究中心,北京 100036; 2.中國電子科技集團公司 第十四研究所,江蘇 南京 210012)
為應對雷達應用面臨的目標多樣化、環(huán)境復雜化和任務多元化等問題[1-3],需要不斷改進和驗證雷達實時信號處理系統(tǒng)及其處理算法。雷達實時信號處理系統(tǒng)大多是基于DSP(Digital Signal Processor)[4]、GPU(Graphics Processing Unit)[5]、FPGA(Field Programmable Gate Array)[6]、MIC(Many Integrated Core)[7]等專用處理芯片設計的。采用MATLAB等通用數(shù)據(jù)處理軟件[8-10],只能對實時處理算法性能進行間接和粗略驗證。采用目標模擬器盡管能夠對雷達實時處理系統(tǒng)及算法進行直接功能驗證[11-12],但難以模擬復雜的目標特性和跟蹤環(huán)境。通過實際目標跟蹤任務可對實時信號處理系統(tǒng)及算法進行完備的性能測試,但由于各次跟蹤任務的目標特性和跟蹤環(huán)境存在差異,故無法有效地對多種實時處理算法的性能進行比較。
雷達數(shù)據(jù)回放系統(tǒng)可將雷達回波數(shù)據(jù)按照雷達工作的時序及數(shù)據(jù)率發(fā)送至實時數(shù)字信號處理子系統(tǒng),使任務執(zhí)行時的目標特性、目標環(huán)境和雷達工作狀態(tài)得以完整復現(xiàn)。與上述3種方式相比,雷達數(shù)據(jù)回放系統(tǒng)既能保證目標、環(huán)境及雷達時序的真實性,又能保證任務場景的穩(wěn)定、可控和可重復性,適用于雷達實時處理系統(tǒng)及算法驗證。
文獻[13~15]對雷達數(shù)據(jù)回放系統(tǒng)展開研究,但是這些研究大都針對單一數(shù)據(jù)類型、單數(shù)據(jù)通道或單一回放板卡,難以被應用于復雜雷達系統(tǒng)中。針對以上問題,本文設計并實現(xiàn)了一種寬窄帶一體化、多通道雷達數(shù)據(jù)回放系統(tǒng),解決了數(shù)據(jù)回放中的數(shù)據(jù)高速傳輸、精準時序控制、板間同步控制等問題。本文設計的雷達數(shù)據(jù)回放系統(tǒng)可被直接嵌入至原有雷達系統(tǒng)的硬件平臺中,無需配置額外的板卡或線纜,具有良好的集成性和通用性。
本文依托某相控陣雷達系統(tǒng)進行數(shù)據(jù)回放系統(tǒng)的設計與實現(xiàn)。雷達系統(tǒng)接收端結構如圖1所示。
當雷達工作時,回波信號經(jīng)寬/窄帶接收機變頻、模數(shù)轉換后,分別下傳至數(shù)據(jù)存儲處理系統(tǒng)的寬/窄帶PCIe(Peripheral Component Interconnect Express)光纖板。PCIe光纖板一方面將多通道回波數(shù)據(jù)傳輸至磁盤陣列服務器,另一方面可將數(shù)據(jù)轉發(fā)至實時數(shù)字信號處理系統(tǒng)。
本文中,將數(shù)據(jù)回放系統(tǒng)集成于圖1的數(shù)據(jù)存儲管理系統(tǒng)內。其主體控制邏輯嵌入至PCIe光纖板的FPGA,數(shù)據(jù)鏈路復用雷達回波接收及處理時的數(shù)據(jù)鏈路,無需額外增加板卡及線纜。當數(shù)據(jù)回放系統(tǒng)工作時,由磁盤陣列服務器讀取雷達回波數(shù)據(jù),通過PCIe接口下傳至寬/窄帶PCIe光纖板。PCIe光纖板模擬雷達工作時序將數(shù)據(jù)轉發(fā)至實時數(shù)字信號處理系統(tǒng)。磁盤陣列服務器及PCIe光纖板實物如圖2所示。
圖1 雷達系統(tǒng)接收端結構Figure 1. Structure of the radar receiving terminal
(a) (b)
雷達回波數(shù)據(jù)以幀為單位進行存儲及回放。單幀數(shù)據(jù)由幀頭及多個脈沖數(shù)據(jù)塊組成,其數(shù)據(jù)格式如圖3所示。通過提取幀頭中的幀起始標志、波門起始時間B、雷達周期Tr、駐留脈沖數(shù)N等信息,計算出對應的定時控制計數(shù)值,進而控制雷達回波數(shù)據(jù)回放,使數(shù)據(jù)回放的時序及數(shù)據(jù)率與雷達工作時相一致。
圖3 單幀雷達回波數(shù)據(jù)組成結構Figure 3. Frame structure of the radar echo data
根據(jù)章節(jié)2.1所述的設計實現(xiàn)思路,系統(tǒng)總體結構設計如圖4所示。
圖4 系統(tǒng)總體結構圖Figure 4. Structure of the radar echo signal playback system
數(shù)據(jù)回放系統(tǒng)工作時,由上位機(服務器)軟件讀取磁盤陣列中的多通道雷達回波數(shù)據(jù),并利用PCIe接口以DMA(Direct Memory Access)的方式傳輸至寬/窄帶PCIe光纖板。寬/窄帶PCIe光纖板分別提取數(shù)據(jù)中的雷控信息(雷達周期、波門位置等),并按照雷達工作時序將多通道數(shù)據(jù)并行發(fā)送至實時信號處理系統(tǒng)。
雷達工作狀態(tài)信息提取及回放時序控制是在PCIe光纖板的FPGA中具體實現(xiàn)的。FPGA頂層模塊結構設計如圖5所示。
圖5 FPGA頂層模塊結構設計圖Figure 5.Top module structure in the FPGA
PCIe模塊用于實現(xiàn)FPGA與上位機之間的數(shù)據(jù)交互。FPGA以PCIe DMA讀的方式接收上位機下傳的雷達回波數(shù)據(jù),并在FPGA掛載的DDR3中進行緩存。DDR3_Ctrl模塊用于對DDR3進行讀寫控制,該模塊屏蔽了DDR3復雜的讀寫控制邏輯,為用戶提供了與FIFO(First Input First Output)類似的讀寫控制接口。
FH_Read模塊用于從數(shù)據(jù)中提取幀頭中的幀起始標志位、波門起始值、雷達周期、駐留脈沖數(shù)等信息并據(jù)此計算出相應的時序控制計數(shù)值。State_Machine模塊可根據(jù)FH_Read模塊輸出的時序控制計數(shù)值,操縱DDR3_Ctrl模塊讀取雷達回波數(shù)據(jù)。
時序控制后的雷達回波數(shù)據(jù)經(jīng)Delay模塊延時,再經(jīng)Transcode模塊位寬模塊,最終分發(fā)至各路數(shù)據(jù)通道的GTX(Gigabit Transceiver)模塊。GTX模塊負責與實時信號處理系統(tǒng)進行高速串行通信。
回放系統(tǒng)通過PCIe DMA方式,將磁盤陣列服務器中的雷達回波數(shù)據(jù)高速下傳至PCIe光纖板。Xilinx公司提供了多種系列FPGA的PCIe IP核[16]及PCIe DMA通用程序模塊[17]。上述產(chǎn)品通過上位機完成對FPGA PCIe DMA相關寄存器的讀寫控制,實現(xiàn)了PCIe DMA數(shù)據(jù)傳輸。在此基礎上,本文結合雷達數(shù)據(jù)回放的具體應用情形,增加部分寄存器狀態(tài)位和控制字,PCIe DMA具體控制及響應流程如圖6所示。由于雷達回波數(shù)據(jù)既可能包含全部數(shù)據(jù)通道,也可能僅包含部分數(shù)據(jù)通道,為簡化FPGA端的控制邏輯,需要由上位機(磁盤陣列服務器)進行多通道數(shù)據(jù)的預處理,對齊并補全多通道數(shù)據(jù)。隨后,根據(jù)數(shù)據(jù)類型及FPGA緩存容量,上位機對單次DMA傳輸?shù)臄?shù)據(jù)量大小進行設置,并清空FPGA數(shù)據(jù)緩存。在每次DMA操作之前,上位機需要讀取FPGA內部的DDR3自定義空信號,確保緩存剩余空間足夠用于下一輪DMA傳輸。
圖6 PCIe DMA控制及響應流程圖Figure 6. PCIe DMAcontrol and response procedure in the playback system
雷達回波數(shù)據(jù)下傳到PCIe光纖板之后,按照雷達工作時序經(jīng)光纖傳輸至實時信號處理系統(tǒng)。由章節(jié)2.2可知,數(shù)據(jù)傳輸精準時序控制主要由State Machine模塊實現(xiàn),該模塊由主從嵌套狀態(tài)機構成。
圖7為主狀態(tài)機的狀態(tài)轉移圖,其中幀頭回放(FSM1)、脈沖數(shù)據(jù)n回放(FSM2)、脈沖數(shù)據(jù)N回放(FSM3)這3個主狀態(tài)又分別嵌套從狀態(tài)機1~3,且每個從狀態(tài)機都設有單獨的時序控制計數(shù)器。如圖7所示,當同時檢測到PCIe模塊輸出的DMA起始信號DMA_start_en和DDR3模塊輸出的自定義空信號DDR3_prog_empty拉高時,主狀態(tài)機由初始狀態(tài)(FSM0)進入FSM1狀態(tài),回放幀頭數(shù)據(jù)。當檢測到從狀態(tài)機1返回的結束標識信號FSM1_finish時,主狀態(tài)機進入FSM2狀態(tài),回放前N-1個脈沖數(shù)據(jù)。當檢測到從狀態(tài)機2返回的結束標識信號FSM2_finish時,主狀態(tài)機進入FSM3,最后回放第N個脈沖數(shù)據(jù)。當檢測到從狀態(tài)機3返回的結束標識信號其FSM3_finish時,主狀態(tài)機進入FSM0狀態(tài),開啟下一幀數(shù)據(jù)回放。
圖7 主狀態(tài)機狀態(tài)轉移圖Figure 7. State transition of the master state machine
幀頭回放狀態(tài)(FSM1)對應從狀態(tài)機1,其狀態(tài)轉移圖如圖8所示。當主狀態(tài)機進入FSM1狀態(tài)時,會向從狀態(tài)機發(fā)送啟動信號start_enable。檢測到該信號后,從狀態(tài)機1由初始狀態(tài)進入幀頭回放開始狀態(tài)。此時從狀態(tài)機1將緩存數(shù)據(jù)讀使能信號ddr3_rd_en拉高,控制DDR3_Ctrl模塊讀取DDR3緩存數(shù)據(jù),并傳輸至GTX模塊,同時時序控制計數(shù)器開始計數(shù)。當檢測到幀頭結束標志時,從狀態(tài)機1進入幀頭回放結束狀態(tài),將ddr3_rd_en信號拉低,結束從DDR3內讀取數(shù)據(jù)。當時序控制計數(shù)器計數(shù)到CB,即波門起始時間B對應的計數(shù)值時,從狀態(tài)機1進入初始狀態(tài)并向主狀態(tài)機返回結束標志FSM1_finish。
圖8 從狀態(tài)機1狀態(tài)轉移圖Figure 8. State transition of slave state machine FSM1
脈沖數(shù)據(jù)n回放狀態(tài)(FSM2)對應從狀態(tài)機2,其狀態(tài)轉移圖如圖9所示。該狀態(tài)機與從狀態(tài)機1類似,不同之處在于進入脈沖數(shù)據(jù)n回放結束狀態(tài)后,當時序控制計數(shù)器計數(shù)到CT,即雷達周期Tr對應的計數(shù)值時才開始狀態(tài)轉移。若n 圖9 從狀態(tài)機2狀態(tài)轉移圖Figure 9. State transition of slave state machine FSM2 脈沖數(shù)據(jù)N回放狀態(tài)(FSM3)對應從狀態(tài)機3,其狀態(tài)轉移圖如圖10所示。該狀態(tài)機與從狀態(tài)機1類似,不同之處在于脈沖數(shù)據(jù)N回放狀態(tài)進入初始狀態(tài)所需的計數(shù)值為CT-CB對應的計數(shù)值。 圖10 從狀態(tài)機3狀態(tài)轉移圖Figure 10. State transition of slave state machine FSM3 寬、窄帶回波數(shù)據(jù)分別通過兩塊PCIe光纖板進行回放。當寬、窄帶數(shù)據(jù)同時回放時,由于兩塊板卡上State_Machine模塊計數(shù)器的時鐘為非相參本地時鐘,因此在數(shù)據(jù)回放過程中,寬、窄帶數(shù)據(jù)傳輸?shù)臅r間偏差將持續(xù)累加,導致數(shù)據(jù)回放具有不同步性,影響后端實時處理系統(tǒng)的正常工作。 本文定義Tclk為時序控制計數(shù)器時鐘周期,α為Tclk的相對誤差,t為雷達回波數(shù)據(jù)回放持續(xù)時間,N為t對應的計數(shù)器時鐘累積計數(shù)值,M為連續(xù)回放脈沖數(shù)。設Δt為板間同步回放時間偏差,可得 Δt≤N·(2·α·Tclk)=2αt=2αMTr (1) 設β為實時處理系統(tǒng)對于Δt的相對容許度,為達到多類型數(shù)據(jù)并行實時處理的要求,需滿足 Δt≤β·Tr (2) 由式(1)和式(2)可推出,當式(3)成立時,數(shù)據(jù)回放的板間時間偏差可滿足實時處理系統(tǒng)的要求。 (3) 在假設雷達回波數(shù)據(jù)的雷達周期時,要求各數(shù)據(jù)同步回放的時間偏差不超過雷達周期的一半。驅動State Machine模塊的時鐘模塊的頻率誤差為50 ppm,根據(jù)式(3)可知,在連續(xù)回放的回波數(shù)據(jù)幀數(shù)不超過5 000的情況下,即可認為兩塊板卡為同步回放狀態(tài)。 以上為數(shù)據(jù)回放過程中雷達周期為定值的情形。當回放數(shù)據(jù)雷達周期非定值時,式(1)和式(2)變?yōu)?/p> (4) (5) 由式(4)和式(5)可推出,當式(6)成立時,數(shù)據(jù)回放的板間時間偏差可滿足實時處理系統(tǒng)的要求。 (6) 如果連續(xù)回放的幀數(shù)超過了式(3)或式(6)所得到的上限值,就需要采取額外的板間同步控制措施。為解決數(shù)據(jù)回放的板間同步問題,本文分別提出軟件同步控制方法和硬件同步控制方法。 圖11為軟件同步控制流程。通過讀取寬帶和窄帶數(shù)據(jù)文件,并根據(jù)其幀索引列表進行數(shù)據(jù)分割,使得兩類數(shù)據(jù)文件的幀序列號保持一致。隨后,向寬帶和窄帶PCIe光纖板同時發(fā)起DMA傳輸。兩板單次DMA傳輸?shù)拿}沖數(shù)相同,且不能超過式(3)或式(6)要求的上限值。當兩塊板卡的DDR3自定義空信號均拉高時,向兩塊板卡同時發(fā)起新一輪PCIe DMA傳輸。 圖11 軟件同步控制流程圖Figure 11.Procedure of software synchronization control method 軟件同步控制方法靈活且易于實現(xiàn),其數(shù)據(jù)回放的板間時間偏差可被控制在Tr級別(1 ms及以上量級)。但是當實時數(shù)字信號處理系統(tǒng)需要對不同類型的雷達回波數(shù)據(jù)進行更為嚴格的同步控制時,則需要采用硬件同步控制方法。 硬件實現(xiàn)方法主要是利用光纖將兩塊PCIe光纖板連接起來,在光纖接收端使用恢復時鐘驅動時序控制計數(shù)器,保證兩塊板卡的計數(shù)器時鐘為相參時鐘,數(shù)據(jù)回放的板間時間偏差不再隨回放時間累積?;謴蜁r鐘的使用可參照文獻[18]。硬件同步控制方法可將數(shù)據(jù)回放的板間時間偏差控制在Tclk級別(10 ns量級),相比軟件同步控制方法具有更高的同步控制精度,但其開發(fā)和實現(xiàn)成本也相應較高。 本文依照設計方法完成回放系統(tǒng)的開發(fā)實現(xiàn),其軟件界面如圖12所示。將回放系統(tǒng)功能模塊嵌入至數(shù)據(jù)存儲管理系統(tǒng)內,用戶可對回放數(shù)據(jù)進行選擇,并根據(jù)數(shù)據(jù)通道數(shù)進行回放數(shù)據(jù)的預處理。用戶點擊開始/停止回放按鈕,可啟動/停止數(shù)據(jù)回放。圖13為系統(tǒng)將雷達回波數(shù)據(jù)回放至實時數(shù)字信號處理系統(tǒng)后的實時成像結果。 由圖12和圖13可知,本文設計的系統(tǒng)實現(xiàn)了多通道數(shù)據(jù)的并行回放,并實現(xiàn)了寬帶去斜數(shù)據(jù)與窄帶數(shù)據(jù)的同步回放?;胤胚^程中,單路光纖通道的鏈路速率為3.2 Gbit·s-1,單板最多可支持6個光纖通道的數(shù)據(jù)回放,峰值回放速率可達1 920 MB·s-1。(注:圖12、圖13分別為數(shù)據(jù)存儲管理系統(tǒng)和實時數(shù)字信號處理系統(tǒng)軟件界面。根據(jù)保密要求,在原始界面截圖的基礎上,對雷達參數(shù)等敏感信息相關的按鈕及狀態(tài)欄進行模糊化處理,僅對數(shù)據(jù)回放操作及功能驗證相關的部分界面進行清晰顯示) 圖12 數(shù)據(jù)回放軟件操作界面Figure 12. Operation interface of the playback software 圖13 回放數(shù)據(jù)實時成像結果Figure 13. Real-time imaging results of the radar echo signal from the playback system 本文設計并實現(xiàn)了一種基于FPGA的寬窄帶一體化、多通道雷達數(shù)據(jù)回放系統(tǒng),并詳細闡述了回放系統(tǒng)的平臺組成、回放系統(tǒng)總體結構設計、PCIe DMA實現(xiàn)流程、數(shù)據(jù)回放時序控制方法、寬窄帶數(shù)據(jù)回放同步控制方法。該系統(tǒng)支持寬窄帶兩種數(shù)據(jù)類型的同步回放,各數(shù)據(jù)類型可支持1 920 MB·s-1峰值回放速率和6路并行數(shù)據(jù)通道,且已被應用于某相控陣雷達中。本文設計的回放系統(tǒng)基于雷達原有硬件平臺來實現(xiàn),無需增設板卡或接口,其設計與實現(xiàn)方法具有良好的通用性,可為雷達數(shù)據(jù)回放系統(tǒng)設計和雷達實時處理系統(tǒng)的性能驗證提供參考。5 板間同步控制
6 系統(tǒng)測試結果
7 結束語