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