劉 真
(北京全路通信信號研究 設計院集團有限公司,北京 100070)
一種三取二安全計算機系統的設計與實現
劉 真
(北京全路通信信號研究 設計院集團有限公司,北京 100070)
介紹一種用于鐵路車載控制設備的三取二安全計算機系統。該計算機系統由3套相同的子系統構成,采用冗余容錯技術并利用VxWorks實時操作系統和軟件進行開發。三系冗余容錯系統的特點是對單系故障具有屏蔽作用,體現在控制過程中就是控制的連續性和故障后的無縫切換,這是選擇三系的主要動機。
三取二;安全性;冗余系統;容錯
鐵路車載控制設備是列車控制系統的重要組成部分,是保證列車安全運行,提高運輸效率的關鍵。如果一旦發生故障,就有可能使機車失控,引發冒進信號、脫軌等事故,導致重大的損失。因此從安全的角度出發,車載控制設備必須采用高安全性和高可靠性的計算機系統作為運算控制平臺。
目前,國內外鐵路和城市軌道交通領域的控制系統一般采用結構為二乘二取二或三取二的安全計算機系統[1]。該計算機系統負責機車控制邏輯的運算、機車狀態的采樣和控制輸出,是整個車載控制設備的核心。因此我們設計了一種基于冗余容錯技術的三取二安全計算機系統,實現了單系故障后設備的無縫切換,保證了控制的連續性,提高了系統的可靠性和安全性。本文主要就該系統的結構、功能以及安全防護機制進行介紹。
冗余容錯技術分為靜態冗余技術和動態冗余技術。
靜態冗余技術又叫故障屏蔽技術,就是利用冗余資源的堆積,把故障的效應掩蓋過去,使系統在故障發生后仍能持續正常工作的一種技術。它具有對故障的容忍能力,因此它是實現容錯的第一途徑。
動態冗余技術又叫故障切換技術,當檢測發現系統內部發生故障了,通過系統內部的一次重組來切除和替換故障部件。它是實現容錯的另一種途徑[2]。
三取二安全計算機系統由功能完全相同且獨立的3套子系統構成,相互構成冗余關系,每個子系統分別對系統輸入進行計算,在“三取二”的工作狀態下,按照“少數服從多數”的糾錯原理,計算結果通過表決模塊進行比較,若有兩個子系統的結果一致則將它作為系統正確的輸出,這樣就可以屏蔽任意一個通道的故障[3],這是系統的靜態冗余設計。
系統實時檢測3個子系統的狀態,若某個子系統發生了故障,系統立即將該子系統的功能無縫切換到另兩套子系統上,當只有兩個子系統正常時,系統進入“二取二”工作狀態,這是系統的動態冗余設計。
三取二安全計算機系統只有處于“三取二”或“二取二”運行狀態時,系統才能運行應用程序。在系統架構的設計中,我們采用了三取二計算機系統的思路,綜合運用上述兩種冗余技術,實現屏蔽3個計算機通道中任意一個通道的故障,并對故障部件及時進行切換,保證設備運行的安全性和可靠性。
2.1 硬件組成
本系統由3套獨立的子系統和表決電路構成。每套子系統包括:(1)主板:采用寬溫、低功耗的處理器,帶一個可編程的看門狗和6個帶光電隔離的串口;(2)串口通信板:帶有16路采用光電隔離的串口,負責與其它外圍設備的串口通信;(3)開關量輸入輸出板:提供帶光電隔離的48路開關量輸入輸出,負責對機車電氣節點狀態的采集以及對機車的控制輸出;(4)模擬脈沖量輸入輸出板:提供8路不共地的模擬量隔離輸入、4路模擬量輸出以及8路數字脈沖隔離輸入,主要用于采集和控制機車級位,采集機車速度信息。上述板卡均具備自檢能力,各塊板卡之間由三重獨立的CAN總線連接。
除了3套子系統,系統還包括主用仲裁模塊以及由開關量輸出表決板和模擬量輸出表決板組成的表決模塊,各板卡模塊之間的連接關系如圖1所示。

圖1 各板卡連接關系圖
2.2 表決模塊
外部機車信號由插頭進入后分3路并行輸入3套計算機子系統,經過計算機采樣運算處理,得出結果后通過各自的通道將開關量和模擬量輸出到相應的表決板。
開關量輸出表決板通過繼電器電路對3組通道的24路開關量輸出進行表決。其原理如圖2所示,A、B、C分別是3組通道對同一路的輸出,由4個繼電器組成四角大數表決電路完成一路對外輸出的三取二表決功能。

圖2 開關量輸出表決原理框圖
圖2中,最終開關量輸出結果 = (A | B) &(C | D);其中,D=A &B,由四角大數表決電路給出。
模擬量輸出表決板是將3組通道的模擬量輸出采用數值區間范圍取中的方式進行兩兩比較,并決定最后的輸出;如果3組模擬量之間差別都很大,則按照上一周期的比較結果進行輸出。
2.3 主用仲裁模塊
根據本系統與外部設備之間串行總線的連接情況,3個子系統的串口通道不能同時均向外部設備發送數據,故系統必須決定由某一組通道向外發送。那么負責向外發送串行數據的子系統作為主用子系統,對應的串口通信板作為主用通信板,其余的子系統作為備用子系統。主用的子系統除了承擔發送串行數據的任務外還具有以下功能:(1)協調子系統間周期性的時鐘同步;(2)響應其它子系統發來的數據請求。
子系統成為主用的前提是自身各個模塊運行狀態正常,每個周期系統會監視各個子系統的狀態,若發現主用的子系統存在問題,則立即將其主用功能切換到另一正常的子系統上,該機制稱為系統的主用切換機制。
負責切換主用狀態的是主用仲裁模塊。該模塊的功能包括:(1)監視各個子系統的狀態;(2)切斷非主用通信板串口發送通道,打開主用通信板串口發送通道;(3)切斷非正常子系統的輸出,包括串口、開關量和模擬量輸出。3個子系統與主用仲裁模塊通過獨立的總線連接,每個周期子系統將自身狀態發送給主用仲裁模塊,主用仲裁模塊再將仲裁結果發送回子系統,使后者獲知自己是否為主用。
列車控制系統對控制的實時性和可靠性要求比較高,因此采用VxWorks系統作為主板的操作系統。VxWorks實時操作系統具有高效的任務管理、靈活的任務間通信和優先級調度以及較高的安全性等特點,在鐵路自控領域有很多成功案例[4]。
3.1 系統初始化
設備上電之后,3塊主板的應用程序同時開始運行并進行自檢,完成自檢后與主用仲裁模塊建立通信,由仲裁模塊隨機從自檢成功的子系統中挑選一個作為主用子系統,并將結果發送回3個子系統,至此系統完成初始化。若規定時間內自檢成功的子系統少于兩個,則系統初始化失敗,關閉所有的輸出通道。
3.2 系統同步
在三取二冗余結構中,3個主板上應用程序運行節拍的同步是一個關鍵問題,是系統進行比較和表決工作的基礎,因此系統采用周期同步的方式來實現系統的同步。
應用程序按照數據操作流程將一個運行周期分為輸入、比較、運算和輸出4個任務,每個任務都有其嚴格的生存時間段,如果某一個任務由于異常原因超出了它的時間段范圍,它都會被程序強制結束。系統在一個運行周期內完成兩次周期同步操作,即程序分別在比較和輸出兩個任務階段向另兩塊主板發送包括運行節拍、輸入數據等信息的同步數據包,以完成節拍同步、數據比較等功能。同步數據包的信息主要包括:(1)用于同步運行節拍的時間信息;(2)數據請求信息;(3)用于進行輸入比較的數據;(4)用于記錄數據包時間順序的時間戳。
收到時間信息的備用子系統會根據主用子系統的節拍調整自己的運行節拍,即備用子系統與主用子系統在運行節拍上保持一致,從而消除3套應用程序在運行中產生的時間誤差,以保證3套子系統的同步。圖3為程序運行原理框圖。

圖3 程序運行原理框圖
3.3 數據比較
當應用程序運行到輸入階段,3套程序間會進行一次相互通信,通信的主要目的是將本周期內采集到的數據(包括表示機車狀態的各種開關量、模擬量和脈沖量)發送給其它兩套子系統。之后程序將比較自身采集的數據與其它兩套采集的數據,按照三取二的原則進行比較和修正,這樣可以屏蔽由任意一個子系統硬件故障而產生的錯誤輸入。
3.4 CPU板重啟后的恢復
主板帶有看門狗功能,一旦應用程序死機就會重新啟動。在重啟之后初始化完成之前,程序需要獲取當前系統的運行信息,以完成對運行時序與數據的同步。具體步驟是如果當重新啟動的主板在完成初始化操作之前就收到另外兩套主板發送的帶有初始化完成標志的同步信息,那么它就會在同步數據包中加入數據請求標志進行回發。之后主用的程序收到數據請求后會將自己的相關信息全部發送給請求者,請求數據的一方再收到后會撤銷數據請求標志。重啟后的程序更新完所有的信息之后,初始化完成,與另外兩系保持同步運行。
3.5 設備自檢、故障切換
當發生以下情況時,主用仲裁模塊會進行主用的切換:
(1)經過輸入比較之后,主用的子系統發現自身的某一路輸入與其它兩套子系統的輸入長期不一致,說明該路輸入硬件有故障,基于安全考慮,程序會通知仲裁模塊放棄主用控制。(2)主用的主板發現與之連接的其他模塊(串口通信板、開關量輸入輸出板等)出現了問題,比如板卡相互間的通信不通、板卡自檢發現了故障等等,那么程序會通知仲裁模塊,進行主用的切換。(3)當主用的子系統與外圍設備間的某一串口通信發生超時現象,說明該路串口的收發存在問題,故切換主用控制,換另一套子系統的串口通信板嘗試恢復通信。(4)當主用仲裁模塊與主用的子系統主板通信斷失時,會觸發主用的切換。
基于冗余容錯技術的三取二安全計算機系統硬件上采用冗余結構、故障隔離技術、故障切換技術,保證了整個輸出的可靠性;軟件上采用了同步機制、數據比較和故障恢復技術,保證了輸入采集的正確性。該計算機系統滿足了車載控制設備安全性的要求,已運用在機車同步操縱系統上道試驗中,保障了試驗的順利進行。
[1]燕 飛,唐 濤.軌道交通信號系統安全技術的發展和研究現狀[J].中國安全科學學報,2005,15(6):94-99.
[2]任 鵬.二乘三取二冗余結構設計[D].成都:西南交通大學,2009.
[3]陳文賽.一種高可靠、高安全性系統—三取二計算機系統[J].現代雷達,2004,26(6):19-21.
[4]孫壽龍,盧利勇.三取二鐵路信號安全平臺嵌入式操作系統選型研究[J].鐵路通信信號工程技術,2013,10(1):12-15.
責任編輯 付 思
Two-out-of-three Safety-critical Computer System
LIU Zhen
( Beijing National Railway Research &Design Institute of Signal &Communication Ltd.,Beijing 100070,China)
This article introduced a two-out-of-three Safety-critical Computer System which was used in on-board equipment of railway transport.The System consisted of three same subsystems,was developed with fault-tolerant technology and the VxWorks real-time operating system.The characteristic of three series redundant fault-tolerant system is the shielding effect to the single line fault,reflects the continuity in the control process and seamless handover after breakdown.
two-out-of-three;security;redundant system;tolerance of failure
U284.482∶TP39
A
1005-8451(2016)11-0049-04
2016-03-29
劉 真,工程師。