《電子技術(shù)應用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 主備倒換技術(shù)的設(shè)計及其在控制領(lǐng)域的應用

主備倒換技術(shù)的設(shè)計及其在控制領(lǐng)域的應用

2009-07-08
作者:王玉章

??? 摘?? 要:主備倒換技術(shù)是提高系統(tǒng)可靠性的一項重要技術(shù)。本文以提高控制系統(tǒng)的可靠性為出發(fā)點,提出了應用于該系統(tǒng)中的一種高可靠主備倒換技術(shù)的設(shè)計。?

??? 關(guān)鍵詞: 控制系統(tǒng); 可靠性; 主備倒換技術(shù)

?

??? 當今電子信息處理系統(tǒng)向高可靠、大容量、高速化發(fā)展,高可靠、高速化電子信息處理系統(tǒng)是市場需求的發(fā)展趨勢。隨著嵌入式智能設(shè)備的進一步發(fā)展和普及,電子信息處理系統(tǒng)的可靠性設(shè)計變得越來越重要,特別是嵌入式智能控制系統(tǒng),如果電子信息處理系統(tǒng)出現(xiàn)故障,其后果不堪設(shè)想,造成的損失可能是無法估量。1993年3月10日,浙江省寧波市北侖發(fā)電廠因控制系統(tǒng)失靈,導致一號機組發(fā)生特大鍋爐爆炸事故,造成傷亡幾十人。1996年6月,歐洲“阿麗亞娜”號航天飛機因智能控制系統(tǒng)出現(xiàn)故障,使航天飛機墜毀,造成了數(shù)億美元的巨大損失。每一次慘痛教訓都提醒人們要重視控制系統(tǒng)的可靠性。因此,主備倒換技術(shù)就是為克服完善設(shè)計無法解決這類高可靠要求的困難發(fā)展起來的,其設(shè)計思想是允許故障存在,并能自動地消除其影響。可以說,主備倒換技術(shù)從根本上開辟了一條實現(xiàn)系統(tǒng)可靠性的途徑。本文對一種高可靠的主備倒換技術(shù)設(shè)計進行闡述,并對其在控制系統(tǒng)中的應用進行了研究。?

1 主備倒換電路設(shè)計?

1.1 主備倒換邏輯控制圖?

??? 主備倒換邏輯控制框圖如圖1所示,具有人工倒換、軟件倒換、自動倒換功能。?

?

?

??? 主備用狀態(tài)控制板各信號的功能如下:?

??? (1)復位信號:單板的復位信號,當復位信號為低時,該板變?yōu)閭溆冒?,用于人工倒換。?

??? (2) 軟件控制位:單板的軟件控制信號,它是由單板軟件控制,初始化為高,當CPU把該位改為低時,該板變?yōu)閭溆冒澹瑢Ψ娇刂瓢遄優(yōu)橹饔冒?。這樣可以實現(xiàn)快速軟件倒換。?

??? (3) 心跳狀態(tài)位:CPU必須在500 μs內(nèi)至少訪問CPLD一次,使CPLD輸出心跳波形。心跳波形環(huán)回CPLD的心跳檢測電路,CPU如果在500 μs內(nèi)沒有訪問CPLD,CPLD就沒有輸出心跳波形。當有心跳時,心跳狀態(tài)位為1;當沒有心跳時,心跳狀態(tài)位為0,通過這個方法就可以監(jiān)控CPU是否正常運行,如果CPU沒有正常運行,該板就變?yōu)閭溆冒鍫顟B(tài)。?

??? (4) 本板主備用狀態(tài)位:該位為0 狀態(tài)時,本板為主用;該位為1狀態(tài)時,本板為備用。當該狀態(tài)位發(fā)生改變時,CPLD會產(chǎn)生中斷INT告訴CPU,CPU會查詢該狀態(tài)位,以便知道本板的主備用狀態(tài)。?

??? (5) 對方板主備用狀態(tài)位:該位為0 狀態(tài)時,對方板為主用;該位為1狀態(tài)時,對方板為備用。當該狀態(tài)位發(fā)生改變時,CPLD會產(chǎn)生中斷INT告訴CPU,CPU會查詢該狀態(tài)位,以便知道對方板的主備用狀態(tài)。?

??? (6) 中斷信號INT: 當對方板主備用狀態(tài)或本板主備用狀態(tài)發(fā)生改變時,CPLD會產(chǎn)生中斷信號INT通知CPU,保證CPU及時知道對方板主備用狀態(tài)或本板主備用狀態(tài),以保證系統(tǒng)正常運行。?

??? (7) CPLD通信總線:就是CPU通過該總線與CPLD通信,通過該總線完成CPLD的心跳,同時通過該總線完成對方板主備用狀態(tài)或本板主備用狀態(tài)的查詢。?

??? (8) 數(shù)據(jù)同步端口:該數(shù)據(jù)同步端口就是網(wǎng)絡(luò)通信端口,主要是同步兩塊主備用狀態(tài)控制板的數(shù)據(jù),保證在主備板都是運行同一數(shù)據(jù)和程序,只是主用板有控制權(quán),備用板沒有控制權(quán),倒換后,使得原來備用板能夠無縫運行原來主用板的程序,保證系統(tǒng)的可靠性。?

1.2 主備用工作原理?

??? 工作原理是:兩塊主備用狀態(tài)控制板的U2A的第3腳先為低的控制板為主用。在主備倒換邏輯控制圖中,當主備用狀態(tài)控制板1的復位信號、軟件控制位、心跳狀態(tài)位較主備用狀態(tài)控制板2的復位信號、軟件控制位、心跳狀態(tài)位先都為高時,這時主備用狀態(tài)控制板1的U1B的第6腳為高,主備用狀態(tài)控制板2的U1B的第6腳輸出為低,導致主備用狀態(tài)控制板1的U2A的第3腳為低,主備用狀態(tài)控制板2的U2A的第3腳為高。則主備用狀態(tài)控制板1為主用,主備用狀態(tài)控制板2為備用。反之,當主備用狀態(tài)控制板2的復位信號、軟件控制位、心跳狀態(tài)位較主備用狀態(tài)控制板1的復位信號、軟件控制位、心跳狀態(tài)位先都為高時,主備用狀態(tài)控制板2為主用,主備用狀態(tài)控制板1為備用。?

1.3 CPLD的邏輯實現(xiàn)?

??? CPLD邏輯設(shè)計圖如圖2所示。當CPU向心跳產(chǎn)生寄存器寫入0X55,心跳波形輸出低電平,寫入0XAA,心跳波形則輸出高電平,這樣就能產(chǎn)生心跳脈沖輸出。這個心跳脈沖就能監(jiān)控單板內(nèi)關(guān)鍵器件的好壞,如FPGA、時鐘、電源等。如果這些被監(jiān)控的芯片、信號或電源出現(xiàn)問題,那這個心跳脈沖就不能環(huán)回CPLD的心跳波形輸入腳,則CPLD的心跳檢測電路就不能檢測到心跳的存在,即CPLD的心跳狀態(tài)位為0,根據(jù)圖1的主備倒換邏輯控制圖,該主備用狀態(tài)控制板只能作為備用。這樣主備用狀態(tài)就能夠?qū)崿F(xiàn)自動倒換。心跳脈沖監(jiān)控FPGA、時鐘、電源邏輯圖如圖3所示。?

?

?

?

2 軟件主備用倒換過程的實現(xiàn)?

??? 主備用狀態(tài)控制板啟動程序流程圖如圖4所示。如果主用板要通過軟件進行倒換,只要主用板把軟件控制位設(shè)置為0,向備用板表明自己變?yōu)閭溆?,備用板的邏輯發(fā)中斷告訴備用板CPU,備用板進行中斷處理,通過狀態(tài)寄存器檢測對方是否變?yōu)閭溆?,則原備用板將軟件控制位置為1,原備用板升為主用。?

?

?

3 主備用狀態(tài)控制板的倒換波形?

??? 根據(jù)圖1原理框圖,示波器探頭的二通道接主備用狀態(tài)控制板1的U2A的第3腳(倒換前為低即主用),示波器探頭的一通道接主備用狀態(tài)控制板2的U2A的第3腳(倒換前為高即備用),通過把主備用狀態(tài)控制板1的軟件位置為低,兩塊主備用狀態(tài)控制板的主備用狀態(tài)發(fā)生改變,其倒換波形如圖5所示。從示波器的顯示可知,時間軸每格20 ns,則倒換時間大約20 ns就可以實現(xiàn)硬件完全倒換。實現(xiàn)了快速穩(wěn)定的倒換,從而可在工業(yè)控制領(lǐng)域得到廣泛應用。?

?

?

4 主備用狀態(tài)控制板的倒換測試?

??? (1)手動倒換: 如圖1按下主用板(如主備用狀態(tài)控制板1為主用) 的復位鍵SW1。這時, 原主用板(如主備用狀態(tài)控制板1為主用)重啟,變?yōu)閭溆茫瓊溆冒?如主備用狀態(tài)控制板2為備用)變?yōu)橹饔?硬件切換時間約為20 ns,軟件同步切換時間約為20? μs。?

??? (2)軟件倒換:主用板(如主備用狀態(tài)控制板1為主用)的CPU置CPLD 的控制寄存器的軟件控制位為0,使CPLD 的軟件控制位引腳輸出為0。這時, 原主用板(如主備用狀態(tài)控制板1為主用)變?yōu)閭溆冒?原備用板(如主備用狀態(tài)控制板2為備用)變?yōu)橹饔冒?硬件切換時間約為20 ns,軟件同步切換時間約為1 μs。這樣可以實現(xiàn)快速軟件倒換。?

??? (3)自動倒換:由于CPU必須在500?μs內(nèi),至少訪問CPLD一次,使CPLD輸出心跳波形,CPU如果在500 μs內(nèi)沒有訪問CPLD,CPLD就沒有輸出心跳波形,當沒有心跳時,心跳狀態(tài)位為0,短路主用板的內(nèi)存,讓主用板死機,CPU不去訪問CPLD, 這時, 原主用板(如主備用狀態(tài)控制板1為主用)變?yōu)閭溆冒?原備用板(如主備用狀態(tài)控制板2為備用)變?yōu)橹饔冒?硬件切換時間為20 ns左右,軟件同步切換時間為10 ms左右。這樣可以實現(xiàn)可靠的自動倒換。?

5 主備用狀態(tài)控制板在工控領(lǐng)域的應用?

??? 很多高可靠性要求的場合要求系統(tǒng)的可靠性指標為99.999%,即系統(tǒng)一年的平均故障時間不超過3 min。如電力控制系統(tǒng)、交通導航系統(tǒng)等,系統(tǒng)僅靠提供元件的可靠性是無法滿足要求的,需要對系統(tǒng)的關(guān)鍵設(shè)備進行主備份,主備用設(shè)備通過控制通信網(wǎng)進行數(shù)據(jù)備份,使得主備用設(shè)備完全同步,保證當這些主備用設(shè)備出現(xiàn)故障時,熱切換到備份設(shè)備,使系統(tǒng)能不間斷運行。?

??? (1) 在數(shù)據(jù)采集處理方面的應用如圖6所示,通過本板的主備用狀態(tài)位來控制總線,當本板主用時,數(shù)據(jù)采集卡的總線可以與本板的CPU通信,當備用時,數(shù)據(jù)采集卡的總線不與本板的CPU通信。?

?

?

??? (2) 在網(wǎng)絡(luò)通信方面的應用如圖7所示,通過本板的主備用狀態(tài)位來控制網(wǎng)絡(luò)通信口切換開關(guān)。如果服務(wù)器1為主用時,外部通信設(shè)備通過網(wǎng)絡(luò)通信口切換開關(guān)與服務(wù)器1的CPU通信;服務(wù)器2為備用,網(wǎng)絡(luò)通信口的切換開關(guān)斷開,不與外部通信設(shè)備通信。當兩個服務(wù)器發(fā)生倒換后,服務(wù)器1為備用,服務(wù)器2為主用時,服務(wù)器1的網(wǎng)絡(luò)通信口切換開關(guān)斷開,服務(wù)器2的CPU通過網(wǎng)絡(luò)通信口切換開關(guān)與外部通信設(shè)備通信。?

?

?

參考文獻?

[1] 蔡開元.軟件可靠性工程基礎(chǔ)[M].北京:清華大學出版社,1995.?

[2] 王珍熙.可靠性、主備倒換及容錯技術(shù)[M]. 北京:航空工業(yè)出版社,1991.?

[3] 錢華明,袁贛南.分布式數(shù)據(jù)總線及其在慣性組合導航系統(tǒng)中的應用[J].中國慣性技術(shù)學報,1997,5(4).?

[4] MUSA J D. Software reliability: measurement, prediction,application. McgrawHill, New York,1987.?

[5] 張有志.可編程邏輯器件PLD原理與應用.北京:中國鐵道出版社,1996.?

[6] 高傳善.接口與通信.上海:復旦大學出版社,1989.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。