專利名稱:電信設(shè)備的雙重控制處理器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及到過(guò)程控制系統(tǒng)的領(lǐng)域,更確切地說(shuō)涉及到電信設(shè)備的雙重控制處理器。
為了簡(jiǎn)便起見(jiàn),控制處理器在下文中僅以控制器來(lái)表示。
眾所周知,微處理器的重大成就大大地促進(jìn)了電信設(shè)備的控制器的實(shí)現(xiàn),甚至對(duì)相當(dāng)復(fù)雜的設(shè)備,例如電話設(shè)備。也可以這樣說(shuō),多虧有了微處理器,控制器的硬件設(shè)計(jì)在今天似乎可以獨(dú)立于所述控制器監(jiān)控的設(shè)備特性。實(shí)際上,在相當(dāng)復(fù)雜的設(shè)備中使用已知微處理器作為控制器的大部分例子中,控制器通常包括-一個(gè)處理器,它執(zhí)行設(shè)備操作和控制所需的處理,-一個(gè)RAM隨機(jī)存取存儲(chǔ)庫(kù),它含有表示設(shè)備特性的和因此在正常操作期間進(jìn)行處理的那些數(shù)據(jù),-數(shù)個(gè)外圍電路,它完善著處理器,并包括處理器和設(shè)備其余部分之間的接口。后者也可以全部或部分地雙重化。
處理器的先進(jìn)程度可能是不同的,但通常依次包括當(dāng)然一個(gè)具有適當(dāng)?shù)募呻娐返奈⑻幚砥?,用它在某些功能方面進(jìn)行合作,例如中斷處理、對(duì)存儲(chǔ)器的直接存取等;一個(gè)RAM,包括控制整套設(shè)備的程序;一個(gè)選擇電路,在信號(hào)上產(chǎn)生奇偶校驗(yàn)位,該信號(hào)通過(guò)微處理器總線轉(zhuǎn)遞;最后一個(gè)診斷電路,它檢測(cè)處理器存取差錯(cuò)和處理設(shè)備在出故障時(shí)產(chǎn)生的報(bào)警。在某些情況下處理器包括兩個(gè)或更多可選的同步微處理器。
“外圍電路”這一名稱延伸到通常已知的全部電路,這些電路裝備處理器且使它轉(zhuǎn)換成實(shí)際的控制器,即-海量存儲(chǔ)器和用于處理器的有關(guān)接口電路,-數(shù)據(jù)輸入/輸出終端和與處理器總線接口和擴(kuò)展有關(guān)的電路,-用于系統(tǒng)其余部分的接口電路,其特點(diǎn)是更具體地表示出設(shè)備的型式特征,舉例如電話機(jī)或電話交換用的脈碼調(diào)制(PCM)多路復(fù)用設(shè)備,-在上述的外圍電路的定義中因此也合理地包括上述與用于處理器有關(guān)接口電路一起的數(shù)據(jù)RAM。
眾所周知,微處理器控制器利用特殊位結(jié)構(gòu)在設(shè)備控制的專用寄存器中執(zhí)行選擇寫(xiě)入操作,來(lái)行使其對(duì)設(shè)備的控制作用,稱為“控制點(diǎn)”,從專用狀態(tài)寄存器的選擇讀出操作,稱為“讀出點(diǎn)”??刂泣c(diǎn)的寫(xiě)入用于控制設(shè)備各組成部分的某些操作方式,而讀出點(diǎn)的讀出使控制器用于檢驗(yàn)其操作狀態(tài)。
在最近的十年里,特別是在電信工業(yè)方面,設(shè)備的特點(diǎn)是高可靠性和高有效性,越來(lái)越需要引用冗余標(biāo)準(zhǔn)而生產(chǎn)的這種設(shè)備。一種被廣泛應(yīng)用在實(shí)際中的所述標(biāo)準(zhǔn),包括雙重化全部控制器。雙重化也需要包括單部處理器操作的碼和數(shù)據(jù)。
當(dāng)控制器的雙重化促使設(shè)備的可靠性更好,這便帶來(lái)在非雙重控制器中未發(fā)現(xiàn)的問(wèn)題。這些問(wèn)題主要是由于這一事實(shí),即有兩個(gè)可利用的處理器,對(duì)它們必須確定其作用,控制區(qū)分各種任務(wù)的標(biāo)準(zhǔn),和規(guī)定他們之間的轉(zhuǎn)接程序,即在發(fā)生故障時(shí),允許一部處理器能夠替代另一部處理器當(dāng)時(shí)的工作。
由于控制器的雙重化,產(chǎn)生的另一個(gè)問(wèn)題是確定兩個(gè)處理器如何與設(shè)備的其余部分互相連接。
在大多數(shù)已知的事例中,兩部控制器中的一部被稱為現(xiàn)用的,賦予現(xiàn)用的控制器的任務(wù)是監(jiān)督設(shè)備的其余部分,而另一部是作為備份的,因此,在發(fā)生故障的情況下用它來(lái)代替第一部。
替換工作是在出故障的情況下通過(guò)適當(dāng)?shù)乜刂七x擇器來(lái)完成,它防止出故障的那部控制器存取設(shè)備的其余部分,而允許存取原先備用的一部。
由上可見(jiàn),已知類型的雙重控制器的某些缺點(diǎn)已經(jīng)很明顯。第一個(gè)缺點(diǎn)是出于這一事實(shí),即甚至某些重要部分的簡(jiǎn)單故障,它的副作用通過(guò)軟件是不能及時(shí)消除的,它會(huì)妨礙繼續(xù)操作整個(gè)控制器的可能性。
第二個(gè)缺點(diǎn)是由于在因出故障而致兩部控制器互相轉(zhuǎn)換之后現(xiàn)用處理器損失了實(shí)際的處理時(shí)間。的確,為了能夠以損失最少信息來(lái)達(dá)到兩部控制器的轉(zhuǎn)換,在轉(zhuǎn)換瞬間之后立即出現(xiàn)了兩部控制器的數(shù)據(jù)RAM中數(shù)據(jù)結(jié)構(gòu)的同步問(wèn)題。為此目的,在已知事例中,一個(gè)相應(yīng)的子程序讀出在前現(xiàn)用數(shù)據(jù)RAM中的數(shù)據(jù),并重新組成現(xiàn)用數(shù)據(jù)RAM的數(shù)據(jù)。當(dāng)然,這引起實(shí)際處理時(shí)間的損失。這個(gè)缺點(diǎn)要是因?yàn)榘l(fā)生在設(shè)備操作的關(guān)鍵時(shí)刻也是特別嚴(yán)重的。
基于上述的全部認(rèn)識(shí),這些操作中局限性和缺點(diǎn)是很明顯的,這些缺點(diǎn)在上述已知型式的控制器中仍然有所表現(xiàn)。
因此,本發(fā)明的目的是指出一個(gè)適合電信設(shè)備的雙重控制處理器,全部或部分地雙重化以便解決上述缺點(diǎn)。
為了達(dá)到所述目的,本發(fā)明的目標(biāo)是一個(gè)用于電信設(shè)備的雙重控制處理器,它包括兩個(gè)相同的控制器,適當(dāng)?shù)鼗ハ噙B接,并與設(shè)備的其余部分連接。每個(gè)控制器包括一個(gè)處理器,它能完成操作和控制全套設(shè)備所需的處理,如果所述處理器必須規(guī)定有現(xiàn)用的或備份的,那么它還包括確定功能;一個(gè)數(shù)據(jù)RAM,它含有設(shè)備操作所需的數(shù)據(jù),和因此在操作時(shí)處理的那些數(shù)據(jù);以及處理器的某些外圍電路,它包括處理器與設(shè)備的其余電路及裝置之間的接口。
兩個(gè)控制器的數(shù)據(jù)RAM和外圍電路都包括相應(yīng)的雙門(mén)存取電路,兩個(gè)處理器的各總線都通到該電路。所述電路包括一個(gè)在出故障情況下適合控制用的選擇器,它防止處理器從存取設(shè)備的其余部分的工作狀態(tài)里中斷業(yè)務(wù),并允許訪問(wèn)前述的備用的處理器。
現(xiàn)用的處理器同步完成兩個(gè)雙重?cái)?shù)據(jù)RAM中的數(shù)據(jù)RAM寫(xiě)入周期,從而允許立即恢復(fù)所需數(shù)據(jù),以便隨著一次故障兩部處理器轉(zhuǎn)換之后能繼續(xù)操作,進(jìn)一步對(duì)其描述如下電信設(shè)備的雙重控制處理器基本上是由兩個(gè)相同的連接到設(shè)備的其余部分的控制器組成的,每個(gè)控制器包括一個(gè)對(duì)設(shè)備操作與控制進(jìn)行必要處理的處理器、數(shù)個(gè)連接處理器總線的外圍電路,以便協(xié)助處理器進(jìn)行控制操作,其特點(diǎn)是-每個(gè)處理器包括相應(yīng)配置的控制電路,它產(chǎn)生單部選擇信號(hào)傳向?qū)儆谒麄冏约嚎刂破鞯耐鈬娐罚湫盘?hào)的邏輯值確定選擇對(duì)全套設(shè)備實(shí)施控制的現(xiàn)用處理器;
-每個(gè)外圍電路包括各自的雙門(mén)存取電路,兩個(gè)處理器的總線接入電路的門(mén),所述的存取電路還有一個(gè)控制輸入端,所述的單部選擇信號(hào)進(jìn)入控制輸入端用于控制現(xiàn)用處理器的總線線路與備用處理器總線線路斷路時(shí)的電氣連接;
-現(xiàn)用處理器存取其自己控制器的通用外圍電路,而且無(wú)區(qū)別地存取相應(yīng)的雙重外圍電路,同時(shí)向企圖存取的外圍電路發(fā)送相應(yīng)的啟動(dòng)信號(hào),由所述存取電路使用,以擴(kuò)展現(xiàn)用的處理器。
本發(fā)明的另一個(gè)目標(biāo)是對(duì)作為本發(fā)明目標(biāo)的雙重控制器的一個(gè)改進(jìn),其中現(xiàn)用處理器同步完成兩個(gè)雙重?cái)?shù)據(jù)RAM的既寫(xiě)入又讀出的周期。另外,對(duì)兩個(gè)同步讀出的字進(jìn)行比較,在有差別的情況下,給微處理器發(fā)出報(bào)警信號(hào),微處理器便能開(kāi)始必要的維護(hù)操作。
根據(jù)改進(jìn),控制器能夠再一次節(jié)省實(shí)際時(shí)間,因?yàn)橄喈?dāng)?shù)睾?jiǎn)化了對(duì)雙重?cái)?shù)據(jù)RAM內(nèi)容識(shí)別的定期校驗(yàn),這種檢驗(yàn)在隨著故障由一個(gè)處理器轉(zhuǎn)換到另一處理器之后立即進(jìn)行是完全必須的。
根據(jù)這種改進(jìn)提供的一個(gè)雙重控制器,在下面更好地描述該雙重控制處理器的特點(diǎn)在于,所述單部選擇EPROM的地址行的所述信號(hào),經(jīng)過(guò)適當(dāng)?shù)臑V波,以消除任何干擾,并能使控制軟件開(kāi)始著手消除報(bào)警的原因。
從上述來(lái)看,根據(jù)本發(fā)明提供的一個(gè)雙重控制器的優(yōu)點(diǎn)和其改進(jìn)是清楚的。第一個(gè)優(yōu)點(diǎn)是在其任何一個(gè)部分發(fā)生故障時(shí)都是特別可靠的,因?yàn)樗苎杆俚貙?duì)其各部分重新配置。更確切地說(shuō),現(xiàn)用的處理器能無(wú)區(qū)別地存取其自己控制器的或雙重的外圍設(shè)備組件。第二個(gè)優(yōu)點(diǎn)是能夠大量地節(jié)省實(shí)際的處理時(shí)間,特別是在處理器轉(zhuǎn)換之后。這是因?yàn)樵趦蓚€(gè)雙重?cái)?shù)據(jù)RAM的寫(xiě)入和讀出的操作是同步的。
本發(fā)明另外的目的和優(yōu)點(diǎn)是以下列詳述的一個(gè)實(shí)施例加以闡明,因此以非限定的例子給出附圖,其中
圖1示出一個(gè)非常普通的電信設(shè)備的組件圖,包括根據(jù)本發(fā)明的雙重控制器,它是由標(biāo)示UC0和UC1的兩個(gè)相同的控制器組成,兩者適當(dāng)?shù)鼗ハ噙B接,并接到標(biāo)示設(shè)備的其余部分的TEL組件;
圖2示出圖1的雙重控制器的更詳細(xì)的組件圖,使上述標(biāo)著UP0和UP1的組件更清楚,還示出它們的互相連接,和在上述組件與屬于UC0和UC1控制器的其余各組件之間現(xiàn)存的連接;
圖3示出屬于UP0組件的并由圖2中的CPU0標(biāo)示的電路圖;和圖4示出一個(gè)時(shí)序邏輯狀態(tài)圖,它顯示了配置控制電路的操作。
參照?qǐng)D1,UC0和UC1表示兩個(gè)控制器,一起組成一個(gè)電信設(shè)備的單獨(dú)的雙重控制器,它除了包括UC0和UC1設(shè)備之外,還包括TEL組件。UC0控制器也叫0控制器,它包括UP0,PER0,MES0,I/U0和TER0各組件。
同樣,UC1控制器也叫1控制器,它包括UP1,PER1,MES1,I/U1和TER1各組件。
UP0和UP1各組件表示各處理器,每個(gè)處理器能夠監(jiān)督整個(gè)設(shè)備的操作。MES0和MES1各組件包括RAM數(shù)據(jù)庫(kù),其中存儲(chǔ)一個(gè)處理器在正常操作時(shí)處理的數(shù)據(jù),和有關(guān)的存取和接口電路。PER0和PER1組件的圖式單元被視為相關(guān)兩個(gè)處理器的外圍設(shè)備,所述組件也是雙重控制器的一部分,因?yàn)樗鼈兪鞘固幚砥髂軌蛲瓿蓪?duì)設(shè)備其余部分進(jìn)行監(jiān)督所必需的。更確切地說(shuō),PER0和PER1組件或者可以表示海量存儲(chǔ)器和用于處理器的有關(guān)存取和接口電路,或者可以表示處理器與不屬于控制器,例如TEL組件的設(shè)備其余部分之間的接口。
I/U0和I/U1組件與相應(yīng)的TER0和TER1組件也組成外圍電路。更確切地說(shuō),TER0和TER1組件或者表示通用的輸入/輸出終端,例如個(gè)人計(jì)算機(jī)或報(bào)警預(yù)警照明板,或遙控制操作接力設(shè)備或其他。I/U0或I/U1組件包括用于處理器的存取和接口電路,以及現(xiàn)用的處理器總線為了相應(yīng)的TER0或TER1組件擴(kuò)展的電路。
UP0和UP1各部處理器,每個(gè)都具有自己的雙向總線,分別以BUS0和BUS1表示。兩個(gè)總線中每一條連接到UC0控制器的UP0,PER0,MES0,I/U0組件,并與UC1控制器的UP1,PER1,MES1,和I/U1組件并聯(lián)。UP0和UP1處理器也互相連接,采用專門(mén)的雙向連接,如下所述。PER0組件表示的外圍設(shè)備以雙向方式與TEL組件連接,它圖示了特征為由雙重控制器監(jiān)督的那類設(shè)備的一組通用裝置,在本圖例中即是電話機(jī)。同樣地,PER1組件也以雙向方式接到同一個(gè)TEL組件。
參照?qǐng)D2,在圖1中的同樣單元在圖2是以同樣的符號(hào)表示,可以看出UP0和UP1兩個(gè)處理器,雙雙接到標(biāo)著B(niǎo)L0C0和BL0C1的兩個(gè)組件,它分別表示MES0,PER0,I/U0和MES1,PES1,I/U1組件中的任一個(gè)。
UP0組件依次包括CPU0,LOCMEM0,PERSEL0,BUSDR0,IPC0,ALDET0和CCL0組件。同樣地,UP1組件包括CPU1,LOCMEM1,PERSEL1,BUSDR1,IPC1,ALDET1和CCL1,它們?cè)诟鱾€(gè)方面與UP0的相應(yīng)各組件類似。在BL0C0和BL0C1組件中可以看到兩個(gè)相關(guān)的“或”邏輯門(mén),標(biāo)著“OR0”和“OR1”,和兩個(gè)相關(guān)的雙門(mén)存取電路,標(biāo)著“ACC0”和“ACC1”。
BUS0總線是一人并聯(lián)異步總線,傳到此總線上的是表示數(shù)據(jù)和地址的信號(hào),一起非雙工傳送,用它連接必要的讀-寫(xiě)和就緒(ready)式控制信號(hào),外圍部件的中斷信號(hào)等等,和具有處理器使用特征的某些狀態(tài)信號(hào)。校驗(yàn)BUS0的完整性是由相聯(lián)的各信息字節(jié),無(wú)論是數(shù)據(jù)或地址,和一個(gè)相關(guān)的奇偶校驗(yàn)位來(lái)完成。
在圖2中BUS0總線是以雙向表示的,但在實(shí)際中只有表示數(shù)據(jù)的信號(hào)是雙向的,但地址方向,控制和狀態(tài)信號(hào)總是從處理器發(fā)向外圍電路,不包括從外圍部件的采取反方向的就緒和中斷信號(hào)。
來(lái)自CPU0組件的BUS0總線接到LOCMEM0,PERSEL0,IPC0,ALDET0組件,和BUSDR0組件,它表示一個(gè)已知型的雙向總線驅(qū)動(dòng)器,包括收發(fā)信機(jī)。在向外圍部件擴(kuò)展之前,BUS0組件分成標(biāo)有BUS0L和BUS0R兩個(gè)相同的總線。BUS0L和BUS0R總線分別與ACC0和ACC1存取電路第一門(mén)連接,允許由UP0存取BL0C0和BL0C1組件。
同樣地,BUS1總線從CPU1組件接到LOCMEM1,PERSEL1,IPC1,ALDET1組件和BUSDR1組件,它表示一個(gè)已知型的雙向總線驅(qū)動(dòng)器。在向外圍部件擴(kuò)展之前,BUS1組件分成標(biāo)有BUS1L和BUS1R兩個(gè)相同的總線。BUS1L和BUS1R總線分別與ACC1和ACC0存取電路第二門(mén)連接,允許由UP1存取BL0C1和BL0C0組件。
為了簡(jiǎn)便起見(jiàn),以下的附注只用在屬于UP0處理器的各組件。可以理解,同樣的附注也適用于屬于UP1處理器的各組件,因?yàn)閁P0和UP1設(shè)備是相同的。
CPU0組件表示一個(gè)微處理器電路,同圖3一起會(huì)更徹底地討論。來(lái)自ALDET0組件的一個(gè)無(wú)屏蔽中斷信號(hào)和來(lái)自CCL0組件的一個(gè)RES0復(fù)原信號(hào)分別到達(dá)CPU0組件的兩個(gè)輸入端。在上述組件的一個(gè)輸出端,可能是一個(gè)MSM0報(bào)警信號(hào),發(fā)到ALDET0組件。
LOCMEM0組件實(shí)質(zhì)上包括一個(gè)可擦的可編程序只讀存儲(chǔ)器EPROM和一個(gè)RAM。在EPROM中存儲(chǔ)UP0設(shè)備的自診斷程序和引導(dǎo)程序。在RAM中存儲(chǔ)UP0處理器操作的實(shí)際軟件程序和局部數(shù)據(jù),這些是UP1處理器轉(zhuǎn)換成現(xiàn)用的時(shí)候并不需要的。
PERSEL0組件包括BUS0信息的譯碼邏輯電路,它供CPU0對(duì)外圍部件每次讀和寫(xiě)存取用的,產(chǎn)生相應(yīng)的組合信號(hào)B0SEL0,B1SEL0等等,發(fā)送給BL0C0,BL0C1組件等等,因此供選擇啟動(dòng)。來(lái)自CCL0組件的一個(gè)SEL0單部選擇信號(hào)到達(dá)PERSEL0的啟動(dòng)輸入端。PERSEL0組件還包括一個(gè)用于外圍數(shù)據(jù)存儲(chǔ)器寫(xiě)入周期(在圖中未顯示)的同步雙重電路,其操作將在下面敘述。
ALDET0組件允許UP0處理器維護(hù),為此目的包括專用的檢測(cè)電路,供UP0處理器檢測(cè)所發(fā)生的故障,并產(chǎn)生相應(yīng)的報(bào)警信號(hào)。所述電路是用正常的譯碼邏輯電路實(shí)施,這些電路對(duì)于本領(lǐng)域技術(shù)精通者是容易了解的,因此在圖中未顯示。ALDET0組件連接到BUS0和UP1處理器的相應(yīng)的ALDET1組件上,采用雙向連接的手段,區(qū)別于BUS0。所述連接允許ALDET0組件能獲得在整個(gè)雙重控制器中檢測(cè)的全部報(bào)警消息。在檢測(cè)或獲得一個(gè)或更多個(gè)報(bào)警的情況下,ALDET0組件產(chǎn)生NMI0無(wú)屏蔽中斷信號(hào),發(fā)給CPU0組件。ALDET0組件利用標(biāo)著AL0的單向連接通道也接到CCL0組件。
CCL0組件包括一個(gè)帶有固件的單部選擇用的EPROM,能允許它像異步時(shí)序邏輯電路一樣操作,以便確定現(xiàn)用的是哪部,即UP0或UP1,見(jiàn)圖4有更好的解釋。所述組件也包括一個(gè)振蕩器,產(chǎn)生一個(gè)局部時(shí)鐘信號(hào),它與CPU0組件中產(chǎn)生的一個(gè)信號(hào)無(wú)關(guān),還包括一個(gè)計(jì)數(shù)器,它產(chǎn)生一個(gè)16ms定時(shí),用于篩選來(lái)自ALDET0的某些報(bào)警信號(hào)。
由CCL1組件產(chǎn)生的一個(gè)SEL1單部選擇信號(hào)通過(guò)AL0連接通道到達(dá)CCL0組件,某些信號(hào)在下面敘述。為了選擇現(xiàn)用的處理器的目的,CCL0組件產(chǎn)生一個(gè)SEL0單部選擇信號(hào),它發(fā)送給ACC0雙門(mén)存取電路的選擇輸入端和CCL1組件的輸入端。SEL0信號(hào)也發(fā)送給PERSEL0組件。在圖4研究中闡明的某些特定情況下CCL0組件產(chǎn)生一個(gè)RES0復(fù)原信號(hào),發(fā)送到CPU0組件。
UP0處理器直接連接到UP1處理器,反之則通過(guò)一個(gè)專用的同步通信信道連接。實(shí)現(xiàn)上述信道所需的電路包括在IPC0和IPC1組件中。關(guān)于IPC0組件的組成不需要補(bǔ)充詳述,因?yàn)閷?duì)本領(lǐng)域技術(shù)精通者是了解同步通信信道的實(shí)現(xiàn)情況的。
至于圖2的雙重控制器中的其他組件是區(qū)別于UP0和UP1的,回顧一下上述的內(nèi)容是有益的,BL0C0和BL0C1組件分別以圖解表示MES0,PER0,I/U0和MES1,PER1和I/U1外圍組件的任意一個(gè)。所述圖解從本質(zhì)上只涉及到雙門(mén)存取電路和那些為UP0和UP1兩個(gè)處理器接口的電路和控制所述外圍組件正確操作的某些電路。
為了簡(jiǎn)便起見(jiàn),以后只說(shuō)明BL0C0組件,當(dāng)然BL0C1組件采用同樣的附注。
BL0C0組件包括帶有兩個(gè)OR0輸入端的“或”邏輯門(mén),B0SEL0啟動(dòng)信號(hào)和來(lái)自PERSEL1組件的B0SEL1類似的啟動(dòng)信號(hào)分別到達(dá)此處。在OR0的輸出端是一個(gè)BOSEL啟動(dòng)信號(hào),發(fā)向ACC0雙門(mén)存取電路。后者允許向UP0和UP1兩個(gè)處理器中任一個(gè)選擇存取。為此目的,ACC0包括數(shù)個(gè)雙向雙輸入端選擇器(圖中未顯示),BUS0L和BUS1R分別到達(dá)此處。選擇器的輸出端連接到收發(fā)信機(jī)(包括在ACC0中,圖中也未顯示),它允許在BL0C0擴(kuò)展現(xiàn)用處理器的總線。由CCL0組件產(chǎn)生的單部選擇信號(hào)到達(dá)選擇器選擇輸入端。BOSEL啟動(dòng)信號(hào)到達(dá)收發(fā)信機(jī)的啟動(dòng)輸入端,包括在ACC0組件內(nèi)。
BL0C0組件也包括一個(gè)控制電路,它完成下面說(shuō)明的某些重要的操作,以便控制所述組件的完整性。當(dāng)BL0C0一個(gè)或更多個(gè)電路發(fā)生重大故障情況下,控制電路產(chǎn)生一個(gè)中斷信號(hào)給現(xiàn)用的處理器。BL0C0所述的控制電路是用正常邏輯電路提供的,本領(lǐng)域技術(shù)精通者很容易實(shí)現(xiàn),因此在圖中未示出。
參照?qǐng)D3,其中全部單元與圖1和圖2的是共同的,用同樣的符號(hào)表示的,可以看出CPU0和BUSDR0組件顯示得更詳細(xì)些。CPU0組件基本包括下列各組件OSC組件、2、MICm和MICs、PARGEN、COMP、FF0、FF1、FF2、TR1和TR2。BUSDR0組件包括T1,T2,TR3和TR4組件。在圖中還可看到LOCMEM0。
OSC組件表示一個(gè)穩(wěn)定性高的本機(jī)振蕩器,它給UP0處理器提供時(shí)鐘信號(hào)。2組件是一個(gè)簡(jiǎn)單的分頻器,它將OSC產(chǎn)生的時(shí)鐘信號(hào)在到達(dá)MICm、MICs,F(xiàn)F0和COMP組件的有關(guān)計(jì)時(shí)輸入端之前,一分為二。MICm和MICs組件包括兩個(gè)相同的INTELBOC186微處理器和輔助其操作的有關(guān)的超大規(guī)模集成電路。
FF0組件表示觸發(fā)器裝置,到達(dá)其輸入端的有下列信號(hào)無(wú)屏蔽中斷信號(hào)NMI0、某些可屏蔽中斷信號(hào)INT0、某些直接存取LOCMEM0存儲(chǔ)器組件的信號(hào)DMA0和由外圍組件發(fā)送的一個(gè)就緒信號(hào)DRY0。所述這些信號(hào)由FF0組件實(shí)施同步,并發(fā)至MICm和MICs各個(gè)輸入端。到達(dá)后者的還有信號(hào)RES0。
COMP組件表示一個(gè)電路,它是控制微處理器MICm、MICs校正操作的電路,和本機(jī)振蕩器在出現(xiàn)故障時(shí)產(chǎn)生內(nèi)部報(bào)警信號(hào)MSM0控制校正操作的電路。為此目的,由Bm和Bc表示的微處理器MICm和MICs的兩條總線,分別接到COMP輸入端。
Bs總線的數(shù)據(jù)線與地址線單獨(dú)到達(dá)PARGEN組件,它表示奇偶校驗(yàn)位發(fā)生器,其輸出端是BS′總線,與Bs的區(qū)別僅在于它有一條數(shù)據(jù)與地址奇偶檢驗(yàn)位的附加線。
Bm和Bs′總線的地址線,分別連接到FF1和FF2組件,它們表示寄存器,用于存儲(chǔ)在讀或?qū)懘嫒≈芷谄陂g的所述地址。Bm和Bs′總線的數(shù)據(jù)線分別接到TR1和TR2組件的第一端,他們表示通用收發(fā)信機(jī)。在FF1和FF2方塊的輸出端,地址線互相并聯(lián),組成BUS0總線的單地址線,包括Bs′總線的奇偶校驗(yàn)位線。同樣地,數(shù)據(jù)線在TR1和TR2收發(fā)信機(jī)的第二端互相并聯(lián),組成BUS0總線的唯一數(shù)據(jù)線,它包括Bs′總線的奇偶校驗(yàn)位線。為了簡(jiǎn)便起見(jiàn),在BUS0的表示中,微處理器的控制與狀態(tài)信號(hào)線沒(méi)有顯示出來(lái),但是存在的。
BUS0的地址線接到T1和T2組件的輸入端,它表示與BUS0L和BUS0R總線有關(guān)的一組驅(qū)動(dòng)器。BUS0的數(shù)據(jù)線接到TR3和TR4組件的輸入端,它表示上述BUS0L和BUS0R總線的一組收發(fā)信機(jī)。Bm總線的控制與狀態(tài)信號(hào)根據(jù)CPU0完成的讀或?qū)懘嫒☆愋痛_定TR1,TR2,TR3和TR4收發(fā)信機(jī)的正確方位。
參照?qǐng)D1,2和3,在雙重控制器操作的示例中,UC0和UC1兩個(gè)控制器中的任一個(gè),可配置為現(xiàn)用的,或者配置為備用的。配置的選擇,實(shí)質(zhì)上是由CCL0和CCL1組件作出的。
現(xiàn)用的處理器控制設(shè)備的所有其他部件,包括屬于備用處理器的那些部件,同時(shí)防止備用處理器存取任何外圍部件。這是可能的,因?yàn)?,從圖1可以看出,甚至如果UC0和UC1控制器顯示為兩個(gè)不同的單元,實(shí)際上外圍部件連接到兩個(gè)處理器配置成UC0和UC1作為唯一控制器,它是由各個(gè)部件組成,全部雙重化且能夠有選擇地存取當(dāng)時(shí)的現(xiàn)用處理器。
這一電路結(jié)構(gòu)使雙重控制器非常可靠,這是因?yàn)樵谌魏尾糠职l(fā)生故障時(shí),所述故障部件能夠迅速替換,無(wú)需像現(xiàn)有技術(shù)那樣必須替換整個(gè)的單獨(dú)控制器。
接到雙重控制器的設(shè)備的其余部件,也可是雙重的,或不是雙重的。在圖1,僅TEL組件不是雙重的。在其他情況下就需要裝備PER0/PER1類型的另一對(duì)外圍設(shè)備作為雙重部件之間的接口。
至于CPU0組件,包括兩部INTEL80C186微處理器,它們以微同步方式工作,并組成UP0處理器的心臟。為保證微同步,OSC振蕩器至兩個(gè)微處理器的時(shí)鐘信號(hào)通路具有相同的長(zhǎng)度。此外,在COMP組件內(nèi)有一個(gè)適當(dāng)電路,不斷地檢驗(yàn)時(shí)鐘信號(hào)是否存在。而且,加入兩個(gè)微處理器輸入端的全部控制信號(hào),除RES0之外,首先同所述時(shí)鐘信號(hào)恢復(fù)同步。
兩個(gè)微處理器準(zhǔn)確的微同步,是由COMP組件控制的。該組件包括一些電路,它們時(shí)時(shí)刻刻檢驗(yàn)各地址、數(shù)據(jù)和兩個(gè)設(shè)備產(chǎn)生的控制信號(hào)是否全相同,不同進(jìn)解釋為故障。COMP組件還包括一個(gè)監(jiān)視時(shí)鐘,用于檢測(cè)死循環(huán)狀態(tài)。
各種故障信號(hào)送入COMP中的“或”門(mén),產(chǎn)生信號(hào)MSM0,它表示CPU0組件的內(nèi)部報(bào)警,并發(fā)至ALDET0組件,從那里繼續(xù)往前發(fā)至CCL0和ALDET1組件。
至于LOCMEM0組件,其中包括數(shù)個(gè)RAM和EPROM,其具有的容量,例如能夠?qū)γ?個(gè)內(nèi)存字存儲(chǔ)一個(gè)附加的奇偶校驗(yàn)信號(hào)。上述存儲(chǔ)器還被另外的冗余碼加以保護(hù),冗余碼能檢驗(yàn)它們內(nèi)容的完整性。產(chǎn)生這種冗余碼,是為了保護(hù)每64千字節(jié)碼或數(shù)據(jù)的完整性。
至于ALDET0組件的操作,指出這一點(diǎn)是有益的,它能使UP0處理器對(duì)全套設(shè)備進(jìn)行維護(hù)操作。為此目的,在ALDET0組件中包括主要故障檢測(cè)電路,在圖中未顯示,這是因?yàn)楸绢I(lǐng)域技術(shù)精通者很容易實(shí)現(xiàn),這種檢測(cè)電路是-一個(gè)檢測(cè)器電路,用在讀出操作時(shí)的奇偶校驗(yàn)誤差,讀出操作是由LOCMEM0組件中包括的存儲(chǔ)器尋址或者BL0C0或BL0C1組件任何外圍設(shè)備的尋址來(lái)完成的;
-一個(gè)缺少就緒信號(hào)RDY0的檢測(cè)器電路,通常由編址的外圍部件向現(xiàn)用的處理器發(fā)送;
-全部報(bào)警信號(hào)的“或”電路,由ALDET0組件檢測(cè),或電路傳給它,其輸出是一個(gè)無(wú)屏蔽中斷信號(hào)NMI0傳給微處理器電路CPU0;
-適當(dāng)?shù)南葳咫娐?,在?bào)警情況下將BUS0的位配置存儲(chǔ)在專用陷阱寄存器,用以識(shí)別在發(fā)生報(bào)警時(shí)正在進(jìn)行的操作類型。此外,ALDET0檢測(cè)的報(bào)警細(xì)節(jié)存儲(chǔ)在陷阱寄存器內(nèi)。
全部故障信息和存取誤差到達(dá)ALDET0組件的各種電路,使整個(gè)雙重控制器的一個(gè)部件或多個(gè)部件和設(shè)備的其余部件(TEL)產(chǎn)生報(bào)警情況。所述信息采取下述方法到達(dá)在CPU0處理器電路發(fā)生故障時(shí),使用信號(hào)MSM0;接到中斷信號(hào)后隨即對(duì)BUS0的數(shù)據(jù)進(jìn)行譯碼;最后,在UP1組件發(fā)生故障時(shí),通過(guò)與ALDET1組件的雙向連接。
在外圍組件出現(xiàn)特殊故障時(shí),偶然發(fā)生UP0處理器停機(jī)等候從不會(huì)發(fā)生的事件,但是就緒信號(hào)RDY0的檢測(cè)可使處理器避免這一嚴(yán)重缺點(diǎn)。在檢測(cè)出一個(gè)或多個(gè)報(bào)警信號(hào)后,ALDET0組件產(chǎn)生一個(gè)無(wú)屏蔽中斷信號(hào)NMI0,送到CPU0處理器電路,后者通過(guò)讀出ALDET0的陷阱寄存器的有關(guān)信息或直接讀出BUS0的數(shù)據(jù),獲得報(bào)警類型的細(xì)節(jié)。
關(guān)于配置控制CCL0組件的操作,對(duì)通過(guò)AL0連接通道來(lái)自ALDET0組件的信號(hào)進(jìn)行詳細(xì)說(shuō)明是有益的。這些信號(hào)是-MSM0和MSM1信號(hào),表示CPU0和CPU1有關(guān)的處理器電路的內(nèi)部故障報(bào)警,-UP1處理器的電源故障的報(bào)警信號(hào),-來(lái)自轉(zhuǎn)換到BUS0上數(shù)據(jù)的兩個(gè)位,他們以編輯形式表示請(qǐng)求有關(guān)操作狀態(tài)(現(xiàn)用的或備用的)軟件,滿足UP0需要,和-一個(gè)稱為“上電復(fù)位”信號(hào),是在UP1處理器的電源開(kāi)通時(shí)產(chǎn)生的,用于預(yù)置CCL0組件的內(nèi)部邏輯。
CCL0組件分析所有的上述信號(hào),并確定本身的UP0處理器應(yīng)是現(xiàn)用的或是備用的,為此目的,產(chǎn)生SEL0信號(hào),僅被分配給UC0的外圍部件,用以控制選擇UP0或UP1作為現(xiàn)用的處理器。CCL0組件的一個(gè)功能是濾掉輸入信號(hào)的可能干擾,其方法是采用本組件內(nèi)的時(shí)鐘信號(hào)的適當(dāng)定時(shí)。上述濾波的主要目的是在單部選擇EPROM中存儲(chǔ)的固件能反應(yīng)來(lái)自CPU0的報(bào)警之前,允許通過(guò)16ms的時(shí)間。在這一時(shí)間內(nèi),該軟件進(jìn)行查找,以廢除報(bào)警。
CCL0的單部選擇的EPROM,如前已述,它相似一個(gè)異步時(shí)序邏輯電路。為此目的,傳到EPROM地址總線的信號(hào)進(jìn)入CCL0組件。包括在EPROM的各字,根據(jù)預(yù)先規(guī)定的地址位的配置讀出。這些字表示CCL0組件的輸出信號(hào)。眾所周知,良好的設(shè)計(jì)實(shí)踐是完全地適當(dāng)?shù)靥畛銭PROM,甚至對(duì)那些不符合操作雙重處理器的任何良好定義邏輯狀態(tài)的地址位配置也能如此。這是因?yàn)?,特別是在信號(hào)轉(zhuǎn)移到地址線期間,EPROM對(duì)任何字的短暫讀入,在理論上是可能的。上述字的短暫讀入不會(huì)產(chǎn)生可能修改先存配置的CCL0的輸出信號(hào),這點(diǎn)是絕對(duì)需要的。
為了詳細(xì)說(shuō)明單部選擇固件的操作,請(qǐng)閱圖4的時(shí)序邏輯狀態(tài)圖解。在這方面應(yīng)該回顧,由CCL0組件所作的判定生效的,通過(guò)SEL0信號(hào)僅僅發(fā)給屬于UC0控制器的BL0C0類型的外圍部件。在雙重方式時(shí),CCL1組件的判定是通過(guò)將SEL1信號(hào)僅僅發(fā)到UC1控制器的外圍部件才生效。這實(shí)際上允許保持兩部互相分離的雙重控制器,提高了設(shè)備的可靠性。SEL0和SEL1信號(hào)的邏輯值必須適合現(xiàn)用的處理器能夠存取兩個(gè)控制器的外圍部件。
關(guān)于PERSEL0組件,必須說(shuō)明的是,為外圍數(shù)據(jù)存儲(chǔ)器寫(xiě)入周期的同步雙重電路,基本上包括前述的為BUS0總線信息的譯碼邏輯電路,為CPU0寫(xiě)入一個(gè)兩位控制配置的輔助寄存器,它表示有下述含義“00”完成MES0和MES1兩個(gè)外圍數(shù)據(jù)存儲(chǔ)器的寫(xiě)入周期和僅在MES0存儲(chǔ)器的讀出周期;
“01”完成僅在MES0外圍數(shù)據(jù)存儲(chǔ)器的讀出和寫(xiě)入周期;
“10”完成僅在MES1外圍數(shù)據(jù)存儲(chǔ)器的讀出和寫(xiě)入周期;
“11”完成MES0和MES1兩個(gè)外圍數(shù)據(jù)存儲(chǔ)器的寫(xiě)入周期和僅在MES1存儲(chǔ)器的讀出周期。
上述的譯碼邏輯電路將輔助寄存器的內(nèi)容與BUS0的信號(hào)一起譯碼,每次產(chǎn)生相應(yīng)的B0SEL0和B1SEL0型的組合信號(hào),以便啟動(dòng)預(yù)選外圍電路,也包括MES0和/或MES1存儲(chǔ)器。更確切地說(shuō),如果輔助寄存器包括00或11配置,PERSEL0組件為MES0和MES1兩個(gè)存儲(chǔ)器產(chǎn)生一對(duì)寫(xiě)入啟動(dòng)信號(hào)。如果存取涉及到與MES0和(或)MES1有區(qū)別的外圍電路,輔助寄存器的內(nèi)容則不加以考慮。
PERSEL0的譯碼操作是由SEL0現(xiàn)用單部選擇信號(hào)來(lái)啟動(dòng)的,以避免當(dāng)UP0處理器是備用時(shí),它能繼續(xù)控制BL0C0和(或)AL0C1外圍部件的ACC0,ACC1存取電路。
從單部選擇信號(hào)上的全部上述附注,可以推斷SEL0和SEL1信號(hào)的產(chǎn)生,就允許明確地規(guī)定兩個(gè)處理器的作用。更確切地說(shuō),備用處理器一直保留著直到因?yàn)楝F(xiàn)用處理器出故障后,要求它替換現(xiàn)用的。這種選擇,初看可以認(rèn)為是不經(jīng)濟(jì)的,因?yàn)榱糁环葙Y源通常不使用,它實(shí)際上能夠用單個(gè)處理器有效地和可靠地控制全套設(shè)備。
有關(guān)IPC0和IPC1組件之間的雙向通信通道,是供現(xiàn)用的處理器來(lái)完成對(duì)備用處理器進(jìn)行的某些動(dòng)作時(shí)使用的。它用于例如為轉(zhuǎn)換某些程序面監(jiān)督處理時(shí),和為了啟動(dòng)故障診斷處理。通信信道使用HDLC通信協(xié)議,因?yàn)樗诒Wo(hù)UC0和UC1兩個(gè)處理器之間轉(zhuǎn)換的信息是特別有效的。
有關(guān)BL0C0和BL0C1組件,它的圖解式外圍組件I/U0、PER0、MES0和I/U1、PER1、MES1的操作,回顧以下內(nèi)容是有益的,即它們包括有助于UP0和UP1兩個(gè)處理器的存取和接口電路,和上述外圍組件的控制和維護(hù)電路。
在圖2可以看出,BL0C0和BL0C1類的每個(gè)組件,實(shí)際上與兩個(gè)處理器是由兩個(gè)不同的單獨(dú)的存取通道連接的,第一個(gè)通道是以BUS0L和BUS0R總線表示的,第二個(gè)通道是以BUS1R和BUS1L總線來(lái)表示的。照此方法,任何類型的事件,甚至是在設(shè)備任何位置上出現(xiàn)的短暫事件,都很少有機(jī)會(huì)同時(shí)影響兩個(gè)所述的存取通道,因此所述事件要使BL0C0和(或)BL0C1組件完全不能使用,終止整個(gè)設(shè)備是非常困難的。
為了簡(jiǎn)便起見(jiàn),下面的附注只應(yīng)用在BL0C0組件,也可應(yīng)用在相似的BL0C1組件,已給出的兩個(gè)組件是等效的。
正如上述,SEL0單部選擇信號(hào)選擇來(lái)自一個(gè)或另一個(gè)處理器的信號(hào),在只有B0SEL選擇信號(hào)是啟用時(shí),選擇總線可以擴(kuò)展到BL0C0內(nèi)部,即在此時(shí)當(dāng)由現(xiàn)用的處理器產(chǎn)生B0SEL0或B0SEL1兩個(gè)信號(hào)中的一個(gè),允許到達(dá)所述外圍組件。在這種情況下,B0SEL與選擇總線的控制與狀態(tài)信號(hào)能使ACC0的收發(fā)信機(jī)右方向與讀或?qū)懘嫒〉念愋拖嗳荨?br>
關(guān)于BL0C0所包括的控制電路,為了檢驗(yàn)外圍部件的完整性,它完成的主要操作如下-檢驗(yàn)讀或?qū)懖僮鲿r(shí)地址位的校正的奇偶性,當(dāng)有奇偶校驗(yàn)誤差的情況時(shí),禁止寫(xiě)入信號(hào)以避免意外的操作,-檢驗(yàn)寫(xiě)入操作后數(shù)據(jù)位的校正的奇偶性,和-檢驗(yàn)處理器發(fā)送的控制信號(hào)和有關(guān)標(biāo)著存取類型的狀態(tài)信號(hào)的相容性,它是處理器所要完成的。
在一個(gè)或更多個(gè)BL0C0電路發(fā)生重大故障的情況下,內(nèi)部控制電路產(chǎn)生一個(gè)中斷信號(hào)給現(xiàn)用處理器,關(guān)于故障類型的信息存入BL0C0的一個(gè)寄存器內(nèi),以便由現(xiàn)用處理器以后讀出。
關(guān)于圖1中單個(gè)外圍組件的具體操作,需要說(shuō)明I/U0、MES0和PER0組件與I/U1、MES1和PER1組件是相同的,因此對(duì)全部的組件可以給出一個(gè)單個(gè)的說(shuō)明。
MES0和MES1組件各自包括一個(gè)RAM存儲(chǔ)庫(kù),它存儲(chǔ)基本數(shù)據(jù),即是能使現(xiàn)用處理器控制設(shè)備的全部功能的全部信息。上述信息包括,例如系統(tǒng)配置的數(shù)據(jù)和某些處理的中間數(shù)據(jù)。
如果操作是正常的,即MES0和MES1兩個(gè)組件均未損壞,MES0組件是與UP0處理器相聯(lián),MES1與UP1處理器相聯(lián)。假設(shè)UP0處理器是現(xiàn)用的,UP0的微處理器需要從MES0讀出任何內(nèi)容,并在MES0和MES1同步寫(xiě)入。當(dāng)UP0有故障需轉(zhuǎn)換的情況時(shí),替換的處理器從MES1讀出,并在MES0和MES1同步寫(xiě)入。這種操作方式能夠使現(xiàn)用處理器相當(dāng)?shù)毓?jié)省實(shí)時(shí),特別是其啟動(dòng)后的立即時(shí)刻。的確,剛啟動(dòng)的處理器在其外圍數(shù)據(jù)存儲(chǔ)庫(kù)中已發(fā)現(xiàn)適合其繼續(xù)工作的更新所需數(shù)據(jù)。
I/U0和I/U1外圍組件包括有助于TER0和TER1各自組件的相同的接口電路。后者既可以表示通用的輸入/輸出終端,例如個(gè)人計(jì)算機(jī),或表示指示器、報(bào)警燈面板,或遙控操作接力或其他。在任何情況下,依據(jù)設(shè)備的類型或由TER0和TER1表示的裝置的類型,由那些本領(lǐng)域技術(shù)精通者提供所述接口電路是可能的,因此不需要進(jìn)一步說(shuō)明。
PER0和PER1外圍組件包括與TEL組件的相同接口電路,TEL組件表示一個(gè)非限定的一些電話機(jī)。所述接口電路對(duì)于本領(lǐng)域技術(shù)精通者已熟知,因此未顯示。
參照?qǐng)D4,這里顯示固件主要時(shí)序邏輯狀態(tài)圖,固件存儲(chǔ)在單部選擇的EPROM,包括在CCL0組件內(nèi)。有可能獲得一個(gè)包括在CCL1組件內(nèi)的單部選擇固件的相似圖,在圖4中將UP0、CPU0、SEL0術(shù)語(yǔ)替換成UP1、CPU1、SEL1即可。圖中沒(méi)有進(jìn)一步增加介紹有關(guān)不一致配置的邏輯狀態(tài),后面它只是在很短的瞬間有可能出現(xiàn),例如在UP0和UP1兩個(gè)處理器都是現(xiàn)用或備用的配置。當(dāng)然,該固件允許上述情況出現(xiàn),并因此而設(shè)置。
圖中顯示的邏輯狀態(tài)實(shí)質(zhì)有三個(gè)即接通、UP0處理器現(xiàn)用、UP0處理器為備用。SEL0信號(hào)的邏輯值為0,則UP0為現(xiàn)用,邏輯值為1,則UP0為備用。如果UP1處理器的狀態(tài)出現(xiàn)斷開(kāi)或備用,起始于接通狀態(tài),隨后的狀態(tài)是UP0處理器使用狀態(tài)。在接通之后的下一個(gè)狀態(tài)是UP0處理器在備用,而UP1是現(xiàn)用的。在各種情況下,在接通狀態(tài)進(jìn)入下兩個(gè)狀態(tài)之前,固件產(chǎn)生CPU處理電路的RES0復(fù)位信號(hào)。讓我們假設(shè)下一個(gè)狀態(tài)是UP0為現(xiàn)用。在這種情況下,如果在UP0設(shè)備中沒(méi)有報(bào)警,所述設(shè)備長(zhǎng)時(shí)期保持這種運(yùn)行狀態(tài)。但如果在UP0設(shè)計(jì)中探測(cè)到一個(gè)報(bào)警,在CPU0復(fù)位之后,它進(jìn)入到備用狀態(tài)。
如果在UP1現(xiàn)用處理器中沒(méi)有出現(xiàn)報(bào)警,UP0處理器長(zhǎng)時(shí)期保持備用狀態(tài)。根據(jù)UP1中出現(xiàn)的報(bào)警,UP0處理器在CPU0復(fù)位之后,回到現(xiàn)用狀態(tài)。在UP0處理器是備用的情況下,UP1現(xiàn)用處理器無(wú)報(bào)警,探測(cè)備用的UP0的報(bào)警,UP0處理器保持備用狀態(tài),但固件為CPU0處理器電路產(chǎn)生一個(gè)復(fù)位信號(hào)。
如果在UP0和UP1處理器任一部中都沒(méi)有出現(xiàn)報(bào)警,在UP0處理器中駐留的軟件可以要求CCL0的固件使UP0處理器從現(xiàn)用轉(zhuǎn)換為備用的或反之,在任何一種情況下在CPU0的復(fù)位之后轉(zhuǎn)換。所述要求是通過(guò)前述的兩個(gè)狀態(tài)位來(lái)實(shí)現(xiàn),以便到達(dá)單部選擇的EPROM的地址線。
非限定舉例說(shuō)明的雙重控制器在寫(xiě)入階段復(fù)制信息,但并不核對(duì)兩部外圍數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)調(diào)整。應(yīng)該說(shuō)明,企圖使兩部存儲(chǔ)器內(nèi)容的完全匹配是通過(guò)數(shù)據(jù)調(diào)整。在一個(gè)處理器由備用向現(xiàn)用轉(zhuǎn)換之后,絕對(duì)必須立即進(jìn)行所述的核對(duì)。該核對(duì)是一個(gè)相應(yīng)子程序的必須的職責(zé),它核對(duì)兩部存儲(chǔ)器內(nèi)容的一致性。因此,執(zhí)行實(shí)例的類別并不能使軟件完全解脫全部與復(fù)制信息有連接的活動(dòng)。所述執(zhí)行是節(jié)省處理時(shí)的要求和雙重控制器硬件不過(guò)份復(fù)雜化之間的折衷結(jié)果。
因此,參照?qǐng)D2和以上描述敘述了雙重控制器改進(jìn),該控制器是本發(fā)明的目標(biāo),它包括合理改進(jìn)的寫(xiě)入周期的同步雙重電路,它是寫(xiě)入包括在PERSEL0和PERSEL1組件的外圍數(shù)據(jù)存儲(chǔ)器內(nèi),以便每次現(xiàn)用處理器在其自己外圍數(shù)據(jù)RAM內(nèi)完成寫(xiě)入存取,同樣的存取也在另一份同樣的外圍存儲(chǔ)器內(nèi)同步完成。字讀出也進(jìn)行互相比較,在有區(qū)別的情況下,產(chǎn)生一個(gè)報(bào)警信號(hào),通過(guò)ALDET0或ALDET1組件傳送給各自的處理器電路,于是它就能開(kāi)始必要的維護(hù)操作。
一個(gè)合理改進(jìn)的同步雙重電路,所提供的上述改進(jìn)與非限定舉例中主要敘述的在譯碼邏輯電路中所做的某些稍微改進(jìn)是有差別的,該邏輯電路包括在PERSEL0和PERSEL1組件中,并附加一個(gè)比較器供字讀出。
更確切地說(shuō),所述改進(jìn)的譯碼電路探測(cè)一個(gè)由現(xiàn)用處理器讀出存取其自己的外圍數(shù)據(jù)RAM的條件,因此產(chǎn)生B0SEL0,B1SEL0一對(duì)信號(hào),它啟動(dòng)MES0和MES1兩個(gè)數(shù)據(jù)存儲(chǔ)器。所述的改進(jìn)對(duì)于本領(lǐng)域技術(shù)精通者是熟悉的,因此沒(méi)有必要在這方面進(jìn)一步詳述。
依據(jù)上述的改進(jìn)而實(shí)現(xiàn)的雙重控制電路能夠再一次節(jié)省現(xiàn)用處理器的實(shí)時(shí)。的確,不再需要在兩個(gè)處理器因故障而進(jìn)行每次轉(zhuǎn)換之后由軟件在MES0和MES1兩個(gè)外圍數(shù)據(jù)存儲(chǔ)器內(nèi)核對(duì)數(shù)據(jù)調(diào)整。
已知的說(shuō)明和所用的特定微處理器的信息,在制作者提供的資料中能夠容易地找到,因此,那些本領(lǐng)域技術(shù)精通者能夠提供本發(fā)明的目標(biāo)-雙重控制器的硬件和軟件。
權(quán)利要求
1.電信設(shè)備的雙重處理器基本上是由兩個(gè)相同的連接到設(shè)備的其余部分的控制器組成的,每個(gè)控制器包括一個(gè)對(duì)設(shè)備操作與控制進(jìn)行必要處理的處理器、數(shù)個(gè)連接處理器總線的外圍電路,以便協(xié)助處理器進(jìn)行控制操作,其特征在于--每個(gè)處理器(UP0、UP1)包括相應(yīng)配置的控制電路(CCL0、CCL1),它產(chǎn)生單部選擇信號(hào)(SEL0、SEL1)傳向?qū)儆谒鼈冏约嚎刂破?UC0、UC1)的外圍電路(BL0C0、BL0C1),其信號(hào)的邏輯值確定選擇對(duì)全套設(shè)備實(shí)施控制的現(xiàn)用處理器(UC0、UC1);--每個(gè)外圍電路(I/U0、PER0、MES0、I/U1、PER1、MES1)包括各自的雙門(mén)存取電路(ACC0、ACC1),兩個(gè)處理器(UP0、UP1)的總線(BUS0、BUS1)接入電路的門(mén),所述的存取電路還有一個(gè)控制輸入端,所述的單部選擇信號(hào)(SEL0、SEL1)進(jìn)入控制輸入端用于控制現(xiàn)用處理器的總線線路與備用處理器總線線路斷路時(shí)的電氣連接;--現(xiàn)用處理器存取其自己控制器(UC0、UC1)的通用外圍電路,而且無(wú)區(qū)別地存取相應(yīng)的雙重外圍電路,同時(shí)向企圖存取的外圍電路發(fā)送相應(yīng)的啟動(dòng)信號(hào)(B0SEL、B1SEL),由所述存取電路(ACC0、ACC1)使用,以擴(kuò)展現(xiàn)用的處理器。
2.根據(jù)權(quán)利要求1的雙重控制處理器,其特征在于所述處理器也包括一個(gè)時(shí)鐘信號(hào)發(fā)生器、兩個(gè)互相并聯(lián)的微同步微處理器,組成一條總線,其中包括奇偶校驗(yàn)控制線,還包括含有控制軟件的RAM,所述外圍電路還包括處理器與不歸本雙重控制器所屬的設(shè)備其余部分的相應(yīng)接口電路,還至少包括一個(gè)數(shù)據(jù)RAM,所含必需的數(shù)據(jù)用于設(shè)備操作與操作期間的處理,因此還包括一個(gè)海量存儲(chǔ)器和數(shù)個(gè)與輸入/輸出終端接口的電路;現(xiàn)用處理器在屬于兩個(gè)控制器(UC0、UC1)的兩個(gè)外圍數(shù)據(jù)RAM(MES0、MES1)內(nèi)完成同步寫(xiě)入周期,能使備用處理器在轉(zhuǎn)換現(xiàn)用處理器之后迅速恢復(fù)操作同步。
3.根據(jù)權(quán)利要求2的雙重控制處理器,其特征在于所述每個(gè)處理器還包括-一個(gè)譯碼電路(PERSEL0、PERSEL1),用于譯碼處理器總線(BUS0、BUS1)的信息,它為所述外圍存取電路(ACC0、ACC1)產(chǎn)生所述的啟動(dòng)信號(hào)(B0SEL0、B1SEL0、B0SEL1、B1SEL1);-一個(gè)故障檢測(cè)和報(bào)警信號(hào)發(fā)生電路(ALDET0、ALDET1),它通知處理器在處理器本身內(nèi)或在整套電信設(shè)備的主要電路中出現(xiàn)部分內(nèi)部故障報(bào)警情況,以便允許由現(xiàn)用處理器維護(hù);和-一個(gè)通信電路(IPC0、IPC1),能為所述兩個(gè)處理器(UP0、UP1)之間提供雙向同步通信信道,能使它們之間交換信息。
4.根據(jù)權(quán)利要求3的雙重控制處理器,其特征在于上述的每個(gè)譯碼電路也還包括一個(gè)輔助寄存器,在寄存器內(nèi)相應(yīng)的處理器寫(xiě)入四種可能的位組合之一,編排相應(yīng)的程序,根據(jù)下述標(biāo)準(zhǔn)存取所述外圍數(shù)據(jù)RAM-第1個(gè)位組合用于完成在兩個(gè)外圍數(shù)據(jù)RAM(MES0、MES1)寫(xiě)入周期和僅在屬于它自身控制器的存儲(chǔ)器內(nèi)讀周期;-第2個(gè)位組合用于完成僅在屬于它自身控制器的外圍數(shù)據(jù)RAM的讀與寫(xiě)入周期;-第3個(gè)位組合用于完成僅在雙重外圍數(shù)據(jù)RAM的讀與寫(xiě)入周期,最后-第4個(gè)位組合用于完成在兩個(gè)外圍數(shù)據(jù)RAM(MES0、MES1)的寫(xiě)入周期和僅在雙重外圍數(shù)據(jù)RAM的讀周期;-其特征在于所述譯碼電路由所述相應(yīng)的單部選擇信號(hào)(SEL0、SEL1)在有效的邏輯狀態(tài)時(shí)啟動(dòng),防止備用處理器控制所述存取電路(ACC0、ACC1);-且其特征在于所述譯碼電路被啟動(dòng),為了操作譯碼相應(yīng)輔助寄存器的內(nèi)容,并同相應(yīng)的處理器總線(BUS0、BUS1)的信號(hào)一起產(chǎn)生外圍電路相應(yīng)的適當(dāng)?shù)乃鰡?dòng)信號(hào)(B0SEL0、B1SEL0、B0SEL1、B1SEL1)的組合。
5.根據(jù)權(quán)利要求2的雙重控制處理器,其特征在于所述的每個(gè)配置控制電路(CCL0、CCL1)包括一個(gè)單部選擇EPROM,達(dá)到其地址輸入端的有從雙重處理器的配置控制電路(CCL1、CCL0)傳來(lái)的單部選擇信號(hào)(SEL1、SEL0),由自己處理器檢測(cè)的報(bào)警的第1個(gè)“或”邏輯信號(hào),由雙重處理器檢測(cè)的報(bào)警的第2個(gè)“或”邏輯信號(hào),表示要求觸發(fā)或啟動(dòng)EPROM是其中一部分的備用處理器的位,為與所述單部選擇信號(hào)(SEL0、SEL1)的真或偽邏輯值相應(yīng)的每個(gè)地址配置讀字。
6.根據(jù)權(quán)利要求5的雙重控制處理器,其特征在于所述單部選擇EPROM的地址行的所述信號(hào),經(jīng)過(guò)適當(dāng)?shù)臑V波,以消除任何干擾,并能使控制軟件開(kāi)始著手消除報(bào)警的原因。
7.電信設(shè)備的雙重控制處理器,基本上是由兩個(gè)連接到設(shè)備其余部分的相同的控制器組成,每個(gè)控制器包括一個(gè)對(duì)設(shè)備的操作與控制進(jìn)行必需的處理的處理器,數(shù)個(gè)連接到處理器總線的外圍電路,協(xié)助處理器進(jìn)行控制操作,所述的處理器基本包括一個(gè)時(shí)鐘信號(hào)發(fā)生器、兩個(gè)互相微同步的并聯(lián)微處理器組成單總線,其中包括奇偶校驗(yàn)控制線路和含有控制軟件的RAM,和所述外圍電路,其中包括處理器與不屬于本雙重控制處理器所屬的設(shè)備的其余部分之間的相應(yīng)接口電路,且所述外圍電路至少包括一個(gè)數(shù)據(jù)RAM,后者包括設(shè)備操作和操作期間進(jìn)行處理所需的那些數(shù)據(jù),因此,包括海量存儲(chǔ)器和與輸入/輸出終端接口的電路,其特征在于-每個(gè)處理器(UP0、UP1)包括一個(gè)相應(yīng)的配置控制電路(CCL0、CCL1),它產(chǎn)生單部選擇信號(hào)(SEL0、SEL1)發(fā)生屬于本身控制器(UC0、UC1)的外圍電路(BL0C0、BL0C1),該信號(hào)的邏輯值確定選擇對(duì)整套設(shè)備進(jìn)行控制的現(xiàn)用處理器(UC0、UC1);-每個(gè)外圍電路(I/U0、PER0、MES0、I/U1、PER1、MES1)包括相應(yīng)的雙門(mén)存取電路(ACC0、ACC1),兩個(gè)處理器(UP0、UP1)的總線(BUS0、BUS1)接至電路的門(mén),且所述存取電路還有一個(gè)控制輸入端,達(dá)到該輸入端的是所述單部選擇信號(hào)(SEL0、SEL1),用以控制現(xiàn)用處理器與備用處理器之間的總線線路斷路時(shí)的電氣連接;-現(xiàn)用處理器存取自己控制器(UC0、UC1)的通用外圍電路或相應(yīng)的雙重外圍電路,向企圖存取的外圍設(shè)備發(fā)送相應(yīng)的啟動(dòng)信號(hào)(B0SEL、B1SEL)供所述存取電路(ACC0、ACC1)使用,以擴(kuò)展現(xiàn)用的處理器;和-現(xiàn)用處理器完成對(duì)兩個(gè)控制器(UC0、UC1)的兩個(gè)外圍數(shù)據(jù)RAM(MES0、MES1)的同步寫(xiě)入周期和同步讀周期,能在轉(zhuǎn)換現(xiàn)用處理器之后迅速恢復(fù)備用處理器的操作同步;-雙重外圍數(shù)據(jù)RAM(MES0、MES1)同步讀字與不同情況下產(chǎn)生的報(bào)警信號(hào)進(jìn)行比較,用于啟動(dòng)現(xiàn)用處理器進(jìn)行必需的維護(hù)操作。
全文摘要
本發(fā)明涉及電信設(shè)備的雙重控制處理器,它由兩個(gè)互相連接在一起的相同控制器組成。每個(gè)控制器包括一個(gè)可作現(xiàn)用的或備用的處理器、一個(gè)為操作時(shí)提供處理數(shù)據(jù)的外圍數(shù)據(jù)RAM和連接設(shè)備其余部分的數(shù)個(gè)外圍電路。每個(gè)處理器的EPROM包括單部選擇固件。該數(shù)據(jù)RAM和外圍電路各自包括一個(gè)雙門(mén)存取電路,它只允許選擇存取現(xiàn)用的處理器。后者同步完成兩個(gè)雙重?cái)?shù)據(jù)RAM的寫(xiě)入周期,在現(xiàn)用的處理器因故障而轉(zhuǎn)換之后,用備用處理器能迅速恢復(fù)操作同步。
文檔編號(hào)G11C29/00GK1086364SQ9311845
公開(kāi)日1994年5月4日 申請(qǐng)日期1993年9月30日 優(yōu)先權(quán)日1992年9月30日
發(fā)明者C·迪萊瓦, M·森巴迪 申請(qǐng)人:西門(mén)子長(zhǎng)途電訊股份公司