魏匯贊,呂宇宙,王銘偉,郭 暢
(1.上海航天電子技術(shù)研究所,上海 201109;2.北京華清瑞達(dá)科技有限公司,北京 100080)
傳統(tǒng)的機械掃描雷達(dá)主要依靠轉(zhuǎn)動雷達(dá)天線實現(xiàn)波束的掃描,從而完成對目標(biāo)的搜索與跟蹤。隨著戰(zhàn)場環(huán)境的日益復(fù)雜,當(dāng)面對高速、多批次、不同俯仰角目標(biāo)時,機械掃描雷達(dá)顯得有些力不從心[1]。不同于傳統(tǒng)的機械掃描雷達(dá),相控陣?yán)走_(dá)以電子方式控制波束,從而改變波束指向。因此,相較于機械掃描雷達(dá),其具有波束指向靈活、可靠性高、抗干擾能力強等優(yōu)點,并成為目前的主流體制雷達(dá)[2]。
相控陣?yán)走_(dá)能夠根據(jù)戰(zhàn)場環(huán)境以及人工干預(yù)命令,完成對雷達(dá)時間、能量、波束、波形、頻率等資源的分配,排布調(diào)度波位,產(chǎn)生相應(yīng)的時序控制信號,對重點目標(biāo)與區(qū)域分配更多的時間與能量,實現(xiàn)對重點目標(biāo)的快速發(fā)現(xiàn)與穩(wěn)定跟蹤[3-6]。其中,不同調(diào)度波位中所帶有參數(shù)(信號處理方式、發(fā)射脈沖數(shù)、捷變頻控制、發(fā)射脈沖寬度、發(fā)射脈沖重復(fù)間隔等)不盡相同,這對時序控制器提出了極高的要求。該文基于此,設(shè)計了一款高性能的時序控制器。
時序控制器作為雷達(dá)正常工作的節(jié)拍器,需要協(xié)調(diào)雷達(dá)各個分系統(tǒng)進(jìn)行穩(wěn)定有序的工作。因此,其需要具備以下性能要求:1)多個高速傳輸接口;2)高質(zhì)量的時鐘源;3)較強的信號處理能力。基于以上性能要求以及某型雷達(dá)研制需求,設(shè)計了如圖1 所示的硬件結(jié)構(gòu)圖。
圖1 時序控制器的硬件結(jié)構(gòu)圖
該時序控制器主要由一片高性能的現(xiàn)場可編程門陣列FPGA(Filed-Programmable Gate Array)芯片、一片高性能的中央處理器CPU(Central Processing Unit)以及多種外圍接口硬件電路所構(gòu)成。其中,F(xiàn)PGA 芯片采用了Xilinx 公司的Xcku040-ffva1156-1-i,該芯片擁有28 個高速收發(fā)器端口(最高速率支持12.5 Gb/s),726 000 個邏輯單元、2 760 個信號處理單元以及520 個輸入/輸出引腳。因此,該芯片滿足了時序控制器中各項性能需求,因此將其用于系統(tǒng)時序信號的產(chǎn)生以及各路數(shù)據(jù)的通信交互。CPU采用英特爾公司的I7-3517UE,該芯片的主頻可工作在1 333 MHz。該CPU可用于相控陣?yán)走_(dá)中的資源調(diào)度,負(fù)責(zé)計算雷達(dá)的時間、能量、波束等以及向各個分系統(tǒng)分發(fā)調(diào)度命令,同時接收與轉(zhuǎn)發(fā)上位機下發(fā)的人工干預(yù)命令以及上傳各個分系統(tǒng)的Bit狀態(tài)。其余的接口硬件電路主要包含高速串行計算機擴展總線標(biāo)準(zhǔn)PCIe(Peripheral Component Interface Express)接口[7]、低壓差分信號LVDS(Low Voltage Differential Signaling)接口[11]、RS422 接口[12]。其中,PCIe 接口用于FPGA 與CPU 之間的通信,采用PCIe 3.0 標(biāo)準(zhǔn),通道數(shù)為4,最高速率支持5 Gb/s。LVDS 與RS422 是兩種不同的電平標(biāo)準(zhǔn)并分別適用于不同的場景,其中LVDS 適用于單板內(nèi)或者板與板之間的信號傳輸;RS422 電平幅度稍微大于LVDS,抗干擾能力也比LVDS 強一些,適用于遠(yuǎn)距離的信號傳輸。由于雷達(dá)分系統(tǒng)眾多,為了保證通用性,采用了兩種對外接口電平標(biāo)準(zhǔn)。
根據(jù)具體的任務(wù)需求,設(shè)計了如圖2 所示的功能結(jié)構(gòu)圖。其主要由LVDS 接口模塊、系統(tǒng)時序產(chǎn)生模塊、PCIe 接口模塊等組成。其中,鎖相環(huán)模塊用于外接高質(zhì)量時鐘源,根據(jù)時序信號的具體要求鎖頻至相應(yīng)的時鐘頻率,并將該時鐘信號作為主時鐘;PCIe 接口模塊用于接收資源調(diào)度計算機下發(fā)的調(diào)度報文與人工干預(yù)報文;系統(tǒng)時序產(chǎn)生模塊根據(jù)資源調(diào)度計算機下發(fā)的報文產(chǎn)生相應(yīng)的時序信號,并通過LVDS 接口與RS422 接口發(fā)送至各個分系統(tǒng)(數(shù)字波束合成設(shè)備、接收頻綜設(shè)備、波束控制設(shè)備、伺服控制設(shè)備等)。
圖2 時序控制器的功能結(jié)構(gòu)圖
系統(tǒng)時序產(chǎn)生模塊是整個時序控制器的核心??紤]到控制參數(shù)的多樣性以及模塊的通用性,在設(shè)計中采用了參數(shù)化、模塊化的設(shè)計思路,時序信號的產(chǎn)生以及控制參數(shù)全部支持動態(tài)重配置。
當(dāng)系統(tǒng)時序產(chǎn)生模塊接收到資源調(diào)度計算機發(fā)送的報文時,按照約定的報文協(xié)議進(jìn)行解析以獲得相關(guān)控制參數(shù)(工作模式、波位碼、信號處理方式、碼型及脈寬、發(fā)射脈沖個數(shù)、發(fā)射脈沖重復(fù)間隔等)。值得注意的是,為了避免報文傳輸出現(xiàn)錯誤從而導(dǎo)致系統(tǒng)時序出現(xiàn)紊亂的問題,在只讀存儲器ROM(Read-Only Memory)中存放了各種工作模式下的默認(rèn)報文,以便于當(dāng)報文傳輸出現(xiàn)錯誤時使用。其中,報文的準(zhǔn)確性可以根據(jù)包頭、包尾以及校驗碼進(jìn)行判斷。圖3給出了雷達(dá)工作的基本時序圖。其中,τ表示發(fā)射脈沖寬度,并且各個時序信號都是低電平有效。
圖3 雷達(dá)工作基本時序圖
LVDS 接口模塊用于發(fā)送與接收時序控制信號。在該設(shè)計中,由于硬件設(shè)計原因,只分配了兩對LVDS差分線用于與數(shù)字波束合成設(shè)備進(jìn)行時序傳輸。但實際上,數(shù)字波束合成設(shè)備正常工作所需的時序信號數(shù)量大大超出了2 個。因此,只能將多個時序信號經(jīng)過并串轉(zhuǎn)換進(jìn)行傳輸。值得注意的是,這種傳輸機制需滿足時序信號的變換率遠(yuǎn)遠(yuǎn)小于LVDS 傳輸速率。例如,時序信號每0.125 μs進(jìn)行一次高低電平變換,LVDS傳輸速率為2.7×105bit/s,那么LVDS 一次傳輸?shù)臉O限是30 個數(shù)據(jù),否則將造成時序信號傳輸?shù)倪z漏。同時為了保證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性與可靠性,還需加上包頭、包尾以及校驗碼,并且只有當(dāng)發(fā)送端與接收端的包頭、包尾、校驗碼保持一致時才能判定數(shù)據(jù)有效。因此,在保證傳輸可靠性的同時,所能傳輸?shù)臅r序數(shù)量也將大大減少,但還是能保證將數(shù)字波束合成設(shè)備需要的時序信號全部進(jìn)行傳輸。
圖4給出了LVDS接口發(fā)送與接收時序信號的工作流程圖。在發(fā)送端,首先對需要發(fā)送時序信號的有效性進(jìn)行判斷,如果數(shù)據(jù)有效,根據(jù)需要發(fā)送的數(shù)據(jù)計算得到相應(yīng)的CRC(Cyclic Redundancy Check)校驗碼[8]。其中,相較于傳統(tǒng)的奇偶校驗碼PCC(Parity Check Code)只能校驗一位錯誤,循環(huán)冗余校驗碼的檢錯能力更強,可以檢測出多位錯誤,因此,在該設(shè)計中采用CRC 進(jìn)行校驗。包頭與包尾的數(shù)據(jù)可以根據(jù)具體的設(shè)計要求進(jìn)行定義。例如,LVDS 發(fā)送端發(fā)送一包28 位的數(shù)據(jù),這一數(shù)據(jù)由4 位包頭數(shù)據(jù)+10位時序信號+10 位CRC 校驗碼+4 位包尾數(shù)據(jù)所構(gòu)成。LVDS接收端,需要將串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù),當(dāng)檢測到包頭、包尾時,進(jìn)行數(shù)據(jù)提取,并進(jìn)行CRC 校驗。
圖4 LVDS接口收發(fā)流程圖
當(dāng)計算得到的CRC 校驗碼與接收得到的CRC校驗碼一致,則表明該包數(shù)據(jù)有效,否則丟掉。由此,完成了整個LVDS 接口的發(fā)送與接收。
PCIe 接口模塊用于實現(xiàn)計算機與FPGA 之間的通信。在具體的軟件實現(xiàn)上,直接調(diào)用了Xilinx 公司提供的相應(yīng)IP 核[9-10]。同時為了便于后續(xù)的使用,在IP 核外圍添加了面向用戶的端口。圖5 給出了PCIe 接口模塊功能結(jié)構(gòu)圖。其主要由用戶端、直接內(nèi)存操作DMA(Direct Memory Access)狀態(tài)機以及PCIe IP 核所組成。
圖5 PCIe接口模塊功能結(jié)構(gòu)圖
其中,用戶端口主要包含寄存器端口、中斷端口以及隨機存儲器端口。寄存器端口分為128 個讀寄存器與128 個寫寄存器,讀寄存器供用戶向計算機發(fā)送數(shù)據(jù),用戶負(fù)責(zé)輸入數(shù)據(jù),計算機負(fù)責(zé)讀?。粚懠拇嫫鞴┯嬎銠C向用戶發(fā)送數(shù)據(jù)。中斷端口主要包含中斷信號與32 位中斷寄存器。用戶若想發(fā)送中斷信號,只需將中斷使能一個時鐘周期即可,同時對中斷寄存器賦值,用戶通過中斷寄存器的值判斷其類型。隨機存儲器端口主要包含兩個32 kB 深度、32 bit 位寬的標(biāo)準(zhǔn)Block RAM 的讀寫端口,通過計算機來切換讀寫兩個RAM。
DMA 控制器用于控制整個數(shù)據(jù)鏈路的發(fā)送與接收。當(dāng)上電復(fù)位后,DMA控制器首先讀取計算機下發(fā)的內(nèi)存首地址以及計算機下發(fā)的開辟內(nèi)存空間大小。當(dāng)計算機需要向用戶端發(fā)送數(shù)據(jù)時,PCIe IP首先接收相應(yīng)的數(shù)據(jù),并通過AXI總線通知DMA控制器進(jìn)行讀內(nèi)存操作,DMA 控制器讀取相應(yīng)的數(shù)據(jù),并根據(jù)數(shù)據(jù)類型將數(shù)據(jù)寫入RAM 或REG中。當(dāng)用戶端需要向計算機發(fā)送數(shù)據(jù)時,用戶將數(shù)據(jù)放入RAM 或REG中,然后再發(fā)送中斷信號通知計算機進(jìn)行數(shù)據(jù)的讀取,計算機收到中斷信號后下發(fā)寫內(nèi)存指令,DMA控制器讀取用戶數(shù)據(jù),并將數(shù)據(jù)通過AXI總線寫入到計算機內(nèi)存中。
將編譯后的程序在線加載至FPGA 中,通過ILA核對相關(guān)數(shù)據(jù)進(jìn)行抓取。其中,控制命令參數(shù)如下:信號處理方式為動目標(biāo)檢測MTD(Moving Target Detection),發(fā)射脈沖數(shù)為18,發(fā)射脈沖寬度為50 μs,發(fā)射脈沖重復(fù)周期為330 μs。經(jīng)過數(shù)據(jù)抓取發(fā)現(xiàn),實際的時序信號TRP、TRP1、TRP2、TRP3 之間的時間間隔與圖3 基本保持一致,并且各個發(fā)射參考脈沖與下一個發(fā)射參考脈沖之間的時間間隔與控制命令參數(shù)保持一致。因此,該時序控制器能根據(jù)命令參數(shù)正確地產(chǎn)生相應(yīng)的時序信號。
該文完成了一款高性能的相控陣?yán)走_(dá)時序控制器的設(shè)計與實現(xiàn)。該時序控制器采用了PCIe 接口外加FPGA 的實現(xiàn)機制使得時序信號的產(chǎn)生具備參數(shù)化、可編程化的優(yōu)點,并滿足了相控陣?yán)走_(dá)對不同俯仰以及不同方位的相掃需求。另外,該時序控制器還具備多個對外高速穩(wěn)定的傳輸接口,滿足了相控陣?yán)走_(dá)中多個分系統(tǒng)對接口的需求。該時序控制器已經(jīng)應(yīng)用于某型預(yù)研雷達(dá)中,取得了良好的驗證效果。