As the concept of safety-critical automotive systems came into prominence, traditional ECU communication protocols such as CAN were found to be insufficient. By no means can one doubt the efficiency of the CAN BUS system. However, certain requirements of safety critical components like ABS and Airbags could not be met by the typical CAN protocol. The primary reason for this inadequacy was the priority-driven bus arbitration system.
This system gives network access to a high priority message over a low priority message, also looking for the network access. The delay in the propagation of such messages had the potential to cause problems to a safety related automotive system. Therefore, the need for a protocol that could support multiple access using a time division approach, was felt. In order to counter the issue of delayed message delivery, FlexRay protocol was developed using the Time-Division Multiple Access (TDMA) technology.
Another use-case where the need for a protocol like FlexRay was felt is the X-by-wire technology. X can be anything from brake to steering to driving. And ‘by-wire’ implies replacing hydraulic system with the electro-mechanical system. High data transfer rate is the first pre-requisite of such systems and naturally, FlexRay was the preferred choice.
The two important keywords always associated with FlexRay protocol is fault-tolerance and determinism. While the TDMA technique ensures determinism or the consistency of data delivery to the nodes, fault-tolerance is achieved by dual-channel configuration of the FlexRay bus.
We will talk about all these aspects of FlexRay protocol and its impact in the subsequent sections. Keep reading!
What Makes FlexRay a Deterministic and Fault-Tolerant COM Protocol?
Before we discuss the deterministic and fault-tolerant qualities of FlexRay protocol, lets understand why these are so important.
Determinism implies that nothing happens by chance! In the context of an ECU network, the output must always be determined by the input, thus making the entire system a predictable one. In safety-critical applications like ADAS, cruise control, Air bags, etc. time determinism play a very crucial role. The data must arrive to the correct node in a predictable time-frame (in the tune of microseconds), so that the required functions are carried out in real-time.
Now that we understand the importance of determinism, let’s explore how FlexRay protocol achieves it.
In a bus system with multiple nodes, only one node is able to write data to the bus at one instance. A contention occurs if two nodes are required to write data at the same time. Communication protocols mitigate this issue by using several schemes. For instance, CAN uses arbitration where high priority marked nodes get to write the data first. While it does the work, such a scheme does not guarantee timely delivery of data and also does not allow higher speeds.
FlexRay protocol achieves determinism by the virtue of being a time-triggered protocol. It manages the nodes on the network with a scheme called TDMA (Time Division Multiple Access). The FlexRay nodes do not have an uncontrolled access to the bus. Instead, the nodes need to be synchronized as per a communication schedule. Each FlexRay message is assigned a specific time-slot that ensures that every node awaits its turn for writing data to the bus. The configuration of the FlexRay nodes assumes much importance here, as each node must be configured with the correct network parameter before they are added to the network. As various stakeholders and cross-functional teams are involved in the development process, a standardized format to maintain network configuration parameters was also introduced along with FlexRay protocol. This standard is called FIBEX (Field Bus Exchange Format).
From network designers to testing engineers, every stakeholder shares the configuration parameters through FIBEX file so that uniformity is maintained. Such a scheme enables quick configuration of the FlexRay protocol stack, as well as ECU configuration and HIL Test system configuration for functional testing of the stack.
Along with time-determinism, another crucial feature of FlexRay protocol is fault-tolerance. Failing to deliver the data to the node constitutes a fault. For safety-critical applications, such a fault can cause disaster.
In order to minimize risk of failure, FlexRay has redundancy in place. With a dual channel network topology, FlexRay protocol defines Channel A and Channel B, where one of them works as a redundant channel. For safety-critical applications, the nodes connected to the bus can use both channels to transfer data. Over and above this, there are fault-tolerant mechanisms at the physical layer, interface layer and the protocol engine.
How FlexRay is Best Suited for X-By-Wire Systems
X-by-wire systems essentially substitute the mechanical component of the system with an electronic one. For instance, in a steer-by-wire system, the mechanical structure between the steering control and the wheels is replaced with an electronic system comprising distributed ECUs, sensors and actuators.
For such distributed systems to work efficiently, a deterministic and fault-tolerant protocol software is required and that is the reason why FlexRay has been proposed to be at the helm of data communication in such systems.
A snapshot of features that make FlexRay the preferred protocol for X-by-wire applications:
- Redundant communication channels, a pre-requisite for such applications
- Time triggered communication system that ensures time-determinism
- Faster data transfer rate up to 10 Mbps
- High-performance, collision free data transfer
Is FlexRay here to Replace CAN and LIN?
CAN and LIN protocols have been the backbone of automotive ECU communication for a really long time. The architecture built around these protocols have also evolved to be mature and robust. Automotive applications like Body Control Modules, Powertrain and Seating Control still rely on these protocols.
The inclusion of FlexRay protocol, at least for now, is limited to the applications that require deterministic and fault-tolerant communication of data. In ADAS and X-by-wire systems where timely and fast delivery of data from a multitude of sensors is paramount, FlexRay comes across as the most reliable protocol.
The trend in the automotive industry is about embracing a hybrid communication architecture.. The FlexRay protocol could be used for high-speed communications and CAN/LIN for the regular applications like Body Electronics, Powertrain, etc. In a hybrid communication ecosystem, gateways can take care of the compatibility of messages sent across different protocols. FlexRay being a dual-channel protocol, entails a higher cost than LIN and CAN bus systems. In order to optimize cost, the hybrid protocol approach works perfectly fine and is also being adopted by the OEMs globally.
Conclusion
The next generation of automobiles will have codes running all over the vehicle and controlling components using a plethora of sensors and actuators. FlexRay, along with several other such technologies, are proving to be much-needed catalysts for such innovations. With safety emerging as one of the mandatory attributes of a vehicle, FlexRay protocol may one day become the de-facto ECU communication protocol.