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