FlexRay
FlexRay MCU
FlexRay ASSP
![]()
Background
Currently, CAN and LIN are widespread as global standard of in-car network that performs various kinds of controls of motor
vehicles. They are used for controlling body, temperature adjustment, dashboard, navigation, various kinds of sensors, motor,
and chassis. However, for motor vehicles of next generation, further safety and comfort are desired. Therefore, the amount
of data for in-car control system are increased and become more complex. Hence, faster and more highly reliable network is
needed.
Therefore, FlexRay, which is the communication protocol for the next generation motor vehicles, is now brought to international
attention.
What are needed for future motor vehicles?
For the motor vehicles of next generation, improvement of fuel efficiency by promoting ecology is needed. Supports for driving
are also need by improving comfort, for example, minimizing everything and realizing roomy car interior than it looks on the
outside. In addition, complex control system using multiple ECUs are required for improvement of safety.
To respond to such needs, we need to develop into more precise controls and further computerized in-car system, or to promote
X-by-Wire (*1).

*1 A technology that realize a mechanical control function, such as hydraulic pressure, by computerization
Why is a new communication protocol needed?
- CAN network limitation
The CAN network has reached its performance limits. A faster protocol is required. The maximum speed of a CAN network is 1 Mbps. - Real-time communication
Higher reliability and data rate are required. - Electrical control alternative to hydraulic control
Application of X-by-Wire to powertrain and safety systems is considered.
Fujitsu acquired a license to use FlexRay from Bosch in November 2004.
We have introduced the FlexRay Starter Kit (MB2005-01) that uses FlexRay IP and introduced ASSP that contains FlexRay IP in
September 2005.
In addition, since 2006, we have provided 32-bit microcontrollers equipped with FlexRay IP in the Fujitsu FR core.
Fujitsu also conducts the standardization activities as an associate member of FlexRay consortium, which is a standard setting organization, and as an official member of AUTOSAR and JasPar.
- Note -
Some parts on this site refer only to the outlines of the actual FlexRay standards providing better comprehensiveness.
FlexRay
FlexRay MCU
FlexRay ASSP
Overview
FlexRay™ is a type of next-generation in-car network protocol. FlexRay supports high-reliability and high-speed controls
(maximum communication speed is 10 megabits per seconds), and it is an advanced and next-generation in-car network for X-by-Wire
that replaces mechanical control with electronic control. FlexRay is a registered trademark of Daimler Chrysler AG.
The standardization of FlexRay is promoted by FlexRay Consortium as the next-generation in-car communication protocol.
Fujitsu intends to contribute to the development of in-car computerization by developing the next-generation microcontroller that contains FlexRay IP.
- Note -
Some parts of this site show only the outlines of the actual FlexRay standards to make them easily understood.
FlexRay
FlexRay MCU
FlexRay ASSP
Features
FlexRay has three major features.
- In-car LAN communication for X-by-Wire (-> CAN limit)

- It has the data transfer method that transfers data periodically as a time trigger protocol
- The maximum transfer rate of communication is 10 Mbps.
- High-reliability-oriented communication protocol. Response to X-by-Wire application

- Redundant communication. It enables fully-duplicated network configuration.
- It enables schedule monitoring by hardware.
- Support of flexible topology

- FlexRay can support various types of topologies, such as Bus-type, Star-type, and Hybrid-type.
- The segmentation of FlexRay is configured in combination of the fixed-length static segment that sends and receives messages with the fixed time trigger method and the dynamic segment that sends and receives messages with the flexible time trigger method
Example of topology configuration (Hybrid)

- Note -
Some parts of this site show only the outlines of the actual FlexRay standards to make them easily understood.
FlexRay
FlexRay MCU
FlexRay ASSP
In-car Communication Protocol
In-car communication protocols can be roughly divided into two groups, the first just providing ordinary data transfer and the second providing the media for control functions distributed over several nodes.
- Information group: Several tens of Mbps to several hundreds of Mbps
- Control group: Several tens of Kbps to several tens of Mbps
The following figure shows the bit rate comparison of each communication protocol.
Comparison of bit rates by communication protocols

Also, the distributed control functions can be divided into several areas of applications depending on the transfer rate.
- Safety group: Several hundreds of Kbps to about 10 Mbps
- Body group: Several tens of Kbps to about 1 Mbps
As shown in the above figure, the communication protocols can be classified by the communication speed, and the application
for each group can be clarified accordingly.
FlexRay can cover the limit of the communication speed of CAN, and when it comes to reliability, it is the best communication
protocol among them.
Application classes by communication speed

- Note -
Some parts of this site show only the outlines of the actual FlexRay standards to make them easily understood.
FlexRay
FlexRay MCU
FlexRay ASSP
Target applications
Applications that FlexRay targets as in-car LAN are described below.
These applications are in technical innovation field that draws attention of manufacturers and suppliers in terms of applications
to X-by-Wire.


- EPS: Electronics power steering
This range of applications covers applications for computerizing the existing power steering system. This field is especially important because of its application in Steer-by-Wire technology. For example, it may enable controlling the steering angle in dependence on the motor revolution rate. - ABS, VSC, VSA
ABS: Anti-lock brake system
VSC: Vehicle stability control (Vehicle stability control system)
VSA: Vehicle stability assist (Vehicle behavior stability control system)
This range of applications covers applications for computerizing the above-mentioned brake systems. This field is especially important because of its application in Safe-by-Wire technology.
For example, it may enable computerizing the brake pad control. - Steering sensor
The module (ECU) is typically called top column module and it comprises a steering angle sensor which has been lifted to Flexray network in order to share the same bus as other X-by-wire components. - AT: Automatic Transmission
AT has worked as a driving power system in conjunction with existing systems such as computerized fuel injector, computerized variable intake control system, and computerized idling control system. Besides, this application will control the electronic throttle by replacing the mechanisms of accelerator and throttle.
This field is therefore important because of its application in Drive-by-Wire. - Gateway
This application controls the replacement of signals of two different networks, FlexRay network and CAN network.
- Note -
Some parts of this site show only the outlines of the actual FlexRay standards to make them easily understood.
FlexRay
FlexRay MCU
FlexRay ASSP
Data transfer method
FlexRay uses the time trigger protocol whereas CAN uses the event trigger protocol.
This enables the accurate data transfers according to the scheduling.
Image example of FlexRay time trigger protocol

The data of FlexRay is transferred in the slot.
The image of each role (EPS, AT, etc.) and the corresponding slot is shown in the following figure.
Image example of role of each slot

This enables "accurate data transfers according to a predefined schedule."
- Note -
Some parts of this site show only the outlines of the actual FlexRay standards to make them easily understood.
FlexRay
FlexRay MPU
FlexRay ASSP
Difference with CAN
The following table shows the comparison of major specifications of FlexRay and CAN.
Comparison between FlexRay and CAN
| No. | Compared item | CAN | FlexRay |
|---|---|---|---|
| 1 | Baud rate | 1Mbps | 10Mbps |
| 2 | Number of channels per a node | 1ch | 2ch/1ch (option(1)) |
| 3 | Network topology | Bus-type | Bus-type, Star-type, or Coexisting |
| 4 | Connected nodes (max) | Depending on the delay time of the bus | Bus-type: 22 nodes Star-type: 22 nodes or 64 nodes during active Coexisting: 64 nodes |
| 5 | Physical layer | Metal | Metal/PoF |
| 6 | Communication | Event trigger | Time trigger + event trigger |
| 7 | ID | 11bits/29bits | 11bits |
| 8 | DLC | 8bytes | 254bytes |
| 9 | Frame | Data Frame, Remote Frame, Error Frame, Over Rode Frame |
Data Frame |
| 10 | Bus line lock | Possibly be dominant lock(2) | Babbling Idiot(3) (supported by BG(4)) |
| 11 | Error status transition | Error Active, Error Passive, Bus off (recoverable by software) |
Normal Active, Normal Passive, Halt (recoverable by a reset or software command) |
| 12 | Error counter | Fixed status transition counter value | Arbitrary status transition counter value |
| 13 | Type of errors | Bit Error, Staffing Error, CRC Error, Framing Error, ACK Error |
All errors except a clock synchronization |
| 14 | Oscillator | Ceramic oscillator or crystal oscillator | Crystal oscillator (BG(4) is separated from the CC(5) clock) |
| 15 | NW management | By software | By hardware (by BD(6) or BG) |
| 16 | Network synchronization | Synchronized only by sync_seg | Rate correction and offset correction are available. |
| 17 | Bus length | 40m at 1Mbps | 22m (between nodes, between Active-Star and node, and between Active-Star and Active-Star.) |
Explanations
- 1 Option:
- The option means it can be switched by the setting value.
- 2 Dominant lock:
- Dominant lock means that Bus is stuck to "0".
- 3 Babbling Idiot:
- Babbling Idiot means that incorrect transfer causing damage occurs.
- 4 BG:
- BG stands for bus guardian.
- 5 CC:
- CC stands for communication controller.
- 6 BD:
- BD stands for bus driver.
- Note -
Some parts of this site show only the outlines of the actual FlexRay standards to make them easily understood.
FlexRay
FlexRay MCU
FlexRay ASSP
Internal configuration of a node
A node in FlexRay consists of a controller part and a driver part in hardware.
The configuration of the driver part varies depending on whether or not a "bus guardian" is mounted.
The following figure shows the configuration diagram with a bus guardian mounted.
Configuration diagram of a node in FlexRay (with a bus guardian mounted)

The controller part contains the host that controls the entire unit and the communication controller (CC) that controls the
communications.
The controller part is connected to the driver part that has a redundant configuration.
The driver part contains the bus guardian that detects abnormal transmissions and disconnects the communication and the bus
driver that exchanges physical signals and logical signals between FlexRay bus and CC.
There are two bus guardians, A and B, and two bus drivers, A and B so that they can configure fully duplicated network.
- Note -
Some parts of this site show only the outlines of the actual FlexRay standards to make them easily understood.
FlexRay
FlexRay MCU
FlexRay ASSP
Electronic signals
Four bus statuses, Idle_LP, Idle, Data_1, and Data_0 are defined.
The bus communicates by using the differential signals, BP and BM. The voltage on each differential signal is represented
by uBP or uBM.
The electronic signals of FlexRay are shown below.
Electronic signals of FlexRay

- Idle_LP status means low-power status.
- Idle_LP status means idle (no-communication) status.
- Data_1 status means logical HIGH.
- Data_0 status means logical LOW.
(The conflict of Data_1 and Data_0 is not allowed.)
The following shows the monitored actual FlexRay communication signals.
The red waveform data indicates BP signal, and the green one represents BM signal.
Normal access signals

100MS/s 500ns/div
Signals change from Idle_LP to Idle, and to start of communication.

10MS/s 100ms/div
The voltage drop on the circuit harness, connector, and common mode choke, margin of induced drop, and the incompatibility
occurred at the pin need to be considered in terms of signal integrity.
FlexRay provides minimum requirements that a test plane must be carried out on both the sending and receiving sides in the
network.
- Test plane 1: Bus driver BP and BM pins of the sending node
- Test plane 2: BP and BM connector pin on the network input side
- Test plane 3: BP and BM connector pin on the network output side
- Test plane 4: Bus driver BP and BM pins of the receiving node
A signal eye-diagram for each test plane is defined to indicate the minimum aperture of the test plane differential voltage.
The voltage is in [mV] unit, and the time is the gdBit percentage.
FlexRay test plane and signal eye-diagram (TP1, TP4)

- Note -
Some parts of this site show only the outlines of the actual FlexRay standards to make them easily understood.
FlexRay
FlexRay MCU
FlexRay ASSP
Bus Guardian
The bus guardian (BG) in FlexRay performs management of schedules and data independently from the communication controller (CC).
The bus guardian (BG) monitors timing independently.
If a gap in timing is found, it sends a signal to prohibit the bus driver (BD) from sending to protect the bus status. Simultaneously,
it notifies the host of the error.
Configuration diagram of a node in FlexRay

Segment configuration of FlexRay and effective area of Bus Guardian

The above figure shows a general segment configuration of FlexRay, and the effective area of the bus guardian (BG) is limited
to the static segment. This is because the slot length and timing of sending have been determined in the static segment and
they cannot be protected by the bus guardian (BG). Also, the dynamic segment works with event triggers (flexible time triggers)
and the timing cannot be monitored by the bus guardian (GB).
For more information about segment configuration, see "FlexRay segment configuration."
- Note -
Some parts of this site show only the outlines of the actual FlexRay standards to make them easily understood.
FlexRay
FlexRay MCU
FlexRay ASSP
Topology
There are two types of topology, bus type and star type, and each of them has single-channel type and dual-channel type.
- Bus type characteristic:
Similar to CAN, it is a passive medium, a lot of experience is available with this technology, and it is cost efficient - Star type characteristic:
Because its connection is point-to-point, it is for high-speed data rate. It is also easy to reduce failures such as a short-circuit of bus.
FlexRay topology type and features

- Single channel characteristics:
Similar to the bus type and CAN, it has a few harnesses, but a lot of experience is available. Also, because of the single connection, it is cost effective. - Dual channel characteristics:
By making redundant configuration, it is fault tolerant.
FlexRay supports three types of topology, bus-type, star-type, and hybrid-type that is a combination of bus-type and star-type.
The minimum number of system nodes is two.
The minimum fault tolerant system nodes is three nodes.
Although the minimum number of nodes in configuration is two, the number of synchronized nodes should be three considering
the fault tolerance.

Most standard network topology
Basic configuration against the more complex topology configuration

When three nodes are connected on a bus, the bus becomes a linear passive bus

All nodes on a linear passive bus are connected to a single point.

Inter-node connection with an active star.

Active start allows cascade connection.
The mutual point-to-point connection is allowed.

Individual connections. Can be combined among the connections within each oval.

The example of terminal value for ECU (node) is shown below.
Example of ECU (node) resistance


- Note -
Some parts of this site show only the outlines of the actual FlexRay standards to make them easily understood.
FlexRay
FlexRay MCU
FlexRay ASSP
Segment configuration
FlexRay segment configuration consists of the static segment with the fixed time trigger method and the dynamic segment with
the flexible time trigger method.
In addition, there are symbol window that tests the bus guardian operations, and the network idle time segment used for clock
correction. Features of each segment are listed below.
FlexRay segment features
| Features | Slot length/ data length |
Priorities | Bus Guardian | |
| Static Segment | Sends and receives messages with time triggers | Fixed length | Fixed by Fixed TDMA | Because the timing for sending is fixed, it is protected by BG. |
| Dynamic Segment | Sends and receives messages with event triggers | Variable length | Sending in ascending order of ID | Because the timing of sending is undetermined, it cannot be protected by BG. |
| Symbol Window |
Confirms the normality of BG. | Fixed length | - | BG can disable sending. |
| Network Idle Time |
Global synchronous processing period | Variable length | - | - |
The symbol window is not used unless the bus guardian is used.
The FlexRay segment configuration can be designed in the following patterns depending on the system specifications.

The static segment and NT segment are required for configuration.
Communication cycles and segments/slot configuration
Because it enables the data transfer with redundancy, the data transfer for which high reliability is required is available.
The frequency of a cycle is from 0 to 63. A cycle consist of four segments, static segment, dynamic segment, symbol window, and network idle time.
The static segment consists of integral multiples of fixed-length static slots, and it sends and receives static frames to
and from the static slots.
The dynamic segment consists of fixed-length mini slots. By changing the number of mini slots, the dynamic slot can be variable
length.
Segment and slot configuration

A slot consists of the idle time and a frame that sends and receives data.
- Note -
Some parts of this site show only the outlines of the actual FlexRay standards to make them easily understood.
FlexRay
FlexRay MCU
FlexRay ASSP
Protocol
Frame format
The frame of FlexRay has the following features:
- The header segment Header CRC is calculated and specified by the host.
- The trailer segment CRC is calculated by the hardware.
- The CRC also changes initial values on the connected channel to prevent incorrect connection.
FlexRay frame format

Header segment
- Reserved bit
This is a reserved bit for future expansion. - Payload preamble indicator
This bit indicates the existence of vector information in the payload segment of the frame.
At static frame, it indicates NWVector, and at dynamic frame, it indicates Message ID. - Null frame indicator
This bit indicates whether or not the data frame in the payload segment is NULL - Sync frame indicator
This bit indicates the existence of synchronous frame. - Startup frame indicator
This bit indicates whether or not the node sending frame is the start-up node. - Frame ID
An ID is assigned to each node at system designing. (Valid range: 1 to 2047) - Length
It specifies the data length of the payload segment part. - Header CRC
It specifies the CRC calculation values of Sync Frame Indicator, Startup Frame Indicator, Frame ID, and Length that are calculated by the host. - Cycle
Cycle counter. It indicates the cycle count of the node that transfers the frame during the frame transfer time.
Payload segment
- Data
Data. Valid range is from 0 to 254 bytes. - Message ID
Optional. It uses the first two bytes of the payload segment for definition, and it can be used as the filterable data on the receiving side. - NWVector
Optional. The network management vector length must be from 0 to 12 bytes and common to all nodes.
Trailer segment
- CRC
It is calculated and specified by the hardware.
It changes the seed value on the connected channel to prevent incorrect connections.
Timing of configuring protocol
FlexRay communication cycles consists of four timing levels.
FlexRay timing levels

Timing levels and their functions
| Timing level | Function |
| Communication cycle level | Frame scheduling |
| Arbitration grid | Arbitrated slot (time-sharing multiple control) |
| Macrotick level | Synchronized service |
| Microtick level | Segmentalized clock for the synchronized service |
The Macrotick level and the Microtick level act as a clock to be the basis of configuration of each segment.
Synchronization is performed on the basis of this clock.
- Macrotick:
A global synchronizing clock that manages the entire network time. - Microtick:
A node-specific clock. Minimum units of the FlexRay management time.
The following figure shows an example of clock division at 10 Mbps of the transfer rate.
Example of relationship between the clock division and slot length

- Note -
Some parts of this site show only the outlines of the actual FlexRay standards to make them easily understood.
FlexRay
FlexRay MCU
FlexRay ASSP
Status transition
The status transition of FlexRay from the initial setting to normal communication is shown below.
FlexRay status transition

- Configuration status (Default config/config)
Makes all kinds of initial settings including communication cycle or baud rate. - Ready status
Makes the internal communication settings. - Wakeup status
To wake up the cluster that is not communicating, send the WUP signal to wake up the other node.
The node that received the WUP signal wakes up and enables CC, BD, and BG. - Startup status
Start the clock synchronization and be ready for communication.
If no communication is performed after wakeup, clock synchronization is performed on the basis of a node (reading startup node)
For the clusters that have communicated, the clock synchronization is performed on the attending node. - Normal status
It indicates the communication available state. - Halt status
It indicates that communication is stopped.
- Note -
Some parts of this site show only the outlines of the actual FlexRay standards to make them easily understood.
FlexRay
FlexRay MCU
FlexRay ASSP
Error control
FlexRay has three error processing levels.
FlexRay's errors and processing levels
| Item | Normal active | Normal passive | Fault |
|---|---|---|---|
| Status | Complete operation | Reduced operation | Stop operation |
| Frame processing | Frame sending and receiving enabled | Frame sending stopped Frame receiving enabled |
Frame sending and receiving stopped |
| Clock synchronization | Synchronized | Maintain synchronization | Out of synchronization |
| Action | Fully maintained synchronization | When the received frame is processed and it is clock-synchronized, it recovers to normal active state autonomously. | For restarting operation, reset or instruct to transit to the Ready state from the host. |
The error status transition is managed with the error counter.
The error counter values including a clock synchronization error and clock correction value error depends on application,
so it is determined at system designing.
Error status transition

In the management of error counter, it controls the clock synchronous error monitoring operations using the error counters for error status detection and for recovery from the error state separately.
Clock synchronization error monitoring operation (error detection)
- The clock synchronization error detection is judged with the number of continuous failures of the clock synchronization processing (rate correction and offset correction).
- The fault/normal passive transition requirements can be specified from the host.
- Whether or not to perform error transition can be specified from the host.
Counting up the error counter and the status transition conditions

Clock synchronization error monitoring operation (normality detection)
- The clock synchronization normality detection is judged with the number of continuous normal clock corrections (rate correction and offset correction).
- The normal active return transition requirement can be specified from the host.
- By specifying 0 to this return transition requirement, it can refuse to return to normal active state
Counting down the error counter and the status transition conditions

Comparison of error processing of FlexRay and CAN
| Item | FlexRay | CAN | Remarks |
| Error state | NORMAL_ACTIVE: Normal operation |
ERROR_ACTIVE: Normal operation |
CAN monitors the bus status when it becomes "bus off," and if it detects idle time for a certain time, it decodes it. FlexRay requires reset processing by CPU when a halt occurs. |
| NORMAL_PASSIVE: Sending disabled, receiving enabled. |
ERROR_PASSIVE: Sending and receiving enabled, error frame sending disabled. |
||
| HALT: Sending and receiving disabled. |
BUSOFF: Sending and receiving disabled. |
||
| Status transition management | Management with error counter The counter value in the status transition condition is determined at system designing. It controls using the error counters for error status detection and for recovery from the error state separately. |
Management with error counter The counter value in the status transition condition is a fixed value. It has the error counters for sending and receiving separately, and each of them counts up and down according to normal or error transition detections. |
- |
| Error affecting the error counter management | Clock synchronization error only Rate correction and offset correction failed. |
Bit error Staff error CRC error Form error ACK error |
FlexRay set an error flag unless a clock synchronization error occurs, and it generates an interrupt. |
| Error report to the bus | Not reported | Reported It sends an error frame. |
FlexRay performs managements such as network management. |
- Note -
Some parts of this site show only the outlines of the actual FlexRay standards to make them easily understood.
