賈敬樂,王 嘯,李 強(qiáng)
(南京萊斯電子設(shè)備有限公司,江蘇 南京 210007)
為了更好地對機(jī)載雷達(dá)信號處理算法進(jìn)行分析、優(yōu)化,需要實時記錄雷達(dá)工作時的原始中頻IQ數(shù)據(jù)。但受限于機(jī)載環(huán)境的嚴(yán)苛,要求機(jī)載電子設(shè)備具有小尺寸、輕重量、低功耗的特點[1];為此實現(xiàn)足夠高的數(shù)據(jù)記錄速度、足夠大的存儲容量,對記錄設(shè)備的處理能力、功耗與體積都有一定要求。本文根據(jù)某型號機(jī)載雷達(dá)數(shù)據(jù)記錄儀要求,記錄快速的IQ數(shù)據(jù)和慢速的信號處理后的數(shù)據(jù),設(shè)計了一款新型數(shù)據(jù)記錄儀,在滿足直流DC28 V供電,功耗小于70 W,重量小于3 kg以及機(jī)載工作環(huán)境適應(yīng)性的前提下,實現(xiàn)了500 MB/s的記錄速度、8 TB的存儲容量的性能指標(biāo),同時該設(shè)計采用標(biāo)準(zhǔn)文件系統(tǒng),能夠方便數(shù)據(jù)導(dǎo)出,便于通用軟件對數(shù)據(jù)的識別和分析。
數(shù)據(jù)記錄儀設(shè)備基于PCIE通信總線,選用NXP的POWERPC處理器作為系統(tǒng)的主控器;選用Xilinx FPGA實現(xiàn)外部所需數(shù)據(jù)的專用總線接口;存儲介質(zhì)選用憶芯科技的NVME SSD。FPGA與NVME SSD的PCIE接口分別與主控的PCIE連接。數(shù)據(jù)由FPGA接收后,由PCIE端口進(jìn)行傳輸,由主控對傳輸?shù)臄?shù)據(jù)進(jìn)行NVME SSD落盤。
因記錄設(shè)備受用戶結(jié)構(gòu)要求,故采用模塊化設(shè)計。本方案經(jīng)過結(jié)構(gòu)布局等綜合考慮,將設(shè)備分為電源模塊、主控模塊、NVME存儲模塊、FPGA接口模塊以及電子機(jī)箱。電源模塊選用9 V~36 V寬輸入范圍的DC-DC模塊,實現(xiàn)DC28 V輸入轉(zhuǎn)換DC12 V,用于主控模塊、NVME存儲模塊、FPGA接口模塊的供電。主控模塊采用XMC形態(tài),提供2路pcie3.0*4通道,分別實現(xiàn)與FPGA接口模塊的PCIE接口和NVME存儲模塊接口的對接,并提供對外的千兆以太網(wǎng)和萬兆以太網(wǎng)接口。NVME存儲模塊采用XMC模塊形式,提供PCIE3.0*4接口,模塊上集成2個存儲控制器和一個PCIE SWITCH,每個存儲控制器的磁盤容量為4 TB,總?cè)萘繛? TB。FPGA接口模塊,包含2個4路一體的PLCC850 nm光模塊,一個FPGA可編程器件,以及2個XMC安裝位置,用于安裝主控模塊和NVME存儲模塊。
根據(jù)需求,選用的FPGA芯片為xilinx的690T-1761系列芯片,實現(xiàn)對外和對內(nèi)Rapidio,PCIE接口。緩存資源采用內(nèi)部BRAM即可滿足數(shù)據(jù)緩存需求。
雷達(dá)的中頻IQ數(shù)據(jù)由串行Rapidio接口NWRITE[2]接入事務(wù)類型。為滿足數(shù)據(jù)流的持續(xù)寫入NVME SSD,數(shù)據(jù)進(jìn)入FPGA后經(jīng)過內(nèi)部多個512 KB的緩存BRAM存儲,并經(jīng)過SRIO時鐘域到PCIE時鐘域轉(zhuǎn)換,每512 KB發(fā)起一次PCIE DMA[3]操作。根據(jù)數(shù)據(jù)類型帶寬不同,采用4個RAM實現(xiàn)IQ數(shù)據(jù)的流水作業(yè),數(shù)據(jù)處理后的數(shù)據(jù)采用2個RAM實現(xiàn)流水作業(yè),IQ數(shù)據(jù)和數(shù)據(jù)處理后數(shù)據(jù)共6個RAM,采取先滿先傳原則,發(fā)起PCIE DMA操作。其中文件操作接收到PCIE中斷信息,就會從內(nèi)存中搬取數(shù)據(jù);根據(jù)上位機(jī)的配置要求,生成符合用戶需求的記錄文件。生成文件的主要流程,如圖1所示。由于記錄儀設(shè)備本身的磁盤空間是有限的,當(dāng)記錄數(shù)據(jù)滿了后,提供覆蓋寫和丟棄當(dāng)前數(shù)據(jù)兩種可選模式。其中記錄流程,如圖2所示。
圖2 記錄流程
回放只針對快速的IQ數(shù)據(jù)進(jìn)行回放,用于事后的重演分析。可以根據(jù)實際需求,選擇需要回放的文件(支持回放一個或一組文件);主控模塊讀取存儲模塊中的文件至主控內(nèi)存,并通過PCIE接口進(jìn)行DMA至FPGA空間。FPGA進(jìn)行PCIE時鐘域到SRIO時鐘域轉(zhuǎn)換,每次發(fā)起DMA操作時機(jī)根據(jù)FPGA內(nèi)部FIFO數(shù)據(jù)剩余數(shù)據(jù)量,保證數(shù)據(jù)流穩(wěn)定。每次DMA操作512 KB,當(dāng)FPGA回放數(shù)據(jù)不足32 KB時候,重新發(fā)起DMA。受限于用戶信號處理能力,需控制回放速度,回放中,解析數(shù)據(jù)的幀頭,計算回放節(jié)拍,將數(shù)據(jù)從光纖SRIO接口回放,回放流程如圖3所示。
圖3 回放流程
基于用戶要求,采用的方案滿足指標(biāo)同時,兼顧數(shù)據(jù)維護(hù)和經(jīng)濟(jì)性原則。實現(xiàn)高帶寬的記錄需要軟硬件協(xié)同配合,任何節(jié)點的瓶頸都影響設(shè)備的性能。
數(shù)據(jù)用戶接口硬件為2路4通道的光纖接口,光模塊選擇6.25 Gbps速度,協(xié)議采用SRIO2.1,其最大理論通信帶寬為5×4×0.8/8=2 GB/s,因用戶的光纖接口處理器同樣是FPGA,不存在CPU開銷問題,故理論帶寬基本是實際有效帶寬,2 GB/s遠(yuǎn)大于500 MB/s的數(shù)據(jù)記錄指標(biāo)。
FPGA和NVME SSD均與PowerPC通過PCIE3.0×4相連,PCIE3.0采用128B/130B[3]編碼,理論帶寬為4×128/130×8/8=3.94 GB/s,遠(yuǎn)大于500 MB/s的數(shù)據(jù)記錄指標(biāo)。
而經(jīng)硬盤測試工具FIO測試,以512 KB為作為一個塊單位寫硬盤,單個NVME SSD盤的實際速度可達(dá)1 500 MB/s以上,即不需要對兩個NVME SSD做任何特殊處理,即可滿足500 MB/s的數(shù)據(jù)記錄指標(biāo),數(shù)據(jù)流向,如圖4所示。
從圖4分析,數(shù)據(jù)從SRIO進(jìn)入,經(jīng)FPGA內(nèi)部緩存,由PCIE端口進(jìn)入PowerPC處理器。FIFO寫入端時鐘和數(shù)據(jù)為250 MHz×64 bit,讀出端為125 MHz×256 bit,讀出速度為寫入速度2倍。這樣數(shù)據(jù)從FPGA入口到出口,整個數(shù)據(jù)流速率是由低到高,該段數(shù)據(jù)流無瓶頸;而處理器到硬盤速度為1 500 MB/s以上,去掉實際開銷,遠(yuǎn)大于500 MB/s數(shù)據(jù)率,因此整個數(shù)據(jù)記錄流程滿足500 MB/s數(shù)據(jù)記錄指標(biāo)。
圖4 數(shù)據(jù)流向
數(shù)據(jù)進(jìn)入FPGA后,先經(jīng)FPGA內(nèi)部FIFO進(jìn)行時鐘域和數(shù)據(jù)位寬轉(zhuǎn)換,將接收到的數(shù)據(jù)從SRIO時鐘域轉(zhuǎn)換為PCIE時鐘域,再分別通過各自的RAM緩存隊列,將數(shù)據(jù)依次通過PCIE的DMA操作搬移至處理器內(nèi)存空間;每搬移512 KB數(shù)據(jù),F(xiàn)PGA的PCIE向處理器發(fā)送一個中斷,處理器根據(jù)中斷將該512 KB塊數(shù)據(jù)寫入硬盤;NVME SSD多隊列技術(shù)特點,實現(xiàn)高速數(shù)據(jù)的存儲處理,將處理器內(nèi)存空間開辟32 MB,共64個512 KB空間,F(xiàn)PGA輪詢向該空間中的64個512 KB塊搬移數(shù)據(jù),且處理器依次循環(huán)讀取64個512 KB數(shù)據(jù)塊,寫入硬盤。
實際數(shù)據(jù)傳輸時,因文件系統(tǒng)開銷存在速度抖動,故在操作主控DDR3內(nèi)存以及數(shù)據(jù)寫入SSD時,都需要緩沖數(shù)據(jù)到一定數(shù)量時再一次寫入,以提高總線傳輸效率。同時設(shè)備設(shè)計兼顧在整個系統(tǒng)中的作用,需要配合整個信號處理系統(tǒng)進(jìn)行記錄回放卸載等功能的聯(lián)試聯(lián)調(diào),設(shè)備在系統(tǒng)中未發(fā)揮其最優(yōu)性能。
整個設(shè)備測試環(huán)境采用用戶的實際環(huán)境,將設(shè)備上的主備用光纖和用戶的信號處理機(jī)相連。設(shè)備的千兆口或萬兆口與控制計算機(jī)相連。登錄客戶端軟件,可對記錄設(shè)備進(jìn)行控制,客戶端軟件可實時顯示磁盤容量、溫度、快慢數(shù)據(jù)通道狀態(tài),SRIO鏈路等狀態(tài)。整機(jī)滿足實現(xiàn)600 MB/s記錄速度,萬兆以太網(wǎng)320 MB/s數(shù)據(jù)下載。整機(jī)靜態(tài)功耗和工作功耗如表1所示。
表1 測試表
本文設(shè)計的機(jī)載雷達(dá)數(shù)據(jù)記錄儀滿足了用戶對記錄速度和記錄容量的要求,利用高性能高速總線接口,降低了設(shè)備功耗、尺寸重量等,同時記錄的數(shù)據(jù)管理采用標(biāo)準(zhǔn)文件系統(tǒng),便于數(shù)據(jù)的使用。目前完成高低溫、振動、加速度、溫度沖擊等環(huán)境試驗,并交付用戶使用。