Eingabe löschen

Kopfbereich

Hauptnavigation

School of Engineering

gPTP Software Stack

InES-gPTP2020 (IEEE 802.1AS-2020 Software Stack)

Die Protokollsoftware ist eine portable Implementierung des TSN Standards IEEE 802.1AS-2020 für Ethernet-Netzwerke (Vollduplex, Punkt-zu-Punkt Verbindungen – Abschnitt 11 des Standards). Sie wurde bereits erfolgreich auf verschiedenen Betriebssystemen wie Linux oder VxWorks eingesetzt und läuft auch auf einem Nios® II Bare-Metal System in einem while(1) Loop. Der Stack unterstützt mehrere parallele PTP-Instanzen für unterschiedliche PTP-Domains, die Erstellung des Synchronisationsbaumes über externe Portkonfiguration (PEST - pre-engineered Sync Tree) und den bekannten «Best TimeTransmitter Clock Algorithmus» (BTCA – ehemals BMCA).

Wir verwenden die Software in angewandten F&E-Projekten mit Industriepartnern wie Sensor oder Switchherstellern. Der Zeitsynchronisations-Stack kann auch als Source Code lizenziert werden. Wir beobachten die bei IEEE diskutierten Erweiterungen und planen, den Stack um neue Funktionen zu erweitern, wenn die Entwürfe in der Standardisierung entsprechend ausgereift sind.

Derzeit (2024) arbeiten wir an den Erweiterungen für das «Industrial Automation Profile for TSN» (IIEC/IEEE P60802 und IEEE 802.1ASdm-2024) und für den Einsatz über Multidrop Single-Pair Ethernet nach 10BASE-T1S (IEEE 802.1ASds).

Features

Programmiersprache und Design

Die Programmiersprache ist ANSI-C / C-99. Das Design von InES-gPTP2020 ist objektorientiert, obwohl C keine objektorientierte Programmiersprache ist.

Portabilität auf verschiedene Systeme

Die gPTP-Software besteht aus einer systemunabhängigen Protocol Engine sowie aus einem OS Abstraction Layer. Die Protocol-Engine ist vollkommen systemunabhängig, der OS Abstraction Layer muss an die HW/SW-Umgebung angepasst werden. Durch die saubere Strukturierung des OS Abstraction Layers wird die Software schnell und einfach auf verschiedene Systeme portiert.

Konfigurations- und Clock API

Das Konfigurations- und Clock-API ist die Schnittstelle zur Benutzerapplikation. Es stellt Funktionen zur Konfiguration sowie zum Monitoring des Stacks durch die in IEEE 802.1AS definierten Datasets zur Verfügung und erlaubt, die Regelung der Uhr(en) des Host-Systems zu beeinflussen und eigene Algorithmen zur Regelung und Filterung einzubinden.

Command Line Interface (CLI)

Die Referenzimplementierung für Linux beinhaltet auch ein Command Line Interface. Damit lassen sich zur Laufzeit Parameter konfigurieren und die Funktion des Stacks und seiner State Machines überwachen. Das Command Line Interface verwendet dieselben get() und set() Funktionen, die auch zur Anbindung ans Netzwerkmanagement (YANG/MIB) verwendet werden können.

Lizenzierung

Neben der Verwendung in Forschungsprojekten mit Industriepartnern (wir sind immer auf der Suche nach interessanten, praxisrelevanten Fragestellungen) bieten wir InES-gPTP2020 als Source Code Lizenz an:

Die Lizenz beinhaltet: