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