杜英梅 童萬烽 趙金華
(黑龍江省軍區 黑龍江省哈爾濱市 150001)
隨著我國電子科技的發展和經濟實力增強,加之擁有大量的科技人才,以及電子、控制、計算機技術的發展和普及,使得數字化設備中的數控系統成本越來越低,容錯技術融入系統設計過程中具有可能。這種方法主要解決數字化設備在電磁環境下不能正常工作的難題,使得信息設備的成本提高千分之一左右,但卻能夠使得數字化設備可靠性從99%提高到99.5%-99.8%。容錯技術是防護電磁軟破壞的最好方法之一,容錯技術有效防止數字化設備在電磁干擾、各種輻射環境中運行出錯及失敗,提高系統可靠性。
復雜電磁環境對信息系統也有很大的影響。因為經濟生產、生活的過程之中,需要借助于電磁環境,完善數據信息的傳輸。從過往經驗來看,信息在通過電磁環境進行交互傳播的同時,其自身的穩定性也受到電磁環境的影響,導致穩定性、完整性下降。從過往經驗來看,電磁環境的影響是一個長期性、復雜性的過程,例如信息在電磁環境的干擾下,其會出現信息傳輸中斷、丟失的情況,影響了信息的使用。同時在使用環節數據信息出現差錯的概率增加,這種情況的出現,導致信息失真,影響了信息的實用性。
如圖1 所示,從電磁信號對通信系統相關設備的耦合路徑可以其對于征信信息平臺的危害極大,影響了正常設備運行的成效。
容錯技術作為一種技術手段,其能夠在系統出現故障的情況下,系統仍舊可以正常運轉。容錯技術在信息系統中的應用,能夠增強信息系統的運行成效與穩定性,防范各類突發事件的發生,確保各項活動的有序進行。容錯技術正是用于構造一種能夠自動排除非致命性故障的系統,即容錯系統。容錯技術的基礎在于硬件設備的容錯能力,隨著硬件技術的快速發展,相關理論的逐步成熟,硬件容錯能力穩步提升。軟件作為硬件配合驅動的重要途徑,通過硬件的有效容錯,保證了突發狀態下,硬件組成的有序運轉。從二十世紀七十年代開始,軟件容錯的作用逐步被重視,作用發揮日益明顯。例如出現了數據備份技術等相關技術手段。在2002 年,我國成功發射的神州飛船船載控制計算機,就是利用容錯技術進行設計的,它也是我國容錯技術應用的典范。容錯技術從冗余設計的角度出發,通過資源交互路徑的適當增加,來實現信息的穩定共享。考慮到信息資源的差役,冗余技術呈現出差異化的特性,形成硬件、軟件冗余處理機制。具體來看,硬件冗余主要依托硬件,來實現部分循環,保證容錯效能。軟件則主要將不同的軟件進行同一功能的使用,通過這種方式,保證軟件能夠適應多種場景之下的使用需求。信息冗余是利用在數據中外加的一部分信息位來檢測或糾正信息在運算或傳輸中的錯誤而達到容錯;時間冗余是通過消耗時間資源來實現容錯,其基本思想是重復運算以檢測故障。冗余設計可以是元器件級的冗余設計,也可以是部件級的、分系統級的、或系統級的冗余設計。冗余要消耗資源,應當在可靠性與資源消耗之間進行權衡和折衷。

圖1:通信系統受電磁環境干擾的耦合路徑
從實際情況來看,電磁輻射對于電氣設備的影響主要表現在4個方面的內容。具體來看,當出現電壓擊穿的情況時,設備中的電磁能被接收設備逐漸放大,轉變為較大的電流,這些較大電流在經過高電阻時,局部出現高壓,高壓區域的出現,導致電子元器件回路發生擊穿的情況。電子元器件的燒毀,主要表現在元器件結構出發熔斷等永久性損傷,在這種情況下,電子元器件的功能完全喪失,相關作用難以正常發揮。同時在電磁環境下,大量存在的微波,使得金屬溫度上升,溫度環境的變化,無疑使得電子設備的運行環境發生深刻變化,導致整個電子元器件性能的下降。盡管現階段技術人員對于電子設備做好了相應技術處理,應對電涌沖擊的影響。但是從實際情況來看,這種技術處理方式并不完善,例如部分電流會沿著縫隙,涌入電子元器件之中,導致敏感元器的性能的喪失。同時,當信息系統的功率處于較低水平的過程中,系統損傷較低,但是瞬間干擾的程度仍舊較大,如果沒有采取必要的處理,勢必造成系統無法正常運轉。
數字化設備的電磁防護主要是進行設備和設備使用環境的屏蔽,積極有效的屏蔽可以最大限度地保護數字化設備免遭電磁干擾的破壞,但只靠屏蔽技術來防止電磁干擾的破壞是不夠的。在系統設計時,就應該考慮到復雜電磁環境對數字化設備運行造成的軟破壞,還要考慮針對電磁環境對數字化設備的“瞬時干擾”造成的運行錯誤和瞬時失效而采取的防護策略。
設計一個容錯系統,首先要根據電磁環境和各種可能的情況分析各種失效模式,然后,采用合理的冗余管理技術,有針對性的加以預防和保護,使可靠性等綜合性能指標最優。
3.2.1 信息系統的雙機容錯體系結構
雙機容錯系統采用的是系統冗余方式,因其構造簡單,容易實現,成本小,對一般應用其可靠性完全可以滿足系統要求。
(1)系統結構。待命儲備雙機系統,因其結構簡單,是聯機系統中用的最多的一種結構,一臺機器工作,另一臺機器處于待命狀態,工作機故障時將任務切換到備用機上執行,從而延長系統的壽命。待命儲備雙機系統應采用雙機協同容錯方式,該系統是用兩臺計算機分別獨立的處理同一任務,處理結果進行比較,如果一致便由主機輸出。此種結構切換容易,可靠性較高,尤其適用于較難檢測的偶然性故障。在電磁環境比較惡劣的環境下使用這種體系結構是必要的。
(2)故障檢測和恢復。快速準確檢測到系統故障是提高系統可用性的關鍵,容錯系統設計通常采用以下幾種故障檢測手段。一是截獲異常。硬件錯誤和軟件錯誤都可能造成系統異常,例如,在瞬時故障干擾下而發生地址、指令等的跳變而造成除零錯。利用截獲異常的手段,可以檢測多數軟件錯,也能檢測一部分硬件錯。二是心跳檢測。主機通過高速串口向從機定時發送查詢信息或備份數據,若主機或從機在規定時間內沒有聽到對方的“心跳”或“響應”,則認為對方已發生嚴重故障。三是監視定時器(Watchdog)。主機CPU 一般自帶看門狗電路,通過編程實現對系統的監測。四是I/O回路檢測。I/O 設備主要包括A/D,D/A,D/D,其中主要對A/D,D/A 進行檢測,將采用I/O 回路自試驗方法進行檢測,進行檢測時將對接口的每一個通路進行檢測,通常結合信號采集而實施。五是CPU 自檢測。CPU 是控制主機的心臟,控制著整個系統的正常工作,其功能正確與否至關重要。
(3)故障機的隔離。已查出異常狀態的主機,可以人工干預,手動切換,或由軟件自動切換,系統則進入單機工作模式,隔離故障機可以防止錯誤的蔓延。
(4)系統重構條件。一是降級。從宏觀上看,當某一臺控制主機出現故障,不能正常工作時,信息系統應該降級為單模使用。在具體實現時,判斷系統降級的條件是:對方頻繁地復位、根據對方復位次數判斷出對方已經切斷電源、心跳檢測認為對方不在活著、發現系統信息總線上長期空閑、對方請求降級。二是升級。從宏觀上看,當某一臺控制主機認為故障已經排除,可以正常工作時,信息系統應該升級為多模使用。三是切換。切換與恢復過程是系統實現高可用性的關鍵步驟,也是系統最后的故障處理手段,只有在主機出現嚴重故障時才使用。
3.2.2 信息系統存儲模塊的容錯設計
存儲器是一種靠電荷移動形成雙穩態的元件,對空間電磁輻射和電磁干擾比較敏感,容易出現翻轉現象,即受電磁干擾后由一個穩態翻轉到另一個穩態。存儲單元內容的變化對軟件的運行非常不利,造成死機或輸出錯誤結果,必須用技術手段加以解決。國內外通常采用檢錯糾錯編碼的策略來應對存儲單元的翻轉。
目前,存儲系統包括RAM、ROM、PROM、EEPROM、SSD等。由于電磁干擾對RAM 的影響遠比ROM 嚴重,所以各種常數、參數應盡量固化于ROM 中,將引導程序與上層軟件交互的一些參數存放在EEPROM 中,并且在多處存放,可以進行三模表決。三摸表決就是三個模塊同時執行一樣的操作,以多數相同的輸出作為該表決系統的正確輸出,通常稱為三中取二,是基于“少數服從多數”的一種糾錯原理,表決系統也稱為一種故障掩蓋系統(Fault Masking)。由于PROM 是只讀存儲器,并具有固化后不能改變的特點,它的抗干擾能力特別是抗電磁輻射能力遠比RAM 強。系統的引導程序部分和固定的常數部分都固化于PROM 中。引導程序的程序區、可變數據區和固定數據區分開存放。在運行時把程序和數據復制到RAM 中運行,這樣,即使PROM 中的可變數據區受到破壞,仍可以把數據常量復制到RAM 中運行,不影響引導程序的執行。專用操作系統可以存放在EEPROM 中,而系統應用程序、控制參數、工程參數等存放在更可靠、高性能的固態存儲器SSD 中,這是目前解決電磁環境干擾的最好策略。
3.2.3 信息系統的容錯總線設計
作為一種成熟的CAN 總線,其技術規范性較好,有著較好的實用性。具體來看,CAN 總線的運算效果較強,可以采取主動式的管理機制,進行信息數據的快速共享。并且這種技術控制方式,其靈活性較強,可以滿足不同場景下的使用需求。例如建立起不同的控制節點,完成不同優先級的控制任務,實現控制任務的順利完成,在整個控制過程中,多個節點同時進行信息數據的發送,這種情況可以避免數據的沖突,可以進行不同點、直通點的傳播方式。 CAN 總線的容錯方案采用軟件控制的備份冗余方式,其基本思路是使用兩個CAN 總線控制器,每個總線控制器配備一個CAN 總線驅動器,通過兩對差分線路構成總線BUS1 和BUS2。正常情況下,由軟件設置總線控制器從BUS1 和BUS2 接收數據,從BUS1 發送數據,當BUS1 發生故障時則切換至BUS2 發送數據。這時總線的故障檢測是一個關鍵,總線控制器中存在兩個錯誤計數器(接收錯誤計數器和發送錯誤計數器),當接收錯誤和發送持續存在時,錯誤計數器溢出,該節點被置為“總線脫離”狀態。這時總線控制器中斷以通知處理器,處理器就應執行切換操作。當某一節點切換至BUS2 后,應通知其余節點進行切換,該節點應循環向其余節點發送信息,直至所有節點都切換到BUS2 并向其發回應答,此后再進行正常信息。
3.2.4 信息系統的容錯軟件設計
不管是引導程序還是上層軟件,都必須進行可靠性設計,使系統更加完善。故障處理就是可靠性設計中的一個重要方面,系統需要對瞬時故障和永久故障作正確的處理,使系統在故障狀態下仍保持較高的可用性。我們應該編寫3 至5 個相同功能的不同版本的軟件,利用軟件設計差異來實現容錯。
容錯技術是一門新興技術,起步較晚,不被人們所重視,但隨著自然環境和電磁環境的惡化,加之電子設備廣泛應用和普及,人們越來越重視電子設備的防護。容錯技術可以提高數字化設備的可靠性,在關鍵領域已得到廣泛應用。我國在空間應用領域,為防止空間電磁干擾、空間粒子、及輻射等空間環境的破壞,利用容錯技術研制神州衛星星載計算機控制系統,使得我國神州系列飛船成功運行。這證明容錯技術在信息系統領域具有廣泛可行的應用前景。