[go: up one dir, main page]

DE69308868T2 - Duplizierte steuer- und verarbeitungseinheit für telekommunikationsanlage - Google Patents

Duplizierte steuer- und verarbeitungseinheit für telekommunikationsanlage

Info

Publication number
DE69308868T2
DE69308868T2 DE69308868T DE69308868T DE69308868T2 DE 69308868 T2 DE69308868 T2 DE 69308868T2 DE 69308868 T DE69308868 T DE 69308868T DE 69308868 T DE69308868 T DE 69308868T DE 69308868 T2 DE69308868 T2 DE 69308868T2
Authority
DE
Germany
Prior art keywords
processing unit
control
peripheral
active
duplicated
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 - Fee Related
Application number
DE69308868T
Other languages
English (en)
Other versions
DE69308868D1 (de
Inventor
Leva Carlo De
Maurizio Zambardi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Italtel SpA
Original Assignee
Italtel SpA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Italtel SpA filed Critical Italtel SpA
Application granted granted Critical
Publication of DE69308868D1 publication Critical patent/DE69308868D1/de
Publication of DE69308868T2 publication Critical patent/DE69308868T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2043Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share a common memory address space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1032Simple parity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • G06F11/167Error detection by comparing the memory output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • G06F11/1625Error detection by comparing the output signals of redundant hardware in communications, e.g. transmission, interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Monitoring And Testing Of Exchanges (AREA)
  • Hardware Redundancy (AREA)
  • Telephonic Communication Services (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Safety Devices In Control Systems (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf das Gebiet der Prozeßsteuerungs- Systeme und besonders auf eine duplizierte Steuer- und Verarbeitungseinheit für Telekommunikations-einrichtungen.
  • Zur Vereinfachung wird die Verarbeitungs- und Steuereinheit im folgenden nur mit Steuereinheit bezeichnet.
  • Bekanntlich hat der große Erfolg der Mikroprozessoren die Konstruktion von Steuereinheiten für Telekommunikationseinrichtungen, selbst von erheblicher Komplexität, wie z.B. Telefonanlagen, sehr erleichtert. Man kann ebenfalls sagen, daß Dank der Mikroprozessoren die Hardwareauslegung einer Steuereinheit heute von den Besonderheiten der von der Steuereinheit überwachten Einrichtungen fast unabhängig ist. Tatsächlich enthält die Steuereinheit im Großteil der bekannten Mikroprozessoren, die in Anlagen einer gewissen Komplexität betrieben werden, im allgemeinen folgende Elemente:
  • - eine Verarbeitungseinheit, die die für Betrieb und Steuerung einer Anlage notwendige Verarbeitung vornimmt,
  • - eine RAM-Bank, die die charakteristischen Kenndaten der Anlage sowie die während des normalen Betriebs verarbeiteten Daten enthält,
  • - Periphere Schaltkreise, die die Verarbeitungseinheit vervollständigen und die Schnittstellen zwischen der Verarbeitungseinheit und dem Rest der Anlage enthalten. Die letztere kann wiederum ganz oder teilweise dupliziert sein.
  • Die Verarbeitungseinheit kann mehr oder weniger hochentwickelt sein, enthält aber im allgemeinen folgendes: natürlich einen Mikroprozessor mit geeigneten integrierten Schaltkreisen die mit ihm in gewissen Funktionen zusammenarbeiten, wie z.B. die Verwaltung von Interrupts, direkten Speicherzugriff, usw.; eine RAM, die die Programme zur Verarbeitung der gesamten Anlage enthält; einen wahlfreien Schaltkreis zur Erzeugung von Paritätsbits in den den Mikroprozessor durchlaufenden Signalen; und schließlich einen Diagnoseschaltkreis, der Zugriffsfehler des Prozessors erkennt und die im Störungsfall erzeugten Alarme der Anlage verarbeitet. In einigen Fällen enthält die Verarbeitungseinheit wahlweise zwei oder mehr synchronisierte Mikroprozessoren.
  • Die Bezeichnung 'Peripheriegeräte' wird bekanntlich auf alle Einheiten ausgedehnt, mit denen die Verarbeitungseinheit ausgerüstet ist und diese zu einer aktiven Steuereinheit machen, d.h.:
  • - Massenspeicher und zugehörige Schnittstellen zur Verarbeitungseinheit,
  • - Eingangs/Ausgangsendstellen für Daten und zugehörige Schaltkreise für Schnittstellen und Erweiterungen des Prozessor-Busses,
  • - Schnittstellenschaltkreise zu den restlichen Teilen des Systems, die einen Gerätetyp mehr im einzelnen charakterisieren, wie z.B. Fernsprecher oder PCM Multiplex für Telefonvermittlungen.
  • - Bei der oben gegebenen Definition eines peripheren Schaltkreises ist es deshalb gerechtfertigt, die oben genannte Daten-RAM ebenfalls mit einzuschließen, zusammen mit den zugehörigen Schnittstellen in Richtung Verarbeitungseinheit.
  • Es ist ebenfalls bekannt, daß eine Mikroprozessor-Steuereinheit den Steuervorgang für die verschiedenen Geräte mit Hilfe selektiver Einlesevorgänge besonderer Bitkonfigurationen in spezielle Steuerregister für die Geräte durchführt, die 'Steuerpunkte' genannt werden, sowie selektive Auslesevorgänge aus speziellen Steuerzustandsregistern, die 'Erfassungspunkte' genannt werden. Einlesen der Steuerpunkte ermöglicht die Steuerung gewisser Betriebsarten der verschiedenen Teile einer Anlage, während das Auslesen der Erfassungspunkte es der Steuereinheit ermöglicht, den Betriebszustand der Anlage zu erkennen.
  • Im letzten Jahrzehnt waren, besonders in der Telekommunikationsindustrie, mehr und mehr Geräte hoher Zuverlässigkeit und Verfügbarkeit gefragt, die bekanntlich durch die Einführung von Redundanzkriterien erstellt wurden. Eines der genannten Kriterien mit größerer praktischer Anwendung besteht in der Duplizierung der gesamten Steuereinheit. Die Duplizierung schließt notwendigerweise auch den Code und die Daten ein, mit denen die einzelnen Prozessoreinheiten arbeiten.
  • Die Duplizierung der Steuereinheit trägt zwar zur größeren Zuverlässigkeit einer solchen Einrichtung bei, führt jedoch zu einigen Problemen, die bei einer nicht duplizierten Steuereinrichtung nicht auftreten. Diese Probleme sind in erster Linie auf die Tatsache zurückzuführen, daß zwei Prozessoren verfügbar sind und daß es unerläßlich ist, ihre Rollen, die Kriterien, die die Aufgabenteilung regeln und die Umschaltmodalitäten beim Auftreten einer Strömung zu regeln, um sicherzustellen, daß ein Prozessor die Arbeit übernimmt, die bis zu diesem Zeitpunkt von einem anderen Prozessor ausgeführt wurde.
  • Ein weiteres Problem, das auf die Duplizierung der Steuereinheit zurückzuführen ist, besteht darin, daß die Verbindung der beiden Prozessoren mit dem übrigen Teil der Einrichtung definiert werden muß.
  • Bei den meisten bekannten Beispielen wird eines der beiden Exemplare der Steuereinheit als aktives Exemplar ausgewählt und diesem dann die Aufgabe zugeteilt, den übrigen Teil der Einrichtung zu überwachen, während das andere Exemplar in Reserve (Standby) gehalten wird und im Falle einer Störung der ersten Steuereinheit diese ersetzt.
  • Dieses Ersetzen erfolgt mit Hilfe eines Wählers, der bei einer Störung in geeigneter Weise gesteuert wird und verhindert, daß das gestörte Exemplar der Steuereinheit auf den übrigen Teil der Einrichtung zugreift, während dem zuvor in Reserve gehaltenen Exemplar der Zugriff ermöglicht wird.
  • US-A-3544777 beschreibt ein fehlertolerantes Speichersystem für die Verwendung in Verarbeitungssystemen. Das genannte Speichersystem besteht aus einem oder mehreren Speichern, deren Ausgänge untereinander verglichen werden, um den einwandfreien Betrieb des Speichersystems zu überwachen. Falls keine Übereinstimmung vorliegt, wird das System auf die Betriebsart Fehleranalyse umgeschaltet.
  • Aus alledem lassen sich bereits einige Nachteile der duplizierten Steuereinheiten bekannter Art erkennen. Ein erster Nachteil ist darauf zurückzuführen, daß auch die bloße Störung eines gewissen Teils, deren negative Auswirkung von Seiten der Software nicht zeitgerecht neutralisiert werden kann, die Möglichkeit ausschließt, den Betrieb mit einer vollständigen Steuereinheit fortzusetzen.
  • Ein zweiter Nachteil ist auf den Verlust an realer Verarbeitungszeit des aktiven Prozessors nach Umschaltung zwischen den beiden Exemplaren aufgrund eines Fehlers zurückzuführen. Unmittelbar nach dem Zeitpunkt des Umschaltens tritt nämlich das Problem auf, daß die Strukturen der in den Daten- RAMS der beiden Exemplare vorhandenen Daten synchronisiert werden müssen, um eine Umschaltung zwischen den beiden Exemplaren mit geringst möglichem Informationsverlust zu bewerkstelligen. Zu diesen Zweck liest bei dem bekannten Beispiel ein geeignetes Unterprogramm die Daten aus, die in dem zuvor aktiven RAM vorhanden sind und kopiert diese in das Daten-RAM, das anschließend aktiv wird. Dies bedeutet offensichtlich einen Verlust an realer Verarbeitungszeit. Dieser Nachteil fällt besonders schwer ins Gewicht, weil er in einem für die Funktion der Einrichtung kritischen Zeitpunkt auftritt.
  • Die vorangehenden Betrachtungen zeigen die Grenzen des Betriebs und die Nachteile auf, mit denen die erwähnten Einheiten bekannter Art behaftet sind.
  • Es ist deshalb das Ziel der vorliegenden Erfindung, eine duplizierte Steuer- und Verarbeitungseinheit für ebenfalls ganz oder teilweise duplizierte Telekommunikationseinrichtungen anzugeben, bei der die oben beschriebenen Nachteile nicht auftreten.
  • Zur Erreichung dieses Ziels ist der Gegenstand der vorliegenden Erfindung eine duplizierte Steuer-. und Verarbeitungseinheit für Telekommunikationseinrichtungen, die aus zwei identischen Steuereinheiten besteht, die in geeigneter Weise untereinander und mit den übrigen Geräten verbunden sind. Jede Steuereinheit besteht aus: einer Verarbeitungseinheit, die in der Lage ist, die notwendige Verarbeitung für den gesamten Gerätesatz vorzunehmen, einschließlich einer Funktion, die entscheidet, ob die genannte Verarbeitungseinheit als Betriebs- oder Reserveeinheit betrachtet werden muß; einer Daten-RAM, die die für den Betrieb der Geräte erforderlichen Daten sowie die während des Betriebs erstellten Daten enthält; außerdem verschiedene periphere Schaltkreise der Verarbeitungseinheit, einschließlich der jeweiligen Schnittstellen zwischen der Verarbeitungseinheit und den übrigen Schaltkreisen und Bausteinen einer Anlage.
  • Die Daten-RAMS und Peripherieschaltkreise beider Steuereinheiten schließen die entsprechenden doppelten Zugriffsschnittstellen ein, an denen die Busse
  • beider Verarbeitungseinheiten ankommen. Die genannten Schaltkreise enthalten einen im Fehlerfall auf geeignete Weise gesteuerten Wähler, der einen Zugriff der außer Betrieb gesetzten Einheit auf die übrigen Geräte verhindert, und den Zugriff auf die vorher in Reserve gehaltene Einheit möglich macht.
  • Die aktive Verarbeitungseinheit führt das periodische Einlesen in die Daten- RAM synchron in beiden duplizierten Daten-RAMS durch, was nach einer Umschaltung zwischen den beiden Verarbeitungseinheiten auf Grund einer Störung eine sofortige Rückgewinnung der für die Weiterführung des Vorgangs erforderlichen Daten erlaubt, wie es in Patentanspruch 1 besser beschrieben ist.
  • Ein anderer Gegenstand der vorliegenden Erfindung ist eine Variante der duplizierten Steuereinheit, Gegenstand der vorliegenden Erfindung, wobei die aktive Verarbeitungseinheit das periodische Ein/Auslesen synchron in beiden Daten-RAMS vornimmt. Zusätzlich werden die beiden synchron ausgelesenen Worte miteinander verglichen und im Falle einer Differenz ein Alarmsignal für den Mikroprozessor erzeugt, der daraufhin die erforderlichen Wartungsarbeiten einleitet.
  • Die Steuereinheit erlaubt in dieser Variante eine weitere Einsparung realer Verarbeitungszeit durch Vereinfachung der periodischen Überprüfung der Übereinstimmung der Inhalte der beiden duplizierten Daten-RAMS, eine Überprüfung, die unmittelbar nach der Umschaltung einer der beiden Verarbeitungseinheiten auf Grund einer Störung absolut notwendig ist.
  • Eine duplizierte Steuereinheit mit dieser Variante ist in den zugehörigen Patentansprüchen besser beschrieben.
  • In Anbetracht der obigen Bemerkungen sind die Vorteile einer duplizierten Steuereinheit in Übereinstimmung mit der vorliegenden Erfindung und ihrer Varante klar ersichtlich. Ein erster Vorteil besteht in der besonderen Zuverlässigkeit im Falle einer Störung eines ihrer Teile, da sie in allen ihren Teilen rasch neukonfiguriert werden kann. Genauer gesagt, die aktive Prozessoreinheit kann beliebig auf einen peripheren Block der eigenen Steuereinheit oder aber auf das homologe Duplikat zugreifen. Ein zweiter Vorteil besteht in der erheblichen Ersparnis an realer Verarbeitungszeit, insbesondere
  • nach einer Umschaltung zwischen den beiden Prozessoreinheiten. Dies ist auf den Synchronismus der Schreib- und Lesevorgänge in beiden Exemplaren der duplizierten Daten-RAMS zurückzuführen.
  • Zusätzliche Zwecke und Vorteile der vorliegenden Erfindung werden in der folgenden eingehenden Beschreibung einer Realisierung sowie den anliegenden, jedoch nur als nicht begrenzendes Beispiel angegebenen Zeichnungen, wie folgt klargestellt:
  • - BILD 1 zeigt ein allgemeines Blockschaltbild für Telekommunikationseinrichtungen, einschließlich der duplizierten Steuereinheit der vorliegenden Erfindung, die aus zwei mit UCO und UC1 bezeichneten identischen Steuereinheiten besteht, die in geeigneter Weise untereinander sowie mit dem die übrigen Geräte darstellenden Block TEL verbunden sind;
  • - BILD 2 zeigt das Blockschaltbild der duplizierten Steuereinheit von BILD 1 mit mehr Einzelheiten zur Erklärung der oben angegebenen Blöcke UP0 und UP1, deren Verbindungen untereinander und der Verbindungen zwischen den genannten Blöcken und den übrigen zu den Steuereinheiten UC0 und UC1 gehörenden Blöcken;
  • - BILD 3 zeigt das Schaltbild eines zu UP0 gehörenden Blocks, der in Bild 2 mit CPU0 bezeichnet ist;
  • - BILD 4 zeigt ein Schaltbild sequentieller logischer Zustände, woraus die Wirkungsweise der in Bild 2 mit CCL0 bezeichneten Konfigurationssteuereinheit ersichtlich ist.
  • In Bild 1 bezeichnen UC0 und UC1 zwei Steuereinheiten, die gemeinsam eine einzelne duplizierte Steuereinheit für Telekomunikationseinrichtungen bilden, die zusätzlich zu den Blöcken UC0 und UC1 den Block TEL enthält. Die Steuereinheit UC0, auch Kopie 0 genannt, besteht aus den Blöcken UP0, PER0. MES0, I/U0 und TER0. Auf ähnliche Weise besteht die Steuereinheit UC1, auch Kopie 1 genannt, aus den Blöcken UP1, PER1, MES1, I/U1 und TER1.
  • Die Blöcke UP0 und UP1 stellen Verarbeitungseinheiten dar, von denen jede in der Lage ist, die Steuervorgänge des gesamten Gerätesatzes zu übernehmen. Die Blöcke MES0 und MES1 enthalten RAM-Bänke, in denen die bei normalem Betrieb einer Verarbeitungeinheit verarbeiteten Daten sowie die zugehörigen Zugriffs- und Schnittstellenschaltkreise gespeichert werden. Die Blöcke PER0 und PER1 stellen schematisch die im Vergleich zu den beiden Verarbeitungseinheiten als peripher angesehenen Einheiten dar. Die genannten Blöcke bilden ebenfalls einen Teil der duplizierten Steuereinheit, da sie wesentlich dazu beitragen, daß die Prozessoren den Rest der Geräte überwachen können. Genauer gesagt können die Blöcke PER0 und PER1 entweder einen Massenspeicher samt Zugriffs- und Schnittstellenschaltkreisen in Richtung Verarbeitungseinheit oder eine Schnittstelle zwischen den Verarbeitungseinheiten und den übrigen, nicht zur Steuereinheit gehörenden Geräten darstellen, wie z.B. den Block TEL.
  • Die Blöcke I/U0 und I/U1, zusammen mit den Blöcken TER0 und TER1, formen ebenfalls Peripherieschaltkreise. Genauer gesagt stellen die Blöcke TER0 und TER1 entweder universelle Eingangslausgangs-Endstellen, wie z.B.
  • Personalcomputer oder Alarm lampenfelder dar, oder aber Femwirkrelais usw. Die Blöcke I/U0 und I/U1 enthalten Zugriffs- und Schnittstellenschaltkreise für die Verarbeitungseinheiten sowie Schaltkreise zur Erweiterung des aktiven Prozessorsbusses zu den Blöcken TERO oder TERI.
  • Jede der Verarbeitungseinheiten UP0 und UP1 hat ihren eigenen bidirektionalen Bus, der jeweils mit BUS0 oder BUS1 bezeichnet wird. Jeder der beiden Busse ist mit den Blöcken UP0, PER0, MES0 und I/U0 der Steuereinheit UC0 sowie parallel mit den Blöcken UP1, PER1, MES1 und I/U1 der Steuereinheit UC1 verbunden. Die Verarbeitungseinheiten UP0 und UP1 sind außerdem über eine spezielle bidirektionale Verbindung untereinander verknüpft. Die von dem Block PER0 gebildete Peripheneeinheit ist bidirektional mit dem Block TEL verbunden, der schematisch eine Gruppe universeller und für die überwachten Bausteine typischer Geräte darstellt, d.h. im vorliegenden Fall Fernsprechgeräte. Auf ähnliche Weise ist der Block PER1 bidirektional mit dem gleichen Block TEL verbunden.
  • In Bild 2 sind die gleichen Elemente von Bild 1 mit den gleichen Symbolen bezeichnet und man erkennt die Verarbeitungseinheiten UP0 und UP1, die beide mit den mit BLOC0 und BLOC1 bezeichneten Blöcken verbunden sind, die jeweils einen beliebigen Block MES0, PER0, I/U0 oder MES1, PER1, I/U1 repräsentieren.
  • Der Block UP0 besteht seinerseits aus den Blöcken CPU0, LOCMEM0, PERSEL0, BURDR0, IPC0, ALDET0 und CCL0. Auf ähnliche Weise besteht der Block UP1 aus den Blöcken CPU1, LOCMEM1, PERSEL1, BUSDR1, IPC1, ALDET1 und CCL1,
  • die unter jedem Gesichtspunkt den entsprechenden Blöcken von UP0 gleichen. in den Blöcken BLOC0 und BLOC1 erkennt man die beiden entsprechenden logischen Gate-Schnittstellen der mit OR0 und OR1 bezeichneten OR- Schaltung, sowie zwei Zugriffsschaltungen mit Doppelschnittstelle, die mit ACC0 und ACC1 bezeichnet werden.
  • Der Bus BUS0 ist ein paralleler asynchroner Bus, auf dem die nicht im Multiplex gebündelten Daten- und Adressensignale zusammen mit den zugeordneten notwendigen Steuersignalen vom Typ 'read/write' und 'ready', die von den peripheren Blocks kommenden lnterrupts usw., sowie verschiedene für den Typ des verwendeten Prozessors typische Zustandssignale übertragen werden. Die integritätsüberwachung für BUS0 erfolgt durch Zuordnung eines entsprechenden Paritätsbits zu jedem Informationsbyte für Daten oder Adressen.
  • In Bild 2 ist der Bus BUS0 als bidirektional bezeichnet, aber in Wirklichkeit sind nur die für die Daten repräsentativen Signais bidirektional, während Adressen-, Steuer- und Statussignale immer die Richtung vom Prozessor zu den peripheren Schaltkreisen haben, mit Ausnahme der Signale 'ready' und 'interrupt', die in entgegengesetzter Richtung verlaufen.
  • Der vom Block CPU0 kommende Bus BUS0 ist mit den Blöcken LOCMEM0, PERSEL0, IPC0, ALDET0 und dem Block BUSDR0 verbunden, der einen bidirektionalen Bustreiber bekannten Typs darstellt, einschließlich Sender/Empfänger. Vor Erweiterung zu den peripheren Blöcken ist der Block BUS0 in zwei identische Busse aufgeteilt, die mit BUS0L und BUS0R bezeichnet werden. Die Busse BUS0L und BUS0R sind mit der ersten Schnittstelle der Zugriffsschaltkreise ACC0 und ACC1 verbunden, sodaß UP0 auf die Blöcke BLOC0 und BLOC1 zugreifen kann.
  • Auf ähnliche Weise ist BUS1 von Block CPU1 mit den Blöcken LOCMEM1, PERSEL1, IPC1, ALDET1 und dem Block BUSDR1 verbunden, der einen bidirektionalen Bustreiber bekannten Typs darstellt. Vor Erweiterung zu den peripheren Blöcken wird BUS1 in zwei identische Busse aufgeteilt, die mit BUS1L und BUS1R bezeichnet werden. Die Busse BUS1L und BUS1R werden mit der zweiten Gate-Schnittstelle der Zugriffsschaltkreise ACC1 und ACC0 verbunden&sub1; sodaß UP1 auf die Blöcke BLOC0 und BLOC1 zugreifen kann.
  • Zur Vereinfachung beziehen sich die nachfolgenden Bemerkungen nur auf die zur Verarbeitungseinheit UP0 gehörigen Blöcke. Es versteht sich, daß die gleichen Bemerkungen auch für die zur Verarbeitungseinheit UP1 gehörigen Blöcke gelten, da die Einheiten UP0 und UP1 identisch sind.
  • Der Block CPU0 stellt einen Mikroprozessor dar, der zusammen mit Bild 3 noch gründlicher besprochen wird. An die beiden Eingänge des Blocks CPU0 gelangt ein vom Block ALDETO kommendes nicht maskierbares lnterrupt-Signal, sowie das von Block CCL0 kommende Rückstellsignal RES0. An einem Ausgang des genannten Blocks kann das an den Block ALDETO gerichtete Alarmsignal MSM0 erscheinen.
  • Der Block LOCMEM0 enthält hauptsächlich eine EPROM und eine RAM. In der EPROM werden die Selstdiagnose- und Startroutineprogramme der UP0 Einheit gespeichert. in der RAM wird das aktuelle Softwareprogramm zum Betrieb der Verarbeitungseinheit UP0 gespeichert, sowie örtliche Daten, die für die Verarbeitungseinheit UP1 nicht erforderlich sind, falls diese aktiv wird.
  • Zur Decodierung der in BUS0 enthaltenen Information enthält der Block PERSEL0 logische Schaltkreise, die für jeden von der CPU0 in den peripheren Blöcken durchgeführten Einlauslesezugriff eine geeignete Kombination der Signale B0SEL0, B1SEL0 usw. bilden, die dann an die Blöcke BLOC0, BLOC1 usw. übertragen werden, damit diese selektiv aktiviert werden können. An einem Freigabeeingang von PERSEL0 kommt das vom Block CCL0 kommende Kopiewahisignal SEL0 an. Der Block PERSEL0 enthält auch einen (im Bild nicht gezeigten) synchronen Wiederholungsschaltkreis für die periodischen Einlesevorgänge in die peripheren Datenspeicher, deren Arbeitsweise weiter unten erklärt wird.
  • Der Block ALDET0 ermöglicht die Wartung der Verarbeitungseinheit UP0 und enthält zu diesem Zweck spezielle Fehlererkennungsschaltkreise für die in dem Block UP0 auftretenden Störungen sowie zur Erzeugung der entsprechenden Alarme. Die genannten Schaltkreise sind mit normalen logischen Decodiererschaltungen aufgebaut, die für Experten in der Materie leicht zugänglich sind und deshalb in den Bildern nicht gezeigt werden. Der Block ALDET0 ist mit Hilfe einer bidirektionalen und von BUS0 verschiedenen Verbindung an den Bus BUS0 sowie den entsprechenden Block ALDET1 von UP1 angeschlossen. Die genannte Verbindung erlaubt es dem Block ALDET0, über alle in der gesamten Steuereinheit aufgetretenen Alarme informiert zu sein. Falls einer oder mehrere Alarme erkannt oder erfaßt werden, erzeugt der Block ALDET0 das nicht maskierbare lnterrupt-Signal NMI0, das an den Block CPU0 übertragen wird. Der Block ALDET0 ist über eine von AL0 angegebene unidirektionale Verbindung ebenfalls an den Block CCL0 angeschlossen.
  • Der Block CCL0 enthält einen EPROM zur Wahl der Kopie mit Hilfe von Firmware, die ihn in die Lage setzt, sich wie ein asynchroner logischer periodischer Schaltkreis zur Erkennung der aktiven Kopie UP0 oder UP1 zu verhalten, wie aus den Erklärungen zu Bild 4 besser ersichtlich ist. Der genannte Block enthält außerdem einen Oszillator, der ein von dem im Block CPU0 erzeugten Taktsignal unabhängiges örtliches Taktsignal erzeugt, sowie einen Zähler, der ein Taktsignal von 16 ms zur Filterung verschiedener von ALDET0 kommender Alarme erzeugt.
  • Ein von Block CCL1 erzeugtes Kopiewahisignal SEL1 und auch andere weiter unten beschriebene Signale erreichen über die Verbindung AL0 den Block CCL0. Der Block CCL0 erzeugt zur Wahl der aktiven Verarbeitungseinheit das Kopiewahlsignal SEL0, das an den Schalteingang der doppelten Gate- Schnittstelle des Zugriff-Schaltkreises ACC0 sowie an den Eingang von Block CCL1 übertragen wird. Das Signal SEL0 geht außerdem dem Block PERSEL0 zu. Unter bestimmten Voraussetzungen, die bei der Analyse von Bild 4 geklärt werden, erzeugt der Block CCL0 das Rückstell-Signal RES0, das an den Block CPU0 übertragen wird.
  • Die Verarbeitungeeinheit UP0 ist über einen speziellen festen synchronen Kommunikationskanal direkt mit der Verarbeitungseinheit UP1 verbunden und umgekehrt. Die zum Aufbau des genannten Kanals erforderlichen Schaltkreise sind in den Blocks IPC0 und IPC1 untergebracht. Zusätzliche Einzelheiten für den Aufbau eines synchronen Kommunikationskanals sind nicht erforderlich, da die Konstruktion eines synchronen Kommunikationskanals den Experten in der Materie bekannt ist.
  • Was die anderen Blöcke der duplizierten und von UP0 und UP1 unterschiedlichen Steuereinheit von Bild 2 betrifft, so muß man sich erinnern, daß wie oben bereits erwähnt, die Blöcke BLOC0 und BLOC1 jeweils schematisch einen der peripheren Blöcke MES0, PER0, I/U0 und MES1, PER1, I/U1 darstellen. Die genannte schematische Darstellung betrifft hauptsächlich nur die doppelten Gate-Schnittstellen der Zugriffsschaltkreise, die Schnittstellen zu den beiden Verarbeitungseinheiten UP0 und UP1 sowie verschiedene Schaltkreise zur Betriebssteuerung der genannten peripheren Blöcke.
  • Zur Vereinfachung wird in der Folge nur der Block BLOC0 erklärt mit dem Verständnis, daß die gleichen Bemerkungen auch auf den Block BLOC1 anwendbar sind.
  • Der Block BLOC0 enthält die logische Schnittstelle des OR-Schaltkreises OR0 mit zwei Eingängen, an dem das Einschaltsignal BOSEL0 sowie das ähnliche, vom Block PERSELL kommende Einschaltsignal BOSEL1 anliegen. Am Ausgang von OR0 erscheint das Einschaltsignal BOSEL, das an die duplizierte Zugriffsschnittstelle ACC0 übertragen wird. Diese erlaubt selektiven Zugriff auf die eine oder andere der beiden Verarbeitungseinheiten UP0 und UP1. Zu diesem Zweck enthält ACC0 bidirektionale (in den Bildern nicht gezeigte) Eingangswähler an denen jeweils BUS0L und BUS1R ankommen. Der Ausgang der Wähler ist mit den (in ACC0 enthaltenen und in den Bildern ebenfalls nicht gezeigten) Sendern/Empfängern verbunden, die eine Buserweiterung der aktiven Verarbeitungseinheit nach BLOC0 ermöglichen. Das von Block CCL0 erzeugte Kopiewahisignal erreicht den Wahleingang des Wählers. An dem in dem Block ACC0 enthaltenen Freigabeeingang des Senders/Empfängers erscheint das Einschaltsignal BOSEL.
  • Der Block BLOC0 enthält außerdem einen Steuerschaltkreis, der einige wichtige weiter unten definierte und zur Integritätsüberwachung des genannten Blocks erforderliche Verfahren durchführt. im Falle einer schweren Störung eines oder mehrerer Schaltkreise des Blocks BLOC0 erzeugt der Steuerschaltkreis einen lnterrupt in Richtung des aktiven Prozessors. Der genannte Steuerkreis von BLOC0 ist mit normalen logischen Schaltkreisen aufgebaut, kann von Experten der Materie leicht zusammengestellt werden und wird deshalb in den Bildern nicht gezeigt.
  • In Bild 3, wo alle gemeinsamen Elemente von Bild 1 und 2 mit den gleichen Symbolen bezeichnet werden, erkennt man die Blöcke CPU0 und BUSDR0 mit mehr Einzelheiten. Der Block CPU0 besteht im wesentlichen aus den Blöcken OSC, :2, MICm und MICs, PARGEN, COMP, FF0, FF1, FF2, TR1 und TR2. Der Block BUSDR0 enthält die Blöcke T1, T2, TR3 und TR4. In Bild 3 erkennt man ebenfalls den Block LOCMEM0.
  • Der Block OSC stellt einen Lokaloszillator hoher Stabilität dar, der das Taktsignal für die Verarbeitungseinheit UP0 zur Verfügung stellt. Block :2 ist ein einfacher Teiler, der das von OSC erzeugte Taktsignal durch zwei teilt, bevor es den Takteingang der Blöcke MICm, MICs, FF0 und COMP erreicht. Die Blöcke MICm und MICs enthalten zwei identische Mikroprozessoren INTEL 80C186 samt zugehörigen VLSIs, die die Prozessorvorgänge unterstützen.
  • Der Block FF0 stellt eine Baugruppe mit flip-flops dar, an deren Eingang das nicht maskierbare lnterruptsignal NMI0, verschiedene maskierbare lnterruptsignale INT0, verschiedene Signale DMA0 für direkten Zugriff auf den Speicherblock LOCMEM0 und das von den periheren Blocks ausgehende Bereitschaftssignal DRY0 anstehen. Die genannten Signale werden durch den Block FF0 synchronisiert und dann an die Eingänge von MICm und MICs weitergeleitet. An den letzteren steht auch das Signal RES0 an.
  • Der Block COMP stellt einen Schaltkreis dar, der das einwandfreie Arbeiten des Mikroprozessoren MICm, MICs sowie des Lokaloszillators überwacht und im Fehlerfall das interne Alarmsignal MSM0 erzeugt. Zu diesem Zweck werden die beiden Busse der mit Bm und Bs bezeichneten Mikroprozessoren MICm und MICs an den Eingang von COMP weitergeleitet.
  • Die Daten- und Adressenleitungen nur des Busses Bs gehen an den Eingang des Blocks PARGEN weiter, der einen Paritätsbitgenerator darstellt, dessen Ausgang ein Bus BS' ist, der sich von dem Bus Bs nur dadurch unterscheidet, daß er zusätzliche Zeilen für Daten- und Adressenparitätsbits enthält.
  • Die Adressenzeilen der Busse Bm und Bs' sind mit den Eingängen der Blöcke FF1 und FF2 verbunden, die verschiedene Register zur Speicherung der genannten Adressen während eines Ein/Auslesevorgangs darstellen. Die Datenzeilen der Busse Bm und Bs' sind mit einem ersten Ende der Blöcke TR1 und TR2 verbunden, die gewöhnliche Sender/Empfänger darstellen. Am Ausgang der Blöcke FF1 und FF2 werden die Adressenzeilen parallel untereinander verbunden und formen einzelne Adressenzeilen des Busses BUS0, einschließlich der Zeilen für Paritätsbits im Bus Bs'. Auf ähnliche Weise werden die Datenzeilen am zweiten Ende der Sender/Empfänger TR1 und TR2 parallel miteinander verbunden und formen einzelne Adressenzeilen des Busses BUS0, einschließlich der Zeilen für Paritätsbits im Bus Bs'. Zur Vereinfachung werden in der Darstellung von BUS0 die Zeilen für Steuerungsund Zustandssignale des Mikroprozessors nicht gezeigt, sind aber vorhanden.
  • Die Adressenzeilen von BUS0 sind mit dem Eingang der Blöcke T1 und T2 verbunden, die einen Satz von Treibern für die Busse BUS0L und BUS0R darstellen. Die Datenzeilen von BUS0 sind mit dem Eingang der Blöcke TR3 und TR4 verbunden, die einen Satz von Sendern/Empfängern für die genannten Busse BUS0L und BUS0R darstellen. Die Steuer- und Zustandssignale des Busses Bm bestimmen die richtige Arbeitsrichtung der Sender/Empfänger TR1, TR2, TR3 und TR4 in Übereinstimmung mit dem von CPU0 durchgeführten Typ von Ein/Auslesezugriff.
  • Bei Betrieb der duplizierten Verarbeitungseinheit in dem Beispiel von Bild 1, 2 und 3 kann jeder der beiden Steuerkanäle UC0 und UC1 entweder als aktive Kopie oder als Reservekopie konfiguriert werden. Die Wahl der Konfiguration wird im wesentlichen von den Blöcken CCL0 und CCL1 vorgenommen.
  • Die aktive Verarbeitungseinheit steuert alle anderen Blöcke der Anlage, einschließlich der Kopie zur Reservesteuerung, während gleichzeitig der Zugriff der Reservesteuerung auf periphere Blöcke verhindert wird. Wie man in Bild 1 erkennen kann, ist dies deswegen möglich, weil die beiden Steuereinheiten UC0 und UC1, obwohl sie zwar als zwei individuelle Einheiten angegeben sind, in Wirklichkeit durch die Querverbindungen der peripheren Blöcke zu beiden Verarbeitungseinheiten als eine einzige Steuereinheit konfiguriert sind, die aus individuellen Blöcken besteht, die alle dupliziert sind und auf die die z.Zt. aktive Verarbeitungseinheit selektiv zugreifen kann.
  • Diese Schaltkreisstruktur macht die duplizierte Einheit extrem zuverlässig, da im Störungsfall ein beliebiger Teil rasch ersetzt werden kann, ohne daß die gesamte individuelle Steuereinheit wie vorher umgeschaltet werden muß. Die übrigen Blöcke der mit der duplizierten Steuereinheit verbundenen Anlage können der Reihe nach dupliziert werden oder nicht. In Bild list nur der Block TEL nicht dupliziert. Andernfalls würde die Bestückung eines weiteren Paars peripherer Einheiten vom PER0/PER1 Typ als Schnittstelle zu den duplizierten Blöcken notwendig werden.
  • Was den Block CPU0 anbetrifft, so arbeiten die beiden darin enthaltenen Mikroprozessoren INTEL 80C186 in einer mikrosynchronisierten Betriebsart und stellen das Herz der Verarbeitungseinheit UP0 dar. Um die Mikrosynchronisierung sicherzustellen, haben die Pfade der Taktsignale vom Oszillator OSC zu den beiden Mikroprozessoren die gleiche Länge. Zusätzlich überprüft ein geeigneter Schaltkreis innerhalb des Blocks COMP ständig das Vorhandensein des Taktsignals. Außerdem werden alle an den Eingängen zum Mikroprozessor anliegenden Steuersignale, mit Ausnahme von RES0, zuerst mit dem genannten Taktsignal synchronisiert. Die einwandfreie Mikrosynchronisierung der beiden Mikroprozessoren wird von dem Block COMP gesteuert, der Schaltkreise enthält, die die Identität der von von den beiden Bausteinen erzeugten Adressen, Daten und Steuersignalen ständig überprüfen. Eine fehlende Übereinstimmung der genannten Signale wird als Störung interpretiert. Der Block COMP enthält außerdem einen Überwachungszeitgeber, der den Zustand 'offene Schleife' erkennen kann.
  • Die verschiedenen Störungssignale werden innerhalb COMP in eine OR- Schaltung eingelesen. Daraufhin wird das Signal MSM0 erzeugt, das den internen Alarm des Blocks CPU0 bildet, der zunächst an den Block ALDET0 gelangt und danach an die Blöcke CCL0 und ALDET1 weitergegeben wird.
  • Die in dem Block LOCMEM. enthaltenen RAMs und EPROMs sind so dimensioniert, daß die Speicherung eines zusätzlichen Paritätssignals für jeweils 8 gespeicherte Worte möglich ist. Die genannten Speicher sind auch durch einen anderen Redundanzcode geschützt, der eine lntegritätsprüfung ihres inhaltes ermöglicht. Dieser Redundanzcode schützt die Integrität von jeweils 64 Code- oder Datenbytes.
  • Bei Betrieb des Blocks ALDET0 muß bedacht werden, daß er es der Verarbeitungseinheit AP0 ermöglicht, Wartungsverfahren für den gesamten Gerätesatz durchzuführen. Zu diesem Zweck sind in dem Block ALDET0 die folgenden hauptsächlichen Schaltkreise zur Störungserkennung enthalten, die jedoch in den Bildern nicht gezeigt sind, da sie von einem Experten in der Materie leicht aufgebaut werden können:
  • - ein Schaltkreis zur Erkennung von Paritätsfehlern bei der Durchführung von Auslesevorgängen durch Adressierung der im Block LOCMEM0 enthaltenen Speicher oder Adressierung eines beliebigen peripheren Blocks BLOC0 oder BLOC1;
  • - ein Schaltkreis, der den Ausfall des normalerweise zur aktiven Verarbeitungseinheit übertragenen Bereitschaftssignals RDY0 erkennt;
  • - ein OR-Schaltkreis für alle in dem Block ALDET0 erkannten oder dort ankommenden Alarme, dessen Ausgang das an den Mikroprozessor CPU0 gerichtete nicht maskierbare lnterruptsignal NMI0 ist.
  • - geeignete Fangschaltungen, die im Alarmfall die auf dem BUS0 herrschende Bitkonfiguration in einem speziellen Fangregister speichern, sodaß der bei Auftreten des Alarms existierende Vorgangstyp erkennbar ist. Außerdem werden die Einzelheiten des von ALDET0 erkannten Alarms im Fangregister gespeichert.
  • An den verschiedenen Schaltkreisen des Blocks ALDET0 trifft die gesamte Information für Störungen und Zugriffsfehler ein, die in einem oder mehreren Blöcken der gesamten duplizierten Einheit oder in den restlichen Blöcken der Anlage (TEL) einen Alarmzustand ausgelöst haben. Diese Information wird wie folgt weitergeleitet: im Falle eines Fehlers in der Verarbeitungsschaltung mit Hilfe des Signals MSM0; durch Decodierung der auf BUS0 vorhandenen Daten bei gleichzeitigem Empfang eines Interrupt-Signals; und schließlich über eine bidirektionale Verbindung mit dem Block ALDET1, falls ein Block der Einheit UP1 gestört ist.
  • Bei Auftreten bestimmter Fehler in einem peripheren Block kann es vorkommen, daß die Verarbeitungseinheit UP0 sich blockiert, weil sie auf ein Ereignis wartet, das niemals eintritt. Die Erkennung des Bereitschaftssignals RDY0 macht es dem Prozessor jedoch möglich, diesen schwerwiegenden Nachteil zu beseitigen. Nach Erkennung von einem oder mehreren Alarmen erzeugt der Block ALDET0 das nicht maskierbare lnterruptsignal NMI0, das an den Prozessor CPU0 übertragen wird. Dieser erkennt die Einzelheiten des Alarmtyps durch Auslesen der zugehörigen Information aus den Fangregistern von ALDET0 oder direktes Auslesen der BUS0-Daten.
  • Bei Betrieb des Konfigurationskontrollblocks CCL0 sollte man sicherstellen, daß die folgenden von Block ALDET0 kommenden Signale über die Verbindung AL0 übertragen werden:
  • - die Signale MSM0 und MSM1, die die Signale für interne Störungen der entsprechenden Prozessoren CPU0 und CPU1 darstellen;
  • - ein Alarmsignal für Störungen in der Stromversorgung von Verarbeitungseinheit UP1;
  • - zwei der über BUS0 laufenden Bits, die in codierter Form die Software- Anfragen für den für UP0 gewünschten Betriebszustand, aktiv oder Reserve, darstellen;
  • - ein 'power-up reset' genanntes Signal, das nach Einschalten der zur Verarbeitungseinheit UP1 gehörigen Stromversorgung erzeugt wird und die Initialisierung der internen Logik des Blockes CCL0 einleitet.
  • Der Block CCL0 analysiert alle genannten Signale und entscheidet, ob seine eigene Verarbeitungseinheit aktiv oder in Reserve sein soll, und erzeugt zu diesem Zweck das Signal SEL0, das zur Steuerung der Wahl, ob die aktive Kopie oder die Reservekopie der Verarbeitungseinheit UP0 oder UP1 arbeiten soll, nur an die peripheren Blöcke von UC0 weitergeleitet wird. Eine andere Funktion des Blockes CCL0 ist die Filterung von möglichen Störungen auf dem Eingangssignal durch Verwendung eines vom internen Taktsignal des Blocks abgeleiteten geeigneten Taktsignals. Der Hauptzweck der genannten Filterung ist es, den Ablauf eines Zeitintervalis von 16 ms möglich zu machen, bevor die im EPROM zur Wahl der Kopie gespeicherte Firmware auf einen von CPU0 kommenden Alarm reagieren kann. Während dieses Zeitintervalis versucht die Software, den Alarm zu löschen.
  • Der zu CCLO gehörende EPROM zur Wahl der Kopie simuliert, wie bereits erwähnt, einen asynchronen sequentiellen logischen Schaltkreis. Zu diesem Zweck stehen an dem Adressenbus des EPROM die für den Block CCL0 bestimmten Signale an. Die im EPROM enthaltenen und bei vorherbestimmten Konfigurationen der Adressenbits ausgelesenen Worte stellen die von dem Block CCL0 ausgehenden Signale dar. Bekanntlich ist es gute Konstruktionspraxis, den EPROM vqllständig und auf geeignete Weise aufzufüllen, sogar bei solchen Adressenbitkonfigurationen, die keinem logischen Betriebszustand der duplizierten Einheit entsprechen. Der Grund dafür ist, daß besonders bei Übergängen des Signals auf die Adressenzeilen theoretisch ein vorübergehendes Auslesen jeden EPROM-Wortes möglich ist. Es ist absolut erforderlich, daß die genannten vorübergehend ausgelesenen Worte kein Ausgangssignal des CCL0 erzeugen, weil dadurch die bereits existierende Konfiguration modifiziert werden könnte.
  • Eine ins einzelne gehende Erklärung für die Arbeitsweise der Firmware für Kopiewahl findet sich in den Illustrationen für das Diagramm sequentieller logischer Zustände in Bild 4.
  • Hierbei muß bedacht werden, daß die von Block CCL0 getroffene Entscheidung durch das Signal SEL0 aktiviert wird, das ausschließlich an die zur Steuereinheit UC0 gehörenden peripheren Blöcke vom BLOC0-Typ ausgesendet wird. Bei duplizierter Betriebart wird die Entscheidung des Blocks CCLI dadurch aktiviert, daß das Signal SEL1 nur an die zur Steuereinheit UC1 gehörenden peripheren Blöcken ausgesendet wird. Dadurch ist es möglich, die beiden Kopien der duplizierten Steuereinheit physisch voneinander getrennt zu halten, und dadurch die Zuverlässigkeit der Anlage zu erhöhen. Die logischen Werte der Signale SEL0 und SEL1 müssen deckungsgleich sein, um den Zugriff der aktiven Verarbeitungseinheit auf die peripheren Blöcke beider Steuereinheiten zu ermöglichen.
  • Für den Block PERSEL0 muß spezifiziert werden, daß der synchrone duplizierte Schaltkreis für das periodische Einlesen in den periheren Datenspeicher im wesentlichen aus den oben genannten logischen Decodierschaltkreisen für die Information BUS0 sowie einem Hilfsregister besteht, in das CPU0 eine Steuerkonfiguration aus zwei Bits einlesen kann, die die folgende Bedeutung haben:
  • "00" Durchführung eines Einlesevorgangs in die beiden peripheren Datenspeicher MES0 und MES1, sowie eines Auslesevorgangs nur im Speicher MES0;
  • "01" Durchführung eines periodischen Ein/Auslesevorgangs im peripheren Datenspeicher MES0;
  • "10" Durchführung eines periodischen Ein/Auslesevorgangs im peripheren Datenspeicher MES1;
  • "11" Durchführung eines Einiesevorgangs in die periheren Datenspeicher MES0 und MES1 sowie eines Auslesevorgang nur im Speicher MES1.
  • Die oben genannten logischen Schaltkreise decodieren den Inhalt des Hilfsregisters zusammen mit den auf BUS0 vorhandenen Signalen&sub3; wobei jedesmal eine geeignete Signalkombination vom Typ B0SEL0 und B1SEL0 zur Aktivierung der vorgewählten peripheren Schaltkreise entsteht, einschließlich der Dateien MES0 und/oder MES1. Genauer gesagt erzeugt der Block PERSEL0 ein Paar von Freigabesignalen für die beiden Speicher MES0 und MES1, falls das Register die Konfiguration 00 oder 11 enthält. Falls der Zugriff von MES0 und/oder MES1 unterschiedliche periphere Schaltkreise betrifft, wird der Inhalt der Hilfsregister nicht in Betracht gezogen.
  • Der Decodiervorgang von PERSEL0 wird durch das Wahlsignal SEL0 für die aktive Kopie eingeschaltet, um zu vermeiden, daß SEL0 weiterhin den Zugriffsschaltkreis ACC0, ACC1 der peripheren Blöcke BLOC0 und/oder BLOC1 steuert, wenn die Verarbeitungseinheit auf Reserve geschaltet ist.
  • Aus den oben gemachten Bemerkungen kann man ableiten, daß die Erzeugung der Signale SEL0 und SEL1 eine unzweideutige Definition der Rollen der beiden Verarbeitungseinheiten ermöglicht. Genauer gesagt, die auf Reserve geschaltete Einheit bleibt solange in Reserve, bis wegen eines Fehlers in der aktiven Kopie eine Anfrage zum Ersatz der bisher aktiven Kopie verlangt wird. Eine solche Auslegung, die auf den ersten Blick unwirtschaftlich erscheinen könnte, da ein Betriebselement bei Normalbetrieb unbenutzt gelassen wird, erlaubt in Wirklichkeit eine wirksame und zuverlässige Steuerung des gesamten Gerätesatzes mit einer einzelnen Verarbeitungseinheit.
  • Der bidirektionale Kommunikationskanal zwischen den Blöcken IPC0 und IPC1 wird von der aktiven Verarbeitungseinheit während bestimmter in der Reserveeinheit durchzuführender Vorgänge verwendet. Er wird z.B. für die Überwachungsvorgänge bei der Übertragung verschiedener Programme und zur Aktivierung von Fehlerdiagnoseverfahren benutzt. Der Kommunikationskanal benutzt das HDLC Protokoll, da dieses zum Schutz der zwischen den Steuereinheiten UC0 und UC1 übertragenen Information besonders geeignet ist.
  • Bei Betrieb der Blöcke BLOC0 und BLOC1, die schematisch die peripheren Blöcke I/U0, PER0, MES0 und I/U1, PERI, MESI darstellen, muß man beachten, daß diese die Zugriffs- und Schnittstellenschaltkreise in Richtung der Verarbeitungseinheiten UP0, UP1 und der Steuer- und Wartungseinheiten für die genannten peripheren Blöcke bereits enthalten.
  • Aus Bild 2 ist ersichtlich, daß jeder Block vom Typ BLOC0 und BLOC1 mit den beiden Verarbeitungseinheiten über zwei physisch getrennte Zugriffspfade verbunden ist, wobei ein erster Pfad durch die Busse BUS0L und BUS0R dargestellt wird, und ein zweiter Pfad durch die Busse BUS1R und BUS1L. Auf diese Weise haben Ereignisse beliebigen Typs, auch transitorische Ereignisse, die irgendwo in der Anlage erscheinen, keine Möglichkeit, gleichzeitig beide Zugriffspfade zu beeinflussen, und folglich können diese Ereignisse nur mit größten Schwierigkeiten die Blöcke BLOC0 und BLOC1 vollständig außer Betrieb setzen und damit den gesamten Gerätesatz paralysieren.
  • Zur Vereinfachung gelten die folgenden Bemerkungen nur für den Block BLOC0, sind aber analogerweise auch auf den Block BLOC1 anwendbar, da diese Blöcke ja gleichwertig sind.
  • Wie bereits oben erwähnt, wählt das Kopiewahisignal SEL0 eines der von der einen oder anderen Verarbeitungseinheit kommenden Signale, der gewählte Bus kann aber nur dann bis in den Block BLOC0 erweitert werden, wenn das Signal BOSEL aktiv ist, d.h. wenn die Verarbeitungeinheit zu diesem Zeitpunkt eines der beiden Signale BOSEL0 oder BOSEL1 erzeugt und damit den Zugriff zum peripheren Block ermöglicht. In diesem Fall aktiviert BOSEL zusammen mit dem auf dem gewählten Bus vorhandenen Steuer- und Zustandssignal die richtige Richtung der Sender/Empfänger von ACC0, je nach dem Typ des Ein/Auslesezugriffs.
  • Die Hauptaufgaben des in BLOC0 vorhandenen Steuerschaltkreises zur Integritätsüberwachung sind:
  • - Überprüfung einwandfreier Parität der Adressenbits während der Ein/Auslesevorgänge, wobei im Falle eines Paritätsfehlers das Einlesesignal zur Vermeidung unvorhergesehener Vorgänge blockiert wird,
  • -Überprüfung einwandfreier Parität der Datenbits nach Einlesevorgängen, und
  • -Überprüfung der Folgerichtigkeit der von der Verarbeitungseinheit abgegebenen Steuersignale sowie der zugehörigen Signale, die den Zugriffstyp angeben, den der Prozessor verwenden will.
  • Bei schwerwiegenden Fehlern eines oder mehrerer BLOC0-Schaltkreise erzeugt der interne Steuerschaltkreis einen lnterrupt in Richtung aktiver Prozessor und die den Fehlertyp betreffende Information wird in einem Register von BLOC0 gespeichert, wo sie in der Folge vom aktiven Prozessor ausgelesen werden kann.
  • Mit Bezug auf die spezifischen Verfahren der individuellen peripheren Blöcke in Bild 1 muß erwähnt werden, daß die Blöcke I/U0, MES0 und PER0 mit den Blöcken I/U1, MES1 und PER1 identisch sind und das deswegen eine für alle gültige einzelne Beschreibung gegeben wird.
  • Die Blöcke MES0 und MES1 enthalten jeweils eine RAM-Bank zur Speicherung von grundsätzlichen Daten, d.h. derjenigen Information, die es der aktiven Verarbeitungseinheit ermöglicht, alle Funktionen der Anlage zu steuern. Die genannte Information enthält z.B. Konfigurationsdaten des Systems und Zwischendaten von Verarbeitungsvorgängen
  • Bei Normalbetrieb, d.h. wenn die Blöcke MES0 und MES1 voll arbeitsfähig sind, ist die Verarbeitungseinheit UP0 dem Block MES0 und die Einheit UP1 dem Block MES1 zugeordnet. Angenommen, daß die Einheit UP0 aktiv ist, liest der Mikroprozessor von UP0 die notwendigen Daten synchron aus MES0 aus und in MES1 und MES0 ein. Im Falle einer Umschaltung wegen Störungen in UP0 liest die Ersatzverarbeitungseinheit die Daten synchron aus MES1 aus und in MES1 und MES0 ein. Diese Betriebsart erlaubt bemerkenswerte Ersparnisse realer Verabeitungszeit der aktiven Verarbeitungseinheit, besonders in dem Zeitraum unmittelbar nach ihrer Aktivierung. Tatsächlich findet der gerade aktivierte
  • Prozessor in seiner peripheren Datenspeicherbank bereits die zur Fortführung seiner Tätigkeit erforderlichen auf den letzten Stand gebrachten Daten vor.
  • Die peripheren Blöcke I/U0 und I/U1 enthalten identische Schnittstellen in Richtung der Blöcke TER0 und TER1. Der letztere enthält entweder Standard Eingangs/Ausgangs-schnittstellen, z. B. für Personalcomputer, Anzeige- oder Warnlampenfelder, Fernwirkrelais oder anderes. Auf jeden Fall ist in Abhängigkeit von dem durch TER0 oder TER1 repräsentierten Geräte- oder Bausteintyp die Erstellung der genannten Schnittstellen für Experten in der Materie problemlos und erfordert deshalb keine gesonderte Beschreibung.
  • Die peripheren Blöcke PER0 und PER1 enthalten identische Schnittstellen in Richtung des Blocks TEL, der in nicht begrenzender Weise eine Anzahl Fernsprechgeräte darstellt. Die genannten Schnittstellenschaltungen sind den Experten in der Materie bereits bekannt und werden deshalb nicht gezeigt.
  • In Bild 4 wird das Ablaufdiagramm der hauptsächlichen sequentiellen logischen Zustände der in Block CCL0 enthaltenen EPROM für die Kopiewahl der gespeicherten Firmware gezeigt. Man erhält ein entsprechendes Diagramm für die im Block CCL1 enthaltene Kopiewahl-Firmware, wenn man in Bild 4 die Ausdrücke UP0, CPU0. SEL0 durch UP1, CPU1 und SEL1 ersetzt. Das Diagramm ist nicht weiter mit der Einführung logischer Zustände mit widersprüchlichen Konfigurationen belastet, die jedenfalls nur während sehr kurzer Übergangsvorgänge möglich sind, z.B. diejenigen Konfigurationen, in denen beide Verarbeitungseinheiten UP0 und UP1 aktiv oder in Reserve sind. Die Firmware sieht natürlich die genannten Situationen vor und reagiert entsprechend.
  • Im Diagramm werden im wesentlichen drei logische Zustände gezeigt, d.h. 'Einschaltung', 'UP0-Einheit aktiv' und 'UP0-Einheit in Reserve'. Das Signal SEL0 hat für 'UP0 aktiv' den Wert '0' und für 'UP0 in Reserve' den Wert '1'. Ausgehend von dem Einschaltzustand ist der nächst folgende Zustand 'UP0 aktiv', falls die Zustände 'Einheit UP1 abgeschaltet' oder 'Einheit UP1 in Reserve' auftreten. Falls die Einheit UP1 aktiv ist, ist der auf die Einschaltung folgende Zustand 'Einheit UP0 in Reserve'. In allen Fällen erzeugt die Firmware vor der Umschaltung von dem Einschaitzustand auf die beiden nachfolgenden Zustände das Rückstellsignal RES0 des Prozessors CPU0. Angenommen, der nächste Zustand sei 'UP0 aktiv'. Falls kein Alarm in der Einheit UP0 vorliegt, bleibt in diesem Fall die genannte Einheit auf unbestimmte Zeit in diesem Betriebszustand. Falls aber ein Alarm in UP0 erkannt wird, geht die Einheit in den Zustand über, in welchem sie nach Rückstellung von CPU0 in Reservestellung sein wird.
  • Die Einheit UP0 bleibt auf unbestimmte Zeit im Reservezustand, falls kein Alarm in der aktiven Einheit UP1 auftritt. Falls in UP1 ein Alarm auftritt, geht die Einheit UP0 nach Rückstellung von CPU0 in den aktiven Zustand über. Falls UP0 auf Reserve geschaltet ist, in der aktiven UP1 kein Alarm besteht und in der auf Reserve geschalteten UP0 ein Alarm erkannt wird, bleibt die Einheit UP0 in Reserve, aber die Firmware erzeugt ein Rückstellsignal für den Prozessor CPU0.
  • Falls in keiner der beiden Einheiten UP0 und UP1 ein Alarm aufgetreten ist, kann die in der Verarbeitungseinheit enthaltene Software die Firmware von CCL0 veranlassen, die Einheit UP0 nach Rückstellung von CPU0 von 'aktiv' auf 'Reserve' umzuschalten oder umgekehrt. Diese Anfrage wird so durchgeführt, daß man die beiden oben genannten beiden Zustandsbits an die Adressenzeile des EPROMS für das Kopiewahisignal weiterleitet.
  • Die in dem nicht begrenzenden Beispiel beschriebene duplizierte Steuereinheit dupliziert zwar die Information in der Einlesephase, führt aber keine Überwachung der Datensynchronisierung in den beiden Kopien der peripheren Datenspeicher durch. Dabei muß definiert werden, daß unter Datensynchronisierung die perfekte Übereinstimmung des Inhalts der beiden Speicher zu verstehen ist. Die genannte Überprüfung ist unmittelbar nach dem Umschalten einer Verarbeitungseinheit von 'Reserve' auf 'aktiv' absolut erforderlich. Die Überprüfung fällt notwendigerweise in die Verantwortung eines geeigneten Unterprogramms zur Überprüfung, ob der Inhalt der beiden Speicher übereinstimmt. Deshalb entlastet der Typ von Realisierung des Beispiels die Software nicht vollständig von allen mit der lnformationsduplizierung zusammenhängenden Vorgängen. Die genannte Realisierung ist das Ergebnis eines Kompromisses zwischen der Erfordernis, reale Verarbeitungszeit zu ersparen und der Erfordernis, die Hardware der duplizierten Steuereinheit nicht übermäßig kompliziert zu gestalten.
  • Bild 2 und die obige Beschreibung zeigen deshalb eine Variante der duplizierten Steuereinheit, die den Gegenstand der vorliegenden Erfindung bildet und darin besteht, den Schaltkreis zur synchronen Duplizierung des periodischen Einlesevorganges der in den Blöcken PERSEL0 und PERSEL1 enthaltenen peripheren Datenspeicher so zu modifizieren, daß jedesmal, wenn die aktive Verarbeitungseinheit einen Auslesezugriff in ihrer eigenen peripherischen Daten-RAM durchführt, synchron der gleiche Typ von Zugriff in der anderen Kopie der gleichen peripherischen Datei durchgeführt wird. Die ausgelesenen Worte werden ebenfalls untereinander verglichen und im Falle einer Differenz wird ein Alarmsignal erzeugt, das über die Böcke ALDET0 oder ALDET1 an den jeweiligen Prozessor übertragen wird, der daraufhin die erforderlichen Wartungsarbeiten anlaufen läßt.
  • Eine auf geeignete Weise modifizierte synchrone Duplilkationsschaltung für die in Frage kommende Variante unterscheidet sich von der in dem nicht begrenzenden Beispiel beschriebenen Variante hauptsächlich in einigen leichten Veränderungen in den logischen Decodierschaltkreisen der Blöcke PERSEL0 und PERSEL1 und durch einen zusätzlichen Vergleicher für die ausgelesenen Worte.
  • Genauer gesagt, die genannte modifizierte Decodierschaltung erkennt einen Auslezugriff der aktiven Verarbeitungseinheit auf ihren eigenen peripheren Daten-RAM und erzeugt aus diesem Grund das Signalpaar BOSEL0, BISEL0, die beide die Datenspeicher MES0 und MES1 aktivieren. Diese Modifizierungen sind den Experten in der Materie bekannt und weitere Einzelheiten sind deshalb nicht erforderlich.
  • Eine in Übereinstimmung mit der in Frage kommenden Variante duplizierte Steuereinheit erlaubt eine weitere Ersparnis realer Verarbeitungszeit des aktiven Prozessors. Tatsächlich ist es nicht länger notwendig, durch die Software die Datensynchronisierung in den beiden peripheren Datenspeichern MES0 und MES1 nach jedem Umschalten zwischen den beiden Verarbeitungseinheiten wegen einer Störung überprüfen zu lassen.
  • Aus der gegebenen Beschreibung und der Information bezüglich des benutzten speziellen Mikroprozessors, den man ohne weiteres in der vom Hersteller zur Verfügung gestellten Literatur findet, sollten Experten in der Materie ohne weiteres in der Lage sein, sowohl die Hardware als auch die Software für die duplizierte Steuereinheit zur Verfügung zu stellen, die den Gegenstand der vorliegenden Erfindung bildet.

Claims (6)

1. Duplizierte Steuer- und Verarbeitungseinheit für Telekommunikations-einrichtungen, bestehend aus zwei identischen, mit dem übrigen Teil der Einrichtung verbundenen Steuereinheiten, wobei jede Steuereinrichtung eine Verarbeitungseinheit enthält, die die für den Betrieb und die Steuerung der Einrichtung erforderlichen Verarbeitungen vornimmt, sowie mehrere, mit dem Bus der Verarbeitungseinheit verbundene periphere Schaltungen, die letztere bei der Abwicklung ihrer Steuerfunktion unterstützen, wobei die Verarbeitungseinheit einen Taktsignalgenerator, zwei miteinander 'mikrosynchronisierte', parallelgeschaltete periphere Schaltungen, einen einzigen zusammenfassenden Leitungsbus für die Paritätsprüfung sowie eine die Steuersoftware enthaltende Daten-RAM aufweist, sowie die genannten peripheren Schaltkreise einschließlich Schnittstellen zwischen der Verarbeitungseinheit und den übrigen, nicht zur genannten duplizierten Steuereinheit gehörenden Teilen der Einrichtung, wobei die genannten peripheren Schaltkreise wenigstens eine Daten-RAM enthalten, die die für den Betrieb der Einrichtung erforderlichen Daten sowie die während des Betriebs erarbeiteten Daten enthält, sowie einen Massenspeicher und Schnittstellen zu I/O-Schaltkreisen, dadurch gekennzeichnet:
- daß jede Verarbeitungseinheit (UP0, UP1) eine Schaltung (CCL0, CCL1) zur Konfigurationssteuerung aufweist, die ein Auswahlsignale (SEL0, SEL1) zur Konfigurationswahl erzeugt, das den zur eigenen Steuereinheit (UC0, UC1) gehörenden peripheren Schaltungen (BLOC0, BLOC1) zugeführt wird und dessen logischer Wert die Wahl der aktiven Verarbeitungseinheit (UP0, UP1) bestimmt, die die Steuerung der gesamten Einrichtung übernimmt;
- daß jede periphere Schaltung (I/U0, PER0. MES0. I/U1, PER1, MES1) eine Zugriffsschaltung mit doppeltem Zugang (ACC0, ACC1) umfaßt, mit deren Zugängen die Busse (BUS0, BUS1) beider Verarbeitungseinheiten (UP0. UP1) verbunden sind, wobei die genannte Zugriffsschaltung außerdem einen Steuereingang besitzt, an dem das genannte Kopiewahlsignal (SEL0, SEL1) anliegt, das den elektrischen Durchgang der Busleitungen der aktiven Verarbeitungseinheit sowie die Unterbrechung der Busleitungen der auf Reserve geschalteten Verarbeitungseinheit steuert,
- daß die aktive Verarbeitungseinheit (UP0, UP1) auf eine beliebige periphere Schaltung der eigenen Steuereinheit (UC0, UC1) oder unterschiedslos auf die entsprechende duplizierte Einheit zugreift, wobei sie der peripheren Schaltung, auf die sie zugreifen möchte, ein Aktivierungssignal (BOSEL.., B1SEL0 ..) zusendet, das von der genannten Zugriffsschaltung (ACC0, ACC1) zur Erweiterung des Busses der aktiven Verarbeitungseinheit verwendet wird, und
- daß die aktive Verarbeitungseinheit synchrone periodische Einlesezyklen in den den beiden Steuereinheiten (UC0, UC1) zugehörenden Daten-RAMS (MES0, MES1) durchführt, sodaß die auf Reserve geschaltete Verarbeitungseinheit nach Umschaltung auf aktiven Betrieb eine rasche Rückgewinnung des Betriebssynchronismus durchführen kann.
2. Duplizierte Steuer- und Verarbeitungseinheit in Übereinstimmung mit Anspruch 1, dadurch gekennzeichnet:
- daß die genannte aktive Verarbeitungseinheit sowohl in den Auslese- als auch in den Einlesezyklen ein Paar der genannten peripheren Wahisignale (BOSEL.., B1SEL..) erzeugt, die an den Zugriffsschaltkreis (ACC0, ACC1) der genannten, zu den beiden Steuereinheiten (UC0, UC1) gehörenden peripheren Daten-RAMs (MES0, MES1) gerichtet sind, wo daraufhin synchrone Einlesezyklen und synchrone Auslesezyklen in den beiden peripheren Daten- RAMS durchgeführt werden, sodaß die auf Reserve geschaltete Verarbeitungseinheit nach Umschaltung auf aktiven Betrieb eine rasche Rückgewinnung des Betriebssynchronismus durchführen kann; und
- daß die von den duplizierten Daten-RAMs (MES0, MES1) synchron ausgelesenen Worte miteinander verglichen werden, sodaß im Falle einer Differenz ein Alarmsignal erzeugt wird, das dazu verwendet wird, mit Hilfe der aktiven Verarbeitungseinheit die erforderlichen Wartungsarbeiten einzuleiten.
3. Duplizierte Steuer- und Verarbeitungseinheit in Übereinstimmung mit Anspruch 1 oder 2, dadurch gekennzeichnet:, daß jede der genannten Verarbeitungseinheiten außerdem folgendes enthält:
- einen peripheren Wählerschaltkreis (PERSEL0, PERSEL1) der die vorhandene Information auf dem Bus (BUS0, BUS1) der Verarbeitungseinheit decodiert, die das genannte Wahlsignal (B0SEL.., B1SEL..) für die Zugriffsschaltungen (ACC0, ACC1) der peripheren Schaltkreise erzeugt;
- einen Schaltkreis zur Erkennung von Störungen und Erzeugung eines Alarms (ALDET0, ALDET1), der die Verarbeitungseinheit, von der er einen Teil bildet, über das Vorhandensein eines internen Alarmzustandes in der eigenen Verarbeitungseinheit oder in den wichtigeren Schaltkreisen des gesamten Satzes von Telekommunikationseinrichtungen informiert, sodaß die aktive Verarbeitungseinheit Wartungsarbeiten einleiten kann; und
- einen Kommunikationsschaltkreis (IPC0, IPC1), der einen bidirektionalen synchronen Kommunikationskanal zwischen den genannten beiden Verarbeitungseinheiten (UP0, UP1) zur Verfügung stellt, sodaß ein Informationsaustausch zwischen den beiden möglich ist.
4. Duplizierte Steuer- und Verarbeitungseinheit in Übereinstimmung mit Anspruch 3, dadurch gekennzeichnet:,
daß jeder der genannten peripheren Wählerschaltkreise (PERSEL0, PERSEL1) außerdem ein Hilfsregister enthält, in das die jeweilige Verarbeitungseinheit eine von vier möglichen Bitkombinationen einliest, sodaß ein entsprechendes Verfahren für den Zugriff auf die genannten peripheren Daten-RAMS in Übereinstimmung mit den folgenden Kriterien aufgestellt werden kann:
- eine erste Bitkombination zur Durchführung eines synchronen Einlesezyklus in beide peripheren Daten-RAMS (MES0, MES1) und eines Auslesezyklus nur in dem zur eigenen Steuereinheit gehörigen Speicher;
- eine zweite Bitkombination zur Durchführung eines Ein- und Auslesezyklus nur in dem zur eigenen Steuereinheit gehörigen peripheren Daten-RAM;
- eine dritte Bitkombination zur Durchführung eines Ein- und Auslesezyklus nur in dem duplizierten peripheren Daten-RAM; und schließlich
- eine vierte Bitkombination zur Durchführung eines synchronen Einlesezyklus in den beiden peripheren Daten-RAMS (MES0, MES1) sowie eines Auslesezyklus nur in dem duplizierten peripheren Daten-Ram;
daß die genannten peripheren Wählerschaltkreise durch das genannte jeweilige Kopiewahlsignal (SEL0, SEL1) in den aktiven logischen Betriebszustand überführt werden, wodurch verhindert wird, daß die auf Reserve geschaltete Verarbeitungseinheit die Steuerung der genannten Zugriffsschaltkreise (ACC0, ACC1) übernehmen kann; und
daß der aktive periphere Wählerschaltkreis (PERSEL0, PERSEL1) den Inhalt des der jeweiligen Hilfsregister zusammen mit den auf den Bussen der jeweiligen Verarbeitungseinheit (BUS0, BUS1) vorhandenen Signale decodiert, sodaß eine entsprechend geeignete Kombination des genannten Wahlsignais (B0SEL.., B1SEL..) der peripheren Schaltkreise erzeugt werden kann.
5. Duplizierte Steuerungs- und Verarbeitungseinheit in Übereinstimmung mit einem beliebigen der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß jeder der genannten Konfigurationssteuerschaltkreise (CCL0, CCL1) eine EPROM für die Kopiewahl enthält, an deren Adresseneingang ein von der zur duplizierten Verarbeitungseinheit gehörigen Konfigurationswahlschaltung (CCL0, CCL1) kommendes Kopiewahlsignal (SEL1, SEL0), ein erstes logisches OR-Signal der von der eigenen Verarbeitungseinheit erkannten Alarmsignale und ein zweites logisches OR-Signal der von der duplizierten Verarbeitungseinheit erkannten Alarmsignale, sowie Bits gelangen, die eine Anfrage zur Aktivierung oder Reserveschaltung der Verarbeitungseinheit darstellen, von der die genannten EPROMs einen Teil bilden, sowie die für jede Adressenkonfiguration ausgelesenen Worte, die einem wahren oder negierten logischen Wert des genannten Kopiewahlsignals (SEL0, SEL1) entsprechen.
6. Duplizierte Steuerungs- und Verarbeitungseinheit in Übereinstimmung mit Anspruch 5, dadurch gekennzeichnet, daß die genannten Signale auf den Adressenleitungen der genannten EPROMs für die Kopiewahl zum Zwecke der Ausmerzung beliebiger Störungen auf geeignete Weise gefiltert werden, sodaß es der Steuer-Software möglich ist, Versuche zur Eliminierung der Alarmursache einzuleiten.
DE69308868T 1992-09-30 1993-09-15 Duplizierte steuer- und verarbeitungseinheit für telekommunikationsanlage Expired - Fee Related DE69308868T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
ITMI922261A IT1255618B (it) 1992-09-30 1992-09-30 Unita' di controllo e di elaborazione duplicata per apparati di telecomunicazioni
PCT/EP1993/002496 WO1994008292A1 (en) 1992-09-30 1993-09-15 Duplicate control and processing unit for telecommunications equipment

Publications (2)

Publication Number Publication Date
DE69308868D1 DE69308868D1 (de) 1997-04-17
DE69308868T2 true DE69308868T2 (de) 1997-09-04

Family

ID=11364038

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69308868T Expired - Fee Related DE69308868T2 (de) 1992-09-30 1993-09-15 Duplizierte steuer- und verarbeitungseinheit für telekommunikationsanlage

Country Status (12)

Country Link
US (1) US5784551A (de)
EP (1) EP0663086B1 (de)
CN (1) CN1086364A (de)
AT (1) ATE150192T1 (de)
BR (1) BR9307149A (de)
DE (1) DE69308868T2 (de)
ES (1) ES2099473T3 (de)
GR (1) GR3023113T3 (de)
IT (1) IT1255618B (de)
NO (1) NO951204L (de)
WO (1) WO1994008292A1 (de)
ZA (1) ZA936351B (de)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100195065B1 (ko) * 1996-06-20 1999-06-15 유기범 데이타 통신망 정합장치
KR100195064B1 (ko) * 1996-06-20 1999-06-15 유기범 데이타 통신망 정합장치
US7805756B2 (en) * 1996-11-29 2010-09-28 Frampton E Ellis Microchips with inner firewalls, faraday cages, and/or photovoltaic cells
US7634529B2 (en) * 1996-11-29 2009-12-15 Ellis Iii Frampton E Personal and server computers having microchips with multiple processing units and internal firewalls
US7506020B2 (en) 1996-11-29 2009-03-17 Frampton E Ellis Global network computers
US7926097B2 (en) * 1996-11-29 2011-04-12 Ellis Iii Frampton E Computer or microchip protected from the internet by internal hardware
US8312529B2 (en) 1996-11-29 2012-11-13 Ellis Frampton E Global network computers
US20050180095A1 (en) * 1996-11-29 2005-08-18 Ellis Frampton E. Global network computers
US8225003B2 (en) 1996-11-29 2012-07-17 Ellis Iii Frampton E Computers and microchips with a portion protected by an internal hardware firewall
US6167428A (en) 1996-11-29 2000-12-26 Ellis; Frampton E. Personal computer microprocessor firewalls for internet distributed processing
US6725250B1 (en) * 1996-11-29 2004-04-20 Ellis, Iii Frampton E. Global network computers
US6209051B1 (en) 1998-05-14 2001-03-27 Motorola, Inc. Method for switching between multiple system hosts
DE19832060C2 (de) * 1998-07-16 2000-07-06 Siemens Ag Doppelbare Prozessoreinrichtung
US6427213B1 (en) * 1998-11-16 2002-07-30 Lucent Technologies Inc. Apparatus, method and system for file synchronization for a fault tolerate network
JP2001044910A (ja) * 1999-07-30 2001-02-16 Nec Corp 装置内高速信号の伝送方式
DE19950131C1 (de) 1999-10-18 2000-11-02 Siemens Ag Integrierter Schaltkreis mit gedoppelten synchronen und asynchronen Komponenten
DE19951541C1 (de) * 1999-10-26 2000-10-26 Siemens Ag Integrierter elektronischer Baustein mit duplizierter Kernlogik und Hardware-Fehlereinspeisung für Prüfzwecke
US6622246B1 (en) * 1999-11-12 2003-09-16 Xerox Corporation Method and apparatus for booting and upgrading firmware
US7213167B1 (en) * 2000-01-18 2007-05-01 Verso Technologies, Inc. Redundant state machines in network elements
US6931568B2 (en) * 2002-03-29 2005-08-16 International Business Machines Corporation Fail-over control in a computer system having redundant service processors
FI115015B (fi) * 2002-04-22 2005-02-15 Metso Automation Oy Menetelmä ja järjestelmä väylän varmistamiseksi sekä ohjauspalvelin
KR100474704B1 (ko) * 2002-04-29 2005-03-08 삼성전자주식회사 데이터의 버스트 동시쓰기가 가능한 프로세서 이중화 장치
US6885973B1 (en) * 2003-01-28 2005-04-26 Sprint Communications Company L.P. Alarm facilitator and method for analyzing computer hardware alarms
CN1318562C (zh) * 2004-09-27 2007-05-30 彭全生 富含锌元素的白酒的制备方法
US8256147B2 (en) 2004-11-22 2012-09-04 Frampton E. Eliis Devices with internal flexibility sipes, including siped chambers for footwear
US8125796B2 (en) 2007-11-21 2012-02-28 Frampton E. Ellis Devices with faraday cages and internal flexibility sipes
US8429735B2 (en) 2010-01-26 2013-04-23 Frampton E. Ellis Method of using one or more secure private networks to actively configure the hardware of a computer or microchip

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3544777A (en) * 1967-11-06 1970-12-01 Trw Inc Two memory self-correcting system
IT1209258B (it) * 1980-08-26 1989-07-16 Sits Soc It Telecom Siemens Disposizione circuitale atta a gestire lo scambio di dati tra una coppia di elaboratori, operanti secondo il principio master-slave, ed un elaboratore di supporto.
DE3328405A1 (de) * 1983-08-05 1985-02-21 Siemens AG, 1000 Berlin und 8000 München Steuerorgane eines fehlertoleranten mehrrechnersystems
US5251299A (en) * 1985-12-28 1993-10-05 Fujitsu Limited System for switching between processors in a multiprocessor system
JP2560510B2 (ja) * 1990-03-06 1996-12-04 日本電気株式会社 ネットワーク管理マネージャ切り替え方式

Also Published As

Publication number Publication date
NO951204D0 (no) 1995-03-29
EP0663086B1 (de) 1997-03-12
BR9307149A (pt) 1999-03-30
IT1255618B (it) 1995-11-09
GR3023113T3 (en) 1997-07-30
WO1994008292A1 (en) 1994-04-14
ITMI922261A0 (it) 1992-09-30
ZA936351B (en) 1994-05-19
ITMI922261A1 (it) 1994-03-30
DE69308868D1 (de) 1997-04-17
US5784551A (en) 1998-07-21
EP0663086A1 (de) 1995-07-19
ATE150192T1 (de) 1997-03-15
NO951204L (no) 1995-05-22
ES2099473T3 (es) 1997-05-16
CN1086364A (zh) 1994-05-04

Similar Documents

Publication Publication Date Title
DE69308868T2 (de) Duplizierte steuer- und verarbeitungseinheit für telekommunikationsanlage
DE2655827C3 (de) Datenverarbeitungssystem mit Konfigurationssteuerung
DE2908316C2 (de) Modular aufgebaute Multiprozessor-Datenverarbeitungsanlage
DE3486257T2 (de) Synchrones dezentralisiertes Verarbeitungssystem.
DE3781486T2 (de) Verfahren zur stossfreien umschaltung von aktiven einheiten zu ersatzeinheiten in datenverarbeitungsanlagen und datenverarbeitungsanlage zur durchfuehrung dieses verfahrens.
DE3486130T2 (de) Uebertragungsleitungssteuerung.
DE69615611T2 (de) Externes Speichersystem mit redundanten Speichersteuerungen
DE2416609C2 (de) Datenverarbeitungsanlage mit einer zentralen Verarbeitungseinheit und Multiprogrammierung mit mehreren Programmunterbrechungs-Prioritätsstufen
EP0952520B1 (de) Vorrichtung zur fehlertoleranten Ausführung von Programmen
DE60004365T2 (de) System und verfahren zur überwachung von einem verteilten fehlertoleranten rechnersystem
EP0228559A1 (de) Fehlertolerante Mehrrechneranordnung
DE4317729A1 (de) Programmierbare Steuereinheit
DE3301628A1 (de) Schaltungsanordnung fuer den datenaustausch zwischen zwei rechnern
DE69032708T2 (de) Protokoll für Lese- und Schreibübertragungen
DE69031782T2 (de) Verfahren zum Ersetzen von Speichermodulen in einem Computersystem und Computersystem zur Durchführung des Verfahrens
DE10324380B4 (de) Programmierbare Steuerung mit CPU und Kommunikationseinheiten sowie Verfahren zur Steuerung derselben
DE2755616A1 (de) Asymmetrischer multiprozessor
DE2350229A1 (de) Datenverarbeitungsanlage, insbesondere als steuereinrichtung fuer fernsprechvermittlungsanlagen
DE3780306T2 (de) Adapterbusschalter zur verbesserung der verfuegbarkeit einer steuereinheit.
DE2325137C3 (de) Speichereinrichtung mit Bereitschaftsspeicherelementen
WO2004034261A1 (de) Verfahren zur ereignissynchronisation, insbesondere für prozessoren fehlertoleranter systeme
EP0104490A2 (de) Verfahren und Vorrichtung zur Synchronisation von Datenverarbeitungsanlagen
DE2807321A1 (de) Spannungsueberwachung in einem datenverarbeitungssystem
DE69523509T2 (de) Dezentralisiertes System und Mehrrechnersystem
DE2530887C3 (de) Steuereinrichtung zum Informationsaustausch

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee