FlexRay is a time-triggered protocol, meaning that communication cycles are divided into predefined time slots, ensuring that messages are transmitted at precise times. This deterministic behavior is crucial for real-time systems where precise timing is essential for proper functionality and safety.
The FlexRay network content inside an ECU consists of two primary components:
Communication Controller: This component manages the communication process, including time synchronization, message transmission, and reception. It acts as the interface between the host controller (typically a microcontroller) and the FlexRay bus driver.
Bus Driver: This component is responsible for physical transmission and reception of data on the FlexRay bus. It converts the digital signals between the communication controller and the analog signals suitable for transmission over the physical medium bidirectionally.
The FlexRay protocol defines a communication cycle that consists of four segments, the 2 most relevant are the static and the dynamic part:
Static Segment: This segment is dedicated to time-critical messages that require guaranteed transmission times. Each static slot within this segment is preassigned to a specific node, ensuring that messages are transmitted at precise times.
Dynamic Segment: This segment is used for event-triggered communication, where messages are transmitted in response to specific events. The dynamic segment is divided into minislots, and nodes can request access to transmit messages based on priority.