FlexRay
FlexRay
FlexRay
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