邵忠俊 營(yíng)旭東 秦嶺 劉巍 潘宇波
【摘要】? ? 面對(duì)各種重要工作領(lǐng)域提出的要求,如航空航天、銀行及電廠所要求的高安全行業(yè),都對(duì)使用到的電子系統(tǒng)提出了更高的安全性要求。容錯(cuò)計(jì)算機(jī)的出現(xiàn),進(jìn)一步取代雙機(jī)熱備產(chǎn)品,出現(xiàn)在了高安全領(lǐng)域,從此掀開了高安全性電子設(shè)備的新篇章。設(shè)計(jì)一種高可靠的容錯(cuò)計(jì)算機(jī),可應(yīng)用于如航空航天、列車、銀行及電廠所要求的高安全行業(yè)。
【關(guān)鍵詞】? ? 雙機(jī)熱備? ? 冗余? ? 容錯(cuò)
一、結(jié)構(gòu)冗余設(shè)計(jì)
1.1硬件結(jié)構(gòu)冗余
該計(jì)算機(jī)從系統(tǒng)架構(gòu)上采用2乘2取2結(jié)構(gòu),兩個(gè)計(jì)算機(jī)系同時(shí)運(yùn)行,一個(gè)擁有控制權(quán),另一個(gè)只有監(jiān)視權(quán),在I端計(jì)算機(jī)系故障的情況下,II端計(jì)算機(jī)系取得控制權(quán);兩端的計(jì)算機(jī)系內(nèi)各包含兩個(gè)通道,分別為命令通道(A通道)和監(jiān)控通道(B通道)兩個(gè)通道。兩個(gè)通道具有相同的硬件設(shè)計(jì),采集相同的數(shù)據(jù),運(yùn)行相同的軟件。通道內(nèi)處理器模塊通過局部CPCI總線訪問接口模塊。兩個(gè)通道之間可通過CCDL或者以太網(wǎng)進(jìn)行通信,雙余度設(shè)計(jì)分別對(duì)兩路輸入信號(hào)和運(yùn)算結(jié)果進(jìn)行同步比較,只有兩個(gè)運(yùn)算結(jié)果一致時(shí),該計(jì)算機(jī)系才會(huì)輸出,否則控制權(quán)交由另一結(jié)構(gòu)與之相同的計(jì)算機(jī)系輸出結(jié)果,本機(jī)則馬上發(fā)出報(bào)警信號(hào)并輸出安全態(tài)。
1.2 軟件結(jié)構(gòu)冗余
命令通道(A通道)和監(jiān)控通道(B通道)的軟件系統(tǒng)結(jié)構(gòu)框圖1如下所示。
二、信息同步設(shè)計(jì)
基于信息冗余思想,采用軟件為主,軟/硬結(jié)合的雙握手同步算法實(shí)現(xiàn)通道間的同步,兩次同步的處理過程,能夠確保計(jì)算機(jī)系內(nèi)兩通道工作流程的同步性,而兩通道數(shù)據(jù)的一致性則通過數(shù)據(jù)同步流程實(shí)現(xiàn),即兩通道間處理器板在每一次數(shù)據(jù)交換時(shí),增加周期幀信息,以此來保證系統(tǒng)失步后能在相同的周期內(nèi)與另一通道重新同步。
本案中兩臺(tái)計(jì)算機(jī)的同步設(shè)計(jì)可采用信號(hào)燈同步和數(shù)據(jù)同步方式相互結(jié)合的方式。其中信號(hào)燈同步:兩臺(tái)計(jì)算機(jī)通過相互交叉點(diǎn)亮和熄滅對(duì)方的信號(hào)燈實(shí)現(xiàn)同步,也就是“置位”和“復(fù)位”特定的信號(hào)存儲(chǔ)單元。該方式能夠做到任務(wù)周期的同步,是應(yīng)用最廣泛的同步技術(shù),也叫“信號(hào)握手”(見圖2);數(shù)據(jù)同步:在數(shù)據(jù)幀傳輸時(shí),通過增加同步幀達(dá)到同步目的。該方式能夠解決系統(tǒng)失步后的重新同步問題。
計(jì)算機(jī)系內(nèi)的兩個(gè)通道通過信號(hào)燈同步(包含初始同步和周期同步)和數(shù)據(jù)同步的方式實(shí)現(xiàn)任務(wù)同步。采用以軟件為主,軟/硬結(jié)合的雙握手同步算法實(shí)現(xiàn)通道間的同步。
計(jì)算機(jī)同步的過程是在系統(tǒng)同步程序的管理下,結(jié)合硬件定時(shí)器,通過信號(hào)燈,完成通道間的同步。此信號(hào)燈同步方式通過軟件對(duì)計(jì)算機(jī)系內(nèi)兩通道同步故障檢測(cè)板內(nèi)部相應(yīng)寄存器進(jìn)行“置位”和“復(fù)位”操作并比較結(jié)果實(shí)現(xiàn)。
初始同步:系統(tǒng)完成初始化、上電自檢后,進(jìn)入周期任務(wù)之前,計(jì)算機(jī)系的A、B通道要進(jìn)行初始同步,初始同步的兩次握手最大等待時(shí)限為2秒。該過程要清零看門狗計(jì)時(shí)器。當(dāng)初始同步失敗后,軟件不再執(zhí)行周期任務(wù),在故障寄存器中記錄初始同步故障,并交出系統(tǒng)的控制權(quán)。
周期同步:在每個(gè)工作周期開始時(shí),A、B通道要進(jìn)行同步握手,其最大允許等待時(shí)間為200微秒;在讀取輸入數(shù)據(jù)和對(duì)方計(jì)算結(jié)果后,要比較同步幀的一致性。周期同步過程不清零看門狗計(jì)時(shí)器。如果兩個(gè)通道的周期同步失敗,給周期同步失敗計(jì)數(shù)器加1,并重新啟動(dòng)任務(wù)周期,若連續(xù)10次均同步失敗,將不再執(zhí)行周期任務(wù),在故障寄存器中記錄周期同步故障,并交出系統(tǒng)的控制權(quán)。
以上兩種同步的方式區(qū)別在于初始同步解決兩機(jī)同步啟動(dòng)問題,兩次握手最大等待時(shí)限為2秒;周期同步解決應(yīng)用任務(wù)的同步問題,最大允許等待時(shí)間為200微秒,故障寄存器記錄10次故障后報(bào)錯(cuò)。重復(fù)次數(shù)和等待時(shí)間為設(shè)計(jì)經(jīng)驗(yàn)參考值(下同),可根據(jù)用戶需求調(diào)整。
數(shù)據(jù)同步是指兩通道間處理器板在每一次數(shù)據(jù)交換時(shí),增加同步幀信息,以此來保證系統(tǒng)失步后能在相同的周期內(nèi)與另一通道重新同步。當(dāng)發(fā)生數(shù)據(jù)同步錯(cuò)誤時(shí),可采用以下兩種方式處理數(shù)據(jù)同步后的失步問題:1、強(qiáng)制將同步幀號(hào)中較大的同步幀號(hào)改為兩者中較小的同步幀號(hào),同時(shí),數(shù)據(jù)同步錯(cuò)誤計(jì)數(shù)器加1,任務(wù)繼續(xù)向下進(jìn)行。2、數(shù)據(jù)幀中較大的周期幀通道等待較小的周期幀通道指令,等待3個(gè)周期仍失敗時(shí),數(shù)據(jù)同步錯(cuò)誤計(jì)數(shù)器加1,并重新啟動(dòng)任務(wù)周期。若同步連續(xù)10次均失敗,將不再執(zhí)行周期任務(wù),在故障寄存器中記錄數(shù)據(jù)同步故障,并交出系統(tǒng)的控制權(quán),同步流程圖見圖2。兩種同步幀失步后的處理方式可根據(jù)用戶需求修改。
三、容錯(cuò)算法決策與安全態(tài)輸出
產(chǎn)品的硬件冗余結(jié)構(gòu)與其軟件冗余結(jié)構(gòu)相互配合,保證系統(tǒng)能夠高可靠性工作。然而,這種高可靠性對(duì)輸入信號(hào)或產(chǎn)品本身是極為“敏感”的,這種“敏感”極易造成產(chǎn)品輸出出現(xiàn)瞬態(tài)錯(cuò)誤現(xiàn)象。為了消除這種高可靠性引起的“敏感”特性,產(chǎn)品在各計(jì)算機(jī)系中的安全輸出板,增加了一種軟件“容錯(cuò)技術(shù)”,進(jìn)一步增加產(chǎn)品的可靠性。
經(jīng)計(jì)算機(jī)同步的兩通道數(shù)據(jù)通過各自CPCI總線分別進(jìn)入可編程邏輯模塊中的CCQI及CCQII邏輯中,當(dāng)CCQI及CCQII接收到對(duì)應(yīng)通道的周期幀及有效數(shù)據(jù)后,接收數(shù)據(jù)標(biāo)志信息位由‘0變?yōu)椤?,表示本邏輯已收到數(shù)據(jù);當(dāng)接收數(shù)據(jù)標(biāo)志信息位都發(fā)生變化后,開始對(duì)比兩有效數(shù)據(jù)的周期幀信息,若兩者相同,則說明兩組數(shù)據(jù)是同一時(shí)刻數(shù)據(jù);當(dāng)已經(jīng)判斷數(shù)據(jù)沒有丟失的情況下,在CPU輸出數(shù)據(jù)比較寄存器中,對(duì)兩通道數(shù)據(jù)進(jìn)行比較,若比較一致,說明兩通道數(shù)據(jù)相同,CPU數(shù)據(jù)比較錯(cuò)誤計(jì)數(shù)器減1;若比較不一致時(shí),說明本系有故障,CPU數(shù)據(jù)比較錯(cuò)誤計(jì)數(shù)器加1,當(dāng)該計(jì)數(shù)器超過8時(shí),輸出導(dǎo)向安全態(tài),從而實(shí)現(xiàn)容錯(cuò)策略。
兩臺(tái)計(jì)算機(jī)系輸出控制權(quán)的切換由三個(gè)信號(hào)決定:外部給定的控制權(quán)、I端計(jì)算機(jī)系的故障情況和II端計(jì)算機(jī)系的故障情況。如果I端、II端計(jì)算機(jī)系都沒有故障,則由外部設(shè)定控制權(quán),確定計(jì)算機(jī)系輸出(主控)端;如果I端、II端計(jì)算機(jī)系中有一個(gè)故障另一個(gè)正常,那么無論外部控制權(quán)在哪端計(jì)算機(jī),系統(tǒng)都由無故障的計(jì)算機(jī)系輸出,當(dāng)主控計(jì)算機(jī)系故障時(shí),系統(tǒng)要馬上給出報(bào)警信號(hào)。
控制權(quán)計(jì)算部分根據(jù)兩個(gè)通道的通道故障邏輯輸入、另一個(gè)和控制權(quán)外部輸入決定本控制器是否允許輸出,并將該信號(hào)提供給安全輸出板。
通道故障邏輯的輸入為離散量,為提高可靠性,采用兩位編碼,bit1.0=10,表示邏輯0,bit1.0=01,表示邏輯1。
下表1是控制權(quán)切換邏輯的真值表。
四、結(jié)束語
1、系統(tǒng)采用2取2安全計(jì)算機(jī)結(jié)構(gòu),為系統(tǒng)的高可靠性要求,提供了必要的硬件基礎(chǔ)平臺(tái);
2、計(jì)算機(jī)系內(nèi)的兩個(gè)通道通過信號(hào)燈同步和數(shù)據(jù)同步的方式實(shí)現(xiàn)任務(wù)同步。采用以軟件為主,軟/硬結(jié)合的雙握手同步算法實(shí)現(xiàn)通道間的同步,增強(qiáng)了對(duì)采樣數(shù)據(jù)對(duì)比的有效性;
3、安全輸出板對(duì)有效數(shù)據(jù)再一次進(jìn)行有效性比較;再一次確保有效數(shù)據(jù)的有效性;同時(shí),針對(duì)偶發(fā)故障進(jìn)行了一種容錯(cuò)邏輯處理,確保設(shè)備在允許范圍內(nèi),不由于自身或外界的某些影響而產(chǎn)生不必要的輸出切換或報(bào)警;
4、當(dāng)出現(xiàn)系統(tǒng)故障后,安全輸出板立刻將輸出導(dǎo)向“安全態(tài)”,保證受控設(shè)備時(shí)時(shí)處于可控、安全狀態(tài)。
參? 考? 文? 獻(xiàn)
[1]容錯(cuò)控制系統(tǒng)的分析與綜合[M]. 浙江大學(xué)出版社 , 葛建華,孫優(yōu)賢著, 1994.
[2]控制系統(tǒng)的故障診斷和容錯(cuò)控制[M]. 機(jī)械工業(yè)出版社 , 聞新等著, 1998.
[3]王德軍、故障診斷與容錯(cuò)控制方法研究[D].吉林大學(xué),2004.