這里展開介紹一種有源相控陣雷達(dá)波束控制系統(tǒng)的硬件平臺(tái)及軟件設(shè)計(jì)。
l 系統(tǒng)原理
為降低電路成本和增加系統(tǒng)可靠性,該系統(tǒng)采用設(shè)備量少、維修方便、可靠性高的集中式運(yùn)算、分布式驅(qū)動(dòng)體系。也就是,波束控制算法用一塊電路板(稱之為運(yùn)算板)實(shí)現(xiàn)。
對(duì)工作方式,運(yùn)算板接收來(lái)自雷達(dá)控制臺(tái)的控制指令(包括主天線的方位和俯仰增量代碼、工作頻率、工作模式代碼等),進(jìn)行波束控相位碼的計(jì)算、傳輸、分配與格式重排。運(yùn)算板把處理后的串行波束控制碼通過驅(qū)動(dòng)器發(fā)往陣面的波束控制組件驅(qū)動(dòng)板。在波束控制組件驅(qū)動(dòng)板內(nèi)再進(jìn)行譯碼、驅(qū)動(dòng),然后送給組件單元作為控制碼,從而實(shí)現(xiàn)波束控制系統(tǒng)的功能。波束控制系統(tǒng)的組成如圖1所示。
2 系統(tǒng)硬件平臺(tái)
該相控陣?yán)走_(dá)系統(tǒng)要求波束控制系統(tǒng)準(zhǔn)確可靠地控制512個(gè)天線單元,波束轉(zhuǎn)換時(shí)間不大于1 ms。在此分析運(yùn)算板需要哪些關(guān)鍵器件。運(yùn)算板要在500μs內(nèi)完成從雷達(dá)控制臺(tái)接收指令、波束控制算法及運(yùn)算結(jié)果傳輸?shù)墓δ?,必須選用FPGA器件。參與運(yùn)算的補(bǔ)償數(shù)據(jù)是運(yùn)算的主要對(duì)象之一,要能夠?qū)崟r(shí)參與波束控制算法的運(yùn)算過程,也可以被雷達(dá)控制臺(tái)在線更新,這就需要運(yùn)算板具有存儲(chǔ)器。系統(tǒng)采用自定義總線接收雷達(dá)控制指令和上報(bào)陣面返回的信息。
關(guān)于驅(qū)動(dòng)板的硬件設(shè)計(jì),不僅要實(shí)現(xiàn)驅(qū)動(dòng)、譯碼、系統(tǒng)自檢等功能,還要考慮組件在單獨(dú)調(diào)試時(shí)驅(qū)動(dòng)板的控制功能是否可以方便實(shí)現(xiàn)。由于設(shè)備數(shù)量較大,在滿足功能的基礎(chǔ)上,要盡可能降低設(shè)備成本?;谶@些需求,選用一片單片機(jī)和一片EPLD。圖1中虛線左側(cè)部分所示運(yùn)算板硬件組成。其中,雷達(dá)控制臺(tái)發(fā)送的是波束控制指令、接收的是陣面自檢和檢測(cè)信息;傳輸模塊產(chǎn)生和發(fā)送串行波束控制碼、傳送所需要的時(shí)鐘、定時(shí)信號(hào)。
圖l中虛線右側(cè)部分所示組件驅(qū)動(dòng)板的硬件組成。其中接口電路接收波束控制運(yùn)算板發(fā)來(lái)的串行波束控制碼;組件單元接收的是TTL電平的控制碼(包括發(fā)射移相碼、接收移相碼、衰減碼、T/R開關(guān)控制碼)。EPLD完成譯碼和控制分發(fā)代碼,SCU完成聯(lián)機(jī)自檢和脫機(jī)控制調(diào)試的功能??刂坪驼{(diào)試方式比其他提供的系統(tǒng)設(shè)計(jì)方法,更加多樣化和靈活。
3 軟件設(shè)計(jì)
3.1 運(yùn)算板FPGA程序設(shè)計(jì)
波控運(yùn)算板基本用途就是為滿足陣面天線單元控制的需要。在此,整個(gè)天線陣面等分成四個(gè)子陣面。每個(gè)子陣面包括a×b個(gè)天線單元,如圖2所示。
天線分時(shí)實(shí)現(xiàn)全孔徑SAR模式和子孔徑GMTI模式兩種工作模式。雷達(dá)對(duì)空探測(cè)或者在SAR工作方式時(shí),利用天線全陣面,形成一個(gè)波束進(jìn)行發(fā)射和接收,陣面的物理中心就是陣面天線單元的坐標(biāo)原點(diǎn);GMTI工作方式時(shí),全陣面形成一個(gè)發(fā)射波束,而接收時(shí)則在方位上等分四個(gè)子陣面,形成四個(gè)接收波束,此時(shí)形成四個(gè)坐標(biāo)系:每個(gè)子陣面的物理中心就是每個(gè)陣面天線單元的坐標(biāo)原點(diǎn)。
根據(jù)天線單元此分布特點(diǎn)的控制需求,這里選用兩片F(xiàn)PGA,傳輸采用四路差分串行碼(兩路數(shù)據(jù)碼、一路地址碼、一路8 MHz時(shí)鐘碼),就可完成陣面天線單元對(duì)波束控制的要求。FPGA內(nèi)部程序的邏輯功能框圖如圖3所示。其中的串口核、SRAM、FIFO全是調(diào)用FPGA 內(nèi)部的資源。串口核的功能是在波束控制運(yùn)算板單機(jī)調(diào)試和雷達(dá)近場(chǎng)測(cè)試時(shí),接收來(lái)自調(diào)試計(jì)算機(jī)的控制指令。SRAM用于當(dāng)雷達(dá)工作在陣面監(jiān)測(cè)方式時(shí),存儲(chǔ)來(lái)自雷達(dá)控制計(jì)算機(jī)的控制碼;FIFO用于存儲(chǔ)運(yùn)算器計(jì)算的結(jié)果(運(yùn)算板單板調(diào)試時(shí)用)或組件驅(qū)動(dòng)板自檢結(jié)果,此結(jié)果可以通過串口返回調(diào)試計(jì)算機(jī),以此來(lái)判斷FPGA計(jì)算的中間結(jié)果或者送出的最終結(jié)果是否正確和判斷組件單元及相應(yīng)的信號(hào)通路是否良好。運(yùn)算、傳輸時(shí)鐘產(chǎn)生和運(yùn)算結(jié)果傳送、讀/寫FLASH都在運(yùn)算器中,做在同一個(gè)狀態(tài)機(jī)里。波控運(yùn)算狀態(tài)機(jī)如圖4所示。
圖4中:S1為運(yùn)算使能控制和狀態(tài)轉(zhuǎn)換條件控制及變量初始化;S2完成波束控制算法和按照格式排布計(jì)算結(jié)果;S3產(chǎn)生被傳送數(shù)據(jù)的地址和時(shí)鐘及將并行的計(jì)算結(jié)果轉(zhuǎn)為串行;S4對(duì)FLASH進(jìn)行寫操作;S5對(duì)FLASH進(jìn)行讀操作;S6對(duì)SRAM進(jìn)行寫操作;S7先對(duì)SRAM讀操作,然后按照預(yù)定格式拼位,以便跳入S3狀態(tài)將SRAM中的數(shù)據(jù)傳出。S1中狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換條件即為譯碼得到的來(lái)自雷達(dá)控制臺(tái)的控制指令。狀態(tài)機(jī)將根據(jù)不同的控制指令進(jìn)入相應(yīng)的狀態(tài)處理程序段。
其中的S2狀態(tài)機(jī)實(shí)現(xiàn)的陣面第(m,n)個(gè)組件的移相值運(yùn)算如下:
式中:m為行坐標(biāo)值;n為列坐標(biāo)值。當(dāng)雷達(dá)工作在SAR方式和GMTI的發(fā)射方式時(shí)m=-2a,-2a+1,…,-1,0,1,…,2a- 2,2a-1;n=-b/2,-b/2+1,…,-1,0,1,…,b/2-2,b/2-1。對(duì)GMTI的接收方式,m=-a/2,-a/2+1,…,-1,O,1,…,a/2-2,a/2-1;n=-b/2,-b/2+1,…,-1,O,1,…b/2-2,b/2-1。 ψ0m,n(λ)為初始相位值;α,β為雷達(dá)控制計(jì)算機(jī)根據(jù)波束指向角而發(fā)送的方位遞增量和俯仰遞增量;φ(m,n,t)為相位誤差修正量;△ψ為單位相移量,用于隨機(jī)饋相。等式右端的ψ0m,n,ψ,△ψ預(yù)存在片外的FLASH中,F(xiàn)PGA通過對(duì)FLASH的讀操作將對(duì)應(yīng)地址空間的數(shù)據(jù)存入相應(yīng)寄存器,在狀態(tài)機(jī)的控制下參與移相值的計(jì)算。
在FPGA中,此算式的實(shí)現(xiàn)采用Verilog硬件描述語(yǔ)言編程,控制變量做加法循環(huán)即可實(shí)現(xiàn)該算法。對(duì)隨機(jī)饋相的運(yùn)算,是將按單元排列方式所對(duì)應(yīng)的、預(yù)先存在FLASH中的一組隨機(jī)數(shù)δi.j(其存儲(chǔ)位數(shù)不小于4位),和波束控制系統(tǒng)計(jì)算的移相器量化相移值結(jié)尾相位△i.j做比較,如果△i.j大于δi.j,則移相器量化相移值加單位相移量△ψ后送給移相器,否則直接將移相器量化相移值送給移相器。
3.2 運(yùn)算板調(diào)試的控制程序設(shè)計(jì)
運(yùn)算板的初期調(diào)試和驗(yàn)證對(duì)于整個(gè)產(chǎn)品的實(shí)現(xiàn)至關(guān)重要,此階段直接決定了產(chǎn)品實(shí)現(xiàn)的可行性和進(jìn)度。在此選用ViSUalBasic 6.0開發(fā)設(shè)計(jì)程序,基于Windows的VB提供了一個(gè)MSCOMM 32.OCX串行通信控件,用串口電平轉(zhuǎn)換器接上兩對(duì)差分信號(hào)線,就可以實(shí)現(xiàn)與運(yùn)算板FPGA異步串行口的通信。所設(shè)計(jì)的控制程序可以模擬產(chǎn)生雷達(dá)控制臺(tái)的控制指令和定時(shí)器的定時(shí)信號(hào)、實(shí)現(xiàn)對(duì)SRAM和FLASH信息的寫入和讀出,完成對(duì)FPGA運(yùn)算結(jié)果的回送數(shù)據(jù)校驗(yàn)。
根據(jù)需要,所設(shè)計(jì)的程序分為八個(gè)模塊,分別為串口通信控制、雷達(dá)控制指令產(chǎn)生、定時(shí)信息產(chǎn)生、對(duì)FLASH的各種操作控制、補(bǔ)償數(shù)據(jù)文件的寫入/讀出操作、理論運(yùn)算結(jié)果顯示、FPGA運(yùn)算結(jié)果回送顯示、自檢方式所需要的控制等。
3.3 驅(qū)動(dòng)板的程序設(shè)計(jì)
該驅(qū)動(dòng)板程序設(shè)計(jì)的關(guān)鍵點(diǎn)和特點(diǎn)在于單片機(jī)和EPLD的程序既能夠聯(lián)機(jī)工作,又能夠獨(dú)立地控制組件,實(shí)現(xiàn)組件的單機(jī)調(diào)試功能,即裝機(jī)和測(cè)試用同一個(gè)程序。
驅(qū)動(dòng)板的單片機(jī)串口接收來(lái)外來(lái)的控制指令,判斷波束控制系統(tǒng)是處在哪種工作狀態(tài)。如果是聯(lián)機(jī)工作,則SCU接收聯(lián)機(jī)自檢指令,讀入組件地址、開關(guān)狀態(tài)、發(fā)射和接收移相碼、衰減控制碼,并將這些控制碼存在指定的寄存器內(nèi),等待通道狀態(tài)讀取指令到達(dá)后,將它們回送到運(yùn)算板,在所設(shè)計(jì)的控制界面內(nèi)可以顯示,從而得知波束控制系統(tǒng)整個(gè)子系統(tǒng)的運(yùn)行工作情況。如果是模擬子系統(tǒng)控制指令,打開與EPLD之間的通信控制開關(guān),將來(lái)自串口的控制指令,經(jīng)處理發(fā)給 EPLD。
EPLD也要判斷收到的指令來(lái)自單片機(jī)還是雷達(dá)系統(tǒng),如果是單片機(jī),則接收來(lái)自調(diào)試計(jì)算機(jī)的指令;否則,直接接收來(lái)自雷達(dá)系統(tǒng)的控制指令。單片機(jī)的程序設(shè)計(jì)主要分為四部分:程序初始化、串口接收中斷服務(wù)子程序、串口發(fā)送中斷子程序和串口回送數(shù)據(jù)子程序。后兩者子程序設(shè)計(jì)流程示意如圖5所示。其中,指令字包含的信息分別為開關(guān)狀態(tài)碼、陣面回?cái)?shù)信息、陣面回?cái)?shù)狀態(tài)、陣面自檢信息、移相值和衰減值。
這里仍然選用VB編寫調(diào)試控制程序,用來(lái)模擬產(chǎn)生來(lái)自運(yùn)算板的控制信號(hào),實(shí)現(xiàn)對(duì)驅(qū)動(dòng)板的調(diào)試控制。編寫的調(diào)試控制程序分為五個(gè)模塊:控制方式選擇、移相角度選擇、衰減值選擇、定時(shí)信息選擇、控制碼發(fā)送和發(fā)送數(shù)據(jù)校對(duì)信息顯示。
4 結(jié)論
該FPGA程序設(shè)計(jì)既可滿足天線對(duì)波束控制0.5 ms內(nèi)完成運(yùn)算和傳輸數(shù)據(jù)的時(shí)間要求,又滿足波束控制分系統(tǒng)在線自檢;根據(jù)工作頻率,進(jìn)行初相位在線補(bǔ)償;天線相位碼隨機(jī)饋相的功能需求。其調(diào)試控制程序,不僅滿足單板調(diào)試、補(bǔ)償文件寫入或者讀出操作的需要,還用于雷達(dá)天線暗室測(cè)試的控制。同樣,單片機(jī)和EPLD的程序設(shè)計(jì),滿足天線組件對(duì)波束控制系統(tǒng)裝機(jī)和測(cè)試用同一個(gè)程序的要求。調(diào)試過程中,兩者都有友好的控制界面可操作。