王 悉 馬連川 袁彬彬
(1.北京交通大學(xué)電子信息工程學(xué)院 北京 100044;2.軌道交通運(yùn)行控制系統(tǒng)國家工程研究中心 北京 100044)
安全計算機(jī)平臺在軌道交通、石油、天然氣、化工、電力等工業(yè)控制領(lǐng)域以及武器裝備、核電、航空、航天等領(lǐng)域廣泛應(yīng)用。
軌道交通包括城際軌道交通和城市軌道交通,城際軌道交通主要指鐵路,而城市軌道交通則主要指地鐵、輕軌等。對于軌道交通信號控制系統(tǒng)而言,一旦擁有安全計算機(jī)平臺,不同的僅僅是重新編寫或修改、移植應(yīng)用軟件,對于硬件的修改很少或沒有,從而避免了每個不同的應(yīng)用必須經(jīng)歷重新開發(fā)硬件、軟件的過程。
近年來,隨著中國列車運(yùn)行控制系統(tǒng)(CTCS)的推廣使用,國內(nèi)的信號設(shè)備科研單位與廠商開發(fā)了諸如車站列控中心、軌道電路、機(jī)車信號等設(shè)備,也引進(jìn)生產(chǎn)了車載安全計算機(jī)平臺(EVC)、微機(jī)聯(lián)鎖、無線閉塞中心(RBC)等設(shè)備,但由于種種原因還沒有研發(fā)出獨立、通用且通過安全評估的安全計算機(jī)平臺產(chǎn)品。目前,城市軌道基于通信的列車控制(CBTC)系統(tǒng)中大部分的車載ATP設(shè)備(VOBC)、聯(lián)鎖、區(qū)域控制器(ZC)和數(shù)據(jù)存儲單元(DSU)中的安全計算機(jī)平臺為直接引進(jìn)國外廠商的成熟產(chǎn)品。
國外的許多信號設(shè)備廠商都有自己的安全計算機(jī)平臺產(chǎn)品,如西門子公司的SIMIS平臺,泰雷茲公司(原阿爾卡特公司)的TAS平臺,阿爾斯通公司和安薩爾多公司的3取2平臺,日立公司、日信公司和京三公司的2取2乘2平臺,龐巴迪公司、通用電氣、阿爾斯通公司的編碼微處理器平臺等。
在軌道交通信號控制系統(tǒng)中,安全計算機(jī)平臺為各廠商的核心技術(shù),從技術(shù)、商業(yè)方面考慮,國外公司不可能轉(zhuǎn)讓安全計算機(jī)平臺等核心技術(shù)。以西門子公司為例,其SIMIS安全計算機(jī)平臺,最早從20世紀(jì)70年代使用Intel 8080開發(fā),到目前發(fā)展針對不同應(yīng)用的系列型號,已經(jīng)歷40年,不可能全盤托出、轉(zhuǎn)讓出去。
筆者在研發(fā)自主知識產(chǎn)權(quán)的CBTC系統(tǒng)時,決定要突破這一技術(shù)壁壘,研發(fā)獨立、通用且通過安全評估的安全計算機(jī)平臺產(chǎn)品。
綜合國外安全計算機(jī)平臺的發(fā)展趨勢,其結(jié)構(gòu)特點主要表現(xiàn)如下:
1)安全計算機(jī)平臺的結(jié)構(gòu)并沒有大的改變,仍然是編碼微處理器、2取2、2取2乘2、3取2這幾種結(jié)構(gòu);
2)商用貨架產(chǎn)品(COTS)硬件和軟件廣泛應(yīng)用,不再堅持使用專用安全元器件和芯片;
3)任務(wù)同步方式逐漸增多,與時鐘同步方式同時使用;
4)安全計算機(jī)平臺和應(yīng)用分離。
因此,筆者研發(fā)安全計算機(jī)平臺的原則如下:
1)與CBTC應(yīng)用的開發(fā)平行進(jìn)行,既滿足應(yīng)用對性能的要求,又能在“獨立、通用”指標(biāo)上突破;
2)安全計算機(jī)平臺必須符合IEC 61508和EN 50129、EN 50128等標(biāo)準(zhǔn),以通過國外安全評估機(jī)構(gòu)的安全評估為目標(biāo);
3)使用COTS硬件和軟件開發(fā)。
2取2乘2安全計算機(jī)平臺采用分層設(shè)計方法,將系統(tǒng)分為容錯和安全管理層、應(yīng)用處理層和數(shù)據(jù)通信層3個層次結(jié)構(gòu)。容錯和安全管理層采用冗余硬件設(shè)計方法,包括2個容錯和安全管理單元(FTSM),每個容錯和安全管理單元獨立控制2取2應(yīng)用處理層的2個應(yīng)用處理機(jī),并與其構(gòu)成2取2乘2系統(tǒng)的一個通道。數(shù)據(jù)通信層包括2臺通信機(jī),完成數(shù)據(jù)轉(zhuǎn)發(fā)的功能。兩臺處理機(jī)相互獨立工作,構(gòu)成冗余的配置結(jié)構(gòu),為2取2乘2安全計算機(jī)平臺的兩系共同使用。2取2乘2安全計算機(jī)平臺的分層架構(gòu)設(shè)計如圖1所示。
圖1 2取2乘2安全計算機(jī)平臺分層架構(gòu)
在分層結(jié)構(gòu)的2取2乘2系統(tǒng)中,數(shù)據(jù)通信層的通信機(jī)和應(yīng)用處理層的應(yīng)用處理機(jī)采用x86架構(gòu)的COTS工控機(jī)來實現(xiàn),容錯和安全管理層指揮數(shù)據(jù)通信層和應(yīng)用處理層各處理器工作,完成時鐘控制、模式管理、故障檢測和故障導(dǎo)向安全功能,是整個系統(tǒng)安全可靠運(yùn)行的“裁判”,因此它的安全完善度等級應(yīng)高于2取2雙機(jī)。為了保證其可信且安全,容錯和安全管理單元采用純硬件電路的方式來實現(xiàn),硬件邏輯結(jié)構(gòu)可以采用2取2,3取2或其他多模冗余結(jié)構(gòu)。
2取2乘2系統(tǒng)中的2取2冗余處理器可以工作于時鐘級和任務(wù)級2種同步方式。由于采用了COTS工控機(jī)作為2取2結(jié)構(gòu)的主處理器,因此任務(wù)級同步是最合適的方案。在任務(wù)級同步模式下,2取2雙機(jī)構(gòu)成松散耦合冗余結(jié)構(gòu),由于存在同步容差,對共模錯誤抑制能力高。對于任務(wù)級同步的2取2結(jié)構(gòu)而言,可以證明不存在可糾正同步誤差的雙機(jī)同步算法,這是由雙機(jī)不可能判斷誰對誰錯的邏輯二難特性所決定的。所以,任務(wù)級同步需要有可信且安全的“第三方”來進(jìn)行監(jiān)督,通過和2取2雙機(jī)軟件配合實現(xiàn)任務(wù)級同步。在該系統(tǒng)中,由容錯和安全管理單元作為“第三方”為2取2結(jié)構(gòu)中的應(yīng)用處理機(jī)提供同步脈沖,并監(jiān)督同步狀態(tài)。
對于周期運(yùn)行的控制系統(tǒng),通常的方式是在周期開始或結(jié)束處進(jìn)行同步,考慮軌道交通控制系統(tǒng)是安全完善度等級很高的安全苛求系統(tǒng),對雙機(jī)失步后系統(tǒng)的故障反應(yīng)時間有很高要求。如果僅在周期開始或結(jié)束處設(shè)置同步檢查點,很難達(dá)到控制精度和故障反應(yīng)時間的要求。因此將工作周期分解為若干微周期,2取2雙機(jī)接收到本系容錯和安全管理單元發(fā)送的同步脈沖后同時開始工作,在每個微周期的末尾設(shè)置同步檢查點,若容錯和安全管理單元在規(guī)定時間內(nèi)收不到來自2取2雙機(jī)的同步應(yīng)答信息,或雙機(jī)之間的應(yīng)答間隔過大,都會判斷為失步。在這種方式下,微周期設(shè)置越密集,控制精度越高,故障反應(yīng)速度也越快??紤]系統(tǒng)的復(fù)雜性與周期控制的特點,可優(yōu)選將控制周期分為數(shù)據(jù)輸入、應(yīng)用處理和數(shù)據(jù)輸出3個典型階段的方式,在每個階段設(shè)置一個同步點。基于微周期的同步機(jī)制如圖2所示。
圖2 基于微周期的同步機(jī)制
2取2乘2安全計算機(jī)平臺的工作狀態(tài)和模式由容錯和安全管理單元來進(jìn)行管理。根據(jù)整個系統(tǒng)的工作狀態(tài)不同,分為“工作”狀態(tài)和“非工作”狀態(tài)?!肮ぷ鳌睜顟B(tài)包括“主”和“備”兩種模式?!胺枪ぷ鳌睜顟B(tài)包括“上電”、“故障”、“同步”和“維護(hù)”4種模式。容錯和安全管理單元監(jiān)控應(yīng)用處理機(jī)的工作狀態(tài),并向應(yīng)用處理機(jī)發(fā)送模式碼來通知工作模式。同時,容錯和安全管理單元通過自鎖/互鎖邏輯來實現(xiàn)兩系間工作模式的協(xié)調(diào)和管理,避免兩個通道間互相進(jìn)行判斷時出現(xiàn)“雙主”或者“雙備”的狀態(tài),保證安全、可靠地實現(xiàn)“主”“備”通道狀態(tài)切換。狀態(tài)轉(zhuǎn)移如圖3所示。
圖3 狀態(tài)轉(zhuǎn)移
2.3.1 軟件表決和硬件監(jiān)督的數(shù)據(jù)表決機(jī)制
為了對2取2雙機(jī)軟件在周期運(yùn)行中的狀態(tài)進(jìn)行監(jiān)督,需要對2取2雙機(jī)的輸入數(shù)據(jù),輸出數(shù)據(jù)和中間運(yùn)行狀態(tài)等信息進(jìn)行表決,保證雙機(jī)運(yùn)行狀態(tài)的一致性。2取2雙機(jī)間通過內(nèi)網(wǎng)進(jìn)行數(shù)據(jù)交換,各自對數(shù)據(jù)進(jìn)行表決,將表決結(jié)果發(fā)送給容錯和安全管理單元。容錯和安全管理單元收到表決結(jié)果后,采用硬件表決機(jī)制對結(jié)果進(jìn)行判斷,只有雙機(jī)的表決結(jié)果完全一致,才會認(rèn)為表決成功;否則命令2取2雙機(jī)停止工作,轉(zhuǎn)入故障安全狀態(tài)。采用軟件表決,硬件監(jiān)督的策略,既可以發(fā)揮軟件優(yōu)勢,根據(jù)數(shù)據(jù)的重要程度采用不同的一致性控制策略,又避免了使用硬件表決器對于吞吐量和數(shù)據(jù)處理能力的要求,其安全性不會與純硬件數(shù)據(jù)有很大區(qū)別。
2.3.2 軟件流程碼
根據(jù)時間確定性原則,將系統(tǒng)的整個工作周期劃分為若干個微周期,應(yīng)用處理機(jī)需要在每個微周期固定的時間內(nèi)完成應(yīng)用計算,同時向容錯和安全管理單元發(fā)送對應(yīng)的軟件流程特征碼。如果未在規(guī)定的時間內(nèi)向容錯和安全管理單元進(jìn)行匯報,或者匯報錯誤的軟件流程碼,則判斷該2取2通道狀態(tài)異常。
2.3.3 動態(tài)信號
為能夠及時檢測出應(yīng)用軟件“跑飛”或者因為設(shè)計缺陷而進(jìn)入死循環(huán)的情況,應(yīng)用處理機(jī)需要向容錯和安全管理單元輸出周期翻轉(zhuǎn)的動態(tài)信號,為了進(jìn)一步提高動態(tài)信號的可靠性和安全性,動態(tài)信號使用雙相碼編碼方式,即每個二進(jìn)制代碼分別利用2個具有不同相位的二進(jìn)制新碼表示。
當(dāng)容錯和安全管理單元檢測到任意一臺應(yīng)用處理機(jī)或者通信機(jī)工作異常時,可以通過硬件復(fù)位和切斷電源2種方式使故障的COTS工控機(jī)導(dǎo)向安全狀態(tài)。
為了提高可靠性以及可用性,可將硬件復(fù)位以及電源控制部分的電路結(jié)構(gòu)配置成2取2或者多模冗余結(jié)構(gòu)。
為了保證發(fā)生“主”“備”狀態(tài)切換時,切換動作是無縫的,需要保證“主”“備”兩系間狀態(tài)同步。除了保證應(yīng)用處理機(jī)在進(jìn)入“備”模式之前,必須在“同步”模式中根據(jù)處于“主”模式的應(yīng)用處理機(jī)發(fā)送的數(shù)據(jù)進(jìn)行狀態(tài)同步之外,在本方案中還通過以下2種方式保證應(yīng)用處理層雙機(jī)之間的狀態(tài)同步。
1)兩系之間的應(yīng)用處理機(jī)處于周期同步的工作狀態(tài)。由于應(yīng)用處理機(jī)的工作周期是受容錯和安全管理單元控制的,所以在兩個容錯和安全管理單元之間設(shè)置同步連接線以及同步計數(shù)器切換開關(guān)。當(dāng)容錯和安全管理單元所在一系為“主”時,其輸出的同步信號控制自身的同步計數(shù)器,并通過同步連接線控制“備”容錯和安全管理單元中的同步計數(shù)器;當(dāng)容錯和安全管理單元所在的通道為“備”時,其計數(shù)器模塊受“主”容錯和安全管理單元同步計數(shù)器的控制。
2)數(shù)據(jù)通信層通信機(jī)保證給應(yīng)用處理機(jī)發(fā)送輸入數(shù)據(jù)的一致性。由于外部輸入數(shù)據(jù)到來時刻的隨機(jī)性以及應(yīng)用處理機(jī)并非時鐘級同步,某一控制周期中的輸入數(shù)據(jù)并非存在不一致的可能性,從而造成雙機(jī)狀態(tài)的不同步。設(shè)置數(shù)據(jù)通信管理層的好處在于,可以通過通信機(jī)來保證給應(yīng)用處理層雙機(jī)發(fā)送數(shù)據(jù)的一致性。
在采用了以上方法后,可以保證“主”系的運(yùn)行狀態(tài)和“備”系的運(yùn)行狀態(tài)是周期同步的。在“主”“備”兩系的一致性校驗方法上,采用了無條件支持“主”系輸出的方法,在每個控制周期應(yīng)用處理完畢后,“主”系會把自己的計算結(jié)果發(fā)送給“備”系,“備”系把“主”系的計算結(jié)果與本地計算的結(jié)果進(jìn)行比較,如果出現(xiàn)了不一致的情況,則判定“備”系出現(xiàn)了問題,使其轉(zhuǎn)入“故障”模式。
2取2乘2安全計算機(jī)平臺機(jī)柜的尺寸為:2250 mm×600 mm×800 mm(高×寬×深),整體結(jié)構(gòu)如圖4所示。
圖4 安全平臺機(jī)柜整體結(jié)構(gòu)圖
2取2的1系包含應(yīng)用處理機(jī)1和2,2取2的2系包含應(yīng)用處理機(jī)3和4,它們配置完全一樣,應(yīng)用處理機(jī)1~4采用完全相同的COTS工控機(jī)(IPC)。不論是硬件復(fù)位還是切斷電源控制,都由FTSM控制。
通信控制器1和2的配置完全一樣,與上述處理單元一樣,采用完全相同的工控機(jī)(IPC),故障導(dǎo)向安全由FTSM控制。
安全計算機(jī)平臺的核心是容錯和安全管理單元(FTSM),負(fù)責(zé)整個2取2乘2安全計算機(jī)平臺的故障安全和調(diào)度機(jī)制的處理。
容錯和安全管理單元(FTSM)需要針對2取2的1系、2取2的2系、通信控制器1、通信控制器2設(shè)置必要的按鈕和指示燈,根據(jù)對按鈕和指示燈的美觀、實用、可靠工作等要求,需要設(shè)置3U高84R寬的機(jī)械組件,具體如下。
1)按鈕:對2取2的1系設(shè)置1系工作、1系恢復(fù)2個按鈕,對2取2的2系設(shè)置2系工作、2系恢復(fù)2個按鈕,對通信控制器1設(shè)置通信控制器1恢復(fù)按鈕,對通信控制器2設(shè)置通信控制器2恢復(fù)按鈕。
2)指示燈:對2取2的1系設(shè)置1系電源、1系運(yùn)行、1系工作、1系恢復(fù)4個指示燈,對2取2的2系設(shè)置2系電源、2系運(yùn)行、2系工作、2系恢復(fù)4個指示燈,對通信控制器1設(shè)置通信控制器1電源、通信控制器1運(yùn)行、通信控制器1恢復(fù)3個指示燈,對通信控制器2設(shè)置通信控制器2電源、通信控制器2運(yùn)行、通信控制器2恢復(fù)3個指示燈。
繼電器組件是整個安全計算機(jī)平臺故障導(dǎo)向安全的執(zhí)行機(jī)構(gòu),它接收來自于容錯和安全管理單元(FTSM)的控制信號,通過控制2取2的1系、2取2的2系、通信控制器1、通信控制器2的4組交流220V電源和復(fù)位信號來實現(xiàn)電源關(guān)斷和硬件復(fù)位。
安全計算機(jī)平臺的電源插箱用于外部兩路220V交流電源的接入。兩路電源使用了配置冗余結(jié)構(gòu),分別進(jìn)行防雷和濾波處理后供整個機(jī)柜的1系和2系使用。
為了滿足2取2乘2安全計算機(jī)平臺的生產(chǎn)、維護(hù)、維修之用,還設(shè)計了2取2乘2安全計算機(jī)平臺測試臺,主要針對其安全電源板、輸入輸出板、邏輯板、指示燈和按鈕操作組件、繼電器組件、電源插箱等電路板和組件進(jìn)行板級測試,對于FTSM,則測試其控制邏輯的正確性與完備性。安全平臺測試臺機(jī)柜的尺寸為1 600 mm×600 mm×800 mm(高×寬×深),其整體結(jié)構(gòu)如圖5所示。
圖5 2取2乘2安全計算機(jī)平臺測試臺結(jié)構(gòu)
無論對每種電路板或組件的板級測試,還是FTSM的功能測試,首先需要建立測試環(huán)境,提供測試所需的各種外部條件。采用計算機(jī)全自動測試的有FTSM的功能、邏輯板、輸入輸出板和通信板的測試,采用計算機(jī)輔助半自動測試的有安全電源板、指示燈和操作按鈕組件、繼電器組件、電源插箱、工控機(jī)、維護(hù)機(jī)、交換機(jī)的測試。2取2乘2安全計算機(jī)平臺測試臺軟件操作界面如圖6所示。
圖6 2取2乘2安全計算機(jī)平臺測試臺軟件操作界面
筆者研發(fā)的2取2乘2安全計算機(jī)平臺產(chǎn)品經(jīng)過了高低溫、振動等形式試驗以及電磁兼容測試,也經(jīng)過了實驗室、北京地鐵車輛廠試車線的初試和大連快軌中試的嚴(yán)格功能測試,并通過了國外獨立第三方的安全認(rèn)證,產(chǎn)品成功應(yīng)用于北京地鐵亦莊線和昌平線的ZC、DSU設(shè)備,經(jīng)歷了各種現(xiàn)場測試,目前正在可靠、安全地服務(wù)于北京地鐵亦莊線和昌平線。
[1]燕飛,唐濤.軌道交通信號系統(tǒng)安全技術(shù)的發(fā)展和研究現(xiàn)狀[J],中國安全科學(xué)學(xué)報,2005,15(6).94-99.
[2]唐濤,燕飛,郜春海.軌道交通信號系統(tǒng)安全評估與認(rèn)證體系研究[J],都市快軌交通,2004,17(1).74-79.
[3]吳汶淇.軌道交通運(yùn)行控制與管理[M].上海:同濟(jì)大學(xué)出版社,2004.38-43.
[4]袁由光,陳以農(nóng).容錯與避錯技術(shù)及其應(yīng)用[M].北京:科學(xué)出版社,1992:1-4.
[5]員春欣.鐵路信號容錯技術(shù)[M].北京:中國鐵道出版社,1997:2-5.
[6]陳樹泉,唐濤.2乘2取2安全計算機(jī)關(guān)鍵算法的設(shè)計與實現(xiàn)[J].計算機(jī)安全,2004(17):7-9.
[7]王猛,寧濱,馬連川.基于COTS的安全計算機(jī)系統(tǒng)[J].鐵道通信信號,2007,43(3):56-58.