一種高速波控系統的設計
1 引 言
本文引用地址:http://www.104case.com/article/87847.htm相控陣是通過波控系統控制陣列天線各單元通道的相位、幅度以形成空間波束并控制其方位角和俯仰角。早期的波控系統一般采用硬件電路來實現,這種實現方法的缺點是設備量大,不靈活,很難實現波束的復雜計算,不易滿足特殊要求。后來采用單片機、DSP芯片來設計波控系統,單片機通常不計算波控碼,僅僅是根據接收到的波控碼布相,而DSP可以自己計算波控碼,但是單片機、DSP都是象流水線一樣串行的運行指令,也就是說,不能并行地對各天線單元通道進行波控碼計算和布相。
針對波控系統要求高速計算、多通道并行邏輯控制的特點,選取FPGA作為波控系統的核心處理器。目前采用大規模FPGA器件來實現波控系統的設計還很少,采用FPGA能夠大大簡化波控系統硬件設計,把以前的硬件邏輯控制電路全部集成在FPGA芯片內部,從而實現對波控羈的高速并行計算和對各單元通道的并行同步控制,本文針對這種基于FPGA波控系統設計方案的可行性進行了探討。
2 波控系統設計要求
2.1 接口設計
某電子系統組成如圖1所示。系統主控計算機和波控系統之間信息交換量很大,要求收發速度都要很快;同時天線陣元很多,接口必須有可擴展性,實際中采用了以太網(Ethernet)技術。
以太網協議是指根據IEEE 802.3規范制定的局域網協議(Local Area Network,LAN)中的CSMA/CD協議。一方面,以太網與傳統的RS 485、CAN總線等相比,以太網更加高速、通用,經過適當剪裁和優化的TCP/IP協議棧,也完全可以適應工業用途的需要。另一方面,相對于新興的USB 2.0,IEEE1394等總線,以太網技術在傳輸距離、布線成本以及控制軟件的通用性上都有明顯的優勢。
波控系統需要實時控制T/R組件以及進行狀態檢測,采用同步串行傳輸方式,時鐘20 MHz,完成一次T/R組件重新布相以及狀態檢測需要1μs。
2.2 模塊化設計
系統天線陣列有幾百個陣元,并且要求可擴展性,用一個FPGA波控板不可能實現這樣復雜的控制和運算,每一個陣元在天線陣的位置是不一樣的,但是對T/R組件、移相器的控制以及接口都是相同的。每個FPGA波控板控制一個天線子陣,而一個天線子陣由25個天線單元組成,所以考慮采用模塊化設計方法。系統上電工作,主控計算機立即將每個FPGA波控板的位置信息下發。波控板也根據自己所接受到的位置信息計算每個天線陣元的移相值。這樣的設計就實現了波控板的互換性,每一個波控板的軟件和硬件都是完全相同的,任何一塊出了問題都可以立即更換,而不需要考慮他的位置,方便維修工作。
3 波控系統設計
3.1 波控碼計算公式
相控陣天線上第(i,j)單元通道相對于參考單元第(0,0)單元通道的相位差φ(i,j):
式中:d1為相鄰天線單元在陣面水平方向的間距,d2為相鄰天線單元在陣面垂直方向的間距;(φ,θ)為天線波束指向,其中φ為方位角,天線波束與天線陣面水平方向的夾角,θ為俯仰角,天線波束與相控陣陣面的夾角;δij為第(i,j)單元通道與參考單元之間的初始相位誤差。
3.2 FPGA實現
FPGA作為波控系統的核心處理器,按照功能劃分為:波控碼計算模塊、以太網控制器模塊、相控陣單元控制模塊、溫度控制模塊、開關量控制模塊、系統狀態控制模塊。FPGA內部各功能模塊劃分如圖2所示。這些模塊都是并行工作,比如相控陣天線單元控制模塊可以對各單元同步實時控制,完全保證各單元通道相位同步切換。
波控碼計算模塊將得到的波束指向信息(方位角、俯仰角)和頻率快速的計算出相控陣各單元通道的相位值。為了獲得相控陣天線的低副瓣性能,必須嚴格控制天線各單元通道內的幅度和相位誤差。同時,T/R組件、天線單元在加工安裝過程中各單元通道并不能夠保證相位完全一致,存在相位誤差。因而,在測量各天線單元與參考天線單元之間的幅度和相位誤差的基礎上,波控碼計算模塊通過改變波控碼,對各單元通道之間的相位誤差加以修正。
以太網控制器模塊主要實現以太網接口設計,使波控系統能夠和主控計算機高速可靠的進行信息交流,主控計算機下發頻率、方位、俯仰信息,波控系統上傳實際波束方位俯仰角、T/R組件狀態、工作頻率、溫度等信息。
相控陣單元控制模塊的任務就是并行同步控制各單元通道,先將移相值和收發開關控制值組合成波控碼,然后通過自定義的I/O口將波控碼發送到相應的T/R組件,實現對T/R組件的控制,完成布相,得到需要的波束指向。
FPGA各功能模塊軟件設計均采用VHDL語言,VHDL語言用硬件數字邏輯電路來實現軟件算法,他的特點是實現整數的加減法、乘法非常便捷,但是實現除法(被除數不是2的整數次冪)和對小數的算法比較困難。按照上面公式計算波控碼,VHDL語言直接實現這樣的計算是很困難的,他不能夠直接實現三角函數運算和浮點運算。解決方法就是,在FPGA的配置芯片中存儲一個4 096×16 b的正弦表,通過查表法間接實現三角運算,浮點運算則采用定點運算來替代。用仿真軟件ModelSim XE對方位俯仰電掃描計算結果進行仿真,波控碼計算結果如圖3所示。
3.3 波控系統設計驗證
在波控碼實時計算軟件設計中,所有的加減乘除都采用定點運算,而且三角函數計算也是采用查表法實現,所以和浮點計算相比波控碼計算結果誤差加大,精度降低。選取離參考單元較遠的第(4,4)單元通道,將浮點運算和定點運算得到的波控碼值進行比較,波控碼誤差δcode:
用Matlab模擬FPGA定點運算和三角查表運算進行仿真,在仿真圖中可以清楚地看到波控碼誤差絕對值小于0.02,定點計算結果和真值誤差很小。
同時通過系統實際運行來驗證方案的可行性,將波控系統與系統聯試,FPGA在每次重新布相后將各個移相器的波控碼上發給主控計算機,將這些波控碼與主控計算機浮點運算結果相對比,發現實際情況與仿真結果相吻合,實際運算與仿真運算一致,符合精度要求和實時性要求。
4 結語
本文闡述了一種基于FPGA實現相控陣波控系統的設計方案,并且通過軟件仿真和實際運行驗證這種方案設計的可行性。這種方案設計充分發揮了FPGA芯片的高速、并行特點,可以同步并行控制天線各單元通道,保證了相控陣天線波束切換的高速性和各單元的一致性。
絕對值編碼器相關文章:絕對值編碼器原理
評論