Real-time FlexRay / CAN / LIN
The automotive technology has made rapid developments in the past few years. Software has become an increasingly integral part to vehicle safety, comfort and driver assistance. This is accompanied by the rising advances in computer technology as well as standardized bus systems for the networking of individual vehicle systems. Three of these bus systems are FlexRay, CAN and LIN.
The »RealTime Suite« is a modular real-time extension that provides several mechanisms to optimally perform tasks of real-time automotive networking. Here are some basic features:
- FlexRay communication in real-time ("FlexRay Module")
- CAN communication in real-time ("CAN Module")
- LIN communication in real-time ("LIN Module")
The automotive field bus FlexRay is mainly used for sophisticated functions in modern automobiles. Due to its high transfer rate of 10 MBit/s, FlexRay can be applied optimally for high-end features such as driver assistant and chassis control systems. Using dual-channel wiring the data rate can either be doubled or the second communication channel can provide redundant data transfer, which makes it possible for FlexRay to be implemented for safety-critical functions.
Real-Time capabilities for FlexRay enable automotive and test system manufacturers to efficiently test the above-mentioned car systems. By employing guaranteed fast reaction times, for example high-precision measurement data can be determined, thus achieving optimal test results.
FlexRay communication in real-time
As part of the Kithara real-time extension, the FlexRay Module represents an essential link between test software and physical test system, which allows for the application of real-time capabilities with accurate cycles for high-precision operations.
With the FlexRay Module, a Windows PC can be utilized as an actual FlexRay node. This includes the assignment as leading or following node, as active or passive point of communication within the network. Both FlexRay channels can be configured independently from each other while it is possible to flexibly adjust their baud rate (2,5/5/10 MBit/s).
- RealTime FlexRay communication
- Independent configuration of FlexRay channels
- Windows PC utilized as FlexRay node
- Assignment as leading or following node
- Baud rate flexibly adjustible (2,5/5/10 MBit/s)
The following FlexRay cards are supported:
Eberspächer FlexCard PMC II
These specifications always refer to the latest version of our software.
CAN (Controller Area Network)
CAN (Controller Area Network) is a serial bus system, which was originally developed for control systems in the automobile industry. However, it is qualified for networking of intelligent electronic devices as well as sensors and actuators in a machine or factory. CAN is a serial multi-master bus system, that implies that multiple CAN nodes can request an access simultaneously, but the order of the actual singular access of a node is determined during the access procedure. The ISO 11898 standardized bus system has real-time capability and uses two layers of the ISO/OSI reference model.
CAN communication in Real-time for Windows
CAN communication mostly requires a stable, time equidistant data exchange as well as a fast reaction to external events. However, most of the CAN boards cannot fulfil these requirements, because the basic Windows drivers, which are included in the delivery can only be used from an application context and therefore, are not real-time capable. The CAN Module closes this gap and enables CAN communication in real-time.
The CAN Module from the »RealTime Suite« complements the Windows extension and provides solutions to automation, whereby real-time connections are necessary. The function library addresses users that need a time critical proccssing of CAN messages, e.g. engineering companies and control system manufacturers.
At transmission and receiving, the CAN messages were buffered through a simple and intuitive Application Programming Interface (API). It is possible to implement customized real-time message filters as well as error handling routines for predetermined Bus events. A Listen Only Mode is also possible. For straightforward monitoring the »Kernel Tracer« was enhanced with a tool, which is capable to trace the entire CAN data traffic in a microsecond resolution. As a programming language C/C++ or Delphi is usable. Also the .NET environment (e.g. C#) is supported, whereas for the real-time process a C++ programmed DLL is embedded.
For a maximal flexibility in the selection of the usable CAN boards, a real-time driver for common CAN boards of different manufacturers are provided, which enables a hardware independent programming.
CAN communication in real-time
By using the CAN Module it is possible to attain real-time with Fieldbus (CAN 2.0B compatible). The API is manufacturers independent, thus a initial training has to be done once in order to program CAN hardware.
The immediately reaction to receiving massages enables that CallBack functions can react immediately to failure situations. Even with high baud rates and bus loads messages do not get lost, because the transmit and reception buffer is big enough. Additionally, it is possible to create filter routines, which can be executed directly by receiving messages.
At analytical tasks the CAN interface has to be complete passive; a listen only mode is supported. Furthermore, by using a SJA1000 CAN controller the "Error Code Capture" register can be read, with the result that further information for failure analysis is provided.
- CAN data exchange in real-time
- Instantaneous transmission and immediate reaction
- Transmission and reception at kernel level possible
- Customized filter routines through CallBack functions possible
- Reception of messages either through Callback interrupt context, at kernel level, or polling process
- Transmit and receive routines directly form real-time context callable
- Utilization of the kernel level supports C/C++ or Delphi (Win32 native)
- OS: Windows 7, Vista, Server 2003, XP, 2000 und NT
- No dongle necessary, no online-activation ect.
At the moment the CAN Module supports PCI based cards with 1, 2, or 4 channels of Peak, IXXAT, Kvaser, EMS Dr. Wünsche and esd (see the listing below*). We gladly support you also with your card, which you are using.
EMS Dr. Thomas Wünsche
Kvaser Advanced CAN Solutions
*This list always refers to the latest version of our software.
LIN (Local Interconnect Network)
LIN is commonly used to apply cost-efficient automotive applications since its single wire networking allows for significant cost and weight reductions.
As a popular serial network protocol commonly used in automotive engineering, LIN is deployed for increasingly complex automotive applications to be integrated cost-efficiently.
The Automotive Future with LIN
The implementation of the Local Interconnect Network into the real-time extension »RealTime Suite« presents a natural and logical step for the software developer. LIN particularly features the inexpensive integration of electronics in single car parts, including doors, car tops, air conditioning systems, mirrors or wipers.
Due to the fact that LIN is primarily used in cars subsystems, it needs to be linked to a higher-level backbone network, which is why the LIN master node often represents the gateway to a real-time CAN bus system as well. Programming can be done in C/C++, Delphi and C#.
Press releases of the Kithara Echtzeit-LIN can be read here.
LIN communication in real-time
By using the LIN Module of the Kithara»RealTime Suite« it is possible to attain real-time with LIN. A master or slave node can be created easily using a common PC with a UART interface. This enables easy logging of existing LIN networks. Also it is comfortable to prototyping and debugging LIN nodes instead of using an microcontroller. Sending nodes will recheck its sent data on a bus, so collisions can be detected.
- LIN data exchange in real-time
- Easy implementation of a master or slave node using a common PC
- Only a low cost LIN transceiver required (e.g. Freitag RS232-LIN)
- Bus collisions detection
- Automatic checksum validation (LIN version 1.x and 2.x)
- Data rates up to 20 kbps
- Guaranteed latency times
- Receive LIN messages either using callbacks or polling