Data Recorder for Railway Traffic – REDBOX

In general, a driving data recorder logs various signals and events, accumulated during the operations of trains or tramways. The recorder memory is readout and analyzed in regular maintenance intervals.

redlogix has been contracted with the conception and development of software components for the multi-function data recorder REDBOX of DEUTA-WERKE GmbH. The particular challenge in this project was in the requirement to guarantee a maximum of data throughput, simultaneously with a most reliable recording.REDBOX Data Recorder

Our customer DEUTA-WERKE is a leading German manufacturer of innovative systems for railway transportation. For the development of their systems, being classified for functional safety from SIL 1 to SIL 4 due to IEC 65108 and certified due to CENELEC standards, DEUTA relies on competent partners and works with redlogix in the area of safety related, embedded software with hard realtime demands.

The REDBOX data recorders are characterized by their modular and flexible architecture, which allows for adaptation to any vehicle
environment and train control systems like ETCS, CTCS oder CBTC in the European area and beyond. Further, they are extremely
compact, robust and reliable. Innovative functions for service access and data analysis complete the design.


Technologies Employed

  • PowerPC
  • RT Linux, QNX
  • UML, OOD
  • CAN
  • MVB
  • C++
  • XML
  • Qt

Driving Data Recording Functionality

Similar to a flight recorder, railway vehicles are equipped with data recorders, in order to log all relevant signals, events and system states together with the exact time stamp during their entire time of operation.  This recording must work exceedingly reliably and robust. The multitude of sensors, frequency of signal capturing and a recording interval of up to several months until the next data download may generate high data volumes.

The recorded data is downloaded and evaluated by technicians in regular maintenance intervals. Moreover they may be consulted by accident assessors to reconstruct the circumstances which led to an accident.  For this reason, the recording methods are also subject of juridical requirements.


The component based architecture of the data recorder enables the composition of the software from building blocks either at production time or at run-time. Software components may be enabled or disabled on customer demands. Only a relatively small set of software components is required in every recorder in order to carry out its core tasks.

By the tailoring, enabled in this way, it has been possible to minimize the resource requirements for persistent storage and main memory, as well as the boot time of the system.


The REDBOX systems are available in a range of variants and for a multitude of railway vehicles and use cases. Therefore, high flexibility has been a major design driver for the software architecture. In particular, this refers firstly to the configurability of software components, secondly to support for all relevant field buses and I/O links. The individual software components can be configured for specific scenarios or  customer preferences. All configuration parameters that are needed during runtime are stored in XML format and can be customized offline with specific workstation tools.

Further, the recorder supports a range of well-established field buses, such as CAN, MVB and PROFIbus.


Recorded data is available over the service interface through several communication channels. Technicians may for instance download a copy of the data store via USB, RS232 or HTTP. As a particular feature of this data recorder, all data can be downloaded while the recorder is in operation, for example while the train is driving.

On the protocol layer the protocol standard defined by ETCS - European Train Control System is supported.


In order to guarantee that no data is lost, even on high data rates and sudden load peaks, all process data is cached in a fast, persistent intermediate memory, based on ferroelectric RAM (FRAM) before writing it to the long-term storage medium. This procedure also ensures that a sudden power failure will not corrupt the data or the storage medium and all not yet stored process data can be written to long-term storage after power recovery and sytem reboot.


Initially, the recorder software has been developed for the QNX realtime operating system. Due to the consequent application of POSIX compliant system calls, it has been possible to migrate the application software from QNX to Linux without any trouble during the project. The long standing experience of redlogix with both, various real-time operating systems (e.g. VxWorks, QNX, Integrity, …) and Linux for
embedded and realtime systems, enabled a smooth transition from one OS environment to the other.

Data Storage

Amongst others, redlogix has developed and implemented the central data storage components. Thereby, numerous measures have been taken to optimize the life-time of the physical storage medium with respect to the maximum number of write cycles accesses possible. This is implemented on several layers from media device driver, through the chosen file system to data structures on application level.

Data Download

In order to support various transmission channels for data download, the software is required to interact with several according communication drivers. The supported technologies range from simple point-to-point communication through a standard RS232 interface, to the adaptation of the Linux UDEV framework in the scope of USB plug-in detection. We also developed a specific archive format that makes it possible to stream large amounts of data at a minimum use of buffering.

Powerfail Safety

In addition to fast buffering of process data, the intermediate FRAM memory delivers another advantage: internal information which is important for the safety and reliability of the recording system can be restored after a power failure. Our power-fail concept assures that the data storage is in a consistent state at any time.

Further Compontents

During the project redlogix developed several other components that were mainly used for system analysis. Amongst them is an interactive terminal shell, a logging system that can be confi gured during runtime and several tools for runtime measurement and process data analysis.

In particular, redlogix developed a prototype tool for data analysis in order to evaluate the recorded data. It is based on the well-known Qt framework and thus can be used on all common platforms.