Project structure


The work in TCNOpen is currently focussed on the development  of the Train Real-time Data Protocol (TRDP) module.

Therefore the project includes the following activities:

TRDP1 Management: Project planning, quality rules, coding rules, configuration management, document planning, meeting organisation, etc.
TRDP2 Architecture: Requirements, user interfaces and overall architecture of the TRDP protocol stack
TRDP3 Design: Design and implementation of the individual TRDP components
TRDP4 Validation: System integration, test and validation

TRDP3 is further divided into sub working packages related to the development of individual components (e.g. TRDP3A Hardware Abstraction Layer).

TRDP Architecture
The TRDP components include PDCom, MDCom, TRDP Light,  VOS (Virtual Operating System) and  Utilities.
PDCom handles Process Data and MDCom handles Message Data communication on TCN.
TRDP coexists with other users of the network, e.g. streaming communication (like TCP/IP) and communication based on best effort (like UDP/IP).
TRDP consists of two levels – the TRDP Light and the full TRDP.
Both levels are supported by different optional utilities e.g. for marshalling/unmarshalling, reading a TRDP XML configuration or converting IP/URI addresses. So TRDP is providing scalability from low end devices, using only TRDP Light, to high end devices, using the full TRDP interface.

Process Data (PD) is data that is cyclically distributed among many applications. Payload size is limited to 1436 bytes (without SDT).
Message Data (MD) is data that is sent event driven from one application to one or more other applications. Payload using UDP can be up to ~64 Kbytes, using TCP up to ~4 GBytes.
TRDP handles all aspects of network communication, e.g. buffering, send/receive, optional marshalling, optional traffic shaping and data integrity.
Applications using TRDP can communicate with each other in a transparent way, within or outside an end device, consist or train.
The abstraction layer VOS (Virtual OS) provides a standard interface for the functions of the Operating System (OS) and underlying hardware, which are used by the TRDP functions internally as well as by the application. This interface ensures that TRDP can be adapted for different OS like Linux, Integrity, VxWorks, Windows, without changing the generic TRDP functionality itself. All differences between the OSs are completely hidden by the virtual OS.