10.10.2013 Aufrufe

FlexRay

FlexRay

FlexRay

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

CD inside<br />

Mathias Rausch<br />

<strong>FlexRay</strong><br />

Grundlagen<br />

Funktionsweise<br />

Anwendung


Inhaltsverzeichnis<br />

Vorwort ............................................................................ V<br />

Abbildungsverzeichnis ............................................................XV<br />

Tabellenverzeichnis ............................................................ XXIII<br />

Abkürzungsverzeichnis ......................................................... XXV<br />

VII<br />

1 Einleitung ................................................................ 1<br />

1.1 Ziel des Buches ........................................................... 1<br />

1.2 Begriffe und Notationen ................................................... 2<br />

2 Wissenswertes über <strong>FlexRay</strong> ............................................. 5<br />

2.1 Entwicklungsziele ......................................................... 5<br />

2.1.1 Ökonomische Ziele ........................................................ 5<br />

2.1.2 Technische Ziele........................................................... 6<br />

2.2 Eigenschaften von <strong>FlexRay</strong> ................................................. 8<br />

2.3 Einsatzgebiete ............................................................ 9<br />

2.4 Einordnung des Protokolls ................................................ 10<br />

2.5 Netzwerkprotokolle im Automobil ......................................... 11<br />

2.5.1 CAN ..................................................................... 12<br />

2.5.2 LIN ...................................................................... 12<br />

2.5.3 Multimediaprotokolle ..................................................... 13<br />

2.5.4 Kommunikationsnetzwerk im Automobil ................................... 13<br />

2.6 Das <strong>FlexRay</strong>-Konsortium und die <strong>FlexRay</strong>-Historie ......................... 15<br />

3 Prinzipielle Funktionsweise des Protokolls ............................. 21<br />

3.1 Aufbau eines Kommunikationsknotens .................................... 21<br />

3.2 Topologien ............................................................... 23<br />

3.3 Das Zugriffsverfahren .................................................... 27<br />

3.3.1 Zugriffsverfahren im Überblick ........................................... 27<br />

3.3.2 Der Kommunikationszyklus in <strong>FlexRay</strong> .................................... 30<br />

3.3.3 Das TDMA-Verfahren ..................................................... 30<br />

3.3.4 Das Minislot-Verfahren ................................................... 32<br />

3.4 Die Zeitbasis ............................................................. 34<br />

3.5 Die Protokollzustandsmaschine ........................................... 36


VIII Inhaltsverzeichnis<br />

3.6 Das Starten des Protokolls ................................................ 38<br />

3.7 Das Frame-Format ........................................................ 40<br />

3.8 Das Coding .............................................................. 41<br />

3.9 Der Physical Layer ....................................................... 42<br />

4 Funktionsweise des Protokolls im Detail ................................ 43<br />

4.1 Das Zugriffsverfahren .................................................... 43<br />

4.1.1 Der Kommunikationszyklus ............................................... 43<br />

4.1.2 Aufbau eines statischen Slots ............................................. 45<br />

4.1.3 Dynamische Slots ........................................................ 48<br />

4.1.4 Das Symbol Window ...................................................... 52<br />

4.1.5 Die Network Idle Time (NIT) .............................................. 53<br />

4.2 Uhrensynchronisation .................................................... 53<br />

4.2.1 Uhrenabweichungen und Korrekturmethoden .............................. 53<br />

4.2.2 Die Messung der Zeitabweichung ......................................... 56<br />

4.2.3 Die Berechnung der Korrekturwerte ....................................... 58<br />

4.2.4 Die Verteilung der Korrekturwerte ........................................ 61<br />

4.2.5 Die Anwendung der Korrekturwerte ....................................... 63<br />

4.2.6 Externe Uhrensynchronisation ............................................ 65<br />

4.2.7 Präzision und Genauigkeit ................................................ 67<br />

4.3 Die Protokollmaschine .................................................... 68<br />

4.3.1 Besondere Zustandsübergänge in der Protokollmaschine ................... 68<br />

4.3.2 Single Slot Mode ......................................................... 71<br />

4.4 Wecken eines Clusters .................................................... 72<br />

4.4.1 Betriebszustände eines Knotens ........................................... 72<br />

4.4.2 Das Wakeup Pattern ...................................................... 73<br />

4.4.3 Überlagerung von zwei Wakeup Pattern ................................... 75<br />

4.4.4 Gleichzeitiges Wecken mehrerer Knoten ................................... 76<br />

4.4.5 Ablauf des Weckens in einem Cluster ...................................... 77<br />

4.5 Starten des Clusters ...................................................... 79<br />

4.5.1 Clusterstart durch einen Knoten .......................................... 79<br />

4.5.2 Die Startup-Timer ........................................................ 85<br />

4.5.3 Gleichzeitiger Clusterstart durch zwei Knoten .............................. 86<br />

4.5.4 Start des Clusters bei einem fehlerhaften Knoten ........................... 88<br />

4.6 Frame-Format ............................................................ 93<br />

4.6.1 Der Header .............................................................. 93<br />

4.6.2 Die Nutzdaten ............................................................ 96<br />

4.6.3 Der Trailer ............................................................... 97<br />

4.6.4 Nullframes ............................................................... 97


Inhaltsverzeichnis<br />

4.6.5 Der Netzwerk-Management-Vektor ........................................ 99<br />

4.6.6 Message Identifi er ....................................................... 100<br />

4.7 Symbole ................................................................ 101<br />

4.8 Die Frame-Übertragung ................................................. 103<br />

4.8.1 Die Frame-Codierung .................................................... 103<br />

4.8.2 Die Frame-Decodierung .................................................. 105<br />

4.8.3 Das Senden von Frames ................................................. 107<br />

4.8.4 Der Frame-Empfang ..................................................... 109<br />

4.9 Cliquen und Cliquenbildung ............................................. 113<br />

5 Physical Layer ......................................................... 117<br />

5.1 Signale ................................................................. 117<br />

5.1.1 Signaldefi nition ......................................................... 117<br />

5.1.2 Kollisionen .............................................................. 119<br />

5.2 Physikalische Effekte .................................................... 120<br />

5.2.1 Signallaufzeit ........................................................... 120<br />

5.2.2 Asymmetrische Verzögerung ............................................ 121<br />

5.2.3 Signalverkürzung ....................................................... 121<br />

5.2.4 Elektromagnetische Verträglichkeit ...................................... 123<br />

5.3 Netzwerkkomponenten .................................................. 124<br />

5.3.1 Kabel und Stecker ....................................................... 124<br />

5.3.2 Terminierung ........................................................... 124<br />

5.4 Topologien .............................................................. 127<br />

5.4.1 Physikalische Topologie .................................................. 127<br />

5.4.2 Längen bei Bus- und Sterntopologien ..................................... 129<br />

5.4.3 Ungültige Topologien .................................................... 132<br />

5.5 Elektrischer Bustreiber .................................................. 135<br />

5.5.1 Aufbau und Funktion .................................................... 135<br />

5.5.2 Zustände und Übergänge ................................................ 136<br />

5.5.3 Schnittstellen und Ausgangsverhalten .................................... 139<br />

5.5.4 Wakeup ................................................................. 141<br />

5.6 Aufbau und Verhalten eines aktiven Sternkopplers ........................ 142<br />

5.6.1 Funktion ................................................................ 142<br />

5.6.2 Aufbau ................................................................. 144<br />

5.6.3 Zustände und Übergänge ................................................ 146<br />

5.6.4 Zeitverhalten ............................................................ 149<br />

5.6.5 Verhalten bei gleichzeitigem Signalempfang auf mehreren Zweigen ........ 152<br />

5.7 Fehlerausbreitung ....................................................... 153<br />

5.8 Asymmetrien ........................................................... 155<br />

IX


X Inhaltsverzeichnis<br />

5.8.1 Wesen und Auswirkungen von Asymmetrien ............................. 155<br />

5.8.2 Ursachen und Effekte von Asymmetrien .................................. 158<br />

5.8.3 Auswirkungen von Asymmetrien auf den Cluster ......................... 162<br />

5.9 Praktische Hinweise für eine robuste <strong>FlexRay</strong>-Topologie ................... 166<br />

6 Die Konfi gurierung eines Clusters ..................................... 169<br />

6.1 Berechnungsregeln ...................................................... 169<br />

6.1.1 Zeitdiskretisierung ...................................................... 169<br />

6.1.2 Bestimmen der Minimalzeit eines Signals ................................ 170<br />

6.1.3 Bestimmen der Maximalzeit eines Signals ................................ 172<br />

6.1.4 Notation der Formeln .................................................... 173<br />

6.2 Microtick und Macrotick ................................................. 173<br />

6.2.1 Der Microtick ........................................................... 173<br />

6.2.2 Der Macrotick ........................................................... 175<br />

6.3 Die Präzision ............................................................ 178<br />

6.4 Startup-Parameter ....................................................... 180<br />

6.4.1 Toleranzbereich beim Startup ............................................ 180<br />

6.4.2 Parameter zur Initialisierung der Uhr .................................... 181<br />

6.4.3 Maximale Drift .......................................................... 183<br />

6.4.4 pdListenTimeout ........................................................ 184<br />

6.5 Der statische Slot ........................................................ 185<br />

6.5.1 Der Actionpoint-Offset ................................................... 185<br />

6.5.2 Die statische Slotgröße .................................................. 187<br />

6.6 Das dynamische Segment ................................................ 189<br />

6.6.1 Der Minislot-Actionpoint-Offset........................................... 189<br />

6.6.2 Der Minislot ............................................................ 190<br />

6.6.3 Dynamic-Slot-Idle-Phase ................................................. 192<br />

6.6.4 Anzahl an Minislots ..................................................... 193<br />

6.6.5 Spätester Frame-Beginn im dynamischen Segment ........................ 196<br />

6.7 Symbol-Window und NIT ................................................ 197<br />

6.7.1 Das Symbol-Window ..................................................... 197<br />

6.7.2 Network Idle Time ....................................................... 198<br />

6.8 Uhrensynchronisation ...................................................203<br />

6.8.1 Steigungskorrekturwert .................................................203<br />

6.8.2 Offset-Korrekturwerte ...................................................204<br />

6.8.3 Dämpfungsparameter für die Uhrenkorrektur .............................205<br />

6.8.4 Externe Uhrensynchronisation ...........................................206<br />

6.9 Physical Layer abhängige Parameter ...................................... 207<br />

6.9.1 Maximale Signallaufzeit ................................................. 207


Inhaltsverzeichnis<br />

6.9.2 Korrektur der Zeitmesswerte .............................................208<br />

6.9.3 Kompensation der Laufzeit ...............................................209<br />

6.9.4 Transmission Start Sequence ............................................ 210<br />

6.10 Parametrierung der Symbole ............................................. 211<br />

6.10.1 Das Collision Avoidance Symbol .......................................... 212<br />

6.10.2 Konfi gurierung des Wakeup-Symbols beim Sender ........................ 214<br />

6.10.3 Konfi gurierung des Wakeup-Symbols beim Empfänger .................... 215<br />

6.11 Clusterkonfi gurierung ................................................... 217<br />

6.12 Zuordnung der Gleichungen zu den Konfi gurationsregeln der<br />

Protokollspezifi kation .................................................... 221<br />

7 Der Busguardian .......................................................223<br />

7.1 Prinzip des Busguardians ................................................223<br />

7.2 Lokaler Busguardian ....................................................225<br />

7.3 Zentraler Busguardian ...................................................228<br />

7.4 Weitere Aspekte des Busguardians .......................................230<br />

7.4.1 Test des Busguardians ...................................................230<br />

7.4.2 Weitere Funktionen ..................................................... 231<br />

7.4.3 Vergleich der Konzepte .................................................. 231<br />

7.4.4 Auswirkung des Busguardians auf die Clusterkonfi guration ...............232<br />

8 Die Implementierung des <strong>FlexRay</strong>-Protokolls ...........................235<br />

8.1 Nachrichtenpufferkonzept ...............................................235<br />

8.1.1 Aufteilung in Register und Speicher ......................................235<br />

8.1.2 Message Buffer-Typen ...................................................238<br />

8.2 Message Buffer Konfi gurierung ..........................................239<br />

8.2.1 Message Buffer Control Register .........................................239<br />

8.2.2 Frame-Header-Konfi gurierung ........................................... 242<br />

8.2.3 Beispiel für die Konfi gurierung eines Sendepuffers ........................ 244<br />

8.2.4 Beispiel für die Konfi gurierung eines Empfangspuffers .................... 245<br />

8.2.5 Beispiel für die Konfi gurierung eines Receive Shadow Buffers ............. 246<br />

8.3 Protokollkonfi gurationsregister ........................................... 246<br />

8.4 Filterkonfi gurierung ..................................................... 249<br />

8.5 Interrupts ...............................................................252<br />

8.5.1 Individuelle Interruptquellen ............................................252<br />

8.5.2 Kombinierte Interruptquellen ............................................253<br />

8.5.3 Protokoll-Interruptbits ...................................................254<br />

8.5.4 CHI-Fehler-Interruptbits ................................................. 257<br />

8.6 FIFO-Puffer .............................................................259<br />

XI


XII Inhaltsverzeichnis<br />

9 Aspekte der Anwendung von <strong>FlexRay</strong> ..................................263<br />

9.1 Die Wahl der Frame-Größe ...............................................263<br />

9.2 Die Gestaltung der Payload innerhalb von Frames .........................265<br />

9.3 Das Prinzip der Sendezeitfenster ......................................... 267<br />

9.4 Ein Beispiel .............................................................269<br />

9.4.1 Topologie ...............................................................269<br />

9.4.2 Sende-Schedule ......................................................... 270<br />

9.4.3 Kommunikationsmatrix .................................................. 271<br />

9.4.4 Bestimmung der <strong>FlexRay</strong>-Protokollparameter ............................. 272<br />

9.5 Realisierungsvarianten für das Multiplexen im dynamischen Segment ..... 277<br />

9.5.1 Aufgabenstellung........................................................ 277<br />

9.5.2 Steuerung des Sendezeitpunktes durch den Host .......................... 279<br />

9.5.3 Verwendung von Zykluszählerfi ltern .....................................280<br />

9.5.4 Pufferumkonfi gurierung .................................................282<br />

9.5.5 Vergleich der Realisierungsvarianten .....................................285<br />

10 Ausblick ............................................................... 287<br />

10.1 Protokollentwicklung .................................................... 287<br />

10.2 AUTOSAR ............................................................... 287<br />

10.2.1 Motivation und Ziele von AUTOSAR ......................................288<br />

10.2.2 Technisches Konzept ....................................................289<br />

10.2.3 <strong>FlexRay</strong> und AUTOSAR .................................................. 291<br />

10.3 Einsatz von <strong>FlexRay</strong> .....................................................292<br />

Anhang A: Einführung in SDL ....................................................295<br />

A.1 Philosophie von SDL .....................................................295<br />

A.2 Die grafi schen Elemente .................................................296<br />

A.3 Grundelemente .........................................................299<br />

A.4 Austauschen von Signalen ...............................................299<br />

A.5 Die Zeit in SDL ..........................................................300<br />

A.6 Einschränkungen von SDL ...............................................300<br />

A.7 Beispiel .................................................................300<br />

Anhang B: <strong>FlexRay</strong> Konstanten und Parameter ...................................304<br />

Anhang C: Beispielprogramm .................................................... 311<br />

C.1 Das Header-File ......................................................... 311<br />

C.2 Das <strong>FlexRay</strong>-Konfi gurationsfi le ........................................... 314<br />

Anhang D: Übersicht <strong>FlexRay</strong>-Schaltkreise .......................................338


Inhaltsverzeichnis<br />

XIII<br />

Literaturverzeichnis .............................................................339<br />

Stichwortverzeichnis ............................................................. 341


Abbildungsverzeichnis<br />

XV<br />

Bild 2.1: Vergleich von Kommunikationsprotokollen im Automobil ................... 12<br />

Bild 2.2: Beispiel für ein Fahrzeugnetzwerk ........................................ 14<br />

Bild 2.3: <strong>FlexRay</strong>-Logo ............................................................. 15<br />

Bild 2.4: Mitgliederschichten im <strong>FlexRay</strong>-Konsortium I .............................. 16<br />

Bild 2.5: Entwicklung der Mitgliederzahl im <strong>FlexRay</strong>-Konsortium I .................. 17<br />

Bild 2.6: Entwicklung des <strong>FlexRay</strong>-Konsortiums .................................... 18<br />

Bild 3.1: Prinzipieller Aufbau eines stand-alone <strong>FlexRay</strong>-Knotens .................... 22<br />

Bild 3.3: Schnittstellen eines <strong>FlexRay</strong>-Controllers ................................... 22<br />

Bild 3.2: Prinzipieller Aufbau eines integrierten <strong>FlexRay</strong>-Knotens .................... 22<br />

Bild 3.4: Aufbau eines <strong>FlexRay</strong>-Controllers ......................................... 23<br />

Bild 3.5: Verbindung von Knoten zu einem Netzwerk ............................... 23<br />

Bild 3.6: Beispiel für eine einkanalige Bustopologie ................................. 24<br />

Bild 3.7: Beispiel für eine zweikanalige Bustopologie ................................ 24<br />

Bild 3.8: Beispiel für eine einkanalige Sterntopologie ................................ 25<br />

Bild 3.9: Beispiel für eine zweikanalige Sterntopologie .............................. 25<br />

Bild 3.10: Beispiel für eine einkanalige Topologie mit kaskadierten Sternkopplern ..... 26<br />

Bild 3.11: Beispiel für die gemischte Verwendung von Bus- und Sterntopologie ........ 26<br />

Bild 3.12: Beispiel für die Verwendung unterschiedlicher Topologien auf Kanal A<br />

und B .................................................................... 27<br />

Bild 3.13: Einteilung der Zugriffsverfahren .......................................... 28<br />

Bild 3.14: Aufbau eines Kommunikationszyklus...................................... 30<br />

Bild 3.15: Aufbau des statischen Segments .......................................... 31<br />

Bild 3.16: TDMA-Schema mit Nachrichten ........................................... 31<br />

Bild 3.17: Zuordnung der Slots zu Knoten ........................................... 31<br />

Bild 3.18: Unterteilung des dynamischen Segments in Minislots ...................... 32<br />

Bild 3.19: Dynamisches Segment mit Frames ........................................ 33<br />

Bild 3.20: Zeithierarchie in <strong>FlexRay</strong> ................................................. 35<br />

Bild 3.21: Ablauf der Uhrensynchronisation ......................................... 36<br />

Bild 3.22: Zustände und Übergänge der Protokollzustandsmaschine ................... 37<br />

Bild 3.23: Starten eines Clusters .................................................... 39<br />

Bild 3.24: Aufbau eines Frames ..................................................... 41<br />

Bild 3.25: Aufbau des Frame Headers ............................................... 41<br />

Bild 3.26: Codierung eines Frames .................................................. 42<br />

Bild 4.1: Aufbau eines Kommunikationszyklus...................................... 43<br />

Bild 4.2: Aufbau des statischen Segments .......................................... 44<br />

Bild 4.3: Lage der Slots bei Sender und Empfängern mit Uhrenabweichung .......... 46


XVI Abbildungsverzeichnis<br />

Bild 4.4: Lage der Slots beim Empfänger bei Uhrenabweichungen.................... 47<br />

Bild 4.5: Aufbau eines statischen Slots ............................................. 48<br />

Bild 4.6: Aufbau eines Minislots ................................................... 49<br />

Bild 4.7: Bestimmung der Lage des Actionpoints innerhalb des Minislots ............. 49<br />

Bild 4.8: Bestimmung der Minislot-Größe ........................................... 51<br />

Bild 4.9: Aufbau eines dynamischen Slots .......................................... 51<br />

Bild 4.10: Beginn des dynamischen Segments ohne Offset ............................ 52<br />

Bild 4.11: Beginn des dynamischen Segments mit Offset ............................. 52<br />

Bild 4.12: Aufbau des Symbol Windows ............................................. 53<br />

Bild 4.13: Uhren mit unterschiedlicher Frequenz .................................... 54<br />

Bild 4.14: Uhren mit gleicher Frequenz und unterschiedlicher Phase .................. 54<br />

Bild 4.15: Uhrensynchronisation durch Offsetkorrektur .............................. 55<br />

Bild 4.16: Uhrensynchronisation durch Steigungskorrektur ........................... 55<br />

Bild 4.17: Uhrensynchronisation durch Steigungs- und Offsetkorrektur ............... 56<br />

Bild 4.18: Bestimmen der Uhrenabweichung ......................................... 57<br />

Bild 4.19: Messung der Zeitabweichung ............................................. 57<br />

Bild 4.20: Messung der Frequenzabweichung ........................................ 58<br />

Bild 4.21: Algorithmus für die Berechnung der Korrekturwerte ....................... 59<br />

Bild 4.22: Anwendung der Steigungs- und der Offsetkorrekturwerte .................. 63<br />

Bild 4.23: Prinzip der Synchronisation zweier Cluster ................................ 65<br />

Bild 4.24: Auswertung der Zeitinformation zur Clustersynchronisierung .............. 65<br />

Bild 4.25: Hohe Genauigkeit, aber schlechte Präzision ................................ 67<br />

Bild 4.26: Gute Präzision, aber niedrige Genauigkeit ................................. 67<br />

Bild 4.27: Auszug aus der POC ...................................................... 69<br />

Bild 4.28: Funktionsweise des Single Slot Modes ..................................... 71<br />

Bild 4.29: Aufbau eines Wakeup Pattern ............................................. 73<br />

Bild 4.30: Wakeup Pattern am Empfänger (CC) ....................................... 74<br />

Bild 4.31: Wakeup Pattern am Empfänger (BD)....................................... 74<br />

Bild 4.32: Wecken eines Knotens .................................................... 75<br />

Bild 4.33: Wecken bei vollständiger Überlagerung der Low-Phase zweier Wakeup<br />

Pattern .................................................................. 75<br />

Bild 4.34: Wecken bei teilweiser Überlagerung der Low-Phase zweier Wakeup<br />

Pattern .................................................................. 76<br />

Bild 4.35: Wecken bei Überlagerung zweier Wakeup Pattern .......................... 76<br />

Bild 4.36: Kollisionsaufl ösung beim gleichzeitigen Wecken zweier Knoten ............. 77<br />

Bild 4.37: Ablauf des Weckens eines Clusters ........................................ 78<br />

Bild 4.38: Cluster-Startup mit zwei Coldstart-Knoten (1) .............................. 81<br />

Bild 4.39: Cluster-Startup mit zwei Coldstart-Knoten (2) .............................. 81<br />

Bild 4.40: Cluster-Startup mit zwei Coldstart-Knoten (3) .............................. 82


Abbildungsverzeichnis<br />

XVII<br />

Bild 4.41: Cluster-Startup mit zwei Coldstart-Knoten (4) .............................. 82<br />

Bild 4.42: Cluster-Startup mit zwei Coldstart-Knoten (5) .............................. 82<br />

Bild 4.43: Empfangsfenster für den zweiten Startup-Frame ........................... 84<br />

Bild 4.44: Cluster-Startup mit zwei Coldstart-Knoten (6) .............................. 85<br />

Bild 4.45: Funktionsweise der Startup-Timer ......................................... 86<br />

Bild 4.46: Zeitgleicher Startup zweier Knoten ........................................ 87<br />

Bild 4.47: Startup eines fehlerhaften Coldstarters mit drei Startup-Versuchen (1) ...... 89<br />

Bild 4.48: Startup eines fehlerhaften Coldstarters mit drei Startup-Versuchen (2) ...... 89<br />

Bild 4.49: Startup mit fehlerhaftem Leading Coldstarter und zwei Following<br />

Coldstartern ............................................................. 90<br />

Bild 4.50: Aufbau des Frame Headers ............................................... 93<br />

Bild 4.51: Datenfl uss innerhalb eines Kommunikationscontrollers .................... 98<br />

Bild 4.52: Netzwerk-Management-Vektor innerhalb der Payload ...................... 100<br />

Bild 4.53: Message-ID innerhalb der Payload ........................................ 101<br />

Bild 4.54: Codierung eines Collision Avoidance Symbols ............................. 102<br />

Bild 4.55: Signalkette vom Sender zum Empfänger .................................. 103<br />

Bild 4.56: Frame-Codierung im statischen Segment ................................. 104<br />

Bild 4.57: Frame-Codierung im dynamischen Segment .............................. 104<br />

Bild 4.58: Signalabtastung und -fi lterung ........................................... 105<br />

Bild 4.59: Signalabtastung, Filterung und Strobing .................................. 106<br />

Bild 4.60: Prüfungen beim Frame-Empfang ......................................... 109<br />

Bild 4.61: Zwei Cliquen mit unterschiedlichen Zykluszählerwerten .................. 113<br />

Bild 4.62: Zwei Cliquen mit unterschiedlichem Zeitverständnis ...................... 114<br />

Bild 4.63: Szenario 1 zur Entstehung von Cliquen ................................... 115<br />

Bild 4.64: Szenario 2 zur Entstehung von Cliquen ................................... 115<br />

Bild 5.1: Buszustände ............................................................ 118<br />

Bild 5.2: Defi nition von Testpunkten im <strong>FlexRay</strong>-Netzwerk ......................... 118<br />

Bild 5.3: Signallaufzeit ........................................................... 120<br />

Bild 5.4: Asymmetrische Verzögerung ............................................ 121<br />

Bild 5.5: TSS-Verkürzung ......................................................... 122<br />

Bild 5.6: Symbol-Verkürzung ..................................................... 123<br />

Bild 5.7: Kabelterminierung mittels Widerstand ................................... 124<br />

Bild 5.8: Kabelterminierung durch Wider stands-Kondensator-Beschaltung .......... 124<br />

Bild 5.9: Kabelterminierung durch Widerstands-Kondensator-Beschaltung und<br />

Gleichtaktdrossel ........................................................ 125<br />

Bild 5.10: Unterminierter Knoten .................................................. 126<br />

Bild 5.11: Unterminierter Knoten mit Gleichtaktdrossel ............................. 126<br />

Bild 5.12: Zusammenschaltung der Terminierungswiderstände ...................... 126<br />

Bild 5.13: Punkt-zu-Punkt-Verbindung zweier Knoten ............................... 127


XVIII Abbildungsverzeichnis<br />

Bild 5.14: Verbindung von vier Knoten mittels Bus .................................. 127<br />

Bild 5.15: Verbindung von vier Knoten mittels passivem Stern ....................... 127<br />

Bild 5.16: Topologiebeispiel für einen aktiven Sternkoppler .......................... 129<br />

Bild 5.17: Beispiel für ein Cluster mit Entfernungsangaben .......................... 131<br />

Bild 5.18: Bustopologie mit Abzweigungen und Unterabzweigung .................... 131<br />

Bild 5.19: Ungültige Topologie (1) .................................................. 133<br />

Bild 5.20: Ungültige Topologie (2) .................................................. 133<br />

Bild 5.21: Topologie mit einem unterbrochenen Kommunikationskanal ............... 133<br />

Bild 5.22: Netzwerk mit drei Kommunikationskanälen .............................. 134<br />

Bild 5.23: Blockschaltbild eines Bustreibers ........................................ 135<br />

Bild 5.24: Zustandsdiagramm eines Bustreibers nach [EPL06] ....................... 138<br />

Bild 5.25: Reduziertes Zustandsdiagramm eines Bustreibers nach [EPL06] ........... 138<br />

Bild 5.26: Abhängigkeit des RxD-Signals vom Bussignal ............................. 140<br />

Bild 5.27: Defi nition des Wakeup Pattern am Bustreiber ............................. 141<br />

Bild 5.28: Cluster mit Sternkoppler (1) ............................................. 143<br />

Bild 5.29: Cluster mit Sternkoppler (2) ............................................. 143<br />

Bild 5.30: Cluster mit Sternkoppler (3) ............................................. 144<br />

Bild 5.31: Cluster mit Sternkoppler (4) ............................................. 144<br />

Bild 5.32: Beispiel für den Aufbau eines einfachen aktiven Sternkopplers ............ 145<br />

Bild 5.33: Vergleich verschiedener Sternkopplerrealisierungen ...................... 145<br />

Bild 5.34: Beispiel für den Aufbau eines aktiven Sternkopplers mit CC-Interface ...... 146<br />

Bild 5.35: Zustände und Übergänge eines Sternkopplers ............................ 147<br />

Bild 5.36: Zustände eines Moduls Single_Branch .................................... 148<br />

Bild 5.37: Zeitliches Verhalten eines Sternkopplers .................................. 150<br />

Bild 5.38: Kollisionsszenario 1 an einem Sternkoppler ............................... 153<br />

Bild 5.39: Kollisionsszenario 2 an einem Sternkoppler ............................... 153<br />

Bild 5.40: Fehlerausbreitung bei einem Bus ......................................... 154<br />

Bild 5.41: Fehlerausbreitung in einem Netzwerk mit aktivem Sternkoppler ........... 154<br />

Bild 5.42: Negative Bitasymmetrien ................................................ 156<br />

Bild 5.43: Statische Bitasymmetrie ................................................. 156<br />

Bild 5.44: Stochastische Bitasymmetrie ............................................. 157<br />

Bild 5.45: Überlagerung von statischer und stochastischer Bitasymmetrie ............ 157<br />

Bild 5.46: Beispiel für das Bit-Strobing bei Signalasymmetrie ........................ 157<br />

Bild 5.47: Schematischer Aufbau der Treiberendstufen von CC und Bustreiber ........ 159<br />

Bild 5.48: Asymmetrie durch verschobene Schwellwerte ............................ 160<br />

Bild 5.49: Asymmetrie durch unterschiedliche Flankensteilheit ...................... 160<br />

Bild 5.50: Asymmetrie durch unterschiedliche Ansprechempfi ndlichkeit ............. 160<br />

Bild 5.51: Takt mit verschieden langer Low- und High-Phase ......................... 162<br />

Bild 5.52: Aufsummierung der Asymmetrien in der Signalkette ...................... 162


Abbildungsverzeichnis<br />

XIX<br />

Bild 6.1: Zeitdiskretisierung eines Signals ......................................... 170<br />

Bild 6.2: Zeitdiskretisierung eines Signals bei beschleunigtem Sender .............. 170<br />

Bild 6.3: Zeitdiskretisierung eines Signals bei verlangsamten Sender ............... 172<br />

Bild 6.4: Abhängigkeiten zwischen Busgeschwindigkeit und Microtick-Länge ........ 174<br />

Bild 6.5: Abhängigkeit des Macroticks vom Microtick .............................. 176<br />

Bild 6.6: Toleranzbereiche beim Startup ........................................... 180<br />

Bild 6.7: Initiale Offset-Werte beim Startup ........................................ 182<br />

Bild 6.8: Defi nition von pdMaxDrift ............................................... 184<br />

Bild 6.9: Konfi gurierung des Actionpoints im statischen Slot........................ 186<br />

Bild 6.10: Berechnung der statischen Slotgröße ..................................... 188<br />

Bild 6.11: Konfi gurierung des Minislot-Actionpoints ................................. 189<br />

Bild 6.12: Konfi gurierung der Minislot-Größe basierend auf dem Frame-Ende ......... 191<br />

Bild 6.13: Konfi gurierung der Minislot-Größe basierend auf dem Frame-Anfang....... 191<br />

Bild 6.14: Defi nition von gdDynamicSlotIdlePhase .................................. 192<br />

Bild 6.15: Berechnung der Anzahl der Minislots im dynamischen Segment ........... 194<br />

Bild 6.16: Berechnung der Anzahl der Minislots pro Frame .......................... 195<br />

Bild 6.17: Bestimmung des letztmöglichen Sendezeitpunktes im dynamischen<br />

Segment ................................................................ 197<br />

Bild 6.18: Konfi gurierung des Symbol Windows ..................................... 198<br />

Bild 6.19: Zeitlicher Ablauf der Berechnung der Korrekturwerte ..................... 199<br />

Bild 6.20: Berechnung der Korrekturwerte innerhalb der NIT ........................ 199<br />

Bild 6.21: Defi nition der Zeiten für die Berechnung von Offset- und<br />

Steigungskorrekturwert .................................................200<br />

Bild 6.22: Beispiel für eine kürzere Berechnungszeit ................................ 201<br />

Bild 6.23: Defi nition der Zeit in der NIT für die Berechnung des<br />

Steigungskorrekturwerts ................................................202<br />

Bild 6.24: Darstellung der maximalen Frequenzabweichung .........................203<br />

Bild 6.25: Bestimmung des Bereiches für die maximale Offset-Korrektur .............204<br />

Bild 6.26: Anwendung der Clusterdriftdämpfung ....................................206<br />

Bild 6.27: Zusammensetzung von pDecodingCorrection .............................209<br />

Bild 6.28: Verkürzung der Transmission Start Sequence ............................. 210<br />

Bild 6.29: Superposition zweier CAS ............................................... 213<br />

Bild 6.30: Defi nition des Wakeup-Symbols .......................................... 214<br />

Bild 6.31: Wakeup-Symbol beim Sender ............................................ 214<br />

Bild 6.32: Überlagerung zweier Wakeup Pattern .................................... 216<br />

Bild 6.33: Empfangsfenster für ein Wakeup Pattern ................................. 216<br />

Bild 6.34: Anordnung von Sync-Knoten in einem Cluster ............................220<br />

Bild 7.1: Architektur eines Knotens mit Busguardian ............................... 224<br />

Bild 7.2: Funktionsweise des Busguardians ........................................ 224


XX Abbildungsverzeichnis<br />

Bild 7.3: <strong>FlexRay</strong>-Cluster mit lokalen Busguardians ................................226<br />

Bild 7.4: Prinzip des dezentralen Busguardians ....................................226<br />

Bild 7.5: Verschaltung eines lokalen Busguardians .................................228<br />

Bild 7.6: Prinzip des zentralen Busguardians ......................................228<br />

Bild 7.7: Funktionsweise des zentralen Busguardians ..............................229<br />

Bild 7.8: Test des Busguardians ...................................................230<br />

Bild 7.9: Vollständig synchronisierter Busguardian ................................233<br />

Bild 7.10: Offset zwischen Busguardian und <strong>FlexRay</strong>-Controller ......................233<br />

Bild 7.11: Vergrößerte statische Slots bei Einsatz eines Busguardians ................234<br />

Bild 8.1: Organisation der Message-Buffer im MFR4310 ............................236<br />

Bild 8.2: Beispiel für die Speicheraufteilung im <strong>FlexRay</strong>-Modul ..................... 237<br />

Bild 8.3: Message-Buffer-Typen ...................................................238<br />

Bild 8.4: Organisation des Frame-Header-Feldes ................................... 242<br />

Bild 8.5: Zykluszählerfi lter mit Mask = 0x01 .......................................250<br />

Bild 8.6: Zykluszählerfi lter mit Mask = 0x02 ......................................250<br />

Bild 8.7: Zykluszählerfi lter mit Mask = 0x03 ......................................250<br />

Bild 8.8: Zykluszählerfi lter mit Mask = 0x04 ...................................... 251<br />

Bild 8.9: Zykluszählerfi lter mit Mask = 0x06 ...................................... 251<br />

Bild 8.10: Aufbau des FIFO-Filters nach [MFR4310] .................................259<br />

Bild 9.1: Zusammensetzung der Frame-Payload aus mehreren PDUs ................265<br />

Bild 9.2: Aufteilung einer PDU auf zwei Frames ...................................266<br />

Bild 9.3: Zusammensetzung eines Frames in verschiedenen Zyklen (1) .............266<br />

Bild 9.4: Zusammensetzung eines Frames in verschiedenen Zyklen (2) ............. 267<br />

Bild 9.5: Datenaktualisierung mit kleinerer Periode als der Zykluszeit ..............268<br />

Bild 9.6: Prinzip der Sendezeitfenster .............................................269<br />

Bild 9.7: Topologie des Beispielclusters ............................................269<br />

Bild 9.8: Beispiel Sende-Schedule für das statische Segment ........................ 270<br />

Bild 9.9: Beispiel für die Frame-Verteilung im dynamischen Segment im geraden<br />

Zyklus .................................................................. 278<br />

Bild 9.10: Beispiel für die Frame-Verteilung im dynamischen Segment im ungeraden<br />

Zyklus .................................................................. 278<br />

Bild 9.11: Lesen und Schreiben der Empfangs- und Sendepuffer im Knoten 4 .........280<br />

Bild 9.12: Möglichkeit des Pufferzugriffs bei Verwendung eines Zykluszählerfi lters . . . 281<br />

Bild 9.13: Zeitlicher Ablauf des Umkonfi gurierens von Puffern im Knoten 1 ..........283<br />

Bild 10.1: Funktionelles Modell der AUTOSAR-Software .............................289<br />

Bild 10.2: Kommunikation über RTE-Ports ..........................................290<br />

Bild 10.3: <strong>FlexRay</strong>- und CAN-Module in AUTOSAR-Schichtenmodell .................. 291<br />

Bild A.1: Ein <strong>FlexRay</strong>-Cluster als SDL-System ......................................296<br />

Bild A.2: Beispiel für den SDL-Prozess „Zähler“ .................................... 301


Abbildungsverzeichnis<br />

XXI<br />

Bild A.3: Andere Darstellung für den SDL-Prozess „Zähler“ ......................... 301<br />

Bild A.4: SDL-Macro ..............................................................302<br />

Bild A.5: Beispiel für einen SDL-Prozess mit Timer .................................302


Tabellenverzeichnis<br />

XXIII<br />

Tab. 2.1: OSI-Schichtenmodell für Bussysteme und Protokolle ........................ 11<br />

Tab. 4.1: Zusammenhang zwischen Payload-Länge und Anzahl statischer Slots ....... 44<br />

Tab. 4.2: Anzahl der zu streichenden Werte ......................................... 58<br />

Tab. 4.3: Beispiele für Messwerte für den Frame-Empfang ........................... 59<br />

Tab. 4.4: Berechnung der Offsetkorrekturwerte ..................................... 60<br />

Tab. 4.5: Berechnung der Frequenzkorrekturwerte für Zyklus 0 und 1 ............... 60<br />

Tab. 4.6: Berechnung der Frequenzkorrekturwerte für Zyklus 2 und 3 ............... 60<br />

Tab. 4.7: Länge der einzelnen Macroticks in Microticks im geraden Zyklus ........... 63<br />

Tab. 4.8: Länge der einzelnen Macroticks in Microticks im ungeraden Zyklus ......... 64<br />

Tab. 4.9: Bedingungen für die Zustandsübergänge in der POC ....................... 69<br />

Tab. 4.10: Übersicht über Fehlerfälle und ihre Auswirkung beim Startup .............. 92<br />

Tab. 4.11: Header-CRCs für ausgewählte Slots und Frame-Längen ..................... 96<br />

Tab. 4.12: Sendeverhalten eines <strong>FlexRay</strong>-Knotens ................................... 108<br />

Tab. 4.13: Aktualisierung von Daten- und Statusinformation beim Empfang ........... 112<br />

Tab. 4.14: Statusinformation für einen Slot .......................................... 112<br />

Tab. 5.1: Spannungen auf den Busleitungen in verschiedenen Zuständen ............ 118<br />

Tab. 5.2: Resultierende Signale bei Kollisionen ..................................... 119<br />

Tab. 5.3: Minimale und maximale Reaktionszeiten eines Bustreibers im Empfänger . . 123<br />

Tab. 5.4: Komponenten zum Aufbau eines Clusters ................................. 127<br />

Tab. 5.5: Bedingungen für Zustandsübergänge des Bustreibers ..................... 137<br />

Tab. 5.6: Bedingungen für Zustandsübergänge für einen minimalen Bustreiber ...... 138<br />

Tab. 5.7: Resultierender Zustand des Bustreibers nach Hostkommando .............. 139<br />

Tab. 5.8: Bussignal in Abhängigkeit von den Signalen TxEN und TxD ............... 139<br />

Tab. 5.9: Bussignal in Abhängigkeit von den Signalen TxEN, TxD und BGE .......... 140<br />

Tab. 5.10: Ausgangssignal RxD in Abhängigkeit vom Bustreiberzustand und dem<br />

Bussignal ............................................................... 140<br />

Tab. 5.11: Parameter zum Detektieren eines Wakeup Pattern im Bustreiber ........... 141<br />

Tab. 5.12: Bedingungen für die Zustandsübergänge eines Sternkopplers .............. 147<br />

Tab. 5.13: Übergangsbedingungen für das Modul Single_Branch ..................... 148<br />

Tab. 5.14: Parameter für das zeitliche Verhalten eines aktiven Sternkopplers ......... 151<br />

Tab. 5.15: Berechnung der Asymmetrie für vier verschiedene Beispielcluster ......... 164<br />

Tab. 5.16: Tolerierbare Asymmetrie bei verschiedenen Busgeschwindigkeiten ........ 166<br />

Tab. 5.17: Messwerte physikalischer Parameter einiger Bauelemente ................. 168<br />

Tab. 6.1: Macrotick in μs in Abhängigkeit vom Microtick ........................... 175<br />

Tab. 6.2: Auswirkung von Fehlern in Abhängigkeit von der Verteilung der<br />

Sync-Knoten ............................................................220


XXIV Tabellenverzeichnis<br />

Tab. 6.3: Zuordnung der Constraints nach Protokollspezifi kation zu den<br />

Gleichungen ............................................................ 221<br />

Tab. 7.1: Bustreiberverhalten in Abhängigkeit von TxEN und BGE ..................226<br />

Tab. 7.2: Vergleich der Busguardian-Konzepte .....................................232<br />

Tab. 8.1: Message Buffer Confi guration, Control und Status Register ................ 240<br />

Tab. 8.2: Message Buffer Cycle Counter Filter Register ............................. 241<br />

Tab. 8.3: Beschreibung der Kanalzuordnung ....................................... 241<br />

Tab. 8.4: Message Buffer Frame-ID Register ........................................ 242<br />

Tab. 8.5: Message Buffer Index Register ........................................... 242<br />

Tab. 8.6: Bedeutung der Bits im Slotstatus ......................................... 243<br />

Tab. 8.7: Übersicht über die Protokollkonfi gurationsregister ........................ 247<br />

Tab. 9.1: Beispiel zur Verteilung der Sendedaten in einem Cluster ..................263<br />

Tab. 9.2: Berechnung der optimalen Frame-Größe ..................................263<br />

Tab. 9.3: Kommunikationsmatrix für Kanal A, statisches Segment .................. 271<br />

Tab. 9.4: Kommunikationsmatrix für Kanal B, statisches Segment ................... 271<br />

Tab. 9.5: Sende- und Empfangsfahrplan ........................................... 278<br />

Tab. 9.6: Vergleich der Realisierungsvarianten .....................................286<br />

Tab. A.1: Grafi sche Symbole in SDL ............................................... 297<br />

Tab. B.1: Protokollkonstanten .....................................................304<br />

Tab. B.2: Physical Layer Konstanten ...............................................306<br />

Tab. B.3: Performance Konstanten .................................................306<br />

Tab. B.4: Globale Protokollparameter (1) ...........................................306<br />

Tab. B.5: Globale Protokollparameter (2) ...........................................308<br />

Tab. B.6: Lokale Protokollparameter ...............................................309<br />

Tab. D.1: Anbieter von <strong>FlexRay</strong>-Controllern ........................................338<br />

Tab. D.2: Anbieter von <strong>FlexRay</strong>-Bustreibern und aktiven Sternkopplern ..............338


2 Wissenswertes über <strong>FlexRay</strong><br />

Mit der Gründung des <strong>FlexRay</strong>-Konsortiums [<strong>FlexRay</strong>] im Jahre 2000 wurde mit der Entwicklung<br />

des <strong>FlexRay</strong>-Kommunikationssystems begonnen, wobei sowohl das Kommunikationsprotokoll<br />

als auch der Elektrische Physical Layer im Mittelpunkt standen. Ausgangspunkt waren<br />

auf der einen Seite die Erfahrungen mit den im Automobil eingesetzten Kommunikationssystemen<br />

und eine Reihe von Zielen und Wünschen, die das neue Kommunikationssystem<br />

erfüllen sollte, auf der anderen Seite.<br />

2.1 Entwicklungsziele<br />

Vor der Entwicklung neuer Produkte, Technologien oder Dienstleistungen werden üblicherweise<br />

die Ziele festgelegt, die bei dieser Entwicklung erreicht werden sollen. Die Entwicklungsziele,<br />

die sich in ökonomische und in technische Ziele unterteilen lassen, werden<br />

nachfolgend aufgeführt und kurz erläutert.<br />

2.1.1 Ökonomische Ziele<br />

Das ökonomische Ziel, einen Kostenvorteil gegenüber herkömmlichen oder alternativen Lösungen<br />

zu erzielen, ist ein universelles Ziel, da es die Grundlage jedes Unternehmens und<br />

jeder Volkswirtschaft ist. Unterschiede in der Bewertung ergeben sich durch die Abgrenzung<br />

des Betrachtungsgegenstandes und des Zeithorizonts.<br />

Kostenvorteile können sich bei den Herstellungskosten, bei den Betriebskosten und bei den<br />

Systemkosten eines Produkts ergeben. Der Automobilhersteller setzt stets ein komplettes<br />

Kommunikationssystem im Fahrzeug ein, sodass er nicht nur an der kostengünstigsten<br />

Lösung einer Komponente interessiert ist, sondern stets die Kosten des Gesamtsystems<br />

im Blick hat. Ferner muss berücksichtigt werden, dass Autos in Modellreihen mit unterschiedlichen<br />

Ausstattungsvarianten gefertigt werden. Eine Modellreihe wird über fünf bis<br />

sieben Jahre produziert und erfährt während dieser Zeit eine Reihe von Veränderungen. Das<br />

Kostenoptimum für das Kommunikationssystem sollte also auch über die unterschiedlichen<br />

Ausstattungsvarianten der Fahrzeuge sowie über den Produktionszeitraum einer oder mehrerer<br />

Modellreihen gefunden werden. Aus dieser komplexen Betrachtung resultieren nicht<br />

nur ökonomische sondern auch einige der technischen Entwicklungs ziele.<br />

Zwei Ziele wurden von Beginn der <strong>FlexRay</strong> Entwicklung an verfolgt, die längerfristig betrachtet<br />

zu ökonomischen Vorteilen führen.<br />

5


6 2 Wissenswertes über <strong>FlexRay</strong><br />

Lizenzfreiheit<br />

Viele neue Entwicklungen sind durch Patente geschützt. Durch die durch Patente garantierte<br />

Exklusivität können die Rechteinhaber zu Alleinanbietern für ein Produkt für eine<br />

begrenzte Zeit werden, wodurch größere Gewinne erzielt werden können. Es können aber<br />

auch Lizenzen an andere Hersteller vergeben werden, die dafür Zahlungen an den Rechteinhaber<br />

leisten.<br />

Bei Lizenzzahlungen gibt es verschiedene Modelle. So kann für die Nutzung einer bestimmten<br />

Technologie für jedes verkaufte Produkt ein bestimmter Betrag vereinbart werden. Es gibt<br />

aber auch Modelle, die auf der Zahlung eines Einmalbetrages oder einer jährlichen Gebühr<br />

basieren.<br />

Ein Ziel des <strong>FlexRay</strong>-Konsortiums war es, ein Kommunikationssystem zu entwickeln, das<br />

alle Mitglieder des Konsortiums frei nutzen können, d. h. ohne die Zahlung von Lizenzgebühren.<br />

Durchsetzung als Standardprotokoll im Automobilbereich<br />

Standardkomponenten haben gegenüber proprietären Entwicklungen den Vorteil, dass sie<br />

in hohen Stückzahlen gefertigt und eingesetzt werden. Bei einem großen Markt bieten entsprechend<br />

viele Marktteilnehmer Produkte aber auch Dienstleistungen an, was einerseits zu<br />

niedrigeren Preisen der Komponenten führt und andererseits die Qualität und die Vielfalt der<br />

verfügbaren Werkzeuge erhöht, was wiederum zu einem effi zienteren Engineering führt. Die<br />

Erfahrungen der vergangenen 20 Jahre haben dies in verschiedenen Bereichen gezeigt.<br />

Die ökonomischen Ziele wurden insbesondere durch die Gründung des <strong>FlexRay</strong>-Konsortiums,<br />

den Inhalt des Konsortiumvertrages, sowie durch ein entsprechendes Marketing aber auch<br />

durch die enge Zusammenarbeit der Firmen adressiert.<br />

2.1.2 Technische Ziele<br />

Die technischen Entwicklungsziele resultierten aus den Erfahrungen mit den damals in<br />

Kraftfahrzeugen eingesetzten Kommunikationsprotokollen sowie aus den Anforderungen,<br />

welche die Anwendungen an diese stellen. Dabei spielten insbesondere zukünftige Anwendungen<br />

eine wichtige Rolle [Ber01].<br />

<br />

Busgeschwindigkeit von 10 MBit/s<br />

Mit der Busgeschwindigkeit wird die Übertragungsgeschwindigkeit einzelner Bits über das<br />

physikalische Medium charakterisiert. Es bezeichnet die Bruttodatenrate; die wirklich nutzbare<br />

Datenrate ist – wie bei jedem Protokoll – um einiges kleiner.<br />

Mit der Wahl von 10 MBit/s wird die übliche CAN-Datenrate von 500 kBit/s um das Zwanzigfache<br />

übertroffen, was genügend Reserve für die nächsten Jahre schafft.


2.1 Entwicklungsziele<br />

Redundante Kommunikationskanäle<br />

Das Protokoll sollte so gestaltet sein, dass ein Kommunikationsteilnehmer zwei physikalische<br />

Kommunikationskanäle unterstützt. Diese Kommunikationskanäle sollten sich – je nach<br />

Anwendung – für die redundante Übertragung von Informationen oder zur Erhöhung der<br />

Bandbreite nutzen lassen.<br />

Bereitstellung einer globalen synchronisierten Zeitbasis<br />

Verteilte Regelungen, also Regelungen, die auf mehreren miteinander vernetzten Steuergeräten<br />

abgearbeitet werden, müssen zeitlich zueinander abgestimmt arbeiten. Dazu bietet sich<br />

eine globale Zeitbasis an, die das Kommunikationsprotokoll zur Verfügung stellen soll.<br />

Garantierte Nachrichtenübertragung bei geringer Zeitvarianz<br />

Erfahrungen mit der CAN-Vernetzung zeigen, dass nicht immer alle Nachrichten übertragen<br />

werden und dass es mitunter zu großen zeitlichen Schwankungen in der Übertragungszeit<br />

kommt. Dies erschwert die Realisierung von Echtzeitanwendungen. Das zu entwickelnde<br />

Kommunikationssystem sollte nicht nur die Übertragung von Nachrichten garantieren,<br />

sondern auch deren Ankunftszeit.<br />

Funktion des Protokolls ohne Wissen über die Netzwerktopologie<br />

Fahrzeuge werden für den Kunden in verschiedenen Ausstattungsvarianten angeboten,<br />

die aufeinander aufbauen. Alle Ausstattungsvarianten basieren auf einer Basisversion.<br />

Für die Vernetzung im Fahrzeug bedeutet dies, dass Ausstattungsvarianten zusätzliche<br />

Kommuni kationsteilnehmer im Netzwerk gegenüber der Basisversion erfordern. Weitere<br />

Kommunikationsteilnehmer bedeuten aber einen anderen Netzwerkaufbau. Für die Fertigung<br />

eines Autos ist es nicht akzeptabel, wenn beim Hinzufügen eines oder mehrerer<br />

neuer Kommunikationsteilnehmer die Software – und seien es nur wenige Codezeilen – in<br />

den anderen Knoten geändert werden muss. Dies würde zu längeren Montagezeiten und<br />

somit höheren Kosten führen. Es bestand also die Forderung, dass dem Netzwerk weitere<br />

Teilnehmer hinzugefügt werden können, ohne dass die vorhandenen Teilnehmer deshalb<br />

verändert werden müssen.<br />

Unterstützung von kontinuierlicher und sporadischer Kommunikation<br />

Der Austausch von Nachrichten kann kontinuierlich oder sporadisch erfolgen. Je nach<br />

An wendung eignet sich die eine oder die andere Form besser. Für Regelungen ist im Allgemeinen<br />

ein kontinuierlicher Datenaustausch notwendig; für den Austausch von Diagnoseinformationen<br />

reicht meist ein sporadischer Datenaustausch aus. Vorhandene Kommunikationsprotokolle<br />

unterstützen die eine oder die andere Kommunikationsform besser. Das zu<br />

entwickelnde Kommunikationssystem sollte beide Kommunikationsformen gleichermaßen<br />

unterstützen.<br />

7


8 2 Wissenswertes über <strong>FlexRay</strong><br />

<br />

bytefl ight Kompatibilität<br />

Das bytefl ight-Protokoll wurde von der Firma BMW in Zusammenarbeit mit den Firmen Motorola,<br />

Siemens und Elmos entwickelt. Es wird mit einem optischen Übertragungsmedium<br />

bei der Steuerung von Airbags in BMW-Fahrzeugen eingesetzt. bytefl ight verwendet ein<br />

zeitgesteuertes Minislot-Zugriffsverfahren und arbeitet mit einer festen Busgeschwindigkeit<br />

von 10 MBit/s [Grie00].<br />

Zu Beginn der <strong>FlexRay</strong>-Entwicklung stand die Forderung, <strong>FlexRay</strong> so zu entwickeln, dass<br />

bytefl ight-Teilnehmer mit <strong>FlexRay</strong>-Teilnehmern Nachrichten austauschen können. Vorteile<br />

dieser bytefl ight-Kompatibilität ergeben sich aus dem Vorhandensein einer Reihe von Komponenten<br />

wie Bustreiber, Sternkoppler, Entwicklungsboards und Tools sowie Erfahrungen<br />

im Umgang mit ihnen. Des Weiteren könnten bytefl ight-Knoten in einem <strong>FlexRay</strong>-Netzwerk<br />

arbeiten, was einen sanften Übergang von bytefl ight zu <strong>FlexRay</strong> ermöglichen würde.<br />

Die bytefl ight-Kompatibilität wurde aber im Laufe der <strong>FlexRay</strong>-Entwicklung fallen gelassen,<br />

weil diese Forderung den Lösungsraum von <strong>FlexRay</strong> zu stark eingegrenzt hätte und andere<br />

Entwicklungsziele nicht im gewünschten Maße erreichbar gewesen wären.<br />

Diese Ziele resultierten aus den mit Netzwerken im Automobil gesammelten Erfahrungen<br />

und den Anforderungen, die zukünftige Anwendungen an ein Kommunikationssystem im<br />

Auto stellen würden. Sie standen am Beginn der Entwicklung und gaben die allgemeine<br />

Richtung vor.<br />

2.2 Eigenschaften von <strong>FlexRay</strong><br />

Die Eigenschaften des <strong>FlexRay</strong>-Kommunikationssystems richten sich erwartungsgemäß an<br />

den Entwicklungszielen aus. Diese sind insbesondere:<br />

Datenrate von 2 10 MBit/s<br />

<strong>FlexRay</strong> unterstützt zwei Kommunikationskanäle, die beide mit je 10 MBit/s Bruttodatenrate<br />

arbeiten. Die Nettodatenrate hängt stark von der Konfi guration z. B. der Länge der<br />

Nachrichten ab.<br />

Synchronisierte Zeitbasis<br />

Das bei <strong>FlexRay</strong> zur Anwendung kommende Zugriffsverfahren basiert auf einer synchronisierten<br />

Zeitbasis. Diese Zeitbasis wird vom Protokoll selbstständig etabliert und synchron<br />

gehalten und wird der Anwendung zur Verfügung gestellt. Die Genauigkeit dieser Zeitbasis<br />

liegt zwischen 0,5 μs und 10 μs (typisch 1 bis 3 μs).


Bekannte Nachrichtenlaufzeit mit garantierter Varianz<br />

Die Kommunikation ist in Zyklen organisiert, die sich periodisch wiederholen. Eine bestimmte<br />

Nachricht hat in einem Kommunikationszyklus einen festen Platz, sodass ein Empfänger<br />

schon vorab weiß, wann welche Nachricht ankommen wird. Die zeitliche Schwankungsbreite<br />

der Ankunftszeit ist gering und wird garantiert.<br />

Skalierbare Redundanz<br />

<strong>FlexRay</strong> bietet die Möglichkeit, Nachrichten redundant zu übertragen, um die Verfügbarkeit<br />

eines Systems zu erhöhen. Dabei können einzelne Nachrichten redundant übertragen werden<br />

ohne den Zwang, alle Nachrichten redundant übertragen zu müssen und dadurch viel<br />

Bandbreite zu verlieren.<br />

Flexibilität<br />

Ein Schwerpunkt bei der Entwicklung von <strong>FlexRay</strong> wurde auf die Flexibilität gelegt. So<br />

kann nicht nur frei entschieden werden, welche Nachrichten redundant und welche nicht<br />

redundant übertragen werden, sondern es kann das System auch auf Verfügbarkeit (statische<br />

Vergabe der Bandbreite) oder auf Durchsatz (dynamische Vergabe der Bandbreite) optimiert<br />

werden. Die Erweiterbarkeit eines Systems ist möglich, ohne dass die Software in den vorhandenen<br />

Knoten angepasst werden muss. Es werden sowohl Bus- als auch Sterntopologien<br />

unterstützt. Eine Vielzahl von Konfi gurationsparametern erlaubt die Anpassung des Kommunikationssystems<br />

an die speziellen Anforderungen der Anwendung, wie z. B. die Länge<br />

des Kommunikationszyklus oder die Nachrichtenlänge.<br />

Die Anforderungen an das Protokoll werden im Detail in der Anforderungsspezifi kation (engl.:<br />

requirement specifi cation), das auch als Lastenheft bekannt ist, festgelegt [RS05].<br />

2.3 Einsatzgebiete<br />

Aus den im Abschnitt 2.2 aufgeführten Eigenschaften lassen sich eine Reihe von Einsatzgebieten<br />

ableiten.<br />

Hohe Datenrate – CAN-Ersatz<br />

2.3 Einsatzgebiete<br />

Bei Anwendungen, bei denen die Datenrate von CAN nicht ausreicht, werden heute zwei<br />

oder mehrere CAN-Busse parallel eingesetzt. Hier ist <strong>FlexRay</strong> prädestiniert, solche Mehrbuslösungen<br />

abzulösen.<br />

9


Stichwortverzeichnis<br />

A<br />

Actionpoint 47, 48, 185<br />

Asymmetrie 121, 155<br />

— Statische 156<br />

— Stochastische 157<br />

AUTOSAR 287<br />

B<br />

Busguardian 223<br />

— Lokaler 225<br />

— Test 230<br />

— Zentraler 228<br />

Bustreiber 135, 136, 137, 138, 139,<br />

141<br />

Byte Start Sequence 41<br />

C<br />

CAN 12<br />

Clique 113<br />

Cliquenbildung 113<br />

Clusterdriftdämpfung 206<br />

Coding 41<br />

Coldstarter 38, 80<br />

— Following 38, 80<br />

— Leading 38, 80<br />

Collision Avoidance Symbol 102, 212<br />

Common Mode Choke 125<br />

Controller Host Interface 22, 98<br />

CRC 97<br />

CRC-Polynom 95, 97<br />

Cycle Count 96<br />

D<br />

Dämpfung 205<br />

Dynamic-Slot-Idle-Phase 192<br />

Dynamic Trailing Sequence 50, 104<br />

dynamischer Slot 48<br />

dynamisches Segment 32<br />

341<br />

E<br />

Elektromagnetische Verträglichkeit 123<br />

F<br />

FIFO-Puffer 259<br />

Filter 249<br />

<strong>FlexRay</strong>-Knoten 21<br />

<strong>FlexRay</strong>-Konsortium 15<br />

<strong>FlexRay</strong> Member 15<br />

— Associate Member 16<br />

— Core Member 15<br />

— Development Members 16<br />

— Premium Associate Member 16<br />

Frame 40<br />

— Codierung 103<br />

— Decodierung 105<br />

— Empfang 109<br />

— Format 93<br />

— Header 40, 93<br />

— ID 40<br />

— Nullframe 97<br />

— Payload 40, 265<br />

—<br />

Sync-Frame 57<br />

Frame-ID 94<br />

Frequenzkorrektur 35<br />

G<br />

Gleichtaktdrossel 125<br />

H<br />

Header-CRC 95


342 Stichwortverzeichnis<br />

I<br />

Idle 117<br />

Interrupt 252<br />

J<br />

JASPAR 19<br />

K<br />

Keyslot 71, 217<br />

Kommunikationsknoten 21<br />

Kommunikationszyklus 30, 43<br />

Konfi gurierung 169<br />

Korrekturwert 58, 61, 63<br />

L<br />

Laufzeit 120<br />

LIN 12<br />

M<br />

Macrotick 34, 175<br />

Media Test Symbol 101<br />

Message-ID 100<br />

Message Buffer 235<br />

Message Buffer Control Register 239<br />

Microtick 34, 173<br />

Minislot 32, 48, 49, 190<br />

Minislot-Actionpoint 189<br />

MOST 13<br />

Multiplexen 277<br />

N<br />

Network Idle Time 53, 198<br />

Netzwerk-Management-Vektor 99<br />

NM-Vektor 99<br />

Nullframe 97<br />

Null Frame Indicator 94<br />

Nutzdaten 96<br />

O<br />

Offsetkorrektur 35, 55, 204<br />

P<br />

Payload 96<br />

Payload Length 95<br />

Payload Preamble Indicator 93<br />

Physical Layer 42, 117<br />

Präzision 67, 178<br />

Protocol Engine 22, 98<br />

Protokollkonfi gurationsregister 247<br />

Protokollmaschine 68<br />

Protokollparameter 272<br />

Protokollzustandsmaschine 36<br />

R<br />

Reserved Bit 93<br />

S<br />

Sample 105<br />

Sendezeitfenster 267<br />

Signallaufzeit 120, 207<br />

Signalverkürzung 121<br />

Single Slot Mode 71<br />

Startup 38, 79, 180<br />

Startup-Timer 85<br />

Startup Frame Indicator 94<br />

statischer Slot 45, 185<br />

statisches Segment 31<br />

Steigungskorrektur 55, 203<br />

Sternkoppler 142, 144, 145, 147, 150<br />

Strobing 106<br />

Symbole 101<br />

Symbol Window 52, 197<br />

Sync Frame Indicator 94<br />

T<br />

TDMA 30<br />

Terminierung 124


Testpunkt 118<br />

Topologie 23, 127<br />

— Bus 24, 127<br />

— einkanalig 24<br />

— gemischt 26<br />

— kaskadierte Sternkoppler 26<br />

— passiver Stern 127<br />

— Punkt-zu-Punkt-Verbindung 127<br />

— Stern 25<br />

— ungültige 132<br />

— zweikanalig 24<br />

Transmission Start Sequence 41, 210<br />

U<br />

Uhrensynchronisation 34, 53, 203<br />

Uhrensynchronisation, externe 65, 206<br />

Stichwortverzeichnis<br />

W<br />

Wakeup 72, 141<br />

— Local 141<br />

— Remote 141<br />

Wakeup-Symbol 214, 215<br />

Wakeup Pattern 73<br />

Worst-Case-Präzision 178<br />

Z<br />

Zugriffsverfahren 27, 43<br />

— Carrier Sense, Multiple Access 29<br />

— CSMA 29<br />

— Master-Slave 28<br />

— TDMA 28<br />

—<br />

Time Division Multiple Access 28<br />

Zyklus 30<br />

Zyklusnummer 30<br />

343

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!