Echtzeit-Ethernet mit Standardtechnik

Bussysteme auf Ethernet-Basis haben die Automatisierungstechnik erobert. Doch ist Echtzeit im Sinn der Automatisierungstechnik mit konventioneller Ethernet-Technologie überhaupt möglich? Welche Maßnahmen müssen getroffen werden, um industrielle Automation mit Ethernet zu realisieren?

Zunächst muss man feststellen, dass es „das“ Ethernet gar nicht gibt. Ethernet beschreibt ein Bussystem, welches eine phänomenale Evolution in den letzten 40 Jahren vollzogen hat. Es ist eng verbunden mit Robert Metcalfe und dem Xerox Palo Alto Research Center (PARC). Metcalf entwickelte mit seinem Team über mehrere Jahre das Ethernet als firmenspezifisches Protokoll. 1976 veröffentlichte er einen ersten grundlegenden Artikel zusammen mit David Boggs: „Ethernet: Distributed Packet Switching For Local Computer Networks“ [1]. 1979 gründete Metcalfe die Firma 3COM und konnte DEC, Intel und Xerox (DIX) überzeugen, Ethernet zu einem gemeinsamen Standard zu entwickeln. Dieser Backbone-basierte Ansatz, häufig auch als DIX bezeichnet, führte 1980 zu einer entsprechenden Initiative und gipfelte 1985 in der Normung der IEEE 802.3. ­Mit der Standardisierung begann eine herausragende Entwicklung in den letzten 30 Jahren. Vergleichbar zum Moore‘schen Gesetz in der Halbleiterindustrie, der Verdopplung der Rechenleistung alle 18 Monate, kann nur Ethernet eine vergleichbare Performance-Steigerung bei Kommunikationssystemen vorweisen. Mit etwa einer Verzehnfachung alle 5 Jahre ist der Anstieg an Kommunikationsleistung signifikant (Bild 1). Ein Ende dieser Entwicklung ist nicht abzusehen – ein Grund, warum Ethernet als universelles Kommunikationsmedium so interessant ist.

Bei der initialen Entwicklung von Ethernet stand die Kommunikation von nahezu beliebig vielen Stationen an einem Backbone im Vordergrund. Durch einen CSMA/CD-Kanalzugriff (Carrier Sense Multiple Access/Collision Detection) versuchte man die notwendige Robustheit zu erreichen. Für die Träger­erkennung werden 0- und 1-Informationen Manchester-kodiert, so dass ein Datentelegramm zweifelsfrei erkannt werden kann. Aufgrund der Laufzeiten von Daten auf Kabeln kann es dennoch zu Kollisionen von Datenpaketen kommen. Eine Mindestdatenlänge (im Fall Ethernet von 64 Byte) bestimmt die weiteste Netzausdehnung. Tritt eine Kollision auf, bemerken die Stationen, dass die Datenpakete verändert worden sind, und hören unmittelbar mit dem Senden auf. Um einen erneuten kollisionsfreien Zugriff zu ermöglichen, starten die entsprechenden Stationen einen Zufallszähler, nach dessen Ablauf ein erneuter CSMA-Zugriff eingeleitet wird. Tritt wieder eine Kollision auf, wird das Intervall des Zufallszählers verdoppelt und der Prozess beginnt von neuem. Erst nach dem 16. Fehlversuch wird der Fehler an die darüber liegende Schicht gemeldet. Dieser Algorithmus wird auch als Backoff-Algorithmus bezeichnet und sorgt dafür, dass im Mittel alle Datenpakete auch bei Kollisionen versendet werden können.

Neben der Definition der Kabelphysik beschreibt Ethernet auch den grundlegenden Protokollrahmen des MAC Layer. Häufig wird der IEEE-802.3-Standard als Synonom für Ethernet verwendet, was aber nicht ganz korrekt ist. Historisch gewachsen ist der IEEE-802.3-Rahmen. Die ersten 7 Bytes enthalten eine Präambel mit einer Magic Number (1010101). Sie erzeugt bei 10 Mbit/s und Manchesterkodierung ein 10-MHz-Signal von 5,6 µs Länge und ermöglicht der hörenden Station die Synchronisation mit dem Sender. Das Signal wird auch zur Autodetektion von 10/100 Mbit/s verwendet. Das folgende Startbit dient als Rahmenstart-Bit. Die Ziel- und Quelladresse beinhalten die MAC-Adresse des Senders und Empfängers. Die MAC-Adresse ist eine Eigenschaft der Netzwerkkarte und weltweit eindeutig. In aktuellen Systemen werden Ethernet-II-Rahmen eingesetzt, die sich geringfügig von Ethernet-I-Rahmen unterscheiden. Die Datenfeldlänge ist 46 bis 1500 Byte lang und ein Type-Feld enthält den „Ethertype“-Code. Häufige Codes sind beispielsweise 0x800 für IP-Datenpakete oder spezifische andere Protokolle höherer Kommunikationsschichten.