Der 32-bit-RISC/DSP-Controller hyNet32XS mit zwei Ethernet-MACs und einem Ethernet-PHY ist ein wahrer Vernetzungskünstler Ethernet in Echtzeit #####

Harte Echtzeit-Anforderungen bestimmen heute die Ethernet-Anwendungen vor allem in der Industrieautomation. Um Echtzeit-Anforderungen zu einem Bruchteil der Kosten vergleichbarer bisheriger Systeme zu erfüllen, integriert der neu entwickelte Vernetzungs-Baustein hyNet32XS von Hyperstone als erster Chip auf seinen zwei On-Chip-Ethernet-Schnittstellen eine Uhrensynchronisationseinheit.

Der 32-bit-RISC/DSP-Controller hyNet32XS mit zwei Ethernet-MACs und einem Ethernet-PHY ist ein wahrer Vernetzungskünstler

Harte Echtzeit-Anforderungen bestimmen heute die Ethernet-Anwendungen vor allem in der Industrieautomation. Um Echtzeit-Anforderungen zu einem Bruchteil der Kosten vergleichbarer bisheriger Systeme zu erfüllen, integriert der neu entwickelte Vernetzungs-Baustein hyNet32XS von Hyperstone als erster Chip auf seinen zwei On-Chip-Ethernet-Schnittstellen eine Uhrensynchronisationseinheit.

Produktivität ist in der Industrieautomation das A und O. Doch eine Leistungssteigerung darf keinesfalls die hohe Genauigkeit von Bewegungsabläufen, etwa im Bereich von Motorsteuerungen, beeinträchtigen. Zwei Beispiele: Um einen Roboterarm mit sechs synchronisierten Antrieben noch schneller und präziser bewegen zu können, werden Zykluszeiten in Regelkreisen von 100 µs und weniger angestrebt. Einen ähnlich schnellen Regelzyklus braucht auch eine Druckmaschine, die Rollenpapier mit 50 m/s statt mit 25 m/s über Hunderte von synchron rotierenden Walzen bewegt, ohne dass das Papier reißt oder die Qualität des Druckvorgangs leidet. Hier ist der klassische Feldbus definitiv am Ende, er wird heute bereits durch Ethernet ersetzt.

Um die hohen Kosten von Ethernet-Schnittstellen in den Griff zu bekommen, bieten sich als einzige Lösung hochintegrierte SoCs (System on Chip) an, z.B. der hyNet32XS von Hyperstone. Dieser Embedded Netzwerkprozessor zeichnet sich durch eine Vielfalt an Schnittstellen aus, aber auch durch die Erfüllung harter Echtzeit-Anforderungen. Es handelt sich bei ihm zudem um den ersten Baustein, der mit einem integrierten Ethernet-Transceiver (PHY) auf den Markt kam.

Nun wurde neben den bereits vorhandenen zwei Ethernet-Media-Access-Controllern zusätzliche Logik für eine Ethernet-Hub- bzw. Switch-Funktion integriert. Damit können Geräte direkt in einer Linientopologie verkabelt werden, ohne dass externe Hubs oder Switches nötig sind. Eine Uhrensynchronisationseinheit nach IEEE 1588 auf beiden Ethernet-Schnittstellen sorgt zudem dafür, dass Latenzzeiten im Ethernet-Netzwerk vollständig ausgeglichen werden können. Durch die Integration auf einem Chip werden auf diese Weise harte Echtzeit-Anwendungen zu einem Bruchteil der Kosten vergleichbarer bisheriger Systeme möglich. Bild 1 zeigt den Funktionsumfang des hyNet32XS anhand einer Blockschaltung; im Kasten sind die wichtigsten Bausteinparameter zusammengefasst.

Schnelle CPU und präzise Zeitmessung auf einem Chip vereint

Basierend auf dem bewährten 32-bit-RISC/DSP-Kern 32XS, nun in 0,18-µm-Technologie gefertigt, ist der Chip mit einer Taktfrequenz von 200 MHz und 128 Kbyte 1-Zyklus-Speicher leistungsfähig genug, um auch sehr schnelle Prozesse steuern zu können. Die Uhren-synchronisation per „Precision Time Protocol“ (PTP) nach IEEE 1588 gewährleistet zudem, dass Ereignisse bei einer Vielzahl von Knoten exakt gleichzeitig ausgelöst werden. Je nach Netzwerkkonfiguration lassen sich so im Idealfall Synchronisations-Jitter bis hinab zu Werten von 100 ns erreichen. Dabei kommt ein nach dem IEEE-1588-Standard international genormtes Synchronisationsprotokoll zum Einsatz, das dafür sorgt, dass ein Master-Takt im Netzwerksegment seinen Zeitwert an viele Slave-Taktsignale weitergibt, die von da an mit dem Master exakt gleichlaufen. Damit werden unvermeidliche Latenz- und Übertragungszeiten von Ethernet-Frames durch Hubs und Switches sowie Software-Reaktionszeiten ausgeglichen und eine netzwerkunabhängige Synchronisations-Zeitbasis geschaffen.

Das Prinzip des Precision Time Protocol (Bild 2): In einer ersten Phase wird die Zeitdifferenz zwischen dem Takt-Master und dem Takt-Slave korrigiert. Hierzu sendet der Takt-Master zyklisch ein „Sync“-Telegramm mit seiner aktuellen Uhrzeit auf den Bus. Während es verschickt wird, ermittelt die Hardware des Senders präzise die tatsächliche Sendezeit. Diese Zeit wird dann in einem so genannten „Follow-Up“-Telegramm verschickt. Der Empfänger übernimmt zunächst die Master-Zeit aus dem Sync-Telegramm, kann dann mit der Differenzzeit aus dem Follow-Up-Telegramm seine Uhr nachstellen und sich so präzise auf den Master synchronisieren. In einer zweiten Phase wird die Verzögerung auf der Übertragungsstrecke ermittelt. Hierzu sendet der Takt-Slave ein so genanntes „Delay-Request“-Telegramm zum Takt-Master, der mit einem „Delay-Response“-Telegramm antwortet. Dadurch kann der Takt-Slave auch noch die Zeitdifferenz korrigieren, die durch die Übertragungsstrecke (Ethernet-Kabel, Hubs, Switches) gegeben ist. Durch zyklisches Wiederholen von Sync- und Follow-Up-Telegrammen ist zudem gewährleistet, dass auch Abweichungen in der Quarzgenauigkeit der einzelnen Stationen immer wieder korrigiert werden. Der Master für alle Uhren ist stets der Teilnehmer, der die genaueste Uhr hat. Auch hier sorgt das Time Precision Protocol dafür, dass dieser automatisch ermittelt wird.

Die hohe Präzision der Synchronisation ist nur durch Hardware-Unterstützung möglich, die es erlaubt, Zeitstempel mit Nanosekunden-Auflösung in „vorbeilaufende“ Ethernet-Pakete einzubetten. Diese Hardware-Unterstützung ist auf dem hyNet32XS integriert und erspart wiederum teure externe Logik in Form von schnellen FPGAs. Auch die Präzision der Zeitstempel ist durch die Integration auf den Chip höher als bei externer Beschaltung, weil Signalwege nur minimal sind und Übergangskapazitäten in den I/O-Pads keine Rolle mehr spielen.

Ganz neu ist bei Hyperstone die flexible Konfiguration der zwei On-Chip-Ethernet-Schnittstellen des hyNet32XS, die sich nach Bedarf auch intern als Ethernet-Hub oder -Switch auslegen lassen. Das ist wichtig, um beispielsweise in der Industrieautomation bei langen Fertigungslinien eine aufwendige und teure Sternverkabelung zu vermeiden, wie sie im Bürobereich üblich ist. Durch die kostengünstige Integration eines Hub oder Switch direkt auf dem Chip können auch bei Ethernet benachbarte Feldgeräte direkt miteinander verbunden werden (Daisy-Chain, Linienverkabelung), was eine Sternverkabelung überflüssig macht.

Einfacher Ethernet-Port
Braucht der Anwender nur einen Ethernet-Port, so kommt einer der Ethernet-MACs mit dem On-Chip-Ethernet-PHY zum Einsatz, was die kostengünstigste Lösung darstellt, da keinerlei aktive externe Bauelemente mehr erforderlich sind (Bild 3).

Ethernet-Hub
Soll ein Hub realisiert werden, dann sorgt eine interne Hub-Schaltung hinter einem der Ethernet-MACs auf MII-Ebene dafür, dass alle Ethernet-Bits, die auf einem der drei Ports hereinkommen, so schnell wie möglich auf den beiden anderen wieder ausgegeben werden. Hier wurde auf eine möglichst kurze Durchlaufzeit durch den Hub (unter 400 ns) Wert gelegt, um die Gesamtverzögerung bei einer Linienverkabelung gering zu halten und um als Repeater gemäß IEEE 802.3 Class 2 zu gelten. Möglich ist das nur, wenn man die dafür benötigten zwei externen PHYs über die MII-Schnittstelle synchronisiert (Bild 4). Das ist zwar wesentlich aufwendiger als bei Verwendung der RMII-Schnittstelle (Reduced Media Independent Interface), doch die Entwickler haben dafür eine ausgeklügelte Logik implementiert. Diese Lösung verträgt Frequenzabweichungen der Quarzoszillatoren der einzelnen Stationen von bis zu 166 ppm, was einen sehr weiten Toleranzbereich darstellt.

Hubs kommen immer dann zum Einsatz, wenn es um möglichst kurze Durchlaufzeiten von Ethernet-Paketen geht wie bei dem Ethernet-Powerlink-Protokoll (EPL V2). Der Nachteil von Hubs ist die eingeschränkte Kaskadierung. Will man eine sichere Kollisionserkennung gewährleisten, dürfen nicht mehr als zehn Hubs hintereinander geschaltet werden. In per Protokoll kollisionsfreien Netzwerksegmenten, wie bei EPL V2, ist diese Beschränkung jedoch teilweise wieder aufgehoben.

Ethernet-Switch
Bei einem Switch wird vor allem auf eine intelligente Abwicklung des Datenverkehrs Wert gelegt. Diese kann die Netzwerklast deutlich reduzieren, da nur Pakete weitergeleitet werden, deren MAC-Ziel-Adresse tatsächlich über einen Port zu erreichen ist. Hierzu muss mindestens der Ethernet-Header analysiert werden, um eine Routing-Entscheidung aufgrund einer gelernten MAC-Adress-Tabelle zu fällen. Ein „Cut-Through“-Switch lässt sich über DMA-Zugriffe hinter den beiden MACs des hyNet32XS realisieren (Bild 5). Ein Paket wird 64-byte-weise weitergeleitet, was eine Verzögerung von ca. 8 µs ausmacht. Bei der Store-and-Forward-Methode wird der ganze Ethernet-Rahmen zwischengepuffert, und die Verzögerungszeit beträgt bis zu 130 µs. Dafür ist eine noch differenziertere Routing-Entscheidung möglich, etwa dass defekte Pakete mit CRC-Fehler gleich verworfen werden, und auch Kollisionen können so ganz vermieden werden.

Durch die gegenüber Hubs mindestens 20-fach längere Durchlaufzeit eignen sich Switches nicht sonderlich gut für die Zeitsteuerung über Synchronisationspakete. Setzt man aber die IEEE-1588-Uhrensynchronisation in Kombination mit Switches ein, so lässt sich dieser Nachteil vollständig kompensieren. Dies geschieht bei den Echtzeit-Ethernet-Standards PROFInet (Siemens) und EtherNet/IP (Rockwell). Ein weiterer Vorteil ist die praktisch unbegrenzte Kaskadierbarkeit von Switches. Als PHY kann auf einem Port der interne PHY des hyNet32XS zum Einsatz kommen und auf dem anderen ein externer PHY.