段沛沛 王鋒茂
(1.西安石油大學(xué) 西安 710065;
2.深圳市磊科實(shí)業(yè)有限公司 西安 710075)
在可靠性要求比較高的系統(tǒng)中,一般都會(huì)采用雙主控冗余備份的方式工作,當(dāng)其中一張主控板故障時(shí),可自動(dòng)切換到另一張主控板進(jìn)行工作。為了實(shí)現(xiàn)自動(dòng)切換,需要定義一套嚴(yán)格的機(jī)制,使只有處于活動(dòng)的主控板才對(duì)系統(tǒng)享有完全的控制權(quán),備用的主控板實(shí)時(shí)監(jiān)視活動(dòng)主控板的狀態(tài),并備份活動(dòng)主控板的實(shí)時(shí)數(shù)據(jù),一旦活動(dòng)主控板發(fā)生故障,備用主控板可以立即轉(zhuǎn)變?yōu)榛顒?dòng)狀態(tài),并基于實(shí)時(shí)備份的狀態(tài)繼續(xù)運(yùn)行。本設(shè)計(jì)基于看門狗的動(dòng)態(tài)監(jiān)控原理,再利用RS觸發(fā)器的互鎖機(jī)制,使一個(gè)系統(tǒng)中的兩個(gè)主控板首先競(jìng)爭(zhēng)系統(tǒng)控制權(quán),競(jìng)爭(zhēng)成功的主控板進(jìn)入活動(dòng)狀態(tài),競(jìng)爭(zhēng)失敗的主控板則進(jìn)入備用狀態(tài)。并且,如果活動(dòng)態(tài)的主控板無(wú)法維持其狀態(tài)時(shí),系統(tǒng)的控制權(quán)會(huì)自動(dòng)轉(zhuǎn)移到備用的主控板上。
主控板采用統(tǒng)一化的設(shè)計(jì),雙機(jī)倒換功能主要由主處理器模塊、雙機(jī)模塊和單板管理模塊完成,各模塊之間的關(guān)系如圖1所示。兩種主控板之間的接口主要有ACT互控總線、IIC管理總線和實(shí)時(shí)備份總線,ACT互控總線為三態(tài)輸出,信號(hào)包括ACTin#和ACTout#,均為低電平有效,ACTin#信號(hào)均在單板接口出上拉,如果對(duì)方主控板不存在或是斷電時(shí),可保證該信號(hào)為無(wú)效的高電平。IIC管理基于IIC總線,主處理器為IIC主設(shè)備,每個(gè)單板的IIC管理模塊為IIC從設(shè)備,IIC總線由ACT#信號(hào)控制,只有處于活動(dòng)狀態(tài)的主控板才有權(quán)利控制各單板的IIC管理模塊。實(shí)時(shí)備份總線基于高速以太網(wǎng),主備之間大量的動(dòng)態(tài)數(shù)據(jù)通過(guò)該總線傳輸。
圖1 應(yīng)用動(dòng)態(tài)雙機(jī)倒換的主控板
主處理器模塊實(shí)現(xiàn)本板狀態(tài)機(jī)的切換與運(yùn)行,該模塊由IIC管理模塊送出的PORST#信號(hào)進(jìn)行復(fù)位,當(dāng)主處理器復(fù)位后,首先應(yīng)當(dāng)禁用看門狗復(fù)位(WDEN=1)。ACT#為有效的低電平時(shí),標(biāo)識(shí)本板處于活動(dòng)狀態(tài),并由ACT#信號(hào)控制打開IIC管理總線以及主控板其他對(duì)系統(tǒng)的管理接口,該主控板才能對(duì)系統(tǒng)實(shí)施管理。另外,主控板需要定期的更新WDI信號(hào),以保持雙機(jī)模塊的狀態(tài)。
IIC管理模塊用于主控板單板,該模塊接收活動(dòng)的主控板發(fā)出的命令并執(zhí)行,在雙機(jī)倒換機(jī)制中,該模塊主要用于主處理器模塊的復(fù)位處理。IIC模塊接受3種復(fù)位源,分別來(lái)自雙機(jī)模塊的WDRST#、MRRST#和IIC總線的復(fù)位命令,任意條件滿足時(shí),IIC管理模塊都會(huì)向主處理器模塊發(fā)出復(fù)位操作。
雙機(jī)模塊本板的監(jiān)測(cè)以及和對(duì)方主控板進(jìn)行交互、實(shí)現(xiàn)雙機(jī)監(jiān)測(cè)和切換,雙機(jī)模塊會(huì)監(jiān)測(cè)WDI信號(hào),如果在設(shè)定周期內(nèi)沒(méi)有正常收到WDI信號(hào),雙機(jī)模塊會(huì)在WDRST#信號(hào)上輸出低電平和ACTout#信號(hào)上輸出高電平。當(dāng)WDI恢復(fù)時(shí),WDRST#信號(hào)上會(huì)立即恢復(fù)高電平,但只有ACTin#為高電平時(shí),在ACTout#信號(hào)才能輸出低電平。而且優(yōu)先進(jìn)入活動(dòng)狀態(tài)的主控板需要維持自己的活動(dòng)狀態(tài),一旦該板無(wú)法維持其活動(dòng)狀態(tài),將會(huì)觸發(fā)雙機(jī)模塊重新仲裁。
雙機(jī)模塊由看門狗電路和與非門構(gòu)成,看門狗電路實(shí)現(xiàn)對(duì)主處理模塊的故障檢測(cè),監(jiān)測(cè)結(jié)果WDO和ACTin#信號(hào)送到一個(gè)與非門的輸入端。與非門的輸出便為ACTout#,ACTout#信號(hào)連接到另一張主控板ACTin#,兩張主控板的ACTout#信號(hào)和ACTin#信號(hào)在背板上交叉連接,組成一個(gè)RS觸發(fā)器,如圖2所示。主控板啟動(dòng)完成后,會(huì)啟用自己的看門狗系統(tǒng),看門狗電路的輸出WDO信號(hào)才能變?yōu)楦唠娖剑琑S觸發(fā)器可以鎖定其輸出狀態(tài),能保證只有先啟動(dòng)起來(lái)的主控板處于活動(dòng)狀態(tài),后啟動(dòng)的主控板無(wú)論如何也無(wú)法改變RS觸發(fā)器的輸出狀態(tài),除非活動(dòng)的主控板故障,無(wú)法繼續(xù)維持WDO狀態(tài)。
圖2 動(dòng)態(tài)雙機(jī)模塊實(shí)現(xiàn)方式
雙機(jī)模塊是雙機(jī)切換的關(guān)鍵部分,負(fù)責(zé)兩種主控板的狀態(tài)仲裁,仲裁遵循優(yōu)先原則,即先啟動(dòng)的主控板優(yōu)先進(jìn)入活動(dòng)狀態(tài),后啟動(dòng)的主控板只能進(jìn)入備用狀態(tài),并且不得影響正在正常運(yùn)行的主控板。
主控板有4種狀態(tài),分別是斷電態(tài)、啟動(dòng)態(tài)、活動(dòng)態(tài)和備用態(tài),它們之間的關(guān)系和切換條件如圖3所示。
只有當(dāng)主控板需要拔板或出現(xiàn)嚴(yán)重故障時(shí),才會(huì)處于斷電態(tài)。當(dāng)主控板插入時(shí),主控板默認(rèn)為自動(dòng)加電并進(jìn)入啟動(dòng)態(tài),該狀態(tài)用于主處理機(jī)初始化,由于啟動(dòng)態(tài)處于不穩(wěn)定期,所以主處理機(jī)加電后應(yīng)當(dāng)暫時(shí)禁止看門狗,待正常啟動(dòng)后,主處理機(jī)開始執(zhí)行喂狗操作,并使能看門狗。當(dāng)雙機(jī)模塊收到主處理機(jī)的喂狗信號(hào)后,便開始與對(duì)方主控板的雙機(jī)模塊競(jìng)爭(zhēng)活動(dòng)狀態(tài),如果對(duì)方此時(shí)處于非活動(dòng)態(tài)(ACTin=1),則雙機(jī)模塊就可以將自身的輸出ACTout#置為有效,并標(biāo)識(shí)本板處于活動(dòng)狀態(tài)(ACT=0)。如果對(duì)方主控板已經(jīng)處于活動(dòng)態(tài),則雙機(jī)模塊將無(wú)法將自身置為活動(dòng)態(tài),所以本板只能處于備用態(tài)(ACT=1)。主處理機(jī)根據(jù)ACT信號(hào)的狀態(tài),決定自己進(jìn)入活動(dòng)態(tài)或備用態(tài)。
圖3 主控板狀態(tài)機(jī)
主控板的各種運(yùn)行狀態(tài)及處理方式有:
A.由啟動(dòng)態(tài)到活動(dòng)態(tài)
當(dāng)系統(tǒng)中只存在一張主控板時(shí),或者另一張主控板也處于非活動(dòng)態(tài),本板的ACTin#信號(hào)就會(huì)被置為無(wú)效,所以只要主控板完成啟動(dòng)后,必然會(huì)轉(zhuǎn)到活動(dòng)態(tài)。
B.由啟動(dòng)態(tài)到備用態(tài)
主控板要進(jìn)入備用態(tài),另一張主控板必須為活動(dòng)狀態(tài),本板的ACTin#信號(hào)由于被置為有效,所以只要主控板完成啟動(dòng)后,只能轉(zhuǎn)到備用態(tài)。
C.活動(dòng)態(tài)和備用態(tài)之間切換
除非活動(dòng)的主控板自己放棄其活動(dòng)態(tài),才能轉(zhuǎn)到備用態(tài),備用的主控板才能轉(zhuǎn)為活動(dòng)態(tài),主控板自己放棄活動(dòng)態(tài)的可能原因有:
a.自身故障被動(dòng)放棄;
b.手動(dòng)切換主動(dòng)放棄。
當(dāng)自身故障無(wú)法維持雙機(jī)模塊狀態(tài)時(shí),主控板將會(huì)被看門狗強(qiáng)行復(fù)位,備用的雙機(jī)模塊將會(huì)因此而競(jìng)爭(zhēng)到活動(dòng)狀態(tài),備用的主控板也會(huì)升級(jí)為活動(dòng)態(tài)。
手動(dòng)切換命令只能發(fā)生在活動(dòng)的主控板上,主處理器可以通過(guò)暫停喂狗的方式觸發(fā)雙機(jī)模塊重新仲裁,如果備用主控板狀態(tài)正常,將會(huì)因此而競(jìng)爭(zhēng)到活動(dòng)態(tài),當(dāng)原活動(dòng)的主控板重新恢復(fù)看門狗狀態(tài)后,將無(wú)法再次競(jìng)爭(zhēng)到活動(dòng)態(tài)。但如果備用主控板的狀態(tài)不正常,所以也無(wú)法切換,當(dāng)活動(dòng)的主控板重新恢復(fù)看門狗狀態(tài)后,將繼續(xù)競(jìng)爭(zhēng)到活動(dòng)態(tài),本次手動(dòng)切換也將失敗。
本文描述的基于看門狗電路的動(dòng)態(tài)雙機(jī)切換機(jī)制,該設(shè)計(jì)具有電路簡(jiǎn)單實(shí)用,可靠性高,成本低等優(yōu)點(diǎn),并能有效解決死鎖問(wèn)題。較傳統(tǒng)的靜態(tài)觸發(fā)機(jī)制,有明顯的優(yōu)勢(shì),尤其可為大型刀片式的電信設(shè)備提供高可靠性保證,能夠有效降低光傳輸、城域網(wǎng)交換以及工業(yè)控制等領(lǐng)域的設(shè)計(jì)成本,并加快研發(fā)進(jìn)度。
[1]康寧公司.創(chuàng)新解決方案加速中國(guó)FTTH建設(shè)[J].通訊世界,2011(06).
[2]沈成彬,趙煥東,蔣銘,王波.EPON設(shè)備互通性研究[J].電信科學(xué),2006,(1):59 -63.
[3]鄒超,楊慶豐.我國(guó)ADSL與FTTH的組網(wǎng)方式及成本要素[J].西安交通大學(xué)學(xué)報(bào)(社會(huì)科學(xué)版),2008,28(1):41 -43.
[4]李莉,吳重慶.寬帶接入網(wǎng)的接入技術(shù)及應(yīng)用探討[J].華北電力技術(shù),1999(12).
[5]毛飛磊.城市光網(wǎng)與維護(hù)[J].大眾科技,2011(03),21 -24.