by Alexander Hanzlik
Simulation based design approaches become more and more important in development processes for automotive embedded systems. The benefits of such approaches in software development processes are, among others, reduced hardware needs during development, better analysis capabilites and reduced time for building and loading resulting in shorter development times. The technical challenge is to switch between the software development and test environment and the real system without modifications of the original code. This challenge is addressed by SIDERA, a Simulation based Integrated Development Environment for Real-Time Applications that supports the development of software modules for FlexRay based vehicle control systems.
Modern vehicle control systems are distributed systems, built from spatially separated electronic control units (ECUs) interconnected via a shared communication resource. ECUs are embedded systems that control one or more of the electrical systems or subsystems in a vehicle. Different ECUs are assigned different control tasks, like engine control, chassis electronics, comfort electronics and more.
For communication between the different ECUs in a vehicle, time-triggered communication systems like FlexRay are particularly suitable due to their deterministic behavior. Time-triggered communication systems guarantee an a-priori known maximum message transmission time using a collision-free access to the shared communication resource.
Figure 1: State of the Art Vehicle Control Network.
The FlexRay industry consortium drove forward the standardization of a time-triggered fault-tolerant communication system for advanced automotive applications. With completion and delivery of the final version of the FlexRay specification the consortium disbanded in 2009. Currently, activities are in progress to integrate the FlexRay standard into the ISO catalogue of norms.
AUTOSAR is an open and standardized automotive software architecture, jointly developed by automobile manufacturers, suppliers and tool developers. The AUTOSAR consortium provides standard specifications for the FlexRay communication stack that define the interaction between host application and FlexRay communication controllers via standardized interfaces. These interfaces hide hardware related dependencies from the host application and allow to incorporate FlexRay communication controllers from different vendors without impacts on the application software.
Figure 2: AUTOSAR Software Architecture.
SIDERA is a simulation environment for time-triggered communication systems. It allows the execution of the FlexRay protocol on simulated communication controller networks. It is a pure software solution - simulation is performed on a single computer system without the need of special (communication controller) hardware. A host application interface allows to incorporate and run user provided code on the simulated communication controllers. This mechanism allows analysis and debugging of existing application software modules in a simulation environment as well as development and test of new application software modules prior to integration into the real system.
The SIDERA software architecture consists of a set of layers, namely the host application layer, the kernel interface layer SKERNELAPI and the runtime kernel layer SKERNEL. The AUTOSAR FlexRay module is the protocol-specific part of the software architecture and contains the implementation of the FlexRay Interface for the host application. The mapping of the different software layers to the system model components is shown in Figure 3.
Figure 3: SIDERA Software Architecture.
The host application layer contains the host application to be tested. It communicates with one or more communication controllers using the AUTOSAR FlexRay module.
The AUTOSAR FlexRay module consists of the FlexRay Interface (FrIf) that controls one or more FlexRay Device Drivers (Fr). The Fr part hides the vendor specific hardware and implementation details of each communication controller in a set of standardized functions accessible by the FrIf.
Last, the SKERNELAPI layer provides access functions for control of the SKERNEL to allow for direct manipulations of the system model (eg take a specific ECU out of service for fault injection experiments).
Graphical User Interface (GUI) - The GUI allows control of the simulation process as well as subsequent analysis of simulation results. The user may customize what is logged and how the logged data is presented (see right hand side of Figure 4).
Figure 4: SIDERA Graphical User Interface.
FIBEX file handling - For simulation of FlexRay clusters, a FIBEX file is needed. This file contains all characteristics of the FlexRay cluster, including the hardware structure (the number of ECUs and the number of communication channels) and the communication schedule (the assignment of communication bandwidth to ECUs).
FlexRay Cluster Hardware Simulation - The hardware simulation part includes simulation of the host CPU, the communication controller and the FlexRay communication channel characteristics according to the contents of the FIBEX file.
FlexRay Protocol Simulation - The FlexRay protocol simulation part provides simulation of the FlexRay protocol services (according to the FlexRay Communications System Protocol Specification) including clock synchronization, communication and message frame construction and distribution.
AUTOSAR Software Interface - SIDERA provides implementations of the AUTOSAR FlexRay Interface and of the AUTOSAR FlexRay Device Driver Interface, respectively (according to the AUTOSAR Standards) for communication between a host application and the simulated communication controller(s).
SIDERA has been used for the investigation of synchronization mechanisms in the Time-Triggered Architecture and in FlexRay based communication systems. The latest application of SIDERA was the development of a software module for a driving dynamics controller ECU in a FlexRay vehicle control network. Originating from research in the course of a PhD Thesis at the Vienna University of Technology, SIDERA is an ongoing research and development project, driven forward by the author since 2006.
AIT Austrian Institute of Technology / AARIT Austria