-
GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung betrifft im Allgemeinen die Taktsynchronisation
unter mehreren Rechnerknoten, die in einem Netzwert verbunden sind,
und genauer Verfahren und Vorrichtungen zum Erreichen der Synchronisation
in einer fehlertoleranten Ethernet-Umgebung.
-
ALLGEMEINER
STAND DER TECHNIK
-
Es
ist in vielen Anwendungen nötig,
die lokalen Takte der Rechnerknoten zu synchronisieren, um Fehler
zu vermeiden. Dies ist insbesondere bei Prozesssteuerungsanwendungen,
wobei sich die Rechnerknoten mit einer Abfolge von Ereignissen befassen,
nötig,
da Taktfehler dazu führen
können,
dass ein Ereignis als fälschlicherweise
vor oder nach einem anderen Ereignis eintretend interpretiert wird. Gegenwärtige Verfahren
sind für
Leistungserzeugungsanforderungen mit einer Auflösung von etwa 1 Millisekunde
nicht genau genug.
-
Jeder
Rechnerknoten in einer Ethernet-Umgebung beinhaltet im Allgemeinen
Komponenten, die fähig
sind, einen Computer am Knoten mit Computern an anderen Knoten zu
verbinden. Diese Komponenten beinhalten eine physikalische (PHY)
Schicht oder einen Sender/Empfänger
und eine Medienzugriffssteuerung (MAC). Der PHY-Sender/Empfänger ist
mit dem Netzwerk verbunden, und die MAC ist zwischen dem PHY-Sender/Empfänger und
dem lokalen Computer am Rechnerknoten angeschlossen. Die US-Patentschrift
Nr. 5,953,345 beschreibt eine Taktsynchronisationstechnik für eine Ethernet-Umgebung.
Diese Technik setzt ein gesondertes globales Taktsignal und einen
Synchronisationsimpuls ein, wobei beide auf gesonderten zweckbe stimmten
Leitungen zum PHY-Sender/Empfänger
und zur MAC-Steuerung jedes Knotens verteilt werden. Diese Technik
ist für
viele Anwendungen, bei denen gesonderte Leitungen nicht verfügbar oder
zu teuer sind, ungeeignet.
-
Die
vorliegende Erfindung kommuniziert Synchronisationsinformationen,
die genau genug sind, um die benötigte
Auflösung
zu erreichen, ohne die fest zugeordnete Verdrahtung zu Ethernet-Komponenten.
-
Die
vorliegende Erfindung stellt auch viele zusätzliche Vorteile bereit, die
wie nachstehend beschrieben offensichtlich werden sollen.
-
Andere
Beispiele für
Vorrichtungen des Stands der Technik finden sich in WO-A-0 038 353 und
in US-B1-6,208,665
offenbart.
-
WO-A-0
230 021 offenbart eine Medienzugriffssteuerung, die eine Synchronisationssignalisierung
verwendet. Nach einem ersten Gesichtspunkt der Erfindung wird ein
Verfahren zur Synchronisation von Rechnerknoten in einem fehlertoleranten
Ethernet-Netzwerk, wobei jeder Rechnerknoten einen Verarbeitungsrechner,
einen Sender/Empfänger
und einen lokalen Zeitgeber umfasst, bereitgestellt, wobei das Verfahren
dadurch gekennzeichnet ist, dass es Folgendes umfasst:
Überwachen
eines Hauptzeitdatenpakets hinsichtlich eines darin enthaltenen
Zeitstempels, wobei das Datenpaket für eine Hauptzeitgeberbetriebsart
dem Sender/Empfänger
durch den Verarbeitungsrechner bereitgestellt wird und für eine Hörbetriebsart
dem Verarbeitungsrechner durch den Sender/Empfänger bereitgestellt wird;
Speichern
eines gegenwärtigen
Zeitwerts, wenn der Überwachungsschritt
den überwachten
Zeitstempel fest stellt;
Speichern des überwachten Zeitstempels während der
Hörbetriebsart;
Benachrichtigen
des Verarbeitungsrechners vom gespeicherten Zeitstempel während der
Hörbetriebsart;
Einstellen
des lokalen Zeitgebers auf Basis des gespeicherten Zeitstempels
und der gespeicherten gegenwärtigen
Zeit während
der Hörbetriebsart;
und
Ersetzen des überwachten
Zeitstempels durch einen gegenwärtigen
Zeitstempel und Liefern des Zeitdatenpakets mit dem ersetzten Zeitstempel
zum Sender/Empfänger
während
der Hauptzeitbetriebsart.
-
Vorzugsweise
umfasst jeder der Rechnerknoten ferner eine Netzwerksteuerung, die
zwischen dem Verarbeitungsrechner und dem Sender/Empfänger angeordnet
ist.
-
Vorzugsweise
ist der Sender/Empfänger
ein physikalischer Schnittstellen(PHY)-Sender/Empfänger und
die Netzwerksteuerung eine Medienzugriffssteuerung (MAC).
-
Vorzugsweise
wird das Zeitdatenpaket auch hinsichtlich eines Rahmenprüfzeichenfolge(FCS)werts überwacht,
und umfasst das Verfahren während
der Hauptzeitbetriebsart ferner das Ersetzen des überwachten
FCS-Werts durch einen berechneten FCS-Wert und das Liefern des ersetzten FCS-Werts
zum Sender/Empfänger.
-
Vorzugsweise
wird der Verarbeitungsrechner während
der Hörbetriebsart
auf Basis eines Vergleichs des überwachten
FCS-Werts mit dem berechneten FCS-Wert vom überwachten Zeitstempel benachrichtigt
oder nicht benachrichtigt.
-
Vorzugsweise
wird das Zeitdatenpaket auch hinsichtlich einer Identität des Senders
des Zeitdatenpakets überwacht,
und umfasst das Verfahren ferner den Schritt des Neustartens des
Verfahrens, falls diese Identität
ungültig
ist.
-
Vorzugsweise
wird das Zeitdatenpaket auch hinsichtlich einer Gruppenadresse überwacht,
und umfasst das Verfahren ferner den Schritt des Neustartens des
Verfahrens, falls der Rechnerknoten kein Teilnehmer an der Gruppenadresse
ist.
-
Vorzugsweise
beinhaltet der Zeitstempel Echtzeit.
-
Nach
einem zweiten Gesichtspunkt der Erfindung wird eine Echtzeit-Synchronisationsschaltung
für einen
Rechnerknoten, der zur Verbindung in einem fehlertoleranten Ethernet-Netzwerk
geeignet ist, wobei der Rechnerknoten einen Verarbeitungsrechner
und einen Sender/Empfänger
umfasst, bereitgestellt, wobei die Schaltung dadurch gekennzeichnet
ist, dass sie Folgendes umfasst:
einen lokalen Zeitgeber; und
eine
Logikvorrichtung, die in einer Hauptzeitübertragungsbetriebsart dazu
betriebsfähig
ist, einen Hauptzeitstempel, der in einem Paket von Daten enthalten ist,
die durch den Verarbeitungsrechner bereitgestellt werden, durch
einen gegenwärtigen
Zeitwert zu ersetzen und das Paket von Daten mit dem ersetzten gegenwärtigen Zeitwert
zum Sender/Empfänger
weiterzuleiten, wodurch eine Verzögerung durch den Verarbeitungsrechner
ausgeglichen wird, und in einer Hörbetriebsart dazu betriebsfähig ist,
einen Hauptzeitstempel, der in einem Paket von Daten enthalten ist,
die vom Sender/Empfänger
erhalten werden, zu speichern und einen gegenwärtigen Wert des lokalen Zeitgebers
zu speichern.
-
Vorzugsweise
wird der Hauptzeitstempel während
der Hörbetriebsart
nicht gespeichert, wenn das Paket von Daten eine ungültige Identität seines Senders
beinhaltet.
-
Vorzugsweise
wird der Hauptzeitstempel während
der Hörbetriebsart
nicht gespeichert, wenn das Paket von Daten eine Gruppenadresse
beinhaltet und die Schaltung ein Nichtteilnehmer an der Gruppenadresse
ist.
-
Vorzugsweise
umfasst der Rechnerknoten ferner eine Netzwerksteuerung, die zwischen
dem Verarbeitungsrechner und dem Sender/Empfänger angeordnet ist.
-
Vorzugsweise
ist der Sender/Empfänger
ein physikalischer Schnittstellen(PHY)-Sender/Empfänger und
die Netzwerksteuerung eine Medienzugriffssteuerung (MAC).
-
Vorzugsweise
beinhaltet der Zeitstempel Echtzeit.
-
Nach
einem dritten Gesichtspunkt der Erfindung wird ein Rechnerknoten
bereitgestellt, der die Echtzeit-Synchronisationsschaltung des zweiten
Gesichtspunkts umfasst.
-
Vorzugsweise
führt der
Verarbeitungsrechner durch Einstellen des lokalen Zeitgebers auf
Basis des gespeicherten Hauptzeitstempels und des gespeicherten
gegenwärtigen
Zeitwerts eine Aktualisierungstätigkeit
durch.
-
Vorzugsweise
werden der Hauptzeitstempel und der lokale gegenwärtige Zeitwert
in einem ersten bzw. einem zweiten Register gespeichert.
-
Vorzugsweise
umfasst die Echtzeit-Synchronisationsschaltung ferner ein Schieberegister
zum Erhalt des Pakets von Daten vom Verarbeitungsrechner und einen
Multiplexierer zum Umschalten eines Eingangs vom Sender/Empfänger, um
das Paket von Daten mit Ausnahme des Hauptzeitstempels vom Schieberegister
zu empfangen, und um den gegenwärtigen
Zeitwert statt dessen vom lokalen Zeitgeber zu empfangen.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Andere
und weitere Aufgaben, Vorteile und Merkmale der vorliegenden Erfindung
werden durch Bezugnahme auf die folgende Beschreibung in Verbindung
mit den beiliegenden Zeichnungen verstanden werden, wobei gleiche
Bezugszeichen gleiche Aufbauelemente bezeichnen, und wobei
-
1 ein
Blockdiagramm eines Steuersystems ist, das die Synchronisationsvorrichtung
der vorliegenden Erfindung beinhaltet;
-
2 ein
Blockdiagramm der Echtzeittakt-Synchronisationsschaltung der Synchronisationsvorrichtung
des Steuersystems von 1 ist;
-
3 ein
Logikablaufdiagramm für
den Sendeschritt nach dem Echtzeittakt-Synchronisationsverfahren
der vorliegenden Erfindung ist; und
-
4 ein
Logikablaufdiagramm für
den Empfangsschritt nach dem Echtzeittakt-Synchronisationsverfahren
der vorliegenden Erfindung ist.
-
BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Unter
Bezugnahme auf 1 beinhaltet ein Steuersystem 20 mehrere
Rechnerknoten 22, 24 und 26 der vorliegenden
Erfindung, die angeordnet sind, um einen Prozess 30 zu
steuern, zu überwachen und/oder
zu verwalten. Obwohl drei Rechnerknoten gezeigt sind, zeigt die
gestrichelte Linie zwischen den Rechnerknoten 24 und 26 an,
dass mehr oder weniger Rechnerknoten verwendet werden können. Die Rechnerknoten 22 und 24 sind
mit Verbindungen zum Prozess 30 gezeigt. Diese Verbindungen können zu
einem BUS bestehen, an den verschiedenste Sensoren und/oder Steuervorrichtungen
angeschlossen sind. Zum Beispiel könnte der lokale BUS für einen
oder mehrere der Rechnerknoten 22 und 24 ein lokales
Netzwerk auf Feldbusgrundlage (FF) sein. Der Rechnerknoten 26 weist
keine direkte Verbindung mit dem Prozess 30 auf und kann
zur Verwaltung der Rechnerknoten, zur Beobachtung, und für andere
Zwecke verwendet werden.
-
Die
Rechnerknoten 22, 24 und 26 sind über ein
Netzwerk 28 verbunden. Das Netzwerk 28 kann jedes
beliebige verdrahtete, drahtlose und/oder optische Netzwerk sein
und kann das Internet, ein Intranet, das öffentliche Telefonnetz, ein
lokales und/oder ein Weitverkehrsnetz beinhalten. Vorzugsweise erleichtert
das Netzwerk 28 eine Ethernet-Umgebung.
-
Da
die Rechnerknoten 22, 24 und 26 im Wesentlichen
identisch sind, wird nur ein Rechnerknoten 22 ausführlich beschrieben
werden. Der Rechnerknoten 22 beinhaltet einen lokalen oder
Verarbeitungsrechner 32, eine Medienzugriffs(MAC)steuerung 34,
eine Echtzeit-Synchronisationsschaltung 36 und einen physikalischen
Schnittstellen(PHY)-Sender/Empfänger 38.
Der Verarbeitungsrechner 32, die MAC-Steuerung 34 und
der PHY-Sender/Empfänger 38 können passend
im Handel erhältliche
Komponenten sein.
-
Die
Echtzeit-Synchronisationsschaltung 36 ist eine Synchronisationsvorrichtung
der vorliegenden Erfindung und ist zwischen der MAC-Steuerung 32 und
dem PHY-Sender/Empfänger 38 angeordnet. Die
Echtzeit-Synchronisationsschaltung 36 ist fähig, einen
Rechnerknoten zu befähigen,
als ein Hauptzeittaktknoten oder als ein Hörknoten zu wirken. Ein Hauptzeittaktknoten
sendet ein Datenpaket auf einer Gruppenbasis zu anderen Rechnerknoten
im Steuersystem 20. Mit "Gruppe" ist gemeint, dass das Datenpaket eine
Kennung einer Gruppe von teilnehmenden Rechnerknoten enthält. Jeder
Knoten, der ein Teilnehmer der Teilnehmergruppe ist, ist befähigt, das
Datenpaket zu empfangen oder zu hören.
-
Nach
der Erfindung erkennt die Echtzeit-Synchronisationsschaltung 36,
wenn sie sich in einer Hauptzeitbetriebsart befindet, ein Hauptzeittaktdatenpaket,
das durch ihren zugehörigen
Verarbeitungsrechner 32 zusammengesetzt wurde, und fügt einen
Echtzeitstempel vom lokalen Hauptzeitgeber an die richtige Stelle
im Datenpaket ein. Die Einfügung
wird so nah als möglich
an der Schnittstelle mit dem PHY-Sender/Empfänger vorgenommen, wodurch Verzögerungen,
die im Verarbeitungsrechner 32 und in der MAC-Steuerung 34 inhärent sind,
vermieden werden.
-
Wenn
sie sich in einer Hörbetriebsart
befindet, erkennt die Echtzeit-Synchronisationsschaltung 36 die
Datenpaketkennung und erfasst sie den Echtzeitstempel eines empfangenen
Hauptzeitdatenpakets wie auch den lokalen Zeitwert eines lokalen
Zeitgebers. Diese gespeicherten werte befähigen den Verarbeitungsrechner 32,
den lokalen Zeitgeber so einzustellen, dass er sich mit dem empfangenen Hauptzeitstempel
in Synchronisation befindet. Das heißt, der lokale Verarbeitungsrechner 32 steuert
den lokalen Zeitbasistakt, der den lokalen Echtzeittakt erhöht oder
verringert, um den lokalen Echtzeittakt entweder zu beschleunigen
oder zu verlangsamen. Somit kann der lokale Takt mit dem Zeithaupttakt
synchronisiert werden. Der Versatz und der Schräglauf des lokalen Takts zum
Haupttakt wird auf nur die Netzwerkwartezeit plus eine Schwankung
aufgrund des Netzwerkandrangs verringt. Die Unterbrechungs- und
die Verarbeitungswartezeit der beiden Computerplattformen (des Zeithaupt-
und des lokalen Knotens) werden beseitigt.
-
Das Zeitsynchronisationspaket
-
In
einer Ausführungsform
der Erfindung werden die Informationen, die nötig sind, um Zuhörerknoten
mit einem Hauptknoten zu synchronisieren, in einem Hochgeschwindigkeitsethernet(HSE)-Versuchspaket
auf Feldbusgrundlage (FF) gesendet werden. Dieses Paket erfährt eine
Gruppensendung an alle Knoten, die an der Gemeinschaft des fehlertoleranten
Ethernets (FTE) teilnehmen. Knoten, die nicht an der FTE-Gemeinschaft
teilnehmen, können die
Zeit synchronisieren, indem sie sich der Gruppenadresse, die das
FTE-Prüfpaket
sendet, anschließen. Das
HSE-Prüfpaket
enthält
eine Stelle für
einen Zeitstempel. Die HSE-Spezifikation sorgt nicht dafür, dass
dieser Zeitstempel genau ist. Man kann jedoch diesen Zeitstempel
verwenden, um eine genaue Zeitsignatur zu senden. Zuhörerknoten
können
diese genaue Zeit verwenden, indem sie dazu konfiguriert sind, die
Quellen-FF-HSE-Vorrichtungskennung des Zeithauptknotens zu erkennen
und ihren Zeitstempel als einen genauen Zeitbezug zu verwenden.
-
Der HSE-Zeitstempel
-
Der
HSE-Zeitstempel ist ein 64-Bit-Wort, das eine signierte Zahl enthält, die
ein binäres
Vielfaches von 1/32 einer Millisekunde ist. Die Zahl stellt einen Versatz
von Mitternacht am 1. Januar 1984 dar. Die wahrscheinliche Quelle
dieses Standards ist, dass 1/32 einer Millisekunde 32 KHz, ein beliebter
Frequenzkristall für
Uhren, interne Computerechtzeittakte und dergleichen ist.
-
Die FTE-Verwendung des
Zeitstempels im System 20
-
Der
Basistakt für
den Verarbeitungsrechner 32 kann zum Beispiel 33 MHz sein.
Da es schwierig ist, 1/32 einer Millisekunde zu erhalten, haben
die vorliegenden Erfinder herausgefunden, dass es der beste Kompromiss
ist, den 33-MHz-Takt durch 33 1/3 zu teilen und zu einer Mikrosekunde
für das
grundlegende Zeitticken zu gelangen. Dieser Takt kann durch 125
geteilt werden, um zu 125 Mikrosekunden zu gelangen, was 1/8 einer
Millisekunde ist. Für
die Zwecke der Bestimmung der Abfolge von Ereignissen (SOE) sind
125 Mikrosekunden angemessen, um zu einer Zeitgenauigkeit von 1
Millisekunde zu gelangen. Takthauptknoten werden 125 Mikrosekunden
verwenden und davon ausgehend binär zählen. Wenn der Zeitstempel
in der HSE-Prüfnachricht
gesendet wird, werden die beiden niedrigstwertigen Bits (LSBs) des
Zeitstempels auf Null gesetzt werden.
-
Fehlerquellen
Statische Fehler
-
In
einem Ethernet-System gibt es Quellen für statische Fehler in der Taktzeitgabe.
Die erste ist der grundlegende Unterschied in den Kristallfrequenzen in
einem System, das keinen Knoten-Knoten-Synchronismus aufweist. Oszillatoren "von der Stange" weisen typischerweise
eine Frequenzgenauigkeit von 100 Teilen pro Million Teile (PPM)
auf. Gegen zusätzliche
Kosten können
50 PPM erreicht werden.
-
Zu
Zwecken der SOE-Bestimmungen ist die Frequenzgenauigkeit nur im
Zuhörerknoten
wichtig, da das Zeithauptgerät
der Bezug ist. Wenn der Benutzer wünscht, dass die Zeit in Bezug
auf eine Wanduhr genau ist, müssen
die Haupttaktregister mit einer genauen universellen Zeitquelle
synchronisiert werden. In der Vergangenheit wurde dies mit einer Frequenz
von 50 oder 60 Hz erreicht, die vom Energieversorgungsnetz erlangt
wurde. In letzter Zeit ist für
diese Funktion die Verwendung von globalen Positionierungssatelliten(GPS)-Empfängern beliebt
geworden. GPS weist den Vorteil des genauen Datums und der genauen
Zeit wie auch der Frequenzgenauigkeit auf.
-
Eine
andere Quelle eines festen Fehlers ist die Zeit zwischen dem Beginn
eines Pakets und der Stelle, an der sich der Zeitstempel im Paket
befindet. In der gleichen Weise wird zwischen dem Zeitpunkt des
Beginns der Nachricht und dem Zeitpunkt des Erscheinens des Zeitstempels
in der Nachricht ein Fehler in den Empfänger eingebracht.
-
Ein
verhältnismäßig kleiner
Fehler wird durch die relativistische Verzögerung in Drähten oder Fasern,
die zum Senden der Daten verwendet werden, eingebracht.
-
Dynamische
Fehler
-
Die
größten Fehlerquellen
sind die dynamischen Fehler im System. Eine Quelle ist das Ausmaß der Wartezeit,
die im System besteht, sobald das Paket den Sender verlassen hat.
Dieses hängt
von Einzelheiten im Ethernet-Netzwerk ab. In den Abhängigkeiten
sind die Anzahl der Vermittlungen im Weg zwischen dem Zeithauptgerät und dem
Zuhörer,
die Anzahl der Male, die das Paket in jeder Vermittlung kopiert
wird, und der Andrang an den Warteschlangen in jeder Vermittlung
beinhaltet.
-
Eine
andere Quelle für
einen dynamischen Fehler ist die Wartezeit im Zuhörer zwischen
dem Zeitpunkt des Empfangs des Pakets und dem Zeitpunkt der Änderung
des Taktregisters. Für
diesen Fehler kann es mehrere Quellen einschließlich der Unterbrechungsantwort,
der Priorität
des Unterbrechungsdienstpakets, der Belastung am BUS, an dem die
Ethernet-Pakete übertragen
werden, und der Geschwindigkeit des Prozessors, der die Daten bedient, und
der Anzahl der Male, die das Betriebssystem das Paket kopiert, bevor
der benutzercodierte Treiber an die Daten gelangt, geben.
-
Im
Sender besteht ein dynamischer Fehler zwischen dem Zeitpunkt, zu
dem die Daten aus dem Taktregister geholt werden, und dem Zeitpunkt,
zu dem die Daten in den Paketpuffer geschrieben werden. Diese Zeitdifferenz
kann durch die Geschwindigkeit des Prozessors, das Laden am BUS,
an dem die Zeitregister ansässig
sind, wie auch das Laden am BUS, an dem der Ethernetsender die Paketdaten erhält, und
den Betriebssystemsteueraufwand zum Reihen des Pakets zur Sendung
beeinflusst werden.
-
Es
gibt auch eine dynamische Veränderung im
Frequenzfehler des Empfänger-
und des Senderoszillators. Diese Abwanderung im Verlauf der Zeit und
der Temperatur ist in der 100-PPM- oder der 50-PPM-Spezifikation
für die
Vorrichtung beinhaltet.
-
Das Minimieren
der dynamischen Wartezeit Senderwartezeit
-
Die
primären
Beitragenden zu Senderwartezeitfehlern liegen im Betriebssystem
und im BUS-Laden. Beide diese Auswirkungen können nicht ohne größere Einflüsse auf
die Systemhardwaregestaltung gesteuert werden. Der beste Ansatz
ist, den Wert der Zeit so nah am Sendemedium als möglich zu
erhalten. Es gibt eine bequeme Stelle im Ethernet-Sendeweg, um diese
Funktion auszuführen.
Die Daten werden in einer Standardschnittstelle formatiert, die
als medienunabhängige
Schnittstelle (MII) bekannt ist. Dies ist eine bekannte Schnittstelle,
die durch einen Satz von Logik unterbrochen werden kann und verwendet
werden kann, um viel von der Wartezeit im Sender zu entfernen. Die
MII-Schnittstelle von der sendenden MAC-Steuerung 34 zum
PHY-Sender/Empfänger 38 kann
unterbrochen und zur Beeinflussung in die Echtzeit-Synchronisationsschaltung 36 gespeist
werden. Die Echtzeit-Synchronisationsschaltung 36 kann
alle Paketdaten, die an den PHY-Sender/Empfänger 38 ausgehen, überwachen, und
kann an die Arbeit gehen, wenn sie das HSE-Prüfpaket erkennt. Das Paket wird
ohne Abwandlung zum PHY-Sender/Empfänger 38 weitergegeben
werden, bis sie zum Zeitstempel des Pakets gelangt. Die Echtzeit-Synchronisationsschaltung 36 kann
dann den Wert einsetzen, der in den Zeitregistern enthalten ist,
die in der Echtzeit-Synchronisationsschaltung unterhalten werden.
Dieser Prozess wird alle Wartezeiten im Zusammenhang mit dem Betriebssystem/dem
Prozessor/dem BUS im Sender entfernen. Die Echtzeit-Synchronisationsschaltung 36 berechnet
auch eine neue Rahmenprüfzeichenfolge
(FCS), da sich die Daten im Paket verändert haben. Die neuberechnete
FCS wird an der richtigen Stelle in das Paket eingesetzt und zum
PHY-Sender/Empfänger 38 gesendet.
-
Die Zuhörerwartezeit
-
Eine ähnliche
Technik kann in der Echtzeit-Synchronisationsschaltung 36 verwendet
werden, wenn sich dieser in der Hörbetriebsart befindet, um die
Wartezeit, die durch das Betriebssystem/den Prozessor/den Bus verursacht
wird, zu entfernen. Der MII-BUS zwischen dem PHY-Sender/Empfänger 38 und der MAC-Steuerung 34 wird
durch die Echtzeit-Synchronisationsschaltung 36 unterbrochen.
Die Echtzeit-Synchronisationsschaltung 36 enthält auch die
Zeitregister im empfangenden Knoten. Die Echtzeit-Synchronisationsschaltung 36 wird
eine Konfiguration durch den Verarbeitungsrechner 32 im
Knoten benötigen.
Die Echtzeit-Synchronisationsschaltung 36 muss die IP-Gruppenadresse des
HSE-Prüfpakets
an der Vorrichtungskennung des Zeithauptgerätknotens kennen. Datenpakete
an der ankommenden MII-Schnittstelle werden durch die Echtzeit-Synchronisationsschaltung 36 "beschnüffelt", und wenn die konfigurierte
IP-Adresse gefunden wird, sucht die Logik dann nach der Zeithauptgerät-FF-HSE-Vorrichtungskennung.
wenn die Hauptgerätkennung
gefunden wird, wartet die Logik, bis der Zeitstempelabschnitt des
Pakets beginnt. Der Zeitstempel wird dann in einem Zwischenregister
gespeichert. Zu dieser Zeit erfasst die Logik das lokale Zeitstempelregister
in einem Register, das durch den Verarbeitungsrechner 32 gelesen
werden kann. Wenn das gesamte Paket beendet ist, prüft die Logik
die FCS, die sich am Ende befindet, gegen die FCS, die sie aus den Paketdaten
berechnet hat. Wenn die FCS richtig ist, wird die Zeit im Zwischenregister
zu einem Register übertragen,
das der Verarbeitungsrechner 32 lesen kann, und wird eine
Unterbrechung zum Verarbeitungsrechner 32 gesendet. Der
Verarbeitungsrechner 32 bedient die Unterbrechung und nimmt
eine Berechnung auf Basis des Unterschieds zwischen der lokalen
Zeit und der Zeithauptgerätzeit
vor. Die Logik der Echtzeit-Synchronisationsschaltung 36,
die die lokale Zeitbasis steuert, wird mit dem Zeithauptgerät zu einer
Synchronisation eingestellt. Da der Zeitbasisfehler unter Verwendung
der Zeit, die beim Ankommen des Pakets erfasst worden war, berechnet
wird, sind keine Wartezeitfehler vorhanden. Wenn die Wegwartezeit
innerhalb von 0,5 Millisekunden gehalten werden kann, wird der gesamte
Fehler innerhalb der gewünschten
1 Millisekunde liegen. Falls gewünscht,
kann der Verarbeitungsrechner 32 die Wartezeit mitteln
und die feste Verzögerung
entfernen.
-
Die Wegwartezeitberechnung
-
HSE-Prüfpakete
für ein
Maximum von 512 Knoten enthalten etwa 400 Bytes. Bei 100 Mbit/Sekunde
gibt es 10 ns pro Bit oder 80 ns pro Byte. Somit sind 400 Bytes
32 Mikrosekunden. Wenn in der Vermittlung eine Warteschlange von
einem Paket vorhanden ist, würde
es eine Verzögerung
von 32 Mikrosekunden pro Paket pro Vermittlung geben. In einem verkehrsreichen
System könnte
sich ein Paket mit voller Länge
vor dem Ausgang in der Warteschlange befinden. Ein Paket mit voller
Länge umfasst
1518 Bytes mit einer Verzögerung
von 0,122 Millisekunden. Wenn. ein Halten der Wartezeit unter 0,5
Millisekunden erwünscht
ist, sollte die Anzahl der Vermittlungen zwischen dem Zeithauptgerät und dem
Zuhörer
in einem schwer belasteten System bei 4 oder 5 gehalten werden.
Es sollte eine Analyse der Art der Pakete im Steuersystem 20 vorgenommen
werden, um Empfehlungen hinsichtlich der Netzwerktopologie zu geben.
Aus diesem Grund sollte sich der Zeithauptgerätknoten an der Spitze der Vermittlungshierarchie
befinden.
-
Die Zeitbasis
-
In
der Echtzeit-Synchronisationsschaltung 36 wird die Zeitbasis
durch den grundlegenden 33-MHz-Oszillator angetrieben, der im Rechnerknoten
enthalten ist. Dieser Takt wird zuerst durch 33 1/3 geteilt, um
einen 1-Mikrosekunden-Takt
zu erhalten. Der 1-Mikrosekunden-Takt
treibt eine Logik, die nominell alle 125 Mikrosekunden einen Impuls
mit einer Breite von einem Takt erzeugt. Die Steuerung des 125-Mikrosekunden-Impulses
gestattet eine Regelung des Zeitgabeschaltsystems.
-
Der
1-Mikrosekunden-Takt wird vorzugsweise verwendet, um zwei Zeitgabeketten
anzutreiben. Eine der Ketten dient für den HSE-Zeitstempel. Diese Kette
ist ein monoton zunehmendes 64-Bit-Register, das zum Zeitpunkt des
Hochfahrens durch den Verarbeitungsrechner 32 hinsichtlich
des gegenwärtigen Datums,
des gegenwärtigen
Jahrs und der gegenwärtigen
Zeit programmierbar ist. Dieses Register wird durch den 1-Mikrosekunden-Takt
getaktet und ungefähr
alle 125 Mikrosekunden durch einen Impuls mit der Breite von einem
Takt aktiviert. Der 125-Mikrosekunden-Impuls wird durch die Steuerlogik
reguliert, um eine Taktsynchronisation zu erhalten.
-
Die
zweite Kette wird durch den 1-Mikrosekunden-Takt vorgerückt und
zählt bis
zu 1 Sekunde und wird in Kombination mit anderer Logik verwendet,
um den 125-Mikrosekunden-Impuls
zu regulieren wie auch den Verarbeitungsrechner 32 jede
Sekunde zu unterbrechen.
-
Das
Regulierungsverfahren beruht darauf, dass der Verarbeitungsrechner 32 die
Anzahl der 10-Mikrosekunden-Erhöungen,
die jede Sekunde zum 125-Mikrosekunden-Impuls, welcher den HSE-Zeitzähler aktiviert,
zu addie ren bzw. davon zu subtrahieren sind, programmiert. Wenn
der Zähler jede
Sekunde um 10 Mikrosekunden kürzer
oder länger
ist, ist eine positive oder negative Veränderung von 10 Teilen pro Million
Teile möglich.
Das Steuerregister umfasst 12 Bits plus einem Bit für das Vorzeichen
für eine
Möglichkeit
von + oder –40960
Teilen pro Million Teile der Frequenzsteuerung. Wenn der Verarbeitungsrechner 32 zum
Beispiel eine "1" in das Register
programmiert, wird einer der aktivierenden 125-Mikrosekunden-Impulse
jede Sekunde in einem Intervall von 124 Mikrosekunden auftreten.
Dies wird eine Beschleunigung des HSE-Takts um 10 Teile pro Million
Teile verursachen. Wenn der Verarbeitungsrechner 32 eine "1" in das Register und eine "1" in das Vorzeichenbit programmiert,
wird es ein Aktivierungsimpulsintervall geben, das jede Sekunde
126 Mikrosekunden umfasst. Dies wird eine Verlangsamung des HSE-Takts
um 10 Teile pro Million Teile verursachen.
-
Das "Beschnüffeln" der MII im Zuhörer
-
Unter
Bezugnahme auf 2 beinhaltet der PHY-Sender/Empfänger 38 einen
PHY-Empfänger 40 und
einen PHY-Sender 42.
Die Schnittstelle zwischen dem PHY-Sender/Empfänger 38 und der MAC-Steuerung
ist die medienunabhängige
Schnittstelle (MII).
-
Der
PHY-Empfänger 40 empfängt Datenpakete
von den anderen Rechnerknoten über
das Netzwerk 28 (1) und liefert über einen
ausgewählten Kanal
A oder B ein PHY-Taktsignal und Paketdaten in Halbbytes (vier Bits
pro Halbbyte) zur Echtzeit-Synchronisationsschaltung 36.
Der PHY-Sender empfängt über einen
Kanal B ein MAC-Taktsignal
von der MAC-Steuerung und Datenhalbbytes eines zu sendenden Datenpakets.
Der PHY-Sender 42 empfängt das
HSE-Prüfpaket über einen
ausgewählten
Kanal A oder B von der Echtzeittakt-Synchronisationsschaltung 36.
-
Die
Echtzeittakt-Synchronisationsschaltung 36 beinhaltet ein
Empfangsschieberegister 44, in das das Taktsignal die Halbbytes
einzeln verschiebt. Die Echtzeittakt-Synchronisationsschaltung 36 beinhaltet
auch eine Vergleichslogik- und Zustandsmaschinensteuerung 46,
ein Zeitstempelerfassungsregister 48, ein Lokalzeiterfassungsregister 50,
einen Lokalzeitzähler 52,
ein Sendeschieberegister 54, eine Vergleichslogik- und
Zustandsmaschinensteuerung 56 und einen Ausgangsmultiplexierer 58.
-
Unter
Bezugnahme auf 2 und 4 wird der
Betrieb der Echtzeittakt-Synchronisationsschaltung 36 für die Hörbetriebsart
beschrieben werden, bei der ein anderer der Rechnerknoten als ein Zeithauptgerät dient,
das periodisch (z.B. in Intervallen von 0,5 Sekunden) das HSE-Prüfpaket sendet. Das
PHY-Taktsignal taktet die Halbbytes in das Empfangsschieberegister 44 wie
auch in ein Register (nicht gezeigt) der MAC-Steuerung 34.
Der PHY-Empfänger 40 gibt
eine Angabe darüber,
wann gültige
Daten empfangen werden, durch eine gesonderte Leitung RX_DV (nicht
gezeigt) an die Steuerung 46 aus. Die Steuerung 46 antwortet
bei Schritt 70 von 4, dass
in den Daten nach dem Beginn des Rahmens gesucht werden soll. Sobald
der Beginn des Rahmens gefunden ist, startet Schritt 72 einen
Halbbytezähler
(nicht gezeigt) der Steuerung 46, um die Halbbytes zu zählen. Während jedes
Halbbyte gezählt
wird, bestimmt Schritt 74, ob das gegenwärtige Halbbyte
das Ende des Rahmens ist. Wenn dies der Fall ist, löscht Schritt 76 den
Halbbytezähler und
geht die Steuerung zu Schritt 70 über.
-
Wenn
Schritt 74 bestimmt, dass das gegenwärtige Halbbyte nicht das Ende
eines Rahmens ist, verschiebt Schritt 78 das Halbbyte in
ein Datenregister und einen Prüfsummenrechner
(nicht gezeigt) der Steuerung 46. Schritt 80 bestimmt,
ob die Halbbytezählung
der Zieladresse gleich ist. Wenn dies nicht der Fall ist, werden
die Schritte 74, 78 und 80 wiederholt,
bis auf die Zieladresse oder die IP-Adresse gestoßen wird.
Dann bestimmt Schritt 82, ob die Zieladresse ein diagnostisches
Gruppen-Datenpaket ist. Wenn dies nicht der Fall ist, löscht Schritt 76 den
Zähler
und kehrt die Steuerung zu Schritt 70 zurück. Wenn
Schritt 82 bestimmt, dass die Zieladresse die Gruppenadresse
ist, wird die Zieladresse gespeichert und mit der durch den Verarbeitungsrechner 32 konfigurierten
diagnostischen Gruppenadresse verglichen. Anhand dieses Vergleichs
wird eine HSE-Prüfnachricht
als empfangen betrachtet. Schritt 84 zählt Halbbytes, bis die Anzahl
der Halbbytes der Dienstbytezählung
(der Position der Kennung der FF-HSE-Diagnostiknachrichtenart) gleich
ist.
-
Schritt 86 vergleicht
die Nachrichtenart mit dem Wert der FF-HSE-Diagnostiknachricht,
um zu bestimmen, ob die Nachricht eine Diagnostiknachricht ist.
Wenn dies nicht der Fall ist, löscht
Schritt 76 den Halbbytezähler und wird die Steuerung
zu Schritt 70 zurückgegeben.
Wenn Schritt 86 bestimmt, dass die Nachricht eine FF-HSE-Diagnostiknachricht
ist, zählt
Schritt 88 Halbbytes, bis die Halbbytezählung dem Vorrichtungsindex
(der FF-HSE-Vorrichtungskennung)
gleich ist. Wenn dies eintritt, bestimmt Schritt 90, ob
der Vorrichtungsindex und der programmierte Wert (die konfigurierte
Kennung) gleich sind. Der Verarbeitungsrechner 32 wird
die Kennung des Zeithauptgerätknotens
zuvor in die konfigurierte Kennung programmiert haben. Wenn dies
nicht der Fall ist, löscht
Schritt 76 den Halbbytezähler und kehrt die Steuerung
zu Schritt 70 zurück.
Wenn es der Fall ist, wird die Logik in Schritt 92 Halbbytes
zählen,
bis auf die Anzahl der Knoten im Gemeinschaftsfeld gestoßen wird.
Wenn auf die Anzahl der Knoten im Gemeinschaftsfeld gestoßen wird,
wird die Logik die Anzahl der Knoten mit "8" multiplizieren
und diesen Wert in einem Zwischenregister speichern. Die Logik wird
Halbbytes zählen,
bis die Knotenzustandsfelder beginnen. An diesem Punkt wird ein
Abwärtszähler ge startet.
Wenn der Abwärtszähler "0" erreicht, gibt dies das Ende der Knotenstatustabelle an.
Das nächste
Feld ist der Zeitstempel.
-
Schritt 96 wird
dann den Zeitstempel (von Schritt 84) im Zeitstempelerfassungsregister 48,
das durch den Verarbeitungsrechner 32 gelesen werden kann,
speichern. Zur gleichen Zeit erfasst Schritt 98 den Zeitwert
des Lokalzeitzählers 52 und
speichert ihn im Lokalzeiterfassungsregister 50. Der Verarbeitungsrechner 32 kann
auf die Register 48 und 50 zugreifen und die beiden
Werte vergleichen, um einen Fehlerwert zu bestimmen und einen Korrekturwert
zu berechnen, der in einen 125-Mikrosekunden-Impulsdehner/verkürzer 60 in 2 gestellt
werden soll. Schritt 100 zählt Halbbytes, bis die Position
des FCS-Bytes erreicht wird. Die Steuerung 46 hat die Prüfsumme während der
gesamten Nachricht seit des Beginns des Rahmens (SFD) berechnet.
Schritt 102 vergleicht die empfangene FCS mit der berechneten
FCS. Wenn die FCS richtig ist, setzt Schritt 104 ein Zustandsbit
und erzeugt er eine Unterbrechung, um den Verarbeitungsrechner 32 darüber zu informieren,
dass ein neuer Zeitwert eingelangt ist. Wenn der FCS dem Vergleich
nicht standhält,
wird Schritt 106 das Zustandsbit löschen und keine Unterbrechung
erzeugen. Schritt 76 löscht
dann den Halbbytezähler
und die Steuerung kehrt zu Schritt 70 zurück.
-
Die
Steuerung 46 wird durch den Verarbeitungsrechner 32 programmiert
werden, für
das "Beschnüffeln" der Zeit Kabel A
oder Kabel B zu verwenden. Der FTE-Prüfalgorithmus, der im Verarbeitungsrechner 32 läuft, wird
feststellen, ob ein schlechter Weg vorhanden ist, und der Verarbeitungsrechner 32 kann
diese Information verwenden, um zu bestimmen, welches Kabel hinsichtlich
der verlässlichsten Zeitdaten überwacht
werden sollte.
-
Das "Beschnüffeln" der MII im Takthauptgerät
-
Unter
Bezugnahme auf 2 und 3 wird nun
die Hauptzeitgeberbetriebsart beschrieben werden. Die Steuerung 56 kann
so programmiert werden, das sie dem Sendeanschluss von der MAC-Steuerung
zuhört.
Der Betrieb ist mit wenigen Ausnahmen dem der Zuhörerbetriebsart ähnlich.
Die Schritte in 3 tragen Bezugszeichen der Hunderter-Reihe,
wobei die Zehner- und Einerstellen den Bezugszeichen der Schritte
von 4 entsprechen, die die gleichen Funktionen aufweisen.
Die Sende-MII-Schnittstelle
weist kein RX_DV-Signal auf, um anzugeben, wenn die Daten gut sind,
weist aber ein TX_EN-Sendeaktivierungssignal
auf, das die gültigen
Daten in Rahmen stellt. Das TX_EN-Sendeaktivierungssignal kann in
einer ähnlichen
Weise verwendet werden, um die Steuerung 56 bei Schritt 170 dahingehend
zu aktivieren, nach den Daten für
den SFD zu suchen. Der Betrieb von Schritt 170 bis Schritt 220 (wenn
auf den Zeitstempel gestoßen
wird) ist mit jenem des Empfangskanals identisch. Schritt 170 ist
auch dazu tätig,
den Multiplexierer 58 zu betreiben, um die Halbbytes des
HSE-Prüfpakets
mit dem PHY-Sender 42 zu koppeln. Wenn der Zeitstempel
einlangt, wird Schritt 220 den gegenwärtigen Zeitwert des lokalen
HSE-Zeitregisters (nicht gezeigt) in den Sendestrom einsetzen. Der
Verarbeitungsrechner 32 kann jeden beliebigen Wert in dieses
Feld im HSE-Prüfpaket
stellen, doch wird vorzugsweise der Wert des lokalen HSE-Zeitregisters
zur Zeit des Aufbaus des Pakets verwendet. Schritt 202 setzt
das Zählen
der Halbbytes fort, bis die FCS erreicht wird. Die Steuerung 56 berechnet
so wie die Steuerung 46 fortlaufend die FCS, während die
Halbbytes gezählt werden.
Schritt 224 setzt die berechnete FCS von den vorbeigegangenen
Daten und den neuen Zeitstempel ein und betreibt den Multiplexierer 58,
um die berechnete FCS und den neuen Zeitstempel an den richtigen
Stellen des HSE-Prüfpakets
mit dem PHY-Sender 42 zu koppeln. Auf diese Weise muss der
Verarbeitungsrechner, der das Prüfpaket
erzeugt, nicht prüfen,
ob er das Zeithauptgerät
ist. Wenn diese Funktion abgeschlossen ist, sind keine Unterbrechungen
nötig.
-
Die gemeinsame
Logik
-
Da
der Betrieb eines Rechnerknotens 22, 24 oder 26 entweder
als Zuhörer
oder als Hauptgerät
erfolgen wird, können
die Steuerungen 46 und 56 eines Knotens eine einzelne
Steuerung mit einer Logik sein, die den Großteil der Arbeit erledigt,
indem sie zur Erledigung der einen oder der anderen Funktion multiplexiert
wird. Am Eingang zur Logik muss ein 4-zu-1-Multiplexier vorhanden
sein, um den MII-Anschluss aus Empfang A, Empfang B, Sendung A oder Sendung
B zu wählen.
An den Sende-MII-Schnittstellen
zum PHY-Empfänger 40 oder
zum PHY-Sender 42,
muss an jeder ein 2–1-Multiplexierer
vorhanden sein. Die Multiplexierer wählen entweder die Daten direkt
von der MAC-Steuerung 34 oder das abgewandelte Paket mit
dem neuen Zeitstempel und der neuen FCS von der Steuerung 56.
-
Die RMII-Umwandlung
-
In
der Rechnerknotenarchitektur kann eine Notwendigkeit bestehen, eine
Umwandlung von der MII-Schnittstelle, die durch die MAC-Steuerung 34 verwendet
wird, und einer reduzierten MII(RMII)-Schnittstelle, die einige
PHY-Sender/Empfänger
verwenden, vorzunehmen. Diese Umwandlung kann auch durch die Echtzeittakt-Synchroniationsschaltung 36 gehandhabt
werden. Dies ist tatsächlich
bevorzugt, da die Anzahl der Stifte, die durch die RMII benötigt werden,
viel geringer als jene der MII-Schnittstelle
ist.
-
Obwohl
mehrere Ausführungsformen
nach der Erfindung gezeigt und beschrieben wurden, versteht sich
klar, dass diese für
zahlreiche Änderungen, die
einem Fachmann offensichtlich sind, empfänglich sind. Daher wird diese
Anmeldung nicht durch die gezeigten und beschriebenen Einzelheiten
beschränkt werden,
sondern ist beabsichtigt, alle Änderungen und
Abwandlungen, die in den Umfang der beiliegenden Ansprüche fallen,
zu zeigen.