- 相關(guān)推薦
串口通信在雙機(jī)冗余系統(tǒng)中應(yīng)用
摘要: 本文扼要 分析 了當(dāng)今帶專用檢測(cè)轉(zhuǎn)換電路的雙機(jī)冗余系統(tǒng)存在的可靠性 問(wèn)題 ,提出了利用雙機(jī)的串行口代替專用檢測(cè)轉(zhuǎn)換電路,通過(guò)串行通信相互檢測(cè)主備機(jī)工作狀態(tài),由軟件完成備機(jī)切換成主機(jī)的新型設(shè)計(jì)思想,為 計(jì)算 機(jī)在 工業(yè) 實(shí)時(shí)監(jiān)控系統(tǒng) 應(yīng)用 中的可靠性開(kāi)辟新思路。關(guān)鍵詞: 雙機(jī) 冗余 軟件 切換 1、引言 冗余技術(shù)是計(jì)算機(jī)系統(tǒng)可靠性設(shè)計(jì)中常用的一種技術(shù),是提高計(jì)算機(jī)系統(tǒng)可靠性的最有效 方法 ,同時(shí)也是鑒別各類計(jì)算機(jī)控制系統(tǒng)好壞的標(biāo)志之一。故世界各地廠商推出的新產(chǎn)品都或多或少帶有冗余技術(shù)。如美國(guó)的honeywell、德國(guó)的西門子和日本的三武等,它們都有一個(gè)共同的特點(diǎn),就是自己設(shè)計(jì)了專用檢測(cè)轉(zhuǎn)換電路來(lái)實(shí)現(xiàn)主備切換。本文提出一種新的構(gòu)思,取消專用檢測(cè)轉(zhuǎn)換電路,采用一種高效、實(shí)用的軟件冗余技術(shù)來(lái)完成雙機(jī)切換。2、冗余系統(tǒng)介紹雙機(jī)冗余包括cpu、擴(kuò)展電路、電源和外設(shè)雙備份的全系統(tǒng)冗余,不但可簡(jiǎn)化設(shè)計(jì)方案,還可大大地提高應(yīng)用系統(tǒng)的可靠性。這種冗余系統(tǒng)具有如圖1所示的典型硬件結(jié)構(gòu)。在圖1所示的系統(tǒng)中,u1和u2單元的軟硬件結(jié)構(gòu)完全相同。如有必要,在設(shè)計(jì)各單元時(shí),通過(guò)采用自診斷技術(shù),軟件陷井或watch dog等系統(tǒng)自行恢復(fù)措施可使單元可靠性達(dá)到最大限度的提高。系統(tǒng)正常運(yùn)行時(shí),u1和u2中的一個(gè)單元處于正常工作狀態(tài)(把該單元稱為主機(jī)),完成應(yīng)用功能,而另一個(gè)單元(備機(jī))處于等待備用狀態(tài)。當(dāng)檢測(cè)轉(zhuǎn)換電路檢測(cè)到主機(jī)不能正常工作時(shí),自動(dòng)啟動(dòng)備機(jī)進(jìn)入正常運(yùn)行狀態(tài),完成應(yīng)用功能。此時(shí),可對(duì)故障單元進(jìn)行脫線維護(hù),在排除其故障后,可使其聯(lián)機(jī)進(jìn)入等待備用狀態(tài)。顯然,這種冗余系統(tǒng)已大大提高了應(yīng)用系統(tǒng)的可靠性,并基本保證了應(yīng)用系統(tǒng)的不間斷運(yùn)行。但仔細(xì)分析,就會(huì)發(fā)現(xiàn)它存在以下不足之處:① 系統(tǒng)存在可靠性瓶頸,當(dāng)檢測(cè)轉(zhuǎn)換電路自身出現(xiàn)故障時(shí),不能監(jiān)視主備機(jī)狀態(tài),也無(wú)法完成主備機(jī)自動(dòng)切換功能;② 對(duì)于某些冗余系統(tǒng),當(dāng)備機(jī)需要實(shí)時(shí)保留主機(jī)之間的數(shù)據(jù)備份時(shí),檢測(cè)轉(zhuǎn)換電路無(wú)法完成主備機(jī)之間的數(shù)據(jù)通信功能;③ 由于需要設(shè)計(jì)檢測(cè)轉(zhuǎn)換電路,系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)復(fù)雜,引入了附加的不可靠因素。3、改進(jìn)設(shè)計(jì)方案針對(duì)圖1所示的雙機(jī)冗余系統(tǒng)結(jié)構(gòu)和缺點(diǎn),筆者實(shí)現(xiàn)了一個(gè)簡(jiǎn)單高效、具有更高可靠性和主備機(jī)數(shù)據(jù)通信功能的改進(jìn)設(shè)計(jì)方案。其基本設(shè)計(jì)思想是:不改變上述冗余系統(tǒng)的基本結(jié)構(gòu),但完全去掉專用的檢測(cè)轉(zhuǎn)換電路,利用主備機(jī)雙方的串行口和軟件相結(jié)合的方法,實(shí)現(xiàn)檢測(cè)轉(zhuǎn)換電路的功能和主備機(jī)之間的數(shù)據(jù)通信功能。在此改進(jìn)的設(shè)計(jì)方案中,主備單元的硬件和軟件結(jié)構(gòu)完全相同,各單元的主備工作狀態(tài)由上電順序決定,先上電的一方自動(dòng)進(jìn)入主機(jī)工作狀態(tài),后上電者則進(jìn)入備機(jī)狀態(tài)。主機(jī)在其工作過(guò)程中除實(shí)現(xiàn)應(yīng)用功能外,定期向備機(jī)發(fā)送反映其工作正常的狀態(tài)數(shù)據(jù),當(dāng)需要備份的數(shù)據(jù)發(fā)生變化時(shí),主機(jī)及時(shí)向備機(jī)發(fā)送已更新的數(shù)據(jù)。此外,主機(jī)也定期接收來(lái)自備機(jī)的狀態(tài)數(shù)據(jù),當(dāng)發(fā)生接收超時(shí)時(shí),主機(jī)認(rèn)為備機(jī)已經(jīng)發(fā)生故障,并通過(guò)本單元的顯示裝置向用戶給出通知信號(hào),以便及時(shí)對(duì)備機(jī)進(jìn)行脫線維護(hù)。備機(jī)在其工作過(guò)程中不完成應(yīng)用功能,但定期接收來(lái)自主機(jī)的狀態(tài)數(shù)據(jù),當(dāng)發(fā)生接收超時(shí),備機(jī)認(rèn)為主機(jī)以經(jīng)發(fā)生故障,自動(dòng)切換進(jìn)入主機(jī)工作狀態(tài),并通過(guò)本單元顯示裝置通知用戶,以便對(duì)原主機(jī)單元進(jìn)行脫線維護(hù)。此外,備機(jī)還自動(dòng)接收來(lái)自主機(jī)的備份數(shù)據(jù)并進(jìn)行存儲(chǔ)備份。 4、軟件模板下面的軟件模板給出了筆者已實(shí)現(xiàn)的雙機(jī)冗余系統(tǒng)的軟件框架,和 應(yīng)用 系統(tǒng)實(shí)現(xiàn)密切相關(guān)的部分用 自然 語(yǔ)言簡(jiǎn)單描述,其余部分為visual c 源代碼,因此,這一軟件模板很容易移植到相似結(jié)構(gòu)的冗余系統(tǒng)中。該軟件模板以visual c 進(jìn)行程序設(shè)計(jì),常量ok,req,ack和nack分別表示主備機(jī)工作狀態(tài)正常,備份數(shù)據(jù)發(fā)送請(qǐng)求,肯定應(yīng)答和否定應(yīng)答信息的字符常量,main,standby分別是表示工作單元為主機(jī)或備機(jī)的常量標(biāo)志。全局變量timeout用于設(shè)定以毫秒為單位的超時(shí)間隔,而update,cpustatus和failure分別是表示備份數(shù)據(jù)是否更新,主備機(jī)狀態(tài)和主備機(jī)是否發(fā)生故障的標(biāo)志位變量。定時(shí)器0產(chǎn)生每隔1ms的定時(shí)中斷(采用queryperformancecounter((large_integer *)
【串口通信在雙機(jī)冗余系統(tǒng)中應(yīng)用】相關(guān)文章:
基于SNMP及串口通信的網(wǎng)絡(luò)監(jiān)控與報(bào)警系統(tǒng)03-07
分析同步技術(shù)在通信系統(tǒng)中的應(yīng)用價(jià)值12-05
串口服務(wù)器在車號(hào)識(shí)別系統(tǒng)中的應(yīng)用03-16
衛(wèi)星通信在應(yīng)急保障系統(tǒng)中的應(yīng)用11-26
VC++實(shí)現(xiàn)串口通信的應(yīng)用程序設(shè)計(jì)03-07
數(shù)字通信系統(tǒng)的應(yīng)用方法11-15
基于C和串口通信的紅外防盜報(bào)警系統(tǒng)設(shè)計(jì)03-26
基于Vxworks實(shí)時(shí)操作系統(tǒng)的串口通信程序設(shè)計(jì)與實(shí)現(xiàn)03-18