Misplaced Pages

FlexRay: Difference between revisions

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Browse history interactively← Previous editNext edit →Content deleted Content addedVisualWikitext
Revision as of 13:58, 2 February 2009 edit192.109.190.88 (talk) Features← Previous edit Revision as of 19:25, 9 February 2009 edit undoTimothyPilgrim (talk | contribs)Extended confirmed users2,472 editsm Features: copyeditNext edit →
Line 11: Line 11:
* deterministic * deterministic


The first series production vehicle with FlexRay was end of 2006 in the SAV ], enabling a new and fast adaptive damping system. Full use of FlexRay is introduced in 2008, with the new ] series, the world's first series production vehicle to fully utilize the FlexRay system. The first series production vehicle with FlexRay was at the end of 2006 in the ], enabling a new and fast adaptive damping system. Full use of FlexRay was introduced in 2008 in the new ], the world's first production vehicle to fully utilize the FlexRay system.


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

Revision as of 19:25, 9 February 2009

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "FlexRay" – news · newspapers · books · scholar · JSTOR (January 2008) (Learn how and when to remove this message)
This article provides insufficient context for those unfamiliar with the subject. Please help improve the article by providing more context for the reader. (Learn how and when to remove this message)

FlexRay is a new automotive network communications protocol under development by the FlexRay Consortium. It is positioned above CAN and MOST in terms of both performance and price.

Features

FlexRay's prominent features are:

  • high data rates (up to 20 megabits per second)
  • time- and event triggered behavior
  • redundancy
  • fault-tolerance
  • deterministic

The first series production vehicle with FlexRay was at the end of 2006 in the BMW X5, enabling a new and fast adaptive damping system. Full use of FlexRay was introduced in 2008 in the new BMW 7 Series, the world's first production vehicle to fully utilize the FlexRay system.

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

There are also Premium Associate and Associate members of FlexRay consortium. As of November 2007, there were 24 premium associate members and more than 70 associate members. Current membership rolls are listed on the organization website.

Details

Clock

FlexRay system consists of a bus and processors (Electronic control unit, or ECUs). Each ECU has an independent clock. The clock drift must be no 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.

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 { x 0 , x 1 , , x m 1 } {\displaystyle \{x_{0},x_{1},\dots ,x_{m-1}\}} , packed in the following way:

  • Transmission Start Signal (TSS) - bit 0
  • Frame Start Signal (FSS) - bit 1
  • m {\displaystyle m} times:
    • Byte Start Signal 0 (BSS0) - bit 1
    • Byte Start Signal 1 (BSS1) - bit 0
    • 0-th bit of i-th byte
    • 1-st bit of i-th byte
    • 2-nd bit of i-th byte
    • ...
    • 7-th bit of i-th byte
  • Frame End Signal (FES) - bit 0
  • Transmission End Signal (TES) - bit 1

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.

So the clock is synchronized when the transmission starts and between BSS0 and 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

  • Because of a single-bit error during synchronization, the synchronization was delayed by 1 cycle
  • Receiver clock was slower than sender clock, so receiver missed one cycle (marked X). This will not happen again before the next synchronization due to limits on maximum allowable clock drift.
  • Because of a single-bit error during transmission, a bit was voted wrongly near the result.

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 sent 1 0 1 0 1
Signal sent 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 11
On the bus 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 11
Received 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 1 1 1 1 1 1 X 1 0 0 0 0 0 0 1 0 11
5-maj voted 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 X 1 1 1 0 0 0 0 0 0 0 1


See also

External links

Category: