朱保安 何東越 勞丹滌 徐成前 張裕昕
摘要:在現代戰(zhàn)爭中,由精確制導雷達組成的防空武器系統(tǒng)發(fā)揮著至關重要的作用。近年來,我國研制的新型雷達裝備日益復雜、先進。由于雷達系統(tǒng)的復雜性,其中各個系統(tǒng)之間通信的穩(wěn)定性、準確性、實時性顯得格外重要。本文針對某跟蹤雷達信號處理與其他各個分系統(tǒng)之間的通信需求,提出了一種基于FPGA的多源數據通信接口設備的設計與實現,基于Quartus 15.1軟件環(huán)境,采用Verilog HDL語言進行開發(fā)。通過實際驗證測試,該通信接口模塊能夠準確、實時地完成數據傳輸。
關鍵詞:雷達;通信;接口模塊;Quartus;FPGA
中圖分類號 TN919.3? ?文獻標識碼 A
文章編號:1009-3044(2024)08-0110-04
開放科學(資源服務)標識碼(OSID)
0 引言
隨著科技的發(fā)展,世界各國的武器裝備也日益復雜。特別是作為“千里眼”的雷達,在整個武器系統(tǒng)中的地位不可言喻。工作時,其各個系統(tǒng)間的通信是否實時準確,顯得格外重要。雷達作為一個復雜的系統(tǒng),設備接口種類繁多,通信協(xié)議多樣。接口多元化的通信技術占有越來越高的戰(zhàn)略意義,也同樣是整個雷達系統(tǒng)中的技術難點。針對現在通信接口繁雜的異構網絡,設計出能夠實現多源信息匯聚融合的系統(tǒng)顯得十分重要,使得在只增加終端設備,少量或不增加接口轉換設備的情況下依然能夠實現數據通信的目的,可以極大地簡化異構網絡的復雜關系,提高通信平臺的可靠性和運行效率。
隨著數字化、信息化以及計算機技術的發(fā)展,數字集成電路的應用越來越廣泛。FPGA 即復雜組合邏輯和時序邏輯的現場可編程邏輯門陣列具有可反復編程的特點,適合運用于多源通信接口的設計。
本文根據某跟蹤雷達的實際通信需求,設計出基于FPGA 的雷達信號處理與其他分系統(tǒng)之間可以進行數據交換并且實現系統(tǒng)可多次編程修改,便于增加、修改或剪切各類接口和協(xié)議的通信接口[1]。
1 系統(tǒng)總體設計
1.1 總體設計
通信接口模塊是專為實現某跟蹤制導雷達的接口擴展而研制開發(fā)的,最終固化在主控接口插件上的CYCLONE IV所屬EPCS128中。通信接口模塊擴展串口、并口、CAN總線和PCI總線接口。它通過PCI總線或者PCIe總線和資源調度軟件通信,擴展串口和數據處理進行數據交換,擴展串口和伺服系統(tǒng)進行數據交換,擴展并口和時序控制進行數據交換,擴展CAN總線接口和接收頻綜、波控機和天線電源進行數據交換,如圖1所示。
1.2 功能設計
接口通信模塊通過PCI總線接口將數據處理計算機的雷達控制命令通過CAN總線接口和RS422接口發(fā)送至雷達各分系統(tǒng),并接收各分系統(tǒng)通過CAN總線接口和RS422接口發(fā)送的回告信息,進行數據轉換后通過PCI總線發(fā)送至板內的數據處理計算機。并能夠將雷達控制命令和數據通過驅動選擇電路(CPLD1~3) 傳送給處理組合內其他插件;通過驅動選擇電路(CPLD1~3) 接收信號處理插件數據,并通過PCI總線發(fā)送至板內的數據處理計算機[2]。
2 模塊設計與實現
2.1 軟件設計
通信接口軟件包括時鐘管理模塊、PCI總線模塊、數據處理報文收發(fā)模塊、伺服控制報文收發(fā)模塊、CAN、報文收發(fā)模塊和時序報文收發(fā)模塊。軟件中各模塊的信息流和控制流圖如2所示。
2.1.1 時鐘管理模塊
外部分別輸入40MHz和33MHz的時鐘,時鐘管理模塊通過2個PLL將時鐘進行分頻,一個PLL將40MHz分頻成16MHz和8MHz時鐘。另外一個PLL將33MHz分頻成33MHz和66MHz。8M作為并行總線數據時鐘。33MHz和66MHz 是提供給PCI模塊。16MHz是主時鐘,它經過全局網絡進入所有功能模塊。時鐘管理模塊主要負責產生標準時鐘,全局時鐘網絡控制器負責設計16MHz的時鐘到達所有功能模塊的路徑相同,從而使時鐘到達各個模塊的延時一致。
具體時鐘產生如圖3所示。
2.1.2 PCI總線模塊
該模塊實現PCI總線的部分功能,包含PCI配置空間寄存器的初始PCI總線IO方式的數據傳輸和PCI中斷觸發(fā)功能。主要用作資源調度與數據處理、時序控制、伺服控制和記錄回放進行數據交換。其中與數據處理的報文包含人工干預命令、跟蹤目標參數報文、集能參數報文。與時序控制主要是收發(fā)調度報文和命令報文。與伺服控制的命令報文交換[3]。
模塊結構圖如圖4所示。
中斷產生單元主要監(jiān)測與PCI模塊連接的各個分系統(tǒng)。當某個分系統(tǒng)需要進行數據寫操作時,會將中斷信號置高電平。此時,本單元會將對應的中斷狀態(tài)寄存器置位,并產生中斷。隨后的IO方式數據讀寫單元會根據對應的狀態(tài)寄存器內容判斷哪個分系統(tǒng)發(fā)起了數據寫操作。
PCI初始化配置單元存儲了所有PCI從設備的初始化信息,包括廠商代碼、設備ID、設備類型、版本號以及中斷號等。在系統(tǒng)上電后,它負責向PCI主機端提供本目標機的初始化信息,并向系統(tǒng)申請內存空間和中斷號,然后將這些數據傳送給數據讀寫單元。
IO方式數據讀寫單元主要利用PCI總線協(xié)議的IO讀寫方式完成數據的傳輸。當本單元監(jiān)測到分系統(tǒng)的寫數據請求后,隨后讀取狀態(tài)寄存器的數據來獲取模塊信息,并產生PCI總線中斷到資源調度。資源調度根據該寄存器信息讀取對應設備的數據。本單元收到數據讀取命令后會將對應模塊的讀請求信號置高電平,然后立即將對應的32位數據準備到其輸出總線上。
2.1.3 數據處理報文收發(fā)模塊
數據處理報文收發(fā)單元的結構如圖5所示。
RM報文接收單元負責接收從資源調度發(fā)送的報文數據。當本單元監(jiān)測到DP_wrreq信號的高電平時,立即讀取dpdata_pci上的數據,并存儲到寄存器中。當寄存器的報文長度達到26個字節(jié)時,則進入數據發(fā)送單元,將數據發(fā)送到數據處理軟件。
DP報文接收單元負責接收從數據處理發(fā)送的報文數據。當本單元監(jiān)測到DP2rm_wrreq信號的高電平時,立即讀取dp2rm_data上的數據,并存儲到寄存器中。當寄存器的報文長度達到44個字節(jié)時,則進入數據發(fā)送單元,將數據發(fā)送到資源調度軟件。
2.1.4 伺服控制報文收發(fā)模塊
本模塊主要是接收資源調度軟件發(fā)送的人工干預報文,并將報文通過串口轉發(fā)到伺服控制軟件。同時,它也接收伺服控制軟件發(fā)送的人工干預回告報文,并通過PCI模塊將報文轉發(fā)給資源調度軟件。
SV報文接收單元負責接收從伺服控制發(fā)送的報文數據。當串口模塊接收到總線上的信號時,開始讀取數據,并存儲到寄存器中。當寄存器的報文長度達到14個字節(jié)時,則進入數據轉換單元,將數據發(fā)送到資源調度軟件。
RM報文接收單元負責接收從資源調度發(fā)送的報文數據,當本單元監(jiān)測到SV_wrreq信號的高電平,立即讀取SVdata_PCI上的數據,并存儲到寄存器中,當寄存器的報文長度達到11個字節(jié)時,則進入數據發(fā)送單元,通過串口發(fā)送數據到伺服控制軟件[4]。
2.1.5 CAN報文收發(fā)模塊
本模塊主要是接收資源調度軟件發(fā)送的調度報文、人工干預報文,并將報文轉發(fā)到CAN總線上。然后,各個節(jié)點根據CAN節(jié)點ID來判斷當前總線上的報文是否屬于本節(jié)點,解析讀取總線上的報文。同時,它也接收CAN總線上各個節(jié)點發(fā)送的人工干預回告報文,并通過PCI模塊將報文轉發(fā)給資源調度軟件。
CAN報文收發(fā)單元的結構如圖7所示。
CAN報文接收單元負責接收從CAN總線上發(fā)送的報文數據。當CAN模塊接收到總線上的信號時,開始讀取數據,并存儲到寄存器中。當寄存器的報文長度達到10個字節(jié)時,則進入數據轉換單元,將數據發(fā)送到資源調度軟件。
RM報文接收單元負責接收從資源調度發(fā)送的報文數據,當本單元監(jiān)測到CAN_wrreq信號的高電平時,立即讀取CANdata_PCI上的數據,并存儲到寄存器中。當寄存器的報文長度達到1*(M+1)個字節(jié)時(M為總波位數量),則進入數據發(fā)送單元,通過CAN總線發(fā)送數據到接收機、波控機、天線電源或者水冷設備 [5]。
2.1.6 時序控制報文收發(fā)模塊
本模塊主要是接收資源調度軟件發(fā)送的調度報文、人工干預報文和幅相校正系數報文,并通過并口轉發(fā)到時序控制軟件。同時,它也接收時序控制軟件發(fā)送的人工干預回告報文、幅相校正系數報文和干擾偵查報文,并通過PCI模塊將報文轉發(fā)給資源調度軟件。
時序控制報文收發(fā)單元的結構如圖8所示。
RM報文接收單元負責接收從資源調度發(fā)送的報文數據。當本單元監(jiān)測到DP_wrreq信號的高電平時,立即讀取dpdata_pci上的數據,并存儲到寄存器中。根據報文的類型確定報文長度。當寄存器的報文長度達到報文長度后,則進入數據發(fā)送單元,將數據發(fā)送到時序控制軟件。
TIME報文接收單元負責接收從時序控制發(fā)送的報文數據。當本單元監(jiān)測到DSP2rm_wrreq信號的高電平時,立即讀取dsp2rm_data上的數據,并存儲到寄存器中。根據報文的類型確定報文長度。當寄存器的報文長度達到報文長度后,則進入數據發(fā)送單元,將數據發(fā)送到資源調度軟件。
2.2 硬件實現
通信接口模塊位于某跟蹤制導雷達處理組合數據處理插件通用主控制板上,軟件固化在時序控制插件上的CYCLONE IV所屬EPCS128中。相關的硬件環(huán)境如圖9所示[6]。
3 結束語
本文根據某跟蹤雷達的實際通信需求,設計出基于FPGA 的雷達信號處理與其他分系統(tǒng)之間的通信接口。該模塊采用成熟的RS422通信、PCI通信及CAN通信技術。軟件設計結構簡單,程序層次結構分明,各分程序之間、模塊之間和程序單元之間的依賴關系減低到最低限度,并且程序自身具有自診斷能力。
經實際驗證,該模塊數據傳輸準確穩(wěn)定,在整個雷達系統(tǒng)通信過程中起到了非常重要的作用。
參考文獻:
[1] 宋奮韜,王夢瑩,付志遠.FPGA 發(fā)展概論[J].機械與電子,2012(23):145-146.
[2] 曹輝,劉波,姜秀杰.基于USB與FPGA的多路總線通信接口的設計與實現[J].導彈與航天運載技術,2009(4):18-22.
[3] 斗海峰,黃今慧.基于FPGA 的多源通信接口的設計與實現器件與設計[J].電視技術,2018(12):45-47.
[4] 冒劼.FPGA器件USB接口擴展方法[J].桂林電子科技大學學報,2008,28(1):14-17.
[5] 郝磊.基于Agilent系列芯片的紅外通訊接口電路設計[J].國外電子元器件,2008(1):29-32.
[6] 楊海鋼.FGPA器件設計技術發(fā)展綜述[J].電子與信息學報,2010(3):714-727.
【通聯(lián)編輯:梁書】