一種基于FPGA的雷達波束控制系統設計
根據天線單元此分布特點的控制需求,這里選用兩片FPGA,傳輸采用四路差分串行碼(兩路數據碼、一路地址碼、一路8 MHz時鐘碼),就可完成陣面天線單元對波束控制的要求。FPGA內部程序的邏輯功能框圖如圖3所示。其中的串口核、SRAM、FIFO全是調用FPGA內部的資源。串口核的功能是在波束控制運算板單機調試和雷達近場測試時,接收來自調試計算機的控制指令。SRAM用于當雷達工作在陣面監測方式時,存儲來自雷達控制計算機的控制碼;FIFO用于存儲運算器計算的結果(運算板單板調試時用)或組件驅動板自檢結果,此結果可以通過串口返回調試計算機,以此來判斷FPGA計算的中間結果或者送出的最終結果是否正確和判斷組件單元及相應的信號通路是否良好。運算、傳輸時鐘產生和運算結果傳送、讀/寫FLASH都在運算器中,做在同一個狀態機里。波控運算狀態機如圖4所示。本文引用地址:http://www.104case.com/article/163038.htm
圖4中:S1為運算使能控制和狀態轉換條件控制及變量初始化;S2完成波束控制算法和按照格式排布計算結果;S3產生被傳送數據的地址和時鐘及將并行的計算結果轉為串行;S4對FLASH進行寫操作;S5對FLASH進行讀操作;S6對SRAM進行寫操作;S7先對SRAM讀操作,然后按照預定格式拼位,以便跳入S3狀態將SRAM中的數據傳出。S1中狀態機的狀態轉換條件即為譯碼得到的來自雷達控制臺的控制指令。狀態機將根據不同的控制指令進入相應的狀態處理程序段。
其中的S2狀態機實現的陣面第(m,n)個組件的移相值運算如下:
式中: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,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(λ)為初始相位值;α,β為雷達控制計算機根據波束指向角而發送的方位遞增量和俯仰遞增量;φ(m,n,t)為相位誤差修正量;△ψ為單位相移量,用于隨機饋相。等式右端的ψ0m,n,ψ,△ψ預存在片外的FLASH中,FPGA通過對FLASH的讀操作將對應地址空間的數據存入相應寄存器,在狀態機的控制下參與移相值的計算。
在FPGA中,此算式的實現采用Verilog硬件描述語言編程,控制變量做加法循環即可實現該算法。對隨機饋相的運算,是將按單元排列方式所對應的、預先存在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 驅動板的程序設計
該驅動板程序設計的關鍵點和特點在于單片機和EPLD的程序既能夠聯機工作,又能夠獨立地控制組件,實現組件的單機調試功能,即裝機和測試用同一個程序。
評論