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

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

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

圖3 程序運行原理框圖
3.3 數(shù)據(jù)比較
當(dāng)應(yīng)用程序運行到輸入階段,3套程序間會進(jìn)行一次相互通信,通信的主要目的是將本周期內(nèi)采集到的數(shù)據(jù)(包括表示機(jī)車狀態(tài)的各種開關(guān)量、模擬量和脈沖量)發(fā)送給其它兩套子系統(tǒng)。之后程序?qū)⒈容^自身采集的數(shù)據(jù)與其它兩套采集的數(shù)據(jù),按照三取二的原則進(jìn)行比較和修正,這樣可以屏蔽由任意一個子系統(tǒng)硬件故障而產(chǎn)生的錯誤輸入。
3.4 CPU板重啟后的恢復(fù)
主板帶有看門狗功能,一旦應(yīng)用程序死機(jī)就會重新啟動。在重啟之后初始化完成之前,程序需要獲取當(dāng)前系統(tǒng)的運行信息,以完成對運行時序與數(shù)據(jù)的同步。具體步驟是如果當(dāng)重新啟動的主板在完成初始化操作之前就收到另外兩套主板發(fā)送的帶有初始化完成標(biāo)志的同步信息,那么它就會在同步數(shù)據(jù)包中加入數(shù)據(jù)請求標(biāo)志進(jìn)行回發(fā)。之后主用的程序收到數(shù)據(jù)請求后會將自己的相關(guān)信息全部發(fā)送給請求者,請求數(shù)據(jù)的一方再收到后會撤銷數(shù)據(jù)請求標(biāo)志。重啟后的程序更新完所有的信息之后,初始化完成,與另外兩系保持同步運行。
3.5 設(shè)備自檢、故障切換
當(dāng)發(fā)生以下情況時,主用仲裁模塊會進(jìn)行主用的切換:
(1)經(jīng)過輸入比較之后,主用的子系統(tǒng)發(fā)現(xiàn)自身的某一路輸入與其它兩套子系統(tǒng)的輸入長期不一致,說明該路輸入硬件有故障,基于安全考慮,程序會通知仲裁模塊放棄主用控制。(2)主用的主板發(fā)現(xiàn)與之連接的其他模塊(串口通信板、開關(guān)量輸入輸出板等)出現(xiàn)了問題,比如板卡相互間的通信不通、板卡自檢發(fā)現(xiàn)了故障等等,那么程序會通知仲裁模塊,進(jìn)行主用的切換。(3)當(dāng)主用的子系統(tǒng)與外圍設(shè)備間的某一串口通信發(fā)生超時現(xiàn)象,說明該路串口的收發(fā)存在問題,故切換主用控制,換另一套子系統(tǒng)的串口通信板嘗試恢復(fù)通信。(4)當(dāng)主用仲裁模塊與主用的子系統(tǒng)主板通信斷失時,會觸發(fā)主用的切換。
基于冗余容錯技術(shù)的三取二安全計算機(jī)系統(tǒng)硬件上采用冗余結(jié)構(gòu)、故障隔離技術(shù)、故障切換技術(shù),保證了整個輸出的可靠性;軟件上采用了同步機(jī)制、數(shù)據(jù)比較和故障恢復(fù)技術(shù),保證了輸入采集的正確性。該計算機(jī)系統(tǒng)滿足了車載控制設(shè)備安全性的要求,已運用在機(jī)車同步操縱系統(tǒng)上道試驗中,保障了試驗的順利進(jìn)行。
[1]燕 飛,唐 濤.軌道交通信號系統(tǒng)安全技術(shù)的發(fā)展和研究現(xiàn)狀[J].中國安全科學(xué)學(xué)報,2005,15(6):94-99.
[2]任 鵬.二乘三取二冗余結(jié)構(gòu)設(shè)計[D].成都:西南交通大學(xué),2009.
[3]陳文賽.一種高可靠、高安全性系統(tǒng)—三取二計算機(jī)系統(tǒng)[J].現(xiàn)代雷達(dá),2004,26(6):19-21.
[4]孫壽龍,盧利勇.三取二鐵路信號安全平臺嵌入式操作系統(tǒng)選型研究[J].鐵路通信信號工程技術(shù),2013,10(1):12-15.
責(zé)任編輯 付 思
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
劉 真,工程師。