王 銳,朱 潤(rùn),饒 卿,閆勝剛
(中國(guó)船舶重工集團(tuán)公司第七二四研究所,南京 211153)
?
雷達(dá)內(nèi)嵌式偵測(cè)信號(hào)高速數(shù)據(jù)存儲(chǔ)系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)
王 銳,朱 潤(rùn),饒 卿,閆勝剛
(中國(guó)船舶重工集團(tuán)公司第七二四研究所,南京 211153)
介紹了一種通過SerialRapidIO(SRIO)總線實(shí)現(xiàn)高速雷達(dá)偵測(cè)信號(hào)傳輸與存儲(chǔ)的方法,并在VPX架構(gòu)下利用標(biāo)準(zhǔn)模塊實(shí)現(xiàn)了偵測(cè)雷達(dá)信號(hào)的高速傳輸、存儲(chǔ)與讀取。
雷達(dá);偵測(cè)信號(hào);數(shù)據(jù)存儲(chǔ);VPX標(biāo)準(zhǔn);SerialRapidIO
隨著雷達(dá)偵測(cè)技術(shù)的不斷發(fā)展,其瞬時(shí)處理帶寬的增大導(dǎo)致需要傳輸和處理的信息量也越來越大,對(duì)信息存儲(chǔ)速度與存儲(chǔ)容量的要求也不斷提高。傳統(tǒng)偵測(cè)信號(hào)處理系統(tǒng)一般只作實(shí)時(shí)流水處理,而無(wú)包含專用存儲(chǔ)設(shè)備或者只配有存儲(chǔ)量較小且讀取速度較慢的存儲(chǔ)器來記錄簡(jiǎn)單的中間信息。也有系統(tǒng)配置常用的外接數(shù)據(jù)采集存儲(chǔ)設(shè)備,但該存儲(chǔ)設(shè)備便捷性又較差。這些都已不能滿足雷達(dá)系統(tǒng)數(shù)據(jù)信息在線在系統(tǒng)實(shí)時(shí)存儲(chǔ)后續(xù)分析調(diào)試的實(shí)際需要?;赩PX 規(guī)范的通用數(shù)據(jù)存儲(chǔ)模塊具備高速信號(hào)采集、大容量數(shù)據(jù)存儲(chǔ)的能力且通過SRIO(Serial RapidIO)總線與其他處理板可以嵌入式無(wú)縫連接,這為VPX平臺(tái)下內(nèi)嵌式信息采集與存儲(chǔ)帶來了新的開發(fā)思路。本文在VPX處理平臺(tái)中,通過FPGA處理模塊利用SRIO總線將需要存儲(chǔ)的數(shù)據(jù)進(jìn)行高速傳輸,通過高速背板實(shí)時(shí)存入數(shù)據(jù)存儲(chǔ)模塊,實(shí)現(xiàn)了偵測(cè)雷達(dá)信號(hào)數(shù)據(jù)的采集和存取。
偵測(cè)雷達(dá)信號(hào)處理主要對(duì)較大瞬時(shí)帶寬內(nèi)的信號(hào)進(jìn)行接收和處理,并將處理結(jié)果及數(shù)字化后的中頻數(shù)據(jù)進(jìn)行存儲(chǔ)[1]。系統(tǒng)流程功能框圖如圖1所示。模擬前端將接收的射頻信號(hào)轉(zhuǎn)換為模擬中頻信號(hào)后,通過A/D模數(shù)轉(zhuǎn)換將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)送入FPGA處理模塊。FPGA處理模塊將信號(hào)處理結(jié)果和中頻信號(hào)通過SRIO協(xié)議高速送入數(shù)據(jù)存儲(chǔ)模塊進(jìn)行實(shí)時(shí)存儲(chǔ),并可通過網(wǎng)絡(luò)將儲(chǔ)存的數(shù)據(jù)讀入計(jì)算機(jī)進(jìn)行后續(xù)數(shù)據(jù)分析。
圖1 系統(tǒng)流程框圖
射頻前端將一路主接收通道、二路輔助接收通道接收的信號(hào)進(jìn)行同步變頻濾波放大,轉(zhuǎn)換得到三路中頻信號(hào)。中頻信號(hào)通過A/D模數(shù)轉(zhuǎn)換模塊轉(zhuǎn)換為數(shù)字中頻信號(hào)后高速串行送入FPGA信號(hào)處理模塊。在FPGA處理模塊中通過數(shù)字信道化、虛假抑制、信號(hào)檢測(cè)、參數(shù)測(cè)量等信號(hào)處理后,將處理得到的輻射源目標(biāo)的頻率、脈寬、幅度等信息進(jìn)行打包得到脈沖描述字。在FPGA處理模塊中將脈沖描述字和一路主通道接收處理后的數(shù)字中頻信號(hào)通過SRIO協(xié)議高速傳輸至1塊數(shù)據(jù)存儲(chǔ)模塊。同時(shí),將二路輔助通道接收處理后的數(shù)字中頻信號(hào)通過SRIO協(xié)議高速傳輸至1塊數(shù)據(jù)存儲(chǔ)模塊。數(shù)據(jù)儲(chǔ)存模塊實(shí)時(shí)接收FPGA信號(hào)處理模塊發(fā)送來的數(shù)據(jù)。為了滿足使用需求,系統(tǒng)設(shè)計(jì)采用2塊數(shù)據(jù)存儲(chǔ)模塊接收數(shù)據(jù)。每個(gè)數(shù)據(jù)存儲(chǔ)模塊例化兩個(gè)節(jié)點(diǎn)分別接收1路200 MB/s的數(shù)據(jù)。數(shù)據(jù)存儲(chǔ)模塊的設(shè)計(jì)符合VPX標(biāo)準(zhǔn),支持4x模式3.125 Gbit/s波特率的RapidIO傳輸方式。最大存儲(chǔ)速率為800 MB/s,最大存儲(chǔ)容量為3 TB。信號(hào)存儲(chǔ)結(jié)束后,計(jì)算機(jī)通過網(wǎng)絡(luò)將數(shù)據(jù)儲(chǔ)存模塊中的數(shù)據(jù)讀出,并通過MATLAB軟件對(duì)數(shù)據(jù)進(jìn)行后續(xù)處理分析。信號(hào)存儲(chǔ)流程如圖2所示。
圖2 信號(hào)存儲(chǔ)流程框圖
2.1 數(shù)據(jù)發(fā)送實(shí)現(xiàn)
SRIO的物理層、邏輯層和傳輸層可以通過Xilinx公司提供的SRIO IPcore例化生成。因此,只需通過對(duì)用戶接口編程來實(shí)現(xiàn)FPGA內(nèi)部邏輯與SRIO接口之間的高速數(shù)據(jù)交換,從而實(shí)現(xiàn)FPGA處理模塊到數(shù)據(jù)儲(chǔ)存模塊的高速數(shù)據(jù)傳輸[2]。
本系統(tǒng)采用Xilinx公司Virtex6系列的FPGA信號(hào)處理芯片XC6VLX550T,實(shí)現(xiàn)了多路高速串行數(shù)據(jù)傳輸,即利用FPGA芯片內(nèi)RocketIO模塊實(shí)現(xiàn)了3.125 Gbps ×4的SRIO高速接口,其最大傳輸速率1.25 GB/s。當(dāng)系統(tǒng)設(shè)計(jì)傳輸?shù)臄?shù)據(jù)包最大為256字節(jié)時(shí),考慮RapidIO典型協(xié)議開銷需要28字節(jié),因此本系統(tǒng)最大的數(shù)據(jù)傳輸速率為1.1 GB/s。
設(shè)計(jì)時(shí)先將4路發(fā)送數(shù)據(jù)分別通過第1級(jí)FIFO進(jìn)行緩存。FIFO的輸入位寬為16位,輸出位寬為16位,深度為4096,時(shí)鐘速率為100 MHz。FIFO起到數(shù)據(jù)緩存的作用。當(dāng)脈沖描述字或中頻信號(hào)到來且FIFO不滿時(shí),把數(shù)據(jù)寫入FIFO緩存起來。當(dāng)每路數(shù)據(jù)存滿時(shí)分別將緩存數(shù)據(jù)送入SRIO IPcore的信號(hào)輸入端口,并送入開始寫有效信號(hào)。當(dāng)數(shù)據(jù)包結(jié)束時(shí),送入結(jié)束寫有效信號(hào)。送入的四路數(shù)據(jù)對(duì)應(yīng)送入IPcore內(nèi)的第2級(jí)FIFO進(jìn)行緩存,同時(shí)例化4個(gè)不同的地址節(jié)點(diǎn)號(hào)后再通過一個(gè)選擇狀態(tài)機(jī)將數(shù)據(jù)選擇輸出至不同的對(duì)應(yīng)節(jié)點(diǎn)。數(shù)據(jù)包的最大長(zhǎng)度為256個(gè)字節(jié)。每路數(shù)據(jù)的最大速率為200 MB/s,4路數(shù)據(jù)的最大速率為800 MB/s小于系統(tǒng)的最大數(shù)據(jù)傳輸速率。每路最大速率為200 MB/s的4路數(shù)據(jù)同時(shí)送入2塊數(shù)據(jù)存儲(chǔ)模塊,每2路送入1塊數(shù)據(jù)存儲(chǔ)模塊。每個(gè)數(shù)據(jù)存儲(chǔ)模塊例化2個(gè)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)的接收。每個(gè)數(shù)據(jù)存儲(chǔ)模塊最大數(shù)據(jù)接收速率為400 MB/s小于數(shù)據(jù)存儲(chǔ)模塊的最大存儲(chǔ)速率。發(fā)送數(shù)據(jù)流程如圖3所示。
圖3 發(fā)送數(shù)據(jù)流程圖
2.2 數(shù)據(jù)儲(chǔ)存模塊節(jié)點(diǎn)配置實(shí)現(xiàn)
系統(tǒng)上電后,RapidIO總線構(gòu)成的網(wǎng)絡(luò)首先需要指定網(wǎng)絡(luò)中的某一節(jié)點(diǎn)作為主機(jī)。主機(jī)首先探測(cè)網(wǎng)絡(luò)中交換模塊、PPC數(shù)據(jù)處理模塊、數(shù)據(jù)存儲(chǔ)模塊等所有網(wǎng)絡(luò)節(jié)點(diǎn)的個(gè)數(shù)、種類、連接關(guān)系、分配網(wǎng)絡(luò)ID號(hào)完成整個(gè)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的構(gòu)造[3]。在完成RapidIO網(wǎng)絡(luò)探測(cè)后主機(jī)將獲得所有節(jié)點(diǎn)的個(gè)數(shù)、種類和各模塊間的連接關(guān)系。主機(jī)根據(jù)探測(cè)得到的網(wǎng)絡(luò)拓?fù)鋱D完成路由路徑的最優(yōu)化,并將結(jié)果設(shè)置到網(wǎng)絡(luò)中的各個(gè)路由器,最終完成整個(gè)網(wǎng)絡(luò)的建立。
上述過程中,如果需要臨時(shí)變化數(shù)據(jù)存儲(chǔ)模塊數(shù)目,系統(tǒng)中原有的網(wǎng)絡(luò)拓?fù)潢P(guān)系會(huì)發(fā)生變化從而導(dǎo)致數(shù)據(jù)存儲(chǔ)產(chǎn)生錯(cuò)誤。因?yàn)镽apidIO數(shù)據(jù)交換是通過RapidIO包來傳遞系統(tǒng)數(shù)據(jù)和控制信息的,RapidIO包在產(chǎn)生的時(shí)候就將網(wǎng)絡(luò)中目的ID和源ID封裝在包頭中[4]。如果變化數(shù)據(jù)存儲(chǔ)模塊數(shù)目,會(huì)導(dǎo)致原有終端節(jié)點(diǎn)網(wǎng)絡(luò)ID號(hào)發(fā)生變化,使得數(shù)據(jù)發(fā)送的目的地址改變而無(wú)法正確收發(fā)數(shù)據(jù)。
為了解決交換模塊、數(shù)據(jù)存儲(chǔ)模塊或PPC數(shù)據(jù)處理模塊數(shù)目變化導(dǎo)致系統(tǒng)網(wǎng)絡(luò)ID號(hào)發(fā)生變化的問題,本系統(tǒng)采用的方法為系統(tǒng)在變化數(shù)據(jù)存儲(chǔ)模塊等相關(guān)模塊首次上電后由系統(tǒng)中主節(jié)點(diǎn)進(jìn)行自動(dòng)鏈路掃描與配置,并將配置后的結(jié)果(包含路由信息與終端設(shè)備ID號(hào))保存成配置文件。根據(jù)原有應(yīng)用程序?qū)Ω鱾€(gè)終端設(shè)備ID號(hào)的定義,對(duì)配置文件進(jìn)行修改保存。此步驟流程圖如圖4所示。
圖4 系統(tǒng)首次上電生成與修改配置文件
完成配置文件生成與修改后系統(tǒng)之后每次上電為各終端設(shè)備分配網(wǎng)絡(luò)ID號(hào)的流程為:主機(jī)節(jié)點(diǎn)首先判斷系統(tǒng)內(nèi)交換模塊、數(shù)據(jù)存儲(chǔ)模塊、PPC數(shù)據(jù)處理模塊等設(shè)備的數(shù)目,未發(fā)生變化時(shí)則按原有的規(guī)則為各終端設(shè)備分配網(wǎng)絡(luò)ID號(hào)。若發(fā)現(xiàn)發(fā)生變化,則根據(jù)保存的修改配置文件為各終端設(shè)備分配網(wǎng)絡(luò)ID號(hào)。系統(tǒng)啟動(dòng)后為各設(shè)備分配網(wǎng)絡(luò)ID號(hào)的流程如圖5所示。
圖5 修改后的系統(tǒng)網(wǎng)絡(luò)ID號(hào)分配流程
本系統(tǒng)采用一塊PPC數(shù)據(jù)處理模塊作為主機(jī)節(jié)點(diǎn)進(jìn)行鏈路掃描與配置。上述方法的相關(guān)操作需對(duì)BSP(板級(jí)支持包)中鏈路掃描與配置相關(guān)函數(shù)按修改后的系統(tǒng)網(wǎng)絡(luò)ID號(hào)分配流程進(jìn)行更新。更新完成后編譯成VxWorks操作系統(tǒng)鏡像,將其與配置文件一同導(dǎo)入PPC數(shù)據(jù)處理模塊中的存儲(chǔ)模塊,由PPC數(shù)據(jù)處理模塊上電后進(jìn)行調(diào)用。通過該方法,無(wú)須再修改應(yīng)用程序中原有用于數(shù)據(jù)交互的網(wǎng)絡(luò)設(shè)備ID號(hào),確保變化數(shù)據(jù)存儲(chǔ)模塊與交換模塊數(shù)量不會(huì)對(duì)系統(tǒng)中原有的交換模塊、數(shù)據(jù)存儲(chǔ)模塊、PPC數(shù)據(jù)處理模塊等設(shè)備的正常工作產(chǎn)生影響。
2.3 數(shù)據(jù)儲(chǔ)存實(shí)現(xiàn)
本系統(tǒng)使用的數(shù)據(jù)存儲(chǔ)模塊包含1片F(xiàn)REESCALE的MPC8548E處理器作為主控制器,1片Xilinx的V6 HX系列FPGA芯片作為接口與數(shù)據(jù)緩存控制芯片,1片PLX的PEX8648作為板內(nèi)PCIE交換機(jī),1片PMC的PM8001作為SAS存儲(chǔ)控制器,4片SAND FORCE的SF2382作為固態(tài)盤控制器,32片MICRON的NAND FLASH作為存儲(chǔ)顆粒。
數(shù)據(jù)存儲(chǔ)模塊接收到數(shù)據(jù)存儲(chǔ)命令后將節(jié)點(diǎn)號(hào)等參數(shù)傳遞給FPGA芯片。FPGA芯片根據(jù)控制命令選擇對(duì)選定的通道進(jìn)行數(shù)據(jù)接收。接收開始后FPGA將接收到的數(shù)據(jù)存入DDR2進(jìn)行緩存,當(dāng)數(shù)據(jù)量達(dá)到指定數(shù)量后FPGA發(fā)送讀取命令通知處理器。處理器收到指令后啟動(dòng)PM8001的DMA控制器,將數(shù)據(jù)從FPGA寫入到固態(tài)盤中,完成數(shù)據(jù)存儲(chǔ)的過程。
利用信號(hào)源從AD信號(hào)采集模塊輸入3路脈寬5 μs、周期50 μs的脈沖信號(hào)。AD采集模塊對(duì)信號(hào)模數(shù)轉(zhuǎn)換后傳入FPGA處理模塊。FPGA處理模塊將處理后的3路中頻數(shù)據(jù)和1路脈沖描述字分別每2路高速傳輸至1塊數(shù)據(jù)存儲(chǔ)模塊。計(jì)算機(jī)通過網(wǎng)絡(luò)運(yùn)用控制軟件控制2塊數(shù)據(jù)存儲(chǔ)模塊的數(shù)據(jù)存儲(chǔ)。首先通過控制界面的“掃描連接”按鈕建立數(shù)據(jù)鏈接,兩塊數(shù)據(jù)存儲(chǔ)模塊的節(jié)點(diǎn)號(hào)IP地址分別定義為192.58.59.65和192.58.59.66。分別建立鏈接后點(diǎn)擊“開始”按鈕開始采集數(shù)據(jù),其中一塊接收2路中頻數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)模塊存儲(chǔ)數(shù)據(jù)的過程如圖6所示。圖6顯示了節(jié)點(diǎn)號(hào)為192.58.59.65的數(shù)據(jù)存儲(chǔ)模塊接收2路200 MB/s數(shù)據(jù)的過程,兩路接收通道為SRIO-0和SRIO-1,總的接收速率為400 MB/s。數(shù)據(jù)存儲(chǔ)結(jié)束時(shí)點(diǎn)擊“結(jié)束”按鈕停止數(shù)據(jù)采集,采集的數(shù)據(jù)以文本的形式存在數(shù)據(jù)存儲(chǔ)模塊中。
圖6 數(shù)據(jù)存儲(chǔ)接收過程
數(shù)據(jù)存儲(chǔ)完畢后可將需要分析的文本數(shù)據(jù)通過控制軟件界面上的“下載”按鈕通過網(wǎng)絡(luò)以40 MB/s的速率下載存入計(jì)算機(jī),下載完畢后可運(yùn)用MATLAB軟件對(duì)數(shù)據(jù)分析。圖7顯示了運(yùn)用MATLAB軟件將下載得到的一路存儲(chǔ)數(shù)據(jù)恢復(fù)后的結(jié)果。采集存儲(chǔ)的信號(hào)的脈寬為5 μs,信號(hào)的周期為50 μs。
圖7 恢復(fù)數(shù)據(jù)結(jié)果
隨著雷達(dá)技術(shù)的不斷發(fā)展對(duì)數(shù)據(jù)傳輸速率和帶寬的要求越來越高,對(duì)記錄存儲(chǔ)數(shù)據(jù)速率和數(shù)據(jù)量的要求也越來越大?;赩PX標(biāo)準(zhǔn)的通用數(shù)據(jù)存儲(chǔ)模塊很好地適應(yīng)了上述這種發(fā)展趨勢(shì),具有集成度高、實(shí)時(shí)流盤性能強(qiáng)的優(yōu)點(diǎn)。本文通過VPX平臺(tái)實(shí)現(xiàn)了偵測(cè)雷達(dá)信號(hào)的高速存取,一方面有效地解決了工程調(diào)測(cè)需求問題,另一方面也為VPX平臺(tái)下的高速數(shù)據(jù)存取提供了新的開發(fā)思路。
[1] 宋虎,陳建軍.被動(dòng)探測(cè)中的信號(hào)技術(shù)研究[J].雷達(dá)與對(duì)抗,2005(4).
[2] 許樹軍,黃镠,牛戴楠,王銳.基于FPGA的Serial RapidIO協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)[J].雷達(dá)與對(duì)抗,2015(4).
[3] 石煒,鄧偉.基于RapidIO高速信號(hào)處理系統(tǒng)的網(wǎng)絡(luò)枚舉技術(shù)[J].電子設(shè)計(jì)工程,2013,21(4):36-39.
[4] 石海洋.一種RapidIO交換網(wǎng)絡(luò)配置方法的設(shè)計(jì)與實(shí)現(xiàn)[J].航空計(jì)算技術(shù),2012,42(2):132-134.
Design and implementation of high-speed data storage system for embedded radar detection signals
WANG Rui, ZHU Run, RAO Qing, YAN Sheng-gang
(No. 724 Research Institute of CSIC, Nanjing 211153)
A method of using the Serial RapidIO (SRIO) bus to realize the transmission and storage of the high-speed radar detection signals is introduced, and the high-speed transmission, storage and reading of the detection signals are implemented through the standard modules based on the VPX architecture.
radar; detection signal; data storage; VPX standard; Serial RapidIO
2016-05-20;
2016-07-02
王銳(1982-),男,工程師,碩士,研究方向:雷達(dá)信號(hào)處理;朱潤(rùn)(1984-),男,工程師,碩士,研究方向:雷達(dá)信號(hào)處理;饒卿(1988-),男,工程師,碩士,研究方向:雷達(dá)信號(hào)處理;閆勝剛(1986-),男,工程師,碩士,研究方向:雷達(dá)信號(hào)處理。
TN957.52
A
1009-0401(2016)04-0025-04