Delete search term

Header

Main navigation

School of Engineering

gPTP Software Stack

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

The protocol software is a portable implementation of the TSN standard IEEE 802.1AS-2020 for Ethernet networks (full-duplex, point-to-point links - clause 11 of the standard). It has been successfully used on various operating systems such as Linux or VxWorks, it also runs on a Nios® II bare-metal system in a while(1) loop. The stack supports multiple parallel PTP instances for different PTP domains, synchronization tree creation using external port configuration, which is sometimes known as pre-engineered sync tree (PEST) and the well-known best timeTransmitter clock algorithm (BTCA – formerly BMCA).

We use the software in applied R&D projects with industry partners in joint applied R&D projects for novel sensor systems or Ethernet switches, but it can also be licensed as source code. We monitor ongoing developments at IEEE for functional extensions and plan to add new functionality as the standards mature.

Currently (2024) our focus is on the extensions required to support the «Industrial Automation Profile» for TSN (IEC/IEEE P60802 amd IEEE ASdm-2024) and for the application over multidrop Single-Pair Ethernet 10BASE-T1S, which ist he upcoming IEEE P802.1ASds.

Features

Programming Language and Design

The programming language of the gPTP software is ANSI-C / C-99. The design of the gPTP stack is object-oriented, although C is not an object-oriented programming language.

Portability to different target systems

The gPTP software consists of a system-independent protocol engine and an OS abstraction layer. The Protocol Engine is completely system independent; the OS Abstraction Layer must be adapted to the HW/SW environment. Due to the clean structuring of the OS Abstraction Layer, the software is quickly and easily ported to different systems.

Configuration and Clock API

The Configuration and Clock API is the interface to the user application. It provides functions for configuration as well as monitoring of the stack using the data sets defined in IEEE 802.1AS-2020. It allows to control the clock(s) of the host system and to integrate advanced clock contorl algorithms as needed.

Command Line Interface (CLI)

The reference implementation for Linux provides a command line interface (CLI). The CLI allows to configure parameters at runtime and to monitor he functions of the stack and its state machines. The command line interface uses the same get() and set() functions that can be used to connect to the network management functions (YANG/MIB).

Licensing

In addition to use in joint research projects (interesting, practice-relevant research topics and requests for collaboration are always welcome), we offer InES-gPTP2020 as a source code license:

The license includes: