摘 要:本文以磁浮列車自動防護(hù)系統(tǒng)(ATP)為應(yīng)用背景,對磁浮列車車載安全型計算機(jī)進(jìn)行了研究。本文根據(jù)磁浮列車車載ATP系統(tǒng)對安全性的要求,對雙機(jī)比較這一模式展開了研究,利用單片機(jī)作為實(shí)驗(yàn)平臺,設(shè)計并實(shí)現(xiàn)了滿足“故障-安全”原則的安全型計算機(jī)系統(tǒng),并對各種可能出現(xiàn)的故障現(xiàn)象進(jìn)行了實(shí)驗(yàn)驗(yàn)證。
關(guān)鍵詞:磁浮列車,自動防護(hù)系統(tǒng),雙機(jī)比較,安全性,“故障-安全”
隨著科學(xué)技術(shù)的發(fā)展,磁浮列車作為一種新型的交通工具已經(jīng)逐漸進(jìn)入了我們的生活。如何保證磁浮列車的可靠性和安全性,就成為了擺在科研工作者們面前的現(xiàn)實(shí)問題。磁浮列車自動防護(hù)(MATP)系統(tǒng)是保障列車可靠運(yùn)行的重要一環(huán),它本身必須有很高的可靠性,為避免出現(xiàn)ATP系統(tǒng)故障時引起嚴(yán)重后果,一般采用冗余結(jié)構(gòu)來對ATP進(jìn)行設(shè)計。本文就是以磁浮列車ATP系統(tǒng)為應(yīng)用背景,設(shè)計了一套基于“故障—安全”原則的安全計算機(jī)系統(tǒng)。
在冗余系統(tǒng)中,雙模冗余以其較高的可靠性以及較低的硬件成本成為首選。而雙模冗余系統(tǒng)中,雙機(jī)比較結(jié)構(gòu)是較為常用的方案。該方案在開機(jī)運(yùn)行后,同步采集外部數(shù)據(jù),并對兩處理機(jī)的計算結(jié)果進(jìn)行比較,若二者結(jié)果相同,則對外輸出相應(yīng)的控制信號,若不同就將外部系統(tǒng)導(dǎo)向安全側(cè),因此該系統(tǒng)是基于“故障—安全”原則的,具有較高的安全性,但不具有容錯功能。磁懸浮列車作為一種面向大眾的交通工具,安全性無疑是最重要的,因此該系統(tǒng)基本可以滿足需要。為了提高系統(tǒng)可靠性,也可以結(jié)合軟件設(shè)計將雙機(jī)比較結(jié)構(gòu)配置成基于“故障—安全”的冗余系統(tǒng)。
1. 整體結(jié)構(gòu)設(shè)計
系統(tǒng)主要是由輸入電路板,兩塊主CPU板,一塊仲裁CPU板和輸出電路板組成。系統(tǒng)框圖如圖1所示。
[align=center]
圖1 系統(tǒng)結(jié)構(gòu)總圖[/align]
外界狀態(tài)經(jīng)相關(guān)電路轉(zhuǎn)換為CPU可以處理的數(shù)據(jù),通過輸入電路被兩路處理CPU同時鎖存,以保證讀入的數(shù)據(jù)相同,兩處理CPU把采集到的信號各自按照相應(yīng)的ATP算法,對相關(guān)數(shù)據(jù)進(jìn)行計算處理,計算出結(jié)果并暫存入緩沖區(qū),然后將其傳送到仲裁CPU。
仲裁CPU把兩者的結(jié)果進(jìn)行比較。如果相同就輸出結(jié)果,并反饋發(fā)送成功信息告知兩處理CPU,否則仲裁CPU向處理CPU發(fā)送重發(fā)命令,讓其重新發(fā)送處理結(jié)果,若在兩次重發(fā)后結(jié)果仍然不同,則系統(tǒng)停機(jī)并報警,將外部系統(tǒng)直接導(dǎo)向安全側(cè)。為了防止輸出總線出現(xiàn)故障,而比較系統(tǒng)卻無法判斷,本系統(tǒng)還建立回讀機(jī)制,將輸出的信號回讀再次比較,以進(jìn)一步判斷系統(tǒng)的完好性。
輸出電路則完成相關(guān)控制數(shù)據(jù)的傳輸工作,并能鎖存前一次發(fā)送出的控制信號,以備回讀比較。
2. 主CPU板設(shè)計
該單元是整個ATP系統(tǒng)的處理核心,主要完成對外部已采集到的狀態(tài)信息同步讀入、同步計算ATP相關(guān)數(shù)據(jù)、輸出供仲裁CPU比較的結(jié)果數(shù)據(jù)、對外輸出控制數(shù)據(jù)等工作。主CPU板單元電路結(jié)構(gòu)框圖如圖2所示。
[align=center]
圖2 主CPU板硬件框圖[/align]
該板由兩塊CPU構(gòu)成,它們同時讀入外部數(shù)據(jù),在并行狀態(tài)下對其進(jìn)行處理,待計算結(jié)束就將結(jié)果編碼輸送給仲裁CPU判定。該板對仲裁機(jī)的結(jié)果輸送及相關(guān)通信在整個系統(tǒng)運(yùn)行過程中顯得相當(dāng)重要,所以傳輸?shù)目煽啃员仨毜玫奖WC。本系統(tǒng)主要采用雙口RAM來傳輸數(shù)據(jù),雙處理CPU相互之間通過串口來輔助通信,完成同步等工作。處理單元為了保證通信的可靠性,采用CAN總線作為通信冗余,在雙口RAM和上位機(jī)通信失敗的情況下,啟用備用CAN通信鏈路可以極大的提高系統(tǒng)的可靠性。
兩處理CPU在收到仲裁CPU的讀外部信號的命令,為了保證兩者讀到的數(shù)據(jù)相同,需要鎖存外部信號并讀入,兩處理CPU必須在讀到外部信號后,兩者相互發(fā)送所讀數(shù)據(jù)并進(jìn)行比較,若不同,再重新鎖存并讀入,再比較。在重復(fù)比較N次后(N值由試驗(yàn)確定,本系統(tǒng)中N=5)仍失敗的情況下,將外部系統(tǒng)導(dǎo)向安全側(cè),否則重復(fù)的讀取操作必然會導(dǎo)致系統(tǒng)始終處于等待狀態(tài),令系統(tǒng)陷于死循環(huán)而無法正常工作。
3. 仲裁CPU板硬件設(shè)計
仲裁CPU板主要負(fù)責(zé)判斷處理器板上雙處理器的狀態(tài),完成與處理單元相互交換數(shù)據(jù)的功能,并在結(jié)果比較成功后控制處理CPUA經(jīng)過輸出電路輸出,或者自己直接輸出。
兩個主CPU板對經(jīng)過ATP算法處理過后的數(shù)據(jù),按照一定規(guī)則進(jìn)行編碼,然后經(jīng)過雙口RAM(或者備用CAN總線)傳送給仲裁CPU板。
仲裁CPU板在精確的周期內(nèi)分別接收來自兩個處理單元CPU板發(fā)來信息后,首先進(jìn)行比較,比較結(jié)果一致,則控制處理CPUA板安全輸出;若比較結(jié)果不一致,則認(rèn)為系統(tǒng)故障,系統(tǒng)停機(jī),斷開處理CPUA板的輸出,將系統(tǒng)導(dǎo)向安全側(cè),并發(fā)出警報通知工作人員檢修。仲裁CPU板硬件電路如3所示。
[align=center]
圖3 仲裁板結(jié)構(gòu)圖[/align]
仲裁CPU與處理CPU之間的通信主要通過雙口RAM來實(shí)現(xiàn),當(dāng)處理CPU完成數(shù)據(jù)處理,便將處理結(jié)果送到雙口RAM,而仲裁CPU根據(jù)需要直接在雙口RAM中取出數(shù)據(jù)進(jìn)行處理。CAN作為備用的通信通道,一旦發(fā)現(xiàn)雙口RAM失效,立即啟用現(xiàn)場總線CAN來完成通信任務(wù)。
為了實(shí)現(xiàn)兩處理CPU的同步處理,仲裁CPU在收到完整的比較數(shù)據(jù)之后,通過發(fā)送中斷信號的方式給兩處理CPU發(fā)送讀外部數(shù)據(jù)命令,然后再對兩處理CPU的計算結(jié)果進(jìn)行比較。整個處理流程當(dāng)中,處理CPU的數(shù)據(jù)處理時間相對仲裁CPU的比較和輸出時間要長很多,按此可以使處理CPU與仲裁CPU的工作實(shí)現(xiàn)流水作業(yè),提高系統(tǒng)的數(shù)據(jù)處理效率。仲裁CPU比較成功后,仍然需要發(fā)信息通知兩處理CPU,以便下一次計算結(jié)果傳過來之前,刪除保存在緩沖區(qū)的過時數(shù)據(jù)結(jié)果。
4. 輸入板和輸出板設(shè)計
輸入板提供數(shù)字量和模擬量輸入。該板能夠鎖存外部的信號,以保證兩處理CPU板同步讀入外部信號,同時還能夠在系統(tǒng)啟動時給處理CPU提供自檢信號,幫助系統(tǒng)進(jìn)行故障監(jiān)測和故障定位,使系統(tǒng)具有更高的可靠性。
輸出板則連接處理CPUA和仲裁CPU的端口,保證控制信號能夠順利地傳輸給控制器。該板與仲裁板之間設(shè)計了回讀電路,每次送出控制信號后仲裁CPU都進(jìn)行回讀,保證控制信號的正確性,同時也是對處理CPU和輸出電路之間輸出總線的監(jiān)督,仲裁CPU在該總線失效的情況下啟用自身與輸出板之間的總線輸出,更進(jìn)一步的提高系統(tǒng)可靠性。
5. 系統(tǒng)安全性設(shè)計
為了保證系統(tǒng)的高安全性,一旦雙機(jī)結(jié)果比較不成功或者相互檢測出故障,系統(tǒng)停止工作,導(dǎo)向安全側(cè),并報警通知維修人員維修。故障的確認(rèn)通過定時超時技術(shù)和通信數(shù)據(jù)編碼校驗(yàn)技術(shù)來完成。
處理CPU處理完數(shù)據(jù)后,將結(jié)果編碼發(fā)送,待發(fā)送完畢,定時等待接收仲裁CPU發(fā)送的特定狀態(tài)信號和讀外部數(shù)據(jù)命令,如果狀態(tài)信號不對或者發(fā)生等待超時,就會認(rèn)定仲裁CPU故障,從而將仲裁CPU的運(yùn)行狀態(tài)記錄改變成故障,系統(tǒng)停止工作,導(dǎo)向安全側(cè)。
由于磁浮列車ATP算法的確定性,每個周期的時間都可以事先確定,這樣在仲裁CPU接到第一個數(shù)據(jù)后、接到兩個數(shù)據(jù)后都可以定時等待下一個數(shù)據(jù)的到來,并且對每個結(jié)果進(jìn)行校驗(yàn),如發(fā)生超時或者校驗(yàn)發(fā)生錯誤,都將認(rèn)定為處理CPU的故障。仲裁CPU在收到處理CPU的數(shù)據(jù)之后,立即回復(fù)一個確認(rèn)碼,讓處理CPU確認(rèn)仲裁CPU的狀態(tài),防止錯誤認(rèn)定仲裁CPU出現(xiàn)故障。
通過以上的設(shè)計安排,系統(tǒng)內(nèi)部就建立了相互之間的故障監(jiān)督機(jī)制。三塊CPU將監(jiān)督對象的狀態(tài)編碼輸出,最后將這三者的信號整合成整個系統(tǒng)的狀態(tài)信號,任意一個內(nèi)部狀態(tài)的改變都將引起整個系統(tǒng)狀態(tài)的改變,又可以由整個系統(tǒng)的狀態(tài)信號來完成導(dǎo)向安全側(cè)的任務(wù)。
6. 仿真實(shí)驗(yàn)驗(yàn)證
本套安全計算機(jī)裝置設(shè)計完后,在實(shí)驗(yàn)室里進(jìn)行了仿真測試實(shí)驗(yàn)。假定輸入板上輸入一個周期為1秒的方波信號,處理CPU板每隔10毫秒讀取輸入板上的數(shù)據(jù),由雙CPU進(jìn)行比較后,實(shí)時改變輸出繼電器的狀態(tài)。比較結(jié)果不一致,則切斷輸出并報警。
模擬系統(tǒng)故障情況對本系統(tǒng)進(jìn)行測試:
1、將其中一個CPU拔掉,模擬一個CPU出現(xiàn)故障或是處理錯誤,系統(tǒng)立刻就能夠斷開輸出繼電器,同時系統(tǒng)停機(jī),不再對任何外部信號響應(yīng),將外部系統(tǒng)導(dǎo)向安全側(cè)。
2、將仲裁板的微控制器拔掉或使該板重啟,這時系統(tǒng)也立刻就能夠使繼電器斷開,使輸出無效,同時系統(tǒng)停機(jī),不再對任何外部信號響應(yīng),導(dǎo)向安全側(cè)。
3、將CAN通訊控制器件斷開,同上面兩種情況一樣,本系統(tǒng)同樣能導(dǎo)向安全側(cè)。
4、將輸出板斷電,由于系統(tǒng)回讀不正確,也能立即停機(jī),導(dǎo)向安全側(cè)。
值得注意的一點(diǎn)是,在上述故障狀態(tài)下,系統(tǒng)并不能自動恢復(fù),說明系統(tǒng)不具備在線可維修能力。但以上測試結(jié)果符合設(shè)計要求,也基本滿足磁懸浮列車ATP系統(tǒng)對安全性的要求。
7. 結(jié)論
該系統(tǒng)的創(chuàng)新點(diǎn)主要有如下幾個方面:一是輸出控制與輸出數(shù)據(jù)由不同的部分完成,這樣就可以將錯誤輸出的概率進(jìn)一步降低,便于故障導(dǎo)向安全功能的實(shí)現(xiàn);二是該電路引入了輸入自檢以及輸出回讀,使系統(tǒng)可靠性進(jìn)一步增加;三是雙機(jī)比較系統(tǒng)的“故障—安全”機(jī)制使系統(tǒng)可以規(guī)避危險。對該安全計算機(jī)結(jié)構(gòu)利用馬爾可夫理論進(jìn)行分析 5,可得知其安全度大大高于一般雙機(jī)冗余方案。該系統(tǒng)應(yīng)用在磁懸浮列車ATP系統(tǒng)中,可完全滿足系統(tǒng)設(shè)計要求。
參考文獻(xiàn)
1 胡謀.計算機(jī)容錯技術(shù).中國鐵道出版社.1995年,北京
2 李貽斌,劉明,王曉明.雙機(jī)容錯系統(tǒng)的仲裁器設(shè)計.微計算機(jī)信息,1997,第13卷第四期:71-73
3 王珍熙.可靠性·冗余及容錯技術(shù).航空工業(yè)出版社.1991年
4 趙志熙.微機(jī)聯(lián)鎖系統(tǒng)技術(shù).中國鐵道出版社.1995年,北京
5 閆劍平,汪希時.兩種方式雙機(jī)熱備結(jié)構(gòu)的可靠性和安全性分析.鐵道學(xué)報.2000,第22卷第3期:124-127
一種磁浮列車安全型計算機(jī)系統(tǒng)的設(shè)計與實(shí)現(xiàn)資料下載