-
Die
Erfindung betrifft ein Verfahren zur Übertragung von digitalen Datensignalen
zwischen mindestens zwei in einem LAN-Netzwerk vorhandenen Prozessoren.
-
Prozessoren
oder Rechner werden beispielsweise für Steuerungszwecke in einem
Kraftfahrzeug verteilt eingesetzt und sind über ein lokales Netz (LAN)
miteinander verbunden. Die Struktur kann dabei so aufgebaut sein,
dass ein Client-Server-Netzwerk entsteht oder ein Peer-to-Peer-Netzwerk aus einer
Gruppe von gleichberechtigten Rechnern. Jeder dieser Rechner oder
Prozessoren kann seine Dienste als Server oder Client wahrnehmen.
Sind die Prozessoren über
eine Bus-Topologie im lokalen Netz miteinander verbunden, so erfolgt
dies über
einen gemeinsamen Leiter. Übertragen
dabei zwei Rechner zur gleichen Zeit über den Bus Daten, so kommt
es zu einer Kollision. Die Informationen überlagern sich und können nicht
mehr vom Empfänger
gelesen werden. Um dies zu verhindern, muss dafür Sorge getragen werden, dass
in der Zeit, in der eine Datenübertragung
stattfindet, andere Stationen keine Daten auf den Bus übertragen
dürfen.
Die Rechner oder Prozessoren können
auch in der Stern-Topologie über
einen Knoten miteinander verbunden oder an einem Ring angeschlossen
sein. Auch in diesen Netztopologien muss dafür Sorge getragen werden, dass
keine Datenüberlagerungen
stattfinden.
-
Der
Kommunikationsablauf zwischen zwei Rechnern erfolgt nach fest vorgegebenen
Regeln und Bestimmungen. Damit die Kommunikation stattfinden kann,
hat die ISO dazu für
lokale Netzwerke einen Standard entwickelt, der die Kompatibilität ermöglicht.
Dieser Standard ist im OSI-Referenzmodell (OSI = Open System Interconnection)
festgehalten. Die Regeln und Bestimmungen stellen die Netzwerkprotokolle
dar. Der Ablauf einer Kommunikation zwischen dem Sender und dem
Empfänger
in einem lokalen Netzwerk erfolgt dabei in sieben Schichtenebenen,
wobei die sich gegenüber
liegenden Schichten des Senders und Empfängers übereinstimmende Protokolle
aufweisen müssen.
Die Schichten L1 bis L3 sind die transportorientierten Schichten, die
zur niederen Ebene gehören,
ebenso wie die Schicht L4, die Transportschicht. Die vier Schichten
L1 bis L4 beinhalten Protokolle, die den Transport von Daten festlegen.
Die nachfolgenden Schichten L5 bis L7 sind die Anwenderschichten
in einer höheren
Ebene, die die Bedingungen festlegen, die die Teilnehmer an einem Kommunikationsprozess
erfüllen
müssen,
damit ihr Datenaustausch über
die transportierenden Schichten erfolgreich verläuft. Die Schichten L5 bis L7
stellen die höhere
Empfangsebene dar.
-
Eine
Nachricht des Senders wird in der Anwendungsschicht L7 durch ein
Programm des Prozessors, der die sendende Station darstellt, in
Form eines Datenpaketes erzeugt. Jede der nachfolgenden Schichten ergänzt diese
Nachricht mit weiteren Daten. Diese Daten enthalten eine für die jeweilige
Schicht spezifische Steuerinformation. Diese Information wird in
einem Header zusammengefaßt
und an den Anfang der Nachricht gestellt. Die Steuerinformationen
sorgen dafür,
dass die Daten einer Schicht auf der Senderseite in der entsprechenden
gleichen Schicht auf der Empfängerseite
verarbeitet werden können.
Die Bitübertragungsschicht L1
hängt der
Nachricht zusätzlich
noch einen Trailer (Anhang) an. Er ermöglicht die Überprüfung der Datenübertragung
auf Fehler. Daneben sorgt die Schicht L1 für die Umwandlung des Datenpaketes
mit allen Steuerinformationen in einem Bitstrom, der über das Übertragungsmedium,
z. B. Kabel, zur Übertragungsschicht
L1 des Empfängers
gelangt. Er durchläuft
dort nacheinander die nachfolgenden Schichten L1 bis L7. Dabei werden
die Steuerinformationen, die senderseitig zugefügt worden sind, nach ihrer
Verarbeitung wieder entfernt. Nach Durchlaufen der Anwendungsschicht
L7 steht die Nachricht des Senders dem Empfänger zur Verfügung.
-
Das
Protokoll der Bitübertragungsschicht
L1 legt fest, wie die Übertragung
der Daten zwischen Sender und Empfänger erfolgt, sowie die Eigenschaften
des physikalischen Übertragungsmediums.
Ferner ist angesprochen, Simplexbetrieb, Duplexbetrieb, Bitrate,
Art der Übertragung
und gegebenenfalls das Übertragungsmedium.
Die Sicherungsschicht L2 sorgt für
die Codesicherung, Erkennung und Korrektur von Übertragungsfehlern. Ist eine
Korrektur nicht möglich,
erfolgt eine Meldung an die nachfolgende Vermittlungsschicht L3.
Weiter werden in der Sicherungsschicht die übertragenen Datenbits zu Blöcken zusammengefasst,
die als Datenrahmen oder Frames bezeichnet werden. Die Sicherungsschicht
enthält
auch Maßnahmen,
mit denen der Empfänger
den Datenfluss so steuern kann, dass die empfangende Station nicht
mit Daten überflutet
wird. Die Vermittlungsschicht L3 sorgt ferner für die Auswahl der Verbindungswege
zwischen Sender und Empfänger.
-
Für die Punkt-zu-Punkt-Übertragung
von einem Prozessor zum anderen ist es ferner bei der Ethernet-Netzübertragung
bekannt, mit dem Prozessor einen vom Medium unabhängigen Baustein,
einen sogenannten MAC, einzusetzen, der wiederum mit einem PHY,
einem speziellen Halbleiterbaustein oder einer funktionellen Gruppe
eines Schaltkreises verbunden ist, der dem digitalen Zugriff auf
den moduliert betriebenen Kanal dient. Der PHY ist für die Codierung
und Decodierung von Daten zwischen einem reinen digitalen Signal und
einem modulierten analogen zuständig.
-
Er
bildet die physikalische Schnittstelle. Der PHY ist bei Embedded
Systemen integriert und stellt eine Brücke zwischen der digitalen
und der analogen elektrischen Verbindungsebene der Schnittstelle
dar. Dieser PHY ist relativ teuer.
-
Aufgabe
der Erfindung ist es, ein Verfahren zur Datenübertragung zwischen zwei miteinander
kommunizierenden Prozessoren oder Rechnern in einem LAN-Netzwerk
anzugeben, das mit vereinfachten Mitteln eine gesicherte Kommunikation
zwischen zwei Prozessoren oder Rechnern gewährleistet.
-
Die
Aufgabe löst
die Erfindung dadurch, dass die Kommunikation zwischen den Prozessoren
oder Rahmen ausschließlich
nur unter Verwendung je eines einem Prozessor oder Rahmen zugeordneten
MACs und eines speziellen Protokolls gemäß dem im Anspruch 1 angegebenen
Verfahren erfolgt.
-
Das
erfindungsgemäß ausgebildete
Verfahren zeichnet sich dadurch aus, dass die Übertragung der digitalen Datensignale
ausschließlich
nur über
die den Prozessoren zugeordneten, vom Medium unabhängigen Halbleiterbausteinen,
sogenannten MAC-Bausteinen, unter Verwendung eines speziellen Protokolls
mit einem Header-Datenblock und einem Message-Datenblock erfolgt,
wobei in der hohen Empfangsebene nach dem OSI-Schichtmodell auch
die Daten der niedrigen Empfangsebene enthalten sind und für die Auswertung der
Nachricht die hohe Empfangebene zuständig ist, während die Daten der niedrigen
Empfangsebene die Fehlerbearbeitung übernehmen und in Abhängigkeit
von dem benutzten Datenkanal die Nachrichten gespeichert oder weitergeleitet
werden und die einlaufenden Daten zunächst in einem FIFO-Speicher
für die
Analyse zwischengespeichert werden.
-
Der
niedrige Sende- und Empfangspfad weist zwei Prozessoren auf, einen
für das
Senden und den anderen zum Empfangen der Daten, die für das Senden
und Empfangen einerseits und für
die Fehlerbearbeitung andererseits zuständig sind. Die höhere Übertragungsebene
ist ebenfalls dafür
zuständig,
den Datenstrom in andere Datenkanäle umzuleiten, ferner für die Auswertung
der empfangenen Datenströme.
-
Die
Datenpakete werden in strenger Reihenfolge gesendet und empfangen.
Es ist nicht möglich,
ein Datenpaket zu versenden/empfangen, bevor ein anderes Paket komplett
versendet/empfangen wurde. Die verschiedenen Datenkanäle werden
benutzt, um die Datenströme
mit verschiedenen Datenstrukturen handhaben zu können, wie eine komprimierte Übertragung
oder das Speichern von Nachrichten von anderen Übertragungsprotokollen. Die
hohe Empfangsebene enthält
dabei die Daten der niedrigeren Empfangsebene. Die Prozessoren stehen
mit einem Nachrichten-FIFO in enger Verbindung. Der erfolgreiche
Erhalt einer Nachricht wird von der hohen Empfangsebene über Ereignisse
oder Signale registriert, was von dem OSI-Modell abhängt. Die
hohe Empfangsebene ist auch für
die Auswertung der Nachrichten zuständig. Abhängig von dem benutzten Datenkanal
leitet die hohe Empfangsebene die Nachricht zu der gewünschten
Verzweigung.
-
Das
dabei verwendete Protokoll zeichnet sich dadurch aus, dass die Schichten
L2 bis L6 des OSI-Layers zu einer Schicht zusammengefasst sind,
wobei segmentierte Daten im oberen Layer und über die Bereitstellung eines
speziellen Übertragungskanals
für segmentierte
Daten im unteren Layer abgearbeitet werden. Die Übertragungskanäle entsprechen
dabei den Ports beim TCP/IP-Protokoll. Die Schicht L5 des OSI-Layers kann
dabei komplett entfallen.
-
Die
Sicherung der Datenpakete gegen einen Datenverlust erfolgt durch
Vergleich von Ziel- und Quell-Paketzählern. Dazu müssen die
Datenpakete im Gegensatz zu anderen LAN-Protokollen in strikter Reihenfolge übertragen
werden. Im Gegensatz zum TCP/IP-Protokoll wird ein Paket-Retry nicht
vom Absender eines Datenpaketes nach Ablauf eines Timers erneut
automatisch angetriggert, sondern muss vom Empfänger aktiv beim Absender angestoßen werden.
-
Die
niedrigere Empfangsebene übernimmt
die komplette Fehlerbearbeitung. Hierzu sind in der Software zwei
Fehlerbearbeitungsmechanismen enthalten. Die hauptsächliche
Fehlerbearbeitung wird durch Vergleich der Quellen und Zielortadressen
beider Prozessoren durchgeführt.
Die aktuell empfangene Quelle des einen Prozessors wird mit der
zuletzt empfangenen Quellenangabe verglichen. Wenn die Differenz
zwischen der vorherigen und der aktuellen Quellenangabe zu groß ist, ist
ein Fehler aufgetreten und das fehlende Paket wird noch einmal angefordert,
indem eine Wiederholungsaufforderung vom Empfänger an den Sender geschickt
wird. Die Wiederholungsaufforderung wird dabei direkt über eine
niedrige Übertragungsebene
verschickt, ohne in den FIFO der höheren Übertragungsebene einzugreifen.
Die Wiederholungsaufforderung enthält die Angabe über die
fehlende Quelle (die letzte bekannte Quellenangabe mit einer zusätzlichen).
-
Während auf
Erhalt der fehlenden Nachricht gewartet wird, werden alle Nachrichten
mit falschen Quellenangaben ignoriert. Nur Wiederholungsaufforderungen
von der Empfangsebene werden akzeptiert, um eine Sperrung des Systems
zu verhindern. Falls eine fehlende Nachricht nicht nach einem bestimmten
Zeitlimit erhalten wird, wird eine Neusynchronisation der Quellen-
und Zielortangabe durchgeführt,
um einen normalen Betriebsmodus wiederherzustellen.
-
Die
zweite Fehlerbehandlung ist wie beim OSI-Schichtmodell als spezieller
4-Byte-Magic-Wert am Ende der Datenframes angegeben, um zu überprüfen, ob
die Daten beschädigt
sind. Wenn der Magic-Wert am Ende der Datenframes fehlt, wird der
Datenframe ignoriert. Es ist auch möglich, einen CRC 16 (cyclic
redundancy check) zu berechnen anstatt eines Magic-Wertes. Vor Beginn
der Übertragung
bzw. Kopie eines Blocks der Daten wird ein CRC-Wert berechnet. Nach Abschluss der Transaktion
wird der CRC Wert erneut berechnet. Abschließend werden beide Prüfwerte verglichen.
Dies sollte nur ausnahmsweise erfolgen, da die Verwendung zu einem
Ausführungsmangel
bei hoher Busladung führen
kann. Dennoch kann die Berechnungsmethode eine nützliche Fehlersuchmöglichkeit
für die
Schnittstelle sein, da CRC so ausgelegt ist, dass Fehler bei der Übertragung
der Daten, wie sie beispielsweise durch Rauschen auf der Leitung
verursacht werden können,
fast immer entdeckt werden. Zusätzlich
sind weitere Fehlerbearbeitungsmechanismen in die Hardware eingefügt. Die
eingebaute Software ist nur für
die Auswertung der Hardwareunterbrechungen zuständig, die feststellt, wenn
ein Fehler von der FEC-Hardware gefunden wird. Abhängig vom
festgestellten Fehler wird der erhaltene Datenrahmen bearbeitet
oder ignoriert. Die niedrige Übertragungsebene
erhält
die Daten vom FIFO der hohen Übertragungsebene.
Sie ändert
den Status der Nachricht, die sich im Nachrichtenspeicher FIFO befindet,
zu „STATE_IS_Send” und definiert
die Quellenanzeige für
diese Nachrichtenerhöhung der
vorhergehenden Quellenanzeige. Der Nachrichtenframe ist dann erstellt
und die Nachricht wird an die FEC (Fast Ethernet Controller) Hardware
weitergegeben, die die niedrige Bearbeitungsebene ausführen wird.
-
Vorteilhafte
Weiterbildungen des Verfahrens sind in den abhängigen Unteransprüchen im
Einzelnen angegeben.
-
Im
Anspruch 2 ist angegeben, dass die Schichten L2 bis L6 des OSI-Layers
zu einer Schicht zusammengefasst sind, wobei segmentierte Daten
im oberen Layer und über
die Bereitstellung eines speziellen Übertragungskanals für segmentierte
Daten im unteren Layer abgearbeitet werden.
-
Im
Anspruch 3 ist angegeben, dass die Datenpakete in strikter Reihenfolge übertragen
werden und dass die Sicherung der Datenpakete gegen einen Datenverlust
durch Vergleich von Ziel- und Quell-Paketzählern erfolgt.
-
Im
Anspruch 4 ist angegeben, dass die Stuktur des gesendeten Frame
Headers mindestens enthält:
eine
8-Bit-Zieladresse,
eine 8-Bit-Zieltransportkanalinformation,
einen
16-Bit-Zielflag,
einen 16-Bit-Zielinformationszähler,
und
der empfangene Frame Header:
eine 8-Bit-Quellenadresse,
eine
8-Bit-Quellentransportinformation,
einen 16-Bit-Quellenflag,
einen
16-Bit-Quellenzähler
und
der Message-Datenblock eine 16-Bit-Message-Dateninformation
für die
im Datenblock übertragenen
Mitteilungsdaten.
-
Im
Anspruch 5 sind folgende Merkmale enthalten:
Die Struktur des
Message-Datenblockes enthält
folgende Informationen:
eine 8-Bit-Information über den
Typ der Information,
eine 16-Bit-Information über die
Länge der
Information,
eine 16-Bit-Statusinformation,
eine 16-Bit-Transportkanalinformation,
einen
16-Bit-Quellenzähler
zur Feststellung der Richtigkeit der erhaltenen Datenblöcke und
eine
8-Bit- oder 16-Bit-Mitteilungsinformation.
-
Im
Anspruch 6 ist angegeben, dass der Zielzähler dem sendenden Prozessor
mitteilt, welche Informationen er bereits erhalten und anhand des
Quellenzählers überprüft oder
bei Empfang festgestellt hat, dass die empfangenen Bits nicht der
Sollvorgabe entsprechen, und er einen Anforderungsbefehl aussendet,
um ein neues Paket anzufordern.
-
Die
Basis für
das Protokoll ist die in der 1 dargestellte
Hardware-Architektur.
-
Die
Datenpakete, die übertragen
werden, sind in der hohen Sendeschicht enthalten und weisen folgende
Struktur auf:
-
Die
Struktur des Rahmens des Kopfes ist beispielsweise folgende:
-
Ein
Protokoll, das auf dieser Basis zusammengestellt ist, ermöglicht die
Kommunikation nur über
den MAC. Somit ist hierdurch eine wesentliche Kostenreduzierung
gegeben, ohne dass die Funktionssicherheit in Frage gestellt ist.
-
2 zeigt
in Form eines Blockbildes die Zusammenfügung der Applikationen und
der unteren Layer-Ebene in eine gemeinsame physikalische Ebene auf
der Senderseite und die Zuordnung auf der Empfängerseite.