,
(南京電子技術研究所,南京 210039)
雷達接收機是雷達系統的重要組成部分,主要用于回波信號的放大。雷達接收機調試測試時需要各種外部支撐信號,如多路定時時序、串行總線控制、射頻輸入、輸出、供電等,接收機控制系統提供定時信號及總線信號用于狀態的控制及轉換,滿足接收機的工作需求。目前,雷達系統大都采用超外差雷達接收機[1],不同種類接收機工作原理基本相同,但在各型接收機中定時信號和工作模式編碼有所不同,即使部分接口在傳輸時采用相同的數據格式,數據傳輸速率也固定不變,但接口協議[2]不同,每個接收機的設計要求不一致,導致不同的接收機只能采用不同的控制系統實現控制。
本文為解決采用不同控制接口的接收機的控制兼容性問題,構建了通用型的接收機控制系統,依據不同的被測接收機的選擇,通過匹配專用的適配電纜、加載相應控制程序的方式,滿足不同接收機工作時支撐信號的需求,實現了對不同種類接收機的兼容,具有良好的通用性。
雷達接收機控制系統主要由觸摸顯示屏、FPGA芯片、接口驅動電路、USB接口芯片、外圍配置電路、適配電纜及Mini-PC組成。其中FPGA為核心功能器件,內部包括USB控制模塊、時序控制模塊、串行總線模塊和UART(通用異步收發傳輸器)模塊。系統框圖如圖1所示。

圖1 測試系統組成框圖
通過觸摸顯示屏控制由Mini-PC機發送控制指令,包含狀態轉換、總線數據、重頻周期、延時時間等參數,通過USB芯片(CY7C68103)傳送至FPGA芯片中USB控制模塊,包含控制參數的USB數據包被解析后依據主控模塊協議轉換成相應的控制字及配置參數,分別控制各個功能模塊。串行總線模塊和UART模塊將接收到的數據按協議要求進行傳輸;時序控制模塊接收到時序參數后,可產生最多8路的時序控制信號,其中波形起始位置、脈寬、周期可在一定范圍內調整。
接收機控制系統的主要硬件設計是主控模塊和適配電纜的設計。
主控模塊是該系統的核心部分,主要用于與上位機通訊并通過各類總線提供被測接收機所需要的控制模式、工作時序,完成與被測單元的互交工作。根據被測接收機的控制需求,總結出主控模塊的設計要求:
1)與上位機具備通訊功能;
2)時序波形可產生8路,重頻在一定范圍內可配置,各路時序關系可配置,否則無法滿足不同工作模式下要求的各種時序;
3)數據接口協議可定制,以滿足多種接口要求。
基于上述設計要求,以及設備的通用性,主控模塊設計為USB通用接口形式。總線接口芯片采用Cypress公司推出的CY768013芯片,通過USB 2.0接口數據傳輸速率高達480 Mb/s,支持熱插拔,實現主控模塊與PC之間的數據交換。邏輯功能、數據處理功能和接口功能通過Altera公司的Cyclone IV系列FPGA芯片實現[3]。
2.1.1 FPGA硬件設計
FPGA硬件系統采用Altera公司的Cyclone IV系列FPGA芯片來實現,其具有功耗低、性能高的特點,可配置32位的NIOSⅡ系統,通過Avalon總線結構與其他功能模塊進行連接。采用SOPC(可編程片上系統)技術構建了NIOSⅡ系統,實現各模塊的并行工作,并使用IP軟核實現UART功能;應用Verilog HDL硬件語言設計了串行總線模塊、時序控制模塊及USB控制模塊[4-6]。

圖2 FPGA硬件系統框圖
2.1.2 串行總線模塊
系統控制命令經過轉換后形成控制碼字,位寬為18至30 bit,經過并串轉換模塊,轉換成同步串行數據,輸入被測接收機。并串轉換模塊結構圖如圖3所示,由位移寄存器、定時電路、延時電路組成。本設計中,采用定時轉換的方式,由定時電路產生轉換速率,在每個固定延時點上將位移寄存器中數據輸出(DATA),并在半個延時周期后將同步信號(CP)送出,然后進行計數器的計數,在完成控制數據轉換后,提供命令更新信號(UPDATA)。采用100M晶振作為計數輸入,可達到100 M轉換速度。

圖3 串行總線模塊結構圖
2.1.3 時序控制模塊
該模塊采用100 MHz的時鐘,主要產生8路精度可控、脈寬可控的脈沖信號。在100 MHz時鐘下,定時電路通過匹配定時寄存器確定計數頻率。起始寄存器、脈寬寄存器、周期寄存器接收命令轉換模塊傳輸的參數,通過與比較器的比較產生觸發信號控制脈沖發生器輸出相應的脈沖信號。圖4為一路信號的模塊結構圖,本設計中,共使用8個相同模塊,以其中一路為基準輸出,設計出相關聯的信號,定時信號采用10分頻數據,其他寄存器采用18 bits設計,設計重頻38 Hz~10 M可變,滿足系統要求。

圖4 時序控制模塊結構圖
2.1.4 USB控制模塊的設計
CYPRESS公司的EZ-USB FX2 系列芯片CY7C68013是最早符合USB2.0協議的微控制器之一。通過將 USB2.0收發器、串行接口引擎(SIE)、增強型8051微控制器以及可編程外設接口集成到一個芯片中,形成了一個極具成本優勢的USB總線解決方案[7]。
本設計中USB控制傳輸模塊的設計實現了兩種USB傳輸模式,控制傳輸模式和批量傳輸模式。控制傳輸模式主要用于發送和接收與USB設備的配置信息有關的數據,批量傳輸實現USB2.0接口與上位機的高速通訊,使用Slave FIFO傳輸方式。Slave FIFO方式的外部主控器由FPGA實現,CY7C68013與FPGA直接連接,CY7C68013的CPU不直接參與USB數據處理與分析,僅把CY7C68013作為外部數據處理的USB通道,通過對CY7C68013的內部端點FIFO的直接傳輸,完成數據的傳輸。對于外部主控器而言,可以把CY7C68013的端點FIFO當做一般的FIFO緩沖區來使用,外部主控器對芯片的端點FIFO進行控制,同時為FIFO提供所需的時序信號、空滿信號以及輸出使能等。
狀態轉換圖如圖5所示。系統初始化后,USB傳輸模塊處于空閑狀態,在接收到驅動信號USB_Start信號時進入寫等待狀態,準備將FIFO中數據發送到CY7C68013芯片;一旦端點FIFO不滿(USB_FIFO_full為低)且FPGA_FIFO不為空(FPGA_FIFO_empety為低),模塊將進入寫狀態,產生FIFO寫信號sl_write,將數據寫入芯片內部端點FIFO,由USB2.0收發器將數據打包傳送到上位機;當端點FIFO滿(USB_FIFO_full為高)或者FPGA_FIFO為空(FPGA_FIFO_empety為高),主控器將停止發送數據,sl_write無效,再次進入等待狀態,依次循環。

圖5 USB傳輸狀態轉換圖
適配電纜主要實現接收機與主控模塊的連接,實現系統資源與被測件之間信號的匹配和轉換。實現適配電纜有2種方式:第一種將控制資源信號接入專用控制板,專用控制板提供對外統一接口,利用信號轉接或者專用測試電纜連接被測件;第二種是將控制資源引入通用陣列設計專用適配器與通用陣列對接,通過專用電纜實現物理連接。
本設計采用第一種方式進行設計,在主控模塊中集成接口驅動模塊,可以提供單端信號和差分信號2種不同的驅動模式,系統資源連接至統一對外接口,不同接口關系的接收機依據各自接口定義關系選擇相應的資源,設計成不同的適配電纜用于實現接收機與主控模塊之間數據和控制信號的連接。
控制系統軟件主要由軟件平臺、控制程序集及主控模塊程序組成。使用VISUAL C++開發的運行在上位機Mini-PC上的軟件平臺為控制系統提供了形象直觀的可視化人機交互界面,并且能夠根據軟件配置調用相應的控制程序集構建軟件系統,通過主控模塊程序控制硬件設備正常工作,完成對接收機的控制。
軟件平臺的設計采用模塊化、層次化、可擴展的構建思路[8],各功能模塊相互獨立。在上層軟件框架下根據不同被測單元的控制要求,開發對應的控制子程序??刂迫藛T調用不同的子程序,則可以快速構建對應的軟件環境。軟件平臺主要功能模塊包括:人機界面、自檢功能、配置管理、主控驅動和幫助。
系統軟件對主控模塊的控制進行了封裝,能夠輕松實現主控模塊參數的配置和控制,解決了模塊功能升級造成的軟件升級障礙,提高了系統升級維護的效率[9],降低了維護成本。
控制系統軟件的功能框圖如6所示。

圖6 控制系統軟件功能框圖
Mini-PC軟件開始工作時,首先自動進行系統自檢,自檢功能包括USB通訊自檢、主控模塊自檢,如若自檢失敗,系統會給出提示。自檢通過后,進入系統設置界面,軟件根據被測件的選擇通過配置管理程序調用相應的控制程序集配置文件進行初始化配置,配置完成后系統切換到控制界面,依據控制界面的選擇及控制完成對被測單元的控制,并返回控制狀態。
控制程序集是指被測件的狀態轉換所需的控制程序集合,每個不同被測件對應一個控制程序集,涵蓋被測接收機不同狀態的控制命令??刂瞥绦蚣阅K化形式設計,與軟件平臺相互獨立,不同的被測件按需選取模塊、配置參數形成不同的程序集,便于程序的移植和升級??刂葡到y軟件使用時,從系統設置界面選取被測件對應的控制程序集,根據控制程序配置進行控制軟件初始化,包括軟件界面初始化、設備初始化、控制項目及參數的初始化、功能函數調用,驅動接口調用等。
主控模塊控制程序運行在Mini-PC主控計算機上,負責主控模塊與主控計算機之間的通訊處理,控制主控模塊按指令參數進行運行。驅動接口文件為主控模塊的驅動程序,主要由USB通訊程序、時序控制模塊驅動程序、串行總線模塊驅動組成。USB通訊程序負責主控計算機與主控模塊之間的數據通訊功能,主要功能包括指令的接收、解析、封裝和傳輸;時序控制模塊驅動控制程序負責控制時序模塊的初始化、脈沖參數的設置;串行總線模塊驅動程序負責控制總線模塊將接收到的數據按協議完成時序的轉換。
整個系統軟件工作流程如圖7所示。

圖7 控制系統軟件工作流程圖
為驗證系統設計的正確性,采用仿真和實際測試相結合的方式對雷達接收機控制系統進行評估。首先通過Modelsim[10]對功能模塊進行仿真,測試功能模塊能否滿足使用需求,然后通過控制系統對接收機的進行控制,驗證控制系統能否完成接收機的控制,達到預定的功能。
針對不同的功能模塊編寫不同的進行測試文件進行功能仿真,觀察時序,驗證功能模塊的正確性。對于串行總線模塊在測試文件中生成需要轉換的20位數據,按通信轉換要求,將數據轉換為20位的串行數據,并提供同步CP信號及傳輸結束的更新信號update。如圖8所示,串行總線模塊將20位數據0XB31A5從高位至低位按串行數據發出,滿足使用要求。對于時序控制模塊輸入不同的時序參數,產生8路相關的時序信號,如圖9所示。

圖8 串行總線時序圖

圖9 時序信號圖
在完成控制系統硬件系統和軟件系統的調試后,重點測試了控制系統對各型接收機的控制功能。不同的被測件使用配套的適配電纜,控制系統通過軟件配置控制程序集初始化主控模塊,完成控制指令包括時序的重頻周期、相對位置、頻率控制、中頻增益控制、消隱、自動增益控制等參數的下發以及返回參數的處理,能夠穩定的實現對接收機的頻率、增益及各種狀態的控制,經過多次和長時間的試驗,接收機工作穩定,驗證了接收機控制系統有效性,達到了良好的使用效果。
本文設計并實現了一種基于FPGA的雷達接收機控制系統,利用VerilogHDL語言和SOPC技術,采用通用性的設計在FPGA上設計了接收機控制系統的硬件系統,實現不同總線轉換功能及不同的定時時序要求;控制軟件采用柔性設計,通過不同的軟件程序集配置,配合專用的適配電纜能夠完成不同接收機的控制,達到了設計要求。目前,該系統已投入實際工程應用。
本文構建的控制系統,除了可以應用于各種接收機的控制,還可以應用到其他設備的控制中,具有一定的通用性和可擴展性,有一定的市場應用前景。