DE69223990T2 - Auch gegen mehrfachfehler sicherer, fehlertoleranter taktgeber - Google Patents
Auch gegen mehrfachfehler sicherer, fehlertoleranter taktgeberInfo
- Publication number
- DE69223990T2 DE69223990T2 DE69223990T DE69223990T DE69223990T2 DE 69223990 T2 DE69223990 T2 DE 69223990T2 DE 69223990 T DE69223990 T DE 69223990T DE 69223990 T DE69223990 T DE 69223990T DE 69223990 T2 DE69223990 T2 DE 69223990T2
- Authority
- DE
- Germany
- Prior art keywords
- clock
- fault
- module
- signal
- error
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000004913 activation Effects 0.000 claims 1
- 230000001360 synchronised effect Effects 0.000 description 36
- 238000010586 diagram Methods 0.000 description 32
- 238000001514 detection method Methods 0.000 description 22
- 238000012360 testing method Methods 0.000 description 14
- 230000007246 mechanism Effects 0.000 description 11
- 239000013078 crystal Substances 0.000 description 10
- 238000012423 maintenance Methods 0.000 description 10
- 230000007704 transition Effects 0.000 description 10
- 238000013461 design Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000015654 memory Effects 0.000 description 7
- 230000002457 bidirectional effect Effects 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000002955 isolation Methods 0.000 description 4
- 230000000630 rising effect Effects 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 101100420928 Oryza sativa subsp. japonica SE14 gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- RDYMFSUJUZBWLH-UHFFFAOYSA-N endosulfan Chemical compound C12COS(=O)OCC2C2(Cl)C(Cl)=C(Cl)C1(Cl)C2(Cl)Cl RDYMFSUJUZBWLH-UHFFFAOYSA-N 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1604—Error detection or correction of the data by redundancy in hardware where the fault affects the clock signals of a processing unit and the redundancy is at or within the level of clock signal generation hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/187—Voting techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1679—Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/183—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Hardware Redundancy (AREA)
Description
- Die Erfindung bezieht sich auf Taktgeber flir digitale Schaltkreise. Insbesondere bezieht sich die Erfindung auf Taktgeber mit Fehlertoleranz.
- Digitale fehlertolerante Anordnungen werden benötigt aufgrund der ernsthaften Konsequenzen eines Systemausfalles. Der übliche Weg zur Erzielung einer solchen Fehlertoleranz liegt in der Redundanz von Systemen oder Subsystemen, wie beispielsweise von Computern und Sensoren, welche synchronisierte Zeittaktbasen besitzen müssen. Es ist jedoch wesentlich, daß die Synchronisation der Zeittaktbasen fehlertolerant ist. Ferner sollte das Verfahren bzw. die Einrichtung zur Verwirklichung der fehlertoleranten Synchronisation eine latente Fehlerfeststellung und einen Bericht derselben einschließen, so daß die Wartung und Fehlererkennung Systemausfälle leichter verhindert.
- Im Falle einer parallelen Gruppe von redundanten Subsystemen, wie beispielsweise Computem, ist es wichtig, daß keiner zu weit vor oder zurück bei der Verarbeitung von Aufgaben liegt. Obgleich eine Synchronisation zwischen den Systemen erforderlich ist, muß eine solche Synchronisation fehlertolerant sein und muß eine latente Fehlerfeststellung und einen Bericht desselben beinhalten. Ferner erfordert die Reihenanordnung von redundanten Komponenten (z.B. redundante Sensoren in Reihe mit redundanten Prozessoren) eine Synchronisation, um Information auszutauschen.
- Eine Vielzahl von fehlertoleranten Synchronisationsschemen liegt vor. Einige beinhalten Berechnungen, welche flir die Synchronisierung von Takten mit niedriger Frequenz geeignet sind deren Periode sehr lang bezüglich der für die Berechnung erforderlichen Zeit ist, so daß die Unsymmetrie akzeptierbar ist, die durch Veränderungen in dem Synchronisationsmechanismus hervorgerufen wird. Derartige Schemen können in Software verwirklicht werden; eine solche Lösung kann jedoch mit der Architektur einiger Digitalsysteme nicht kompatibel sein, wo Computer vorhanden sind, die aber verschiedenen Aufgaben zugeordnet sind. In solchen Situationen kann die Hinzufügung eines ganzen Mehrzweckcomputers oder von Computern zur Ausführung der Synchronisationsaufgabe sehr ineffizient im Vergleich zu der Verwendung von zugeteilten Taktschaltkreisen sein.
- Das US-Patent Nr.4,644,498 offenbart Verbindungen zwischen Einschalt- Zeitablaufeinrichtungen verschiedener Module zum Sperren des ausgewählten Haupttaktes, bis alle Spannungsversorgungen eingeschaltet und stabilisiert sind, mit dem Ziel eines fehlertoleranten gleichzeitigen Anlaufs. Dieses Patent besitzt ebenfalls eine Haupt-Taktauswahleinrichtung, die zwischen den Modulen angeordnet ist.
- Es gibt Lösungen, welche fehlertolerante Takte mit minimal zugeteilten Schaltkreisen vorgeben. Die meisten dieser Entwtlrfe sind nur betriebsfähig bei einem Ausfall mit der Ausnaume von einem Entwurf, der einen Algoritlimus (nicht einen Schaltkreis) vorgibt, der eine N-fache Ausfallsicherheit bei 3N+1-Taktmodulen erzielt.
- Kein Entwurf ist bekannt, der eine latente Fehlerfeststellung beinhaltet. Ohne latente Fehlerfeststellung wird ein fehlertolerantes Taktsystem beim Vorliegen von einem oder mehreren latenten Fehlern mit seinem Betrieb fortfahren, aber unter Umständen einem Ausfall zugänglich sein bei einem einzigen hinzugefügten Fehler. D.h. der Takt wird unter Umständen in keiner Weise mehr fehlertolerant sein, und eine solche Situation wird nicht festgestellt. Dies ist flir einen fehlertoleranten Takt nicht akzeptierbar.
- Die US-A-4,979,191 beschreibt ein autonomes redundantes fehlertolerantes Taktsystem, das die in dem Gattungsbegriff des Patentanspruches 1 aufgelisteten Merkmale umfaßt. Bei diesem System setzt sich die Synchronisierung der Takte fort, nachdem ein Ausfall innerhalb einer Unsymmetrie aufgetreten ist. Das Taktsystem umfaßt mehrere Taktkanäle, wobei jeder eine Takteinheit und einen Isolationsanschluß umfaßt. Ein lokales Taktsignal, das durch einen Kristalloszillator erzeugt wird, wird freigegeben, um ein Taktkanal- Ausgangssignal vorzugeben, wähiend ein Zähler in der Takteinheit eine vorbestimmte Anzahl von lokalen Taktimpulsen aufsummiert. Nachdem die vorbestimmte Anzahl erreicht ist, sperrt der Zähler das Taktkanal-Ausgangssignal und erzeugt einen Synchronisationsimpuls, welcher in einen Abstimmblock eingegeben wird. Aufgrund des zweiten Synchronisationsimpulses, der von jedem der Taktkanäle empfangen wird, erzeugt jeder Abstimmblock ein Ladeimpuissignal, das dem Isolationsanschluß des Taktkanales eingegeben wird. Entsprechende isolierte Ladesignale werden durch den Isolationsanschluß erzeugt und Abstimmblöcken in jeder der Takteinheiten vorgegeben.
- Die Abstimmblöcke sprechen auf das zweite isolierte, zu empfangende Ladesignal an und erzeugen ein Lade-Freigabesignal, das dem Zähler eingegeben wird. Beim Empfang des Lade-Freigabesignales nimmt der Zähler erneut seine Zählung auf und gibt erneut das Taktsignal-Ausgangssignal synchron mit den anderen Taktkanal-Ausgangssignalen frei. Bis zu N gleichzeitige Fehler können in dem Taktsystem ohne Verlust der Synchronisation in den Taktkanälen unterhalten werden, die fortfahren in richtiger Weise zu arbeiten, solange wie 2N+1 Taktkanäle vorgesehen sind.
- Ein anderes fehlertolerantes Echtzeit-Taktsystem ist aus der US-A-4,683,570 bekannt und umfaßt drei Hardware-Echtzeit-Takt-Subschaltkreise, die in einer dreifach modularen Redundanzkonfiguration verbunden sind, um einen fortgesetzten Betrieb sicherzustellen, wenn ein Subschaltkreis ausfällt. Ein Spannungsausfall oder ein Prozessorausfall ruft keinen Takt hervor, der zu anderen Prozessoren geliefert wird und deren Ausfall bewirkt.
- Der Ausgang von abgestimmten Haupifaktimpulsen an den Zähler in jedem Subschaltkreis wird gesperrt bis alle Spannungsversorgungen eingeschaltet und stabilisiert sind.
- Die vorliegende Erfindung ist ein fehlertolerantes Taktsystem, das durch den angefügten Patentanspruch 1 definiert ist und vier identische, miteinander verbundene Taktgebermodule besitzt. Dieser sogenannte Quad-Taktgeber erzielt eine Betriebsfähigkeit mit 100% Sicherheit gegen einen Ausfall und mit nahezu 100% Sicherheit im Betrieb gegen zwei Ausfälle. Die Ausnahmen bezüglich der letzten Sicherheit umfassen nur Doppelausfälle, die gleichzeitig auftreten, die in zwei getrennten Taktmodulen auftreten und als ein Fehler für fehlerfreie Module erkennbar sind und die boshaft sind, d.h. beide fehlerhafte Module arbeiten, um die fehlerfreien Module zu täuschen. Es sind die letzteren doppelten Ausfälle, die einen Betriebsverlust hervorrufen können.
- Der fehlertolerante Taktgeber liefert ebenfalls eine teilweise Sicherheit gegen drei, vier oder mehr Fehler, d.h. es können zahlreiche Dialogleitungen zwischen den Modulen ausfallen.
- Die Erfindung gibt einen fehlertoleranten gleichzeitigen Anlauf vor. Nach der Spannungseinschaltung scheint der Quad-Taktgeber für die Außenwelt, d.h. für den Rest der durch den Takt unterstützten Elektronik gleichzeitig zu starten. Dies wird verwirklicht durch die Weiterreichung und Abstimmung von "Bereitschafts"-Hinweisen zwischen den Modulen. Die erste Taktflanke, die von den getrennten Modulen zu der Außenwelt übertragen wird, tritt gleichzeitig auf. Der gleichzeitige Anlauf ist fehlertolerant. Fehler auf den Bereitschaftsleitungen werden maskiert, und die wahrscheinlichsten Fehler (z.B. Ausfall eines Bereitschaftssignales innerhalb eines vernünftigen Zeitbetrages) werden festgestellt und berichtet. Im schlimmsten Fall können mehrere Fehler in dem Anlaufschaltkreis dazu führen, daß der Takt nicht startet.
- Die vorliegende Erfindung beinhaltet eine fehlertolerante Betriebsdiagnose. Sie umfaßt eine latente Fehlerfeststellung, wobei "latent" sich auf einen Fehler bezieht, der das richtige Verhalten des Taktes, wie er durch die Außenwelt gesehen wird, nicht beeinflußt. Die latente Fehlerfeststellung tritt unabhängig bei allen vier Taktmodulen auf Ein Fehlerhinweis wird gesetzt, wenn ein vorgegebener Modul ein Signal von einem anderen fehlerhaften Modul wahrnimmt. Der Betriebsstatus des Taktes hängt von den Fehlerhinweisen ab. Bedeutende Betriebsstatuskatagorien sind "keine Fehler", "Betrieb mit zwei Ausfullen", "Betrieb mit einem Ausfall", "betriebsfähig" und "nicht-betriebsfähig". Eine solche Information über die Katagorie ist erforderlich für die Wartungsplanung. Es gibt ebenfalls einen Austausch von Fehlerhinweisen zwischen den Modulen, so daß der Betriebsstatus erfaßt werden kann. Ein solcher Informationsaustausch ist in sich selbst fehlertolerant.
- Jeder der vier Module überträgt sein Taktsignal zu jedem der anderen Module, was zwölf Punkt-zu-Punkt-Verbindungen beinhaltet. Zusätzliche zwölf Punkt-zu-Punkt- Verbindungen werden benötigt, um den fehlertoleranten gleichzeitigen Anlauf zu verwirklichen. Zusätzliche zwölf Punkt-zu-Punkt-Verbindungen werden benötigt, um die Fehler-Hinweisinformation zu übermitteln. Wenn jeder Modul ebenfalls seine Hinweise durch Verbindungen zu sich selbst sendet, so gibt es eine Gesamtheit von 16 Verbindungsleitungen oder Punkt-zu-Pulikt-Verbindungen für den Hinweisaustausch. Die letzteren Verbindungen ermöglichen es, daß die Module tatsächlich identisch zueinander sind.
- Die Module umfassen Schieberegister, welche benutzt werden, um kurze Zeitverläufe der empfangenen Signale Lind der ausgewählten Taktausgänge zu speichern, was erlaubt, alle Formen von Fehlern mit minimaler hinzugefügter Kombinationslogik festzustellen. Eine metastabile Auflösung wird automatisch durch die erste Stufe des Schieberegisters verwirklicht. Ladbare Standardzähler erzeugen das Taktsignal, das einen leicht auswählbaren Takt-Arbeitszyklus besitzt. Der gesamte Taktmodul-Schaltkreis paßt leicht in einen kleinen integrierten Schaltkreis oder einen programmierbaren Schaltkreis in gegenwärtiger Technologie.
- Allgemein ist der erfindungsgemäße Taktgeberentwurf maximal wirksam beim Erfüllen der Anforderungen eines fehlersicheren Betriebs mit fehlertolerantem gleichzeitigem Anlauf und einem Statusreport des Betriebs bei zwei Ausfällen. Die Erfindung besitzt ebenfalls eine Option mit zwei Frequenzen, d.h. sie kann eine Frequenz und ein Mehrfaches von dieser ausgeben, wobei darin die Synchronisation und die Fehlerfeststellschleifen enthalten sind. Sowohl die niedrigen als auch die höheren Frequenzsignale sind fehlertolerant.
- Figuren 1a-b zeigen die Verbindung von vier Taktgebermodulen und ein Blockdiagramm eines entsprechenden Taktmoduls.
- Figur 2 ist ein detailliertes Blockdiagramm eines Teils eines Taktmoduls.
- Figur 3 zeigt die vier Taktmodule und ihre Verbindung zu einem optionalen und separaten Empfänger im Fehlerbereich.
- Figur 4 ist ein Blockdiagramm des Systems einschließlich der Taktmodule, Mikroprozessoren und nicht-flüchtigen Speicher.
- Figur 5 ist ein Schema des Takt-Freigabeschaltkreises des Taktmoduls.
- Figur 6 ist ein anfängliches Zeittakt-Folgediagramm nach der Spannungseinschaltung.
- Figur 7 ist ein schematisches Diagramm des Taktgeneratorschaltkieises des Taktmoduls.
- Figur 8 ist ein schematisches Diagramm des Taktempfängerschaltkreises des Taktmoduls.
- Figur 9 ist ein schematisches Diagramm des Eingangs- Taktvenvaltungsschaltkreises des Taktempfängerschaltkreises.
- Figur 10 ist ein schematisches Diagramm des Kollektorschaltkreises des Taktempfängerschaltkreises.
- Figür 11 ist ein schematisches Diagramm des Referenztakt- Verwaltungsschaltkreises des Taktempfängerschaltkreises.
- Figur 12 ist ein Diagramm der fehlertoleranten Rücksetz-Verbindungstopologie einer Konfiguration des Taktsystems, das bei zwei Fehlern betriebsfähig ist.
- Figur 13 ist ein Diagramm der Topologie einer Konfiguration, die bei einem Fehler betriebsfähig ist.
- Figur 14 ist ein Diagramm der Topologie einer betriebsfähigen Konfiguration.
- Figur 15 zeigt ein Zeittaktdiagramm der Synthese des Auswahltaktes.
- Figur 16a ist ein Diagramm der Topologie einer Übergangskonfiguration.
- Figur 16b ist ein Diagramm der Topologie einer stabilen Konfiguration.
- Figuren 17a-b sind Diagramme der Topologie mit Verbindungen in einer Richtung.
- Figur 18a ist ein Diagramm mit einer Verbindung in einer Richtung.
- Figur 18b ist ein Diagramm mit Verbindungen nicht in einer Richtung.
- Figuren 19a-c zeigen drei äquivalente Netzwerktopologien.
- Figur 20 zeigt Diagramme der Topologie von zehn bidirektionalen Taktkonfigurationen und ihre Stabilität.
- Figur 21 ist ein Diagramm der Topologie einer aufgebrochenen Paarkonfiguration.
- Figur 22 ist ein funktionelles Blockdiagramm des Fehlerhinweis- Dialogsystems.
- Figur 23 ist ein Zeittaktdiagramm eines Fehlerhinweis-Dialogs.
- Figuren 24a-b sind Block- und Zeittaktdiagramme der Taktphase des Fehlerhinweis- Dialogs.
- Figur 25 ist ein Diagramm eines Dialogtransmitters für einen Fehlerhinweis.
- Figur 26a zeigt eine Gruppe von Fehlerhinweis-Dialogempiängern.
- Figur 26b ist ein detaillierteres Diagramm eines Fehlerhinweis- Dialogempfängers.
- Figur 27 zeigt ein Schema des Fehlerhinweis-Dialogleitungsausfall-Detektorsystems.
- Figuren 28a-b sind Diagramme des permanenten Fehlerhinweis- Verriegelungsschaltkreises und des Verriegelungsschaltkreises im Detail für ein Bit.
- Figur 29 ist eine Tabellenliste von Karten und ihrer Entsprechung zwischen absoluten und relativen Zahlen.
- Figur 30 ist eine Tabelle der Fehlerhinweis-Ordnung, die allen Taktgebern gemeinsam ist.
- Figur 31 a-f sind Schemen der Kombinationslogik für die Festlegung des Betriebs der Takt- und Rücksetzsysteme.
- Die vorliegende Erfindung ist ein digitaler Taktschaltkreis, der entworfen ist, um alle nicht-gleichzeitigen Doppelfehler zu tolerieren. Der Schaltkreis liefert vier fehlertolerante 100Hz-Takte, die innerhalb 200ns aufeinander mit einem maximalen Frequenzfehler von 140ppm synchronisiert sind, wobei vier fehlertolerante Takte mit 1600Hz innerhalb 1200ns miteinander mit einem maximalen Frequenzfehler von l4oppm synchronisiert sind und wobei 32 Fehlerhinweise verwendet werden, um den Zustand des Schaltkreises zu überwachen und die Wartungsdiagnose zu erleichern.
- Figur la zeigt den Taktgeber 10 mit vier Modulen 11, 12, 13 und 14 und den Verbindungen zwischen diesen Modulen. Figur ib ist ein Blockdiagramm eines Modules 11, 12, 13 oder 14. Jeder Modul enthält eine Rücksetzeinrichtung 16, eine Takteinbeit 115 mit einem Taktempfänger 20 und einem Taktgenerator 18 und eine Betriebsdiagnostik 17. Die Figur 2 zeigt den Teilmodul 15 eines jeden Moduls 11, 12, 13 oder 14. Jeder Modul enthält ebenfalls einen Fehlerhinweis-Dialogschaltkreis 17, wie er in Figur 22 gezeigt ist. Vier Hauptteile eines Moduls sind die Rücksetzeinrichtung bzw. der fehlertolerante Rücksetz- oder Takt-Freigabeschaltkreis 16, der ein anfängliches synchronisiertes Freigabesignal an alle anderen Taktmodule liefert; ein Taktgeneratorschaltkreis 18, der die Ausgänge mit 100Hz und 1600Hz liefert; ein Taktempfangerschaltkreis 20, der die anderen drei Taktmodule mit Eingangstakten von den anderen Modulen überwacht und Synchronisationsanweisungen zu dem Taktgenerator 18 liefert; und eine Betriebs- Diagnoseeinrichtung 17. Der Taktempfänger 20 gibt ebenfalls fehlertolerante Takt- und Wartungs-Hinweise FI, FJ, FK, FL aus. Figur 3 zeigt eine wahlweise Auslegung 140, wobei die Taktmodule 11, 12, 13 und 14 vier fehlertolerante Takte entsprechend an einen Taktempfiingerschaltkreis 22 ausgeben. Der Taktempfänger 22 ist ähnlich zu dem Empfänger 20 in dem Taktmodul mit der Ausnahme, daß er eine geringe Änderung der Kombinationslogik 64 aulweist, wobei das Gatter 138 beim Aufbau des Empfängers 22 entfernt ist. Der Empfänger 22 gibt ein externes fehlertolerantes Taktsignal in der optionalen Konfiguration 140 aus.
- Figur 4 ist eine Ausarbeitung von Figur 1, die die vier Taktmodule mit ihren Zwischenverbindungen und externen Verbindungen in größeren Einzelheiten und in Verbindung mit Speichern 120 und Prozessoren 24 zeigt, für den Anschluß eines externen Systems, das die Taktsignale verwendet. Zwischen den vier identischen Modulen gibt es eine zwölf Puflkt-zu-Puiikt-Draht-Tetraeder-Taktverbindungsarchitektur, eine zwölf Punktzu-Punkt fehlertolerante Tetraeder-Rücksetz-Verbindungsarchitektur und eine zwölf Punkt-zu-Punkt-Draht-Betriebsstatus-Verbindungsarchitektur oder eine sechzehn Punktzu-Punkt- Betriebsstatus-Verbindungsarchitektur. Der fehlertolerante Taktschaltkreis ist ausgelegt, um alle möglichen Fehler aufgrund von metastabilen Zuständen zu eliminieren. Die Einrichtungs- und Haltezeiten flir die verschiedenen digitalen Komponenten innerhalb des Schaltkreises werden erfüllt. Schieberegister werden verwendet, um die jüngste Geschichte des Taktes aufzuzeichnen, wodurch eine Fehlerfeststellung und Signalsynchronisierung gestattet wird.
- Die Synchronisationsanforderungen sind geringer als ein Unsymmetriefehler von 100ns zwischen irgendeinem Paar von 100Hz-Signalen der Taktmodule, eine "enge Synchronisation" zwischen irgendeinem Paar von 1600Hz-Signalen der Taktmodule und geringer als 2ooppm Frequenzfehler für irgendeine spezielle Anwendung namentlich der Luftdaten-Inertial-Referenzeinheit (ADIRU).
- Jede Taktgeneratoreinheit 18 gibt die 100Hz des Moduls und die Synchrontakte von 1600Hz aus. Die 100Hz-Signale sind durch den fehlertoleranten Taktschaltkreis selbst begrenzt. Die 1600Hz-Signale werden zu HEXAD-Einheiten abgegeben. Jeder Taktempfängerschaltkreis 20 gibt ebenfalls den 100HZ-Referenztakt des Moduls aus. Die Referenztakte werden an Mikroprozessoren 24 abgegeben. Eine HEXAD-Einheit ist eine Einheit mit sechs Sensoren, wobei die Sensoren Kreisel und/oder Beschleunigungsmesser sind, so daß zwei der sechs Sensoren ausfallen können und die Einheit in geeigneter Weise funktionsfähig bleibt.
- Der Taktgenerator 18 besitzt einen ladbaren Zähler 56 mit einem ausgewählten Ladeventil, um die Frequenz und den Arbeitszyklus zu steuern. Der zweistufige Zähler 56, 58 liefert synchronisierte Takte von 1600Hz und 100Hz. Neue Elemente umfassen die Synchronisierung mit den Anstiegs- und Abfallflanken des 100Hz-Taktes und einen 50%- Arbeitszyklus bei den Taktausgängen 1600Hz und 100Hz. Ebenfalls in dem Taktgenerator 18 befindet sich die Kombinationslogik 116 für die Feststellung eines langsamen Fehlers.
- Die folgenden Formeln werden benutzt, um die schlechteste Unsymmetrie und die bei geeignetem Betrieb möglichen Frequenzfehler zu berechnen.
- Unsymmetrie (Generator-Ausgänge)max = 2ATs + 2THFCLK,
- Unsymmetrie (Emp2²(THFCLK/TS),
- wobei
- A = Genauigkeit des Hochfrequenz-Kristalloszillators,
- TS = Synchronisationsperiode (verstrichene nominelle Zeit zwischen synchronisierten Flanken),
- TMFCLK = Periode des Hochfrequenz-Kristalloszillators.
- Es sei vermerkt, daß die Formeln anzeigen, daß die Unsymmetrie zwischen den Ausgängen der Empfänger 20 geringer als die Unsymmetrie zwischen den Ausgängen des Generators 18 ist. Da die Empfänger 20 Mikroprozessoren 24 ansteuern, sollte die Unsymmetrie zwischen den 100Hz-Signalen der Empfänger benutzt werden, um die Taktleistung zu beurteilen. Der Wert der Unsymmetrie zwischen den 1600Hz-Ausgängen der Generatoren ist jedoch kritisch, da er benutzt wird, um Schaltkreisfehler zu testen. Durch Einschluß eines geringfügig modifizierten Taktempfängerschaltkreises 22 auf jeder HEXAD-Einheit kann die Unsymmetrie zwischen den 1600Hz-Signalen, die an die HEXAD-Einheit abgeliefert werden, vermindert werden von der Unsymmetrie der Gleichung 1 zu der der Gleichung 2. Ein Oszillator mit einer Genauigkeit von 100ppm wird für den Taktgeneratorschaltkreis 18 verwendet. Die obigen Gleichungen 1, 2 und 3 zeigen, daß die geringere Periode THFCLK zu einer besseren Taktleistung führt. 10MHz führen zu einem relevativ kleinen Wert von TKFCLK (z.B. 100ns) und lassen noch genügend Zeit für die digitalen Komponenten, 100HZ-Taktsignales (TS = 5 ms) liefert eine beträchtliche Verminderung der Unsymmetrie gegenüber der Synchronisierung auf nur einer Flanke des
- 100HZ-Taktsignales (Ts 10 ms). Die Genauigkeit der Frequenz ist auf die Genauigkeit des Kristalloszillators bezogen.
- Mit den gegebenen Parametern (A = 100 x 10&supmin;&sup6;, THFCLK = 100 x 10&supmin;&sup9;, TS = 5 x 10&supmin;³) ergibt sich aus den obigen drei Gleichungen folgendes:
- Unsymmetrie (Generator)max = 1200nsec
- Unsymmetrie (Empfänger)max = 200nsec
- v(freq)max = 1400ppm.
- Die Rücksetzeinrichtung bzw. der Taktfreigabeschaltkreis 16 von Figur 5 liefert ein anfängliches synchronisiertes Freigabesignal an alle Taktmodule, was sicherstellt, daß die vier Module zueinander synchronisiert sind, wenn der Takt gestartet wird und sie kontinuierlich latente Fehler innerhalb des Takt-Freigabeschaltkreises 16 selbst feststellen und eine Auflösung eines metastabilen Zustandes vorgeben. Der Schaltkreis bzw. die fehlertolerante Rücksetzeinrichtung 16 besitzt einen 2/4-Auswahlmechanismus, um eine Betriebsauslösung bei zwei Fehlern vorzugeben, eine Fehler-Feststelllogik, die einen Hardwareausfall in dem Rücksetzschaltkreis 16 feststellt und Fehlerhinweise verriegelt und eine Hauptlneben-Flip-Flop-Kombination, die eine Auflösung eines metastabilen Zustandes bei der Schaltkreisauslösung vorgibt. Die Rücksetzeinrichtung bzw. der Taktfreigabeschaltkreis 16 besteht aus der Kombinationslogik 106, der Fehlerfeststell- Rückstellung 108 und der Rückstellverriegelung 110. Der Taktfreigabeschaltkreis 16 erfüllt mehrfache Zeittaktanforderungen bei der Spannungseinschaltung, welche umfassen, daß nach einer anfänglichen Spannungseinschaltung der Takt nicht arbeiten sollte, bis alle Mikroprozessoren 24, die durch ihn angesteuert werden, vollständig initialisiert worden sind und daß alle Taktmodule anfänglich synchronisiert sind.
- Wenn der Betrieb beginnt, wird im Zeitpunkt T = 0 Spannung an die vier Taktprozessor- Platinen angelegt. Zu diesem Zeitpunkt wird die interne Taktrückstellung 26 innerhalb eines jeden entsprechenden Takunodules 11, 12, 13 und 14 sichergestellt. Das Signal 26 wird bestätigt durch die Auslösung des Mikroprozessors 24, um sicherzustellen, daß der fehlertolerante Takt außer Betrieb gehalten wird. Aufgrund von Zufallsfaktoren werden die Mikroprozessoren 24 die Initialisierung nicht gleichzeitig vervollständigen. Somit ist eine minimale Vervollständigungszeit TA und eine maximale Vervollständigungszeit TB festgelegt. Die vier internen Taktrückstellungen 26 werden spätestens bis zur Zeit TB bestätigt. Es ist möglich, daß eine Diagnoseroutine erfordern kann, daß das System die Fehlerverriegelungen mit nicht aufgelösten Fehlern aus vorangegangenen Abläufen laden muß. Wenn dies der Fall ist, werden die Taktfreigabe-Fehlerverriegelungen durch Daten geladen, die in dem nicht-flüchtigen Speicher gespeichert sind, wenn die interne Taktrückstellung 26 unterdrückt wird.
- Jeder der Taktmodule 11, 12, 13 und 14 verwendet ein internes Takt-Freigabesignal 28, welches nach der Initialisierung des Mikroprozessors 24 auftritt. Das Signal 28 tritt ausreichend nach TB auf (wobei eine minimale Zwischenzeitperiode TB - TA ist), um sicherzustellen, daß die Taktmodule 11, 12, 13 und 14 von der internen Taktrückstellung 26 befreit sind. Aufgrund von Zufallsfaktoren treten die vier internen Takt-Freigabesignale 28 zwischen den Zeiten TC und TD auf
- Der Takt-Freigabeschaltkreis 16 ist ausgelegt, um Fehler innerhalb seines Schaltkreises zu maskieren. Fehler werden maskiert durch die 2/4-Auswahleinrichtung, welche ein überprüftes Takt-Freigabesignal 30 von der Kombinationslogik 106 beim Empfang des zweiten Takt-Freigabesignales sicherstellt. Wenn somit einer der Taktmodule 11, 12, 13 oder 14 sein internes Takt-Freigabesignal 29 (das Spannungseinschalt-Bereitschaftssignal) wesentlich zu früh empfängt, so schreitet der Fehler nicht in irgendeines der überprüften Takt-Freigabesignale 30 der Module fort. Wenn in gleicher Weise zwei Taktmodule 11, 12, 13 und 14 niemals ihre internen Takt-Freigabesignale 29 bestätigen, können alle vier Taktgeber noch ihre überprüften Takt-Freigabesignale 30 erzeugen.
- Latente Fehler innerhalb des Freigabeschaltkreises 16 werden durch 16 Fehlerhinweise festgestellt und berichtet, die durch Ausgänge 31, 32, 33 und 34 des Schieberegisters 36 angezeigt werden. Diese sechzehn Fehlerhinweise sind enthalten, um lediglich die Wartung zu erleichtern; sie beeinflussen nicht den Betrieb des Taktgebers. Jeder Modul besitzt vier Fehlerhinweise 31, 32, 33 und 34 entsprechend den Takt-Freigabesignalen 37, 38 und 39 von den externen Taktsignalen und dem Signal 29 von dem internen Taktsignal. Ein Fehlerhirnveis wird bestätigt, wenn das überprüfte Taktsignal 40 von dem Empfänger 20 vor dem entsprechenden Takt-Freigabesignal 29, 37, 38 oder 39 bestätigt wird. Alle festgestellten Fehler werden verriegelt, um einen sich verändernden Fehlerbericht zu verhindern.
- Der Täkt-Freigabeschaltkreis 16 ist nicht zu schnell, um ein internes Freigabesignal 29 zu beurteilen, wenn der Schaltkreis anhaftend asynchron ist. Zeit kann verstreichen bevor darauf geschlossen wird, daß das interne Takt-Freigabesignal 29 fehlerhaft ist. Das Fehlersignal 34, welches dem internen Takt-Freigabesignal 29 entspricht, wird anfänglich gesperrt durch Verzögerung des überprüften Taktsignales 40 durch einen N-Bit- Digitalzähler 42. Für eine hinreichende Verzögerung durch den Zähler 42 wird die minimale Anzahl N von Bits durch folgende Gleichung vorgegeben:
- n= [1092 ((TD - TC)/THFCLK)]
- wobei:
- TC = minimale Zeit für die Sicherstellung der internen Taktfreigabe;
- TD = maximale Zeit für die Sicherstellung der internen Taktfreigabe;
- THFCLK = Periode des Hochfrequenz-Oszillatorsignales HFCLK.
- Wenn ein Taktmodul 11, 12, 13 oder 14 wenigstens zwei oder mehr Takt-Freigabesignale 29, 37, 38 oder 39 empfängt, so wird das überprüfte Takt-Freigabesignal 30 bestätigt. Das überprüfte Takt-Freigabesignal 30 wird verriegelt und mit einem lokalen HFCLK-Signal 44 durch zwei D-Flip-Flops 46 synchronisiert. Das interne synchrone Takt-Freigabesignal 29 wird bei der fallenden Flanke des HFCLK-Signales 44 bestätigt. Da alle synchronen Einrichtungen innerhalb eines Taktmoduls 11, 12, 13 oder 14 mit positiver Flanke getriggert werden, wird ein metastabiler Zustand aufgelöst. Die Flip-Flops 46 und der Zähler 42 besitzen eine interne Taktrückstellung 112, welcher eine "frühe" Spannungseinschalt-Rückstellung ist.
- Figur 6 zeigt die Folge des Takt-Freigabeschaltkreises 16 für den anfänglichen Zeittakt nach der Spannungseinschaltung. Für jeden Modul 11, 12, 13 oder 14 wird der Mikroprozessor 24 wenigstens um eine Zeitperiode ε vor der Feststellung der entsprechenden internen Taktrückstellung ausgelöst. Die entsprechenden Auslösungen des Mikroprozessors 24 konnen innerhalb verschiedener Zeiten innerhalb der Zeitperiode ε vervollständigt sein. Nachdem alle Mikroprozessoren 24 ausgelöst sind oder zu dem Zeitpuiikt, wo der letzte Mikroprozessor ausgelöst ist, kann sodann die interne Taktrtickstellung bestätigt werden. Für jeden Modul 11, 12, 13 und 14 wird die interne Taktfteigabe uni eine Zeit δ nach der Bestätigung der internen Taktfreigabe bestätigt. Die Zeit δ ist giößer als die Zeit E.
- Der Zweck der Taktgeneratoreinheit 18 liegt in der Verfolgung der Synehronisations- Anweisungssignale 48 und 50, die er von dem Taktempfängerschaltkreis 20 empfängt. Bei Abwesenheit der Anweisungssignale 48 und 50 arbeitet der Generatorschaltkreis 18 als freilaufender Oszillator. Figur 7 zeigt die Einzelheiten des Taktgeneratorschaltkreises 18.
- Die Ausgänge des Generatorschaltkreises 18 umfassen ein fehlertolerantes 100Hz-Signal, welches eng zu den 100HZ-Generatorausgängen 52 der anderen drei Taktmodule synchronisiert ist und ein fehlertolerantes 1600Hz-Signal 54, welches eng auf die 1600Hz- Generatorausgänge 54 der anderen drei Taktmodule synchronisiert ist.
- Eine Notwendigkeit doppelter Taktsignale von 100Hz und 1600Hz, von denen jedes ein Tastverhältns von 50% besitzt, ist durch eine durch N-teilende Stufe vorgegeben, die durch einen Tandem-Zählerentwurf verwirklicht wird. Ein zweiter Zähler 58 arbeitet als eine durch 32-teilende Stufe und liefert beide Signale mit 100Hz und 1600Hz. Die Periode des am wenigsten signifikanten Bits des zweiten Zählers 58 beträgt ein Sechzehntel des Wertes der Periode des am signifikantesten Bits. Obgleich das signifikanteste Bit des ersten Zählers 56 kein Tasterhältnis von 50% aufweist, ist dies für die fünf Bits des zweiten Zählers 58 im wesentlichen der Fall. Der erste Zähler 56 liefert zu dem zweiten Zähler 58 ein 3200Hz-Signal. Die 3200Hz werden erhalten durch Teilung des 1OMHZ- Kristalloszillator-HFCLK-Ausganges 44 durch 3125. Der erste Zähler 56 ist verdrahtet als eine durch 3125-teilende Stufe. Wenn der Taktempfängerschaltkreis 20 eine positive Referenzflanke empfängt, so bestätigt er das UPSYNC-Signal 50 für einen Zyklus des Signales 44 des Hochfrequenz-Kristalloszillators (HFCLK). Auf die Leitung des Signales 50 wird eine 1 oder eine 0 für einen 100HZ-Taktwert geladen, wenn es synchronisiert ist, in Abhängigkeit davon, ob es auf der Anstiegsflanke (aufwärts) oder der Abstiegsflanke (abwärts) entsprechend auftritt, um den Takt für die nächste Halbperiode zu setzen. Der erste Zähler 56 ist auf 001111001011&sub2;(4096&sub1;&sub0; - 3125&sub1;&sub0;) geladen, während der zweite Zähler 58 mit seinen signifikantesten Bits auf den Logikwert 1 gesetzt ist. Wenn die Zeit fortschreitet so liefert der erste Zähler 56 ein nominelles 3200Hz-Signal 60 an den zweiten Zähler 58. Wenn der Taktempfängerschaltkreis 20 eine negative Referenzflanke innerhalb der nächsten Sms empfängt, dann wird er ein DOWNSYNC-Signal 48 für einen Zyklus des HFCLK-Signales 44 bestätigen. Der erste Zähler 56 wird sodann auf 0011110011&sub2; geladen; der zweite Zähler 58 ist mit all seinen Bits auf den Logikwert 0 gesetzt. Wenn der Taktempfänger 20 keine negative Referenzflanke innerhalb der nächsten 5ms empfängt, so wird die zweite Stufe des Zählers einfach "überlaufen", unabhängig von dem Referenzsignal; der Wert aller Bits wird auf den Logikwert 0 gesetzt. Figur 8 ist ein Schema des Taktempfängerschaltkreises 20. Der Taktempfängerschaltkreis 20 stellt Fehler innerhalb des fehlertoleranten Taktschaltkreises fest, berichtet festgestellte Fehler zu einem externen System (d.h. einem nicht-flüchtigen Speicher), verwendet die Kenntnis der Schaltkreisfehler, um ein geeignet definiertes Referenzsignal herauszuziehen und liefert Synchronisations-Anweisungssignale 48 und 50 an den Generatorschaltkreis 18. Die Synchronisations-Anweisungssignale 48 und 50 werden gemäß einem Referenzsignal berechnet. Eine geringfügig modifizierte Version des Taktempfängerschaltkreises 20 ist auf jeder HEXAD-Einheit angeordnet. Der Empfänger 20 vermindert die Unsymmetrie zwischen den 1600Hz-Synchrontakten.
- Der Taktempfänger 20 besitzt eine neue Architektur mit fünf Schieberegistern, um den jüngsten Verlauf der empfangenen Takte und überprüften Takte zu sichern. Der Eingangs- Taktmanager 62 besitzt eine neue Kombinationslogik zur Erzeugung von Fehlerhinweisen, eine Fehlerhinweis-Verriegelungseinrichtung und eine nicht-flüchtige Speicherschnittstelle. Die Sammel-Kombinationslogik 64 wählt Eingangstakte basierend auf Fehlerhinweisen aus. Ein Referenztaktmanager 66 besitzt eine Kombinationslogik flir die Erzeugung von Synchronisationssignalen 48 und 50 und eine Kombinationslogik für die Erzeugung von Prüfsignalen 82 und 88.
- Der Taktempfängerschaltkreis 20 besitzt drei Haupt-Subschaltkreise. Zunächst sind da vier Eingangs-Taktmanager 62 zum Synchronisieren der drei Zwischenmodule und eines internen 100HZ-Taktsignales. Der Manager 62 stellt ebenfalls Fehler fest und berichtet diese. Eine Sammellogik 64 führt einen Zwischen-Auswahlalgorithmnus aus. Der Referenztaktmanager 66 entfernt Fehlersignale aus dem Referenztakt 68 der Sammellogik 64. Der Manager 66 unterstützt ebenfalls die Fehlerfeststellung und liefert Synchronisations-Anweisungssignale 48 und 50 zu dem Taktgeneratorschaltkreis 18. Der Eingangs-Taktmanager 62 synchronisiert die eingehenden 100Hz-Takte der externen Taktmodule auf die lokale Hochfrequenz-Zeittaktbasis HFCLK 44. Der Eingangs- Taktmanager 62 stellt ebenfalls Fehler fest und berichtet diese bei jedem eingehenden 100Hz-Signal. Obgleich das interne 100Hz-Signal bereits synchronisiert ist, wird eine Fehlerfeststellung und Notifizierung mit diesem Signal ausgeführt. Figur 9 ist ein Schema des Eingangs-Taktmanagers 66. Die Eingangssynchronisation wird durch das Schieberegister 68 vorgegeben. Das erste Ausgangsbit des Schieberegisters 68 ist das synchronisierte Eingangssignal 70, das zu der Sammellogik 64 gesendet wird, die in dem Zwischen-Auswahlalgorithmus enthalten ist.
- Das Folgende ist eine Erläuterung des Fehlerfeststell- und Notifizierschaltkreises. Ein mögliches Problem ist die Feststellung einer zu frühen Flanke. Beispielsweise seien die Ströme einer Pegelumschaltung bei einem der Taktsignale betrachtet, die an dem Eingang zu dem Eingangs-Taktmanager 62 vorliegen. Nachdem (n - 1)-Zyklen des Signales HFCLK 44 verstrichen sind, wird eine frühe Signalprüfiing 72 für eine Periode des Signales HFCLK 44 ausgeführt. Gleichzeitig wird der Ausgang 74 des Bits (n - 1) des Schieberegisters 68 mit dem asynchronen Referenztakt 76 von dem Referenztaktmanager 66 verglichen. Wenn die zwei Signale 74 und 76 nicht übereinstimmen, so wird ein frühes Fehlersignal 78 festgestellt. Ein frühes Fehlersignal 78 basiert auf der Tatsache, daß kein individuelles Taktsignal dem Referenztakt 76 um einen zu großen Zeitbetrag vorausgehen sollte.
- Der Zeitbetrag der zwischen dem Empfang einer Taktflanke und der Überprüfung liegt, ob diese Taktflanke früh ist, hängt von dem Wert n ab, d.h. der Anzahl von Bits in dem Eingangs-Taktmanager 62. Da eine frühe Taktflanke zu einem Taktmodul 11, 12, 13 oder 14 gehören könnte, der einen geringfügig zu schnell laufenden Kristalloszillator besitzt, sollte der Wert von n groß genug gewählt werden, um eine akzeptable Unsymmetrie aufgrund von Fluktuationen in der Oszillatorfrequenz zu tolerieren. Ruft man sich eine zuvor angegebene Formel für eine tolerierbare Unsymmetrie zwischen Taktgeneratorsignalen in Erinnerung, so sollte n den Wert besitzen, wie er in der folgenden Formel angegeben ist.
- n = (2ATS + 2THFCLK)/THFCLK, wobei:
- A = Genauigkeit des Hochfrequenz-Kiistalloszillators,
- TS = Synchronisationsperiode (verstrichene nominelle Zeit zwischen synchronisierten Flanken),
- THFCLK = Periode des Hochfrequenz-Kristalloszillators.
- Es sei vermerkt, daß da die vier Taktmodule 11, 12, 13 und 14 in bezug aufeinander synchron sind, es möglich ist, für den Takt J des Moduls 12 die synchrone Taktumschaltnng des Taktes I des Moduls 11 nahezu unmittelbar festzustellen. Der Takt I muß jedoch einen vollen Zyklus von HFCLK 44 abwarten, um seine eigene Taktumschaltung zu beobachten. Um diese Verzögerung zu vermeiden, kann der auf das interne Taktsignal ansprechende Eingangs-Taktmanager 62 ein Bit weniger in seinem Schieberegister 68 aufweisen.
- Der Eingangs-Taktmanager 62 besitzt Schaltkreise zur Feststellung der allgemein späten Flanke eines individuellen Taktes bezüglich des Referenztaktes. Mit anderen Worten wird eine Pegelumschaltung an einem Eingang des Taktmodules 11, 12, 13 oder 14 als allgemein zu spät angesehen, wenn ein nicht akzeptierbarer Zeitbetrag zwischen dem Pegel der Umschaltung an dem Eingang und der entsprechenden Pegelumschaltung im Referenzsignal dieses Moduls verstreicht. Keiner der Eingangstakte der Module sollte seinem Referenztakt um einen zu großen Zeitbetrag hinterher eilen.
- Beispielsweise sei der Fall ohne Taktfehler betrachtet. Wenn ein Taktmodul eine Referenzflanke feststellt, so bedeutet dies, daß wenigstens zwei der anderen Taktmodule jüngst umgeschaltet haben. Der Taktmodul, der die Referenzflanke feststellt, schaltet sodann sein eigenes Synchronsignal um. Zu diesem Zeitpunkt haben wenigstens drei der vier Module umgeschaltet. Der vierte Takt wird sodann nach einer Auswahlverzögerung umschalten, die aus höchstens zwei Zyklen seines eigenen HFCLK 44 besteht. Innerhalb eines Zyklus seines eigenen HFCLK 44 werden die anderen drei Module die Umschaltung des vierten Moduls sehen. Die gesamte verstrichene Zeit beträgt drei Zyklen von HFCLK 44. Wenn somit einmal ein Taktmodul eine Referenzflanke beobachtet, so sollte er alle verbleibenden Umschaltungen innerhalb der nächsten drei Zyklen von HFCLK 44 beobachten. Da jedoch die vier Module 11, 12, 13 und 14 unterschiedliche HFCLK's 44 besitzen, muß eine zusätzliche Toleranz durch den späten Fehler-Feststellschaltkreis vorgegeben werden.
- Wenn eine Referenz-Taktflanke festgestellt wird, so wird das späte Prüfsignal 82 durch den Referenz-Taktmanager 66 einige Zyklen nach dem Auftritt einer Flanke bei einem Referenztakt vorgegeben. Das späte Prüfsignal 82 wird in einer ähnlichen Weise wie das frühe Prüfsignal 72 erzeugt. Wenn eine Differenz zwischen dem synchronisierten Eingangssignal 70 und dem Referenzsignal 76 vorliegt, so wird ein spätes Differenzsignal 86 geltend gemacht. Wenn die zwei Signale 70 und 76 sich unterscheiden, wenn das späte Prüfsignal 82 geltend gemacht wird, so wird gleichzeitig das späte Fehlersignal 84 gesetzt.
- Einer der durch den Taktschaltkreis festgestellten Fehler ist das Rauschen auf einem intermodularen 100Hz-Signal. In den meisten Fällen ist das Rauschen automatisch maskiert und wird durch den Schaltkreis 62 festgestellt, welcher allgemein fi ilhe Flanken feststellt. In einem speziellen Fall, wo eine Flanke angekommen ist, kann jedoch der zweite Eingang gleichzeitig durch das Rauschen beeinträchtigt werden. Wenn eine dritte Flanke nicht angekommen ist, so folgt der Referenztakt dem verrauschten Signal und wird selbst beeinträchtigt. Eine Beeinträchtigung des Referenztaktes ist gänzlich unakzeptabel, da er den Taktgeneratorschaltkreis 18 synchronisiert und an den Mikroprozessor 24 abgegeben wird.
- Daher besitzt der Referenz-Taktmanager 62 Schaltkreise, welche den Referenztakt daran hindern, durch solches Rauschen beeinträchtigt zu werden. Der Referenz-Taktmanager 66 macht zusätzlich augenblicklich ein Rausch-Prüfsignal 88 gültig, wenn er einen Versuch feststellt, das Referenz-Taktsignal zu beeinträchtigen. Der verrauschte Eingang wird gleichzeitig ein Rausch-Gegenwartsignal 90 in seinem Eingangs-Taktmanager 62 geltend machen. Die gleichzeitige Gegenwart eines Rausch-Gegenwartsignales 90 und eines Rausch-Prüfsignales 88 macht ein Rausch-Fehlersignal 92 in dem Eingangs-Taktmanager 62 gültig.
- Wenn ein frühes Fehlersignal 78, ein spätes Fehlersignal 84 oder ein Rauschfehler 92 vorliegt, so wird das Fehlersignal in der Fehlerverriegelung 96 gültig gemacht. Die Fehlerverriegelung 96 ist ein D-Flip-Flop, welches seinen Ausgang auf den Eingang zurückführt und Werte mit dem Logikpegel 1 während der gesamten Spannungseinschaltung verriegelt. Zusätzlich können nicht aufgelöste Fehler aus vorangegangenen Abläufen bei der Spannungseinschaltung in die Verriegelung 96 geladen werden. Solche nicht aufgelösten Fehler werden in einem nicht-flüchtigen Speicher gespeichert.
- Der Kollektor 64 integriert Fehlerhinweise 98 und synchrone Taktsignale 70 von den Eingangs-Taktmanagem 62, um das Zwischen-Auswahlschema zu verwirklichen. Figur 10 ist eine schematische Darstellung des Kollektors 64. Der Fließalgorithmus sucht im wesentlichen nach einem übereinstimmenden Signalpaar und schließt fehlerhafle Takte und interne Signale aus, die nur bei dem Vorliegen von Fehlern enthalten sind. Drei externe Taktsignale I, J, und K, das interne Taktsignal L und die entsprechenden Fehlerhinweise Fi, Fj, Fk und Fl für den Kollektor 64 führen zu einem möglichen Referenz- Taktsignal (CRC) 68 mit einer bestimmten Logik, wie dies durch die folgende Formel gezeigt wird:
- CRC = IJFiFj + IKFiFk + JKFjFk + Fl(Fi + Fj + Fk)(ILFi + JLFi + KLFk).
- Das Ausgangssignal 68 des Kollektors 64 kann durch Rauschen beeinträchtigt sein; daher wird das Ausgangssignal 68 als ein "möglicher" Referenztakt bezeichnet.
- Der auf der HEXAD-Einheit angeordnete Empfänger ist nahezu identisch zu dem Empfängerschaltkreis 20 innerhalb des fehlertoleranten Taktgebers. Der einzige Unterschied ist eine einfache Modifikation des Kollektors 64. Bei einem Empfänger auf der HEXAD-Einheit besitzen alle vier Taktmodule 11, 12, 13 und 14 identische Rollen bzw. werden in gleicher Weise behandelt, insofern als keine Unterscheidung eines externen/internen Taktes vorliegt. Der Auswahlalgorithmus des Kollektors für den HEXAD-Empfänger sucht somit lediglich nach einem übereinstimmenden Signalpaar. Der mögliche Referenztakt des Kollektors für den HEXAD-Empfänger wird durch die folgende Formel angegeben:
- CRC = IJFiFj + IKFiFk + ILFiFl + JKFjFk + JLFjFl + KLFkFl.
- Figur 11 ist ein Schema des Referenztakt-Managerschaltkreises 66. Der Referenz- Taktmanager 66 eliminiert z.B. Rauscheffekte aus dem möglichen Referenztaktsignal 68. Wenn eine Pegelumschaltung in dem möglichen Referenztaktsignal 68 auftritt, so macht sich das Exklusiv-ODER-Gatter 100 der Reihe nach für die nächsten fünf Zyklen des HFCLK 44 gültig. Während dieser Gültigkeitsperiode wird der mögliche Referenztakt 68 herausverriegelt, und der Eingang des Schieberegisters 102 wird mit seinem ersten Bit gesetzt. Da der Auftritt einer Referenzflanke das Vorliegen von wenigstens zwei jüngst aufgetretenen Eingangsflaiiken beinhaltet, werden alle nicht ausgefallenen Takte zu dem Zeitpunkt umgeschaltet haben, wo die mögliche Referenzflanke des Signales 68 erneut an den Referenztaktmanager 66 angelegt wird. Wenn die durch den Taktmodul gesehene zweite Taktflanke durch Rauschen beeinträchtigt wird, so tritt ein Fehler in dem möglichen Referenztaktsignal 68 vor dem Auftritt einer dritten Flanke auf Wenn ein solcher Fehler auftritt, so wird das Rausch-Prüfsignal 88 an jedem der vier Eingangstaktmanager 62 gültig gemacht. Somit werden die verrauschten Signale festgestellt und als Fehler angezeigt. Der Referenztaktmanager 66 liefert ebenfalls das späte Prüfsignal 82 an die Eingangstaktmanager 62 einige Zyklen nach einer Pegelumschaltung des Referenztaktes.
- Der Referenztaktmanager 66 liefert ebenfalls Synchronisationssignale 48 und 50 an den Taktgeneratorschaltkreis 18, ein synchrones Referenz-Taktsignal 104 an den lokalen Mikroprozessor 24 und ein asynchones Referenz-Taktsignal 76 an die vier Eingangstaktmanager 62.
- Die 100Hz- und 1 600Hz-Ausgänge des Empfängers 20 und der Generatorschaltkreise 18 werden durch Fehlerhinweise weitergegeben, die der Empfängerschaltkreis 20 liefert. Ein Taktmodul schneidet vollständig alle seine 100Hz- und 1600HZ-Ausgangssignale bei jeder der folgenden Bedingungen ab, die vorliegen, wenn der Taktmodul sich selbst als fehlerhaft feststellt oder wenn der Takt feststellt, daß die anderen drei Taktmodule fehlerhaft sind. Wenn ferner ein Taktmodul einen zweiten Taktmodul als fehlerhaft feststellt, so wird der erste Taktmodul sein 100HZ-Ausgangssignal für diesen zweiten Taktmodul abschneiden.
- Die Verbindung der vier Taktmodule 11, 12, 13 und 14, die den fehlertoleranten Takt vorgeben, kann als ein Tetraeder betrachtet werden. Das Tetraeder ist die Topologie des Schaltkreises 10. wie sie in Figur 12 gezeigt ist. Jede Kante des Tetraeders besitzt zwei von Punkt-zu-Punkt verlaufende Drähte, die ein Taktsignal in jeder Richtung von einem zu dem anderen Modul führen. wie dies in Figur 1 zuvor ebenfalls gezeigt ist.
- Wenn ein Modul einen Fehler in dem Taktsignal von irgendeinem anderen Modul feststellt, so ignoriert er nachfolgend Signale von diesem Modul und hört aul, zu diesem Modul zu senden. Die erste Maßnahme, das Ignorieren von Eingängen, entfernt im wesentlichen eine der Leitungen in einer Richtung bei der fehlertoleranten Taktkonfiguration 10. Die zweite Maßnahme, das Unterbrechen des Sendens, hat den Effekt der Erzeugung einer Fehlerfeststellung bei dem anderen Takt, der sodann die andere Leitung in einer Richtung entfernt. Wenn ein Modul sich selbst als fehlerhaft antrifft, so wird der gesamte Modul von dem System 10 entfernt, was dem Entfernen eines der Knoten, d.h. der Scheitelpunkte eines Tetraeders entspricht.
- Die Entfernung von jeder Verbindung in einer Richtung in Figur 12 entspricht dem Setzen eines Fehlerhinweises in dem Empfangsmodul. Die zwölf in Figur 12 gezeigten Verbindungen entsprechen zwölf Fehlerhinweisen. Jeder Modul besitzt ebenfalls einen Hinweis, um anzuzeigen, wenn er sich selbst als fehlerhaft angetroffen hat, was die Gesamtanzahl der Fehlerhinweise auf sechzehn bringt. Die Aufgabe der Betriebsdiagnose liegt in der Feststellung des Betriebsstatus des gesamten Taktsystems 10 durch Inspizieren von sechzehn Hinweisen.
- Wenn der vollständige Tetraeder, wie in Figur 12 intakt ist, d.h. keine Fehler festgestellt worden sind, so ist der Gesamt-Taktschaltkreis 10 wenigstens bei zwei Ausfällen betriebsfähig. Wenn wenigstens eine Fläche des Tetraeders intakt ist, wie in Figur 13 gezeigt, so ist der Gesamt-Taktschaltkreis 10 wenigstens bei einem Ausfall betriebsfähig. Wenn wenigstens eine Kante des Tetraeders intakt ist, wie in Figur 14 gezeigt, so ist der Gesamt-Taktschaltkreis 10 betriebsfähig.
- Im Betriebszustand mit zwei Ausfällen arbeiten alle vier Taktgeber 11, 12, 13 und 14 in richtiger Weise und bleiben synchronisiert. Im Betriebszustand mit einem Ausfall arbeiten wenigstens drei Taktgeber (manchmal vier) in richtiger Weise und bleiben synchronisiert. Im geringsten Betriebszustand arbeiten wenigstens zwei Taktgeber (manchmal mehr) in richtiger Weise und bleiben synchronisiert. Eine größere Anzahl von physikalischen Ausfällen in der festgestellten tolerierbaren Anzahl von Ausfällen kann auftreten, ohne daß der Schaltkreis vollständig ausfällt, insbesondere, wenn zahlreiche Fehler innerhalb eines Moduls vorliegen. Der Schaltkreis 10 ist betriebsfähig, wenn zwei Taktmodule im Dialog mit ihnen in richtiger Weise arbeiten.
- Neben den Täktsignalverbindungen besitzt der fehlertolerante Taktgeber 10 zwei andere Arten von Verbindungen, die einer fehlertoleranten Rückstellung und dem Dialog von Fehlerhinweisen zugeordnet sind. Die Verdrahtung der fehlertoleranten Rückstellung ist im wesentlichen die gleiche wie die des Taktgebers 10. Fehlertolerante Rückstellverbindungen besitzen eine Tetraedertopologie, wie in Figur 12 gezeigt.
- Figur 12 zeigt die Topologie der fehlertoleranten Rückstellverbindung. Für den Rücksteflmechanismus erzeugt irgendein Fehlerhinweis eine Wartungsbereitschaft. Diese Bereitschaft hilft die Ansammlung einer ausreichenden Anzahl von Fehlern zu vermeiden, so daß der Rückstellmechanismus ausfallen würde, was bedeutet, daß der Taktschaltkreis 10 nicht startet. Darüber hinaus muß man keine Feststellung des fehlerhaften Betriebstatus des vorliegenden Schaltkreises machen (d.h. eine Feststellung, ob der Schaltkreis bei einem Ausfall betriebsfähig ist oder lediglich fehlersicher ist) zum Zwecke der Entscheidung auf eine Verteilbereitschaft. Wenn die Rückstellung einmal aufgetreten ist, verriegeln die vier Taktmodule 11, 12, 13 und 14 das Rückstellsignal und bleiben danach unabhängig von Rückstellfehlern. Die Verriegelung ist Teil des Fehlerbereiches eines Taktmoduls, so daß die Betriebsdiagnose für die Taktverbindung die korrekte Entscheidung unter Betrachtung der Verteilbereitschaft in dem Fall vorgeben wird, wo die Verriegelungen ausfallen. Insgesamt vervollständigt die Rückstellung ihre gesamte Funktion beim Anlauf, so daß die bloße Tatsache, daß der Taktschaltkreis 10 gestartet hat, bedeutet, daß keine Verteilbereitschaft aufgrund von Problemen erzeugt werden muß, die dem Rückstellmechanismus zugeordnet sind. Wenn mehrfache Rückstellausfälle den Viererblock 10 veranlassen nicht zu starten, so wird die Verteilbereitschaft natürlich erzeugt.
- Jeder Taktmodul synchronisiert seinen fehlertoleranten Takt mit einem ausgewählten Taktsignal. Siehe Figur 15. Das ausgewählte Signal ist eine Funktion des lokalen fehlertoleranten Taktes und der drei externen Takte. Jeder Taktmodul wählt in einer Weise aus, die durch die Anzahl und die Typen der Fehler vorgegeben ist, die er festgestellt hat. Figur 15 veranschaulicht vier Fälle. Wenn im ersten Fall ein Taktmodul sich selbst und die anderen drei externen Takte für gut erklärt, so ist das ausgewählte Taktsignal der mittlere der drei externen Takte. Wenn im Fall 2 ein Taktmodul sich selbst für gut, aber einen der drei externen Takte für schlecht erklärt, so ist das ausgewählte Taktsignal das mittlere des lokalen und der zwei gesunden externen Signale. Wenn im Fall 3 ein Taktmodul sich selbst für gut, aber zwei der drei externen Takte für schlecht erklärt, so ist das ausgewählte Taktsignal das spätere Signal von dem internen und dem gesunden externen Signal. Wenn im vierten Fall ein Taktmodul enweder alle drei externen Takte oder sich selbst für schlecht erklärt, so wird kein ausgewähltes Signal erzeugt, und der Taktmodul bleibt nicht betriebsfähig.
- In einem fehlertoleranten Entwurf muß man Annahmen treffen bezüglich der Klasse der zu tolerierenden Fehler. Im Falle des fehlertoleranten Taktes gibt es zahlreiche mögliche äbliche Schaltkreisausfälle. Derartige Ausfälle umfassen physikalische Verbindungsprobleme, vollständige Ausfälle integrierter Schaltkreise, breite Klassen von Ausfällen der Ausgangs- oder Eingangspuffer, Schaltungsplatinen-Kurzschlüsse und Auftrennungen, Oszillatorausfälle, die geringe Driftabweichungen von der Spezifikation umfassen und von der Platine getrennte Spannungsversorgungsausfälle. Der Ausdruck "physikalische Einzelfehler" umfaßt irgendeinen dieser Fehler.
- Aus der Sicht des Taktschaltkreises 10 besitzen alle dieser Fehler zwei gemeinsame Charakteristiken, welche die Beobachtbarkeit und die Üblichkeit sind. Ein Fehler ist beobachtbar, wenn er zu Taktflankenbeobachtungen führt, die außerhalb einer festgelegten Toleranz sind. D.h. einer oder mehrere Taktgeber sehen einen anderen Taktgeber außerhalb der Spezifikation. Ein solches Verhalten außerhalb der Spezifikation führt zu dem Setzen eines Fehlerhinweises.
- Bezüglich der Üblichkeit kann ein einziger physikalischer Fehler zum Setzen von einem oder mehreren Fehlerhinweisen führen, wobei aber alle diese Hinweise einen Takt gemeinsam haben. Wenn beispielsweise jeder der Fehlerhinweise als eine Ausfallanschuldigung durch einen Taktgeber bezüglich des von einem anderen Taktgeber empfangenen Signales betrachtet wird, dann haben alle Fehlerhinweise von einem einzigen physikalischen Fehler einen gemeinsamen Takt. D.h. ein einzelner Taktgeber ist in allen Fällen enweder der Anchuldiger oder der Angeschuldigte. Beispielsweise können die Taktgeber 1 und 2 den Taktgeber 4 anschuldigen, während der Taktgeber 4 den Takt 2 anschuldigt. Alle Anschuldigungen betreffen hier den Takt 4 entweder als Anschuldiger oder Angeschuldigter. Figur 30 zeigt das Format des Angeschuldigten/Anschuldigers.
- Obgleich nahezu alle üblichen Fehler sowohl Beobachtbarkeit als auch Üblichkeit aulweisen, ist eine bestimmte Klasse unüblicher Fehler nicht beobachtbar. Derartige Fehler befinden sich in den internen Einzelheiten des Taktmodul-Schaltkreises, die seinen Betrieb nicht beeinflussen, aber seine weitere Betriebsfähigkeit beeinflussen können. Ein Beispiel ist der Ausfall der Fehlerhinweis-Verriegelung, welche momentan nicht gesetzt ist und ausfällt, so daß sie nicht setzbar ist. Solche Ausfälle sind latent. Latent ist ein Ausdruck, der in dem Sinn gebraucht wird daß latente Fehler nicht die Korrektheit des fehlertoleranten Taktausganges für die Außenwelt beeinflussen.
- Obgleich es nicht machbar ist, alle latenten Fehler festzustellen, werden alle der wichtigsten und wahrscheinlichen latenten Fehler festgestellt und berichtet, um die Erzeugung der Wartungs- und/oder Verteilbereitschaft zu erleichtern, wobei der Takt fehlers icher ist, so daß in dem äußerst seltenen Fall, daß verschiedene latente Fehler plötzlich infolge eines anderen Einzelfehlers aktiv werden, die Konsequenzen mit dem vorliegenden Entwurf des Taktschaltkreises 10 tolerierbar sind.
- Der fehlertolerante Takt 10 kann als vier Knoten, d.h. Taktmodule aufweisend, angesehen werden, die durch zwölf Wegstrecken, wie in Figur 12 gezeigt miteinander verbunden sind, wobei die zwölf Wegstrecken gemeinsam benutzte 100Hz-Signale beinhalten. Wenn einmal ein Taktmodul festgestellt hat, daß das von einem zweiten Taktmodul ankommende Signal fehlerhaft ist, so ignoriert der erste Taktmodul das Signal von dem zweiten Taktmodul. Dies entspricht der Entfernung einer Verbindung von dem Tetraeder, wodurch sich eine unterschiedliche Netzwerkskonfiguration ergibt. Viele der Konfigurationen des Netzwerkes 10 sind umschaltbar. Eine Übergangskonfiguration enwickelt sich in eine stabile Konfiguration bei Abwesenheit von weiteren Fehlern. Die stabile Konfiguration wird fixiert bei Abwesenheit von nachfolgenden Fehlern. Die endgültige stabile Konfiguration besitzt ebenfalls eine geringere Anzahl von Verbindungen als die ursprüngliche Übergangskonfiguration. Beispielsweise ist in Figur 1 6a die Konfiguration flüchtig. Da der Modul 4 nicht mit den Modulen 2 oder 3 einen Dialog führt, ist sein überprüfter Takt der langsamste zu empfangende Takt, wenn man ihn selbst und den Modul 1 betrachtet. Vier Taktmodule 11, 12, 13 und 14 haben das Bestreben, geringfügig voneinander in der Frequenz abzuweichen. Unter Umständen ist der Taktmodul 4 der Modul mit dem langsamsten Takt. Auch wenn der Frequenzfehler des Taktmoduls 4 gut innerhalb der Toleranz liegt, ist er auf seinen eigenen freischwingenden Taktgenerator synchronisiert. Die Module 11, 12 und 13 sind aufeinander synchronisiert, und der Modul 14 ist unter Umständen gegenüber dem Rest des Netzwerkes 10 nicht synchronisiert. Die letztere Situation ist eine endgültige stabile Konfiguration, die in Figur 16b gezeigt ist.
- Der fehlertolerante Takt 10 verwirklicht eine aktive Verbindungssteuerung. Die Taktmodule 11, 12, 13 und 14 erzwingen eine Netzwerktopologie, die nur aus bidirektionalen Wegstrecken besteht. Wenn ein Takt einen zweiten Takt als "ausgefallen" erklärt, so ignoriert er nicht nur den zweiten Takt, sondern hört auch mit der Übertragung zu diesem Taktgeber auf. Wenn somit der zweite Takt tatsächlich gesund ist, so wird er den ersten Takt als "ausgefallen" erklären; wenn der zweite Takt tatsächlich ausgefallen ist, so wird der bereits aufgehört haben, auf den ersten Takt zu hören. In jedem Fall ist das Endergebnis die Entfernung eines Paares von Netzwerkverbindungen. Die Analyse des Taktes 10 wird in hohem Maß vereinfacht, wenn alle Netzwerke mit monodirektionalen Wegstrecken eliminiert werden. Wenn einmal ein Taktmodul festgestellt hat, daß das von einem zweiten Taktmodul ankommende Signal fehlerhaft ist, so ignoriert er das Signal von dem zweiten Modul. Dies entspricht der Entfernung einer Verbindung von dem Netzwerk.
- Wenn mehrfache Ausfälle betrachtet werden, so gibt es 4.096 mögliche Schaltkreiskonfigurationen. Eine Fokussierung auf Konfigurationen mit nur bidirektionalen Wegstrecken eliminiert das Erfordernis, eine große Anzahl von Netzwerktopologien zu analysieren, die monodirektionale Wegstrecken beinhalten, wie jene in den Figuren 17a, b und c.
- Wenn monodirektionale Wegstrecken auftreten, so können einige Konfigurationen, die flüchtig sind, zu einem Totalausfall des Systems 10 führen. Beispielsweise können in Figur 18a bei Vorgabe der richtigen Zufallsparameter die Takte 1 und 2 durch den Takt 3 aus der Synchronisation gesteuert werden, was zu einem Gesamtausfall des Taktsystems 10 führt.
- Andererseits ist die Konfiguration von Figur 18b stabil; bei Abwesenheit weiterer Ausfälle bleiben die Taktmodule 11 und 12 miteinander synchronisiert. Tatsächlich sind alle Konfigurationen, die exklusiv bidirektionale Verbindungen besitzen, entweder stabil oder führen zu einer stabilen arbeitsfahigen Taktkonfignration. Das Beispiel von Figur 1 8a ist ungewöhnlich. In den meisten Fällen destabilisieren monodirektionale Verbindungen nicht den Takt bzw. verändern seinen Betriebsstatus.
- Da es 4.096 Netzwerkkonfigurationen gibt, verbietet die Rechenzeit den Test dieser vielen Topologien. Viele der Konfigurationen sind jedoch äquivalent. Beispielsweise sind die drei Konfigurationen von Figuren 19a, b und c äquivalent. Um die Äquivalenz zu erhalten, sind die Taktmodule während einer vierdimensionalen Drehung der darüberliegenden Netzwerktopologie aufgezeichnet worden. Da somit die drei Schaltkreise von Figuren 19a, b und c äquivalent sind, muß nur einer getestet werden. Ebenfalls werden alle Topologien eliminiert, die monodirektionale Wegstrecken besitzen. Somit verbleiben nur 10 eindeutige Schaltkreise, und alle können innerhalb einer vernünftigen Zeit getestet werden. Figur 20 zeigt die zehn bidirektionalen Schaltkreiskonfigurationen. Die Konfiguration 1 von Figur 20 ist stabil; beim Sperren irgendwelcher Fehler bleiben alle vier Taktmodule miteinander auf unbestimmte Zeit synchronisiert. Die Konfiguration 2 ist stabil. Die Konfiguration 3 ist flüchtig und geht in die Konfiguration 5 über, welche stabil ist. Die Konfiguration 4 ist flüchtig und geht zu einer stabilen Konfiguration 9 oder 10 entsprechend über. Die Pfeile zwischen den Konfigurationen 3 bis 5, 4 bis 9 und 10, 6 bis 10, 7 bis 9 und 10 und 8 bis 10 zeigen die Übergänge von den flüchtigen zu den stabilen Konfigurationen an.
- Die Taktkonflgurationen ktnnen in Katagorien unterteilt werden entsprechend dem Pegel der Fehlerabdeckung. Die Konfigurationen 4, 6, 7, 8, 9 und 10 sind einen einzigen Fehler von dem Ausfall des Systems 10 entfernt. Daher sind diese Konfigurationen einfach betriebsfähig und fehlersicher. Die Konfigurationen 2, 3 und 5 sind wenigstens zwei Fehler von dem Ausfall des Systems 10 entfernt. Somit sind diese drei Konfigurationen bei einem Ausfall betriebsfähig. Die Konfiguration list die einzige Konfiguration, die bei zwei Ausfällen betriebsfähig ist. Zusammenfassend ist irgendeine Konfiguration, welche einen vollständigen Tetraeder enthält, bei zwei Ausfällen betriebsfähig oder wenn sie eine vollständige Fläche eines Tetraeders enthält, bei einem Ausfall betriebsfähig oder wenn sie eine Kante eines Tetraeders enthält, betriebsfähig und fehlersicher.
- Figur 21 zeigt einen Taktschaltkreis, der sich zu zwei nicht-benachbarten Kanten entwickelt hat und als eine aufgebrochene Paarkonfiguration angesehen wird. Diese Konfiguration ist stabil in dem Sinne, als jedes Paar von Takten synchronisiert bleibt und sich die Gesamt-Taktkonflguration nicht verändert. Die zwei Paare von Takten sind jedoch nicht verbunden und bleiben nicht aufeinander synchronisiert. Gewöhnlicherweise gibt es ein schnelleres Paar von Takten und ein langsameres Paar. Wenn die zwei Paare von Takten weit voneinander wegdrifien, ist es erforderlich, daß eines der zwei Paare als "korrekt" für die aufrechtzuerhaltende Systemsynchronisation angesehen wird. Der Empfänger der Takte kann das erste Paar als das früheste annehmen und die zwei langsamen Module herauswahlen. Fehler können das Empfangssystem veranlassen, statt dessen das zweite Paar von Takten zu verfolgen.
- Der Betriebsdiagnoseschaltkreis 17 ist neu im Hinblick auf die Kombination des Taktphasenschaltkreises 122 den Transmitter 126 mit Leitungstest-Signalerzeugung, den Fehlerhinweis-Empfänger 128 und die Fehlerhinweis-Permanentverriegelung 130, welche zu der Fähigkeit führen, den fehlertoleranten Status zu sammeln. Die Diagnoseeinrichtung 17 besitzt ebenfalls eine verzweigungsfreie Kombinationslogik für den Schluß auf den Betriebsstatus. Die Figuren 22-28 zeigen den Fehlerhinweis-Dialogschaltkreis 17 des Systems 10. Figur 22 ist ein funktionelles Blockdiagramm des Fehlerhinweis-Schaltkreises 17; Figur 23 ist ein Zeittaktdiagramm; Figuren 24a und b gehören zu der Taktphaseneinrichtung 122; Figur 25 ist ein Schema eines Hinweis-Dialogtransmitters 126; Figuren 26a und b sind Schemen eines Fehler-Hinweis-Dialogempfangers 128; Figur 27 ist ein Schema der Fehler-Hinweis-Dialogleitungsausfall-Feststelleinrichtung 134; und die Figuren 28a und b sind Schemen des Fehler-Hinweis- Permanentverriegelungsschaltkreises 130.
- Fehlerhinweise werden von jedem Modul zu jedem anderen Modul übertragen. Das Multiplexen aller Hinweise in die gleiche Leitung fülrt zu zwölf unidirektionalen Punkt- zu-Punkt-Verbindungen zwischen den Modulen. Um die Module tatsächlich identisch zu machen (ohne ihren Schlitz in der Kartenaufhahme zu berücksichtigen), müssen die Module ebenfalls ihre eigenen Fehlerhinweise zu sich selbst von der Platine und zurück übertragen, was zu einem Erfordernis nach einer Gesamtheit von sechzehn Punkt-zu- Punkt-Verdrahtungen für einen Fehlerhinweis-Dialog führt.
- Jeder Modul hat acht Hinweise zu übertragen. Unter Verwendung des verfügbaren synchronisierten 1600Hz-Signales übertragen die Module acht Bits während einer Hälfte der Periode von 100Hz. Zeittakteinzelheiten des Dialogs unter Verwendung von ansteigenden und abfallenden Flanken des 1600Hz-Taktes garantieren, daß der Dialog des Fehlerhinweises störungsfrei ist. Die andere Hälfte der Periode von 100Hz wird verwendet, um den Logikpegel entsprechend vorliegender Fehler zu übertragen. Auf diese Weise kann der Empfänger die Fähigkeit der Dialogleitung, gesetzte Fehlerhinweise zu übertragen, überwachen. Wenn eine Leitung nicht in der Lage ist, einen vorliegenden Fehlerhinweis zu übertragen, so nimmt der Empfangsschaltkreis an, daß ein Fehler vorliegt. Diese Anhahme hat den erwünschten Effekt, daß der Dialog zwischen den zwei Taktmodulen als fehlerhaft bezeichnet wird, wenn sie tatsächlich fehlerhaft sind.
- Das Fehlerhinweis-Dialogsystem ist fehlertolerant, da die Fehlerhinweise normalerweise in Paaren ankommen, die Auswertung des Betriebsstatus konservativ sein kann, die Hinweis- Dialogfehler mit hoher Wahrscheinlichkeit festgestellt werden und der Fehlerhinweis- Dialog vierfach redundant ist.
- Wenn ein Fehlerhinweis gesetzt worden ist, hört ein Modul, der den Hinweis setzt, auf, seinen Takt zu dem anderen Modul zu übertragen. D.h. die gesamte bidirektionale Verbindung zwischen den Modulen wird entfernt. Im Normalbetrieb wird sodann der zweite Modul die Entfernung der Verbindung bemerken, und es wird ein zweiter Fehlerhinweis gesetzt. Wenn dies geschieht, muß nur einer der zwei Hinweise erfolgreich zu den anderen Modulen übertragen werden, damit die richtige Diagnoseentscheidung getroffen werden kann, da der Betriebsstatus nur von vollständigen Flanken abhängt.
- Eine Aufgabe der Betriebsdiagnose liegt darin, nur festzustellen, was gewiß ist. Wenn der Dialog von Fehlerhinweisen fehlerhaft ist, so kann die Diagnoseeinrichtung sich nicht über die Betriebsfähigkeit der Taktverbindungen zwischen zwei Takteinheiten vergewissern, so daß die Diagnoseeinrichtung annehmen kann, daß die Verbindungen fehlerhaft sind. Es ist nicht erforderlich, daß der wahre Status der Hinweise bekannt ist. Es muß nur bekannt sein, daß man sich auf die entsprechenden Verbindungen in der Takttopologie nicht verlassen kann. Die Katagorieeinteilung des Betriebsstatus (vollständige Flanke, vollständige Fläche, vollständiger Tetraeder) beinhaltet, was als arbeitsfähig bekannt ist, und nicht was als ausgefallen bekannt ist.
- Die zwei Arten von Fehlern sind ein "gesetzter Hinweis", der mitgeteilt wird, wenn der Hinweis nicht gesetzt ist und ein "nicht gesetzter Hinweis", der mitgeteilt wird, wenn der Hinweis tatsächlich gesetzt ist. Die Wahrscheinlichkeit der letzteren Situation ist gering aufgnind der fortgesetzten Uberprüfung der Fähigkeit der Dialogverbindunglogikpegel, entsprechend einem gesetzten Hinweis zu senden. Tatsächlich umfaßt ein solches Testen der Dialogverbindung 50% der Aktivität der Verbindung. Bei einem Ausfall, wobei der schlimmste Fall angenommen wird, wird angenommen, daß alle Hinweise gesetzt sind. In gleicher Weise wird, wenn ein gesetzter Hinweis übertragen wird und der tatsächliche Hinweis nicht gesetzt ist, als Folge ein Hinweis des Dialogfehlers gegeben, der den Übertragungsmodul betrifft. Da die Charakterisierung des Betriebsstatus beinhaltet, was als arbeitsfähig bekannt ist und nicht was als ausgefallen bekannt ist, tritt die Dialogfehler- Feststellung durch Setzen von Hinweisen in Aktion, wenn sie im Zweifel ist.
- Der Takt ist vierfach redundant und das Empfangssystem des Taktes wählt den Ausgang der verschiedenen Prozessorplatinen aus. Wenn ein einzelner Fehlerhinweis-Empfanger Probleme hat und Hinweise setzt, so kann der entsprechende Prozessor gegenüber den anderen Prozessoren eine unterschiedliche Statusauswertung ausführen. Das Empfangssystem des Taktes wird korrekt die fehlerhafte Prozessorplatine aufrufen und es wird eine Wartungsbereitschaft erzeugt. Wenn ein einzelner Fehlertransmitter Probleme besitzt, werden alle Empfänger Hinweise setzen. Diese Hinweise werden einen einzigen Modul gemeinsam betreffen, d.h. den Sendemodul. Alle Module werden die gleiche Betriebsstatus-Information aufhehmen, und es wird durch alle auf die gleiche Platine eingewirkt. Erneut wird eine Wartungsbereitschafi erzeugt, was der geeignete Schritt ist, wenn der Schaltkreis nicht richtig arbeitet.
- Vier getrennte Prozessoren können vier getrennte Versionen der angesammelten 32 Fehlerhinweise sehen, um den Betriebsstatus des Taktschaltkreises 10 festzustellen. Die Auswertung besteht aus Bool'schen Logikausdrücken. Wenn jeder Prozessor den gesamten Bool'schen Logikausdruck auswertet, so gelangt er zu der richtigen Statusentscheidung ohne Verzweigung. Die fehlende Verzweigung ermöglicht den vier Prozessoren, die Auswertung in der gleichen Anzahl von Maschinenzyklen zu vervollständigen.
- Für die Auswertung des Rückstell-Fehlerstatus werden die 16 Rückstell-Fehlerhinweise einer logischen ODER-Verknüpfung zusammen unterzogen, um einen Rückstell-Wartungsbereitschafts-Hinweis zu erzeugen.
- Ein Verdrahtungsschema für die vier Taktmodule ist eine von verschiedenen Lösungen für die Verbindungen. In dieser Beschreibung sind verschiedene Definitionen enthalten. "Karten-Positionsnummer" oder "Absolut-Nummer" ist die Zahl des Taktmodules gemaß seiner Kartenposition. D.h. die Absolut-Nummer eines Taktmoduls auf der Karte in der vierten Position ist die Nummer 4. "Relativ-Nummer" ist die Zahl eines Taktmoduls, wie er durch einen anderen Taktmodul gesehen wird. Jeder Modul besitzt Eingangsstifte für die Signale von anderen Taktmodulen. Das Signal, das an dem ersten Eingang des Moduls ankommt, kann von dem Modul 3 kommen. Wenn dies so ist, so wird der Modul 3 durch den Modul 2 als Taktgeber mit der Nummer 1 angesehen. D.h. die Nummer des Moduls 3 bezogen auf den Modul 2 ist die Nummer 1. Figur 29 zeigt die Korrespondenz zwischen der absoluten Numerierung und der relativen Numerierung. Diese Korrespondenz bildet eine Definition der Verbindungsverdrahtung.
- Die Fehlerhinweis-Ordnung entspricht dem relativen Numerierungsschema. Wenn beispielsweise der Modul auf der Karten-Nummer 1 einen Fehler bei seinem zweiten Takteingang findet, so setzt er seinen zweiten Fehlerhinweis, was gemäß Figur 29 bedeutet, daß der Modul auf der Karte 1 einen Fehler bei dem Signal anzeigt, das von dem Modul auf der Karte 3 empfangen wird (aufgrund des "3/2"-Einganges in den relevanten Block von Figur 29).
- Das Fehlerhinweis-Dialogsystem sammelt die 16 Fehlerhinweise. Die gesammelten 16 Hinweise sind in der gleichen Reihenfolge für alle vier Taktmodule. Die vier Bit von der Karte 1 sind die ersten vier Bits des Wortes mit 16 Bit, die vier Bits von der Karte 2 sind die nächsten vier Bits usw. Dieses Format zeigt an, wo fehlerhafte Bits herkommen, und Figur 29 beschreibt welche Karte basierend auf der Bitposition betroffen ist und wo die Fehlerbits herkommen, was die Bedeutung der 16 Fehlerhinweise ergibt, wie sie in Figur 30 gezeigt sind.
- Jeder Fehlerhinweis beinhaltet einen Ankläger und einen Angeklagten. Für jedes in Figur 30 gezeigte Bit zeigt der Zähler den angeklagten Takt und der Nenner zeigt den anklagenden Takt. Figur 30 liefert die Information für die Anzeige der Bool'schen Logikausdrücke für den Betriebsstatus des Schaltkreises basierend auf dem vollständigen Tetraeder, der vollständigen Fläche und einer vollständigen Kante des Takt-Tetraeders in Figur 12. fi soll das i.te Bit des Fehlerhinweis-Wortes mit 16 Bit bezeichnen. f; soll das Komplement von f; bezeichnen. "+" stehe für ODER, und "." stehe für UND. Der Status mit Betriebsfähigkeit bei zwei Ausfällen, welcher einem vollständigen Tetraeder entspricht kann als F2FO bezeichnet werden und ist vorgegeben durch:
- S2FO = f&sub1;≥f&sub2;≥f&sub3;≥f&sub4;≥≥≥≥f&sub1;&sub6;.
- Es ist erforderlich, daß sich die Takte nicht selbst als fehlerhaft ergeben. Ein Status mit Betriebsfähigkeit bei einem Ausfall entspricht demjenigen, bei dem eine vollständige Fläche auf dem Tetraeder vorliegt. Das Tetraeder besitzt vier Flächen; man muß nur die Vollständigkeit der vier Flächen getrennt prtilen und sie einer ODER-Verknüpfung unterziehen, um den logischen Wert der Betriebsfähigkeit bei einem Ausfall zu erhalten. Die Vollständigkeit der Fläche beinhaltet die Takte 2, 3 und 4 und kann mit SF234 bezeichnet werden, was durch folgenden Ausdruck vorgegeben ist:
- SF1234 = f&sub5;≥f&sub6;≥f&sub8;≥f&sub9;≥f&sub1;&sub1;≥f&sub1;&sub2;≥f&sub1;&sub4;≥f&sub1;&sub5;≥f&sub1;&sub6;.
- D.h. alle Bits in dem Fehlerhinweis-Wort werden zusammen einer ODER-Verknüpfung unterzogen mit Ausnahme jener, die den Modul betreffen, der von der Fläche ausgeschlossen ist. Die anderen Flächenauswertungen erfolgen analog. Eine Betriebsfähigkeit mit einem Ausfall ist nunmehr gegeben durch SlFO = SF234 + SF134 + SF124 + SF123. In gleicher Weise wird die Vollständigkeit der Flanke zwischen den Takten 1 und 2 mit SE12 bezeichnet und ist wie folgt vorgegeben:
- SE12 = f&sub1;≥f&sub4;≥f&sub7;≥f&sub8;
- Sodann ist der fehlersichere Betriebszustand wie folgt vorgegeben:
- SOP = SE12 + SE13 + SE14 + SE23 + SE24 + SE34
- Die vorliegende Betriebsdiagnose beinhaltet keinen speziellen Modul als fehlerhaft. Sie gibt lediglich die minimale garantierte Fehlertoleranz des Taktschaltkreises 10. Andere Arten von Diagnosen, wie beispielsweise Wartungsdiagnosen, müssen eine Fehlerisolierung ausführen, was hier nicht geschehen ist.
- Zusammenfassend ist die Erfindung ein gegen Mehrfachfehler sicheres fehlertolerantes Taktsystem 10 mit mehreren identischen Modulen 11, 12, 13, 14. Jeder Modul besitzt eine Takteinheit 115, wobei die Takteinheit 115 einen Empfanger 20 und einen Generator 18 enthält. Jeder Modul besitzt ebenfalls eine Rücksetzeinrichtung 16, die an die Takteinheit 115 angeschlossen ist, flir die Vorgabe eines fehlertoleranten gleichzeitigen Anlaufs und eine Betriebs-Diagnoseeinrichtung 17, die für jeden Modul 11, 12, 13, 14 an die Takteinheit 115 und die Rücksetzeinrichtung 16 angeschlossen ist, um Fehlerinformation über die Takteinheit 115 der mehreren Module 11, 12, 13, 14 (in einem fehlertoleranten Modus) zu sanmeln.
- Die Takteinheit 115 von jedem Modul 11, 12, 13, 14 besitzt zwei Punkt-zu-Punkt- Verbindungen zu der Takteinheit 115 eines jeden anderen Moduls der Vielzahl von Modulen 11, 12, 13, 14. Die Rucksetzeinrichtung 16 einesjeden Moduls 11,12, 13, 14 besitzt zwei Punkt-zu-Punkt-Verbindungen zu der Rückstelleinrichtung 16 eines jeden anderen Moduls der Vielzahl von Modulen 11, 12, 13, 14. Die Betriebsdiagnoseeinrichtung 17 eines jeden Moduls besitzt zwei Punkt-zu-Punkt- Verbindungen zu der Betriebsdiagnoseeinrichtung 17 eines jeden anderen Moduls der Vielzahl von Modulen 11, 12, 13, 14. Der Empfänger 20 einer jeden Takteinheit 115 besitzt mehrere Eingangs-Taktmanager 62, die an Punkt-zu-Punkt-Verbindungen einer jeden Takteinheit 115 angeschlossen sind, um den jüngst zurückliegenden Verlauf der Eingangstakte zu speichern und eine Fehlerfeststellung durchzuführen. Der Kollektor 64, der an die mehreren Eingangs-Taktmanager 62 des Empfängers 20 einer jeden Takteinheit 115 angeschlossen ist, erzeugt ein mögliches Referenz-Taktsignal, wobei das Referenz- Taktsignal ein fehlertolerantes Taktsignal mit entfernten Fehlern ist. Ein Referenz- Taktmanager 66, der an den Kollektor 64 und die mehreren Eingangs-Taktmanager 62 des Empfängers 20 und an den Generator 18 angeschlossen ist, erzeugt ein fehlertolerantes Referenz-Takteingangssignal 118, Synchronisationssignale 48, 50 und Fehlerprüf- Zeittaktsignale 76, 82, 88, wobei die Zeittaktsignale einen Zeitpunkt vorgeben, bei der die mehreren Eingangs-Taktmanager 62 einen Fehler prüfen sollten.
- Der Generator 18 besitzt einen ersten Zähler 56 für die Aufhalune der Synchronisationssignale 48, 50 von dem Empfänger 20, zur Rücksetzung eines Takt- Freigabemechamsmus, zur Herunterteilung eines Hochfrequenz-Taktsignales und zur Selbstladung, falls befohlen; ein zweiter Zähler 58, der an den ersten Zähler 56, an den Takt-Freigabemechanismus und die Rücksetzeinrichtung 16 angeschlossen ist, empfängt Synchronisationssignale 48, 50 von dem Empfänger 20 und dient der Erzeugung der 1600Hz- und 100Hz-Signale 54 und 52; und eine Kombinationslogik 116 ist an die ersten und zweiten Zähler 56, 58 des Generators 18 angeschlossen, um Synchronisationssignale 48, 50 von dem Empfänger 20 zu empfangen und den Fehler eines niedrigen externen Hochfrequenz-Taktes festzustellen, der in der Takteinlieit 115 benutzt wird und ein Niedrig-Fehlersignal 146 an die Eingangs-Taktmanager 62 zu übertragen.
- Die Rücksetzeinrichtung 16 bzw. die Taktfreigabe 16 (Figur 5) besitzt eine Kombinationslogik 106 für die Erzielung eines Betriebs bei zwei Ausfällen bzw. eine fehlersichere Auslösung, eine Zwei-aus-Vier-Auswahllogik mit mehreren Eingängen, die an die drei externen Taktfreigaben 37, 38, 39 von anderen Taktmodulen angeschlossen sind und mit Ausgängen zur Vorgabe einer Taktfreigabe 28 an andere Taktmodule, und eine interne Taktfreigabe 30 außerhalb des fehlertoleranten Taktes, welche eine Rücksetzung bei früher Spannungseinschaltung und eine Bereitschaft bei Spannungseinschaltung ist. Die Rücksetzeinrichtung 16 besitzt ebenfalls eine Rücksetzverriegelung 110 zur Synchrom sierung der Taktfreigabe 30 mit einem Kristalloszillator des Moduls und zur Verriegelung des Taktes im eingeschalteten Zustand, um den Takt während der eingeschalteten Spannung zu halten und die mit einem ersten Eingang an den Ausgang 30 der Einrichtung 16 angeschlossen ist und mit einem zweiten Eingang an eine interne Taktrückstellung 112 angeschlossen ist. Der Rücksetzfehler- Feststellogikschaltkreis 108 ist in gleicher Weise Teil der Rücksetzeinrichtung 16 und dient der Feststellung von Hardware- und Dialogfehlern betreffend die Rücksetzsignale zur Rücksetzung des Gesamttaktes (arbeitet für alle Module zusammen - setzt die Gesamtsammlung der Takte zurück) und besitzt an die Taktfreigaben 37, 38, 39 von anderen Modulen angeschlossene Eingänge und ist an einen nicht-flüchtigen Speicher 120 angeschlossen, der einen vorangegangenen Fehler-Verriegelungszustand aufzeichnet und besitzt Ausgänge mit Fehlerhinweis-Signalen, die an einen Betriebs-Diagnoseschaltkreis angeschlossen sind und einen Eingang, der an eine interne Taktrückstellung angeschlossen ist, welcher eine frühe Taktrückstellung darstellt (die frühe Taktrttckstellung geht einer Spannungseinschaltbereitschafi voraus, wie zuvor erwahnt).
- Die Betriebs-Diagnoseeinrichtung 17 oder das Fehlerhinweis-Dialogsystem 17 ist in Figur 22 zusammen mit der Takteinheit 15 gezeigt. Figur 23 zeigt ein Impuls-Zeittaktdiagramm der Taktsignale und Signale der Fehlerhinweis-Dialogeinrichtung 17. Die Betriebs- Diagnoseeinrichtung 17 (Figuren 22-29) besitzt einen Taktphasenschaltkreis 122 (Figuren 22 und 24) für die Erzeugung eines zusätzlichen Taktsignales 124 geringfügig außer Phase gegenüber dem fehlertoleranten Taktausgang 52 des gleichen Moduls (d.h. der Schaltkreis ist insofern spezialisiert als er sowohl hohe als auch niedrige Frequenzen benutzt - es gibt ein Erfordernis nach einer höheren Taktfrequenz für den Taktausgang des fehlertoleranten Moduls), wobei sie Eingänge besitzt, die an beide Frequenzen 52, 54 von dem Modul angeschlossen sind und die an die synchrone Taktfreigabe 29 von dem Rücksetzschaltkreis 110 angeschlossen sind. Der Phasenschaltkreis 122 ist ein Flip-Flop, das auf die Anstiegsflanke des 1600Hz-Taktes wartet und eine 1/32-Zyklusverzögerung an den 100Hz-Takt liefert.
- Die Betriebs-Diagnoseeinrichtung besitzt ebenfalls einen Fehlerhinweis-Dialogtransmitter 126 (Figuren 22 und 25) für die Übertragung eines Fehlerhinweis-Status von dem Taktmodul 11, beispielsweise zu der Betriebs-Diagnoseeinrichtung 17 der anderen Module 12, 13, 14 - eine Taktrückstellung, welche Hinweise verarbeitet - wobei jeder Modul 11, 12, 13, 14 acht Hinweise unabhängig von den anderen besitzt und jeder der Module 24 Hinweise plus seine eigenen acht Hinweise, vier Takthinweise und vier Rücksetzhinweise - einer von jedem Modul - wobei jeder Hinweis eine Meinung des Moduls von den anderen Modulen einschließlich sich selbst (4 + 4 x 4) ist, und wobei seine eigenen Modul- Eingänge an die Ausgänge des Taktphasenschaltkreises 122 und an Fehlerhinweise angeschlossen sind, die von dem Rücksetzschaltkreis 16 und dem Takt-Empfängerschaltkreis 20 kommen. Der Transmitter 126 besitzt einen Ausgang, der serielle Daten an andere Betriebs-Diagnoseschaltkreise 17 der anderen Module ausgibt, und jeder Hinweis besitzt eine Funktion zur Erzeugung von Leitungs-Testsignalen, welches Ausgänge sind, die dem Empfänger 128 ermöglichen, ein Problem mit der Dialogleitung festzustellen. Diese Ausgänge sind während 50% der Zeit durch die Dialogleitung besetzt, wobei die Dialogleitung als betriebsfähig angenommen wird, wenn sie nicht benutzt wird.
- Der Fehlerhinweis-Empfänger 128 (Figuren 22 und 26) ist ebenfalls Teil der Betriebs- Diagnoseeinrichtung 17 und dient der Umwandlung serieller Fehlerhinweisdaten in parallele Hinweisdaten (um die Fehlerhinweise gleichzeitig für die Kombinationslogik 132 zur Verarbeitung verfügbar zu machen). Der Empfänger 128 besitzt Eingänge, die an die Ausgänge der Fehlerhinweis-Dialogtransmitter 126 an allen Modulen und an den Taktphasenschaltkreis 122 an dem gleichen Modul angeschlossen sind, und er besitzt Ausgänge mit parallelen Fehlerhinweisen, die an eine 32-Bit-Fehlerhinweis-Verriegelung 130 (Figuren 29, 30) angeschlossen sind. Der Leitungsausfall-Feststellschlaltkreis 134 (Figuren 22 und 27) dient der Feststellung, wann Fehlerhinweis-Dialogleitungen nicht in der Lage sind, Fehlerhinweise zu übertragen. Eingänge der Logik 132 sind an parallele Fehlerhinweise von dem Fehlerhinweis-Empfänger 128 und an ein Taktsignal (100Hz- Taktsignal - ein fehlertolerantes Taktsignal in dem Modul) von dem Taktphasenschaltkreis 122 angeschlossen. Die Ausgänge der Master/Slave-Flip-Flops 136 sind Leitungs- Ausfallhirnveise an die Hinweisverriegelung 130 in dem Modul.
- Die Fehlerhinweis-Verriegelung 130 (Figuren 22 und 28) dient dem Mischen der Leitungs- Ausfallhinweise und der parallelen Fehlerhinweise zur Erzeugung eines permanentverriegelten 32-Bit-Fehlerhinweis-Wortes. Die Eingänge der Verriegelung 130 sind die Leitungs-Ausfallhinweise von dem Leitungsausfall-Detektorschaltkreis 134 und die parallelen Fehlerhinweise von dem Fehlerhinweis-Empfänger 128 und der fehlertolerante 100Hz-Takt von dem Taktphasenschaltkreis 122. Die Fehlerhinweis- Verriegelung 130 gibt ein 32-Bit-Fehlerhinweis-Wort an den Mikroprozessor 24 oder an die Kombinationslogik aus (verwirklicht in Hardware, Firmware oder Software gemäß einer Bool'schen Logik, wie in den zuvor angegebenen Ausdrücken gezeigt, die dem Taktsysteni und dem Takt-Rücksetzmechanismus einen Betriebsmodus mit zwei Ausfällen, einen Betriebsmodus mit einem Ausfall oder einen Betriebsmodus mit keinem Ausfall entsprechend zeigt), wobei jeder Modul 11, 12, 13, 14 sein eigenes 32-Bit-Wort besitzt.
- Figur 31 a zeigt die Logik 142 für sechzehn Eingänge des Taktfehlerhinweises (FFCL) und mit dem Ausgang S2FO. Wenn S2FO = list, so ist das Taktsystem betriebsfähig bei zwei Ausfällen. Figur 31b zeigt die Logik 144 für sechzehn Eingänge des Rücksetzfehlerhinweises (FFRL) und dem Ausgang SR2FO. Wenn SR2FO = 1 ist, so ist der Takt-Rücksetzmechanismus betriebsfähig bei zwei Ausfällen. Das Fehlersystem für den Anlauf bzw. der Rücksetzmechanismus ist unterschiedlich von dem Fehlersystem für den Takt.
- Figur 31c ist die Logik für die Taktfehler-Hinweiseingänge, welche für einen Ausgang S1FO benutzt werden. Wenn SlFO = 1 ist, so ist das Taktsystem zumindest bei einem Ausfall betriebsfähig. FFCLi stellt das i.te Element es 16-Bit-Wortes FFCL dar, dessen Aufbau in Figur 30 gezeigt ist. Figur 31 d ist die Logik für die Rücksetz-Fehlerhinweiseingänge, welche für einen Ausgang SRlFO benutzt werden. Wenn SRlFO = list, so ist der Rücksetzschaltkreis zumindest bei einem Ausfall betriebsfähig. Der i.te Ausdruck von FFRLi repräsentiert das i.te Element des 16-Bit-Wortes FFRL. Figur 31c ist die Logik für die Takt-Fehlerhinweiseingänge, welche für einen Ausgang SOP benutzt werden. Wenn Sop = 1 ist, so ist das Taktsystem zumindest betriebsfähig und fehlersicher. Figur 31 f ist die Logik für die Fehlerhinweiseingänge des Rücksetzschaltkreises, welche für einen Ausgang SRop benutzt werden. Wenn SRop = 1 ist, so ist der Takt-Rücksetzmechanismus bzw. der Schaltkreis wenigstens betriebsfähig und fehlersicher.
Claims (3)
1. Auch gegen Mehrfachfehler sicheres, fehlertolerantes Taktgebersystem (10) mit
mehreren Taktgebermodulen (11, 12, 13, 14), von denen jeder eine Taktgebereinheit
(115) mit Taktempfänger (20) sowie hieran angeschlossenem Taktgenerator (18) und
ferner eine an den Taktempfänger (20) und den Taktgenerator (18) angeschlossene
Rücksetzschaltung (16) aufweist, wobei
a) das Taktgebersystem (10) umfaßt:
a1) einen ersten Taktgebermodul (11);
a2) einen an den ersten Taktgebermodul (11) angeschlossenen zweiten
Taktgebermodul (12);
a3) einen an den ersten Taktgebermodul (11) sowie den zweiten Taktgebermodul
(12) angeschlossenen dritten Taktgebermodul (13); und
a4) einen an den ersten (11), den zweiten (12) sowie den dritten Taktgebermodul
(13) angeschlossenen vierten Taktgebermodul (14);
b) die Rücksetzschaltung (16) jedes Taktgebermoduls (11, 12, 13, 14) zum
fehlertoleranten gleichzeitigen Starten der Taktgebereinheiten (115) ferner an
jeden anderen Taktgebermodul angeschlossen ist;
c) in jeder der Taktgebereinheiten (115) der Taktempfänger Synchronisiersignale an
den Taktgenerator (18) dieser Taktgebereinheit gibt;
d) jeder Taktgebermodul (11, 12, 13, 14) eine an den Taktempfänger (20) sowie die
Rücksetzschaltung (16) jedes anderen Taktgebermoduls angeschlossene
Betriebsdiagnoseeinrichtung (17) aufweist; wobei
e) jeder Taktempfänger (20) umfaßt;
e1) mehrere an die Taktgebereinheit (115) jedes Taktgebermoduls (11, 12, 13,
14) angeschlossene Eingangstaktmanager (62);
e2) einen an die Eingangstaktmanager (62) angeschlossenen Kollektor (64) zum
Erzeugen eines Kandidaten-Bezugstaktsignals (68), welches ein von Fehlern
befreites fehlertolerantes Taktsignal ist; und
e3) einen an den Kollektor (64), die Eingangstaktmanager (62) sowie den
Taktgenerator (18) seiner Taktgebereinheit angeschlossenen
Bezugstaktmanager (66) zum Erzeugen eines fehlertoleranten Bezugstakt-
Eingangssignals, von Synchronisiersignalen und von Fehlerprüf-
Zeitgabesignalen, wobei diese Zeitgabesignale eine Zeit bestünnien,, zu der
die Eingangstaktmanager (62) eine Fehlerüberprüfling durchführen;
f) jeder Taktgenerator (18) umfaßt;
f1) einen an den Bezugstaktnager (66) und die Rücksetzschaltung (16) seiner
Taktgebereinheit angeschlossenen ersten Zähler (56) zum Herabteilen eines
Hochfrequenzsignals;
f2) einen an den ersten Zähler (56), die Rücksetzschaltung (16) und den
Bezugstaktmanager (66) seiner Taktgebereinheit angeschlossenen zweiten
Zähler (58) zum Erzeugen von Signalen mit bestimmten Frequenzen; und
f3) eine an die ersten und zweiten Zähler, die Eingangstaktinanager (62) und den
Bezugstaktanager (66) angeschlossene Kombinationslogik (116) für den
Empfang wenigstens eines Syrichronisiersignals vom Bezugstaktmanager
(66) sowie zum Detektieren eines langsamen Fehlers in einem externen
Hochfrequenzsignal;
g) die Rücksetzschaltung (16) umfaßt:
g1) eine an die Rücksetzscbaltung (16) jedes Taktgebermoduls (11, 12, 13, 14)
angeschlossene zweite Kombinationslogik (106) zum Erzeugen von
Taktaktivierungssignalen flir die Rücksetzschaltung (16);
g2) eine an den Taktempfllnger (20) angeschlossene Rücksetzverriegelung (110)
zum Synchronisieren der Rücksetzschaltung (16) mit einem Oszillator und
zum Verriegeln der Taktgebereinheit (115) im Einschaltzustand; und
g3) eine an die zweite Kombinationslogik (106), die Rücksetzverriegelung (110)
sowie den Taktempfänger (20) angeschlossene Rücksetzfehler-Detektorlogik
(108) zum Detektieren von Fehlern der Rücksetzschaltung (16), wobei die
Rücksetzfehler-Detektorlogik an die Rücksetzschaltungen (16) aller anderen
Taktgebermodule angeschlossen ist.
2. Taktgebersystemnachanspruchl, dadurch gekennzeichnet, daß die
Betriebsdiagnoseeinrichtung (17) umfaßt:
a) eine an den Taktgenerator (18) und die Rücksetzschaltung (16) angeschlossene
Taktphasen-Verschiebeeinrichtung (122) zum Erzeugen eines zusätzlichen
Taktsignals, welches in bezug auf das fehlertolerante Taktsignal leicht
phasenverschoben ist;
b) einen an die Rücksetzschaltung (16), die Taktphasen-Verschiebeeinrichtung
(122), die Taktgebereinheit (115) sowie jeden anderen Taktgebermodul
angeschlossenen Fehleranzeigetransmitter (126) zum Übertragen von
Fehleranzeigesignalen von jedem Taktgebermodul an jeden anderen
Taktgebermodul;
c) mehrere, an jeden Taktgebermodul (11, 12, 13, 14), den Fehleranzeigetransmitter
(126) und die Taktphasenverschiebeeinrichtung (122) angeschlossene
Fehleranzeigeempfänger (128) flir den Empfang von Fehleranzeigesignalen vom
Fehleranzeigetransmitter (126) jedes Taktgebermoduls;
d) einen an die Fehleranzeigeempfänger (128) und die
Taktphasenverschie,beeinrichtung (122) angeschlossenen Leitungsfehlerdetel:tor
(134) zum Bestimmen eines Fehlers in der Fehleranzeigeübertragung und im
Empfang; und
e) eine an den Leitungsfehlerdetektor (134), die Fehleranzeigeempfänger (128) und
die Taktphasenverschlebeeinrichtung (122) angeschlossene
Fehleranzeigeverriegelung (130) flir die Ausgabe einer Anzeige des
Betriebsmodus des fehlertoleranten Taktgebersystems (10).
3. Taktgebersystemnachanspruch2, dadurch gekennzeichnet,daß
a) jede Rücksetzschaltung (16) an die Taktempfänger (20) der anderen
Taktgebermodule angeschlossen ist;
b) jeder Taktempfanger (20) an die Taktgeneratoren (18) der anderen
Taktgebermodule angeschlossen ist;
c) jeder Fehleranzeigetransmitter (126) an die Rücksetzschaltung (16) und die
Taktempfänger (20) der anderen Taktgebermodule angeschlossen ist; und
d) jeder Fehleranzeigeempfanger (128) an die Fehleranzeigetransmitter (126) der
anderen Taktgebermodule angeschlossen ist, so daß jeder Taktgebermodul latente
Fehler in irgendeinem Taktgebermodul feststellen kann.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/800,904 US5404363A (en) | 1991-11-27 | 1991-11-27 | Two-fail-operational fault-tolerant multiple clock system |
PCT/US1992/010435 WO1993011489A1 (en) | 1991-11-27 | 1992-11-24 | Multiple-fail-operational fault tolerant clock |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69223990D1 DE69223990D1 (de) | 1998-02-12 |
DE69223990T2 true DE69223990T2 (de) | 1998-07-02 |
Family
ID=25179677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69223990T Expired - Lifetime DE69223990T2 (de) | 1991-11-27 | 1992-11-24 | Auch gegen mehrfachfehler sicherer, fehlertoleranter taktgeber |
Country Status (6)
Country | Link |
---|---|
US (1) | US5404363A (de) |
EP (1) | EP0614552B1 (de) |
JP (1) | JP3445270B2 (de) |
CA (1) | CA2120333C (de) |
DE (1) | DE69223990T2 (de) |
WO (1) | WO1993011489A1 (de) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5537655A (en) * | 1992-09-28 | 1996-07-16 | The Boeing Company | Synchronized fault tolerant reset |
JPH0764957A (ja) * | 1993-08-23 | 1995-03-10 | Mitsubishi Electric Corp | タイマ装置 |
US5537583A (en) * | 1994-10-11 | 1996-07-16 | The Boeing Company | Method and apparatus for a fault tolerant clock with dynamic reconfiguration |
US5557156A (en) * | 1994-12-02 | 1996-09-17 | Digital Instruments, Inc. | Scan control for scanning probe microscopes |
US5784386A (en) * | 1996-07-03 | 1998-07-21 | General Signal Corporation | Fault tolerant synchronous clock distribution |
KR100201333B1 (ko) * | 1996-09-11 | 1999-06-15 | 유기범 | 클럭의 페일 판별 장치 |
US5923611A (en) * | 1996-12-20 | 1999-07-13 | Micron Technology, Inc. | Memory having a plurality of external clock signal inputs |
US6272647B1 (en) | 1998-11-20 | 2001-08-07 | Honeywell Inc. | Fault tolerant clock voter with recovery |
JP3492655B2 (ja) | 2001-08-20 | 2004-02-03 | エヌイーシーシステムテクノロジー株式会社 | 電子機器 |
US7363546B2 (en) * | 2002-07-31 | 2008-04-22 | Sun Microsystems, Inc. | Latent fault detector |
US7089442B2 (en) * | 2003-02-07 | 2006-08-08 | Rambus Inc. | Fault-tolerant clock generator |
US7296170B1 (en) * | 2004-01-23 | 2007-11-13 | Zilog, Inc. | Clock controller with clock source fail-safe logic |
US8315274B2 (en) * | 2006-03-29 | 2012-11-20 | Honeywell International Inc. | System and method for supporting synchronous system communications and operations |
US7562247B2 (en) * | 2006-05-16 | 2009-07-14 | International Business Machines Corporation | Providing independent clock failover for scalable blade servers |
US8972772B2 (en) * | 2011-02-24 | 2015-03-03 | The Charles Stark Draper Laboratory, Inc. | System and method for duplexed replicated computing |
JP5402964B2 (ja) * | 2011-03-11 | 2014-01-29 | オムロン株式会社 | 相互監視システム、管理装置およびシステム |
WO2012106929A1 (zh) * | 2011-07-26 | 2012-08-16 | 华为技术有限公司 | 计算机系统及其配置时钟的方法 |
US9103845B2 (en) * | 2013-03-08 | 2015-08-11 | Freescale Semiconductor Inc. | System and method for reducing offset variation in multifunction sensor devices |
US9992010B2 (en) * | 2015-11-24 | 2018-06-05 | The Charles Stark Draper Laboratory, Inc. | System and method for augmenting duplexed replicated computing |
WO2019079116A1 (en) * | 2017-10-16 | 2019-04-25 | Microchip Technology Incorporated | FOLLOWING TOLERANT CLOCK MONITOR SYSTEM |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4239982A (en) * | 1978-06-14 | 1980-12-16 | The Charles Stark Draper Laboratory, Inc. | Fault-tolerant clock system |
DE3023624C1 (de) * | 1980-06-24 | 1981-10-01 | Siemens AG, 1000 Berlin und 8000 München | Taktgebareanordnung zum Erzeugen von Stauerimpulsen fuer ein redundantes Datenverarbeitungssystem |
US4386426A (en) * | 1980-11-03 | 1983-05-31 | Burlington Industries, Inc. | Data transmission system |
US4644498A (en) * | 1983-04-04 | 1987-02-17 | General Electric Company | Fault-tolerant real time clock |
US4696019A (en) * | 1984-09-19 | 1987-09-22 | United Technologies Corporation | Multi-channel clock synchronizer |
US4683570A (en) * | 1985-09-03 | 1987-07-28 | General Electric Company | Self-checking digital fault detector for modular redundant real time clock |
US4956842A (en) * | 1988-11-16 | 1990-09-11 | Sundstrand Corporation | Diagnostic system for a watchdog timer |
US4984241A (en) * | 1989-01-23 | 1991-01-08 | The Boeing Company | Tightly synchronized fault tolerant clock |
US4979191A (en) * | 1989-05-17 | 1990-12-18 | The Boeing Company | Autonomous N-modular redundant fault tolerant clock system |
US5233617A (en) * | 1990-04-13 | 1993-08-03 | Vlsi Technology, Inc. | Asynchronous latch circuit and register |
-
1991
- 1991-11-27 US US07/800,904 patent/US5404363A/en not_active Expired - Lifetime
-
1992
- 1992-11-24 JP JP51034993A patent/JP3445270B2/ja not_active Expired - Fee Related
- 1992-11-24 CA CA002120333A patent/CA2120333C/en not_active Expired - Fee Related
- 1992-11-24 EP EP93900829A patent/EP0614552B1/de not_active Expired - Lifetime
- 1992-11-24 WO PCT/US1992/010435 patent/WO1993011489A1/en active IP Right Grant
- 1992-11-24 DE DE69223990T patent/DE69223990T2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69223990D1 (de) | 1998-02-12 |
CA2120333A1 (en) | 1993-06-10 |
WO1993011489A1 (en) | 1993-06-10 |
JP3445270B2 (ja) | 2003-09-08 |
CA2120333C (en) | 2003-10-14 |
EP0614552A1 (de) | 1994-09-14 |
EP0614552B1 (de) | 1998-01-07 |
JPH07501642A (ja) | 1995-02-16 |
US5404363A (en) | 1995-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69223990T2 (de) | Auch gegen mehrfachfehler sicherer, fehlertoleranter taktgeber | |
DE68923845T2 (de) | Synchronisierte fehlertolerante Uhren für Multiprozessorsysteme. | |
DE69816818T2 (de) | Mehrheitsentscheidungsvorrichtung und entsprechendes verfahren | |
DE69116493T2 (de) | Schaltung und Verfahren zur Bestimmung der Länge des Zeitintervalls zwischen zwei Signalen | |
DE3879072T2 (de) | Expertsystem zur Verarbeitung von Fehlern in einem Multiplex-Kommunikationssystem. | |
DE3486257T2 (de) | Synchrones dezentralisiertes Verarbeitungssystem. | |
DE3750967T2 (de) | Steuerung von verteilten Taktimpulsen in einer verteilten Digital-Vermittlungsanlage. | |
DE3879069T2 (de) | Schwellenalarme zur Verarbeitung von Fehlern in einem Multiplex-Kommunikationssystem. | |
DE3879071T2 (de) | Verwaltung einer defekten Hilfsquelle in einem Multiplex-Kommunikationssystem. | |
EP0732654B1 (de) | Verfahren zur fehlertoleranten Kommunikation unter hohen Echtzeitbedingungen | |
DE3486022T2 (de) | System zur verteilten verarbeitung mit fehlerdiagnose. | |
DE3587405T2 (de) | Modulare mehrkanalsynchronisierungseinrichtung. | |
DE3751231T2 (de) | Symmetriebildung für redundante Kanäle. | |
DE60004365T2 (de) | System und verfahren zur überwachung von einem verteilten fehlertoleranten rechnersystem | |
DE4430387C2 (de) | Fehlererkennungsvorrichtung | |
DE69433468T2 (de) | Logischer Schaltkreis mit Fehlernachweisfunktion | |
DE69528468T2 (de) | Verfahren und vorrichtung für fehlertoleranten taktgeber mit dynamischer rekonfiguration | |
DE69032708T2 (de) | Protokoll für Lese- und Schreibübertragungen | |
DE2626838B2 (de) | Prüf-Schaltungsanordnung für eine Fernmeldeinstallation | |
DE3685761T2 (de) | Multiplexuebertragungssystem. | |
DE3687172T2 (de) | Multiplexuebertragungssystem. | |
EP0543821A1 (de) | Einrichtung zur funktionsüberwachung externer synchronisations-baugruppen in einem mehrrechnersystem. | |
DE69409296T2 (de) | Mehrkanaliger fehlertoleranter taktgeber | |
DE2853546C2 (de) | Prüfschaltung für mindestens zwei synchron arbeitende Taktgeber | |
EP1820307B1 (de) | Verfahren zum nachweis der verf]gbarkeit von systemkomponenten eines redundanten kommunikationssystems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |