宮 斌,程焱明
(中國船舶重工集團公司第七二三研究所,江蘇 揚州 225101)
綜合調(diào)度模塊是電子戰(zhàn)系統(tǒng)的作戰(zhàn)控制中心和通信中樞,承擔(dān)著系統(tǒng)的資源調(diào)度、戰(zhàn)術(shù)決策控制、信息整合轉(zhuǎn)發(fā)以及各分系統(tǒng)/設(shè)備之間的通信交互任務(wù),是整個系統(tǒng)中的核心模塊之一,一旦出現(xiàn)宕機等嚴(yán)重故障,將導(dǎo)致整個系統(tǒng)功能癱瘓,因此確保其工作高可靠性極為重要。信息化戰(zhàn)爭中的戰(zhàn)場電磁環(huán)境日趨復(fù)雜,戰(zhàn)機轉(zhuǎn)瞬即逝,原有的軟件故障系統(tǒng)重啟以及耗時更長的硬件故障更換備件等處理方法,已經(jīng)難以滿足作戰(zhàn)要求,對于武器系統(tǒng)中的關(guān)鍵模塊,需要有提高系統(tǒng)工作可靠性的冗余備份設(shè)計,在出現(xiàn)故障時能夠確保整個系統(tǒng)的作戰(zhàn)功能不受影響。
高可靠性對系統(tǒng)的要求是具有完全在線的冗余功能,即系統(tǒng)在正常運行時,當(dāng)前運行的系統(tǒng)如果出現(xiàn)故障可立即切換到備用系統(tǒng),系統(tǒng)在整個運行過程中的正常工作不受任何影響,即系統(tǒng)輸出連續(xù),及時發(fā)現(xiàn)故障并實時切換[1-2]。冗余設(shè)計是在系統(tǒng)或設(shè)備中對完成任務(wù)起關(guān)鍵作用的地方提供一種以上的功能通道或工作元件或部件,以減少系統(tǒng)出現(xiàn)故障的概率有效的系統(tǒng)設(shè)計方法[3]。本文闡述的基于PowerPC 8640D板卡的電子戰(zhàn)系統(tǒng)綜合調(diào)度模塊冗余熱備份的設(shè)計方法即采用雙機熱備份設(shè)計,可以在軟硬件故障導(dǎo)致系統(tǒng)死機的嚴(yán)重故障下,立刻切換到備份模塊,確保系統(tǒng)作戰(zhàn)功能不受影響。
綜合調(diào)度模塊的核心任務(wù)是管理整個系統(tǒng)中的偵察、干擾資源,針對不同的任務(wù)需求對系統(tǒng)中的資源進行合理分配調(diào)度,保證整個系統(tǒng)的穩(wěn)定有序工作,并最大限度地發(fā)揮系統(tǒng)的偵察干擾效能。其功能實現(xiàn)主要包括接收并整合系統(tǒng)中各偵察、干擾設(shè)備以及上級指揮系統(tǒng)和本系統(tǒng)顯控臺的信息和指令,對整個系統(tǒng)的資源進行存儲管理和動態(tài)分配,完成電子偵察和干擾功能的系統(tǒng)級調(diào)度控制,同時作為整個系統(tǒng)的通信中樞完成前后端、上下級的數(shù)據(jù)、命令轉(zhuǎn)發(fā)。綜合調(diào)度模塊的內(nèi)外通信方式包括基于以太網(wǎng)的DDS(訂閱分發(fā)機制)和基于光纖通信的RapidIO方式,對外2種方式都有,內(nèi)部各CPU系統(tǒng)之間則全部使用直接數(shù)字合成(DDS)方式,其系統(tǒng)架構(gòu)如圖 1所示。

圖1 綜合調(diào)度模塊架構(gòu)示意圖
綜合調(diào)度模塊的特點是對外連接的通信節(jié)點多、收發(fā)處理的信息數(shù)據(jù)量大、調(diào)度控制實時性高。綜合調(diào)度模塊硬件采用一塊PowerPC 8640D板卡,該板卡為標(biāo)準(zhǔn)6U VPX總線標(biāo)準(zhǔn)模塊,集成4個主頻為1.0 GHz的MPC8640D雙核處理器,每個處理器配置1 GByte存儲器;軟件采用VxWorks 6.8操作系統(tǒng),標(biāo)準(zhǔn)C/C++語言實現(xiàn)應(yīng)用程序功能;每個處理器系統(tǒng)都具有以太網(wǎng)和SRIO通信接口,可以滿足系統(tǒng)中的網(wǎng)絡(luò)及光纖通信要求。根據(jù)系統(tǒng)功能要求,4個CPU各自形成相對獨立的計算機系統(tǒng),啟動不同的任務(wù)完成各自的功能,同時又有效交互、密切配合,共同完成綜合調(diào)度功能。
綜合調(diào)度模塊的冗余熱備份設(shè)計考慮其功能特點,同時兼顧軟件開銷和硬件成本等因素,采用雙機備份設(shè)計。雙機備份方案中,根據(jù)性質(zhì)和需要可以有3種不同的工作模式:即雙機熱備模式、 雙機互備模式和雙機雙工模式[4]。本設(shè)計采用雙機雙工熱備份方法,硬件部分在綜合調(diào)度的標(biāo)準(zhǔn)6U插箱中增加1塊PowerPC 8640D板卡作為備份模塊,2塊PowerPC板同時加電工作,備份模塊實時檢測主模塊狀態(tài),當(dāng)檢測到主模塊發(fā)生故障時,備份模塊立刻切換到工作狀態(tài),代替主模塊完成綜合調(diào)度功能。
綜合調(diào)度模塊對外的以太網(wǎng)和光纖通信實現(xiàn)方式分別為DDS(訂閱分發(fā)機制)和RapidIO接口方式。在對外通信中,訂閱分發(fā)的DDS通信方式適用于以太網(wǎng)鏈路且不與特定IP地址關(guān)聯(lián),因此該部分的通信具有硬件無關(guān)性,冗余熱備份的硬件部分設(shè)計上不需要做額外考慮,同時這也是本設(shè)計方法的一個重要基礎(chǔ);而RapidIO接口通過光纖交換模塊接入光纖通信鏈路,其通信接口與硬件有一定的關(guān)聯(lián)性。綜合調(diào)度模塊設(shè)計中,僅在PowerPC板的第1個CPU即CPUA系統(tǒng)中使用RapidIO接口作為整個綜合調(diào)度模塊的對外光纖通信輸入輸出節(jié)點,在系統(tǒng)冗余熱備份設(shè)計中需要通過配置不同的通信地址段來解決備份模塊的對外光纖通信鏈路問題。方法是為主模塊和備份模塊各配置不同的通信地址,外部形成冗余的光纖通信鏈路,數(shù)據(jù)輸入為同步進行,數(shù)據(jù)輸出由調(diào)度模塊的工作狀態(tài)CPUA確定,確保綜合調(diào)度模塊的主模塊和備份模塊能正確進行光纖鏈路數(shù)據(jù)交互。綜合調(diào)度模塊內(nèi)部4個CPU系統(tǒng)之間采用DDS通信進行數(shù)據(jù)交互,因此冗余熱備份的硬件部分設(shè)計也無須做額外考慮。
綜上所述,綜合調(diào)度的冗余熱備份設(shè)計通過增加1塊PowerPC 8640D板,并在外部光纖通信鏈路中增加1路適配備份模塊的冗余鏈路,即可構(gòu)成冗余熱備份的硬件平臺。
綜合調(diào)度模塊冗余熱備份的軟件設(shè)計主要是在硬件基礎(chǔ)上確保備份模塊迅速準(zhǔn)確地檢測到主模塊故障,并立刻切換到工作狀態(tài)來代替主模塊工作,保證整個系統(tǒng)穩(wěn)定可靠運行。綜合調(diào)度模塊PowerPC板所在插箱中的插槽位置號稱為槽位號,每個PowerPC板上的4個CPU各有1個ID號,它們都可以在上電后通過軟件接口讀取。綜合調(diào)度模塊的4個CPU系統(tǒng)(CPU A、B、C、D)運行軟件一致,根據(jù)不同CPU的ID號,各自啟動不同的任務(wù)完成各自的功能,同時各CPU系統(tǒng)之間又有數(shù)據(jù)交互。根據(jù)這一特點,軟件設(shè)計為同一套代碼,分別運行于主模塊PowerPC板和備份模塊PowerPC板,開機啟動后根據(jù)不同的槽位號確定軟件進入工作狀態(tài)或備份狀態(tài),運行于主模塊PowerPC板的為工作狀態(tài)(以下對應(yīng)主程序),運行于備份模塊PowerPC板的為備份狀態(tài)(以下對應(yīng)副程序)。2種狀態(tài)的區(qū)別是備份狀態(tài)下CPU系統(tǒng)的軟件僅接收并存儲處理數(shù)據(jù),并不對外發(fā)送數(shù)據(jù),這樣在同一時刻保證主、備模塊中的每對CPU系統(tǒng)只會有一個對外發(fā)送數(shù)據(jù),且在進行熱備份切換時可以確保數(shù)據(jù)和狀態(tài)的連續(xù)有效。
以電子戰(zhàn)系統(tǒng)實際應(yīng)用為例,在綜合調(diào)度的標(biāo)準(zhǔn)6U插箱中,主模塊的PowerPC 板使用1槽,備份模塊的PowerPC 板使用4槽,主、備模塊板卡各CPU及對應(yīng)功能接口如表1所示。

表1 主、備模塊CPU及功能接口表
綜合調(diào)度軟件正常工作時主模塊PowerPC板(1槽)中4個CPU啟動各自不同的工作任務(wù),4個CPU間互有報文交互。冗余熱備份的軟件設(shè)計方法是對單個CPU分別進行冗余備份,即備份模塊上的CPUA系統(tǒng)對主模塊上的CPUA系統(tǒng)進行冗余備份,其余類似。主模塊PowerPC板(1槽)的4個CPU(A、B、C、D)系統(tǒng)正常工作,一旦某個CPU系統(tǒng)故障,備份模塊PowerPC板(4槽)上的對應(yīng)CPU系統(tǒng)檢測到后,即進入工作狀態(tài),接管原主模塊PowerPC板上對應(yīng)CPU系統(tǒng)的功能,與其他工作狀態(tài)CPU系統(tǒng)共同完成工作任務(wù)。圖2、圖3為以CPUA、CPUB為例的冗余備份切換前后狀態(tài),主模塊CPU正常工作,備份模塊CPU正常接收所有輸入數(shù)據(jù),不輸出數(shù)據(jù);主模塊CPUA(1-A)故障,則備份模塊對應(yīng)的CPUA(4-A)轉(zhuǎn)入工作狀態(tài),進行數(shù)據(jù)接收和發(fā)送。

圖2 主CPUA+主CPUB工作狀態(tài)示意圖

圖3 備CPUA+主CPUB工作狀態(tài)示意圖
軟件熱備份設(shè)計的主要功能包括:
(1) 狀態(tài)監(jiān)控,主備模塊的每對CPU系統(tǒng)運行檢測應(yīng)答任務(wù),具體為備CPU系統(tǒng)定時發(fā)送詢問報文到對應(yīng)主CPU系統(tǒng),主CPU系統(tǒng)接收到詢問報文后應(yīng)答;
(2) 主副程序切換,如果備CPU系統(tǒng)連續(xù)3個周期接收不到主CPU系統(tǒng)的應(yīng)答,即認(rèn)為主CPU系統(tǒng)故障,自動切換到工作狀態(tài)(具體為放開數(shù)據(jù)輸出);
(3) 狀態(tài)同步與信息備份功能,CPU系統(tǒng)在完成切換后,因為各對應(yīng)CPU輸入數(shù)據(jù)和處理均同步進行,因此備份CPU轉(zhuǎn)入工作后其狀態(tài)能保證與整個系統(tǒng)同步,數(shù)據(jù)也能與原CPU保持一致,完成狀態(tài)同步與信息備份的功能。
軟件熱備份設(shè)計的基本流程為:加電啟動后主備模塊通過槽位號確定程序運行狀態(tài),分別進入工作狀態(tài)和備份狀態(tài)(分別以主、副程序運行),每一對CPU的主副程序啟動檢測應(yīng)答任務(wù);主程序開機進入工作狀態(tài)(接收、發(fā)送數(shù)據(jù)),同時運行應(yīng)答任務(wù),接收副程序查詢命令并立即回復(fù);副程序開機進入備份狀態(tài)(僅接收數(shù)據(jù),不發(fā)送),同時運行檢測任務(wù),定時發(fā)送查詢命令到主程序;副程序檢測任務(wù)中運行回復(fù)命令接收處理,在接收到主程序?qū)?yīng)CPU的回復(fù)命令后開始周期計數(shù),若超過3個周期未收到回復(fù)命令即切換進入工作狀態(tài),完成該CPU系統(tǒng)的熱備份切換。檢測應(yīng)答任務(wù)均采用DDS通信,對應(yīng)命令碼和DDS主題如表2所示。

表2 主備程序檢測DDS主題表
以CPUA為例,其主備程序軟件熱備份工作流程如圖 4所示。故障檢測對于雙機熱備份系統(tǒng)是非常重要的保障機制[5]。軟件熱備份設(shè)計的關(guān)鍵是檢測任務(wù)與工作任務(wù)間的系統(tǒng)資源開銷平衡。對于實時系統(tǒng)來說,故障檢測必須做到占用系統(tǒng)開銷小、定位故障及時準(zhǔn)確并且故障判別的成功率高[6]。本設(shè)計中備份模塊的檢測采用高優(yōu)先級定時任務(wù)處理,每100 ms發(fā)送檢測命令,如果超過3個周期未收到主模塊的應(yīng)答,則認(rèn)為主模塊故障,自動切換到工作狀態(tài)接替主模塊工作。在實際工程應(yīng)用中,經(jīng)過測試驗證,該任務(wù)周期可以滿足綜合調(diào)度模塊的工作任務(wù)功能和冗余備份的實時檢測切換,達到了系統(tǒng)資源開銷的平衡。

圖4 主備程序軟件熱備份工作流程圖

目前該設(shè)計已應(yīng)用于電子戰(zhàn)艦載系統(tǒng)的電子對抗綜合調(diào)度模塊中,該模塊提供2塊PowerPC板,分別位于3槽和8槽,3槽作為主板,8槽作為備份板,其對應(yīng)地址按照槽位由系統(tǒng)統(tǒng)一分配。通過模擬主板上的CPU故障(如人工將任務(wù)終止),實測的各CPU冗余熱備份切換時間如表3所示。

表3 主備模塊CPU切換時間測試表
在實際裝備中,經(jīng)過應(yīng)用驗證,該冗余熱備份設(shè)計能夠保證CPU的工作狀態(tài)及數(shù)據(jù)的完整性和連續(xù)性,可以滿足裝備的實戰(zhàn)需求。
基于PowerPC的冗余熱備份設(shè)計方法目前已經(jīng)在艦載電子戰(zhàn)系統(tǒng)的綜合調(diào)度模塊中得到應(yīng)用,該方法充分利用了PowerPC板卡在功能、接口等方面的特點,結(jié)合了VxWorks操作系統(tǒng)的多任務(wù)、強實時特性,為系統(tǒng)的綜合調(diào)度這一關(guān)鍵模塊提供了冗余熱備份運行的有效解決方案,提高了系統(tǒng)運行的安全性和可靠性,對于類似軟硬件平臺和通信方式的系統(tǒng)具有借鑒意義。但同時這種雙機冗余備份在切換過程中必然存在一定時間中斷,還不能完全做到真正意義上的“無縫”切換,如何進一步降低切換時延而又不過多占用系統(tǒng)的資源開銷,還需要在實際工程應(yīng)用中進行更深入的研究。