空間機器人中央計算機的雙機熱備份
考慮到空間機器人中央控制計算機的雙機熱備份系統(tǒng)的特殊性,所構建的硬件平臺如圖1所示。本文引用地址:http://www.ex-cimer.com/article/202654.htm
互為備份的中央控制計算機采用完全相同的設計,通過內(nèi)部和外部的CAN總線與控制模塊和指令系統(tǒng)分別相連。熱備份時,主、備機從CAN總線上同時接收數(shù)據(jù),但只有主機可以通過CAN總線向外部輸出指令及控制數(shù)據(jù)。
主備機之間通過RS485總線相連,實現(xiàn)雙機之間數(shù)據(jù)監(jiān)測和同步等功能。在主機和備機的PIO口分別引出一條心跳線,定時發(fā)出脈沖信號,用來檢查判斷對方機是否具備基本運行能力。雙機進行切換時,通過仲裁邏輯電路改變雙機系統(tǒng)的當班權,完成系統(tǒng)的切換操作。
2 雙機熱備份策略
為保證空間機器人系統(tǒng)正常、穩(wěn)定地運行,根據(jù)空間機器人中央控制計算機雙機熱備份系統(tǒng)的特點,主備雙機需要根據(jù)系統(tǒng)的同步數(shù)據(jù)和心跳信號對對方機的運行情況進行監(jiān)測,保持主備雙機同步運行。當系統(tǒng)發(fā)生故障時利用系統(tǒng)同步數(shù)據(jù)和心跳信號,定位系統(tǒng)發(fā)生的故障,并對故障源進行判斷,完成切換。在切換后,系統(tǒng)將嘗試恢復故障,整個策略示意如圖2所示。
2.1 心跳信號
心跳信號是該中央控制計算機運行時發(fā)送的周期性脈沖信號,是中央控制計算機正常運行的判斷依據(jù)。
主備雙機可以通過對對方機心跳信號的監(jiān)測,來判斷對方機是否正常運行,同時心跳信號也是裁決故障時的一種輔助判據(jù)。當發(fā)現(xiàn)備機無心跳信號時,主機切換到單機模式,備機由外部指令系統(tǒng)進行處理;當發(fā)現(xiàn)主機無心跳信號時,備機獲得當班權變?yōu)橹鳈C并進行輸出,主機交由外部指令系統(tǒng)處理。
2.2 同步監(jiān)測
雙機同步是雙機熱備份系統(tǒng)能夠正常進行系統(tǒng)監(jiān)測,對故障進行正確判斷的基礎。正確的同步策略是雙機系統(tǒng)能夠及時檢測出軟件故障并執(zhí)行正確切換動作的前提,也是保證系統(tǒng)在故障發(fā)生之后成功恢復的關鍵要素。
為了保證雙機能夠長期、穩(wěn)定地處于同步之中,維持系統(tǒng)正常運行,制定4項關鍵同步方法。
①雙機時鐘周期同步。當主備雙機上電后,在主機啟動周期定時器的同時,應同時向備機發(fā)出消息,通知備機啟動周期定時器。由于空間機器人系統(tǒng)以生命周期為單位執(zhí)行任務,所以生命周期的同步是整個系統(tǒng)保持同步的基礎。若該操作失敗,必須重新進行周期定時器的同步。
②雙機任務初始化同步。為保證主備雙機任務在同一時間啟動,應在任務啟動指令傳遞到主機時,由主機向備機發(fā)出指令,啟動備機任務,使備機進人工作模式,其具體步驟如圖3所示。
③雙機同步數(shù)據(jù)的實時監(jiān)測。機器人執(zhí)行任務期間,主備雙機將在每個系統(tǒng)生命周期的開始向對方機發(fā)送同步數(shù)據(jù),并將收到的數(shù)據(jù)與自身數(shù)據(jù)進行比對,完成對系統(tǒng)同步數(shù)據(jù)的實時監(jiān)測。
為保證對系統(tǒng)監(jiān)測的全面性和判斷故障的準確性,提取任務號、任務階段號、系統(tǒng)周期、實際關節(jié)角度以及一個隨機碼作為系統(tǒng)的同步數(shù)據(jù),如表1所列。
④雙機再同步。當發(fā)現(xiàn)雙機系統(tǒng)的數(shù)據(jù)出現(xiàn)兩個周期以內(nèi)的超前或滯后現(xiàn)象時,不認為發(fā)生系統(tǒng)故障而進行切換,而是直接更新備機同步數(shù)據(jù),使備機重新與主機同步。
2.3 裁決邏輯
裁決是雙機熱備份系統(tǒng)中至關重要的一個環(huán)節(jié)。誘發(fā)空間機器人系統(tǒng)出現(xiàn)故障的原因很多,在其工作的空間環(huán)境中存在著大量高能粒子,極易使中央控制計算機電位發(fā)生反轉造成系統(tǒng)失常。通信線路的故障和隨機產(chǎn)生的誤碼率也很容易造成系統(tǒng)失常。通過分析總結,空間機器人系統(tǒng)最易出現(xiàn)3種故障類型,即雙機通信線路故障、系統(tǒng)任務流程故障和系統(tǒng)控制數(shù)據(jù)故障。為保證雙機熱備份系統(tǒng)及時、準確地檢測故障,判斷故障源,做出正確的切換動作,分別為3種故障制定相應的故障裁決邏輯。
(1)雙機通信線路故障
裁決邏輯:當RS485接收模塊連續(xù)3周期沒有接收到對方的同步數(shù)據(jù)時,給出故障信號。為避免計算機重復進行裁決判斷,停止同步數(shù)據(jù)發(fā)送,同時檢測備機心跳信號。若備機心跳信號停止,則由主機主動停止備機電源;若對方心跳信號正常,則由外部指令決定備機狀態(tài)。其實現(xiàn)流程如圖4所示。
(2)雙機任務流程故障
為有效、準確地判斷雙機任務流程故障,借助隨機碼表來對其進行輔助判斷。隨機碼表是一個32×16的二維short型數(shù)組,數(shù)組中的各個元素互不相同,查詢生成同步數(shù)據(jù)隨機碼的公式如下:
式中X為隨機碼表行號,Y為隨機碼表列號,TaskID為任務號,PhaseNum為任務階段號,ClcNum為任務周期號。
主備雙機存儲同一份隨機碼表,利用上述公式確定每周期的隨機碼作為同步數(shù)據(jù),發(fā)送給對方機。這樣做大大簡化了裁決邏輯,也可檢測出CPU邏輯運算單元的錯誤。
裁決邏輯:主備機首先比較同步數(shù)據(jù)中隨機碼,若隨機碼不同,則進一步比較任務號、階段號、周期號。若比較結果相同,則給出計算機邏輯運算故障信號;若不同,將對方同步數(shù)據(jù)與己方前后兩周期數(shù)據(jù)比較。若發(fā)現(xiàn)匹配數(shù)據(jù),進行備機與主機再同步;若失敗,給出任務流程故障信號。其實現(xiàn)程序流程如圖5所示。
評論