FlexRay ist ein serielles, deterministisches und fehlertolerantes Feldbussystem für den Einsatz im Automobil, vergleichbar mit TTP oder EC-Net. Das FlexRay-Konsortium wurde 2000 von den Firmen BMW, Daimler AG, Motorola und Philips (heute: NXP Semiconductors) gegründet. Von 2001 bis 2004 traten als Core-Partner die Firmen Bosch, General Motors und Volkswagen bei. 2004 übernahm Freescale die Rechte und Pflichten als Core-Mitglied im Konsortium von Motorola.
Inhaltsverzeichnis |
FlexRay sollte die erhöhten Anforderungen zukünftiger Vernetzung im Fahrzeug erfüllen, insbesondere höhere Datenübertragungsrate, Echtzeit-Fähigkeit und Ausfallsicherheit (für X-by-Wire Systeme). Im aktuellen Fokus steht jedoch vorrangig die höhere Datenrate, welche durch den kontinuierlichen Anstieg von Fahrerassistenzsystemen im Bereich Antrieb und Fahrwerk in Premiumfahrzeugen heute notwendig ist. In den Bereichen Sicherheit sind neue Bus-Guardian-Konzepte in Arbeit. Diese ermöglichen eine zentrale bzw. dezentrale Überwachung der Buszugriffe auf Basis des statisch festgelegten TDMA-Schemas. Der Serieneinsatz im Automobil erfolgt erstmalig im BMW X5 2006. Der FlexRay-Cluster in diesem Fahrzeug basiert auf der Protokollversion v1.1, die Protokollspezifikation v2.1 wurde Ende 2005 verabschiedet und im Laufe des Jahres 2006 in Silizium implementiert.
In die FlexRay-Entwicklung ist auch das von BMW entwickelte ByteFlight-Protokoll eingegangen. ByteFlight findet sich im FlexRay-Protokoll als der dynamische Bereich des FlexRay-Zyklus wieder. ByteFlight wurde von BMW vor allem für den Einsatz in passiven Sicherheitssystemen (Airbag) entwickelt und verwendet ein optisches Übertragungsmedium. Im BMW 7er ging das Bussystem im Jahr 2001 in Serie, zu einer weiteren Verbreitung ist es jedoch nicht gekommen, weil bereits die FlexRay-Entwicklung initiiert war. Um auch die Anforderungen aktiver Sicherheitssysteme zu erfüllen, wurde FlexRay vor allem in Bezug auf zeitlichen Determinismus und Fehlertoleranz weiter entwickelt. FlexRay bietet zusätzlich zu ByteFlight eine Nachrichtenkommunikation mit einem festgelegten TDMA-Schema. Dabei setzt FlexRay ähnliche Mechanismen ein, wie das an der Technischen Universität Wien entwickelte Time-Triggered Protocol TTP. Zusätzlich zum TDMA Schema bietet das von ByteFlight übernommene Minislotting-Protokoll einen kollisionsfreien priorisierten dynamischen Kommunikationskanal.
Um einen Knoten, z. B. ein Steuergerät an einem FlexRay-Bus zu betreiben braucht man zwei Komponenten: Den Bus Transceiver und den Communication Controller. Der Bus Transceiver stellt die direkte Verbindung zur Datenleitung her: Einerseits schreibt er die logische Information, die versendet werden soll, in Form von Spannungspulsen auf den Bus; andererseits liest er die Signale aus, die von anderen Teilnehmern auf dem Bus gesendet werden. Diese Ebene wird als physikalische Bitübertragungsschicht oder Physical Layer bezeichnet. Außerdem umfasst FlexRay noch das Busprotokoll. Das Busprotokoll regelt, wie ein Netzwerk startet, wie ein Bustakt etabliert wird und welche Steuergeräte zu welchem Zeitpunkt senden dürfen. Der Communication Controller setzt das Busprotokoll in jedem Steuergerät um, beispielsweise verpackt er die zu übertragenden Informationen in ein Datenpaket und übergibt dieses Datenpaket zum richtigen Zeitpunkt zur Übertragung an den Bus Transceiver.
FlexRay unterstützt:
Die Kommunikation auf dem Bus läuft in Zyklen ab. Jeder dieser Zyklen ist in verschiedene Segmente unterteilt:
Die Synchronisation bewirkt, dass alle Steuergeräte am Bus nach dem gleichen Takt Nachrichten senden und nicht durch zeitliche Verschiebungen im Minislot (Zeitfenster) eines fremden Steuergerätes senden. Der Zeittakt wird von den Steuergeräten nach bestimmten Regeln beim Aufwachen ausgehandelt. Es ist daher kein Master notwendig, der den Takt vorgibt und bei seinem Ausfall den Bus lahmlegen könnte.
Der FlexRay-Rahmen (engl. Frame) ist wie folgt aufgebaut:
Um Leitungsreflektionen zu verhindern, wird der Bus mit einem Widerstand von 80-110 Ω terminiert. Die Leitungen werden verdrillt und die maximale Distanz zwischen zwei Steuergeräten beträgt 24 m (theoretisch), der Wert sinkt mit steigender Zahl von Stichleitungen.
Die Signale werden durch Spannungspegel von 1,5 V und 3,5 V übertragen, je nach Lage dieser Spannungspegel auf den Leitungen wird eine 0 oder 1 übertragen. Haben beide Leitungen den Pegel 2,5 V, ist der Bus im Leerlauf. Zur Energieeinsparung kann auch der Pegel 0 V für beide Leitungen verwendet werden.