FlexRay

Last updated

FlexRay is an automotive network communications protocol developed by the FlexRay Consortium to govern on-board automotive computing. It is designed to be faster and more reliable than CAN and TTP, but it is also more expensive. The FlexRay consortium disbanded in 2009, but the FlexRay standard is now a set of ISO standards, ISO 17458-1 [1] to 17458-5. [2] [3]

Contents

FlexRay is a communication bus designed to ensure high data rates, fault tolerance, operating on a time cycle, split into static and dynamic segments for event-triggered and time-triggered communications.

Features

FlexRay supports data rates up to 10 Mbit/s , explicitly supports both star and bus physical topologies, and can have two independent data channels for fault-tolerance (communication can continue with reduced bandwidth if one channel is inoperative). The bus operates on a time cycle, divided into two parts: the static segment and the dynamic segment. The static segment is preallocated into slices for individual communication types, providing stronger determinism than its predecessor CAN. The dynamic segment operates more like CAN, with nodes taking control of the bus as available, allowing event-triggered behavior. [4]

Consortium

The FlexRay Consortium was made up of the following core members:

There were also Premium Associate and Associate members of FlexRay consortium. By September 2009, there were 28 premium associate members and more than 60 associate members. At the end of 2009, the consortium disbanded.

Commercial deployment

The first series production vehicle with FlexRay was at the end of 2006 in the BMW X5 (E70), [5] enabling a new and fast adaptive damping system. Full use of FlexRay was introduced in 2008 in the new BMW 7 Series (F01).

Vehicles

Details

Clock

The FlexRay system consists of a bus and ECUs (Electronic control unit). Each ECU has an independent clock. The clock drift must be not more than 0.15% from the reference clock, so the difference between the slowest and the fastest clock in the system is no greater than 0.3%.

This means that, if ECU-s is a sender and ECU-r is a receiver, then for every 300 cycles of the sender there will be between 299 and 301 cycles of the receiver. The clocks are resynchronized frequently enough to assure that this causes no problems. The clock is sent in the static segment. [15]

Bits on the bus

000000111111110000
000000001111111100

Correct averaging in case of no errors. The signal is merely delayed by 2 cycles.

000000111101110000
000000001111111100

Errors near the middle of 8-cycle region are canceled.

00010111111110000
00000011111111100

Errors near the boundary of 8-cycle region may affect the boundary bit.

At each time, only one ECU writes to the bus. Each bit to be sent is held on the bus for 8 sample clock cycles. The receiver keeps a buffer of the last 5 samples, and uses the majority of the last 5 samples as the input signal.

Single-cycle transmission errors may affect results near the boundary of the bits, but will not affect cycles in the middle of the 8-cycle region.

Sampled bits

The value of the bit is sampled in the middle of the 8-bit region. The errors are moved to the extreme cycles, and the clock is synchronized frequently enough for the drift to be small. (Drift is smaller than 1 cycle per 300 cycles, and during transmission the clock is synchronized more than once every 300 cycles.)

Frame

All the communication is sent in the form of frames. The message consists of bytes , packed in the following way:

If nothing is being communicated, the bus is held in state 1 (high voltage), so every receiver knows that the communication started when the voltage drops to 0.

The receiver knows when the message is complete by checking whether BSS0 (1) or FES (0) was received.

Note that 8-cycle per bit has nothing to do with bytes. Each byte takes 80 cycles to transfer. 16 for BSS0 and BSS1 and 64 for its bits. Also note that BSS0 has value 1, and BSS1 has value 0.

Clock synchronization

Clocks are resynchronized when the voted signal changes from 1 to 0, if the receiver was in either idle state or expecting BSS1.

As synchronization is done on the voted signal, small transmission errors during synchronization that affect the boundary bits may skew the synchronization no more than 1 cycle. As there are at most 88 cycles between synchronization (BSS1, 8 bits of the last byte, FES and TES - 11 bits of 8 cycles each), and the clock drift is no larger than 1 per 300 cycles, the drift may skew the clock no more than 1 cycle. Small transmission errors during the receiving may affect only the boundary bits. So in the worst case the two middle bits are correct, and thus the sampled value is correct.

Here's an example of a particularly bad case - error during synchronization, a lost cycle due to clock drift and error in transmission.

Errors that happened in the example:

Despite so many errors, the communication was received correctly.

The green cells are sampling points. All except the first are synchronized by the 1->0 edge in the transmission fragment shown.

Signal to be sent10101
Signal sent1111111100000000111111110000000011
On the bus1111111101000000111111110000001011
Received1111111101000000111111X10000001011
5-maj voted111111101000000111111X10000001011

Development tools

When developing and/or troubleshooting the FlexRay bus, examination of hardware signals can be very important. Logic analyzers and bus analyzers are tools which collect, analyze, decode, store signals so people can view the high-speed waveforms at their leisure.

The future of FlexRay

Ethernet may replace FlexRay for bandwidth intensive, non-safety critical applications. [16]

See also

Related Research Articles

<span class="mw-page-title-main">Line code</span> Pattern used within a communications system to represent digital data

In telecommunication, a line code is a pattern of voltage, current, or photons used to represent digital data transmitted down a communication channel or written to a storage medium. This repertoire of signals is usually called a constrained code in data storage systems. Some signals are more prone to error than others as the physics of the communication channel or storage medium constrains the repertoire of signals that can be used reliably.

<span class="mw-page-title-main">Non-return-to-zero</span> Telecommunication coding technique

In telecommunication, a non-return-to-zero (NRZ) line code is a binary code in which ones are represented by one significant condition, usually a positive voltage, while zeros are represented by some other significant condition, usually a negative voltage, with no other neutral or rest condition.

<span class="mw-page-title-main">Time-division multiplexing</span> Multiplexing technique for digital signals

Time-division multiplexing (TDM) is a method of transmitting and receiving independent signals over a common signal path by means of synchronized switches at each end of the transmission line so that each signal appears on the line only a fraction of time in an alternating pattern. It can be used when the bit rate of the transmission medium exceeds that of the signal to be transmitted. This form of signal multiplexing was developed in telecommunications for telegraphy systems in the late 19th century, but found its most common application in digital telephony in the second half of the 20th century.

Data communication, including data transmission and data reception, is the transfer of data, transmitted and received over a point-to-point or point-to-multipoint communication channel. Examples of such channels are copper wires, optical fibers, wireless communication using radio spectrum, storage media and computer buses. The data are represented as an electromagnetic signal, such as an electrical voltage, radiowave, microwave, or infrared signal.

<span class="mw-page-title-main">Universal asynchronous receiver-transmitter</span> Computer hardware device

A universal asynchronous receiver-transmitter is a peripheral device for asynchronous serial communication in which the data format and transmission speeds are configurable. It sends data bits one by one, from the least significant to the most significant, framed by start and stop bits so that precise timing is handled by the communication channel. The electric signaling levels are handled by a driver circuit external to the UART. Common signal levels are RS-232, RS-485, and raw TTL for short debugging links. Early teletypewriters used current loops.

In telecommunications, a plesiochronous system is one where different parts of the system are almost, but not quite, perfectly synchronised. According to ITU-T standards, a pair of signals are plesiochronous if their significant instants occur at nominally the same rate, with any variation in rate being constrained within specified limits. A sender and receiver operate plesiosynchronously if they operate at the same nominal clock frequency but may have a slight clock frequency mismatch, which leads to a drifting phase. The mismatch between the two systems' clocks is known as the plesiochronous difference.

A controller area network is a vehicle bus standard designed to allow microcontrollers and devices to communicate with each other. It is a message-based protocol, designed originally for multiplex electrical wiring within automobiles to save on copper, but it can also be used in many other contexts. For each device, the data in a frame is transmitted serially but in such a way that if more than one device transmits at the same time, the highest priority device can continue while the others back off. Frames are received by all devices, including by the transmitting device.

In telecommunications and electronics, a self-clocking signal is one that can be decoded without the need for a separate clock signal or other source of synchronization. This is usually done by including embedded synchronization information within the signal, and adding constraints on the coding of the data payload such that false synchronization can easily be detected.

Serial Peripheral Interface (SPI) is a de facto standard for synchronous serial communication, used primarily in embedded systems for short-distance wired communication between integrated circuits.

LIN is a network protocol used for communication between components in modern vehicles. It is a low-cost single-wire serial protocol that supports communications up to 19.2 Kbit/s with a maximum bus length of 40 metres (131.2 ft).

MPEG transport stream or simply transport stream (TS) is a standard digital container format for transmission and storage of audio, video, and Program and System Information Protocol (PSIP) data. It is used in broadcast systems such as DVB, ATSC and IPTV.

CANopen is a communication protocol and device profile specification for embedded systems used in automation. In terms of the OSI model, CANopen implements the layers above and including the network layer. The CANopen standard consists of an addressing scheme, several small communication protocols and an application layer defined by a device profile. The communication protocols have support for network management, device monitoring and communication between nodes, including a simple transport layer for message segmentation/desegmentation. The lower level protocol implementing the data link and physical layers is usually Controller Area Network (CAN), although devices using some other means of communication can also implement the CANopen device profile.

VLYNQ is a proprietary interface developed by Texas Instruments and used for broadband products, such as WLAN and modems, VOIP processors and audio and digital media processor chips. The chip implements a full-duplex serial communications interface that enables the extension of an internal bus segment to one or more external physical devices. The external devices are mapped into local, physical address space and appear as if they are on the internal bus. Multiple VLYNQ devices are daisy-chained, communication is peer-to-peer, host/peripheral. Data transferred over the VLYNQ interface is 8B/10B encoded and packetized.

<span class="mw-page-title-main">IEBus</span> Communication bus specification

IEBus is a communication bus specification "between equipments within a vehicle or a chassis" of Renesas Electronics. It defines OSI model layer 1 and layer 2 specification. IEBus is mainly used for car audio and car navigations, which established de facto standard in Japan, though SAE J1850 is major in United States.
IEBus is also used in some vending machines, which major customer is Fuji Electric. Each button on the vending machine has an IEBus ID, i.e. has a controller.
Detailed specification is disclosed to licensees only, but protocol analyzers are provided from some test equipment vendors. Its modulation method is PWM with 6.00 MHz base clock originally, but most of automotive customers use 6.291 MHz, and physical layer is a pair of differential signalling harness. Its physical layer adopts half-duplex, asynchronous, and multi-master communication with carrier-sense multiple access with collision detection (CSMA/CD) for medium access control. It allows for up to fifty units on one bus over a maximum length of 150 meters. Two differential signalling lines are used with Bus+ / Bus− naming, sometimes labeled as Data(+) / Data(−).

In computer networks, a syncword, sync character, sync sequence or preamble is used to synchronize a data transmission by indicating the end of header information and the start of data. The syncword is a known sequence of data used to identify the start of a frame, and is also called reference signal or midamble in wireless communications.

An Answer To Reset (ATR) is a message output by a contact Smart Card conforming to ISO/IEC 7816 standards, following electrical reset of the card's chip by a card reader. The ATR conveys information about the communication parameters proposed by the card, and the card's nature and state.

The SAE J2716 SENT protocol is a point-to-point scheme for transmitting signal values from a sensor to a vehicle controller. It is intended to allow for transmission of high resolution data with a low system cost.

Synchronous serial communication describes a serial communication protocol in which "data is sent in a continuous stream at constant rate."

CAN FD is a data-communication protocol used for broadcasting sensor data and control information on 2 wire interconnections between different parts of electronic instrumentation and control system. This protocol is used in modern high performance vehicles.

This article provides information about the communications aspects of Universal Serial Bus (USB): Signaling, Protocols, Transactions. USB is an industry-standard used to specify cables, connectors, and protocols that are used for communication between electronic devices. USB ports and cables are used to connect hardware such as printers, scanners, keyboards, mice, flash drives, external hard drives, joysticks, cameras, monitors, and more to computers of all kinds. USB also supports signaling rates from 1.5 Mbit/s to 80 Gbit/s depending on the version of the standard. The article explains how USB devices transmit and receive data using electrical signals over the physical layer, how they identify themselves and negotiate parameters such as speed and power with the host or other devices using standard protocols such as USB Device Framework and USB Power Delivery, and how they exchange data using packets of different types and formats such as token, data, handshake, and special packets.

References

  1. ISO 17458-1
  2. ISO 17458-5
  3. Lorenz, Steffen (2010). "The FlexRay Electrical Physical Layer Evolution" (PDF). Automotive 2010. Archived from the original (PDF) on 16 February 2015. Retrieved 16 February 2015.
  4. "How FlexRay Works". Freescale Semiconductor. Archived from the original on 23 February 2015. Retrieved 21 March 2014.
  5. 1 2 3 4 5 6 Strobel, Otto (28 February 2013). Communication in Transportation Systems. IGI Global. p. 61. ISBN   978-1-46662977-6.
  6. "The driver assistance systems and integrated safety". Audi MediaCenter. Retrieved 21 February 2019.
  7. "Driver assistance systems". Audi MediaCenter. Retrieved 21 February 2019.
  8. Regler, Richard; Schlinkheider, Jörg; Maier, Markus; Prechler, Reinhard; Berger, Eduard; Pröll, Leo (2011). "Intelligent electrics / electronics architecture". ATZextra Worldwide. 15 (11): 246–251. doi:10.1365/s40111-010-0269-9. S2CID   107330814.
  9. "Audi Technology Portal - Networking". Audi Technology Portal. Retrieved 21 February 2019.
  10. "The BMW X6". BMW Press Portal. Retrieved 8 March 2019.
  11. "The new BMW 6 Series Convertible". BMW Press Portal. p. 32. Retrieved 8 March 2019.
  12. "2322446_83_Fahrwerk_S_Klasse_en.doc". marsMediaSite (in German). Retrieved 8 March 2019.
  13. "2480996_PI_Kurvenneigung_C217_ENG.docx". marsMediaSite (in German). Retrieved 8 March 2019.
  14. Fleiss, Michael; Müller, Thomas M.; Nilsson, Martin; Carlsson, Jonas (1 March 2016). "Fahrzeugintegration des Antriebsstrangs bei Volvo". ATZ - Automobiltechnische Zeitschrift (in German). 118 (3): 16–21. doi:10.1007/s35148-015-0202-7. ISSN   2192-8800. S2CID   183153508.
  15. "Introduction to FlexRay". www.star-cooperation.com. STAR ELECTRONICS. Archived from the original on 20 December 2016. Retrieved 9 December 2016.
  16. Hammerschmidt, Christoph (18 June 2010). "Beyond FlexRay: BMW airs Ethernet plans". EE Times . Retrieved 16 February 2015.