18. Oktober 2017

Ethernet im Rückblick

Als vor knapp 12 Jahren Ethernet zum ersten Mal für unser Echtzeitsystem infrage kam, standen wir am Scheideweg: Sollten wir die Windows-internen NDIS-Treiber verwenden oder den langen, steinigen Weg gehen, eigene Treiber für Ethernet zu entwickeln?

Die Entscheidung fiel letztendlich auf eine aufwändige Eigenentwicklung. Hat sich diese Entscheidung also gelohnt? Absolut! Mehrere Argumente sprechen heute dafür, dass es der goldrichtige Weg war.

Ganz oben auf der Liste steht hierbei das Leistungsniveau, das wir mit unseren eigenen Treibern erreichen. So sind mit unserer Variante selbst bei 10-Gigabit-Ethernet über 99,8% der theoretischen Bandbreite nutzbar. Mit NDIS wäre das undenkbar. Selbstverständlich steht dabei auch die von Kithara bekannte Echtzeitleistung zur Verfügung. Durch stetige Optimierung und Abgleich mit dem Kithara Echtzeitsystem ist mit Ethernet ein maximaler Jitter von nur wenigen Mikrosekunden möglich.

Hauseigene Treiber bedeuten natürlich auch, dass neue Controller erst in unser System implementiert werden müssen, da wir diese logischerweise nicht automatisch durch NDIS-Updates beziehen. Das kann schon mal mehrere Wochen pro Controller in Anspruch nehmen, doch auch hier hat sich herausgestellt – der Aufwand ist es wert. Sämtliche Controller-spezifischen Funktionen sind verwendbar und fast die gesamte Palette an Intel- und RealTek-Controllern wird unterstützt.

Unsere Ethernet-Treiber sind zudem Grundlage für einige der wichtigsten Echtzeit-Technologien bei Kithara, wie Bilderfassung mit GigE Vision oder Automatisierung mit EtherCAT. Demnächst kommt zudem Rechnersynchronisierung mit dem Precision Time Protocol hinzu (Siehe Blog-Eintrag: Zeitreise).

Apropos Zukunft: Unser nächster und sicher nicht letzter Meilenstein für Ethernet wird die Unterstützung von 40-Gigabit-Ethernet über QSFP+-Transceiver, von der wir eine ähnliche Leistungsqualität erwarten. Wir schauen also gespannt auf die kommenden Entwicklungen rund um Ethernet und freuen uns weiterhin, daran teilzuhaben.