Einführung in FlexRay

Kurzeinführung in FlexRay

Was ist FlexRay?

FlexRay ist ein schnelles, deterministisches und fehlertolerantes Bussystem für den Automobileinsatz. Seit dem Jahre 2000 wurde von den Core-Partnern des FlexRay-Konsortiums - BMW, DaimlerChrysler, Motorola (Freescale), Philips Semiconductors (NXP), Bosch, General Motors und Volkswagen - die FlexRay-Spezifikation vorangetrieben, welche derzeit in einen ISO-Standard überführt wird.

Der Datenaustausch zwischen den verbauten Steuergeräten im Fahrzeug wird heute hauptsächlich über ein CAN-Netzwerk durchgeführt. Die Einführung neuer Technologien sowie stets wachsende Datenaufkommen führen jedoch zu steigenden Anforderungen, insbesondere in Bezug auf die Fehlertoleranz und die Zeitsteuerung bei der Nachrichtenübertragung. FlexRay erfüllt diese erhöhten Anforderungen durch eine Nachrichtenübertragung in festen Zeitfenstern und durch eine fehlertolerante und redundante Übertragung auf zwei Kanälen.

Der Physical Layer

FlexRay arbeitet nach dem Prinzip von TDMA, bei dem die Knoten oder Nachrichten feste Zeitfenster ("Slots") zugeteilt bekommen, in denen sie einen exklusiven Buszugang haben. Diese Zeitfenster wiederholen sich in einem bestimmten Zyklus. Der Zeitpunkt, an dem sich eine Nachricht auf dem Bus befindet, kann dadurch exakt vorausgesagt werden. 

Abb. 1: Mögliche FlexRay-Topologie mit 2 Kanälen

 

Die feste Zuordnung der Knoten oder Nachrichten zu festen Zeitfenstern hat jedoch den Nachteil, dass die Bandbreite nicht voll ausgeschöpft wird. Aus diesem Grund unterteilt FlexRay den Zyklus in statische und dynamische Abschnitte. Am Anfang eines Kommunikationszyklus' befindet sich das statische Segment, in dem jeder Botschaft ein fixes Zeitfenster zugeteilt ist, in dem ein Knoten immer senden muss. Wenn keine Daten vorliegen, wird in diesem Zeitfenster eine leere Nachricht (sogenannter „Nullframe“) gesendet.

Im nachfolgenden dynamischen Abschnitt werden die Zeitfenster dynamisch zugeteilt. Ein exklusiver Buszugang ist immer nur für eine kurze Zeit möglich (sogenannte "Minislots"). Dieses Zeitfenster wird dann zum Senden einer Nachricht um die dazu benötigte Zeit erweitert. Darauf folgende Nachrichten verschieben sich dadurch nach hinten. Nicht versendete Nachrichten blockieren damit nicht den nachfolgenden Datenaustausch, weil kein Zeitfenster dafür reserviert wird und die weiteren Nachrichten dementsprechend vorrücken.

Abb. 2: Typischer FlexRay-Kommunikationszyklus

 

Datenübertragungsgeschwindigkeit von FlexRay

FlexRay kann über zwei physikalisch getrennte Kanäle (A + B) mit einer Datenübertragungsgeschwindigkeit von jeweils 10 Mbit/s kommunizieren. Heute wird in der Praxis allerdings lediglich der Kanal A genutzt. Beide Kanäle sind hauptsächlich für eine redundante und daher fehlertolerante Nachrichtenübertragung geplant. Sie können aber auch unterschiedliche Nachrichteninhalte übertragen; in diesem Fall verdoppelt sich der Datendurchsatz.

FlexRay kann mit unterschiedlichen Datenübertragungsgeschwindigkeiten betrieben werden: 2,5 Mbit/s, 5 Mbit/s sowie 10 Mbit/s.

Knoten-Synchronisation

Zur Umsetzung des Buszugriffsverfahrens benötigen die im Kommunikationsnetzwerk verteilten Knoten eine gemeinsame Zeitbasis. Um die lokalen Uhren der einzelnen Knoten aufeinander abzustimmen, und damit eine globale Zeitbasis zu gewinnen, werden Synchronisationsnachrichten im statischen Teil des Kommunikationszyklus übertragen.

Struktur eines FlexRay-Knotens

Ein FlexRay-Knoten besteht aus einem Host-Prozessor, dem FlexRay Communication Controller (CC), dem Bus Guardian (BG) und je Kanal einem Bustreiber (BD).

Der Communication Controller ist für die Synchronisierung des Knotens mit dem Restnetzwerk zuständig. Empfangene Nachrichten werden dem Host-Prozessor zur Verfügung gestellt; Daten vom Host-Prozessor werden im entsprechenden Zeitslot vom Communication Controller versendet. Der Bustreiber hat dabei die Aufgabe aus den Daten des Communication Controllers die physikalischen Bussignale zu generieren und umgekehrt.

Der Bus Guardian überwacht den Buszugang des CC’s durch Aktivierung des Bustreibers zum Senden. Der Datenempfang ist zu jeder Zeit möglich. Der Bus Guardian findet in der Praxis derzeit jedoch keine Verwendung.

Abb. 3: Beispiel eines FlexRay-Knotens

Topologie

Die Topologie des FlexRay-Netzwerks ist weitestgehend offen. Allerdings findet im Fahrzeug nur die Daisy-chain-Verbindung und der Aktive Stern Verwendung.

Der Aktive Stern ist ein aktiver Knotenpunkt, der Nachrichten an einem Zweig erhält und diese per Broadcast, ähnlich einem Hub, an die anderen Zweige verteilt.

Unter einer Daisy-Chain Verbindung versteht man lediglich das Durchschleifen einer FlexRay-Leitung von einem Knoten zum Anderen.

Wakeup, Startup

Ein Wakeup kann entweder über das FlexRay-Netzwerk oder lokal durch das Einschalten eines Knoten geschehen, wodurch sich dieser initialisiert.

Anders wie beim CAN-Netzwerk startet die Kommunikation nicht direkt nach dem Wakeup. Zum Aufstarten eines FlexRay-Netzwerks muss zuerst ein Startup-Vorgang durch sogenannnte Coldstart Knoten (dies sind Knoten, welche einen FlexRay-Netzwerkstart initiieren dürfen) mit Startup-Nachrichten durchlaufen werden.

Datenbankformat

Beim CAN-Netzwerk nutzt man üblicherweise eine *dbc-Datei als Kommunikationsmatrix. Das FlexRay Netzwerk mit allen seinen Knoten einschließlich deren Kommunikation wird entweder in FIBEX oder AUTOSAR beschrieben.

Beim FIBEX Format handelt es sich um eine XML-Datei zur Beschreibung von kompletten Fahrzeugnetzwerken, einem freien Standard, definiert durch ASAM e.V., Das FIBEX-Format ermöglicht die vollständige Beschreibung von FlexRay-, CAN-, MOST- sowie LIN-Netzwerken, inklusive aller Gateway-Verbindungen im Fahrzeug untereinander, in einer Datei.

AUTOSAR beschreibt ebenfalls die Kommunikation ähnlich dem FIBEX Standard, ergänzt dies jedoch um weitere Informationen zu Funktionen und Verhalten der Steuergeräte. Daher ist auch eine Konvertierung von AUTOSAR nach FIBEX möglich.

Vergleich: CAN vs. FlexRay

 

CAN

FlexRay

Verdrahtung

Elektrisch; Zweidraht

Elektrisch; Zweidraht;

optional 2 Kanäle

Signalpegel

‘0‘ dominant, ‘1‘ rezessiv

Idle, ‘0‘, ‘1‘

Datenrate

bis 1MBit

bis 10MBit

bei 2 Kanälen: bis 20MBit

Zugriffsprinzip

eventgesteuert

zeitgesteuert

Topologien

Bus; passiver Stern

Bus; passiver Stern;

aktiver Stern

Terminierung

120 Ω

90 Ω

Arbitrierung

Höherpriore Nachricht kann eine niederpriore Nachricht „überschreiben“

Keine Arbitrierung

Wird aufgrund des TDMA Verfahrens nicht benötigt.

Beide aktiven Signalzustände (‚0’ und ‚1’) sind gleichwertig.

Acknowledgement

Empfänger „quittiert“ den Empfang eines gültigen Frames

Kein Acknowledgement

Der Sender erhält keine Information ob ein Frame korrekt übertragen wurde.

Fehlererkennung im Empfänger.

Fehlerbehandlung durch Applikation.

Error Frame

Ein Fehler kann im Netzwerk durch einen Error Frame kenntlich gemacht werden.

Keine Error Frames

Jeder Empfänger überprüft für sich ob der empfangene Frame korrekt ist. (z.B. CRC check)

Frame Länge

Maximal 8 Byte Nutzdaten

Maximal 256 Byte Nutzdaten

Nachrichten-ID’s

Beliebig wählbar;

 

 

Größte ID 11-bit Länge (bzwextended ID29-bit Länge)

Je nachdem ob die Nachricht im statischen oder dynamischen Teil gesendet wird;

Größte ID abhängig von der Slot-Anzahl.

 

 

Kontakt

Eberspächer Electronics
GmbH & Co. KG
Robert-Bosch-Straße 6
73037 Göppingen
GERMANY

Tel.: +49 7161 9559-0
Fax: +49 7161 9559-455
ebel-info@eberspaecher.com
Haben Sie Fragen?

Aktuell

Steuergeräte intuitiv und flexibel testen – mit den Tools RBS, Gateway und Signalmanipulation ... mehr

Messetermine

Embedded World, Nürnberg
28.02. - 01.03.2012 mehr

Testing Expo, Stuttgart
12. - 14.06.2012 mehr