The TCN Messenger implements the TCN MD protocol called the RTP MD protocol (Real-Time Message Data Protocol). The RTP MD protocol is a communication protocol used for on-board communication by messages between various devices as part of Train Communication Network (TCN).
The RTP MD protocol includes all layers from the link layer up to the session layer in reference to the ISO/OSI standard model.
The TCN Messenger is implemented as a source code library. The Messenger library contains the full implementation of the TCN MD protocol, including the optional services of TCN multicast, the implementation of interface for TCN message transmission and the interface for transferring UIC E-Telegrams.
The TCN Messenger library is programmed in C++. Therefore, porting to target platform is possible only if exists the C++ compiler for given platform. The external library interfaces are implemented only in C language.
TCN Messenger library is platform-independent; it does not require any OS nor synchronization primitives. This library implements its own internal timers (derived from periodic calling of main function) and its own dynamic memory management (heap). Porting of TCN Messenger library to target platform is represented by allocation of memory for messages and packets (pointer to this memory area is passed to the library upon initialization), linking of LMA (Link Message Adapter) library to the driver of given TCN bus and forcing the library by periodic calling of main function. Communication with driver of given bus is realized through queue of MD packets, that are implemented as circular buffers, i.e. even this implementation does not require any synchronization primitives.
The TCN Messenger library can be used in any TCN device starting from ED type display or VCU up to the device like TCN WTB gateway type. Together with it, this library can be used also in servicing devices (for instance notebook).
TNM (Train Netwok Management) Agent is a standard TCN replier application, which uses the RTP MD communication protocol for its functionality. TNM Agent is a server-type application, which implements services of remote diagnostics, configuration and firmware uploading. This service is then used by client application named as Manager that can be located anywhere in the TCN train network.
TNM Agent application (programmed in C++) is implemented as library that uses the TCN Messenger interface. Therefore, on the target platform must be available the C++ compiler. The external library interface is programmed only in C language.
TNM Agent library implements the all standard TNM station services, MVB/WTB link services, variables services, message services, domain services, UTC time services, overhead and wide range of user TNM services.
The TNM Agent library is platform-independent, that does not require any OS or synchronization primitives. This library implements its own internal timers (derived from periodic calling of main function). TNM services are implemented through standard interfaces (AVI, LPI, AMI, LSI); alternatively realized through call-back functions, added to the library externally when the individual TNM services are initialized.
The TNM Agent library can be used in any TCN device, with implemented TCN Messenger protocol for message transmission.
|TCN Messenger||a source code library programmed in C++|
|TNM Agent||a TCN respondent (replier) aplication|