<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.formulasearchengine.com/index.php?action=history&amp;feed=atom&amp;title=Formula_game</id>
	<title>Formula game - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://en.formulasearchengine.com/index.php?action=history&amp;feed=atom&amp;title=Formula_game"/>
	<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/index.php?title=Formula_game&amp;action=history"/>
	<updated>2026-05-22T05:48:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0-wmf.28</generator>
	<entry>
		<id>https://en.formulasearchengine.com/index.php?title=Formula_game&amp;diff=11289&amp;oldid=prev</id>
		<title>en&gt;Michael Hardy: /* References */</title>
		<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/index.php?title=Formula_game&amp;diff=11289&amp;oldid=prev"/>
		<updated>2010-10-21T23:33:40Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;References&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Refimprove|date=January 2008}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;FlexRay&amp;#039;&amp;#039;&amp;#039; is an [[Vehicle bus|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 [[Controller Area Network|CAN]] and [[Time-Triggered Protocol|TTP]], but it is also more expensive. The FlexRay consortium disbanded in 2009. The FlexRay standard is now a set of ISO standards ISO [http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=59804 17458-1] to [http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=59809 17458-5]&lt;br /&gt;
&amp;lt;ref&amp;gt;[http://www.hanser-automotive.de/fileadmin/heftarchiv/FLEX_10_ONL_NXP-Y.pdf The FlexRay Electrical Physical Layer Evolution; Automotive 2010.]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
{{prose|section|date=November 2013}}&lt;br /&gt;
FlexRay&amp;#039;s prominent features are:&lt;br /&gt;
* High data rates (up to {{nowrap|10 [[megabit|Mbit/s]]}})&lt;br /&gt;
* Time- and event-triggered behavior&lt;br /&gt;
* Redundancy&lt;br /&gt;
* Fault-tolerance&lt;br /&gt;
* Deterministic&lt;br /&gt;
&lt;br /&gt;
==Consortium==&lt;br /&gt;
The FlexRay Consortium was made up of the following core members:&lt;br /&gt;
* [[Freescale Semiconductor]]&lt;br /&gt;
* [[Robert Bosch GmbH]]&lt;br /&gt;
* [[NXP Semiconductors]]&lt;br /&gt;
* [[BMW AG]]&lt;br /&gt;
* [[Volkswagen AG]]&lt;br /&gt;
* [[Daimler AG]]&lt;br /&gt;
* [[General Motors]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Where used==&lt;br /&gt;
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 (F01)]].&lt;br /&gt;
&lt;br /&gt;
=== Vehicles ===&lt;br /&gt;
*[[Audi A6]]&lt;br /&gt;
*[[Audi A8]]&amp;lt;ref&amp;gt;{{cite web|url=http://www.insideline.com/audi/a8/2011/2011-audi-a8-4-2-fsi-first-drive.html|title=2011 Audi A8 4.2 FSI First Drive|accessdate=18 February 2010}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*[[Bentley Mulsanne (2010)|Bentley Mulsanne]]&lt;br /&gt;
*[[BMW X5]]&lt;br /&gt;
*[[BMW F30|BMW 3-Series]]&lt;br /&gt;
*[[BMW F01|BMW 7-Series]]&lt;br /&gt;
*[[BMW 5 Series Gran Turismo]]&lt;br /&gt;
*[[BMW 5-Series]]&lt;br /&gt;
*[[Mercedes-Benz S-Class]]&lt;br /&gt;
*[[Rolls-Royce Ghost]]&lt;br /&gt;
&lt;br /&gt;
== Details ==&lt;br /&gt;
=== Clock ===&lt;br /&gt;
FlexRay system consists of a bus and processors ([[Electronic control unit]], or ECUs).&lt;br /&gt;
Each ECU has an independent clock. The [[clock drift]] must be not more than 0.15% from the reference clock,&lt;br /&gt;
so the difference between the slowest and the fastest clock in the system is no greater than 0.3%.&lt;br /&gt;
&lt;br /&gt;
This means that, if ECU-s is a sender and ECU-r is a receiver, then for every 300 cycles of the sender&lt;br /&gt;
there will be between 299 and 301 cycles of the receiver. The clocks are resynchronized frequently enough&lt;br /&gt;
to assure that this causes no problems. Clock is sent in static segment.&amp;lt;ref&amp;gt;http://www.eberspaecher-electronics.com/en/company/flexray-introduction.html#c62713&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bits on the bus ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; float:right; clear:right; margin-left:1em&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
{| style=&amp;quot;border-collapse:collapse; margin:auto&amp;quot;&lt;br /&gt;
|- style=&amp;quot;border-bottom: solid black 1px&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 || 0 || 0&lt;br /&gt;
| style=&amp;quot;border-left: solid black 1px&amp;quot; | 1&lt;br /&gt;
| 1 || 1 || 1 || 1 || 1 || 1 || 1 || style=&amp;quot;border-left: solid black 1px&amp;quot; | 0 || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 0 || 0 || 0 || 0 || 0 || 0 || 0&lt;br /&gt;
| style=&amp;quot;border-left: solid black 1px&amp;quot; | 1 || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
| style=&amp;quot;border-left: solid black 1px&amp;quot; | 0 || 0&lt;br /&gt;
|}&lt;br /&gt;
Correct averaging in case of no errors. The signal is merely delayed by 2 cycles.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
{| style=&amp;quot;border-collapse:collapse; margin:auto&amp;quot;&lt;br /&gt;
|- style=&amp;quot;border-bottom: solid black 1px&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 || 0 || 0&lt;br /&gt;
| style=&amp;quot;border-left: solid black 1px&amp;quot; | 1 || 1 || 1 || 1&lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | 0 || 1 || 1 || 1&lt;br /&gt;
| style=&amp;quot;border-left: solid black 1px&amp;quot; | 0 || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 0 || 0 || 0 || 0 || 0 || 0 || 0&lt;br /&gt;
| style=&amp;quot;border-left: solid black 1px&amp;quot; | 1 || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
| style=&amp;quot;border-left: solid black 1px&amp;quot; | 0 || 0&lt;br /&gt;
|}&lt;br /&gt;
Errors near the middle of 8-cycle region are canceled.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
{| style=&amp;quot;border-collapse:collapse; margin:auto&amp;quot;&lt;br /&gt;
|- style=&amp;quot;border-bottom: solid black 1px&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || style=&amp;quot;color: red&amp;quot; | 1 || 0&lt;br /&gt;
| style=&amp;quot;border-left: solid black 1px&amp;quot; | 1 || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
| style=&amp;quot;border-left: solid black 1px&amp;quot; | 0 || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 0 || 0 || 0 || 0 || 0&lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | 1 || style=&amp;quot;border-left: solid black 1px&amp;quot; | 1 || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
| style=&amp;quot;border-left: solid black 1px&amp;quot; | 0 || 0&lt;br /&gt;
|}&lt;br /&gt;
Errors near the boundary of 8-cycle region may affect the boundary bit.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
The receiver keeps a buffer of the last 5 samples, and uses the majority of the last 5 samples as the input signal.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Sampled bits ===&lt;br /&gt;
The value of the bit is sampled in the middle of the 8-bit region&amp;lt;!-- was it the 4th or the 5th ? --&amp;gt;.&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
=== Frame ===&lt;br /&gt;
All the communication is sent in the form of frames. The message consists of bytes &amp;lt;math&amp;gt;\{x_0, x_1, \dots, x_{m-1}\}&amp;lt;/math&amp;gt;, packed in the following way:&lt;br /&gt;
* Transmission Start Signal (TSS) – bit 0&lt;br /&gt;
* Frame Start Signal (FSS) – bit 1&lt;br /&gt;
* &amp;#039;&amp;#039;m&amp;#039;&amp;#039; times:&lt;br /&gt;
** Byte Start Signal 0 (BSS0) – bit 1&lt;br /&gt;
** Byte Start Signal 1 (BSS1) – bit 0&lt;br /&gt;
** 0-th bit of &amp;#039;&amp;#039;i&amp;#039;&amp;#039;-th byte&lt;br /&gt;
** 1-st bit of &amp;#039;&amp;#039;i&amp;#039;&amp;#039;-th byte&lt;br /&gt;
** 2-nd bit of &amp;#039;&amp;#039;i&amp;#039;&amp;#039;-th byte&lt;br /&gt;
** ...&lt;br /&gt;
** 7-th bit of &amp;#039;&amp;#039;i&amp;#039;&amp;#039;-th byte&lt;br /&gt;
* Frame End Signal (FES) – bit 0&lt;br /&gt;
* Transmission End Signal (TES) – bit 1&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The receiver knows when the message is complete by checking whether BSS0 (1) or FES (0) was received.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Also note that BSS0 has value 1, and BSS1 has value 0.&lt;br /&gt;
&lt;br /&gt;
=== Clock synchronization ===&lt;br /&gt;
Clocks are resynchronized when the voted signal changes from 1 to 0, if the receiver was in either idle state or expecting BSS1.&lt;br /&gt;
&lt;br /&gt;
So the clock is synchronized when the transmission starts and between BSS0 and BSS1.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Here&amp;#039;s an example of a particularly bad case - error during synchronization, a lost cycle due to clock drift and error in transmission.&lt;br /&gt;
&lt;br /&gt;
Errors that happened in the example&lt;br /&gt;
* Because of a single-bit error during synchronization, the synchronization was delayed by 1 cycle&lt;br /&gt;
* 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.&lt;br /&gt;
* Because of a single-bit error during transmission, a bit was voted wrongly near the result.&lt;br /&gt;
Despite so many errors, the communication was received correctly.&lt;br /&gt;
&lt;br /&gt;
The green cells are sampling points. All except the first are synchronized by the 1-&amp;gt;0 edge in the transmission fragment shown.&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
&amp;lt;!-- 4th or 5th again? --&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border-bottom: solid black 1px&amp;quot;&lt;br /&gt;
! Signal to be sent&lt;br /&gt;
| style=&amp;quot;text-align: center; border-left: solid black 1px&amp;quot; colspan=&amp;quot;8&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;text-align: center; border-left: solid black 1px&amp;quot; colspan=&amp;quot;8&amp;quot; | 0&lt;br /&gt;
| style=&amp;quot;text-align: center; border-left: solid black 1px&amp;quot; colspan=&amp;quot;8&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;text-align: center; border-left: solid black 1px&amp;quot; colspan=&amp;quot;8&amp;quot; | 0&lt;br /&gt;
| style=&amp;quot;text-align: center; border-left: solid black 1px&amp;quot; colspan=&amp;quot;2&amp;quot; | 1&lt;br /&gt;
|- style=&amp;quot;border-bottom: solid black 1px&amp;quot;&lt;br /&gt;
! Signal sent&lt;br /&gt;
| style=&amp;quot;border-left: solid black 1px&amp;quot; | 1 || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
| style=&amp;quot;border-left: solid black 1px&amp;quot; | 0 || 0 || 0 || 0 || 0 || 0 || 0 || 0&lt;br /&gt;
| style=&amp;quot;border-left: solid black 1px&amp;quot; | 1 || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
| style=&amp;quot;border-left: solid black 1px&amp;quot; | 0 || 0 || 0 || 0 || 0 || 0 || 0 || 0&lt;br /&gt;
| style=&amp;quot;border-left: solid black 1px&amp;quot; | 1 || 1&lt;br /&gt;
|- style=&amp;quot;border-bottom: solid black 1px&amp;quot;&lt;br /&gt;
! On the bus&lt;br /&gt;
| style=&amp;quot;border-left: solid black 1px&amp;quot; | 1 || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
| style=&amp;quot;border-left: solid black 1px&amp;quot; | 0&lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | 1 || 0 || 0 || 0 || 0 || 0 || 0&lt;br /&gt;
| style=&amp;quot;border-left: solid black 1px&amp;quot; | 1 || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
| style=&amp;quot;border-left: solid black 1px&amp;quot; | 0 || 0 || 0 || 0 || 0 || 0&lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | 1 || 0&lt;br /&gt;
| style=&amp;quot;border-left: solid black 1px&amp;quot; | 1 || 1&lt;br /&gt;
|- style=&amp;quot;border-bottom: solid black 1px&amp;quot;&lt;br /&gt;
! Received&lt;br /&gt;
| style=&amp;quot;border-left: solid black 1px&amp;quot; | 1 || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
| style=&amp;quot;border-left: solid black 1px&amp;quot; | 0 || 1 || 0 || 0 || 0 || 0 || 0 || 0&lt;br /&gt;
| style=&amp;quot;border-left: solid black 1px&amp;quot; | 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
| style=&amp;quot;background-color:gray&amp;quot; | X&lt;br /&gt;
| 1 || style=&amp;quot;border-left: solid black 1px&amp;quot; | 0 || 0 || 0 || 0 || 0 || 0 || 1 || 0&lt;br /&gt;
| style=&amp;quot;border-left: solid black 1px&amp;quot; | 1 || 1&lt;br /&gt;
|- style=&amp;quot;border-bottom: solid black 1px&amp;quot;&lt;br /&gt;
! 5-maj voted&lt;br /&gt;
| ||&lt;br /&gt;
| style=&amp;quot;border-left: solid black 1px&amp;quot; | 1&lt;br /&gt;
| 1 || 1&lt;br /&gt;
| style=&amp;quot;background-color: lime&amp;quot; | 1 || 1 || 1 || 1 || 1&lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;border-left: solid red 1px&amp;quot; | 0 || 0 || 0&lt;br /&gt;
| style=&amp;quot;background-color: lime&amp;quot; | 0 || 0 || 0 || 0 || 1&lt;br /&gt;
| style=&amp;quot;border-left: solid red 1px&amp;quot; | 1 || 1 || 1&lt;br /&gt;
| style=&amp;quot;background-color:gray&amp;quot; | X&lt;br /&gt;
| style=&amp;quot;background-color: lime&amp;quot; | 1 || 1 || 1 || 0 || 0&lt;br /&gt;
| style=&amp;quot;border-left: solid red 1px&amp;quot; | 0 || 0 || 0&lt;br /&gt;
| style=&amp;quot;background-color: lime&amp;quot; | 0 || 0&lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Development tools==&lt;br /&gt;
When developing and/or troubleshooting the FlexRay bus, examination of hardware signals can be very important.  [[Logic analyzers]] and [[bus analyzer]]s are tools which collect, analyze, decode, store signals so people can view the high-speed waveforms at their leisure.&lt;br /&gt;
&lt;br /&gt;
=== The future of FlexRay ===&lt;br /&gt;
The bus has certain disadvantages like lower operating voltage levels and asymmetry of the edges, which leads to problems in extending the network length. Ethernet may replace FlexRay for bandwidth intensive, non-safety critical applications.&amp;lt;ref&amp;gt;{{cite web|url=http://www.eetimes.com/document.asp?doc_id=1256700|accessdate=21 July 2013}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Byteflight]]&lt;br /&gt;
* [[Controller Area Network]] (CAN)&lt;br /&gt;
* [[Local Interconnect Network]] (LIN) - lower cost and lower bandwidth than CAN&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.flexray.com FlexRay] FlexRay Consortium&lt;br /&gt;
* [http://duxsolutions.com/shop/index.php?main_page=product_info&amp;amp;cPath=1&amp;amp;products_id=1 FlexRay Starter Kit] Low cost FlexRay Starter Kit with the BOSCH E-Ray controller from DuxSolutions, also FlexRay Network Design tool available&lt;br /&gt;
* [http://zone.ni.com/devzone/cda/tut/p/id/3352 FlexRay Overview] Technical Overview of FlexRay by National Instruments&lt;br /&gt;
* [http://www.samtec.de/ Flexray Products] Samtec FlexRay product&lt;br /&gt;
* [http://www.invehiclelan.com/ Flexray design tool] Low cost network design tool for FlexRay&lt;br /&gt;
* [http://patakengineering.eu/en/download/ FlexRay controller core] Free VHDL core&lt;br /&gt;
* [http://www.tek.com/industry/automotive FlexRay debugging] Measurement, Debug and Analysis for Embedded Automotive Designs by Tektronix&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- This is still a stub, it says a lot, but only about one aspect of the system --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Computer-bus}}&lt;br /&gt;
{{List of automation protocols}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Network protocols]]&lt;/div&gt;</summary>
		<author><name>en&gt;Michael Hardy</name></author>
	</entry>
</feed>