-
Die vorliegende Erfindung bezieht
sich allgemein auf Fehlerprüfsysteme
und insbesondere auf ein programmierbares Überprüfen der Schnittmatrix mehrerer
Steuer- und Identifikationsfelder in digitalen Kommunikationssystemen.
-
Alle digitalen Kommunikationssysteme
benötigen
ein Regelwerk, ein sogenanntes Protokoll, zum Steuern von Kommunikationen
zwischen unterschiedlichen Modulen im System. Es ist wohl bekannt,
Fehlerprüfsysteme
zu implementieren, um sicher zu gehen, dass eine bestimmte Kommunikation nicht
gegen das Protokoll verstößt.
-
In vielen Systemen enthält eine
Kommunikation einen Quittungsaustauschvorgang zum Einrichten einer
Verbindung zwischen zwei Modulen. Verschiedene Datenfelder werden
während
verschiedener Phasen in einem Vorgang übertragen, der es den Modulen
erlaubt, eine Steuerung eines Kommunikationskanals zu übernehmen,
einander und den Typ des durchzuführenden Vorgangs zu identifizieren,
die Bereitschaft eines jeden Moduls zur Durchführung des Vorgangs zu überprüfen und
Daten über
den Kommunikationskanal zu übertragen.
Das Protokoll gibt die Werte der Datenfelder an, die während jeder dieser
Phasen erzeugt werden können.
-
Protokollanalysevorrichtungen, welche
Daten in einem Kommunikationskanal überwachen, sind bekannt. Zum
Beispiel offenbart die
EP 0 478 175 ,
die dem Oberbegriff von Anspruch 1 entspricht, eine Protokollanalysevorrichtung,
die eine Protokollzustands-Übergangstabelle
verwendet, um zu entscheiden, ob zu übertragende Dateneinheiten
ein vorbestimmtes Protokoll einhalten oder verletzen, und kann selektiv
nur Dateneinheiten anzeigen, die gegen das in Verwendung befindliche
Protokoll verstoßen.
-
Einer der Vorteile von digitalen
Systemen ist die Fähigkeit
zur Umkonfiguration der Hardware durch Hinzufügen oder Löschen von Modulen oder Funktionen
und zur Änderung
des Protokolls zum Verändern
der Feldwerte, die während
der verschiedenen Phasen verwendet werden. Bestehende Fehlerprüffunktionen
sind jedoch all gemein nicht umkonfigurierbar, wodurch ihre Nützlichkeit
in digitalen Kommunikationssystemen eingeschränkt ist.
-
Die vorliegende Erfindung ist ein
umkonfigurierbares Fehlerprüfsystem
zur Verwendung in digitalen Kommunikationssystemen. Das Fehlerprüfsystem
verwendet die Werte eine Fehlerprüffunktion zum Überprüfen, ob
die während
einer bestimmten Kommunikation erzeugten Datenfelder durch ein Kommunikationsprotokoll
erlaubt oder verboten sind. Das System kann durch Modifizieren der
Fehlerprüffunktion
umkonfiguriert werden.
-
Nach einem Aspekt der vorliegenden
Erfindung werden Fehlerprüfsignale
programmierbar durch bestimmte Kombinationen während eines Kommunikationsvorgangs
erzeugter Felder gespeichert und ausgewählt. Der Wert des ausgewählten Fehlerprüfsignals
gibt an, ob die Werte der bestimmten Kombination von Feldern vom
Protokoll zugelassen werden.
-
Gemäß einem weiteren Aspekt der
Erfindung werden die Fehlerprüfsignale
durch einen fest verdrahteten Matrixdecoder erzeugt. Das erzeugte bestimmte
Fehlersignal wird durch eine bestimmte Kombination während eines
Kommunikationsvorgangs erzeugter Felder ausgewählt. Wenn das Fehlersignal
einen vorbestimmten Wert hat, dann ist die bestimmte Kombination
von Feldern vom Protokoll verboten. Zeilen- und Spaltenmaskenregister
speichern in programmierbarer Weise Fehler-Masken/Konfigurationssignale, die entweder
einen Maskierungs- oder Nicht-Maskierungswert haben, werden durch
die in der bestimmten Kombination enthaltenen Felder ausgewählt. Das
ausgewählte
Fehlersignal und die Fehler-Masken/Konfigurationssignale werden
an eine Logikschaltung geliefert, die den Wert des ausgewählten Fehlersignals ändert, wenn sein
Wert der vorbestimmte Wert ist und ein ausgewähltes Maskierungs/Konfigurationssignal
den Maskierungswert hat.
-
Gemäß einem weiteren Aspekt der
Erfindung ist das Fehlerprüfsystem
in jedem Modul eines Kommunikationssystems enthalten, um eine Fehlertoleranz
bei der Überprüfung des
Kommunikationssignals nach Fehlern zuzulassen.
-
Demnach ist erfindungsgemäß ein Verfahren zum
Prüfen
nach Protokollfehlern in einem System mit mehreren Modulen vorgesehen,
die durch einen Kommuni kationskanal gekoppelt sind und ein Kommunikationsprotokoll
haben, das ein erstes und ein zweites Datenfeld verwendet, von denen
jedes mehrere Werte codiert, die auf dem Kanal übertragen werden, zum Definieren
und Steuern von Kommunikationsoperationen, dadurch gekennzeichnet,
dass das Verfahren die folgenden Schritte aufweist:
Schreiben
eines Fehlerprüfsignals
an einen Speicherplatz für
jedes einer Menge möglicher
Paare der ersten und der zweiten Datenfeldwerte, wobei das geschriebene
Fehlerprüfsignal
anzeigt, ob das mögliche
Paar vom Kommunikationsprotokoll zugelassen wird;
Empfangen
eines bestimmten Paares des ersten und des zweiten Datenfelds, das
während
einer bestimmten Kommunikationsoperation auf dem Kanal übertragen
wird;
Verwenden des bestimmten Paars des ersten und des zweiten
Datenfelds zum Auswählen
des Fehlerprüfsignals,
das anzeigt, ob das bestimmte Paar des ersten und des zweiten Datenfelds
vom Kommunikationsprotokoll zugelassen wird.
-
Die Erfindung sieht auch ein Verfahren
zum Prüfen
nach Protokollfehlern zur Verwendung in einem System vor, das mehrere
Module aufweist, die durch einen Kommunikationskanal gekoppelt sind und
ein Kommunikationsprotokoll haben, das ein erstes und ein zweites
Datenfeld verwendet, wobei jedes einen mehrerer Werte codiert, die
auf dem Kanal übertragen
werden, zum Definieren und Steuern von Kommunikationsoperationen,
dadurch gekennzeichnet, dass das Verfahren die folgenden Schritte
aufweist:
Speichern eines Fehlerprüfsignals für jedes aus einer Menge möglicher
Paare der ersten und der zweiten Datenfeldwerte, das anzeigt, ob
das mögliche
Paar vom Kommunikationsprotokoll zugelassen wird;
Empfangen
eines bestimmten Paares des ersten und des zweiten Datenfelds, das
während
einer bestimmten Kommunikationsoperation auf dem Kanal übertragen
wird;
Verwenden des bestimmten Paars des ersten und des zweiten
Datenfelds zum Auswählen
des Fehlerprüfsignals,
das anzeigt, ob das bestimmte Paar des ersten und des zweiten Datenfelds
vom Kommunikationsprotokoll zugelassen wird;
Verwenden des
bestimmten Paars des ersten und des zweiten Datenfelds zum Auswählen eines
Maskierungssignals, das entweder einen Maskierungswert oder einen
Nichtmaskierungswert hat;
Maskieren des ausgewählten Fehlerprüfsignals
zum Erzeugen eines maskierten ausgewählten Fehlerprüfsignals,
das anzeigt, dass das bestimmte Paar des ersten und des zweiten
Datenfelds vom Kommunikationsprotokoll zugelassen wird, wenn das
ausgewählte
Maskierungssignal einen Maskierungswert hat;
Abbrechen der
bestimmten Kommunikationsoperation, wenn das maskierte ausgewählte Fehlerprüfsignal
anzeigt, dass das bestimmte Paar nicht vom Kommunikationsprotokoll
zugelassen wird.
-
Die Erfindung sieht auch ein System
zum Empfangen eines ersten und eines zweiten Datenfelds auf, die
während
Kommunikationsoperationen auf einem Kommunikationskanal erzeugt
wurden, wobei jedes Datenfeld einen aus mehreren Werten codierten,
und zum Überprüfen, ob
der erste und der zweite Wert eines bestimmten Paares empfangener Datenfelder
durch eine ausgewählte
Regel zugelassen oder verboten sind, dadurch gekennzeichnet, dass
das System die folgenden Elemente aufweist:
eine programmierbare
Speichereinrichtung mit einer ersten Mehrzahl von Speicherplätzen zum
Speichern einer ersten Mehrzahl einzigartiger Fehlerprüfsignale,
die anzeigen, ob das bestimmte Paar durch die Regel zugelassen wird,
wobei jeder einzigartige Wert einer einzigartigen möglichen
Paarung in einer ersten Mehrzahl möglicher Paarungen des Werts
des ersten und des zweiten Felds entspricht und in einem der Speicherplätze gespeichert
wird;
eine Einrichtung, die zum Empfangen des bestimmten Paares
des ersten und des zweiten Datenfelds angeschlossen ist, zum Auswählen eines
gespeicherten einzigartigen Fehlerprüfwerts, der dem empfangenen
bestimmten Paar des ersten und des zweiten Datenfelds entspricht;
eine
Einrichtung, die an die Einrichtung zum Auswählen angeschlossen ist, zum
Ausgeben eines Fehlerprüfsignals,
wenn der Fehlerprüfwert
anzeigt, dass das bestimmte Paar durch die ausgewählte Regel verboten
ist; und
eine Einrichtung zum Abbrechen der Kommunikationsoperation,
wenn das ausgewählte
Fehlerprüfsignal
anzeigt, dass das bestimmte Paar durch die Regel nicht zugelassen
ist.
-
Außerdem sieht die Erfindung
ein Fehlerprüfsystem
zum Prüfen
nach Fehlern in einem digitalen System vor, das eine Vielzahl von
Modulen aufweist, die durch einen Kommunikationskanal gekoppelt
sind, und das Operationen durchführt,
die durch ein erstes und ein zweites Datenfeld spezifiziert werden,
die auf dem Kanal übertragen
werden, um eine Inter-Modul-Kommunikation und entsprechende Operationen
zu leiten, wobei das Fehlerprüfsystem auf
die ausgewählten
Datenfelder anspricht, um anzuzeigen, ob durch die ausgewählten Felder
spezifizierte Operationen gemäß einer
bestimmten Hardwarekonfiguration und einem Kommunikationsprotokoll
zugelassen werden, dadurch gekennzeichnet, dass das Fehlerprüfsystem
die folgenden Elemente aufweist:
einen ersten Matrixdecoder
mit Zeilen- und Spalteneingängen
zum Empfangen eines ersten beziehungsweise eines zweiten Felds und
einem Ausgang zum Übertragen
eines einzigartigen unmaskierten Fehlerprüfsignals, das vom ersten und
vom zweiten an den Eingängen
empfangenen Feld ausgewählt wurde,
wobei das Fehlerprüfsignal
einen Wert hat, der gleich einem vorbestimmten Wert ist, wenn das erste
und das zweite Feld durch die bestimmte Hardwarekonfiguration und
das Kommunikationsprotokoll nicht zugelassen werden;
eine Einrichtung
zum Liefern eines ausgewählten ersten
und eines ausgewählten
zweiten Datenfelds, die eine durch das digitale System durchzuführende Operation
spezifizieren, an entsprechende Zeilen- bzw. Spalteneingänge des
Matrixdecoders;
ein programmierbares Zeilenmaskenregister zum Speichern
einer zweiten Mehrzahl von Zeilenkonfigurationsbits, wobei jedes
Bit programmierbar entweder auf einen Maskierungszustand oder auf
einen Nicht-Maskierungszustand gesetzt wird;
ein programmierbares
Spaltenmaskenregister zum Speichern einer dritten Mehrzahl von Spaltenkonfigurationsbits,
wobei jedes Bit programmierbar entweder auf einen Maskierungszustand
oder auf einen Nicht-Maskierungszustand gesetzt wird;
eine
Maskenlogikeinrichtung, die an den Ausgang des Matrixdecoders angeschlossen
ist und mit dem Zeilen- und dem Spalten-Maskenregister verbunden ist,
zum Empfangen des unmaskierten Fehlerprüfsignals, des Spaltenkonfigurationsbits
und/oder des Zeilenkonfigurationsbits, die durch das erste Feld und/oder
durch das zweite Feld ausgewählt
werden, zum Ändern
des Werts des unmaskierten Fehlerprüfsignals, wenn entweder das
Zeilen- oder das Spaltenkonfigurationsbit im Maskierungszustand
ist und der Wert des unmaskierten Fehlerprüfsignals gleich einem vorbestimmten
Wert ist; und
eine Einrichtung zum Abbrechen der Operation, wenn
die durch die ausgewählten
Felder spezifizierten Operationen nicht zugelassen werden.
-
Weitere Merkmale und Vorteile werden
bei der Betrachtung der beiliegenden Zeichnungen und der folgenden
detaillierten Beschreibung ersichtlich.
-
Die vorliegende Erfindung ist ein
Fehlerprüfsystem,
das in vielen Arten digitaler Kommunikationssysteme eine allgemeine
Nützlichkeit
hat. Viele der Merkmale des Systems können besser verstanden werden,
wenn sie im Kontext eines bestimmten Bussystems beschrieben werden.
In der folgenden detaillierten Beschreibung wird das Fehlerprüfsystem unter
Bezugnahme auf ein Bus-Subsystem beschrieben, das in Computern verwendet
wird, die von Tandem Computers, Inc. hergestellt werden. Das Bus-Subsystem
wird nur so weit beschrieben, dass die detaillierte Beschreibung
der Erfindung dabei unterstützt
wird.
-
1 stellt
ein gemeinsam genutztes Buskommunikationssystem dar, das ein CPU-Board 10 aufweist,
das verschiedene Module hat, die über einen gemeinsamen Bus (IBUS) 12 kommunizieren. Diese
Module enthalten einen Prozessor-Schnittstel lenchip (PIC) 14,
einen Wartungs-Diagnosechip (MDC) 16, einen Speicherschnittstellenchip
(MIC) 18 und zwei Busschnittstellenmodule (IPB_X und IPB_Y) 20 und 22.
-
Der IBUS 12 ist ein synchroner
paralleler Datenpfad, über
den unabhängige
Module Adress- und Dateninformationen in einer strukturierten Umgebung übertragen
können.
Die Busoperationen sind mit einem Basissystemtakt synchron. Alle
Ereignisse auf dem IBUS geschehen im Verhältnis zur steigenden Flanke
des Takts. Zwei über
den Bus abgewickelte Basisoperationen sind als Buszuteilung (Arbitrierung)
und Übertragung
(Transfer) definiert, die jeweils simultan geschehen können.
-
Die Buszuteilungsoperation erlaubt
es einem der Module, ein Master zu werden, um die alleinige Kontrolle über den
IBUS zu bekommen. Module, welche die Kontrolle über den IBUS bekommen wollen (Antragstellermodule)
müssen
eine Buszuteilung und die Kontrolle über den IBUS erlangen, bevor
sie versuchen können,
Information zu übertragen.
-
Die Übertragungsoperation erlaubt
es einem Antragsteller, der die Kontrolle über den IBUS erlangt hat, Daten
an ein Antwortmodul zu senden oder von ihm zu empfangen und enthält Befehls-
und Datenphasen. Während
der Befehlsphase schickt der Antragsteller nach der Buszuteilung
und nach dem Erlangen der Kontrolle über den IBUS die Adresse eines
ausgewählten
Moduls auf die Adress/Datenleitungen und einen Befehl auf die Quittierungsaustauschleitungen.
Während
der Datenphase werden Daten zwischen dem Antragsteller und dem Antwortgeber übertragen.
Die Länge
der Übertragung
wird während
der Befehlsphase vom Antragsteller bestimmt und kann von einem einzigen
Byte bis zu vielen Worten umfassen.
-
2 stellt
die Buszuteilung und die Befehls- und die Datenphase einer grundlegenden
IBUS-Operation dar. Antragsteller X und Y schicken Signale auf ihre
Arb-Leitungen zur
Beantragung der Kontrolle über
den IBUS, und die SC (Systemkontrolle) wird beim ZYKLUS 1 übernommen,
um dem Antragsteller X die Kontrolle über den Bus zu geben (der in
diesem Beispiel eine höhere
Priorität
als der Antragsteller Y hat). Während
der Befehlsphase steuert der Antragsteller X während des ZYKLUS 1 und
ZYKLUS 2 die Hoch- und Niedrigadressen des ausgewählten Antwortmoduls auf
den Adress/Datenleitungen und steuert während des ZYKLUS 1 den
Befehl (CMD) auf den Quittungsaustauschleitungen und während des ZYKLUS 2 die
Länge der
Datenübertragung
(LÄNGE)
auf den Quittungsaustauschleitungen. Während der Datenphase werden
während
der ZYKLEN 3 und 4 zwischen dem Antragsteller
und dem Antwortgeber auf den Adress/Datenleitungen Daten übertragen. Während der
Datenphase tauscht der Antwortgeber auf den Quittungsaustauschleitungen
Quittungen aus, wobei READYODD für
das erste Wort einer Übertragung
und READYEVEN für
alle folgenden Wörter
einer Übertragung
verwendet wird.
-
3 ist
ein Blockdiagramm einer Ausführungsform
der vorliegenden Erfindung, die eine volle Programmierbarkeit der
zu prüfenden
Fehlerbedingungen unterstützt.
Wie oben beschrieben, erfordert ein Busbetrieb die Übertragung
verschiedener Datenfelder, die Informationen repräsentieren,
die zur Umsetzung einer Datenübertragung
benötigt
werden. Das Busübertragungsprotokoll
legt fest, ob bestimmte Werte eines Paars Felder, M und N, erlaubt sind.
Die Felder M und N können
zum Beispiel ein Antragstellermodul bzw. ein Antwortgebermodul identifizieren.
In diesem Fall würde
die Fehlerprüfvorrichtung
so programmiert, dass sie einen wahren Wert ausgibt, wenn eine Kommunikation
zwischen den durch die Werte M und N identifizierten bestimmten
Modulen durch das Protokoll nicht zugelassen wäre.
-
Daher setzt die Ausführungsform
von 3 die Fehlerprüffunktion
wie folgt um:
F (M, N) = T, nur, wenn die Werte, die durch
M und N codiert sind, nicht zugelassen werden, und sonst F.
-
Wenn M ein aus m-Bits bestehendes
Datenfeld und N ein aus n-Bits bestehendes Datenfeld ist, dann können die
Datenfelder bis zu 2m bzw. 2n Werte codieren.
Die Symbole M und N in der obigen Gleichung repräsentieren Paarungen von Werten
eines bestimmten Paars der Felder M und N. Wenn daher die durch
ein bestimmtes Paar der Felder M und N codierten Werte vom Protokoll
verboten sind, dann ist der Wert des Funktionswerts wahr (T), und,
wenn die Werte nicht verboten sind, dann ist der Funktionswert falsch
(F).
-
Wenn wir uns 3 zuwenden, dann ist eine vollständig programmierbare
Prüfmatrix 30 in
einem Gatterteld implementiert. Die Matrix wird durch abtastbare
Register gebildet und hat einen SCAN_DATA_IN-Eingang ("Abtastdaten ein") und einen SCAN
DATA OUT-Ausgang ("Abtastdaten
aus"). Die zu prüfenden Felder
M und N haben Breiten m bzw. n. Demnach hat die Matrix 2n Spalten und 2m Zeilen.
-
Die Felder M und N, die auf dem Bus
erzeugt werden, werden zur entsprechenden Zeit durch M- und N-Zwischenspeicher 32 und 34 zwischengespeichert
und werden an einen Zeilen-Multiplexer (MUX) 35 bzw. einen
Spalten-Multiplexer (MUX) 36 zur Auswahl einer eindeutigen
Zeile und Spalte angelegt, die den angelegten Feldern entspricht.
Das ausgewählte Ausgangssignal
wird an einen Eingang eines Ausgangs-UND-Gatters 38 angelegt,
und ein Zeitabstimmungsfenstersignal (optional) wird an den anderen Eingang
angelegt, um ein getaktetes Fehlersignal zu liefern.
-
Es folgt eine Beschreibung des Betriebs
der in 3 gezeigten Ausführungsform.
Die Werte F (M, N), die einer ausgewählten Hardwarekonfiguration
und einem Bustransferprotokoll entsprechen, werden in einem Abtastmuster
mit 2n × 2m Bitpositionen ausgewählt und angeordnet. Die Reihenfolge
der Bits wird durch den bestimmten Abtastpfad bestimmt, der in der
Matrix eingerichtet ist. Nachdem das Abtastmuster über den
SCAN_DATA_IN-Eingang in die Matrix eingelesen wurde, wird jeder
Wert von F (M, N) am bestimmten Speicherort gespeichert, der durch
das empfangene Feldpaar M und N ausgewählt wurde. Wenn das System
umkonfiguriert wird oder das Protokoll geändert wird, wird ein anderes Abtastmuster
in die Matrix eingelesen, um das Fehlerprüfsystem umzukonfigurieren.
-
4 ist
ein Blockdiagramm einer zweiten bevorzugten Ausführungsform der Erfindung, das
die Anzahl von Speicherelementen verringert, die in der ersten Ausführungsform
benötigt
werden, und in vielen Anwendungen die Gatterzahl verringert.
-
In 4 empfängt ein
Matrix-Decoder-Logikblock 40 Paare von M- und N-Signalen an seinen Zeilen-
und Spalteneingängen
und liefert ein unmaskiertes Fehlerprüfsignal an seinen Ausgang,
der durch das empfangene Signalpaar M und N ausgewählt wurde.
Abtastbare Zeilen- und Spaltenregister 42 und 44 haben
einen SCAN_DATA_IN-Eingang und einen SCAN_DATA_OUT-Ausgang. Die
abtastbaren Zeilen- und Spaltenregister speichern "Fehlermasken/Konfigurationsbits", die durch bestimmte Zeileneingänge, Spalteneingänge oder
Zeilen/Spalten-Schnitteingänge
auswählbar
sind.
-
Die Auswahl der Fehlermasken/Konfigurationsbits
wird durch einen in Hardware implementierten Fehlerbaum 46 durchgeführt. Diese
Hardware enthält
ein Maskierungs-UND-Gatter 40 und zum Empfangen der ausgewählten Fehlermasken/Konfigurationsbits
als Gattereingangsignale und die ausgewählten unmaskierten Fehlerprüfsignale
als die Signaleingänge
und liefert ein maskierbares Fehlerprüfsignal an seinem Ausgang.
Die Ausgangssignale der Maskierungs-UND-Gatter werden an die Eingänge eines
ODER-Gatters 50 geleitet, dessen Ausgang mit dem Eingang
eines Zeitabstimmungs-UND-Gatters 52 verbunden ist. Der
andere Eingang des Zeitabstimmungs-UND-Gatters 52 empfängt ein
(optionales) Zeitabstimmungs-Fenstersignal, und sein Ausgangssignal
ist ein zeitabgestimmtes Fehlerprüfsignal.
-
Es folgt eine Beschreibung des Betriebs
der in 4 gezeigten Ausführungsform.
Die vorbestimmte Fehlerprüffunktion
für ein
bestimmtes Protokoll ist in das Gatterfeld des Matrixdecoder-Logikblocks
fest verdrahtet. Wenn die ausgewählten
Zeilen- und Spalten-Fehlerprüfbits
alle WAHR sind, dann ist das Maskierungs-UND-Gatter 48 offen und das maskierbare
Fehlerprüfsignal
gleich dem unmaskierten Fehlerprüfsignal.
-
Auch wenn die Fehlerprüffunktion
in die Matrixdecoderlogik hart verdrahtet ist, erlauben die abtastbaren
Konfigurationsregister 42 und 48, dass das Fehlerprüfbit für bestimmte
empfangene Zeileneingangssignale, Spalteneingangssignale oder Zeilen/Spalten-Schnitt-Eingangssignale
programmierbar von WAHR in FALSCH geändert werden. Wie aus 4 hervorgeht, ist, wenn
entweder das Zeilen- oder das Spaltenkonfigurationsbit für ein bestimmtes Feld
M oder N FALSCH ist, das Ausgangssignal des entsprechenden Maskierungs-UND-Gatters
immer FALSCH. Dementsprechend kann ein WAHRES unmaskiertes Fehlerbit
programmierbar auf FALSCH geändert
werden. Jedoch ist der umgekehrte Vorgang nicht möglich, das
heißt,
dass ein FALSCHES unmaskiertes Fehlerbit nicht programmierbar in WAHR
geändert
werden kann. Auf diese Weise kann ein Zeileneingangssignal, Spalteneingangssignal oder
Zeilen/Spalten-Schnitt-Eingangssignal, das vorher verboten war,
im neuen Protokoll erlaubt sein, was durch eine Umprogrammierung
der entsprechen den Maskierungs/Konfigurationsbits in den Maskierungszustand
festgelegt ist.
-
Eine der in den 3 und 4 gezeigten
Ausführungsformen
kann für
eine bestimmte Anwendung geeigneter sein. Die 5–7 sind Diagramme, die spezifische
Anwendungen der bevorzugten Ausführungsformen
zeigen.
-
Die vollständig programmierbare Ausführungsform
von 3 kann für Anwendungen
besser geeignet sein, die eine große Flexibilität und Umkonfigurierbarkeit
aufweisen. Zum Beispiel können
die zugelassenen und verbotenen Antwortgeber/Antragsteller-Paare
geändert
werden, und die voll programmierbare Ausführungsform kann geeigneter
sein.
-
5 zeigt
eine voll programmierbare Fehlerprüfmatrix. In dieser Konfiguration
werden die Antwortgeber-ID-Datenfeldwerte und Antragsteller-ID-Datenfeldwerte
für eine
bestimmte Bustransaktion als die Spalten- und Zeilenidentifikatoren
verwendet. Diese IDs werden während
des ZYKLUS 2 (2)
des Bustransfers auf dem Bus erzeugt. Ein Wert null am Schnitt eines
bestimmten Antragsteller/Anwortgeber-Paars zeigt an, dass das Paar vom Busprotokoll
zugelassen ist. Wenn das Protokoll verändert würde, würden auch die Schnittwerte über eine
Abtastung aufgezeichnet. Es wird auch darauf hingewiesen, dass,
wenn ein anderes Modul angeschlossen wäre, z. B. ein asynchrones Transfermodul,
eine der nicht verwendeten Zeilen und Spalten für dieses Modul benannt werden
könnte
und modifizierte Fehlerprüfsignale
in der bezeichneten Zeile oder Spalte gespeichert werden könnten.
-
Die maskenprogrammierbare Ausführungsform
von 4 kann für eine Anwendung
besser geeignet sein, die eine geringe Flexibilität aufweist.
Zum Beispiel können
für ein
bestimmtes Protokoll bestimmte Datentypen von Datenübertragungsoperationen
für eine
kleine Gruppe von Datentransferlängen erlaubt
sein. Für
ein anderes Protokoll kann die Anzahl von Datentransferlängen, die
für manche
Arten von Datenübertragungen
erlaubt sind, geändert
werden. Diese Änderungen
können
durch eine Umprogrammierung der Konfigurationsbits in den Maskenregistern
bewerkstelligt werden. 6 zeigt
einen Matrixdecoder, dessen Spalten durch unterschiedliche Transferlängenwerte
und dessen Zeilen durch unterschiedliche Busbefehle identifiziert
sind. Das Diagramm weist eine Abbildung auf, die die tatsächlichen
Feldwerte, d. h. 0 bis F mit den Symbolbefehls- und Wortlängenparametern
paart.
-
Zum Beispiel symbolisiert ein Befehlsfeldwert,
der gleich "6" ist, einen Blockschreibbefehl
und symbolisiert ein Transferlängenfeldwert,
der gleich "6" ist, eine Transferlänge von
7 Wörtern.
Die Bereiche "PRE" bzw. "PROTOCOL ERROR" der Matrix sind
hart auf den Wert WAHR verdrahtet und die Bereiche "OK" sind hart auf den
Wert FALSCH verdrahtet.
-
Wieder mit Bezug auf 2 werden die CMD- und LÄNGE-Quittungsaustausche
auf der Quittungsaustauschleitung in aufeinander folgenden Taktzyklen
erzeugt. Das Befehlsfeld wird zwischengespeichert und an den Fehlerprüfdecoder
geliefert, wenn das Längenfeld
erzeugt wird. Der Vorteil der hart verdrahteten Ausführungsform
zur Verringerung der Anzahl von Gattern ist nun offensichtlich.
Es wird darauf hingewiesen, dass für die Zeileneingänge 8 bis
F Übertragungen
von weniger als einem Wort durch das Befehlsfeld definiert sind.
Demnach ist für den
Zeilen/Spalten-Schnitt
der Zeilen 8 bis F und der Spalten 1 bis F ein
Protokollfehler definiert, weil die Spalten 1 bis F für Transferlängen von
mehr als einem Wort gedacht sind. Auf diese Weise erzeugt eine einfache
Gatterkonfiguration das Fehlerprüfsignal
für 120
mögliche
Zeilen/Spalten-Schnitte.
-
Die Vielseitigkeit der Maskierungsfunktion wird
ebenfalls demonstriert. Zum Beispiel sind in der Matrix von 6 die Zeileneingänge 2, 4 und 5 undefinierte
Befehle, die bei ihrem Empfang unmaskierte Fehlerprüfsignale
erzeugen. Wenn jedoch der Zeileneingang 4 später als
ein Befehl definiert würde,
der 1 bis 8 Wörter übertragen
würde,
dann wäre
das unmaskierte Fehlerprüfsignal
maskiert, wenn das UC4L-Maskierungsbit so rückgesetzt würde, dass kein Fehlersignal
für ein
Befehlsfeld 4 erzeugt würde. Wenn
zusätzlich
gewünscht
würde,
die Längen-Fehlerprüffunktion
aus dem System zu entfernen, würde das
L-Maskierungsbit rückgesetzt.
-
7 zeigt
eine hart verdrahtete BEFEHLS/QUITTUNGSAUSTAUSCH-Fehlerprüfmatrix.
Aus den 6 und 7 ist zu entnehmen, dass, wenn
das Protokoll Fehlermaskierungsbit (P) rückgesetzt wird, sowohl die
CMD/LÄNGEN-
als auch die CMD/QUITTUNGSAUSTAUSCH-Fehlerprüffunktionen maskiert sind.
Auf diese Weise enthält
der Fehlerbaum ein Maskierungsgatter zur Maskierung der unmaskierten
Fehlerprüfsignale,
die durch beide hart verdrahtete Decoder erzeugt wurden. Außerdem ist 7 zu entnehmen, dass, wenn
beliebige Quittungsaustauschsignale 1–6 später definiert
werden, das unmaskierte Fehlerprüfsignal
durch ein Entsprechendes der Maskierungsbits UHS1–UHS6 maskiert werden
kann. Zusätzlich
kann die Quittungsaustausch-Fehlerprüfmatrix durch Rücksetzen
des HS-Maskierungsbits maskiert werden.
-
Wieder mit Bezug auf 1 sind in der bevorzugten Ausführungsform
die Fehlerprüfmatrizen redundant
in jedem Modul enthalten und werden die Fehlerprüfsignale vom MDC 16 empfangen
und verarbeitet. Diese Redundanz bietet einen fehlertoleranten Betrieb
für den
Fall eines Versagens einer bestimmten Fehlerprüfmatrix. Außerdem können elektrische Probleme beim
Bus erfasst werden, wenn die Ergebnisse der Prüfung an den unterschiedlichen Modulen
inkonsistent sind.
-
Die Erfindung wurde im Einzelnen
anhand der bevorzugten Ausführungsform
beschrieben. Alternativen und Ersetzungen werden dem Durchschnittsfachmann
offensichtlich sein. Zum Beispiel wurde die Erfindung zwar anhand
eines gemeinsam genutzten Bus-Kommunikationssystems definiert, jedoch
ist sie genauso gut auf digitale Kommunikationssysteme anwendbar,
die andere Kommunikationskanäle
verwenden, wie zum Beispiel Telefonleitungen, faseroptische Leitungen,
Mikrowellenverbindungen oder Hochfrequenzverbindungen. Außerdem sind
die Prüfmatrizen
in der bevorzugten Ausführungsform
in Gatterfeldern umgesetzt, doch kann ein beliebiges geeignetes
Speichermedium, wie zum Beispiel RAM, ROM oder Allzweckregister,
verwendet werden. Der Schnitt zweier Felder wurde beschrieben, doch
kann eine Fehlerprüfung
auf der Grundlage von mehr als zwei Feldern ebenfalls umgesetzt
werden. Es ist demnach nicht beabsichtigt, die Erfindung anders
als in den Ansprüchen
angegeben einzuschränken.