摘 要: 為了達到波束控制高效、低成本和小型化的目標。在此介紹一種基于FPGA的相控陣雷達波束控制系統硬件平臺及其軟件設計。系統采用FPGA作為波束控制算法實現的核心,選用單片機實現陣面組件驅動部分的控制調試,在此硬件平臺上,開發一種用硬件描述語言和單片機匯編語言與VB語言設計相結合實現的波束控制系統。設計的系統設備量少,控制和調試功能完善,適宜于推廣到集中式運算、分布式驅動的波束控制體系。
關鍵詞:雷達波束控制; FPGA; 單片機; 陣面阻件驅動
中圖分類號:TP3681文獻標識碼:A
文章編號:1004-373X(2010)08-0186-03
Software Design of Beam Control System of Phased Array Radar Based on FPGA
CHANG Hui-ling,MA Li,ZHANG Jian
(Nanjing Research Institute of Electronics Technology, Nanjing 210013, China)
Abstract: The software design and hardware platform of the beam control system of a phased array radar based on FPGA is presented. In this system,FPGA is adopted to realize the core algorithm and single chip microcomputer (SCM) is used as the control and adjustment device of array module driving assembly. A hardware descriptive language and SCM assemble language are combined with VisualBasic language to realize the beam control system on the hardware platform.The rusposes of high efficiency,lower cost and miniaturization were achieved by the design. A few fixtures perfect control and debugging function of the system, make it suitable for introducting it into other beam control systems that have the structures of focal calculation and distributed drivers.
Key words:beam control of radar; FPGA; SCM; array module driving
0 引 言
波束控制系統的基本功能是給天線陣列中各個移相器提供所需要的控制信號。除此基本功能外,現代雷達還要求波束控制系統高速高效、低成本、小型化,并具有波束控制分系統的自檢;根據工作頻率,進行初相位在線補償;天線相位碼隨機饋相等功能。同時,在設計生產過程中,為了配合其他系統的檢測,還需要在雷達的不同工作模式下完善調試功能。另外,在雷達的長期使用過程中,要求單個組件維修時,波束控制組件驅動板能在脫機狀態下正常工作[1-3]。
這里展開介紹一種有源相控陣雷達波束控制系統的硬件平臺及軟件設計。
1 系統原理
為降低電路成本和增加系統可靠性,該系統采用設備量少、維修方便、可靠性高的集中式運算、分布式驅動體系。也就是,波束控制算法用一塊電路板(稱之為運算板)實現。
對工作方式,運算板接收來自雷達控制臺的控制指令(包括主天線的方位和俯仰增量代碼、工作頻率、工作模式代碼等),進行波束控相位碼的計算、傳輸、分配與格式重排。運算板把處理后的串行波束控制碼通過驅動器發往陣面的波束控制組件驅動板。在波束控制組件驅動板內再進行譯碼、驅動,然后送給組件單元作為控制碼,從而實現波束控制系統的功能。波束控制系統的組成如圖1所示。
圖1 波束控制系統組成框圖
2 系統硬件平臺
該相控陣雷達系統要求波束控制系統準確可靠地控制512個天線單元,波束轉換時間不大于1 ms。在此分析運算板需要哪些關鍵器件。運算板要在500 μs內完成從雷達控制臺接收指令、波束控制算法及運算結果傳輸的功能,必須選用FPGA器件。參與運算的補償數據是運算的主要對象之一,要能夠實時參與波束控制算法的運算過程,也可以被雷達控制臺在線更新,這就需要運算板具有存儲器。系統采用自定義總線接收雷達控制指令和上報陣面返回的信息。
關于驅動板的硬件設計,不僅要實現驅動、譯碼、系統自檢等功能,還要考慮組件在單獨調試時驅動板的控制功能是否可以方便實現。由于設備數量較大,在滿足功能的基礎上,要盡可能降低設備成本。基于這些需求,選用一片單片機和一片EPLD。圖1中虛線左側部分所示運算板硬件組成。其中,雷達控制臺發送的是波束控制指令、接收的是陣面自檢和檢測信息;傳輸模塊產生和發送串行波束控制碼、傳送所需要的時鐘、定時信號。
圖1中虛線右側部分所示組件驅動板的硬件組成。其中接口電路接收波束控制運算板發來的串行波束控制碼;組件單元接收的是TTL電平的控制碼(包括發射移相碼、接收移相碼、衰減碼、T/R開關控制碼)。EPLD完成譯碼和控制分發代碼,SCU完成聯機自檢和脫機控制調試的功能。控制和調試方式比其他[4-6]提供的系統設計方法,更加多樣化和靈活。
3 軟件設計
3.1 運算板FPGA程序設計
波控運算板基本用途就是為滿足陣面天線單元控制的需要。在此,整個天線陣面等分成四個子陣面。每個子陣面包括a×b個天線單元,如圖2所示。
圖2 陣面天線分布圖
天線分時實現全孔徑SAR模式和子孔徑GMTI模式兩種工作模式。雷達對空探測或者在SAR工作方式時,利用天線全陣面,形成一個波束進行發射和接收,陣面的物理中心就是陣面天線單元的坐標原點;GMTI工作方式時,全陣面形成一個發射波束,而接收時則在方位上等分四個子陣面,形成四個接收波束,此時形成四個坐標系:每個子陣面的物理中心就是每個陣面天線單元的坐標原點。
根據天線單元此分布特點的控制需求,這里選用兩片FPGA,傳輸采用四路差分串行碼(兩路數據碼、一路地址碼、一路8 MHz時鐘碼),就可完成陣面天線單元對波束控制的要求。FPGA內部程序的邏輯功能框圖如圖3所示。其中的串口核、SRAM、FIFO全是調用FPGA內部的資源。串口核的功能是在波束控制運算板單機調試和雷達近場測試時,接收來自調試計算機的控制指令。SRAM用于當雷達工作在陣面監測方式時,存儲來自雷達控制計算機的控制碼;FIFO用于存儲運算器計算的結果(運算板單板調試時用)或組件驅動板自檢結果,此結果可以通過串口返回調試計算機,以此來判斷FPGA計算的中間結果或者送出的最終結果是否正確和判斷組件單元及相應的信號通路是否良好。運算、傳輸時鐘產生和運算結果傳送、讀/寫FLASH都在運算器中,做在同一個狀態機里。波控運算狀態機如圖4所示。
圖3 運算板FPGA內部邏輯框圖
圖4 波控運算狀態機
圖4中:S1為運算使能控制和狀態轉換條件控制及變量初始化;S2完成波束控制算法和按照格式排布計算結果;S3產生被傳送數據的地址和時鐘及將并行的計算結果轉為串行;S4對FLASH進行寫操作;S5對FLASH進行讀操作;S6對SRAM進行寫操作;S7先對SRAM讀操作,然后按照預定格式拼位,以便跳入S3狀態將SRAM中的數據傳出。S1中狀態機的狀態轉換條件即為譯碼得到的來自雷達控制臺的控制指令。狀態機將根據不同的控制指令進入相應的狀態處理程序段。
其中的S2狀態機實現的陣面第(m,n)個組件的移相值運算[1]如下:
ψ(λ,m,n)=(2m+1)α(λ,θ,φ)+(2n+1)β(λ,θ,φ)+
ψ0m,n(λ)+ψ(m,n,t)+Δψ
式中:m為行坐標值;n為列坐標值。當雷達工作在SAR方式和GMTI的發射方式時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,0,1,…,a/2-2,a/2-1;n=-b/2,-b/2+1,…,-1,0,1,…b/2-2,b/2-1。ψ0m,n (λ)為初始相位值;α,β為雷達控制計算機根據波束指向角而發送的方位遞增量和俯仰遞增量;φ(m,n,t)為相位誤差修正量;Δψ為單位相移量,用于隨機饋相。等式右端的ψ0m,n,ψ,Δψ預存在片外的FLASH中,FPGA通過對FLASH的讀操作將對應地址空間的數據存入相應寄存器,在狀態機的控制下參與移相值的計算。
在FPGA中,此算式的實現采用Verilog硬件描述語言[7]編程,控制變量做加法循環即可實現該算法。對隨機饋相的運算[8],是將按單元排列方式所對應的、預先存在FLASH中的一組隨機數δi,j(其存儲位數不小于4位),和波束控制系統計算的移相器量化相移值結尾相位Δi,j做比較,如果Δi,j大于δi,j,則移相器量化相移值加單位相移量Δψ后送給移相器,否則直接將移相器量化相移值送給移相器。
3.2 運算板調試的控制程序設計
運算板的初期調試和驗證對于整個產品的實現至關重要,此階段直接決定了產品實現的可行性和進度。在此選用VisualBasic 6.0開發設計程序,基于Windows的VB提供了一個MSCOMM 32.OCX串行通信控件,用串口電平轉換器接上兩對差分信號線,就可以實現與運算板FPGA異步串行口的通信。所設計的控制程序可以模擬產生雷達控制臺的控制指令和定時器的定時信號、實現對SRAM和FLASH信息的寫入和讀出,完成對FPGA運算結果的回送數據校驗。
根據需要,所設計的程序分為八個模塊,分別為串口通信控制、雷達控制指令產生、定時信息產生、對FLASH的各種操作控制、補償數據文件的寫入/讀出操作、理論運算結果顯示、FPGA運算結果回送顯示、自檢方式所需要的控制等。
3.3 驅動板的程序設計
該驅動板程序設計的關鍵點和特點在于單片機[9]和EPLD的程序既能夠聯機工作,又能夠獨立地控制組件,實現組件的單機調試功能,即裝機和測試用同一個程序。
驅動板的單片機串口接收來外來的控制指令,判斷波束控制系統是處在哪種工作狀態。如果是聯機工作,則SCU接收聯機自檢指令,讀入組件地址、開關狀態、發射和接收移相碼、衰減控制碼,并將這些控制碼存在指定的寄存器內,等待通道狀態讀取指令到達后,將它們回送到運算板,在所設計的控制界面內可以顯示,從而得知波束控制系統整個子系統的運行工作情況。如果是模擬子系統控制指令,打開與EPLD之間的通信控制開關,將來自串口的控制指令,經處理發給EPLD。
EPLD也要判斷收到的指令來自單片機還是雷達系統,如果是單片機,則接收來自調試計算機的指令;否則,直接接收來自雷達系統的控制指令。單片機的程序設計主要分為四部分:程序初始化、串口接收中斷服務子程序、串口發送中斷子程序和串口回送數據子程序。后兩者子程序設計流程示意如圖5所示。其中,指令字包含的信息分別為開關狀態碼、陣面回數信息、陣面回數狀態、陣面自檢信息、移相值和衰減值。
圖5 子程序設計流程圖
這里仍然選用VB編寫調試控制程序,用來模擬產生來自運算板的控制信號,實現對驅動板的調試控制。編寫的調試控制程序分為五個模塊:控制方式選擇、移相角度選擇、衰減值選擇、定時信息選擇、控制碼發送和發送數據校對信息顯示。
4 結 論
該FPGA程序設計既可滿足天線對波束控制0.5 ms內完成運算和傳輸數據的時間要求,又滿足波束控制分系統在線自檢;根據工作頻率,進行初相位在線補償;天線相位碼隨機饋相的功能需求。其調試控制程序,不僅滿足單板調試、補償文件寫入或者讀出操作的需要,還用于雷達天線暗室測試的控制。同樣,單片機和EPLD的程序設計,滿足天線組件對波束控制系統裝機和測試用同一個程序的要求。調試過程中,兩者都有友好的控制界面可操作。
5 結 語
該波束控制軟件設計系統是實用型的系統,所設計的硬件及相應的程序已得到成功應用,并已推廣到其他的三個產品。雷達天線系統和總體設計師給予了很好的評價。如將該程序設計稍加改動(其軟件模塊的增減工作量不會太大),可以很容易地移植到其他類似結構體系的雷達波控分系統軟件設計中,應用前景將非常廣泛。
參考文獻
[1]張光義. 相控陣雷達系統\\. 北京:國防工業出版社, 1994.
[2]鄭清. 相控陣雷達波控系統技術研究\\. 現代雷達, 2006, 28(4): 53-55.
[3]林桂道. 現代相控陣系統的波束控制設計分析\\. 艦船科學技術, 2007, 29(3): 74-78.
[4]田可, 楊向華. 一種高速波控系統的設計\\. 現代電子技術, 2008, 31(9): 105-107.
[5]田可, 周繼. 基于FPGA的波控系統設計與實現\\. 應用技術, 2008, 35(3): 1-3.
[6]彭為, 陶軍, 尤正建. 基于FPGA的相控陣雷達波控系統設計\\. 現代雷達, 2007, 29(9): 45-47.
[7]\\ CILETTI D. Advanced digital design with the Verilog HDL\\. 北京:電子工業出版社, 2005.
[8]張光義. 相控陣雷達技術\\. 北京:電子工業出版社, 2006.
[9]王幸之. AT89系列單片機原理與接口技術\\. 北京:北京航空航天大學出版社, 2004.