國(guó)海峰,范惠林,陳丹強(qiáng)
(空軍航空大學(xué),長(zhǎng)春 130022)
某型空空導(dǎo)彈是我軍裝備的先進(jìn)的主動(dòng)雷達(dá)復(fù)合空空導(dǎo)彈,在我國(guó)先進(jìn)戰(zhàn)機(jī)上都有掛載,其作戰(zhàn)性能的好壞直接關(guān)系到航空兵的超視距作戰(zhàn)能力。因此,空空導(dǎo)彈武器系統(tǒng)的技術(shù)保障顯得尤為重要。針對(duì)目前空空導(dǎo)彈現(xiàn)有測(cè)試設(shè)備檢測(cè)效率低、使用復(fù)雜、設(shè)備故障率高、功能單一等缺點(diǎn),構(gòu)建了基于VXI總線的測(cè)試系統(tǒng)。極大的提高了保障設(shè)備的效率和可靠性。在導(dǎo)彈發(fā)射時(shí)序測(cè)試中應(yīng)用了現(xiàn)場(chǎng)可編程門陣列 FPGA(Field Programmable Gate Arrays)對(duì)空空導(dǎo)彈發(fā)射控制邏輯進(jìn)行測(cè)試,實(shí)現(xiàn)了測(cè)試設(shè)備自動(dòng)化,解決了測(cè)試設(shè)備必須等待信號(hào)、易打斷測(cè)試流程的問(wèn)題,應(yīng)用VHDL多進(jìn)程程的編程方法實(shí)現(xiàn)了系統(tǒng)的并行測(cè)試。
空空導(dǎo)彈的發(fā)射控制過(guò)程分為導(dǎo)彈加溫、導(dǎo)彈準(zhǔn)備和導(dǎo)彈發(fā)射三個(gè)階段[1],如圖1所示。
圖1 導(dǎo)彈的發(fā)射時(shí)序Fig.1 The launch scheduling of the missile
發(fā)射控制流程如下:在導(dǎo)彈加溫階段,主要完成對(duì)導(dǎo)彈的加溫供電,如果加溫正常,則返回加溫正常信號(hào)給發(fā)射控制裝置,等待一定的時(shí)間,等待導(dǎo)彈準(zhǔn)備信號(hào)的到來(lái),從而進(jìn)入導(dǎo)彈準(zhǔn)備階段,在導(dǎo)彈準(zhǔn)備階段,導(dǎo)彈完成空中修正,目標(biāo)對(duì)準(zhǔn)等指令,飛行控制系統(tǒng)傳遞攻擊任務(wù)參數(shù),準(zhǔn)備工作完成后,導(dǎo)彈會(huì)回送準(zhǔn)備好信號(hào),滿足發(fā)射條件后,飛行員按下發(fā)射按鈕,導(dǎo)彈進(jìn)入發(fā)射階段,接收點(diǎn)火信號(hào),點(diǎn)燃發(fā)動(dòng)機(jī),脫離導(dǎo)彈發(fā)射裝置,完成導(dǎo)彈發(fā)射。
根據(jù)可用邏輯門、I/O數(shù)目和 EAB模塊的需求,本設(shè)計(jì)采用Actel公司的ProASIC3型FPGA產(chǎn)品,內(nèi)核設(shè)計(jì)在該公司提供的集成開(kāi)發(fā)環(huán)境Libero-IDE8.4下完成的,綜合工具采用了Synplify公司的Synthesis 9.6A工具,仿真工具采用MentorGraphic公司的ModelSim 6.4A軟件。
硬件描述語(yǔ)言的作用是把待設(shè)計(jì)的邏輯功能、實(shí)現(xiàn)該功能的算法、選用的電路結(jié)構(gòu)和邏輯模塊輸入計(jì)算機(jī),至今已有百余種之多,如Texas公司的HIHDL、Carnegie-Mellon大學(xué)的ISP、GatewayDesign Automation公司的Verilog HDL和美國(guó)國(guó)防部提出的 VHDL等[2]。本系統(tǒng)編程語(yǔ)言采用 VHDL來(lái)編寫(xiě)。
發(fā)射控制裝置和測(cè)試設(shè)備之間的交聯(lián)信號(hào)數(shù)量多,邏輯關(guān)系復(fù)雜??紤]到測(cè)試系統(tǒng)可以直接跟發(fā)射控制裝置之間進(jìn)行數(shù)字信息的傳輸,不需要對(duì)其進(jìn)行時(shí)序控制。其硬件結(jié)構(gòu)圖如圖2所示。
圖2 硬件結(jié)構(gòu)圖Fig.2 The structure of the hardware
發(fā)射控制裝置向FPGA發(fā)送的指令經(jīng)電平轉(zhuǎn)換后,送入FPGA進(jìn)行處理,作出響應(yīng),一方面輸出至發(fā)射控制裝置,發(fā)射控制裝置根據(jù)傳來(lái)的信號(hào)作出響應(yīng),傳給飛機(jī)在多功能顯示器上顯示;另一方面輸出至測(cè)試設(shè)備進(jìn)行顯示,響應(yīng)測(cè)試步驟。在測(cè)試設(shè)備中選擇故障設(shè)置,輸出控制信號(hào)控制FPGA模擬發(fā)射故障。
發(fā)射控制裝置與空空導(dǎo)彈之間傳輸?shù)男盘?hào)有的高電平有效,有的是低電平有效,但其有效電壓都為28V,而FPGA工作在TTL電平或CMOS電平下,所以輸入輸出電平要按照要求進(jìn)行相應(yīng)的變換。輸入輸出信號(hào)的變換都采用光電耦合電路設(shè)計(jì)。
(1)輸入信號(hào)的變換[3]
圖3 輸入信號(hào)變換Fig.3 The change of the input signal
當(dāng)有28V信號(hào)輸入時(shí),光敏二極管導(dǎo)通,進(jìn)行光電耦合,經(jīng)反相器反相,輸入“1”,當(dāng)沒(méi)有信號(hào)輸入時(shí),輸出為“0”。若信號(hào)是低電平有效的,不需要輸出信號(hào)之前的反相器。
(2)輸出信號(hào)的變換
圖4 輸出信號(hào)變換Fig.4 The change of the output signal
當(dāng)TTL電平為高時(shí),光電耦合單元工作,驅(qū)動(dòng)右側(cè)繼電器吸合,輸出28V,當(dāng)TTL電平為低時(shí)正好相反,輸入為0V。
圖5 時(shí)鐘電路Fig.5 The clock circuit
由于導(dǎo)彈發(fā)射流程中要判斷信號(hào)響應(yīng)時(shí)間,需要為FPGA設(shè)計(jì)時(shí)鐘電路,采用晶振時(shí)鐘電路,如圖5所示。
當(dāng)整個(gè)系統(tǒng)復(fù)位時(shí),F(xiàn)PGA也要完成復(fù)位,利用上位機(jī)控制一個(gè)D觸發(fā)器的方式完成FPGA的復(fù)位。
軟件包括上位機(jī)控制軟件和FPGA內(nèi)核軟件,軟件的時(shí)序控制是整個(gè)空空導(dǎo)彈測(cè)試系統(tǒng)的核心,完成對(duì)空空導(dǎo)彈發(fā)射流程的時(shí)序控制以及對(duì)測(cè)試設(shè)備故障的響應(yīng)。程序的主框架流程,以空空導(dǎo)彈的發(fā)射時(shí)序控制流程為主線,依次完成系統(tǒng)初始化、故障識(shí)別、測(cè)試信號(hào)的輸入輸出等功能。
圖6 主程序流程圖Fig.6 The flow chart of the main program
圖7 正常時(shí)序邏輯圖Fig.7 The logic diagram of the normal scheduling
測(cè)試設(shè)備作為上位機(jī)在導(dǎo)彈發(fā)射流程測(cè)試中實(shí)現(xiàn)對(duì)FPGA的控制和故障判別顯示,上位機(jī)程序采用 LabWidows/CVI編寫(xiě),其主要功能包括:控制FPGA的開(kāi)始和復(fù)位;向FPGA發(fā)送故障設(shè)置控制指令;接收FPGA發(fā)送來(lái)的故障響應(yīng)指令。
上位機(jī)可以設(shè)置的故障有:導(dǎo)彈存在故障、導(dǎo)彈準(zhǔn)備故障、導(dǎo)彈電池故障、舵機(jī)故障和導(dǎo)彈未發(fā)射故障。
根據(jù)某型空空導(dǎo)彈的發(fā)射流程和測(cè)試系統(tǒng)對(duì)時(shí)序控制循環(huán)檢測(cè),自動(dòng)檢測(cè)的要求,軟件的開(kāi)發(fā)采用模塊化的設(shè)計(jì)思想,按空空導(dǎo)彈的發(fā)射流程分為三個(gè)模塊,加溫模塊、準(zhǔn)備模塊和發(fā)射模塊。前一個(gè)模塊的輸出作為后一個(gè)模塊的輸入,順序執(zhí)行程序。
空空導(dǎo)彈的掛點(diǎn)有多個(gè),為了滿足并行測(cè)試的要求,軟件采用多線程并行調(diào)用的方式,每一個(gè)測(cè)試點(diǎn)作為一個(gè)進(jìn)程,按照掛點(diǎn)選擇同時(shí)運(yùn)行測(cè)試程序。其單個(gè)掛點(diǎn)的主程序流程圖如圖6所示。
程序的仿真包括無(wú)故障情況下的仿真和有故障條件下的時(shí)序仿真,本文只給出正常時(shí)序下的仿真,如圖7所示。
由時(shí)序仿真波形可看出,各信號(hào)的邏輯關(guān)系符合空空導(dǎo)彈發(fā)射控制流程,該程序能夠滿足測(cè)試系統(tǒng)對(duì)于導(dǎo)彈發(fā)射控制測(cè)試的要求。
FPGA應(yīng)用于空空導(dǎo)彈武器系統(tǒng)測(cè)試中控制導(dǎo)彈的發(fā)射流程,解決了以往的測(cè)試設(shè)備中必須人為按照測(cè)試步驟進(jìn)行測(cè)試的問(wèn)題,實(shí)現(xiàn)了系統(tǒng)的自動(dòng)測(cè)試和故障設(shè)置。應(yīng)用多進(jìn)程的編程方法,解決了并行測(cè)試的問(wèn)題,提高了測(cè)試效率。這對(duì)提高武器系統(tǒng),特別是先進(jìn)導(dǎo)彈的武器系統(tǒng)的戰(zhàn)斗力具有十分重要的意義,對(duì)于同類產(chǎn)品的研制也有一定的借鑒意義。
[1]孟秀云.導(dǎo)彈制導(dǎo)與控制系統(tǒng)原理[M].北京:北京理工大學(xué)出版社,2003.
[2]閻華,王民鋼,王桂華.導(dǎo)彈模擬系統(tǒng)嵌入式電子組件的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制,2007,15(2):202-204.
[3]閆春光,姜文志,豐海波.基于FPGA的某發(fā)控儀模擬器設(shè)計(jì)[J].指揮控制與仿真,2006,28(6):96-99.