專利名稱:一種冗余切換控制電路及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及自動(dòng)化控制領(lǐng)域,尤其涉及一種冗余切換控制電路及方法。
背景技術(shù):
在工業(yè)自動(dòng)化領(lǐng)域中,為了提高系統(tǒng)的可靠性, 一些系統(tǒng)中的關(guān)鍵單元 (或子系統(tǒng))通常采用工作、備用熱備份的冗余配置方式,這種冗余配置方 式也稱為熱備冗余配置。熱備冗余配置中,將兩個(gè)單元都設(shè)置于運(yùn)行狀態(tài), 并將其中一個(gè)單元設(shè)置為工作狀態(tài),另一個(gè)單元設(shè)置為備用狀態(tài)。當(dāng)工作狀 態(tài)的單元出現(xiàn)故障時(shí),系統(tǒng)進(jìn)行工作/備用狀態(tài)的切換,將出現(xiàn)故障的處于工 作狀態(tài)的單元切換為備用狀態(tài),而將故障等級(jí)較低的備用狀態(tài)的單元切換為 工作狀態(tài),從而實(shí)現(xiàn)有故障工作狀態(tài)的單元的切換,進(jìn)而才能保證有正常工 作狀態(tài)的單元為系統(tǒng)提供功能。有些情況下,還需要根據(jù)用戶的需要進(jìn)行手 動(dòng)切換。
進(jìn)行工作狀態(tài)的單元的切換, 一般需要由冗余切換控制電路來(lái)實(shí)現(xiàn)?,F(xiàn) 有的冗余切換控制電路常采用由邏輯電路(例如"與非"邏輯電路)搭建的 雙穩(wěn)態(tài)觸發(fā)器形式,通過(guò)觸發(fā)器實(shí)現(xiàn)工作/備用狀態(tài)的切換。構(gòu)成現(xiàn)有冗余切 換控制電路的觸發(fā)器的兩個(gè)邏輯電路分別處在兩個(gè)冗余單元中,依靠?jī)蓚€(gè)單 元之間的互聯(lián)線實(shí)現(xiàn)觸發(fā)器的互鎖邏輯。由于工業(yè)現(xiàn)場(chǎng)存在著環(huán)境復(fù)雜、干 擾源多、干擾強(qiáng)度大等不利因素,很容易使得互連線上感應(yīng)出超過(guò)門限電平 的干擾,從而引發(fā)觸發(fā)器狀態(tài)翻轉(zhuǎn),由于觸發(fā)器特有的"記憶"效應(yīng),干擾 消除后也錯(cuò)誤狀態(tài)被保持,使得觸發(fā)器因受到干擾而導(dǎo)致誤切換。
從上面可以看出,現(xiàn)有的采用觸發(fā)器形式的冗余切換控制電路因受到干 擾而使觸發(fā)器狀態(tài)翻轉(zhuǎn)且錯(cuò)誤狀態(tài)被保持,干擾越大導(dǎo)致誤切換的概率也越 大,可靠性降低。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的是提供一種冗余切換控制電路及方法,使得冗余切
4換控制電路的誤切換概率降低,可靠性提高。
為解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供的一種冗余切換電路及方法是 這樣實(shí)現(xiàn)的
一種冗余切換控制電路,包括兩個(gè)互為熱備冗余的中央處理器CPU1和 CPU2,
CPU1的第一引腳用于CPU1檢測(cè)CPU1的工作/備用狀態(tài);CPU1的第二 引腳用于輸出切換請(qǐng)求信號(hào),用于CPU1控制CPU2的工作/備用狀態(tài);
CPU2的第 一 引腳用于CPU2檢測(cè)CPU2的工作/備用狀態(tài);CPU2的第二 引腳用于輸出切換請(qǐng)求信號(hào),用于CPU2控制CPU1的工作/備用狀態(tài);
CPU1的第二引腳連接CPU2的第一引腳,CPU2的第二引腳連接CPU1 的第一引腳。
優(yōu)選地,所述電路中,所述CPU1和CPU2的第一引腳和第二引腳上連接 上拉電阻。
一種冗余切換控制方法,所述方法應(yīng)用于上述的電路,CPU1處于工作狀 態(tài),CPU2處于備用狀態(tài),
當(dāng)處于工作狀態(tài)的CPU1出現(xiàn)故障時(shí),該方法包括 CPU1輸出切換請(qǐng)求信號(hào)至CPU2;
CPU2接收所述切換請(qǐng)求信號(hào),將所述CPU2的第一引腳置為正邏輯,檢 測(cè)所述CPU2的第一引腳,將CPU2的狀態(tài)由備用狀態(tài)切換為工作狀態(tài),將所 述CPU2的第二引腳置為負(fù)邏輯,輸出切換請(qǐng)求信號(hào)至CPU1;
CPU1接收所述切換請(qǐng)求信號(hào),將所述CPU1的第一引腳置為負(fù)邏輯,檢 測(cè)所述CPU1的第一引腳,將CPU1的狀態(tài)由工作狀態(tài)切換為備用狀態(tài)。
優(yōu)選地,所述方法中,所述切換請(qǐng)求信號(hào)由處于工作狀態(tài)的中央處理器 發(fā)送。
優(yōu)選地,所述方法中,所述切換請(qǐng)求信號(hào)包括切換請(qǐng)求脈沖信號(hào)。 優(yōu)選地,所述方法中,所述方法進(jìn)一步包括CPU1和CPU2的初始化方法, 包括
CPU1和CPU2同時(shí)上電或熱復(fù)位,CPU1默認(rèn)為處于備用狀態(tài),CPU2 也默認(rèn)為處于備用狀態(tài);CPU2檢測(cè)所述CPU2的第一引腳的時(shí)間比CPUl檢測(cè)所述CPU1的第一 引腳的時(shí)間延遲預(yù)定時(shí)間,確定CPU1處于工作狀態(tài),CPU2處于備用狀態(tài)。
優(yōu)選地,所述方法中,所述方法進(jìn)一步包括CPU1和CPU2的初始化方 法,包括
CPU1先上電或熱復(fù)位,CPU1默認(rèn)為處于備用狀態(tài); CPU1工作穩(wěn)定后,CPU1檢測(cè)所述CPU1的第一引腳,確定CPU1處于 工作狀態(tài);
CPU2后上電或熱復(fù)位,CPU2默認(rèn)為處于備用狀態(tài); CPU2工作穩(wěn)定后,CPU2檢測(cè)所述CPU2的第一引腳,確定CPU2處于 備用狀態(tài)。
優(yōu)選地,所述方法中,所述4企測(cè)所述CPU2的第一引腳的時(shí)間為CPU2 的一條機(jī)器指令時(shí)間。
優(yōu)選地,所述方法中,所述4企測(cè)所述CPU1的第一引腳的時(shí)間為CPU1 的一條機(jī)器指令時(shí)間。
優(yōu)選地,所述方法中,所述^r測(cè)所述CPU2的第一引腳的時(shí)間為CPU2 的至少兩條機(jī)器指令時(shí)間,所述檢測(cè)所述CPU1的第一引腳的時(shí)間為CPU1 的至少兩條機(jī)器指令時(shí)間。
由以上本發(fā)明實(shí)施例提供的技術(shù)方案可見(jiàn),本發(fā)明電路實(shí)施例不再采用 現(xiàn)有技術(shù)中的"與非"邏輯電路構(gòu)成的觸發(fā)器來(lái)實(shí)現(xiàn)冗余切換控制,而是通 過(guò)直接檢測(cè)對(duì)方CPU的輸出信號(hào)來(lái)實(shí)現(xiàn)工作/備用狀態(tài)的判斷,從而實(shí)現(xiàn)冗余 切換控制,由于取消了原有兩個(gè)CPU之間的觸發(fā)器,兩設(shè)備間冗余互聯(lián)線上 受干擾后,互聯(lián)線上的干擾狀態(tài)不被記憶,CPU可以在第一引腳上讀出正確 的狀態(tài)而不會(huì)導(dǎo)致誤切換,從而降低了誤切換概率,可靠性提高。本發(fā)明電 路實(shí)施例由于取消了觸發(fā)器,相比現(xiàn)有冗余切換控制電路,在完成相同功能 條件下,電路更簡(jiǎn)單,也提高了可靠性。
CPU1出現(xiàn)故障時(shí),CPU1輸出切換請(qǐng)求信號(hào)至CPU2; CPU2接收切換請(qǐng)求信 號(hào),將CPU2的第一引腳置為正邏輯,檢測(cè)CPU2的第一引腳,將CPU2的狀 態(tài)由備用狀態(tài)切換為工作狀態(tài),將CPU2的第二引腳置為負(fù)邏輯,輸出切換請(qǐng)求信號(hào)至CPU1; CPU1接收切換請(qǐng)求信號(hào),將CPU1的第一引腳置為負(fù)邏輯,檢測(cè)CPU1的第一引腳,將CPU1的狀態(tài)由工作狀態(tài)切換為備用狀態(tài)。本發(fā)明方法實(shí)施例是通過(guò)直接檢測(cè)對(duì)方CPU的輸出信號(hào)來(lái)實(shí)現(xiàn)工作/備用狀態(tài)的判斷,不再采用現(xiàn)有技術(shù)中的"與非"邏輯電路構(gòu)成的觸發(fā)器形式,取消了原有兩個(gè)CPU之間的觸發(fā)器,兩設(shè)備間冗余互聯(lián)線上受干擾后,互聯(lián)線上的干擾狀態(tài)不被記憶,CPU可以在第一引腳上讀出正確的狀態(tài)而不會(huì)導(dǎo)致誤切換,從而降低了誤切換概率,可靠性提高。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅表明本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他實(shí)施例的附圖。
圖1是本發(fā)明實(shí)施例提供的冗余切換控制電路示意圖;圖2是本發(fā)明實(shí)施例提供的冗余切換控制方法流程圖。
具體實(shí)施例方式
本發(fā)明實(shí)施例提供一種冗余切換控制電路及方法。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
以下介紹本發(fā)明實(shí)施例提供的冗余切換控制的一電路實(shí)施例,所述冗余切換控制電路包括兩個(gè)互為熱備冗余的中央處理器CPU1和CPU2,圖l示出了該實(shí)施例的示意圖,如圖1所示,
CPU1的第一引腳用于CPU1檢測(cè)CPU1的工作/備用狀態(tài);CPU1的第二
7引腳用于輸出切換請(qǐng)求信號(hào),用于CPU1控制CPU2的工作/備用狀態(tài);
CPU2的第一引腳用于CPU2檢測(cè)CPU2的工作/備用狀態(tài);CPU2的第二
引腳用于輸出切換請(qǐng)求信號(hào),用于CPU2控制CPU1的工作/備用狀態(tài);
CPU1的第二引腳連接CPU2的第一引腳,CPU2的第二引腳連接CPU1
的第一引腳。
CPU1和CPU2的第一引腳和第二引腳上都連接有上拉電阻。所述上拉電阻能將引腳的電平穩(wěn)定在預(yù)定的高電羊上,可以防止復(fù)位時(shí)引起的不穩(wěn)定。
本發(fā)明實(shí)施例提供的冗余切換控制電路代替了現(xiàn)有技術(shù)中由"與非"邏輯電路組成的觸發(fā)器,工作/備用狀態(tài)切換控制由中央處理器CPU的軟件來(lái)完成,電5^實(shí)現(xiàn)簡(jiǎn)單。
本發(fā)明實(shí)施例不再采用現(xiàn)有技術(shù)中的"與非"邏輯電路構(gòu)成的觸發(fā)器來(lái)實(shí)現(xiàn)冗余切換控制,而是通過(guò)直接檢測(cè)對(duì)方CPU的第二引腳上的輸出信號(hào)來(lái)實(shí)現(xiàn)工作/備用狀態(tài)的判斷,從而實(shí)現(xiàn)冗余切換控制,由于取消了原有兩個(gè)CPU之間的觸發(fā)器,兩CPU設(shè)備間冗余互聯(lián)線上受干擾后,互聯(lián)線上的干擾狀態(tài)不被記憶,CPU可以在第一引腳上讀出正確的狀態(tài)而不會(huì)導(dǎo)致誤切換,從而降低了誤切換概率,可靠性提高。本發(fā)明電路實(shí)施例由于取消了觸發(fā)器,相比現(xiàn)有冗余切換控制電路,在完成相同功能條件下,電路更簡(jiǎn)單,也提高了可靠性。
以下介紹本發(fā)明實(shí)施例沖是供的冗余切換控制的一方法實(shí)施例,所述方法實(shí)施例應(yīng)用于所述冗余切換控制電路中。
本發(fā)明實(shí)施例中CPU1對(duì)應(yīng)單元A, CPU2對(duì)應(yīng)單元B。 CPU1和CPU2采用熱備冗余配置方式,即單元A和單元B采用熱備冗余配置方式,所述熱備冗余配置的單元A和單元B都處于運(yùn)行狀態(tài),單元A和單元B中一個(gè)單元處于工作狀態(tài),作為工作單元,另一個(gè)單元處于備用狀態(tài),作為備用單元。為了下文描述方便,假設(shè)單元A處于工作狀態(tài),單元B處于備用狀態(tài),即單元A的CPU1處于工作狀態(tài),單元B的CPU2處于備用狀態(tài)。
為了下文描述方便,CPU1的第二引腳用WSC0N1表示,用于輸出切換請(qǐng)求信號(hào),控制CPU2的工作/備用狀態(tài);CPU1的第一引腳用ACTIVE1表示,用于CPU1工作/備用狀態(tài)的檢測(cè);CPU2的第二引腳用WSCON2表示,
8用于輸出切換請(qǐng)求信號(hào),控制CPU1的工作/備用狀態(tài);CPU2的第一引腳用ACTIVE2表示,用于CPU2工作/備用狀態(tài)的4企測(cè)。
本發(fā)明實(shí)施例提供的冗余切換控制方法中工作/備用狀態(tài)的檢測(cè)與切換由單元A的CPU1和單元B的CPU2中的軟件來(lái)實(shí)現(xiàn)。
圖2示出了所述冗余切換控制的方法實(shí)施例的流程圖,當(dāng)處于工作狀態(tài)的單元A的CPU1出現(xiàn)故障時(shí),所述方法實(shí)施例包括
S201: CPU1的WSCONl輸出切換請(qǐng)求信號(hào)至CPU2的ACTIVE2。當(dāng)處于工作狀態(tài)的單元A的CPU1出現(xiàn)故障時(shí),CPU1置WSCONl為高電平,即WSCONl的邏輯為1,為正邏輯;CPU1的WSCONl l命出正邏輯切換請(qǐng)求信號(hào)至CPU2的ACTIVE2。
所述切換請(qǐng)求信號(hào)包括切換請(qǐng)求脈沖信號(hào)。
S202: CPU2的ACTIVE2 4妄收所述切換:清求信號(hào),所述ACTIVE2置為正邏輯。
S203: CPU2 ^r測(cè)所述ACTIVE2,將CPU2的狀態(tài)由備用狀態(tài)切換為工作狀態(tài)。
由S202可知所述ACTIVE2為正邏輯,CPU2沖全測(cè)所述ACTIVE2為正邏輯,CPU2將自身狀態(tài)由原來(lái)的備用狀態(tài)切換為工作狀態(tài)。
所述CPU2檢測(cè)所述ACTIVE2的時(shí)間可以為 一條CPU讀指令時(shí)間,也可以為至少兩條CPU讀指令時(shí)間,其中,所述一條CPU讀指令時(shí)間為CPU的一條機(jī)器指令時(shí)間,不同CPU的一條機(jī)器指令時(shí)間也不同。
S204: CPU2的WSCON2置為負(fù)邏輯,輸出切換請(qǐng)求信號(hào)至CPU1的ACTIVE 1。
CPU2將自身狀態(tài)由原來(lái)的備用狀態(tài)切換為工作狀態(tài)后,CPU2置WSCON2為低電平,即置WSCON2的邏輯為0,為負(fù)邏輯;CPU2輸出負(fù)邏輯切換請(qǐng)求信號(hào)至CPU1的ACTIVE1。
所述CPU2輸出的切換請(qǐng)求信號(hào)包括切換請(qǐng)求脈沖信號(hào)。S205: CPU1的ACTIVE1接收所述切換請(qǐng)求信號(hào),所述ACTIVE 1置為負(fù)邏輯。
S206: CPU1檢測(cè)所述ACTIVE1,將CPU1的狀態(tài)由工作狀態(tài)切換為備用狀態(tài)。
由S205可知所述ACTIVEl為負(fù)邏輯,CPU1檢測(cè)到所述ACTIVE1為負(fù)邏輯,CPU1將自身狀態(tài)由工作狀態(tài)切換為備用狀態(tài)。
所述CPU1檢測(cè)所述ACTIVEl的時(shí)間為 一條CPU讀指令時(shí)間,也可以為至少兩條CPU讀指令時(shí)間,其中所述一條CPU讀指令時(shí)間為CPU的一條機(jī)器指令時(shí)間,不同CPU的一條機(jī)器指令時(shí)間也不同。
所述切換請(qǐng)求信號(hào)由處于工作狀態(tài)的單元發(fā)送。
上述冗余切換控制過(guò)程中,單元A和單元B的切換是異步的。當(dāng)單元A的WSCON1置為高電平后,盡管單元B的ACTIVE2已經(jīng)有了相應(yīng)的變化,但此時(shí)單元B可能由于在執(zhí)行其他程序還沒(méi)有去4全測(cè)ACTIVE2,所以單元B仍維持以前的備用狀態(tài);而單元A盡管輸出了切換請(qǐng)求信號(hào),但由于單元B沒(méi)有響應(yīng),所以單元A也維持以前的工作狀態(tài),直到單元B響應(yīng)了單元A的切換請(qǐng)求,即單元B先將自身切換為工作單元,然后單元B通過(guò)WSCON2向單元A報(bào)告單元B已進(jìn)行了切換;單元A檢測(cè)ACTIVEl,得知單元B已經(jīng)完成了切換,從而將自身置為備用單元,完成冗余切換過(guò)程。
從上面可以看出,即使采用熱備冗余配置的CPU1和CPU2之間的切換信號(hào)線受到過(guò)較強(qiáng)的干擾,但與觸發(fā)器結(jié)構(gòu)的冗余切換電路相比,干擾不會(huì)被記憶,CPU可以在第一引腳檢測(cè)到正確的狀態(tài),從而不會(huì)導(dǎo)致誤切換,降低了誤切換概率,可靠性提高。
本發(fā)明實(shí)施例4是供的冗余切換控制方法進(jìn)一步包括單元A和單元B的初始化方法,即CPU1和CPU2的初始化方法。單元A和單元B的初始化包括單元A先上電或熱復(fù)位,單元B再上電或熱復(fù)位的情況和單元A、單元B同時(shí)上電或熱復(fù)位的情況。
下面描述單元A先上電或熱復(fù)位,單元B再上電或熱復(fù)位的情況,即CPU1先上電或熱復(fù)位,CPU2再上電或熱復(fù)位
CPU1先上電或熱復(fù)位,CPU1默認(rèn)為處于備用狀態(tài);
CPU1工作穩(wěn)定后,由于CPU1的ACTIVEl上存在上拉電阻,CPU1置ACTIVEl的電平為高電平;
;險(xiǎn)測(cè)到所述CPU1的ACTIVEl為高電平,確定單元A的CPU1處于工作狀態(tài),通過(guò)WSCON1輸出低電平至CPU2的ACTIVE2;
CPU2后上電或熱復(fù)位,CPU2也默認(rèn)為處于備用狀態(tài);
CPU2工作穩(wěn)定后,CPU2檢測(cè)所述CPU2的ACTIVE2,確定單元B的CPU2處于備用狀態(tài),從而繼續(xù)將自身設(shè)置為備用狀態(tài),輸出高電平至CPU1。
下面描述單元A和單元B同時(shí)上電或熱復(fù)位的情況,即CPU1和CPU2同時(shí)上電或熱復(fù)位
CPU1和CPU2同時(shí)上電或熱復(fù)位,CPU1默認(rèn)為處于備用狀態(tài),CPU2也默認(rèn)為處于備用狀態(tài);
當(dāng)兩個(gè)互為熱備冗余的單元同時(shí)上電或熱復(fù)位時(shí),可以對(duì)預(yù)定單元在初始化時(shí)延時(shí)預(yù)定時(shí)間再進(jìn)行工作/備用狀態(tài)的檢測(cè),從而確定兩個(gè)互為熱備冗余的單元的工作/備用狀態(tài)。這樣就減少了同時(shí)上電或熱復(fù)位時(shí)兩個(gè)互為熱備冗余單元之間竟?fàn)帥_突的次數(shù),錯(cuò)開(kāi)了兩個(gè)單元的檢測(cè)時(shí)間。
針對(duì)單元A和單元B,可以在初始化時(shí)讓單元B的CPU2相比較單元A的CPU1而言延時(shí)才企測(cè);由于CPU2在初始化時(shí)延時(shí)4企測(cè),CPU1由于ACTIVE1上存在上拉電阻,CPU1的ACTIVE1為高電平,從而確定單元A的CPU1進(jìn)入工作狀態(tài),從而單元B的CPU2進(jìn)入備用狀態(tài)。
本發(fā)明實(shí)施例通過(guò)中央處理器CPU的軟件功能,保證兩個(gè)互為熱備冗余單元同時(shí)上電或熱復(fù)位時(shí),可以通過(guò)竟?fàn)?,使得兩個(gè)單元處于互斥的工作/備用狀態(tài),完成兩個(gè)互為熱備冗余單元同時(shí)上電時(shí),工作/備用狀態(tài)的確立。
兩個(gè)互為冗余單元的初始化過(guò)程的C代碼如下If (initial == 1) 〃如果剛啟動(dòng)
Work—state = 0;〃標(biāo)志自身為備用狀態(tài)WSCON= 1;
If (side == 1) delay(5); 〃預(yù)定單元延遲檢測(cè)以減少竟?fàn)帥_突機(jī)會(huì)Initial = 0;〃標(biāo)志端口初始4匕結(jié)束
do 〃軟件實(shí)現(xiàn)的互斥過(guò)程
iiACTIVE = Read_PIO_ACTIVE(); 〃檢測(cè)ACTIVE端口電平狀態(tài) If (ACTIVE == 1 ) 〃檢測(cè)ACTIVE,使WSCON狀態(tài)與ACTIVE狀態(tài)互
斥
Work—state = 1; 〃根據(jù)ACTIVE狀態(tài)標(biāo)志自身為工作狀態(tài) WSCON = 0 ;〃將對(duì)方置為備用單元
else
Work—state = 0; 〃根據(jù)ACTIVE狀態(tài)標(biāo)志自身為備用狀態(tài) WSCON = 1; 〃請(qǐng)求對(duì)方為工作單元
}While(ACTIVE == WSCON) 〃電平相等,狀態(tài)竟?fàn)幬唇Y(jié)束 乂人上面的代碼可以看出,熱備冗余單元在上電或熱復(fù)位后,先初始化相 關(guān)端口,并先默認(rèn)自身為備用狀態(tài)。對(duì)于預(yù)定單元延遲檢測(cè)以減少竟?fàn)帥_突 機(jī)會(huì)。先進(jìn)行檢測(cè)的單元由于WSCON上存在上拉電阻,WSCON的邏輯為1, 判斷自身為工作單元,同時(shí)通過(guò)ACTIVE輸出低電平,請(qǐng)求對(duì)方單元更改為 備用單元。如果對(duì)方單元已經(jīng)啟動(dòng)初始化完畢,那么對(duì)方的WSCON線是拉 低的,也就是說(shuō)本單元的ACTIVE是被拉低的,那么本單元在初始化完成后 仍然為備用單元,即后上電的單元不影響已上電初始化完畢的單元。初始化 后的狀態(tài)一直維持到下次工作備用4企測(cè)的時(shí)刻,并在下次;險(xiǎn)測(cè)結(jié)束后,相應(yīng) 更改自身工作/備用狀態(tài)以及WSCON電平。這樣就算是兩個(gè)單元同時(shí)復(fù)位, 經(jīng)過(guò)竟?fàn)?,總能分出工作和備用狀態(tài)。
上述冗余切換控制過(guò)程和初始化過(guò)程由中央處理器CPU軟件來(lái)實(shí)現(xiàn),通 過(guò)CPU間端口協(xié)調(diào)完成。
兩個(gè)互為冗余的單元同時(shí)上電或熱復(fù)位時(shí),由于互為冗余的單元的硬件 參數(shù)不可能完全一致,必然有一個(gè)單元先進(jìn)入工作狀態(tài),則另一個(gè)單元就處 于備用狀態(tài)。本發(fā)明實(shí)施例是通過(guò)直接檢測(cè)對(duì)方CPU的第二引腳上的輸出信號(hào)來(lái)實(shí)現(xiàn) 工作/備用狀態(tài)的判斷,不再采用現(xiàn)有技術(shù)中的"與非"邏輯電路構(gòu)成的觸發(fā)
器形式,取消了原有兩個(gè)CPU之間的觸發(fā)器,兩CPU設(shè)備間冗余互聯(lián)線上受 干擾后,互聯(lián)線上的干擾狀態(tài)不被記憶,CPU可以在第一引腳上讀出正確的 狀態(tài)而不會(huì)導(dǎo)致誤切換,從而降低了誤切換概率,可靠性提高。
本發(fā)明實(shí)施例應(yīng)用于自動(dòng)控制領(lǐng)域中冗余配置的現(xiàn)場(chǎng)設(shè)備、單元以及系 統(tǒng)中,也可以應(yīng)用于其他領(lǐng)域中類似的冗余配置系統(tǒng)中。
通過(guò)以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本 發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,本發(fā) 明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形
式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、 光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,
以上所述的本發(fā)明實(shí)施方式,并不構(gòu)成對(duì)本發(fā)明保護(hù)范圍的限定。任何 在本發(fā)明的精神和原則之內(nèi)所作的修改、等同替換和改進(jìn)等,均應(yīng)包含在本 發(fā)明的權(quán)利要求保護(hù)范圍之內(nèi)。
1權(quán)利要求
1、一種冗余切換控制電路,包括兩個(gè)互為熱備冗余的中央處理器CPU1和CPU2,其特征在于,CPU1的第一引腳用于CPU1檢測(cè)CPU1的工作/備用狀態(tài);CPU1的第二引腳用于輸出切換請(qǐng)求信號(hào),用于CPU1控制CPU2的工作/備用狀態(tài);CPU2的第一引腳用于CPU2檢測(cè)CPU2的工作/備用狀態(tài);CPU2的第二引腳用于輸出切換請(qǐng)求信號(hào),用于CPU2控制CPU1的工作/備用狀態(tài);CPU1的第二引腳連接CPU2的第一引腳,CPU2的第二引腳連接CPU1的第一引腳。
2、 根據(jù)權(quán)利要求1所述的冗余切換控制電路,其特征在于,所述CPU1和CPU2的第一引腳和第二引腳上連接上拉電阻。
3、 一種冗余切換控制方法,其特征在于,所述方法應(yīng)用于權(quán)利要求1所述的電路,CPU1處于工作狀態(tài),CPU2處于備用狀態(tài),當(dāng)處于工作狀態(tài)的CPU1出現(xiàn)故障時(shí),該方法包括CPU1輸出切換請(qǐng)求信號(hào)至CPU2;CPU2接收所述切換請(qǐng)求信號(hào),將所述CPU2的第一引腳置為正邏輯,斗企測(cè)所述CPU2的第一引腳,將CPU2的狀態(tài)由備用狀態(tài)切換為工作狀態(tài),將所述CPU2的第二引腳置為負(fù)邏輯,輸出切換請(qǐng)求信號(hào)至CPU1;CPU1接收所述切換請(qǐng)求信號(hào),將所述CPU1的第一引腳置為負(fù)邏輯,檢測(cè)所述CPU1的第一引腳,將CPU1的狀態(tài)由工作狀態(tài)切換為備用狀態(tài)。
4、 根據(jù)權(quán)利要求3所述的冗余切換控制方法,其特征在于,所述切換請(qǐng)求信號(hào)由處于工作狀態(tài)的中央處理器發(fā)送。
5、 才艮據(jù)權(quán)利要求3所述的冗余切換控制方法,其特征在于,所述切換請(qǐng)求信號(hào)包括切換請(qǐng)求脈沖信號(hào)。
6、 根據(jù)權(quán)利要求3所述的冗余切換控制方法,其特征在于,所述方法進(jìn)一步包括CPU1和CPU2的初始化方法,包括CPU1和CPU2同時(shí)上電或熱復(fù)位,CPU1默認(rèn)為處于備用狀態(tài),CPU2也默認(rèn)為處于備用狀態(tài);CPU2檢測(cè)所述CPU2的第一引腳的時(shí)間比CPU1檢測(cè)所述CPU1的第一引腳的時(shí)間延遲預(yù)定時(shí)間,確定CPU1處于工作狀態(tài),CPU2處于備用狀態(tài)。
7、 根據(jù)權(quán)利要求3所述的冗余切換控制方法,其特征在于,所述方法進(jìn) 一步包括CPU1和CPU2的初始化方法,包括CPU1先上電或熱復(fù)位,CPU1默認(rèn)為處于備用狀態(tài); CPU1工作穩(wěn)定后,CPU1檢測(cè)所述CPU1的第一引腳,確定CPU1處于 工作狀態(tài);CPU2后上電或熱復(fù)位,CPU2默認(rèn)為處于備用狀態(tài); CPU2工作穩(wěn)定后,CPU2檢測(cè)所述CPU2的第一引腳,確定CPU2處于 備用狀態(tài)。
8、 根據(jù)權(quán)利要求3-7任一項(xiàng)所述的冗余切換控制方法,其特征在于,所 述檢測(cè)所述CPU2的第一引腳的時(shí)間為CPU2的一條機(jī)器指令時(shí)間。
9、 根據(jù)權(quán)利要求3-7任一項(xiàng)所述的冗余切換控制方法,其特征在于,所 述^r測(cè)所述CPUl的第一引腳的時(shí)間為CPU1的一條^14I指令時(shí)間。
10、 根據(jù)權(quán)利要求3-7任一項(xiàng)所述的冗余切換控制方法,其特征在于,所 述檢測(cè)所述CPU2的第一引腳的時(shí)間為CPU2的至少兩條機(jī)器指令時(shí)間,所述 檢測(cè)所述CPU1的第一引腳的時(shí)間為CPU1的至少兩條機(jī)器指令時(shí)間。
全文摘要
一種冗余切換控制電路及方法。一種冗余切換控制方法實(shí)施例,CPU1與CPU2采用熱備冗余配置方式,CPU1處于工作狀態(tài),CPU2處于備用狀態(tài),當(dāng)處于工作狀態(tài)的CPU1出現(xiàn)故障時(shí),該方法包括CPU1輸出切換請(qǐng)求信號(hào)至CPU2;CPU2接收切換請(qǐng)求信號(hào),將CPU2的第一引腳置為正邏輯,檢測(cè)CPU2的第一引腳,將CPU2的狀態(tài)由備用狀態(tài)切換為工作狀態(tài),將CPU2的第二引腳置為負(fù)邏輯,輸出切換請(qǐng)求信號(hào)至CPU1;CPU1接收切換請(qǐng)求信號(hào),將CPU1的第一引腳置為負(fù)邏輯,檢測(cè)CPU1的第一引腳,將CPU1的狀態(tài)由工作狀態(tài)切換為備用狀態(tài)。本發(fā)明實(shí)施例使得冗余切換控制電路的誤切換概率降低,可靠性提高。
文檔編號(hào)G05B19/048GK101510081SQ20091012956
公開(kāi)日2009年8月19日 申請(qǐng)日期2009年3月31日 優(yōu)先權(quán)日2009年3月31日
發(fā)明者龐欣然, 江竹軒, 賴一寧 申請(qǐng)人:浙江中控技術(shù)股份有限公司