-
Die vorliegende Erfindung betrifft
ein Verfahren zum Initialisieren einer seriellen Verbindung zwischen
zwei integrierten Schaltungen, die einen Serien-Parallel-Port und einen Parallel-Serien-Port
umfassen, wobei die Vorrichtung die Durchführung des Verfahrens ermöglicht.
-
Im Stand der Technik sind durch das
Patent
US 5 522 088 ein
Verfahren und eine Vorrichtung bekannt, um Daten über einen
parallelen Bus mit einer hohen Datenübertragungsrate in ein gemeinsames Kommunikationsnetz
zu übertragen.
Das Prinzip der Vorrichtung besteht darin, eine selbstgetaktete (self-timed
Schnittstelle zu verwenden, die einen vom Taktgeber eines Prozessors
unabhängigen
Taktgeber besitzt, um die Ports jedes Prozessors anzuschließen. Die
Datenübertragung
zwischen zwei Prozessoren umfaßt
einen Schritt des selbsttätigen
Abgleichs oder der Selbstsynchronisation. Dieser Schritt der Selbstsynchronisation
umfaßt
drei Abschnitte. Der erste Abschnitt (Bit-Synchronisation) besteht
darin, die Synchronisation der Datenbits herzustellen, indem die
Schnittstelle zunächst
auf logisch null zurückgesetzt
wird (complete logic reset). Diese Operation wird auf der Ebene
der Verbindung und nicht auf der Ebene des Ports oder der Ports
des Prozessors selbst ausgeführt.
Dieser Synchronisationsschritt entspricht in der Tat der Einrichtung
der seriellen Verbindung zwischen den beiden Prozessoren, d. h.
der Initialisierung der Verbindung. Nun ist aber klar, daß in diesem
Stadium die Ports jedes Prozessors bereits einsatzbereit sind und
daß keine
Initialisierung dieser Ports stattgefunden hat. Eine Aufgabe der
vorliegenden Erfindung besteht darin, eine Reinitialisierung des
Eingangs/Ausgangs-Ports zwischen einem Parallelbus und einer seriellen
Verbindung zu ermöglichen.
Diese Reinitialisierung ermöglicht,
insbesondere das Problem des über
der Verbindung vorhandenen Rauschens zu beheben, das Fehler selbst
dann hervorrufen kann, wenn die Kalibrierung der beiden Ports fehlerfrei
ist.
-
Ein erstes Ziel wird mit dem Verfahren
nach Anspruch 1 erreicht. Weitere besondere Merkmale des Verfahrens
sind durch die Ansprüche
2 bis 11 definiert.
-
Ein weiteres Ziel der Erfindung ist
eine Vorrichtung, die die Durchführung
des Verfahrens ermöglicht.
-
Dieses zweite Ziel wird mit der Vorrichtung gemäß Anspruch
12 erreicht. Weitere besondere Merkmale dieser Vorrichtung sind
durch die Ansprüche
13 bis 21 definiert.
-
Weitere besondere Merkmale und Vorteile der
vorliegenden Erfindung erscheinen deutlicher beim Lesen der nachfolgenden
Beschreibung, die sich auf die beigefügte veranschaulichende Zeichnung
einer nicht einschränkenden
Ausführungsform der
Erfindung bezieht, worin
-
1A den
Teil der integrierten Schaltung zeigt, die den Parallel-Serien-Schnittstellenport
bildet;
-
1B eine
genauere Darstellung der Zelle der integrierten Schaltung zeigt;
die den Serialisierer/Deserialisierer bildet;
-
2A ein
Anwendungsbeispiel des Parallel-Serien-Eingangs/Ausgangs-Ports von 1 zeigt;
-
2B das
Architekturschema einer Maschine zeigt, die eine derartige integrierte
Schaltung verwendet;
-
3A die
verschiedenen Schritte des Verfahrens zum Initialisieren einer seriellen
Verbindung zwischen zwei Ports, die verschiedenen Karten angehören, zeigt;
-
3B eine
weitere Darstellung des Initialisierungsverfahrens zwischen zwei
Ports ist;
-
3C das
Bilden einer Nachricht zeigt, die über die serielle Leitung geschickt
wird;
-
3D den
Logikplan des Managements der Rahmen zeigt;
-
4A eine
Fehlerzeichen-Substitutionsschaltung zeigt;
-
4B eine
Historienschaltung zeigt;
-
Der Steuerungsblock für die serielle
Datenübertragung
SLC (Serial Link Control) genannte Port 100 ist
in einer integrierten Schaltung beispielsweise des in
-
2A dargestellten
Typs enthalten. Diese integrierte Schaltung (1) umfaßt mehrere
Ports 100 , 101 , 102 , 103 des
gleichen Typs wie in 1, die mit einer
Systemfrequenz von beispielsweise 33 MHz mit zwei parallelen Datenbussen
von 72 Bit, LC2B am Eingang (6) und C2LB am Ausgang (7),
kommunizieren. Diese Parallelbusse stehen mit Logikschaltungen in
Verbindung, die für
die Schaltung (3) eine Schnittstellenfunktionalität mit einem
Mikroprozessor (11) über
einen 64-Bit-Bus
(30), für
die Schaltung (4) eine Verlagerungsfunktionalität (MOVER)
für die
integrierte Schaltung, wenn diese auf einer Karte vom Typ Datenkarte
enthalten ist, und für
die Schaltung (5) eine Speichersteuerungsfunktionalität (Slave Control
verwirklicht. Diese Schaltungen (3, 4, 5)
kommunizieren ebenfalls über
zwei 72-Bit-Datenbusse M2CB (9), C2MB (8) mit
zwei Eingangs/Ausgangs-Schnittstellen
IOBX 20 , 21 ,
welche die Kommunikation mit 36-Bit-Bussen ermöglichen, die entweder von einem
Hauptspeicher MMU (12a, Figur 2B) oder aber von
einem Erweiterungsspeicher EMU (12c) herkommen, wie in 2B gezeigt ist. Ein Steuerbus CPB ermöglicht dem
mit der integrierten Schaltung (1) kommunizierenden Mikroprozessor (11)
auf die Prüf-
und Zustandsregister (Statusregister) der verschiedenen Schaltungen
(3, 4, 5, 2, 10), die
in der integrierten Schaltung vorhanden sind, zuzugreifen. Diese
integrierte Schaltung (1) wird in einer Maschine verwendet,
die einen Hauptspeicher (12a) und einen Erweiterungsspeicher
(12c), der unter verschiedenen Systemen aufteilbar ist,
umfaßt. Eine
erste integrierte Master-Schaltung (1a) gemäß der Erfindung
kommuniziert über
den Bus (30a) mit einem ersten Prozessor (11a)
und über
die Schnittstelle IOBX mit dem Speicher (12a), während eine zweite
integrierte Slave-Schaltung (1c) einerseits mit der ersten
Master-Schaltung (1a) und andererseits über den Bus (30c)
mit einem zweiten Prozessor (11c) und mit einem Erweiterungsspeicher
(12c) kommuniziert, 1A. Der
Port (10a) zum seriell-parallelen Senden und parallel-seriellen
Empfangen der Schaltung (1a) umfaßt für den Sendeteil ein Paar von Datenpufferspeichern
TDBUF von 8 × 72
Bit, die mit dem Sendebus C2LB verbunden sind. Ein Multiplexer (103)
ermöglicht,
einen der beiden Pufferspeicher TDBUF oder den Steuersignalpufferspeicher
TCBUF auszuwählen,
der den Nachrichtenvorsatz enthält. Die
Informationen, die den Multiplexer (103) verlassen, werden
in eine Disassemblerschaltung (105) geschickt, die eine
Folge von 9-Bit-Zeichen
erzeugt, die die zu übertragenden
Zeichen darstellen. Diese Disassemblerschaltung (105) ist
außerdem
mit einer Schaltung für
die Erzeugung des zyklisch redundanten Prüfzeichens CRC (106T ) verbunden. Ein zweiter Multiplexer
(107) ermöglicht,
die Signale auszuwählen,
die an eine Codiereinrichtung (108T ) übertragenen
werden, welche die 9/12-Codierung der übertragenen Informationen ermöglicht,
indem sie dem normalen Zeichen, das aus einem Nonett gebildet ist,
ein Prüfzeichen
hinzufügt
und gleichzeitig die 12 Bit durch ein Startzeichen und ein Stopzeichen
komplettiert. Die 9/12-Codierung wird durchgeführt, damit das über die
serielle Verbindung übertragene
Signal keine Gleichstromkomponente (DC Balance) enthält. Der
Multiplexer (107) empfängt
Signale, die von einer Zustandsmaschine (1021T) der Übertragung über die serielle
Verbindung kommen, die wenigstens einen 2-Bit-Zähler für den Token (Jeton) enthält, wobei
jedes einen Token repräsentierende
Bit die Verfügbarkeit
des zugeordneten Speichers angibt. Der Multiplexer (107)
empfängt
Signale, die von einer Substitutionszustandsmaschine (1022T ) kommen und Signale, die von einer
Port-Initialisierungszustandsmaschine
(1023T ) kommen. Der Ausgang der
Codiereinrichtung (108T ) ist mit
einer Serialisierungsschaltung (109T )
verbunden, deren Ausgang eine serielle Leitung (120) bildet,
die Signale mit einer Geschwindigkeit von 1 Gigabaud versendet.
-
Der Serialisierer ist über eine
serielle Rückkopplungsleitung
(1090) mit einem Deserialisierer (1098) der Empfangsschaltung
des Ports (10a) verbunden. Diese Leitung (1090)
wird über
den Deserialisierer (1098) durch ein Signal Ict03 validiert.
-
Jede in 1b dargestellte Zelle (109)
zur Serialisierung (109T )/ Deserialisierung
(109R ) umfaßt drei Eingangssignale, wovon
ein erstes von dem Sendetaktsignal CKT gebildet wird, das aus anderen Teilen
der integrierten Schaltung (1) kommt.
-
Ein zweites Eingangssignal wird von
dem Signal RSTG zur generellen Reinitialisierung gebildet, das von
dem Mikroprozessor (11a), der der integrierten Schaltung
(1) zugeordnet ist, wie in 2b gezeigt
ist, mittels des (nicht gezeigten) Steuerbusses der integrierten
Schaltung (1) zur integrierten Schaltung (1) geschickt
wird.
-
Ein drittes Eingangssignal wird von
dem Signal RECAL zum Neustart der Kalibrierung des Empfangstakts
für die
Zelle gebildet.
-
Ein viertes Eingangssignal ist die
Ausgangsfreigabe OE (Output Enable) für die Validierung der Ausgänge.
-
Diese Zelle (109) umfaßt zwei
Verzögerungsleitungen,
eine Sendeverzögerungsleitung (LRE)
und eine Empfangsverzögerungsleitung (LRR).
Die Zelle (109) erzeugt zwei Signale: zum einen das Empfangstaktsignal
CKR und zum anderen das Signal CAL, das die Kalibrierung des Empfangstakts
(CKR) anzeigt.
-
Die Verzögerungsleitungen (LRE, LRR)
der Schaltung werden von dieser letzteren verwendet, wenn die Empfangsleitung
Wartesignale (neutrale Nachrichten, Nullzeichen) empfängt, die
aus 6 Bit mit dem Wert 1 und 6 Bit mit dem Wert 0 bestehen, um, indem
ihre Verzögerungsleitung
(LRE) bzw. (LRR) Veränderungen
unterworfen wird, den Takt (CKT bzw. CKR) zu kalibrieren. So wird
der Sendetakt (CKT) auf einen Wert von 12 Nanosekunden eingestellt,
was einer Frequenz von 83 MHz, d. h. derjenigen des Sendens eines
Zeichens von 12 Bit, entspricht, um das korrekte Abtasten der über die
Sendeleitung mit 12 Bit empfangenen Information zu ermöglichen.
Die Empfangsverzögerungsleitung
(LRR) ermöglicht
die Kalibrierung des Empfangstakts CKR mit 83 MHz (1000/12), indem
die Verzögerungsleitung
zu Änderungen
veranlaßt
wird. Diese Anderungen über
der Ver zögerungsleitung
werden mit Hilfe eines DLL-Mechanismus (Delay-Lock Loop) hervorgerufen,
der ermöglicht,
die Kalibrierung durchzuführen
und diese Kalibrierungen an kleine Veränderungen des Empfangssignals
und des Sendesignals anzupassen, wenn es dem Empfangstakt gelungen
ist, sich über
die Ruhezustands-Signale
(idle, neutrale Nachrichtenl Nullzeichen) zu kalibrieren; die Zelle zieht
das Ausgangssignals (CAL) auf den aktiven Pegel hoch.
-
Außerdem empfängt der Multiplexer (107) die
Signale von einer Sendezustandsmaschine. Jeder Sendepufferspeicher
wird von einer Sendepuffer-Management-Zustandsmaschine
(101T ) gesteuert, die Istatus 0:
6, Istrw 0 : 3 empfängt
und das Signal Inrdy sendet.
-
Der Deserialisierer (109R ) ist an eine Decodiereinrichtung (108R ) angeschlossen, die nach dem gleichen
Prinzip wie die Codiereinrichtung (108T )
der Sendeschaltung funktioniert. Diese Decodiereinrichtung der Empfangsschaltung
sendet die 9 Bit jedes Datums in eine Datenassemblerschaltung (104),
um die seriell empfangenen Daten, die in ein Paar von Datenempfangspufferspeichern
(RDBUF), die mit einer Frequenz von 83 MHz arbeiten, geladen worden sind,
in Wörter
mit 8 × 72
Bit zu überführen. Dieses Paar
von Datenempfangspufferspeichern (RDBUF) wird von einer Empfangspufferspeicher-Managementmaschine
(101R ) gesteuert und ist einem
Paar von Befehlsempfangspufferspeichern (RCBUF) zugeordnet, welche
die Nachrichtenvorsätze
enthalten. Der Ausgang der Decodiereinrichtung (108R )
der Empfangsschaltung ist an eine Nachrichtenprüfcode-Schaltung angeschlossen,
die für
Vergleichszwecke ein zyklisches Prüfzeichen CRC (106)
erstellt. Das CRCN+1 wird jeweils nach dem
Empfang von 9 Datenbits aktualisiert, indem das CRC mittels eines
Algorithmus der zyklischen Vertauschung über 16 Bit berechnet wird.
Die von dieser Decodiereinrichtung (108R ) übertragenen
Informationen werden außerdem
zum einen an eine einen Historienpufferspeicher bildende Zustandsmaschine
(1022R ) und zum anderen an eine
Empfangsport-Zustandsmaschine (1021R )
und schließlich
an eine Port-Initialisierungsmaschine
(1023R ) übertragen.
-
Die Empfangspufferspeicher-Management-Zustandsmaschine
(101R ) sendet drei Signale aus
(Connect, Outrdy, Status 0 : 10) und empfängt am Eingang über drei
Leitungen die Informationen (Istrr 0 : 3).
-
Das Signal (Outrdy) gibt an, daß der Ausgang
bereit ist, d. h. es gibt an, daß eine vollständige Nachricht
vorliegt, die darauf wartet, gelesen zu werden. Das Signal Status
gibt den Zustand der Ausgänge
an: Unterbrechungen oder nicht, nicht sichtbare Oerationen oder
nicht, lokaler/entfernter oder Nicht-ISCON-Speicher/Register-Zugriff, Quelle Mikro/Verlagerung
(MOVER) – Slaves,
Antworten aufgezeichnet oder nicht, letzte Nachricht oder nicht,
Datenfehler oder nicht, Speicherzugriff von außerhalb oder nicht, Nachricht
bedeutungslos oder nicht. Das Ausgangssignal Connect gibt an, daß der Port
SLC (100) nicht angeschlossen ist, wenn
dieses Ausgangssignal deaktiviert ist.
-
Die Eingangssignale Istrr ermöglichen
das Lesen der Empfangsports in der Reihenfolge FIFO, und der Befehl,
der das letzte Doppelwort einer Nachricht liest, führt die
Erzeugung eines Datenstrom-Steuerzeichens (Token) herbei, das dem
somit frei werdenden Pufferspeicher zugeordnet ist. Dieses Datenstrom-Steuerzeichen wird
von der Empfangspufferspeicher-Management-Zustandsmaschine (101R ) an die Übertragungs-Management-Zustandsmaschine
und über
diese an den Multiplexer (107) gesendet, um diese Informationen
an den Eingangsport (10c) der Karte (1c), die
während
der seriellen Verbindung dem Empfangsport (109R )
zugeordnet ist, dessen Empfangspufferspeicher RDBUF gerade ausgelesen
worden sind, zu senden. Die Sendepufferspeicher-Management-Zustandsmaschine
(101T ) umfaßt zwei Eingangssignale Istatus
und Istrw und ein Ausgangssignal Inrdy. Dieses Ausgangssignal Inrdy
gibt an, daß es
einen freien Sendepufferspeicher TDBUF gibt, der darauf wartet,
beschrieben zu werden. Die Leitungen Istatus ermöglichen, die zu schreibenden
Nachrichtentypen zu präzisieren
und in Abhängigkeit
vom Wert der ersten beiden Zustandsbits folgende Bedeutungen festzustellen:
00 nicht mehr verwendet; 01 es handelt sich nur um Daten; 10 es
handelt sich um einen Nachrichtenvorsatz (header); 11 es handelt
sich um einen Nachrichtenvorsatz und um Daten. Das dritte Bit, Istatus,
gibt an, ob es sich um die letzte Nachricht handelt oder nicht.
Das vierte Bit gibt an, ob ein Datenfehler vorliegt oder nicht,
und das fünfte
Bit gibt an, ob von außen
auf den Speicher zugegriffen wird oder nicht.
-
Schließlich erlaubt das Signal Istrw,
die Sendepufferspeicher (TDBUF) in der Reihenfolge FIFO zu beschreiben.
Das Signal Istrw, welches das letzte Doppelwort einer Nachricht
schreibt, initialisiert das Senden der Nachricht, sobald ein entfernter
Empfangspufferspeicher (RDBUF) (beispielsweise des Ports 10c)
durch einen mit der seriellen Leitung (120) verbundenen
Empfangsport (109R ) als frei erklärt worden
ist.
-
Der Historienpufferspeicher (I-HB)
hat 16 Eingänge
(4B) und enthält entweder die letzten sechzehn
Zeichen, die über
die Decodiereinrichtung (108R )
von der seriellen Leitung gekommen sind, oder die letzten sechzehn
Steuerzeichen bei Ausschluß der
Nullzeichen. Wenn über
der seriellen Verbindung ein Fehler auftritt, kann das Schreiben
in den Historienpufferspeicher durch einen speziellen Befehl unterbunden
werden, und das Lesen des Speichers erfolgt mittels eines Zeigers
(PHB), der eine durch den Mikroprozessor (11) gesteuerte
zyklische Abfrage des Pufferspeichers ermöglicht. Die Steuerung des Historienpufferspeichers
erfolgt mittels eines Befehlsregisters (ICL1) (4B),
das mit dem Steuerbus CPB verbunden ist.
-
Der Mikroprozessor (11a, 11c)
kann über den
Steuerbus CPB auf den Historienpufferspeicher IHB zugreifen: Das
Befehlsregister ICL1 ist mit zwei Filtern (F1, F2) verbunden. Das
erste Filter F1 läßt, wenn
es von ICL1 aktiviert worden ist, nur die Steuerzeichen passieren
und ist, wenn es nicht aktiviert ist, durchgängig. Das zweite Filter F2
läßt alle
Zeichen, die keine Nullzeichen sind, passieren.
-
Die Substitutionszustandsmaschine
(1022T ) (4A)
umfaßt
einen Substitutionspufferspeicher I-sb mit acht Eingängen, dessen
Inhalt in einem Exklusiv-ODER
(10221) mit dem ausgegebenen Strom (o-s, Out going stream)
der Zeichen über
eine Länge von
7 Zeichen kombiniert wird.
-
Die Substitution beginnt mit dem
letzten Zeichen einer Aktivierungsfolge. Das Zeichen des ausgegebenen
Stroms o-s, das dem letzten gültigen
Zeichen des Sendepufferspeichers TDBUF entspricht, wird in einem
Exklusiv-ODER-Port mit dem ersten Zeichen des Substitutionspufferspeichers
I-sb kombiniert.
-
Bei einem Betrieb ohne Substitution
adressiert der Lesezeiger PL des Substitutionspufferspeichers (I-sb)
das erste Zeichen des Substitutionspufferspeichers (I-sb). Wenn
dieses Zeichen, das null ist, in dem Exklusiv-ODER (10221)
mit den Zeichen des Stroms (o-s) kombiniert wird, verändert es
diese letzteren nicht, und der Strom (o-s) wird an den Multiplexer
(107) übertragen.
-
Ein Aktivierungspuffer (I-tb) mit
zwei Eingängen
bestimmt durch seinen Inhalt, wann die Substitutionskette startet.
Dieser Puffer (I-tb) schickt die Aktivierungsfolge tc zu einem zugeordneten
Komparator (10222), der an seinen anderen Eingängen den
ausgegebenen Zeichenstrom (o-s) empfängt. Dieser Startzeitpunkt
ist gegeben, wenn die Aktivierungssequenz (tc) dem ausgegebenen
Zeichenstrom (o-s) entspricht.
-
In diesem Fall aktiviert der Ausgang
(10224) des Komparators die Inkrementierung (10223)
des Lesezeigers PL, um zu ermöglichen,
daß mit
jedem neuen Zeichen des ausgegebenen Stroms gleichzeitig ein Substitutionszeichen
gesendet wird, das als eines der 8 Zeichen des Pufferspeichers I-sb
von dem Lesezeiger adressiert wird.
-
Dieser Aktivierungspufferspeicher
(I-tb) umfaßt
Informationen (tv), die an dem Vergleich beteiligt sind und, wenn
sie den Wert 00 annehmen, anzeigen, daß von der Substitution kein
Gebrauch gemacht wird. In dem Fall, in dem die Informationen (tv) den
Wert 10 annehmen, ist die Länge
der Aktivierungsfolge gleich 1. Wenn tv gleich 11 ist, umfaßt die Länge der
Aktivierungsfolge zwei Zeichen. Diese Substitutionsschaltung ist
in 4A gezeigt.
-
Ein Schreibzeiger PE, auf den der
Mikroprozessor (11a, 11c) über den Bus CPB zugreifen kann, ermöglicht,
die Substitutionszeichen über
den Bus CPB in den Substitutionspufferspeicher zu laden.
-
Folglich wird erreicht, zu gewünschten
Zeitpunkten mittels der Substitutionsschaltung Fehler einzufügen und
mittels der Schaltung (CRC) diese Fehler zu erfassen. Es ist folglich
möglich,
indem der Port über
die Leitung (1090) und das Befehlssignal Ict03 auf sich
selbst zurückgeschleift
wird, eine korrekte Funktion der Fehlererfassungsschaltungen (CRC)
zu erfassen. Wenn zwei Ports (10a, 10c) angeschlossen
werden, wie in 2B gezeigt ist, wobei diese
beiden Ports über
die integrierten Schaltungen (1a, 1c) mit den
entsprechenden Mikroprozessoren (11a, 11c) verbunden
werden, ist es möglich,
einen internen Selbsttest durchzuführen, der darin besteht, von
dem ersten Prozessor (11a) eine Anforderung zum Schreiben
von 64 Bit zu senden, deren konekter CRC-Wert gespeichert wird.
-
Der Prozessor (11a) zwingt
den Fehlereinleitungsmechanismus dem Port (10a) auf und
fügt in
die Nachricht ein absichtlich falsches Prüfzeichen CRC ein. Dieses Zeichen
wird vom Port (10a) zum Port (10c) der integrierten
Slave-Schaltung (1c) übertragen
und außerdem
in einen zweiten Mikroprozessor (11c) eingekoppelt. Dieser
Port (10c) erfaßt
einen Datenfehler durch Berechnen des CRC-Werts der empfangenen
Nachricht, der nicht dem durch den Einfügemechanismus in die empfangene
Nachricht eingefügten
fehlerhaften CRC entspricht. Diese Fehlererfassung bewirkt das Senden
einer Unterbrechungsnachricht an die Sendeschaltung (1a),
die von dem Prozessor (11a) empfangen wird. Dieser Prozessor
(11a) liest aus der Schaltung des zweiten Ports (10c)
den über
die übertragenen
Daten berechneten CRC-Wert aus und folgert, ob die CRC-Schaltung
konekt gearbeitet hat, indem er verifiziert, daß der gespeicherte CRC-Wert
dem empfangenen CRC-Wert
entspricht.
-
Folglich ist verständlich,
daß mit
diesen in dem Eingangs/Ausgangs-Port einer integrierten Schaltung
einfach umzusetzenden Mechanismen die Fehlererfassung ermöglicht wird,
wobei die Prüfung der
korrekten Funktion der Eingangs/ Ausgangs-Portschaltung in einer
seriellen Verbindung mit hoher Datenrate die Fehlerkonektur selbst
dann gewährleistet,
wenn die Fehlerquote sehr niedrig ist.
-
Die Zurückverfolgung der Fehler geschieht durch
Auslesen der Zeichen aus dem Historienpufferspeicher, die die Fehlererfassungsunterbrechung hervorgeru fen
haben. Dieses Auftreten von Fehlern bewirkt außerdem die Unterbrechung der
Kommunikationsverbindung zum Prozessor, um die Ausbreitung des Fehlers
in der Maschine zu vermeiden.
-
Das Problem besteht bei diesen Übertragungen
jedoch darin, daß sie
entweder Fehler oder aber Rauschen enthalten können. Die Kalibrierung kann weiterhin
richtig sein, jedoch kann ein Fehler auftreten und eine 0 in eine
1 verändern,
was von der Zelle (109) als ein Kalibrierungsfehler interpretiert
wird. Dies erfordert dann die Implementierung eines Verfahrens zum
Initialisieren oder Reinitialisieren der zwischen den beiden weiter
obenbeschriebenen Vorrichtungen EMA und EMC hergestellten seriellen Verbindung.
Von diesen beiden Vorrichtungen wird sich eine, beispielsweise EMA,
und ihr Prozessor (11a), als Master verhalten, während sich
die andere Prüfeinrichtung
der seriellen Verbindung SLC der Vorrichtung EMC als Slave verhalten
wird.
-
Jeder Port der seriellen Verbindung
kann sich in einem der drei folgenden Zustände befinden:
"Unbestimmt";
"Bereit zum Initialisieren";
"Funktionsfähig".
-
Der unbestimmte Zustand ist der Zustand,
in dem sich die serielle Verbindung nach dem Unterspannungsetzen
oder nach einer Störung
befindet. Der Zustand "Bereit
zum Initialisieren" ist
der Zustand, in dem die beiden Ports, die die serielle Verbindung
herstellen, initialisiert werden, d. h, nach der Initialisierung
der Karten, die diese Ports enthalten. Der funktionsfähige Zustand
ist der Zustand, in dem die serielle Verbindung in jeder Richtung
wirksam wird und ein kontinuierlicher Strom von Nullzeichen (idle)
gesendet wird, jedoch keinerlei Daten übertragen werden. In diesem
funktionsfähigen
Zustand arbeitet der Empfangstakt.
-
Der Schritt der Initialisierung der
Ports wird folgendermaßen
ausgeführt:
Reinitialisieren
des Ports, indem ein I-Prüfregister
0 7.2 mit dem Wert 11 geladen wird, was
die Isolierung der Empfangstaktlogik CKR der Schaltung (109)
zur Folge hat;
Reinitialisieren der Sendetaktlogiken CKT und,
Zurücksetzen
der seriellen Verbindung (120, 121) auf null.
-
Dies erfolgt
durch
-
- a- den Mikroprozessor (11a) der Master-Karte EMA, der
die Zelle (109) durch das Senden einer Folge von Nullzeichen
(idle) reinitialisiert, wodurch das Serialisierungssystem nach ungefähr 2400
Sendetaktzyklen CKT kalibriert wird;
- b1- der Mikroprozessor (11a) der Karte EMA trennt die
Verbindung zur Schaltung SLC (10A) und schickt keinerlei
Daten auf den Bus C2LB;
- b2- die integrierte Schaltung (1a) der Karte EMA deaktiviert
die fehlerhafte serielle Verbindung und sendet folglich 0 Volt mit
eventuellem Rauschen über die
fehlerhafte serielle Verbindung;
- b3- die integrierte Schaltung (1a) der Karte EMA setzt ihren
Token-Zähler
auf null, wodurch verhindert wird, daß Nachrichten geschickt werden;
- b4- die Karte EMA reinitialisiert alle Zeiger der Schaltung
SLC. Diese reinitialisieren außerdem
die Fehlerzustände
und die Ursachen der Unterbrechung; woraufhin
- b5- EMA die Nullzeichen/die neutrale Nachricht (idle) sendet.
-
Der Prozessor (11c) der
Karte EMC führt
seinerseits den gleichen Schritt der Initialisierung des Ports (10c)
aus, der die gleichen Oerationen (a, b1, b2, b3, b4, b5) und außerdem eine
Oeration c' der Validierung
des Signals REGAL umfaßt,
das eine periodische Prüfung
der Rekalibrierung der Zelle (109) ermöglicht, wenn die Kalibrierung
aus solchen Gründen,
wie dem Empfang von Rauschen über
der Leitung, die ein Kalibrieren des Takts nicht erlauben, nicht
ausgeführt
werden konnte.
-
Zu diesem Zeitpunkt sind die Sendeschaltungen
der Master-Karte EMA und der Slave-Karte EMC kalibriert. Die Slave-Karte
EMC ist in regelmäßigen Abständen für die Empfangskalibrierung
bereit. Über
die serielle Verbindung wird kein Signal geschickt. Die Karte EMA
wartet auf eine Initialisierung der Verbindung (in 3 im
Zustand 2 RDY dargestellt). Die Karte EMC ist im Wartezustand,
d. h. sie wartet darauf daß ihre
Empfangsschaltung kalibriert wird, was dem Zustand WTCAL von 3A entspricht.
-
Diese Schritte zum Initialisieren
der Ports werden mit einem Initialisierungsverfahren für die eigentliche
serielle Verbindung fortgesetzt.
-
Dieses Verfahren fährt mit
dem Senden eines Kommandos I-Steuerung 0 7 : 2 = 1 fort, das für die integrierte
Schaltung einen Befehl für
den Start des folgenden Schritts darstellt (Start next).
-
Die Initialisierung der seriellen
Verbindung umfaßt:
einen
Schritt d (3B), bei dem der Prozessor
(11a) der Master-Karte EMA den Eingang OE (Output Enable)
der Schaltung (109) von 1b einstellt
und einen kontinuierlichen Strom von Nullzeichen (idle) sendet;
einen
Schritt e1, bei dem der Port (10c) der Slave-Karte EMC
nach dem Empfang einer bestimmten Anzahl von Nullzeichen über die
Leitung seinen Empfangstakt CKR kalibriert und seinen Ausgang CAL auf "1" setzt;
einen Schritt e2, bei dem
die Schaltung SLC der Slave-Karte EMC eine Unterbrechung zum Mikroprozessor
(11c) sendet und das Signal RECAL ungültig macht, da die Empfangsschaltung
des Blocks SLC (10c) bereits kalibriert ist;
einen
Schritt e3, bei dem der mit der Karte EMC verbundene Prozessor (11c)
die Empfangstaktlogik CKR reinitialisiert und bei dem zwei fiktive
Nachrichten (dummy messages) in die Empfangspufferspeicher RDBUF
des Schaltung (10c) der Slave-Karte geladen werden;
einen
Schritt f1, bei dem der Mikroprozessor (11c) der Karte
EMC an die Schaltung (1c) und an den Block-Port (10c)
der integrierten Schaltung (1c) einen Befehl sendet, der
den Eingang OE auf den Wert 1 setzt und während einer ausreichenden Dauer
in der Größenordnung
von 3500 Signalen eine Nullzeichenfolge sendet.
-
Das Verfahren (3B)
geht dann zum Schritt g1 über,
bei dem infolge des Empfangs der Nullzeichen der Takt CKR des Ports
(10a) der Master-Karte EMA kalibriert wird und das Kalibrierungssignal
CAL auf den Pegel 1 gesetzt wird. Der Port (10A)
der Schaltung (1a) der Master-Karte EMA schickt im Schritt
g2 eine Unterbrechung an den Mikroprozessor (11a) der Karte
EMA, und dieser macht das Signal REGAL im Schritt g3 ungültig, da
der Empfangsport von EMA bereits kalibriert ist.
-
Das Verfahren wird mit dem Schritt
g4 fortgesetzt, bei dem die Master-Karte EMA die Empfangstaktlogik
CKR reinitialisiert und die beiden fiktiven Nachrichten in die Empfangspufferspeicher
RCBUF der Schaltung (10a) der Karte EMA lädt.
-
Das Verfahren wird mit dem Schritt
h1 fortgesetzt, bei- dem der Mikroprozessor (11a) der Master-Karte
EMA den Bus L2C mit der Schaltung SLC verbindet, wie im Schritt
5 des Ablaufdiagramms von 3a gezeigt
ist. Der Mikroprozessor (11a) liest die fiktiven Nachrichten
im Schritt h2 und sendet zwei Token-Bits an den Port der Karte EMC.
Diese Token-Bits werden durch eine Oeration des Lesens der beiden
fiktiven Nachrichten, die in den Pufferspeichern RDBUF des Ports
(10a) gespeichert sind, erzeugt.
-
Das Verfahren wird mit dem Schritt
i1 fortgesetzt, bei dem die Schaltung (10c) der Slave-Karte EMC
die beiden Token-Bits empfängt,
woraufhin die Schaltung EMC im Schritt i2 eine Unterbrechung (IT1)
zu dem Mikroprozessor (10c) sendet.
-
Das Verfahren wird mit dem Schritt
j1 fortgesetzt, bei dem der Mikroprozessor der Slave-Karte EMC die
Busse L2C und C2L miteinander verbindet, wie zwischen den Schritten
7 und 8 des Ablaufdiagramms von 3a gezeigt
ist. Danach liest die Karte EMC im Schritt j2 die fiktiven Nachrichten
und sendet im Schritt j3 zwei Token (Jetons) an die Karte EMA, wobei
diese Token durch das Lesen der beiden fiktiven Nachrichten erzeugt
worden sind. Im Schritt j4 setzt der Mikroprozessor (11c)
den Zustand der Schaltung (10c) der Slave-Karte EMC auf
den funktionsfähigen
Zustand. Die beiden Token werden in seinem Token-Zähler registriert
und ermöglichen
dem der integrierten Schaltung zugeordneten Mikroprozessor, jederzeit
den Zustand der Sendeleitungen und die Verfügbarkeit des einen oder des
anderen Pufferspeichers zu kennen.
-
Das Verfahren wird noch mit dem Schritt
k1 fortgesetzt, bei dem die Karte EMA die beiden Token in ihrem
Token-Zähler
empfängt,
und mit einem Schritt k2, bei dem diese Karte eine Unterbrechung IT1
zum Mikroprozessor (11a) der Master-Maschine sendet, woraufhin
der Mikroprozessor bei einem Schritt k3 den Zustand der Schaltung
(10a) der Master-Karte auf den funktionsfähigen Zustand
setzt.
-
Schließlich schlußfolgert der Mikroprozessor in
dem Fall, in dem er nach 15 000 Sendetaktzyklen CKT keine Unterbrechung
IT1 des Schritts k2 empfangen hat, daß die selbsttätige Initialisierung
der seriellen Verbindung fehlgeschlagen ist.
-
Die Portinitialisierungs-Zustandsmaschine (1023)
umfaßt
ein Zustandsregister I-Steuerung 0 6 : 3 mit 3 Bit, dessen sechs
mögliche
Werte, die durch die 3 Bit ausgedrückt werden können, folgende
Bedeutungen haben:
für
den ersten Wert, daß der
Port SLC von L2CB getrennt ist;
für den zweiten Wert, daß der Zähler für die Datenstrom-Steuerzeichen
(Flow Control token counter) auf null gesetzt ist;
für den dritten
Wert, daß die
Zelle (109) der seriellen Verbindung reinitialisiert und
ihr Ausgangssignal OE ungültig
ist;
für
den vierten Wert, daß die
periodische Rekalibrierung über
den anderen Port der Slave-Karte EMC validiert worden ist; für den fünften Wert,
daß die
Empfangstaktlogik CKR von der Sendetaktlogik
CKT isoliert ist,
um die Störung
weiterer Teile der Schaltung für
die Steuerung der seriellen Verbindungen (10a) zu vermeiden,
wenn der Empfangstakt nicht fehlerfrei arbeitet;
für den sechsten
Wert die Reinitialisierung der Sendetaktlogik und aller Pufferzeiger,
der Statusfehler und der Ursachen für die Unterbrechung.
-
Folglich wird mit diesem Initialisierungsverfahren
durch einen einfachen Mechanismus auf der Ebene der integrierten
Schaltung und des Mikroprozessors sichergestellt, daß die Verbindung
fehlerfrei hergestellt wird. Auf der Ebene der Initialisierung der Verbindung
kann als Fehler ein Kalibrierungsfehler erfaßt werden, wenn das Signal
CAL gleich 0 ist.
-
Eine weitere Quelle zur Fehlererfassung
ist der Wert der Token, die auf jeder Seite der seriellen Verbindung
abwechselnd der Token 0 des Pufferspeichers 0 und
der Token 1 des Pufferspeichers 1 sein müssen. Ist
dies nicht der Fall, so zeigt dies das Vorliegen eines Problems
an. Eine weitere Fehlerquelle kann durch das Rahmenprüfzeichen
erfaßt
werden, wenn beispielsweise am Anfang des Rahmens ein unbekanntes
oder unerwartetes Zeichen vorhanden ist oder das Rahmenende fehlt.
Eine letzte Fehlerursache ist schließlich ein Fehler, der über das
Prüfzeichen
CRC erfaßt
wird, wie in 3d gezeigt
ist.
-
Der Verlust der Kalibrierung oder
ein fataler Fehler über
der seriellen Verbindung erzeugt eine Unterbrechung IT2 und bewirkt
den Ablauf des nachfolgend angegebenen Verarbeitungsmechanismus. Ein
Erfassen eines Kalibrierungsverlusts über einen der beiden Ports
(10a, 10c) oder ein Befehl des zugeordneten Mikroprozessors
zur Reinitialisierung der Verbindung löst den folgenden Mecha nismus
entweder auf der Master-Karte EMA oder am Port der Slave-Karte EMC
aus:
Ein erster a" Schritt
zum Isolieren der Empfangstaktlogik. In diesen Fällen ist die Situation die
gleiche wie im Schritt a für
die Master-Karte EMA oder im Schritt a' für
die Slave-Karte a',
was bedeutet, daß für die Karte,
die einen Kalibrierungsverlust oder einen fatalen Fehler erfaßt hat,
das Signal OE (Output Enable) deaktiviert ist und keinerlei Daten
zu der entfernten Empfangsschaltung EMC bzw. EMA übertragen
werden. Da keinerlei Daten übertragen
werden, erfaßt auch
die entfernte Erfassungsvorrichtung einen Kalibrierungsverlust,
und ihr Mikroprozessor startet die symmetrische Prozedur, wobei
die Erfassungstaktlogik ebenfalls isoliert wird.
-
Ausgehend von diesem Zustand sind
die beiden Ports der Master- und der Slave-Schaltung gleich eingestellt
und müssen
beide entsprechend der vorgesehenen Prozedur, die nachfolgend kurz zusammengefaßt wird,
reinitialisiert werden:
Kalibrieren des Empfangsports der Slave-Karte
EMC und Senden einer Unterbrechung zum Mikroprozessor (11c);
Kalibrieren
des Empfangsports der Master-Karte EMA und Senden einer Unterbrechung
an den Master-Mikroprozessor (11a) und Lesen der beiden
fiktiven Nachrichten. Beim Empfang der beiden Datenstrom-Steuerzeichen
(Token) sendet der Empfangsport der Slave-Karte EMC eine Unterbrechung
an ihren Mikroprozessor (11c) und liest die beiden fiktiven Nachrichten.
Beim Empfang der beiden Datenstrom-Steuerzeichen (Token) durch den
Port der Master-Karte sendet diese eine Unterbrechung an ihren Mikroprozessor
(11a).
-
Folglich wird durch diesen einfachen
Mechanismus die Herstellung des funktionsfähigen Zustands der Verbindung
gewährleistet,
wobei klar ist, daß im
Fall eines Kalibrierungsverlusts infolge eines fehlerhaften Empfangs über der
seriellen Verbindung das System diesen Fehler über den Port verbreiten wird,
der sich am anderen Ende der Verbindung befindet, und in einer Initialisierungsprozedur
zu einer gesunden Grundlage zurückkehren
wird.