范越 周暉





關鍵詞:方位角碼;增量碼;FPGA;RS422
0引言
雷達工作時,顯控系統需要從伺服系統接收天線的方位角碼。天線使用雙通道旋轉變壓器作為軸角傳感器,經粗精通道解碼組合后生成16位的天線方位角,提取出高12位作為給顯控系統的方位角碼。如果用并行接口來傳輸,且采用差分方式抑制共模干擾,則需要24根線,線纜數量較多,不利于安裝調試且可靠性差。如果采用其他接口協議,在某些硬件條件不允許的情況下無法實現,而且艦船航向角變化有時會引起方位角跳變,不能直接使用。因此,需要在只有普通差分接口的條件下,將并行方位角碼轉換成串行的脈沖信號。
本文提出一種在FPGA中將并行12位(或更高)的方位角碼信號經過補脈沖轉換成串行的4096(或更多)個脈沖的增量碼信號,然后使用RS422接口發送,簡化線路,傳輸方便可靠。
1天線舷角和航向角產生原理
伺服系統使用通用型高速、高精度軸角轉換技術,針對高精度雙通道旋轉變壓器和平臺羅經航向角信號,運用小型化雙通道軸角轉換模塊,利用大規模可編程邏輯器件的高速處理能力,運用硬件描述語言,通過軟件現場調節的方法適應傳感器的任意速比的組合糾錯處理。其轉換速率快、實時性好、精度高,能夠適應各種雷達或電子對抗設備需要;電路的集成度高,便于嵌入式崗十;可靠性高,適應各種嚴苛的環境要求。天線舷角和航向角產生原理如圖1所示。
旋轉變壓器的粗精通道比為1:32,RDC轉換器輸出數據的分辨率為14位。由于粗精通道比為1:32,粗通道的第8、第7位數據R8R7正好對應精通道的最高兩位數據F13F12,當R8R7為“11”時,F13F12為“00”時,將粗通道的高5位數據加1;當R8R7為“00”時,F13F12為“11”時,將粗通道的高5位數據減1;然后將粗通道的高5位數據和精通道的高11位組合得到16位天線舷角碼。
航向角信號的粗精通道比為1:36,SDC轉換器輸出數據的分辨率為14位。由于粗精通道比36不是2的n次方,所以只能通過將粗通道數據左移5位(乘以32)加上粗通道數據先左移2位(乘以4)得到與精通道量綱一致的數據。設這個數據為da-ta_temp[18-0]。判斷data temp的第13、第12位數據data_tempi312和精通道的最高兩位數據F13F12,當data_tempi312為“11”時,F13F12為“00”時,將data_temp的高5位數據加1;當data_templ312為“00”時,F13F12為“11”時,將data_temp的高5位數據減1;然后將dat_temp的高5位數據和精通道的高11位組合得到16位天線舷角碼。
通過FPGA控制雙通道RDC轉換器,將旋轉變壓器的粗精通道信號轉換后讀取,經過粗精通道組合糾錯處理后得到16位的天線舷角碼。同時FPGA控制雙通道SDC轉換器,將平臺羅經的航向角粗精通道信號轉換后讀取,經過粗精通道組合糾錯處理后得到16位的航向角碼。
2方位角碼跳變原理
天線的方位角等于天線的舷角加上船的航向角,當船在調舷時,如果航向角的變化方向與天線旋轉方向一致時,方位角就可能出現跳變的現象,因此無法通過方位角直接產生增量脈沖,需要在跳變的時候補脈沖確保天線轉一圈4096個脈沖不丟失。跳變現象如圖2所示。
天線的方位角合成是在時鐘CLK的上升沿進行的,當第1個CLK的上升沿到來時,天線舷角為0,航向角為2,方位角即2(0+2);當第2個CLK的上升沿到來時,天線舷角為0,航向角變為3,方位角即3(0+3),未發生跳變;當第3個CLK的上升沿到來時,天線舷角變為1,航向角為3,方位角即4(1+3),未發生跳變;當第4個CLK的上升沿到來時,方位角保持4不變;當第5個CLK的上升沿到來時,天線舷角和航向角同時發生變化,天線舷角從1變成2,航向角從3變成4,方位角直接從4跳到6。此時如果將方位角碼直接給顯控系統使用則會產生問題。因此需要判斷是否跳變并補碼產生增量碼。
3增量碼生成原理
增量碼脈沖生成的原理如圖3所示。
原始的方位角碼有16位,根據顯控系統的需求,取原始方位角碼的高12位使用來產生增量碼。本系統中使用的是10 MHz的時鐘,12位的方位角碼FW經過1個時鐘周期的延時得到FWT,將這2個方位角碼作差比較得出天線方位角度的變化量,如果差值為0,不產生脈沖;如果為1,產生1個脈沖;如果為2,則說明方位角發生了跳變,產生2個脈沖;如果為3,則產生3個脈沖。考慮到船的調舷速度,不用考慮跳變3個脈沖以上的情況。
4 FPGA實現
伺服系統以大規模可編程邏輯芯片FPGA作為系統的信號處理、I/O和總線管理核心。使用ALTERA公司的Cyclone系列芯片EPlC6Q24017,本芯片包含5980個邏輯單元,片內存儲器92 160 bit,2個鎖相環。使用VHDL語言進行編程。增量碼生成模塊內部如圖4所示。
延時模塊是將方位角碼延時1個時鐘周期輸出,其中CLK為10 MHz時鐘,fw為12位的原始方位角碼,輸出fwt。
比較模塊是將當前方位角碼fw和前1個時鐘周期的方位角碼fwt作差比較,如果發生變化,變化標志位fwbi置1,將變化差值fw-fwt賦給n輸出。否則變化標志位fwbi置0,n輸出保持不變。
在FPGA中經過延時模塊、比較、脈沖生成、增量碼合成后產生增量碼,集成為如圖5所示的“增量碼生成”模塊,將得到的增量碼經過脈寬調整模塊調整為所需要的脈沖寬度(10μs),最后發送出去。
5硬件電路原理
使用RS422接口發送增量碼信號的電路原理圖如圖6所示。
FPGA產生增量碼后,經過10口輸出,通過RS422發送芯片AM26LV31轉換為差分信號發送給顯控系統,經過差分接收芯片AM26LV32接收使用。
6結束語
本文介紹了使用高速、高精度軸角轉換技術針對高精度雙通道旋轉變壓器和平臺羅經航向角信號的組合糾錯處理方法,得到16位方位角碼后,分析了其產生跳變的原理,并最終提出了一種在FPGA中將并行12位的方位角碼信號經過補脈沖轉換成串行的4096個脈沖的增量碼信號的方法,大大精簡了傳輸線纜數量,提高可靠性。該方法已在實際系統中應用,完全符合系統工作要求,運行良好,證明了方法的有效性。