張曉敏 馬鵬飛
上海機電工程研究所,上海201109
指控計算機是導彈武器系統(tǒng)的重要組成,對上連接外部所有情報節(jié)點和網絡,對下連接發(fā)射裝置、顯控臺、導航設備等,在很短的時間內,需要完成數據接收、模型解算、命令解析、數據發(fā)送和時間更新等多種不同的任務,對系統(tǒng)的實時性要求很高。多年來,國外軟硬件產品,包括核心的CPU和操作系統(tǒng),在導彈武器以及運載火箭[1]等多個領域中被大量應用和采購,一旦戰(zhàn)爭到來,裝備生產將會面臨很大難題,無法自主可控。
近年來,武器裝備核心元器件100%國產化的要求也逐步被提出,另一方面,國產CPU和實時操作系統(tǒng)在性能上不斷提升[2],國產CPU中龍芯處理器、飛騰處理器和申威處理器,實時操作系統(tǒng)中道系統(tǒng)、銳華操作系統(tǒng)等,都在三軍武器裝備上得到了驗證和使用。
文獻[3]基于龍芯2H芯片和道嵌入式操作系統(tǒng)設計研制了某型火控計算機;文獻[4]介紹了一種新型的基于龍芯3A+2H的火控計算機的設計方法,并移植了麒麟Linux操作系統(tǒng)內核,實驗證明該計算機能滿足軍用要求;文獻[5]在研制雷達中心計算機時,選用了龍芯2F芯片和道3.0操作系統(tǒng),并通過實際工程應用證明了國產化替代的可行性;文獻[6]采用龍芯2F加麒麟操作系統(tǒng)的組合,在多雷達點跡航跡融合處理設備上取得一定效果;文獻[7]基于龍芯3A芯片加天熠嵌入式操作系統(tǒng)加中標麒麟系統(tǒng)設計研制了指控系統(tǒng)的嵌入式計算機和桌面應用軟件。本文基于龍芯3A3000系列芯片和道6.0操作系統(tǒng),設計研制指控計算機,測試結果表明該計算機滿足相關需求。
指控計算機通常集成在標準顯控臺上,依軍種不同安裝在艦船、裝備車或地面固定指揮中心上,是C4ISR(指揮、控制、通信、計算機、情報、偵察和監(jiān)視)系統(tǒng)的核心部分[8]。如圖1所示,指控計算機的主要功能有[9]:1)接收各種信息源(如雷達、紅外)送來的各類目標參數信息,并建立目標數據庫,對目標進行數據融合等綜合處理;2)接收硬件操控臺和人工發(fā)出的數據或命令,進行數據信息的處理顯示,如各車態(tài)勢、各設備硬件狀態(tài)等;3)依據數學模型,如坐標轉換、威脅排序、殺傷區(qū)解算等,進行戰(zhàn)術計算和輔助決策。

圖1 指控計算機功能示意圖
通過表1可以看出,Intel i5-7200U、FT1500和SW1600具有高吞吐率計算能力,適合應用于需要處理大量數據和計算的服務器中。與Intel處理器相比,龍芯3A3000綜合性能相當于Intel賽揚J1900,單核性能相當于i5-7200U的30%~40%,優(yōu)化之后能夠達到后者的60%。2020年,龍芯將采用14nm生產工藝,其主頻有望提升到2.5GHz。龍芯3A4000有望達到Intel I5-7200U水平。

表1 國產CPU與國外常用CPU主要性能比較
綜合考慮處理器的成熟度、應用領域、配套軟件等情況,這里選擇龍芯3A系列作為國產化平臺計算機的核心處理器。具體而言:
1)龍芯、申威和飛騰,三家公司有著不同的主攻方向,龍芯主攻方向是嵌入式和PC;而飛騰和申威則把主要精力放在了超算芯片和高性能服務器上。我們的地面裝備目前階段網絡化布局還在試驗起步,重點還是在嵌入式和PC上;
2)飛騰1500A系列芯片是在與ARM公司授權下,短周期內研發(fā)出來的產品,業(yè)內認為其內核是對ARM公版內核進行了修改,而非完全自己編寫。相比起來,龍芯處理器在性能上稍微落后,但其進步快,單核CPU性能逐步提升,且依托中科院技術支持。
3)國產芯片與國外的差距上,CPU性能只是一小塊,重點是在下游產業(yè)鏈上,由于龍芯重點放在了嵌入式和PC方面,所以其與曙光、浪潮、銳捷網絡等下游軟硬件企業(yè)以及艦載火炮、艦載導彈的火控領域有多年的研發(fā)經驗。
龍芯處理器是中國科學院計算所自主研發(fā)的通用CPU,采用類MIPS 指令集,目前已發(fā)展到龍芯第二代產品。龍芯3A3000系列[10]就是目前第二代產品中已成熟穩(wěn)定且性能突出的一款處理器,它是一款4 核處理器芯片,采用28nm工藝制造,最高工作主頻為1GHz,主要面向嵌入式和PC應用。其片內集成4個64 位的四發(fā)射超標量GS464 高性能處理器核,2個定點、2個浮點、1個訪存部件; 每個處理器核包括2 個全流水的64 位雙精度浮點乘加部件; 訪存部件支持128 位存儲訪問,虛地址和物理地址各為48 位。龍芯3A3000 的接口主要包括2個DDR 2/DDR3 內存接口,2個16 bits、4個8 bits HT1.0 接口,4個32 位PCI/PCIX 接口,1個LPC 接口。
2.3.1 計算機整體架構設計
中心計算機采用CPCI總線結構、雙機的設計方案。兩臺指控主機互為備份關系,雙機置于同一機箱內,機箱設計為19英寸6U機箱。
中心計算機由2塊CPU模塊、2塊時統(tǒng)處理模塊、1塊BUS板及1個電源等組成,兩塊CPU板之間的通訊可通過外接網絡進行,兩塊CPU模塊、時統(tǒng)處理模塊完全相同。

圖2 計算機接口方案圖
2.3.2 CPU板架構設計
指控計算機采用CPCI總線結構,機箱為6U機箱。CPU板是基于龍芯3A3000CPU和龍芯7A1000橋片進行設計,CPU板實現計算機的基本功能,包括數據處理、總線管理、外設控制以及存儲等。CPCI載板根據外圍接口要求,完成電源管理、PCIe轉CPCI、并提供人機界面接口以及網絡等通信接口等。
國產實時操作系統(tǒng)主要有道系統(tǒng)、銳華操作系統(tǒng)、天熠、和欣及RT-THREAD 等操作系統(tǒng),綜合考慮地面裝備計算機對操作系統(tǒng)實時性的要求,配套開發(fā)工具的完善性以及商業(yè)運行模式,選擇道系統(tǒng)作為地面裝備計算機配套的實時操作系統(tǒng)。
道系統(tǒng)由北京科銀京成公司開發(fā),目前最新的是6.0 版本[11],可對標VxWorks-V6.8/6.9。支持多種處理器架構,包括X86、PowerPC、ARM和MIPS。支持多種國產處理器架構,包括龍芯、申威和飛騰,支持32位、64位應用開發(fā),提供基于應用的定制化功能,提供豐富的故障診斷、調試功能,提供豐富的網絡組件,提供FTP訪問權限設置功能,兼容QT圖形組件及擴展QT圖形組件。在艦載、車載、機載等裝備領域有較成熟的應用,某型護衛(wèi)艦綜合反潛火控分系統(tǒng)已使用道系統(tǒng)作為設備操作系統(tǒng)。
道系統(tǒng)6.0與VxWorks6.8系統(tǒng)的主要功能對比如表2所示:

表2 道系統(tǒng)6.0與VxWorks6.8功能模塊對比
道系統(tǒng)為類VxWorks 操作系統(tǒng),VxWorks下的應用程序作少量修改即可移植到該系統(tǒng),考慮到軟件研制進度緊,周期短,選擇道系統(tǒng)也能提供一種更為便捷省時的軟件移植方法。
3.2.1 PMON開發(fā)
龍芯CPU是基于MIPS架構設計的,目前所支持的固件有uboot,PMON,昆侖固件,UEFI等。這里選用PMON固件,PMON是一種具有BIOS部分功能的開放源碼軟件,它保存著計算機基本輸入輸出程序、系統(tǒng)設置信息、開機后自檢程序和系統(tǒng)自啟動程序。PMON作為龍芯產品的基本輸入輸出系統(tǒng),能夠完成計算機系統(tǒng)的開機自檢,板級初始化,加載操作系統(tǒng)內核以及基本I/O功能。
3.2.2 BSP移植
板卡支持包的作用是使嵌入式操作系統(tǒng)在各種不同的硬件環(huán)境下都能較好地工作,通過特定的上層接口與操作系統(tǒng)內核進行交互,向操作系統(tǒng)提供底層的硬件信息,并根據操作系統(tǒng)的要求完成對硬件的直接操作。目前龍芯芯片公司會提供相應的BSP包,供硬件集成方進行二次開發(fā),考慮到選擇 “道系統(tǒng)”,因此在道開發(fā)環(huán)境Lambda Tools下,建立BSP項目,在龍芯公司提供的BSP模板上做二次開發(fā),重點完成異常處理和中斷的管理、內存管理和各驅動程序的配置。具體步驟如下:
BSP移植開發(fā)的常規(guī)步驟如圖4所示。

圖4 BSP移植開發(fā)常規(guī)步驟
1)配置開發(fā)環(huán)境。使用道系統(tǒng)的集成開發(fā)環(huán)境LambdaTools。包含基本的編碼、調試等功能。
2)編寫B(tài)SP初始化代碼。選擇PMON啟動系統(tǒng),PMON將完成硬件初始化,包括設置時鐘和堆棧以及分配存儲空間等,并將編譯生成的道操作系統(tǒng)鏡像文件加載到相應的內存中,然后再啟動操作系統(tǒng)。這里要依次調用sysInit()、usrInit()和UsrRoot()等3個啟動函數。
3)配置最小內核。在集成開發(fā)環(huán)境LambdaTools下,建立一個BSP工程,依據硬件及機構具體情況,配置內核。
4)測試最小內核。將內核鏡像,下載到計算機上,測試系統(tǒng)能否正常啟動。
5)編寫和移植驅動程序。首先重新配置中斷系統(tǒng),然后對網卡、窗口卡等外圍設備進行驅動適配。常用的配置和管理驅動程序的設備驅動架構為VxBus。
指控軟件在道系統(tǒng)上開發(fā)設計,采用多任務的設計思想,根據指控計算機的外圍接口類型以及自身功能需求,對任務進行合理劃分以及優(yōu)先級的設置。指控軟件要接收外部傳感器的情報信息、上級指揮單元的控制命令和數據、衛(wèi)星導航設備的準秒信息、顯控計算機的人機交互命令以及自身作戰(zhàn)車輛的數據報文等等。因此,將指控軟件劃分為6個任務,各任務優(yōu)先級高低及交互關系如圖5所示。

圖5 軟件任務關系圖
各任務主要功能如下:
1)網絡接收任務:收到網絡報文后,保存報文發(fā)送地址,打上接收時戳,同時送主處理消息隊列和數據記錄消息隊列。
2)網絡重發(fā)任務:通過130ms看門狗同步,將網絡重發(fā)消息隊列中的數據發(fā)送一遍,還需要重發(fā)的數據則再放回消息隊列。
3)主處理任務:阻塞在主處理消息隊列上,若取的消息是報文,則進行報文處理;若取的消息是83ms定時器所發(fā)送,則進行周期處理(如定周期自動分配、心跳報文組織和發(fā)送、送顯報文組織和發(fā)送)。
4)數據記錄任務:阻塞在數據記錄消息隊列上,記錄網絡接收任務發(fā)送來的接收報文,并封裝sendto函數,在每次sendto時都同時向數據記錄消息隊列中發(fā)送一份,用于記錄。
5)數據回放任務:讀硬盤,若為需要送顯回放的數據,則發(fā)送顯控;若不是,則繼續(xù)尋找。
6)外時統(tǒng)任務:接收外接時統(tǒng)卡的準秒脈沖中斷,對本機進行校時。
為充分驗證指控計算機的功能和性能,筆者設計了圖6所示測試系統(tǒng),系統(tǒng)由指控計算機、外接時統(tǒng)卡和外圍多個模擬器組成。其中指控計算機和外接時統(tǒng)卡之間通過RS232總線連接,指控計算機和外圍模擬器之間通過交換機進行網絡連接。該測試系統(tǒng)旨在模擬真實工作環(huán)境,滿負荷運轉,檢驗指控計算機的功能性能。

圖6 測試系統(tǒng)框圖
指控計算機對實時性有較強的要求,具體而言,指控軟件的6個任務中,主處理任務計算量最大,耗時最長。以該任務為例,計算機必須在特定周期內完成該任務的解算。其方法為在任務開始前和任務結束后,分別調用tickGet函數,讀取定時器的值t1和t2,t2-t1即為本次任務占用時間,假設做n次試驗,取最大值。
經過12小時拷機對數據進行記錄和分析,指控計算機在不同場景下主處理任務執(zhí)行平均時間如表3所示,可以看出:計算機在各種工作場景下,實時性均滿足要求。

表3 計算機實時性測試結果
對于一路時統(tǒng)卡準秒脈沖輸入信號,驗證方法如下:
1)當準秒脈沖第i次到來時,TimeOld更新為i-1次收到準秒脈沖的時間,即將TimeNew首先賦值給TimeOld;
2)同時,TimeNew通過調用tictGet()函數取準秒脈沖第i次到來時的tick值。
3)DeltaT等于TimeNew和TimeOld差的絕對值,如果DeltaT<3,則本次脈沖有效。
4)對DeltaT進行監(jiān)控,如果連續(xù)3次無效,則認為時鐘模塊不合格。
如圖7所示,統(tǒng)計其中一次實驗共計1892s,準秒偏差為0或1ms。經過12小時拷機測試,準秒偏差均不超過±3ms。時鐘模塊滿足要求。

圖7 準秒偏差分布圖
依據測試系統(tǒng)框圖,搭建測試環(huán)境,依據武器系統(tǒng)工作流程,分別從維護、訓練和作戰(zhàn)狀態(tài)驗證了指控軟件諸如初始化、信息交互、外圍設備控制、目標數據接收、模型結算、任務調度、目標控制等流程,最終試驗結果和測試結果表明:指控軟件功能性能均滿足要求。
本文所研究設計的指控計算機,依托國產龍芯3A3000系列CPU和國產嵌入式操作系統(tǒng)道6.0系統(tǒng)研制而成,經過測試,計算機的硬件、驅動和應用軟件均滿足相關要求,本計算機進一步提升了本武器裝備核心元器件的國產化率,保障了裝備的信息安全,對領域內相似計算機的研制具有參考意義。