FlexRay ist ein zeitgesteuertes Protokoll, d. h. die Kommunikationszyklen sind in vordefinierte Zeitslots unterteilt, so dass die Nachrichten zu genauen Zeitpunkten übertragen werden. Dieses deterministische Verhalten ist von entscheidender Bedeutung für Echtzeitsysteme, bei denen ein präzises Timing für die ordnungsgemäße Funktionalität und Sicherheit unerlässlich ist.
Der FlexRay-Netzwerkinhalt in einem Steuergerät besteht aus zwei Hauptkomponenten:
Kommunikationscontroller: Diese Komponente verwaltet den Kommunikationsprozess, einschließlich Zeitsynchronisation, Nachrichtenübertragung und -empfang. Sie fungiert als Schnittstelle zwischen dem Host-Controller (typischerweise ein Mikrocontroller) und dem FlexRay-Bustreiber.
Bustreiber: Diese Komponente ist für die physische Übertragung und den Empfang von Daten auf dem FlexRay-Bus vernatwortlich. Er wandelt die digitalen Signale zwischen dem Kommunikationscontroller und den analogen Signalen um, die für die bidirektionale Übertragung über das physikalische Medium geeignet sind.
Das FlexRay-Protokoll definiert einen Kommunikationszyklus, der aus vier Segmenten besteht, die 2 relevantesten sind der statische und der dynamische Teil:
Statisches Segment: Dieses Segment ist für zeitkritische Nachrichten vorgesehen, die garantierte Übertragungszeiten erfordern. Jeder statische Slot innerhalb dieses Segments ist einem bestimmten Knoten zugewiesen, wodurch sichergestellt wird, dass Nachrichten zu präzisen Zeiten übertragen werden.
Dynamisches Segment: Dieses Segment wird für ereignisgesteuerte Kommunikation verwendet, bei der Nachrichten als Reaktion auf spezifische Ereignisse übertragen werden. Das dynamische Segment ist in Minislots unterteilt, und Knoten können je nach Priorität den Zugriff anfordern, um Nachrichten zu übertragen.