本站小編為你精心準備了通用型列控系統的計算機設計論文參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
1安全計算機平臺硬件結構改進
信號系統包括地面系統與車載系統,車載設備是以一個安全計算機擴展開的,而地面系統則包含多個基于安全計算機的設備,系統功能多,結構復雜,具備典型性.因此,本文以CTCS-3地面信號系統安全計算機平臺簡化方案為例.該方案的硬件平臺也可以較少修改移植于車載信號系統.
1.1信號系統實施方案基于分布式原則,將CTCS-3級信號系統分為核心主機部分和遠程外設(車載設備也作為遠程外設)部分,如圖1所示.①核心主機部分基于核心主機型配置的安全計算機平臺實現,放置于目前信號機械室內,支持目前無線閉塞中心(RBC)、臨時限速服務器(TSRS)、計算機聯鎖(CBI)和列車運行控制中心(TCC)的核心控制邏輯,以及與臨時限速服務器(TSRS)、計算機聯鎖(CBI)相適應的人機界面(DMI)的功能.②遠程外設部分基于遠程外設型配置的安全計算機平臺實現,盡量靠近現場控制對象,確保遠程外設和現場控制對象之間的硬連線盡可能縮短.遠程外設支持計算機聯鎖通用數字量輸入或輸出功能;軌道電路通用數字量輸入或輸出功能,智能輸入或智能輸出功能;軌旁電子單元(LEU)通用數字量輸入或輸出功能,智能輸入或智能輸出功能。
1.2系統的具體實現針對列控系統這樣的安全苛求系統,提高可靠性和安全性的最直接辦法就是采用硬件冗余結構,但這樣會加大共因失效的概率.因此,為了降低整個冗余結構的失效率,應遵循差異性結構的設計原則,在物理、功能及流程三方面,保證各通道、模塊之間或系統功能之間存在充分獨立性.本設計采用硬件/軟件差異性設計原則.通過硬件上選擇不同處理器架構,同時選擇不同的操作系統、不同的編譯器、不同的編程語言及開發環境,從而降低共因失效.改進的安全計算機平臺基于2乘2取2結構,如圖2所示.圖2主要分為3個部分:邏輯處理單元(LogiProcessingUnit,LPU),外部設備管理單元(Pe-ripheralManagementUnit,PMU),容錯和安全管理單元(FaultTolerantandSafetyManagement,FTSM)[6-7].其中,邏輯處理單元由2組共4個LPU構成,每2個LPU構成1組2取2結構的一系,兩系構成2乘2取2結構.每一系2個LPU一個基于X86架構,另一個基于PowerPC架構.容錯和安全管理單元由2個或多個FTSM構成,在滿足安全性的前提下,優先選擇2個FTSM的方案,即2取2(1-out-of-2,1oo2)結構的FTSM方案,2個FTSM一個基于ARM架構使用C語言實現,另一個FPGA使用VeriLogHDL實現.外部設備管理單元由2組共4個PMU構成,每2個PMU構成1組2取2結構的一系,兩系構成熱備(2乘)2取2冗余結構或并行2取2冗余結構.每一系的2個PMU一個基于X86架構,另一個基于PowerPC架構.根據上述信號系統的功能分析,通用安全計算機平臺應可以配置成核心主機型配置、遠程外設型配置兩種形式,見圖3和圖4.典型的核心主機型配置包括邏輯處理單元、外部設備管理單元、容錯和安全管理單元3個部分及安全通信內網VCIN.典型的遠程外設型配置時,包括外部設備管理單元、容錯和安全管理單元兩個部分及安全通信內網VCIN。
2安全計算機平臺軟件結構改進
由于列控系統采用不同軟件來實現不同的功能,要將幾臺設備完成的功能集成到一臺設備,在時間上和內存上需要對各任務進行隔離,使得同一時間只有特定的任務在特定的內存中運行.這樣在邏輯上沒有破壞現有控制系統的結構,只是在硬件上運行于一臺計算機中,能夠在完成規定功能的基礎上減少硬件的投資并提高了安全性.本文采用時空隔離的方法來實現通用型安全計算機平臺軟件的集成,并且基于實時操作系統來開發,在便于維護的同時還可以提高軟件的可靠性和穩定性.1)時間隔離方面,采用了兩級調度結構,如圖5所示.底層使用時間片隔離的方法使子系統間不能相互干擾;上層在子系統內部使用實時調度算法以提高系統的效率.測量時間并計算參數時需要使用松弛迭代的路徑測試方法,并利用VxWorks操作系統提供的時間功能.2)空間隔離方面,也采用了兩級調度結構,如圖6所示.底層使用MMU的功能對各子系統設置獨立的地址空間,使得子系統間不能相互干擾;上層在子系統內部使用改進的動態內存分配算法best-fit,大塊內存和小塊內存的分配方式不同,以提高系統的效率并減少碎片化。在內存管理上,采用兩級內存管理來提高內存的使用效率和管理的實時性.子系統內部采用改進的大小內存塊的best-fit算法進行動態內存管理,保證了內存分配的實時性和低碎片性.在子系統間采用基于MMU的頁內存管理方式,保證了實時性和隔離性.
3安全計算機平臺實驗驗證
3.1硬件結構驗證
3.1.1安全性指標計算本文采用挪威工業科技研究院(SINTEF)開發的PDS(基于計算機的安全系統)方法對改進的硬件結構安全性指標進行計算,該方法遵循IEC61508標準體系的相關規定和結論.計算過程在本文中不再贅述,詳細步驟可參見文獻[9].量化指標用每小時危險失效的平均頻率(AverageFrequencyofaDangerousFailurePerHour,PFH)來表示.PFHSYS表示系統每小時危險失效的平均頻率,其中有6項參數是未定的:診斷覆蓋率DC,冗余結構修正因子CMooN(M-out-of-N,表示“N取M”;M≤N,均為自然數),失效率λ(FTSM單板的失效率為λFTSM),遠程外設配置個數i,功能測試時間間隔τ,共因失效因子β.其中共因失效因子β根據計算,在本文中取1%.為了簡化并考慮到經濟效益,FTSM冗余結構采用loo2.而遠程外設配置個數與實際應用相關,不能通過技術等手段限制.PFHSYS是通過計算共同提供安全功能的所有子系統的危險失效概率,并把這些值相加.用PFHL、PFHP、PFHR分別表示邏輯子系統、外設管理子系統及遠程外設的每小時危險失效的平均頻率,相加得出下式。
3.1.2硬件結構實驗驗證圖8硬件實驗平臺Fig.8Hardwareexperimentplatform在實驗室以核心主機的安全計算機平臺為架構搭建的測試平臺,采用COTS的硬件和軟件資源.搭建一系1oo2結構邏輯處理單元和一系1oo2結構的外部設備管理單元,以及1個1oo2結構的FTSM如圖8所示.搭建安全計算機硬件測試平臺,先進行邏輯處理單元和FTSM的功能的測試,然后進行外部設備管理單元的安全通信功能測試.1)內部安全通信功能實驗.具體實驗方法是兩臺PU機向ARM、FPGA發送測試數據,通過PU機觀察ARM、FPGA返回的數據.以驗證PU機、ARM、FPGA的之間安全通信幀結構的具體功能.如圖9所示,實驗返回了兩組數,通過地址標識判斷,FPGA的返回數據為:00000b0d0000aaaa99dadf6bdc757674.ARM的返回數據為:00000b0e0000aaaa00c466f2c19247e4.前2字節為序列號,接著2字節為地址標識,接著4字節為數據位,最后8字節為通過計算前面8字節數據所得64位CRC檢驗碼.這兩組校驗碼均與通過Mi-crosoftVisualC++6.0計算的結果相一致.由序列號的定義、地址標識的定義和CRC檢驗碼計算結果可知,ARM、FPGA返回的數據正確.本次實驗驗證了ARM板、FPGA板的序列號生成功能、地址標識功能、CRC檢驗編碼功能的正確性.2)容錯和安全管理實驗.FTSM的工作流程是:首先通過內網與2臺PU機連接,FTSM上電啟動后等待PU1、PU2兩臺PU機的數據.然后對接受到的2臺PU機數據進行數據解幀,CRC校驗檢查、地址標檢查、兩機數據時序約束、兩機數據比較、序列號檢查等數據正確性檢查.最后對上述結果進行組幀輸出.下面進行FTSM的功能實驗:具體實驗方法是PU1、PU2分別在下述6種情況下向FP-GA、ARM發送測試數據,在PU1、PU2上觀察FP-GA、ARM的返回數據,以驗證1oo2結構FTSM的功能,實驗結果如表1所示.表1中,實驗3與實驗2共同驗證了比較檢查功能和CRC校驗功能可以對正確與錯誤的輸入做出相應的輸出;實驗4與實驗2共同驗證了目標地址標識檢查功能和CRC校驗功能可以對正確與錯誤的輸入做出相應的輸出;實驗6與實驗1共同驗證了FPGA、ARM之間能正確通信,以及2取2結構正確性;實驗5驗證了時序約束功能.3)外部設備管理單元安全通信實驗.為保證外部設備管理單元的通信安全,對通信的數據采用監聽診斷,引入SPAN(SwitchedPortAnalyzer,交換端口分析儀)技術,通過實驗測試,驗證該技術既可以實現對數據監聽,又能應用到外部設備管理單元.實驗包括在Catalyst2950交換機中,實現第三方設備監控通信,以及自身設備監控通信,如圖10所示.第三方監控通信是A計算機向C計算機發送,在B計算機上,使用抓包獲取數據,能夠獲取源端口發往目標端口的鏡像數據.通過SPAN鏡像的數據與A發往C的數據一致,達到實驗預期效果,說明B計算機能監控A與C之間的通信,實現B計算機監督A計算機輸入輸出的功能.自身設備監控通信是使帶入口通信轉發功能的目標端口對應B計算機向源端口對應C計算機發送數據.在帶入口通信轉發功能的目標端口,抓包能夠獲取B發往C的數據.說明了目標端口既可以實現實數的輸入轉發,又可以實現對源端口的監控.
3.2軟件集成驗證
為了驗證提出的軟件改進,在CTCS-3列控系統中選取RBC,TCC,TSRS進行集成.其中RBC由3個任務組成:列車注冊、列車注銷和MA生成;TCC有一個任務:發送調度信息.TSRS由兩個任務組成:臨時限速提示激活和重復提示.軟件的時間參數(總周期和各子系統隔離時間)和空間參數(各子系統隔離內存大小)的確定方法如下.
3.2.1時空參數的確定時間參數有兩個,即分配給每個子系統的隔離時間和每個程序執行所需時間,隔離時間可以通過執行所需時間計算出來,而執行所需時間可利用軟件測試的方法和VxWorks的實時性來確定.因此,計算出RBC、TCC及TSRS的一個周期內分配的時間分別為220ms,44ms,44ms.空間參數利用VxWorks集成開發環境Work-Bench的memoryanalyzer工具,可知每個子系統的最大內存使用情況.再根據以下內存分配算法進行放大:1)已知任務內存集合{Mi|1≤i≤m}為任務正常運行時所需要的內存大小.2)令ΔM=min{Mi|1≤i≤m}.3)以ΔM為基準對內存集{Mi|1≤i≤m}進行歸一化處理,任務τi的內存Mi進行歸一化處理后的結果是ni.定義處理后的結果為{ni|1≤i≤m}.4)計算{ni+ni+1|1≤i≤m,令nm+1=n1},取最大值N=max{ni+ni+1}.5)計算出所需內存的總大小為L=ΔM×N,劃分成N個ΔM大小的內存塊.這樣計算可得所需全部內存為60KB.從時間和空間兩方面都知道具體分配參數后,就可以編程實現.
3.2.2編程實現所采用的軟件平臺為VxWorks-cert,之后模擬RBC,TCC,TSRS的功能,并通過編程予以實現,觀察各子系統狀態如圖11所示。圖11中圖(a)~(d)表示正常情況下各子系統運行;圖11(e)表示在TSRS程序中任意行加入一個比較長的延時,使在分配的時間內不能完成功能.TSRS無法在分配時間內完成,沒有發送OK返回值,RBC、TCC沒有檢驗到OK返回值,輸出錯誤信息.圖11(f)表示在TSRS任意程序中任意行加入比較大的內存分配,使得分配給它的內存不夠使用.而由于內存出錯,TSRS無法完成任務,均輸出錯誤信息.實驗結果說明了通過編程實現RBC、TCC及TSRS的功能的可行性,達到了將幾臺列控系統設備的軟件功能進行集成的預期目的.該設計首先確定程序的最壞執行時間,然后計算出總周期和各子系統的隔離時間,最后按照所需內存安排靜態內存分配.圖11也證明了這種方法能夠保證程序在時間和空間的確定性,使其具有良好的安全性.
4結論
本文主要針對目前CTCS-3級列控系統安全計算機軟件和硬件的集成提出一套方案,包括基于差異性結構的硬件平臺以降低共因失效,基于兩級調度的軟件架構以實現時空隔離,并分別進行了理論計算和實驗驗證.實驗結論如下.1)利用PDS方法計算改進硬件結構的安全計算機平臺的安全性指標,在配置合適的參數條件下能夠滿足安全完整性等級SIL-4.并且通過實驗驗證了改進的硬件結構能夠實現內部安全通信、容錯和安全管理及外部設備管理單元安全通信的功能.2)提出軟件集成設計通過理論計算和軟件測試的方法,確定時間參數和空間(內存)參數,并通過編程實現RBC、TCC和TSRS的功能.程序運行結果表明在滿足基本功能的條件下,還實現預期的時間保護和空間保護的功能.
作者:鄭升曹源張玉琢景浩胡華單位:中國鐵路總公司運輸局北京交通大學軌道交通運行控制系統國家工程研究中心