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