-
Technisches
Gebiet
-
Die
vorliegende Erfindung betrifft im Allgemeinen fehlertolerante EDV.
Insbesondere betrifft die vorliegende Erfindung Verfahren und Systeme
zum schnellen Umschalten zwischen Netzwerkverbindungen.
-
Hintergrund
der Erfindung
-
Die
Zuverlässigkeit
von computerbasierten Anwendungen ist auch weiterhin ein wichtiger
Gesichtspunkt. Des Weiteren verstärkt die Verteilung von Anwendungen
auf mehrere Computer, die durch ein Netzwerk verbunden sind, insgesamt
das Problem der Systemzuverlässigkeit.
Ein kritisches Anliegen ist die Zuverlässigkeit des Netzwerks, das
die mehreren Computer verbindet. Dementsprechend sind fehlertolerante
Netzwerke als Lösung
zur Gewährleistung
einer Zuverlässigkeit
der Computerverbindung entstanden.
-
Bei
vielen Anwendungen ist die Verbindung zwischen einem einzelnen Computer
und einem Netzwerk eine kritische Stelle für Störungen. Ein Computer ist nämlich oft
nur durch eine einzige physische Verbindung mit einem Netzwerk verbunden.
Wenn diese Verbindung also abbricht, ist die gesamte Verbindungsfähigkeit zu
und von diesem speziellen Computer verloren. Aus diesem Grund wurden
mehrere Verbindungen von einem einzelnen Computer zu einem Netzwerk
implementiert, dies jedoch nicht ohne Probleme.
-
In 1 ist
ein Diagramm eines Computers 11, der mit einem Netzwerk 21 verbunden
ist, dargestellt. Der Computer 11 umfasst eine Netzwerkschnittstelle,
zum Beispiel ein Fast-Ethernet-Interface 13. Eine Verbindung 30 verbindet
das Fast-Ethernet-Interface 13 mit
einem fehlertoleranten Transceiver 15. Der fehlertolerante
Transceiver 15 stellt eine Verbindung her zwischen der
Verbindung 30 und einer von zwei Verbindungen 29 und 31 mit
entsprechenden Fast-Ethernet-Knoten 19 und 17 (diese „Knoten" wie sie hier verwendet werden
sind Netzwerkknoten mit SNMP-Management).
Die Knoten 17 und 19 sind in fehlertoleranter
Weise über
die Verbindungen 23 und 25 mit dem Netzwerk 21 verbunden.
-
Der
fehlertolerante Transceiver 15 kann von einer Vielzahl
von Anbietern erworben werden, zum Beispiel ein Digi Brand Model
MIL-240TX Redundant Port Selector, und die Fast-Ethernet-Knoten 17 und 19 können ebenfalls
von einer Vielzahl von Anbietern erworben werden und können beispielsweise
einen Cisco Brand Model 5000 Series Fast-Ethernet-Knoten umfassen.
-
Im
Betriebszustand fließt
der Traffic in der Regel von dem Fast-Ethernet-Interface 13 über den
fehlertoleranten Transceiver 15 und über eine erste Verbindung 29 oder 31 zu
einem entsprechenden Knoten 17 oder 19 und weiter
zum Netzwerk 21. Die andere der Verbindungen 29 und 31 bleibt
inaktiv. Das Netzwerk 21 und die Knoten 17 und 19 enthalten
Routing-Informationen, die für
den Computer 11 bestimmten Traffic über die oben beschriebene erste
Route leiten.
-
Im
Falle einer Störung
der Netzwerkverbindung schaltet der fehlertolerante Transceiver 15 den
Traffic auf die andere der Verbindungen 29 und 31 um.
Wenn die erste Verbindung beispielsweise 31 war und die Verbindung 31 ist
zusammengebrochen, so würde
der fehlertolerante Transceiver 15 den Traffic auf die
Verbindung 29 umschalten.
-
Wenn
beispielsweise begonnen wird, Traffic vom Computer 11 über die
neue Backupverbindung 29 durch Knoten 19 zu übertragen,
muss das Netzwerkrouting derart rekonstruiert werden, dass der für Computer 11 vorgesehene
Traffic vom Netzwerk zum Port am Knoten 19 geroutet wird,
an dem die Verbindung 29 angeschlossen ist. Zuvor hat das
Routing diesen Traffic zum Port am Knoten 17 geleitet,
an dem Verbindung 31 angeschlossen war.
-
Verschiedene
Probleme entstehen bei der oben beschriebenen Funktionsweise. Zum
Ersten kann der Wiederaufbau des Netzwerkrouting zur Aufnahme von über die
Backup-Verbindung geleitetem Traffic eine längere Zeitspanne in Anspruch
nehmen. Diese Zeitspanne kann von Sekunden bis zu Minuten reichen,
was von Faktoren wie Design der Netzwerkausrüstung abhängt und davon, wo der Fehler
auftritt. Zum Zweiten ist der fehlertolerante Transceiver 15 nur
empfänglich
gegenüber
einem Verlust des physischen Empfangssignals auf dem Drahtpaar von
den Knoten (z. B. 17 und 19) an die Transceiver.
Er ist nicht empfänglich
für einen
Abbruch im separaten Drahtpaar vom Transceiver zum Knoten. Er ist
des Weiteren nur empfänglich
für das
Signal von dem Knoten, mit dem er direkt verbunden ist und prüft nicht
die Backup-Verbindung
auf latente Störungen,
was eine erfolgreiche Wiederherstellung verhindert. Diese Technik
prüft auch
nicht die Knoten selbst.
-
Ein
weiteres Beispiel einer bekannten Technik zum Verbinden eines Computers 11 mit
einem Netzwerk 21 ist in 2 dargestellt.
Netzwerkknoten 17 und 19 und ihre Verbindung miteinander
und mit Netzwerk 21 ist dem aus 1 ähnlich.
Bei dieser Konfiguration ist jedoch jeder der Knoten (z. B. 17 und 19)
mit seinem eigenen Fast-Ethernet-Interface
(z. B. 13 und 14) innerhalb des Computers 11 verbunden.
-
Im
Betriebszustand wird nur eine der Schnittstellen 13 und 14 zu
einem gegebenen Zeitpunkt in aktivem Zustand gehalten. Wenn das
physische Signal zur aktiven Schnittstelle abbricht, wird die Verwendung
der Schnittstelle mit der gestörten
Verbindung aufgegeben und die Verbindung wird über die andere, d. h. die Backup-Schnittstelle hergestellt.
Die Backup-Schnittstelle übernimmt
das Adressieren der ersten Schnittstelle und nimmt die Kommunikation
auf. Leider weist diese Technik die gleichen Nachteile auf wie die
aus 1. Das Rerouting kann eine längere Zeitspanne in Anspruch
nehmen und der einzige Störmodus,
der festgestellt werden kann, ist der einer harten, physischen Verbindungsstörung vom
Knoten zum Transceiver.
-
Die
vorliegende Erfindung beabsichtigt, Lösungen für die oben aufgeführten Probleme
zu bieten.
-
Im
Dokument US-A-4.692.918 ist ein Verfahren zur Durchführung von
Netzwerkrouting und ein System zur Durchführung von Netzwerkrouting beschrieben,
das die Merkmale der Präambeln
von Ansprüchen
1 bzw. 7 aufweisen. Das Verfahren und das System der vorliegenden
Erfindung sind durch die Merkmale der kennzeichnenden Abschnitte
dieser Ansprüche
gekennzeichnet sowie durch optionale, in den anhängigen Ansprüchen angegebene
Merkmale.
-
Wenn
die festgestellte Netzwerkverbindung nicht akzeptabel ist, werden
die Rollen der ersten und zweiten Verbindungen getauscht, um neue
erste und zweite Verbindungen zu erstellen. Anschließend wird über die
neue erste Verbindung eine Nachricht mit einer Absenderadresse des
ersten Knotens an den zweiten Knoten gesendet. Die Absenderadresse
dieser Nachricht erleichtert es den Netzwerkknoten, über das
Routing an den ersten Knoten über
die neue erste Verbindung zu erfahren.
-
Als
Verbesserung kann der erste Knoten einen ersten Port umfassen, der
mit der ersten Verbindung verbunden ist, und einen zweiten Port,
der mit der zweiten Verbindung verbunden ist. Der erste und zweite
Port haben jeweils erste und zweite Netzwerkadressen und der erste
Knoten hat eine Systemnetzwerkadresse. Die periodische Kommunikation
kann vom ersten Port des ersten Knotens mit einer Absenderadresse
des ersten Ports übertragen
werden. Des Weiteren kann die Absenderadresse der gesendeten Nachricht,
wenn die Netzwerkverbindung nicht akzeptabel war, die Systemnetzwerkadresse
des ersten Knotens sein. Die periodische Kommunikation kann auch
eine Ping-Nachricht sein, die die erste Netzwerkadresse des ersten
Ports als ihre Absenderadresse aufweist. Diese Ping-Nachricht kann
den zweiten oder dritten Knoten zum Ziel haben.
-
Wenn
die Ping-Nachricht erfolglos ist, kann eine weitere Ping-Nachricht
vom zweiten Port an den jeweils anderen des zweiten oder dritten
Knotens, der zuvor keine Ping-Nachricht erhalten hat, gesendet werden.
Wenn diese Ping-Nachricht erfolgreich ist, kann das Verfahren den
Rollentausch der ersten und zweiten Verbindungen und das Ping des
zweiten Knotens über
die neue erste Verbindung umfassen.
-
Als
weitere Verbesserung wird der Status der Verbindung zwischen dem
zweiten Port und dem jeweils anderen des zweiten und dritten Knotens,
an den die vorhergehende Ping-Nachricht gesendet wurde, festgestellt.
-
In
einem weiteren Aspekt umfasst die vorliegende Erfindung ein System
zur Implementierung von Verfahren, die den oben beschriebenen entsprechen.
Bei diesem Ausführungsbeispiel
kann ein Link-Manager an den Computer angeschlossen werden und die
Verbindung zwischen dem Computer und den ersten und zweiten Verbindungen
herstellen. Als Implementierungsoptionen kann der Link-Manager beispielsweise
in den Computer integriert sein (z. B. auf einer Hauptplatine des
Computers), auf einer Erweiterungsplatine des Computers angeordnet
sein oder nicht in den Computer integriert sein. Des Weiteren kann
der Computer ein Anwenderarbeitsplatz oder ein Controller sein,
so zum Beispiel ein Industrie- oder Umweltcontroller.
-
Kurze Beschreibung
der Zeichnungen
-
Der
behandelte Gegenstand, der die vorliegende Erfindung darstellt,
wird insbesondere im abschließenden
Abschnitt der Spezifikation dargelegt und der Anspruch darauf deutlich
geltend gemacht. Die Erfindung, sowohl in Bezug auf die Organisation
als auch das praktische Verfahren, wird zusammen mit weiteren Zielen
und Vorteilen der Erfindung jedoch am besten durch den Bezug auf
die folgende detaillierte Beschreibung in Zusammenhang mit den beigefügten Zeichnungen
verdeutlicht, wobei:
-
1–2 bekannte
Systeme zur Durchführung
von fehlertoleranten Netzwerkverbindungen darstellen;
-
3 eine
fehlertolerante Netzwerkverbindungstopologie gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung darstellt;
-
4 ein
funktionales Blockdiagramm des Link-Managers aus 3 gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung ist;
-
5–7 Ablaufdiagramme
von Techniken gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung sind; und
-
8–11 verschiedene
Topologien in Übereinstimmung
mit den Techniken der vorliegenden Erfindung darstellen.
-
Detaillierte
Beschreibung eines bevorzugten Ausführungsbeispiels
-
Gemäß der vorliegenden
Erfindung sind im Folgenden Techniken zum Erstellen einer fehlertoleranten Verbindung
mit einem Netzwerk dargestellt, die die Nachteile der zuvor besprochenen
bekannten Techniken beseitigen. Das bedeutet, dass gemäß der vorliegenden
Erfindung Verbindungsprobleme schnell festgestellt werden können und
durch Aufnahme einer wechselnden (Backup-)Verbindung die Zeiten
für das
Netzwerkrerouting verringert werden.
-
Mit
Bezug auf 3 wird ein Fast-Ethernet-Interface 13 sowohl
mit einem Link-Manager 33 als
auch mit einem Prozessor 31 verbunden. Die topologische
Beziehung zwischen Fast-Ethernet-Interface 13, Link-Manager 33 und
Prozessor 31 variiert je nach Implementierungsanforderungen.
Verschiedene Beispieltopologien werden vorstehend mit Bezug auf 9–12 besprochen, zahlreiche weitere Topologien
werden den Fachleuten auf diesem Gebiet durch die hier aufgeführte Beschreibung
ersichtlich.
-
Die
hier beschriebenen Techniken sind nicht auf Fast-Ethernet-Technologie
beschränkt.
Andere Netzwerktechnologien können
den hier beschriebenen Techniken unterzogen werden, wie zum Beispiel
konventionelle Ethernet-Technologie.
-
Der
Link-Manager 33 ist sowohl mit dem Fast-Ethernet-Interface 13 als
auch dem Prozessor 31 verbunden. Die Verbindung zum Fast-Ethernet-Interface 13 ist
derart, wie sie in der Regel für
eine Netzwerkverbindung verwendet werden würde. Die Verbindung des Link-Managers 33 mit
dem Prozessor 31 geschieht aus Gründen der Konfiguration und
Steuerung. In einem Implementierungsbeispiel können Link-Manager 33 und Fast-Ethernet-Interface 13 jeweils
PCI-Cards innerhalb einer Personal-Computer-Architektur sein. In diesem Beispiel
sind ihre Verbindungen zum Prozessor 31 durch den PCI-Bus
realisiert. Ein Kabel kann das Fast-Ethernet-Interface 13 und
den Link-Manager 33 verbinden.
-
Zwei
Netzwerk-Verbindungen 29 und 31 (zum Beispiel
Fast-Ethernet-Verbindungen)
verbinden den Link-Manager 33 mit den Knoten 19 bzw. 17.
Die Verbindungen 23 und 25 verbinden die Knoten 17 und 19 mit dem
Netzwerk 21, das sie miteinander verbindet.
-
Der
Link-Manager 33 ist insbesondere in 4 dargestellt.
Ein Fast-Ethernet-Interface 41 stellt
die Verbindung (z. B. PCI-Bus-Interface) mit einem angeschlossenen
Hostcomputer her. Das Computer-Interface 45 ist ebenfalls
an den Hostcomputer angeschlossen und erleichtert die Konfiguration
und die Steuerung des Link-Managers 33. Die Fast-Ethernet-Interfaces 47 und 49 bieten
redundante Netzwerkverbindungen. Schließlich verbinden logische Verknüpfungen 43 die
oben beschriebenen Elemente. In einem bevorzugten Ausführungsbeispiel
wird die logische Verknüpfung 43 als
ein ASIC implementiert, die spezifische Implementierung der logischen
Verknüpfung 43 variiert
jedoch in Abhängigkeit
von den Produktanforderungen. Bei anderen Implementierungsbeispielen
könnte
die logische Verknüpfung 43 durch
Verwendung eines programmierten Prozessors, eines feldprogrammierbaren
Gate-Array oder jeglicher anderen Form einer logischen Verknüpfung implementiert
werden, die so konfiguriert werden kann, dass sie die hier beschriebenen
Aufgaben ausführen
kann.
-
Kurz
zusammengefasst senden die Techniken der vorliegenden Erfindung
Test-Nachrichten über jede Verbindung
des Link-Managers an die angeschlossenen Knoten. Ein Abbruch einer
Verbindung oder eine fehlerhafte Verbindung wird aufgrund einer
ausbleibenden Antwort auf eine der Test-Nachrichten festgestellt.
Als Reaktion auf dieses Ausbleiben wird der Traffic über die
verbleibende gute Verbindung geleitet. Um schnelles Protocol-Rerouting
zu erleichtern, wird eine Test-Nachricht über die nun aktive Verbindung
gesendet, die für den
Knoten bestimmt ist, der mit der inaktiven Verbindung verbunden
ist. Diese Nachricht läuft über beide
Knoten, die auf diese Weise beide über das neue Routing erfahren.
Ein Rerouting wird aus diesem Grund schnell erzielt.
-
Insbesondere
werden in 5–6 gemäß einem
Ausführungsbeispiel
Ablaufdiagramme von Betriebstechniken gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung dargestellt. Zu Beginn sendet der Link-Manager
alle TP Sekunden eine Ping-Nachricht an
einen Knoten, der mit der ersten, aktiven Verbindung verbunden ist,
STEP 101. Die Ping-Nachricht umfasst eine Absenderadresse,
die eindeutig dem Link-Manager-Port zuzuordnen ist, der aktuell
zur aktiven Verbindung gehört.
Wenn die aktive Verbindung in Ordnung ist, wird das Ping fortgesetzt,
STEP 101. Es wird ebenfalls eine regelmäßige Überprüfung durchgeführt, um
einen Abbruch des Empfangssignals an der aktiven Verbindungsschnittstelle
festzustellen, STEP 113.
-
Wenn
entweder das Ping der aktiven Verbindung erfolglos ist oder das
Trägersignal
abgebrochen ist, wird ein Test durchgeführt, um zu überprüfen, ob der Status der Backup-Verbindung
gut ist, STEP 105. Wenn die Backup-Verbindung nicht verfügbar ist,
kann keine weitere Maßnahme
unternommen werden und das Ping der ersten Verbindung wird in Erwartung
der Wiederherstellung der aktiven Verbindung oder der Verfügbarkeit der
Backup-Verbindung fortgesetzt. In diesem Zustand kann auch der Hostcomputer
benachrichtigt werden, so dass geeignete Maßnahmen ergriffen werden können, so
zum Beispiel die Eingabe eines störungssicheren Zustands.
-
Wenn
der Status der Backup-Verbindung gut ist, wird der Link-Manager
so konfiguriert, dass der Traffic über die Backup-Verbindung geleitet
wird, STEP 107. Des Weiteren wird eine Ping-Nachricht vom
Link-Manager über
den Knoten, der mit der Backup-Verbindung verbunden ist, zu dem
Knoten gesendet, der mit der ersten, unterbrochenen Verbindung verbunden
ist, STEP 109. Diese Ping-Nachricht enthält eine
Absenderadresse des Computers, der mit dem Link-Manager verbunden
ist. Als Folge davon werden die Knoten, die mit der ersten bzw.
Backup-Verbindung verbunden sind, auf das neue Routing zum Computer
aufmerksam gemacht. Das erleichtert das unmittelbare Routing von
für den
Computer bestimmten Traffic über
die Backup-, d. h. die zweite Verbindung. Schließlich werden die Rollen der
aktiven und Backupverbindungen getauscht und der Vorgang wiederholt
sich, STEP 111.
-
Mit
Bezug auf 6 stellt ein Ablaufdiagramm
eine Technik zum Beibehalten des Status der Backup-Verbindung dar.
Eine Ping-Nachricht wird alle TP Sekunden über die
Backup-Verbindung an ihren entsprechenden Knoten gesendet, STEP 115.
Die Ping-Nachricht enthält
eine Absenderadresse, die eindeutig dem Link-Manager-Port zuzuordnen
ist, der aktuell zur Backup-Verbindung gehört. Wenn die Backup-Verbindung in Ordnung
ist, das heißt,
wenn auf die Ping-Nachricht rechtzeitig geantwortet wird, STEP 117,
wird der Status der Backup-Verbindung auf gut gestellt, STEP 119.
Wenn die Antwort auf die Ping-Nachricht nicht rechtzeitig empfangen
wird, wird der Status der Backup-Verbindung auf schlecht gestellt,
STEP 121. (Es kann auch eine Wartungsaufruf erzeugt werden.
Die Erfindung erleichtert ein Feststellen von latenten Fehlern bei
ungenutzten Pfaden und ihre Reparatur innerhalb des MTBF eines ersten
Fehlers.) In jedem Fall wiederholt der Prozessor den Ping-Schritt,
STEP 115.
-
Gemäß den oben
beschriebenen Ausführungsbeispielen
werden Ping-Nachrichten vom Link-Manager über jede Verbindung zu dem
mit ihnen verbundenen Knoten gesendet. Ein Ausbleiben dieser Ping-Nachrichten
zeigt eine Störung
der Verbindung an, über
die die Ping-Nachricht gesendet wurde. Gemäß dem Ausführungsbeispiel aus 7,
das im Folgenden beschrieben wird, werden Ping-Nachrichten über jede
Verbindung gesendet, sind jedoch für den Knoten bestimmt, der
mit der anderen Verbindung verbunden ist. Auf diese Weise muss eine
Ping-Nachricht einen Knoten überqueren,
um zum Zielschalter zu gelangen, wodurch sowohl die Verbindung vom
Link-Manager zum unmittelbar verbundenen Knoten als auch die Verbindung
zwischen den Knoten überquert
wird. Auf diese Weise kann die unten beschriebene Technik Fehler
in den Verbindungen zwischen dem Link-Manager und jedem Knoten und
der Verbindung zwischen den Knoten lokalisieren. Des Weiteren enthält dieses
Ausführungsbeispiel
Beispielinformationen darüber,
wie mit einer gewöhnlichen
Uhr eine Zeitnachrichtenübertragung
implementiert werden kann.
-
Wie
oben beschrieben, haben die von jedem Port gesendeten Ping-Nachrichten
eindeutige Absenderadressen für
diesen spezifischen Port. Um jedoch schnelles Rerouting zu erleichtern,
verwendet die letzte Ping-Nachricht nach erfolgtem Tausch der Rollen
der Ports die Absenderadresse des angeschlossenen Computersystems.
-
Zu
Beginn wird ein Taktsignal abgewartet, STEP 201. Taktsignale
werden als Grundlage für
hier beschriebene Zeitsteuerungsvorgänge verwendet. Wenn kein Taktsignal
aufgetreten ist, findet kein Vorgang statt. Wenn jedoch ein Taktsignal aufgetreten
ist, wird ein erster Zähler
dekrementiert, STEP 203. Dieser erste Zähler ist so beschaffen, dass
er auf einer 0,5-Sekunden-Basis abläuft (diese Zeit kann jedoch
selbstverständlich
an bestimmte Anwendungsanforderungen angepasst werden).
-
Wenn
der erste Zähler
abgelaufen ist und somit anzeigt, das die 0,5-Sekunden-Spanne abgelaufen ist,
wird eine Ping-Nachricht vom aktiven Port unter Verwendung der Adresse
des aktiven Ports an den Reserveschalter gesendet, STEPS 205, 207.
Wenn die Ping-Nachricht erfolgreich ist, STEP 209, wird
ein zweiter Zähler
mit einem zweiten, 30-Sekunden-Intervall dekrementiert, STEP 211.
Das zweite Zähler-Dekrement wird auch
durchgeführt,
wenn das erste Zähler-Dekrement
nicht im Ablauf der 0,5-Sekunden-Zeitspanne resultierte, STEP 205.
Wenn der zweite Zähler
nicht abgelaufen ist, STEP 213, wiederholt sich der Vorgang
und es wird ein nächstes
Taktsignal abgewartet, STEP 201. Wenn der zweite Zähler abgelaufen
ist, wird eine Ping-Nachricht vom Reserveport unter Verwendung der
Adresse des Reserveports an den aktiven Knoten gesendet, STEP 215.
Wenn die Ping-Nachricht erfolgreich war, STEP 217, wiederholt
sich der Vorgang und es wird ein nächstes Taktsignal abgewartet,
STEP 201.
-
Wenn
die Ping-Nachricht vom aktiven Port zum Reserveschalter erfolglos
ist, STEP 209, wird eine Ping-Nachricht vom Reserveport
an den aktiven Knoten gesendet, STEP 227. Wenn diese Ping-Nachricht
erfolgreich ist, STEP 229, werden die Rollen des aktiven
Ports und des Reserveports und der Knoten vertauscht, STEP 231,
und es wird eine Ping-Nachricht unter Verwendung der Adresse des
Computerarbeitsplatzes vom nun aktiven Port an den aktuellen Reserveschalter
gesendet, STEP 233. Diese Ping-Nachricht erleichtert es den
Knoten, über
den neuen Pfad zum Computer zu erfahren, wodurch Routing-Informationen
korrigiert werden. Des Weiteren wird festgestellt, dass eine Störung des
alten aktiven Ports vorliegt, STEP 235.
-
Zurück zu STEP 215:
Wenn die Ping-Nachricht vom Reserveport an den aktiven Knoten erfolglos
war (STEP 217), wird eine Ping-Nachricht vom aktiven Port
an den Reserveschalter gesendet, STEP 219. Wenn diese Ping-Nachricht
erfolglos ist, wird eine Störung
mit dem Reserveport assoziiert, STEP 223.
-
Zurück zu STEP 227:
Eine Ping-Nachricht wurde vom Reserveport an den aktiven Knoten
gesendet. Wenn diese Ping-Nachricht erfolglos war, muss die aktuelle
Störung
entweder mit den Knoten, dem Netzwerk zwischen den Knoten oder beiden
Ports assoziiert werden. Aus diesem Grund ist es für die folgenden
Schritte äußerst hilfreich, die
Ports und Knoten als „A-Port", „A-Knoten", „B-Port" und „B-Knoten" zu bezeichnen, wobei der
A-Port direkt mit dem A-Knoten verbunden ist und der B-Port direkt
mit dem B-Knoten verbunden ist. Die Vorstellung davon, welcher Port
gerade aktiv ist und welcher Port gerade als Backup verwendet wird,
ist für
die folgenden Schritte nicht von Bedeutung.
-
Wenn
die Ping-Nachricht vom Reserveport an den aktiven Knoten, STEPS 227, 229,
erfolglos ist, wird eine Ping-Nachricht vom A-Port an den A-Knoten
gesendet, STEP 237. Wenn diese Ping-Nachricht erfolgreich ist,
STEP 239, so wird der A-Port als aktiver Port bestimmt,
STEP 241. Anschließend
wird eine Ping-Nachricht vom B-Port
an den B-Knoten gesendet, STEP 243. Wenn diese Ping-Nachricht
erfolglos ist, STEP 245, wird der Fehler mit dem B-Knoten
assoziiert, STEP 247. Wenn die Ping-Nachricht jedoch erfolgreich ist, wird
der Fehler mit dem Netzwerk assoziiert, STEP 249.
-
Wenn
die Ping-Nachricht vom A-Port an den A-Knoten, STEP 237,
erfolglos ist, STEP 239, wird der B-Port als aktiver Port
bestimmt, STEP 251. Dann wird eine Ping-Nachricht vom B-Port an den B-Knoten
gesendet, STEP 253. Wenn diese Ping-Nachricht erfolglos ist, wird ein Fehler
mit beiden Ports assoziiert, STEP 259. Wenn die Ping-Nachricht
jedoch erfolgreich war, STEP 255, wird der Fehler mit dem
A-Knoten assoziiert, STEP 257.
-
Bei
jedem der oben genannten Schritte wird, wenn der Fehler einmal festgestellt
und bestimmt wurde (STEPS 223, 235, 247, 249, 257 und 259),
eine Unterbrechung an den Hostprozessor gesendet (STEP 255), um
eine Mitteilung der Änderung
in der Netzwerkkonfiguration zur Verfügung zu stellen.
-
Die
Techniken der vorliegenden Erfindung können in verschiedenen Topologien
implementiert werden. Verschiedene dieser Topologien wurden beispielhaft
in den 8–11 dargestellt.
-
Bei
jedem der Beispiele kann der dargestellte Computer beispielsweise
ein Arbeitsplatz, ein eingebetteter Prozessor, ein Controller (z.
B. ein Industrie- oder Umweltcontroller) oder ein anderer Computertyp
sein.
-
Beginnend
mit 8 ist ein Computer 11 dargestellt, der
ein Fast-Ethernet-Interface 13 und
einen Link-Manager 33 umfasst, die durch ein Kabel 30 verbunden
sind. Verbindungen 29 und 31 verbinden das System
mit einem Netzwerk. Die spezifische Implementierung und Verwendung
des Computers 11 variiert. In einem Beispiel ist der Computer 11 ein
PCI-Bus-basierter Computer, und das Fast-Ethernet-Interface 13 und
der Link-Manager 33 sind PCI-Interface-Cards. In einem
anderen Ausführungsbeispiel
können
alle Schaltkreise auf einer herkömmlichen
Platine angeordnet sein (z. B. dem Motherboard des Systems).
-
In 9 wurden
die Funktionen des Link-Managers 33 und des Fast-Ethernet-Interface 13 auf
einer einzigen Interface-Card integriert. Diese Card kann beispielsweise
mit ihrem Hostcomputer durch einen PCI-Bus verbunden sein.
-
In 10 ist
das Fast-Ethernet-Interface 13 auf einer Hauptplatine (z.
B. einem Motherboard) des Computers 11 integriert. Der
Link-Manager 33 ist eine periphere (z. B. PCI-)Interface-Card.
-
In 11 kann
das Fast-Ethernet-Interface 13 auf einer Hauptplatine des
Computers 11 integriert sein oder als separate Interface-Card
vorliegen. Der Link-Manager 33 ist
extern vom Computer 11 angeordnet und wird mit diesem durch
Verbindungen 30 und 63 verbunden. Verbindung 63 wird
insbesondere für
Befehle und Steuerung des Link-Managers 33 verwendet und
ist mit dem Computer 11 über einen Kommunikationsport 61 (z.
B. einem seriellen oder parallelen Port) verbunden.
-
Eine
Vielzahl von Techniken stehen für
die Implementierung der hier beschriebenen Techniken zur Verfügung. Die
vorliegende Erfindung hat nicht die Absicht, limitierend in Bezug
auf eine solche Implementierung zu sein, da den Fachleuten des Gebiets
zahlreiche Optionen zur Verfügung
stehen, die in Bezug auf die hier gegebene Beschreibung ersichtlich
sein werden. Implementierungen können
in Form von Software, Hardware oder einer Kombination aus beidem
vorgenommen werden. Dedizierte logische Verknüpfungen, programmierbare logische
Verknüpfungen
und programmierbare Prozessoren können bei der Implementierung der
hier beschriebenen Techniken verwendet werden. Eine spezifisches
Implementierungsbeispiel mit programmierbarer logischer Verknüpfung zur
Implementierung eines einfachen Anweisungssatzes, mit dem die hier
beschriebenen Techniken implementiert werden können, wird detailliert in Anhang
A „HDS
5608-Dual Switched
Ethernet Interface, Version 1.1" beschrieben,
der diesem Dokument beigefügt
ist und durch Bezugnahme in seiner Gesamtheit integriert ist.
-
Obwohl
die Erfindung mit Bezug auf bestimmte bevorzugte Ausführungsbeispiele
in diesem Dokument detailliert beschrieben wurde, können zahlreiche Änderungen
und Varianten durch Fachleute auf diesem Gebiet erzielt werden.
Dementsprechend wird durch die anhängenden Ansprüche beabsichtigt,
alle solche Änderungen
und Varianten abzudecken, die innerhalb des Umfangs der Erfindung
liegen, was definiert ist durch die Ansprüche.
INHALTSVERZEICHNIS
VERSIONSVERLAUF
FÜR HDS
5608
VERSION
1.0 | DEZEMBER
1997 |
VERSION
1.1 | FEBRUAR
1998 FUNKTIONEN ZUR FEHLERBESEITIGUNG, INKL. UMSTRUKTURIERUNG DER REGISTER
ZUR ABLAGE IM SPEICHER AUFGENOMMEN. |
-
1. Entwicklungsziele
-
Die
Dual Switched Ethernet Interface(DSEI)-Platine soll eine Schnittstelle
zwischen einem PC oder einer Workstation mit Standard-PCI-Bus-Steckplätzen und
dem I/A-Hochleistungsnetzwerk
bieten. Dazu sind drei verschiedene, mit Ausnahme der gemeinsamen
PCI-Schnittstelle voneinander unabhängige Schaltungen erforderlich.
-
Die
wichtigste Funktion auf der Platine ist der Link-Manager, der eine
Schaltung zur Sicherstellung der Kommunikationsredundanz zwischen
den einzelnen I/A-Stationen sowie dem ersten Paar Knoten in einem Netzwerk
mit redundanten Ethernet-/Fast Ethernet-Knoten darstellt. Dies beinhaltet
den Pfad von den Stationen über
ggf. vorhandene Hubs und von den Hubs zu den Knoten. Neben dem ersten
Knotenpaar ist die Fehlertoleranz des Netzwerks eine Funktion des
erworbenen Systems.
-
Eine
weitere neue Funktion ist die Schnittstelle zum Time Strobe des
Satellitenempfängers.
Dies ist eine Option, die die Stationen im I/A-Hochleistungsnetzwerk
in die Lage versetzt, ihre Echtzeituhren zu synchronisieren.
-
Die
Platine enthält
außerdem
das Standard I/A-Letterbug-Interface, das erforderlich ist, um die
Identität
der einzelnen Stationen im Netzwerk zu ermitteln.
-
1.1 Beschreibung des Aufbaus
-
Die
Kabelredundanz-Funktion des DSEI akzeptiert das Ethernet/Fast Ethernet
MII (Media Independent Interface) der Hoststation und schaltet es
zwischen zwei Ethernet/Fast Ethernet PHY-Chips im DSEI. Diese steuern
zwei Kabel, um die Knoten im Netzwerk zu trennen, zwischen denen
kein gemeinsamer Fehlermodus bestehen sollte. Das DSEI enthält einen
programmierbaren Link-Manager, der einen der beiden PHY-Treiberchips
sowie dessen Verbindung zum Netzwerk als aktive Verbindung und den
anderen als Standby-Verbindung auswählt. Er überwacht die jeweilige Funktionsfähigkeit
durch Abtasten des entsprechenden Integritätssignals der Verbindung sowie
durch regelmäßiges Absenden
von Heartbeat-Nachrichten
an die erste Knotenebene des Netzwerks, mit dem er verbunden ist,
und überwacht
die Antworten. Wenn er eine Verbindung ermittelt, die nicht betriebsbereit
ist, gibt er den Fehler zur Wartung an; falls der Fehler in der
aktiven Verbindung auftritt, kann er so programmiert werden, dass
er automatisch auf Standby umschaltet.
-
Zur
Zeitsynchronisierung empfängt
die Station zuerst eine Meldung, in der die Zeit angegeben ist,
zu der das Signal erfolgen wird. Das Time Strobe ist ein einfacher
Impuls, der den Prozessor unterbricht, so dass er seine Echtzeituhr
auf die in der vorhergehenden Nachricht angegebene Zeit einstellen
kann. Die Station kann als Master eingerichtet werden, der die Nachricht
und das Signal vom Satellitenempfänger empfängt und diese an die anderen
Stationen verteilt, oder als Slave, der das Signal einfach nur empfängt und
den Prozessor unterbricht. Das Signal setzt auch einen Zähler zurück, der
die Millisekunden des Signals für
eine für
die Software erkennbare, hochauflösende Gesamtzeitreferenz zählt.
-
Das
Letterbug-Interface ist das gleiche, wie es auch in den vorliegenden
I/A-Modulen verwendet wird. Es besteht aus den Eingangs- und Ausgangsports,
die erforderlich sind, um die eindeutigen, festverdrahteten Verbindungen
in den sechs in die Platine eingeschobenen Letterbugs zu erkennen.
Auf diese Weise kann die Software die Modul-Identifikationszeichen
erkennen, die sie darstellen.
-
1.2 Zweck des Aufbaus
-
Der
Hauptzweck des Aufbaus besteht darin, in der Station das gleiche
Niveau an Kabelredundanz und Fehlererkennung aufrecht zu erhalten
wie im vorliegenden I/A-Netzwerk,
während
die Netzwerkleistungen mit Hilfe von handelsüblichen Fast Ethernet-Knoten aufgerüstet werden,
die von sich aus keine derartigen, schnellen, schaltungsredundanten
Stationsverbindungen unterstützen.
Er unterstützt
zudem hardwareseitig die Time Strobe- und Letterbug-Funktionen,
die für
I/A, den handelsüblichen
PC oder die Workstation, in denen er eingesetzt wird, spezifisch
sind.
-
1.3 Ziele des Aufbaus
-
Das
Ziel der DSEI-Platine besteht darin, die Station, in der sie eingesetzt
wird, in das I/A Hochleistungsnetzwerk zu integrieren und eine Wiederbereitschaftszeit
nach einem Kommunikationsausfall zwischen Peergroup-Stationen von
höchstens
einer Sekunde aufrecht zu erhalten.
-
1.4 Wechselbeziehungen
im System
-
Die
gleiche Link-Manager-Schaltung wird in jeder Station verwendet,
die redundante Netzwerkschnittstellen aufweist. In jedem Fall wird
sie an die MII-Standardschnittstelle des Fast Ethernet-Controllers
des Hosts angeschlossen, der Ausgang besteht aus zwei RJ-45-Steckern für die Ports
A und B, die an das Netzwerk angeschlossen werden. Ein rotes UTP-Kabel der Kategorie
5 wird verwendet, um den Port A mit dem Knoten A eines redundanten
Paars zu verbinden, ein ähnliches
grünes
Kabel wird verwendet, um den Port B an den Knoten B dieses Paars
anzuschließen.
Die Initialisierung und Steuerung des Link-Managers wird mit Hilfe
einer Standard PCI-Schnittstelle gewährleistet.
-
Für den Einsatz
in handelsüblichen
Prozessoren wird die DSEI-Schaltung auf eine Standard PCI-Platine
gepackt, die einen Steckplatz belegt. Sie wird entweder auf der
Hauptplatine oder auf einer separaten PCI-Karte mit einem Standard-MII-Kabel
und -Stecker an einen Fast Ethernet-Controller angeschlossen. Um diese
handelsüblichen
Prozessoren weiter in das I/A-System
zu integrieren, enthält
diese Platine außerdem ein
Standard I/A-Letterbug und Interface sowie eine Schnittstelle zum
Empfang und zur optionalen Weiterleitung eines I/A-Zeitsynchronisierungssignals.
-
Für den Einsatz
mit Foxboro-Prozessoren wird die Schaltung auf der Hauptprozessor-Platine
gepackt, wo sie direkt an den PCI-Bus und das MII des Fast Ethernet-Controllers
angeschlossen wird. Bei Z-Modulen werden die beiden Netzwerkverbindungen über den
I/O-Stecker des
Moduls hergestellt. Der Letterbug und das Zeitsynchronisierungssignal
befinden sich an anderer Stelle der Prozessor-Hauptplatine.
-
Falls
für das
Netzwerk Glasfaserverbindungen erforderlich sind, werden diese im
Fall von handelsüblichen
Prozessoren von einem externen Kabel-Faser-Konverter bzw. im Fall
von Foxboro-Modulen von einem Faser-Uplink von dem entsprechenden
Hub zu Verfügung
gestellt. In beiden Fällen
muss das Gerät
ein Signal für
die Verbindungsintegrität
liefern.
-
Die
gleiche Schaltung soll in allen zukünftigen Produkten eingesetzt
werden, die redundante Verbindungen zum Switched Ethernet/Fast Ethernet-Netzwerk
benötigen,
mit einigen Variationen in Bezug auf die Packung, ähnlich den
oben beschriebenen.
-
Das
Time Strobe wird in der Regel von dem Satellitenempfänger über eine
Master-Station empfangen, die es an alle anderen Stationen in der
Anlage, die es benötigen, über ein
entstörtes,
in Reihe geschaltetes, verdrilltes Leitungspaar und RS-485 Transceiver
verteilt. Weitere Einzelheiten finden Sie in HDS 5624.
-
2. Referenzunterlagen
-
- FSD C01E: Aufrüstung von Plattformen für eine hochleistungsfähige und äußerst zuverlässige Datenerfassung und
Control-Marker.
- CPS 5591: Hardware/Software-Änderungen
für hochleistungsfähige und äußerst zuverlässige Datenerfassung
und Control-Marker
- HDS 5563: Fast Ethernet-Steuerprozessormodule
- HDS 5624: Hardware zur Computer-Zeitsynchronisierung
- HDS 1017: Modul-Identifikatoren
- PCI Local Bus-Spezifikation Version 2.1, PCI Special Interest
Group, Juni 1995.
- Neuer Produktkatalog, PLX Technology, Juli 1997.
- Datenblatt LXT970, Fast Ethernet Transceiver, Level One Communications,
Inc. Version 1.1, Mai 1997
-
3. Funktionsspezifikationen
-
3.1 Interne Hardware-orientierte
Funktionen
-
Die
Link-Manager-Hardware besteht aus einem programmierbaren Logik-Chip
und einem 32K × 8
bit Link-Manager-Speicher, der als Zwischenspeicher für Programme
und Nachrichten verwendet wird. Der programmierbare Chip wird durch
Befehle des Hosts gesteuert, mögliche
Fehler werden durch Interrupts erfasst und signalisiert und in einem
Statusregister aufgeführt.
-
Wenn
der Befehl erfolgt, Nachrichten zu übertragen, werden Programmcode
und Daten des Link-Manager-Speichers verwendet, der im PCI-Speicher
abgebildet ist und vor einem solchen Vorgang heruntergeladen werden
muss. Dieser beinhaltet einen Satz an „festen" Nachrichten, die übertragen werden müssen, sowie ein
Steuerprogramm, mit dem diese eingesetzt werden können, um
den Zustand der Netzwerk-Schnittstelle zu ermitteln und die Kommunikation
innerhalb der Peer-Group aufrecht zu erhalten.
-
Während der
Ausführung
steuert der Link-Manager-Chip den Zugriff auf seine eigenen Register
und auf den Link-Manager-Speicher, um Interferenzen zwischen dem
Prozessor und seinen eigenen Arbeitsschritten zu verhindern. Er
muss durch Ausgabe eines I/O-Befehls angehalten werden, wobei die
Ausführung
im Statusregister überprüft wird,
ehe auf den Link-Manager-Speicher
zugegriffen werden kann.
-
Die
physikalischen Ports auf der Platine werden mit Port A und Port
B bezeichnet. Diesen physikalischen Ports wird vom Link-Manager
jeweils eine logische Rolle zugewiesen: aktiv oder standby.
-
3.2 Beschreibung der Firmware
-
Zur
automatischen Konfiguration der internen Register der PCI 9050-1
und des Altera EPF6016 beim Start werden EEProms verwendet. Der
Algorithmus und die Daten des Link-Managers werden über den Host-Prozessor in den
Link-Manager-Speicher heruntergeladen. Eine Beschreibung des Link-Manager-Algorithmus
finden Sie im Kapitel Architektur.
-
3.3 Diagnose
-
Da
das DSEI in handelsüblichen
PCs und Workstations eingesetzt werden soll, gibt es keine Fehlerdiagnose
beim Einschalten. Eine Produktionsdiagnose wird weiterhin erforderlich
sein, um die ersten Platinen zu prüfen, bis eine GenRAd-Vorrichtung
zur Verfügung
steht.
-
4. Funktionsprinzip
-
4.1 Architektur
-
Die
DSEI-Karte für
den Einsatz mit handelsüblichen
Workstations und Dateiservern beinhaltet drei voneinander unabhängige Funktionen.
Die wichtigste ist der Link-Manager zur Aufrechterhaltung von zwei
fehlertoleranten Verbindungen zum Netzwerk. Die Karte enthält auch
die Identifikatoren des Foxboro-Letterbug-Moduls sowie eine Time
Strobe-Schnittstelle für Übermittlung
und Empfang von exakten Time Strobes über das Netzwerk.
-
4.1.1 Der Link Manager
-
Der
Link-Manager ist ein spezieller Prozessor, der als Agent für die Kommunikationssoftware
dient, da diese nicht über
die Verbindungen auf niedrigster Ebene und über die physikalische Steuerung
der Ebenen verfügt,
um die gewünschten
Funktionen permanent in Echtzeit auszuführen. Das erforderliche Programm
sowie die Daten werden als Systemkonfigurationszeit auf den Link-Manager
heruntergeladen; dieser arbeitet anschließend autonom, um die Verbindungen
zum Netzwerk aufrecht zu erhalten.
-
4.1.1.1 Speicher und Register-Adressierung
-
Register
und Befehle verwenden den lokalen Adressraum 0 des PLX-Chips, der
in Form von 16 I/O-Speicheradressen auf der Basis der PCI-Basisadresse
0 konfiguriert werden sollte. Programme und gespeicherte Nachrichten
sind auf einem 32K × 8-Speicherchip
enthalten, der als lokaler Adressraum 1 des PLX-Chips adressiert
und als 32K-Speicherraum auf der Basis der PCI-Basisadresse 1 konfiguriert
ist.
-
Neben
der oben beschriebenen Host-Adressierung gibt es auch lokale 4-bit-Registeradressen
(LREG 3,0), die vom Link-Manager-Programm verwendet werden. Auf
einige Register kann nur über
den Host zugegriffen werden, auf andere über den Link-Manager und auf
einige über
beide.
-
4.1.1.2 Register
-
- Lokaler Adressraum 0 (I/O)
- Adress-Offset = OH
- Nur Schreibzugriff – Daten
werden nicht berücksichtigt
-
-
Ausführung des
Stopp-Befehls und Schalten des Link-Managers in den Stopp-Modus,
der zum Herunterladen in den Link-Manager-Speicher bzw. das Register
erforderlich ist. Der Stopp-Status muss durch Auslesen des Statusregisters
vor dem Herunterladen überprüft werden.
Lokaler
Adressraum 0 (I/O)
Adress-Offset = 1H
Lest-/Schreibzugriff
im Stopp-Modus Steuer-Register
RN Durchlauf-Start. Die Einstellung startet die
permanente Programmausführung
unter der Adresse in IP.
SS Bei der Einstellung mit Durchlauf
wird die Ausführung
eines Schritts einer Anweisung unter der IP-Adresse eingeleitet.
Nach der Fertigstellung werden die Inhalte der internen Register
in den oberen Bereich des Speichers geladen, um die Fehlerbeseitigung
zu unterstützen,
Durchlauf und Stopp werden gelöscht.
MD10 Ändert den
Kommunikations-Takt auf 10 MHz für
Standard-Ethernet. Eingesetzt in Verbindung mit einer von der Software
initiierten automatischen Einstellung.
AP Zugewiesener Port
für die
Kommunikationsvorgänge.
0 = Port A, 1 = Port B.
CTL Zusätzliche Steuerbits für zukünftige Anwendungen
IMSK
Interruptmasken-Bits. 0 gibt das entsprechende Interrupt frei, 1
sperrt das entsprechende Interrupt. IMSKO = Link-Manager, IMSK1
= Time Strobe.
Lokaler Adressraum 0 (I/O)
Adresse = 2H,
nur Lesezugriff
LREG = 2H
-
-
Statusregister
-
- LA = 1 Fehler im Signal für die Verbindungsintegrität am Port
A.
- LB = 1 Fehler im Signal für
die Verbindungsintegrität
am Port B.
- E5–E0
= Fehlercode zur Definition des Netzwerkfehlers im Host.
- Lokaler Adressraum 0 (I/O)
- Adresse = 3H, Nur Schreibzugriff
- LREG = 3H
-
-
Beide
Bits werden gesetzt, um den Host zu unterbrechen und werden vom
Host nach dem Auslesen gelöscht.
LM
= 1 Interrupt des Link-Managers
TS = 1 Interrupt des Time Strobes
Lokaler
Adressraum 0 (I/O)
Adresse = SH, Lese-/Schreibzugriff bei Stopp
LREG
= Kein Zugriff
-
-
Befehlspointer unteres
Byte
-
- Lokaler Adressraum 0 (I/O)
- Adresse = 6H, Lese-/Schreibzugriff bei Stopp
- LREG = Kein Zugriff
-
Befehlspointer
oberes Byte
-
- Kein Zugriff über
den Host
- LREG = OH
- Lese-/Schreibzugriff
-
-
Dieses
Register enthält
die Werte, die zur automatischen Rücksetzung des Zählers verwendet
werden, der einen 41,9–43
ms Impuls (die Periode von 25 MHz/2^20) für die Hardware zählt, um
den Echtzeituhr-Impuls zu gewährleisten.
Es gibt für
1 ns den TICK-Impuls nach dem Erreichen der Null zur Initiierung
der einzelnen Scheduler-Durchgänge
und zum Abwärtszählen der
Timeout-Zähler.
Ein Registerwert von 05H erzeugt beispielsweise eine TICK-Periode
von ca. 200 ms. Der Wert sollte anhand eines Kompromisses zwischen
der kürzesten
erfassten Periode, dem Ping-Timeout, und der längsten erfassten Periode, der
Ping-Rate des Standby-Kanals,
eingestellt werden.
Kein Zugriff über den Host
LREG = OH
Lese-/Schreibzugriff Flag-Register
Z Flageinstellung Null durch Vorgänge, die
das Ergebnis Null im Akkumulator erzeugen.
T0 Einstellung durch
ein Timeout-Ergebnis der Ping-Anweisung.
T1 Einstellung durch
eine Rückwärtszählung des
Echtzeituhr-Registers (Tick) bis auf Null. Rücksetzung muss durch eine programmierte
Logikanweisung erfolgen.
F4–F0 Programmierbare Flags,
die für
die Programmablauf-Logik verwendet werden können.
-
4.1.1.3 Interrupts
-
Auf
dem PLX 9050-1-Chip sind alle Interrupts zwischen der DSEI-Platine
und dem PCI Bus-Interrupt für den Steckplatz,
in dem er angeordnet ist, abgebildet. Darauf sind zwei maskierbare
Hardware-Interrupts plus ein Software-Interrupt definiert; das Interrupt-Steuerungs-/Statusregister
enthält
die jeweiligen Freigabe-, Status- und Polaritäts-Steuerbits sowie eine Master-Freigabe.
Aufgrund eines Fehlers im ursprünglichen
Chip sind diese im Betrieb nur schwer zu unterscheiden, daher wird
nur das Standard-Hardware-Interrupt verwendet: Local Interrupt 1.
Es sollte für
aktive, höhere
Operationen konfiguriert und beim Einschalten freigegeben werden.
-
Die
Steuer- und Interruptregister beinhalten separate Masken- und Interruptbits
für Link-Manager und Time
Strobe. Diese steuern den Local Interrupt 1 des PLX-Chips. Interrupt-Maskenbits verhindern
ein Interrupt, wenn sie auf eins eingestellt sind. Interruptregister-Bits
definieren die Ursache für
das Interrupt, wenn sie eingestellt sind, und werden nach dem Auslesen
gelöscht.
Die Ursachen für
ein Link-Manager-Interrupt sind im Fehlercode des Statusregisters
definiert. Die einzige Ursache für
ein Time Strobe-Interrupt ist der Empfang des Strobeimpulses.
-
4.1.1.4 Befehlsvorrat
-
Der
Befehlsvorrat ist so konzipiert, dass er beim Senden gespeicherte
Ping-Nachrichten an die Netzwerkknoten unterstützt und auf der Antwort als
auch auf der Implementierung von Echtzeitzählern für die Rechenzeitvergabe beruht.
Er beinhaltet außerdem
Logik- und Verzweigungsvorgänge
für deren
Formsequenzen zur Lokalisierung von Fehlern und zum Fällen intelligenter
Routing-Entscheidungen.
PING: Übertragung von Ping-Nachricht
und Text als Antwort. Geht innerhalb eines bestimmten Zeitraums
keine Antwort ein, wird TOFLAG gesetzt, andernfalls wird TOFLAG
gelöscht.
CH
= 0 Übermittlung
eines Pings an A
CH = 1 Übermittlung
eines Pings an A
Abwärtszähler: Zähler wird zurückgesetzt
und ZFLAG wird gesetzt, wenn der Zähler Null erreicht, andernfalls wird
ZFLAG gelöscht.
LD (OP = 1111) LD-Register
mit Direktdaten und Einstellung/Löschen von ZFLAG
AND (OP = 1100) AND-Register
mit Direktdaten, Laden ins Register und Einstellung/Löschen von
ZFLAG.
OR (OP = 1101) OR-Register mit Direktdaten, Laden ins
Register und Einstellung/Löschen
von ZFLAG.
XOR (OP = 1110) XOR-Register mit Direktdaten, Laden
ins Register und Einstellung/Löschen
von ZFLAG.
AND (OP = 0100) AND-Register mit Direktdaten und
nur Umsetzung/Löschen
von ZFLAG.
OR (OP = 0101) OR-Register mit Direktdaten und nur
Umsetzung/Löschen
von ZFLAG.
XOR (OP = 0110) XOR-Register mit Direktdaten und
nur Umsetzung/Löschen
von ZFLAG.
LREG ist die lokale Registeradresse des Link-Managers.
ZFLAG-Einstellung,
wenn das Ergebnis gleich Null, andernfalls wird ZFLAG gelöscht.
Beispiel:
1110 0001, 0001 0000 setzt eine XOR-Operation zur Ergänzung von
Bit 4 des Steuerregisters um, und zwar mittels der Umschaltung der
aktiven Port-Zuweisung.
JMP: Gehe zur Jump-Adresse, wenn die
Bedingung wahr ist.
-
-
4.1.1.5 Funktion des Link-Managers
-
Der
Link-Manager soll mit der folgenden Netzwerk-Konfiguration arbeiten:
-
-
Jede
Station ist innerhalb des Netzwerks aus Gründen der Redundanz an zwei
verschiedene Knoten angeschlossen. Diese sind jeweils direkt miteinander
verbunden, wenn sie sich auf einer höheren Ebene des Netzwerks befinden;
andernfalls sind sie über
das Netzwerk der höheren
Ebene miteinander verbunden. Die Stationen auf einem derartigen
Knotenpaar stellen eine Prozesssteuerungs-Peergroup dar, die den
Kontakt mit den anderen aufrechterhalten muss, wobei eine einzelne
Fehlerbedingung nicht mehr als eine Sekunde Kommunikationsausfall
zur Folge haben darf. Längere
Wiederherstellungszeiten sind in höheren Netzwerkebenen zulässig.
-
Der
Link-Manager jeder Station testet normalerweise seine Verbindung
zu beiden Knoten, da Verbindungsausfälle ihn oder andere Stationen
auf einen der Knoten festlegen können.
Sollte einer der Knoten jedoch selbst ausfallen, müssen alle
Stationen dies erfassen und unabhängig voneinander auf den verbleibenden
Knoten umschalten. Sollte die Verbindung zwischen zwei Knoten ausfallen,
unabhängig
davon, ob diese direkt oder über
das Netzwerk erfolgt, müssen
alle Stationen dies erkennen und den gleichen Knoten gemäß einer
entsprechenden Vorkehrung verbinden.
-
Jeder
Station sind drei verschiedene MAC-Adressen zugewiesen, eine für die Station
selbst, eine für die
Betriebsvorgänge
und eine für
jeden Port, die vom Link-Manager zum Senden und Empfangen von Testnachrichten
verwendet werden.
-
Ein
vereinfachtes Ablaufdiagramm des wichtigsten Algorithmus zum Verbindungsmanagement
ist im Folgenden aufgeführt.
Es beginnt mit einer Scheduler-Schleife,
die bei jedem Impuls der Echtzeituhr abläuft. Bei jedem Durchlauf dieser
Schleife werden die Zähler
für jede
geplante Operation um eins zurückgesetzt, wenn
sie Null erreichen, werden die Verbindungstests durchgeführt. Der
aktive Kanal wird jede halbe Sekunde getestet. Der Standby-Kanal
wird ebenfalls jede halbe Sekunde getestet, um latente Fehler zu
erfassen.
-
Der
normale Verbindungstest besteht aus Ping-Nachrichten von jedem Port,
die an den zu dem Knoten, an den sie angeschlossen sind, entgegengesetzten
Knoten gesandt werden. Auf diese Weise werden die Stationsverbindung,
beide Knoten sowie der Port zwischen ihnen getestet. Sollte einer
dieser Tests fehlschlagen und der andere nicht, impliziert dies
den Verlust dieser Stationsverbindung, da die anderen Fehlerquellen für beide
Tests gleich sind. Wenn der Standby-Kanal gestört ist, wird dies einfach zur
Wartung an den Host gemeldet.
-
Sollte
jedoch der Test des aktiven Kanals fehlschlagen, werden die Rollen
des aktiven und des Standby-Ports vertauscht. Eine Ping-Nachricht
mit der Stationsadresse wird dann über den neuen aktiven Port
und Knoten an den alten aktiven Knoten gesandt. Dies bewirkt, dass
jeder Knoten entlang des Pfades die Stationsadresse dem Port zuordnet,
an dem diese Nachricht empfangen wurde, wodurch sämtliche
Betriebsvorgänge effektiv
vom alten aktiven Knoten zum neuen aktiven Knoten und Port umgeleitet
werden, auf den die Station verschoben wurde.
-
Sollten
beide Tests fehlschlagen, bedeutet dies, dass einer der beiden Knoten
ausgefallen ist oder dass die Verbindung zwischen ihnen ausgefallen
ist. In diesem Fall wird jeder Knoten getestet, indem ihm direkt
vom Port aus, an den er angeschlossen ist, eine Ping-Nachricht gesandt
wird. Wenn einer der beiden Knoten ausgefallen ist, schaltet die
Station auf den noch funktionierenden Knoten um. Falls beide Knoten
im Test für
gut befunden werden, ist die Verbindung zwischen ihnen gestört und alle
Stationen schalten willkürlich
auf Port A. Wenn sich beide Knoten im Test als gestört erweisen,
dann sind beide Knoten oder die Verbindungen mit ihnen gestört. Dies
ist ein Mehrfachfehler, der nicht durch den Link-Manager behoben werden kann, die Situation
wird jedoch an den Host weitergemeldet, der dann die entsprechenden,
lokalen Failsafe-Maßnahme ergreifen
kann.
-
4.1.1.6 Debugging-Funktionen
-
Eine
Einzelschritt-Funktion mit einem Dump der internen Register in den
Speicher ist vorgesehen, um das Debugging des Link-Manager-Codes
zu unterstützen.
Nach jeder Einzelschritt-Operation werden die Inhalte der folgenden
Register an die angegebenen Speicherorte des Link-Managers verschoben.
-
-
LINK-MANAGER
ABLAUFDIAGRAMM
-
4.1.2 Time Strobe des
Satellitenreceivers
-
Der
Satellitenreceiver sendet eine Tageszeit-Nachricht, gefolgt von
einem separaten Time Strobe, einem einzelnen Impuls, der diese Zeit
durch seinen Anfang kennzeichnet. Die Nachricht wird über eine
separate Kommunikation empfangen. Der Time Strobe wird von der DSEI-Platine
jeder Station empfangen und verwendet, um den Prozessor zu unterbrechen.
-
Nur
eine I/A-Station empfängt
diese Nachrichten und Impulse direkt vom Satelliten, die über eine RS-232-Verbindung
und Strobe Interrupt empfangen werden. Sie fungiert als Master-Station und verteilt
diese so oft, wie es erforderlich ist, über das I/A-Netzwerk und den
Strobe Interrupt jeder Station an den Rest der Anlage. Eine Master-Station
richtet ihr Time Strobe-Steuerregister
ein. Alle anderen Stationen müssen
dieses Register auf Null setzen. Time
Strobe-Steuerregister
Lokaler Adressraum 0
Adress-Offset = 8H
Lese-/Schreibzugriff
DRV
= 1: Steuerung des Time Strobe-Bus direkt als Ausgang dieses Bits.
ENB
= 1: Freigabe jedes Impulses vom Satellitenempfänger zur Steuerung des Time
Strobe-Bus.
SKP = 1: Freigabe eines Impulses vom Satellitenreceiver
zur Steuerung des Time Strobe-Bus nach Überspringen der Anzahl an Impulsen,
die in C3–C0
spezifiziert sind.
-
Für eine hochauflösende Zeitsteuerung
ist auf der Platine ein Zähler
mit Lese-/Schreibzugriff vorhanden, der vom Time Strobe zurückgesetzt
wird und die Sekunden in einzelnen Millisekunden zählt. Hochauflösende High-Byte-Zeitsteuerung
Lokaler Adressraum 0
Adress-Offset = 9H
Nur
Lesezugriff
-
Hochauflösende High-Byte-Zeitsteuerung
-
- Lokaler Adressraum 0
- Adress-Offset = AH
- Nur Lesezugriff
-
-
4.1.3 Die Foxboro-Letterbugs
-
Die
Foxboro-Letterbugs sind eindeutige, festverdrahtete Stecker für jedes
alphanumerische Zeichen, von denen in der Regel sechs in jedem IA-Stationsmodul
als Modul-Identifikator integriert sind. Sechs sind zudem in der
PCI-Version des DSEI enthalten, um die Station, in der es verwendet
wird, für
das übrige
Netzwerk zu kennzeichnen.
-
Die
Foxboro Letterbug-Schnittstelle liest die sechs codierten Letterbugs
auf elektrische Weise aus. Sie besteht aus zwei adressierbaren Letterbug-Selektorports,
die durch zwei separate Steuerbits von einem dritten Port freigegeben
werden, und einem Eingangsport mit Schreibzugriff, an dem der Letterbug-Code
ausgelesen werden kann. Low
Byte Letterbug-Selektorport
Adress-Offset = BH
Lokaler Adressraum 0
Schreib-/Lesezugriff High
Byte Letterbug-Selektorport
Lokaler Adressraum 0
Adress-Offset = CH
Schreib-/Lesezugriff
-
Letterbug Pinfreigabe
-
- Lokaler Adressraum 0
- Adress-Offset = DH
- Schreib-/Lesezugriff
-
Letterbug
Codeeingabe-Port
-
- Lokaler Adressraum 0
- Schreib-/Lesezugriff
- Adress-Offset = EH
-
Pin
0 wird für
einen bestimmten Letterbug hoch gesteuert, wenn sein Bit im Low
Byte Letterbug-Selektorport auf Eins gesetzt und ENP0 zur Freigabe
der Pin 0-Treiber auf Eins gesetzt ist. Durch die eindeutigen Verbindungen
zu P0 wird für
jedes Zeichen ein Diodenarray zum Letterbugcode-Eingangsport angesteuert,
wo der daraus resultierende Letterbug-Code ausgelesen werden kann.
-
Pin
7 wird für
einen bestimmten Letterbug hoch gesteuert, wenn sein Bit im High
Byte Letterbug-Selektorport auf Eins gesetzt und ENP7 zur Freigabe
der Pin 7-Treiber auf Eins gesetzt ist. Durch die eindeutigen Verbindungen
zu P7 wird für
jedes Zeichen ein Diodenarray zum Letterbugcode-Eingangsport angesteuert,
wo der daraus resultierende Letterbug-Code ausgelesen werden kann.
-
ENP0
und ENP7 sollten normalerweise auf dem Ausgangswert bleiben und
nicht beide gleichzeitig auf Eins gesetzt werden. Jeder Letterbug
sollte nacheinander ausgewählt
werden: EMP0 auf Eins setzen, Letterbug-Code auslesen, ENP0 löschen und
ENP7 auf Eins setzen, Letterbug-Code erneut auslesen und ENP7 löschen.
-
Weitere
Informationen zum Letterbug-Decodierungsschema finden Sie unter
Foxboro HDS 1017 „MODUL-IDENTIFIKATOREN".
-
4.2 Bus-Beschreibungen
-
Der
PCI-Bus wird mit Hilfe eines PLX Technologies PCI 9050-1-Chips in
einen lokalen 8-bit-Bus
mit Adresse, Daten und Strobe-Signalen konvertiert. Der programmierbare
Logik-Chip und der
Link-Manager Memory-Chip sind nämlich
auf diesem lokalen Bus gespeichert. Der Chip bietet auch Interrupts,
programmierbare Chip-Selects und die PCI-Konfigurationsregister für die Plug-and-Play-Schnittstelle.
Alle Register und Zwischenspeicher auf dem DSEI werden durch den
lokalen Adressraum eines programmierbaren Chip-Selects und eine
Offset-Adresse adressiert, die einer PCI-Basisadresse mit dem gleichen Offset
zugeordnet ist.
-
4.2.1 Elektrische Eigenschaften
-
Alle
Bus-Signale entsprechen den jeweiligen Standards. Die lokalen Bus-
und die internen Logik-Signale entsprechen der Logikebene 5 V CMOS.
-
4.2.2 Datenbewegung
-
Während der
Initialisierung werden die Daten über den 32-bit PCI-Bus auf
den 8-bit Link-Managerspeicher
und über
den lokalen Bus in die 8-bit I/O-Register auf dem Logik-Chip heruntergeladen.
Die Byte-Ordnung entspricht Little Endian. Während des Durchlaufs werden
Modus-Nachrichten über
den lokalen 8-bit Bus aus dem Link-Managerspeicher ausgelesen und über das
4-bit Mill-Interface an die PHY-Interfacechips übertragen. Diese wiederum codieren
die 4-bit Werte mit Hilfe der Manchester-Codierung für Ethernet
oder der 4/5-Codierung
für Fast
Ethernet um und serialisieren diese für die Übertragung über das Netzwerk.
-
4.2.3 Beschränkungen
-
Das
Netzwerk-Interface des DSEI muss im Halbduplex-Modus arbeiten, da
der Link-Manager in der Lage sein muss, die CSMA/CD-Medienzugangssteuerung
zu nutzen, um eine Verbindung zum Versenden seiner Ping-Nachrichten
herstellen zu können.
Dieser Mechanismus funktioniert bei Controllern nicht im Vollduplex-Modus,
weil für
den Link keine Verbindung möglich
ist.
-
Außerdem ist
im Fall von fehlertoleranten Stationen ein Halbduplex-Hub als direkte
Interface-Station erforderlich, damit das Schattenmodul empfangen
kann, was die erste Station sendet, bzw. damit beide den gleichen
Verkehr vom übrigen
Netzwerk empfangen können.
-
4.2.4 Programmierinformationen
-
Da
die DSEI-Platine in einer Reihe von handelsüblichen PCs und Workstations
eingesetzt werden soll, muss sie die Plug-and-Play-Funktionen der
PCI-Schnittstelle implementieren. Der PLX 9050-1 FCI-Interface-Chip
unterstützt
dies.
-
Die
Informationen für
die Chip-Initialisierung sind in einem seriellen EEPROM enthalten,
das anfangs heruntergeladen und vom Host programmiert werden kann
und später
automatisch die internen Register des Chips initialisiert. Bestandteil
dieser Initialisierung ist die Einstellung der PCI-Konfigurationsregister
zur Unterstützung
der Plug-and-Play-Schnittstelle. Weitere Einzelheiten finden Sie
im PLX-Handbuch, das in den Referenzunterlagen aufgeführt ist.
-
4.3 Schnittstellen
-
Die
CPU Ethernet/FastEthernet-Schnittstelle zu DSEI ist die Media Independent
Interface (MII), die im IEEE Standard 802.3u (Fast Ethernet) spezifiziert
ist.
-
Die
Schnittstelle zwischen DSEI und dem Netzwerk ist die 10BaseT/100BaseTX-Schnittstelle
mit automatischer Einstellung, die in den IEEE Standards 802.3 und
802.3u spezifiziert ist.
-
Die
Schnittstelle, über
die die CPU das DSEI herunterlädt
und steuert, ist der PCI Local Bus Standard, Version 2.1.
-
4.4 Technologische Anwendungen
und Beschränkungen
-
Diese
Schnittstelle ist entweder für
Ethernet- oder Fast Ethernet-Verbindungen zwischen der Station und
dem Netzwerk bestimmt. Sie kann Gigabit Ethernet auf Stationsebene
nicht unterstützen.
-
4.5
Funktionsblockbeschreibung
-
4.6 Prüfbarkeit/Fehlerlokalisierung
-
Der
wichtigste Algorithmus des Link-Managers führt die Fehlerlokalisierung
auf der ersten Schaltebene durch. Da der Run-Befehl zahlreiche Startorte
ermöglicht,
kann neben dem normalen Betriebscode eine ganze Reihe an Kabelwartungs-
und Diagnosefunktionen permanent im Speicher des Link-Managers vorhanden
sein.
-
Der
Time Strobe verfügt über eine
LED-Anzeige in der Nähe
der in Reihe geschalteten Kabelverbindung, die bei jedem eingehenden
Impuls aufblinkt und somit eine Hilfe zur Fehlerbeseitigung bei
Kabelstörungen
bietet.
-
5. Hardware-orientierte
Leistungen
-
5.1 Leistungsanforderungen
-
Die
wichtigste Leistungsanforderung ist die Fähigkeit, die Fehlererkennung
und -beseitigung innerhalb einer Peer-Group innerhalb einer Sekunde
oder schneller durchzuführen.
-
5.2 Leistungsvorgaben
-
Die
Vorgaben bestehen darin, in der Lage zu sein, die Umschaltung und
Umleitung innerhalb weniger hundert Mikrosekunden nach Ablauf des
Heartbeat-Timeoutzeitraums zu gewährleisten.
-
5.3 Beschränkungen
-
Der
Link-Manager sollte so weit wie möglich nur mit den Branchenstandard-Funktionen
für die
Netzwerk-Hardware und -Software arbeiten, um eine möglichst
große
Flexibilität
bei der Auswahl des Herstellers zu gewährleisten. Firmenspezifische
Funktionalitäten
sollten möglichst
vermieden werden.
-
5.4 Zykluszeit/Bit Rate/Geschwindigkeit
-
Der
PCI-Bus funktioniert mit 33 MHz. Der PCI 9050-1-Schnittstellen-Chip
kann Waitstates einfügen, wenn
er damit nicht Schritt halten kann.
-
Die
Mill-Schnittstelle funktioniert mit 2,5/25 MHz, je nachdem ob der
Ethernet- oder der Fast Ethernet-Modus aktiv ist.
-
Die
serielle Ethernet/Fast Ethernet-Schnittstelle funktioniert mit einer Übertragungsgeschwindigkeit von
10/100 MHz. (Fast Ethernet arbeitet mit 125 MHz im Kabelnetz aufgrund
der 4/5 bit-Codierung).
-
Ein
gemeinsamer 25 MHz-Oszillator taktet sowohl die PHY-Chips als auch
den FPGA-Link-Manager. Der
Link-Manager teilt den 25 MHz Fast Ethernet-Takt durch zwei, um
mit Bytes bei 12,5 MHz zu arbeiten, mit Ausnahme der direkten 4-bit
Datenschnittstelle zu den PHY-Chips.
Die Echtzeituhr wird mit 25 MHz geteilt durch 2^20 auf etwa 23,84
Hz gesteuert.
-
5.5 Strombedarf
-
Die
DSEI benötigt
nur 5 V Strom, den sie über
den PCI-Stecker des Computers erhält, in dem sie eingesetzt wird.
Der Stromverbrauch muss noch ermittelt werden.
-
5.6 FMEA-Ergebnisse
-
Eine
FMEA-Analyse wird an der fertigen Konstruktion durchgeführt.
-
6. Besondere Überlegungen
zur Konstruktion
-
6.1 Vorgaben für Stromversorgung/Erdung
-
Das
DSEI wird auf einer vierschichtigen Leiterplatte mit übereinander
geschichteten Signalen zwischen der Stromversorgungs- und Erdungsebene
für minimale
elektromagnetische Strahlung hergestellt. Die Stromversorgungs-
und Erdungsanschlüsse
erfolgen über
den Standard-PCI-Stecker und dessen Pinanordnung.
-
6.2 Montage
-
Das
DSEI wird als Standard PCI-Karte mit voller Länge gepackt.
-
6.3 Physikalische Vorgaben/Implikationen
-
Die
wichtigste physikalische Vorgabe ist der verfügbare Platz für die Stecker
auf den Seitenflächen
der PCI-Karte. Der Letterbug- sowie zwei PJ-45-Stecker müssen dort
montiert werden, um während
des Betriebs von der Rückseite
des PCs oder der Workstation aus erreichbar zu sein. Daher werden
die fest installierten MII- und Time Strobe-Schnittstellenkabel durch die Seiten
geführt
und intern an der Karte angeschlossen.
-
6.4 Vorgaben für die Umgebung/Einschränkungen
-
Angaben
zu den Systemanforderungen finden Sie in CPS 5591.
-
6.5 Produktsicherheit/Zertifizierung
-
Angaben
zu den Systemanforderungen finden Sie in CPS 5591.
-
6.6 Vorgaben für Tests
-
Ein
vollständiger
Test des DSEI kann erst durchgeführt
werden, nachdem eine repräsentative
Konfiguration der Schalteinrichtungen des I/A-Hochleistungsnetzwerks
zu Testzwecken zur Verfügung
gestellt werden kann. Verschiedene Testprogramme sind erforderlich,
um permanenten Datenverkehr zu erzeugen, der durch eine simulierte
Störung
unterbrochen werden kann. Die Daten sollten einen Nachrichtenzähler beinhalten,
der die Möglichkeit
bietet, die Menge an Daten zu analysieren, die während der Störung und
der Fehlerbeseitigung verloren gegangen ist. Die gleiche Software
kann auch zur Erfassung der Menge an Daten verwendet werden, die
aufgrund der verschiedenen, simulierten Fehler innerhalb des Netzwerks
selbst verloren gegangen ist.