For automobiles to continue to improve safety, increase performance, reduce environmental impact, and enhance comfort, the speed, quantity and reliability of data communicated between a car’s electronic control units (ECU) must increase.  Advanced control and safety systems–combining multiple sensors, actuators and electronic control units–are beginning to require synchronization and performance past what the existing standard, Controller Area Network (CAN), can provide. After years of partnership with OEMs, tool suppliers, and end users, the FlexRay standard has emerged as the in-vehicle communications bus to meet these new challenges in the next generation of vehicles. Adoption of a new networking standard in complex embedded designs like automobiles takes time.  While FlexRay will be solving current high-end and future mainstream in-vehicle network challenges, it will not displace the other two dominant in-vehicle standards, CAN, and LIN.  In order to optimize cost and reduce transition challenges, the next generation of automobiles will contain FlexRay for high-end applications.

Bus LIN CAN FlexRay
Speed 40 kbit/s 1 Mbit/s 10 Mbit/s

The FlexRay protocol is a unique time-triggered protocol that provides options for deterministic data that arrives in a predictable time frame (down to the microsecond) as well as CAN-like dynamic event-driven data to handle a large variety of frames. FlexRay accomplishes this hybrid of core static frames and dynamic frames with a pre-set communication cycle that provides a pre-defined space for static and dynamic data. This space is configured with the network by the network designer.   While CAN nodes only needed to know the correct baud rate to communicate, nodes on a FlexRay network must know how all the pieces of the network are configured in order to communicate.

As with any multi-drop bus, only one node can electrically write data to the bus at a time.  If two nodes were to write at the same time, you end up with contention on the bus and data becomes corrupt.  There are a variety of schemes used to prevent contention on a bus. CAN, for example, used an arbitration scheme where nodes will yield to other nodes if they see a message with higher priority being sent on a bus.  While flexible and easy to expand, this technique does not allow for very high data rates and cannot guarantee timely delivery of data.

FlexRay manages multiple nodes with a Time Division Multiple Access or TDMA scheme. Every FlexRay node is synchronized to the same clock, and each nodes waits for its turn to write on the bus.  Because the timing is consistent in a TDMA scheme, FlexRay is able to guarantee determinism or the consistency of data deliver to nodes on the network. This provides many advantages for systems that depend on up-to-date data between nodes.

Embedded networks are different from PC-based networks in that they have a closed configuration and do not change once they are assembled in the production product.  This eliminates the need for additional mechanisms to automatically discover and configure devices at run-time, much like a PC does when joining a new wired or wireless network.  By designing network configurations ahead of time, network designers save significant cost and increase reliability of the network.

For a TDMA network such as FlexRay to work correctly, all nodes must be configured correctly.  The FlexRay standard is adaptable to many different types of networks and allows network designers to make trade-offs between network update speeds, deterministic data volume, and dynamic data volume among other parameters.  Every FlexRay network may be different, so each node must be programmed with correct network parameters before it can participate on the bus. To facilitate maintaining network configurations between nodes, FlexRay committee standardized a format for the storage and transfer of these parameters in the engineering process.