梅 勇,袁 強,秦友倫
(中國兵器工業第58研究所 四川 綿陽621000)
自主可控計算機雙機系統切換仲裁策略及實現
梅 勇,袁 強,秦友倫
(中國兵器工業第58研究所 四川 綿陽621000)
為了實現自主可控計算機高可靠的需求,提出了一種雙機系統切換的設計方案,并完成雙機系統切換仲裁原理與策略及軟件實現。采用國產龍芯處理器2I(2J)+VxWorks+雙機熱備份方案,完成了主備選擇、數據及程序同步設計、故障檢測、雙機切換、雙機仲裁邏輯,實現了雙機仲裁、心跳、故障檢測等任務。實際應用表明,該策略既實現了系統自主可控的需求,又達到了高國產化率、高可靠性要求。
自主可控計算機;雙機切換;雙機仲裁邏輯;龍芯2J;VxWorks
自主可控計算機是國家重大項目中的關鍵設備,是發射控制的主控單元。主要通過通訊接口控制遠端設備執行特定功能,并對遠端被控設備反饋的信息進行分析、處理及結果顯示。該設備在整個系統中作用重大,在實際應用中處于1年時間的超長加電連續工作狀態,設備具有很高的任務可靠度[1-5]。
國家已經提出了建立自主可控計算機平臺的要求,包括采用自主CPU、自主操作系統和自主數據庫等。通過多方面的調研及論證,采用國產龍芯處理器2I(2J)+VxWorks+雙機熱備份方案,既實現自主可控又能達到高國產化率、高可靠性要求。
自主可控計算機整機為一體化加固桌面機,由2套配置完全相同的主板和電源板組成雙機熱備冗余系統,雙機系統在工作中分別處于主機狀態、備機狀態。雙機工作狀態的仲裁切換由仲裁切換板上的仲裁切換邏輯電路實現,仲裁切換邏輯電路檢測主、備機的心跳信號和故障報警信號,如果主機的心跳信號超時或發出故障報警,立即裁決備機進入主機狀態,并同時控制相關接口設備切換。主備雙機之間通過兩路TTL電平標準的串行通道完成數據同步。雙機系統和仲裁切換板以及電源通過1塊無源底板實現系統連接。系統集成一塊液晶顯示屏和一套鍵盤鼠標設備,另外提供一個VGA視頻接口,支持外接顯示[6-11]。監控設備主控計算機系統框圖如圖1所示。

圖1 系統組成示意圖
2.1 主備選擇
主備選擇是指在多機冗余(包括雙機)情況下,當系統加電啟動或主機崩潰后從多個冗余分機中選出一臺為系統的主機。主備選擇應當考慮到選擇出來的主機是冗余中當前性能最優的。由于系統使用的兩臺分機,型號和資源配置完全一致,所運行的軟件環境也是相同的,本系統采用競爭機制進行主備選擇。即當系統加電啟動,仲裁邏輯模塊先確定槽位“A”分機為主機,如檢測到該分機心跳異常,如果槽位“B”正常,則裁決“B”分機為主機。在主機崩潰或發生故障后,仲裁邏輯模塊檢測到熱備機心跳信號正常,則裁決熱備機轉為主機。
2.2 數據及程序同步設計
整機系統主要通過以太網接口控制被測設備執行特定功能,并對控制設備反饋的信息進行分析、判斷及顯示。在系統中主要由主機負責與被測設備進行數據交互,并將交互的數據通過主備機之間的TTL串行總線轉發給備機。備機完成數據保存以及應用軟件同步,一旦主機出現故障,備機獲取主機權限后,將按照最后一次接收到的正確的控制命令和返回數據順序往下執行控制操作。系統雙機之間提供互為備份的兩個TTL串行通道作為數據同步通道。
2.3 故障檢測
故障檢測對于雙機熱備份系統是非常重要的保障機制。使用兩種方式來反應系統是否存在故障,即心跳信號與故障信號。仲裁切換邏輯則一直檢測心跳信號與故障信號的狀態,若發現異常則進行相應的切換、重啟或報警。其檢測、切換、重啟或報警邏輯框圖如圖2所示。
心跳信號的產生及作用:主、備機分別通過軟件產生(周期性方波信號)心跳信號,用于表征軟件工作正常,如軟件無異常的長時間的阻塞等待式操作,或操作系統工作正常(未死機)。
故障信號的產生及作用:主、備機通過周期性任務檢測軟硬件的狀態,用于表征硬件連接狀態。如網絡連接或USB連接斷開,則使故障信號有效。
系統仲裁主要通過“故障報警”和“心跳”組合判斷分機故障情況。
2.4 雙機切換
雙機切換設計主要是指雙工系統變成單工系統或單工系統變成雙工系統,
1)切出
當一個分機自檢出現輕度故障:“故障報警”信號輸出或“心跳”信號異常,仲裁電路檢測到分機“故障報警”或“心跳”異常,裁決系統另一分機成為主機,系統由雙工變成單工狀態,并控制接口切換電路進行切換,同時作出故障恢復或故障報警提示。
切出時機:某一個分機出現輕度故障(“故障報警”信號輸出或“心跳”信號異常);或接收到控制程序發出的切出命令。

圖2 故障檢測、切換、重啟、報警邏輯框圖
2)切入
當一個分機修復完成后,加入到系統中,并且將系統狀態恢復到雙工的過程稱為切入,切入過程中最重要的是保證狀態同步的一致。雙機系統的切入操作分為兩個步驟進行:狀態同步和備機加入。備機啟動完成、自檢合格后,通過備用數據同步通道向主機發出數據同步“請求”,主機收到“請求”后,將到接收到“請求”時刻以前的一個操作周期內的數據向請求機發送,并同步發送新產生的數據。當數據同步完成,備機發出“心跳”脈沖,報告熱備機加入完成,系統進入雙機熱備份狀態,分機切入流程如圖3所示。

圖3 分機切入流程
2.5 雙機仲裁邏輯
仲裁邏輯電路為系統分機提供“心跳”和“故障報警”兩個IO輸入接口和一個“裁決”信號輸出接口。“心跳”為周期信號,是仲裁邏輯判別主備機存在及是否處于正常工作狀態的主要依據,但鑒于系統開銷問題,“心跳”周期不可能無限小,因此在系統設計上增加“故障報警”的電平信號,該信號可在檢測到故障時立即向仲裁發出故障報警,縮短從發生故障到切換的時間,增加切換效率。仲裁邏輯如圖4所示。

圖4 仲裁邏輯圖
軟件主要包含兩個部分:一個是用于啟動的PMON引導程序,另一個是VxWorks 6.7系統。在系統上電后,首先由PMON初始化處理器,內存、南橋控制器等。然后拷貝VxWorks鏡像到內存,跳轉到相應地址后開始進入VxWorks系統啟動過程,之后VxWorks系統將負責初始化所有硬件并加載硬件驅動,加載VxWorks的系統內核。最后執行位于系統內核層級的雙機仲裁、心跳、故障檢測等任務,完成全部的啟動流程[12-15]。
3.1 啟動流程
基于龍芯2G+的主控制板的BSP包含兩個部分:一個是用于啟動的PMON引導程序,另一個是VxWorks 6.7的BSP支持包。在系統上電后,首先由PMON初始化龍芯2G+處理器,內存、南北橋控制器等。然后拷貝VxWorks鏡像到內存,跳轉到相應地址后開始進入VxWorks系統啟動過程,之后VxWorks系統將負責初始化所有硬件并加載硬件驅動,加載VxWorks的系統內核。最后執行系統內核任務及用戶自定義任務后,完成BSP的全部啟動流程。啟動流程圖如圖5所示。

圖5 啟動流程圖
3.2 心跳產生模塊
心跳模塊采用看門狗定時機制,首先將判斷當前軟件及硬件狀態寄存器是否有故障狀態存在,若存在故障,則此次不會觸發心跳,而是觸發仲裁邏輯,若不存在故障,則向GPIO周期性輸出高或低電平模擬心跳行為,該模塊作為系統底層內部模塊運行使用。心跳產生邏輯如圖6所示。

圖6 心跳產生邏輯
3.3 仲裁模塊
仲裁模塊主要是為上層應用提供仲裁切換接口,通過該接口可實現切換功能的人工干預。提供接口SWAI_SwitchDevice。同時仲裁模塊還對仲裁板發出的仲裁完成信號進行響應,讀取仲裁狀態位,判斷當前系統為工作機或是備機,從而通知上層應用應該進入何種狀態。仲裁邏輯如圖7所示。

圖7 仲裁邏輯
自主可控計算機采用國產龍芯處理器2I(2J)+ VxWorks+雙機熱備份方案,完成了主備選擇、數據及程序同步設計、故障檢測、雙機切換、雙機仲裁邏輯,實現了雙機仲裁、心跳、故障檢測等任務,既實現自主可控又能達到高國產化率、高可靠性要求。
[1]吳蓬勃.龍芯3A處理器在某軍用系統上的應用研究[J].電子技術,2014(2):32-36.
[2]齊勁松,郭江宇,吳玉生,等.基于龍芯3A+2H的火控計算機系統設計[J].測控技術,2014,33(7): 85-87.
[3]胡海根.軟硬結合打造自主可控產業鏈[J].航空制造技術,2014(18):96-96.
[4]孫大東,楊帆.自主可控信息系統軍民融合式發展的探索與實踐[J].中國軍轉民,2015(2):32-33.
[5]秦磊華,譚志虎.信息產業自主可控人才培養問題研究[J].科技管理研究,2016,36(1):37-41.
[6]周群.基于龍芯3A的艦艇用計算機主模塊的設計與實現[D].北京:中國科學院大學(工程管理與信息技術學院),2014.
[7]權天.基于龍芯3A處理器的嵌入式系統的設計與實現[D].西安:西安電子科技大學,2014.
[8]賈穎,尚慧萍,鄭慧英.測控中心計算機系統的自主可控技術研究 [J].飛行器測控學報,2015(2): 115-119.
[9]張小可.基于XTX模塊的低輻射加固筆記本的設計與實現[D].北京:中國科學院大學(工程管理與信息技術學院),2015.
[10]潘巖.加固便攜計算機主板設計與實現 [D].濟南:山東大學,2014.
[11]龔俊.基于龍芯3A的Linux系統網絡設備性能優化設計與實現[D].成都:電子科技大學,2015.
[12]袁俊卿.基于龍芯3A2H平臺VxWorks板級支持包的移植與優化[D].北京:中國科學院大學(工程管理與信息技術學院),2015.
[13]夏豪駿,王海瑞.基于龍芯平臺的J-Link協議移植實現[J].計算機工程,2014,40(2):267-270.
[14]史毅龍.基于“龍芯”計算機平臺Vxworks操作系統研究[D].北京:中國科學院研究生院(空間科學與應用研究中心),2015.
[15]周潔.基于VxWorks車載控制設備基礎軟件平臺設計與實現[D].成都:西南交通大學,2014.
Double machine system switching arbitration strategy and implementation of independently controllable computer
MEI Yong,YUAN Qiang,QIN You-lun
(N0.58 Research Institute of China Ordnance Industries,Mianyang 621000,China)
In order to satisfy the requirement of independently controllable computer high reliability,the design of double machine system switching is designed in this paper,which complete double machine system switching of arbitration principle and strategy,the software implementation.The system uses domestic godson processor2I(2J)+VxWorks+double-machine hot backup plan,completed the main machine selection,data and program synchronous design,fault detection,double machine system switching,double machine arbitration logic,has realized the double machine arbitration,heart rate,fault detection etc.Actual application shows that the system to achieve both the requirement of independently controllable,and reached high domestic rate,high reliability requirements.
independently controllable computer;double machine system switching;double machine arbitration logic;godson processor2J;VxWorks
TN702
:A
:1674-6236(2017)08-0183-04
2016-09-16稿件編號:201609151
梅 勇(1979—),男,湖北武漢人,副總工程師。研究方向:嵌入式系統研究。