一種基于FPGA的雷達(dá)波束控制系統(tǒng)設(shè)計(jì)
根據(jù)天線單元此分布特點(diǎn)的控制需求,這里選用兩片FPGA,傳輸采用四路差分串行碼(兩路數(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í),接收來自調(diào)試計(jì)算機(jī)的控制指令。SRAM用于當(dāng)雷達(dá)工作在陣面監(jiān)測(cè)方式時(shí),存儲(chǔ)來自雷達(dá)控制計(jì)算機(jī)的控制碼;FIFO用于存儲(chǔ)運(yùn)算器計(jì)算的結(jié)果(運(yùn)算板單板調(diào)試時(shí)用)或組件驅(qū)動(dòng)板自檢結(jié)果,此結(jié)果可以通過串口返回調(diào)試計(jì)算機(jī),以此來判斷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所示。本文引用地址:http://m.butianyuan.cn/article/163038.htm
圖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)換條件即為譯碼得到的來自雷達(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硬件描述語言編程,控制變量做加法循環(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è)程序。
評(píng)論