Vorwort | 6 |
Inhaltsverzeichnis | 8 |
Abbildungsverzeichnis | 16 |
Tabellenverzeichnis | 24 |
Abkürzungsverzeichnis | 26 |
1 Einleitung | 28 |
1.1 Ziel des Buches | 28 |
1.2 Begriffe und Notationen | 29 |
2 Wissenswertes über FlexRay | 32 |
2.1 Entwicklungsziele | 32 |
2.1.1 Ökonomische Ziele | 32 |
2.1.2 Technische Ziele | 33 |
2.2 Eigenschaften von FlexRay | 35 |
2.3 Einsatzgebiete | 36 |
2.4 Einordnung des Protokolls | 37 |
2.5 Netzwerkprotokolle im Automobil | 38 |
2.5.1 CAN | 39 |
2.5.2 LIN | 39 |
2.5.3 Multimediaprotokolle | 40 |
2.5.4 Kommunikationsnetzwerk im Automobil | 40 |
2.6 Das FlexRay-Konsortium und die FlexRay-Historie | 42 |
3 Prinzipielle Funktionsweise des Protokolls | 48 |
3.1 Aufbau eines Kommunikationsknotens | 48 |
3.2 Topologien | 50 |
3.3 Das Zugriffsverfahren | 54 |
3.3.1 Zugriffsverfahren im Überblick | 54 |
3.3.2 Der Kommunikationszyklus in FlexRay | 57 |
3.3.3 Das TDMA-Verfahren | 57 |
3.3.4 Das Minislot-Verfahren | 59 |
3.4 Die Zeitbasis | 61 |
3.5 Die Protokollzustandsmaschine | 63 |
3.6 Das Starten des Protokolls | 65 |
3.7 Das Frame-Format | 67 |
3.8 Das Coding | 68 |
3.9 Der Physical Layer | 69 |
4 Funktionsweise des Protokolls im Detail | 70 |
4.1 Das Zugriffsverfahren | 70 |
4.1.1 Der Kommunikationszyklus | 70 |
4.1.2 Aufbau eines statischen Slots | 72 |
4.1.3 Dynamische Slots | 75 |
4.1.4 Das Symbol Window | 79 |
4.1.5 Die Network Idle Time (NIT) | 80 |
4.2 Uhrensynchronisation | 80 |
4.2.1 Uhrenabweichungen und Korrekturmethoden | 80 |
4.2.2 Die Messung der Zeitabweichung | 83 |
4.2.3 Die Berechnung der Korrekturwerte | 85 |
4.2.4 Die Verteilung der Korrekturwerte | 88 |
4.2.5 Die Anwendung der Korrekturwerte | 90 |
4.2.6 Externe Uhrensynchronisation | 92 |
4.2.7 Präzision und Genauigkeit | 94 |
4.3 Die Protokollmaschine | 95 |
4.3.1 Besondere Zustandsübergänge in der Protokollmaschine | 95 |
4.3.2 Single Slot Mode | 98 |
4.4 Wecken eines Clusters | 99 |
4.4.1 Betriebszustände eines Knotens | 99 |
4.4.2 Das Wakeup Pattern | 100 |
4.4.3 Überlagerung von zwei Wakeup Pattern | 102 |
4.4.4 Gleichzeitiges Wecken mehrerer Knoten | 103 |
4.4.5 Ablauf des Weckens in einem Cluster | 104 |
4.5 Starten des Clusters | 106 |
4.5.1 Clusterstart durch einen Knoten | 106 |
4.5.2 Die Startup-Timer | 112 |
4.5.3 Gleichzeitiger Clusterstart durch zwei Knoten | 113 |
4.5.4 Start des Clusters bei einem fehlerhaften Knoten | 115 |
4.6 Frame-Format | 120 |
4.6.1 Der Header | 120 |
4.6.2 Die Nutzdaten | 123 |
4.6.3 Der Trailer | 124 |
4.6.4 Nullframes | 124 |
4.6.5 Der Netzwerk-Management-Vektor | 126 |
4.6.6 Message Identi.er | 127 |
4.7 Symbole | 128 |
4.8 Die Frame-Übertragung | 130 |
4.8.1 Die Frame-Codierung | 130 |
4.8.2 Die Frame-Decodierung | 132 |
4.8.3 Das Senden von Frames | 134 |
4.8.4 Der Frame-Empfang | 136 |
4.9 Cliquen und Cliquenbildung | 140 |
5 Physical Layer | 144 |
5.1 Signale | 144 |
5.1.1 Signalde.nition | 144 |
5.1.2 Kollisionen | 146 |
5.2 Physikalische Effekte | 147 |
5.2.1 Signallaufzeit | 147 |
5.2.2 Asymmetrische Verzögerung | 148 |
5.2.3 Signalverkürzung | 148 |
5.2.4 Elektromagnetische Verträglichkeit | 150 |
5.3 Netzwerkkomponenten | 151 |
5.3.1 Kabel und Stecker | 151 |
5.3.2 Terminierung | 151 |
5.4 Topologien | 154 |
5.4.1 Physikalische Topologie | 154 |
5.4.2 Längen bei Bus- und Sterntopologien | 156 |
5.4.3 Ungültige Topologien | 159 |
5.5 Elektrischer Bustreiber | 162 |
5.5.1 Aufbau und Funktion | 162 |
5.5.2 Zustände und Übergänge | 163 |
5.5.3 Schnittstellen und Ausgangsverhalten | 166 |
5.5.4 Wakeup | 168 |
5.6 Aufbau und Verhalten eines aktiven Sternkopplers | 169 |
5.6.1 Funktion | 169 |
5.6.2 Aufbau | 171 |
5.6.3 Zustände und Übergänge | 173 |
5.6.4 Zeitverhalten | 176 |
5.6.5 Verhalten bei gleichzeitigem Signalempfang auf mehreren | 179 |
Zweigen | 179 |
5.7 Fehlerausbreitung | 180 |
5.8 Asymmetrien | 182 |
5.8.1 Wesen und Auswirkungen von Asymmetrien | 182 |
5.8.2 Ursachen und Effekte von Asymmetrien | 185 |
5.8.3 Auswirkungen von Asymmetrien auf den Cluster | 189 |
5.9 Praktische Hinweise für eine robuste FlexRay- Topologie | 193 |
6 Die Kon.gurierung eines Clusters | 196 |
6.1 Berechnungsregeln | 196 |
6.1.1 Zeitdiskretisierung | 196 |
6.1.2 Bestimmen der Minimalzeit eines Signals | 197 |
6.1.3 Bestimmen der Maximalzeit eines Signals | 199 |
6.1.4 Notation der Formeln | 200 |
6.2 Microtick und Macrotick | 200 |
6.2.1 Der Microtick | 200 |
6.2.2 Der Macrotick | 202 |
6.3 Die Präzision | 205 |
6.4 Startup-Parameter | 207 |
6.4.1 Toleranzbereich beim Startup | 207 |
6.4.2 Parameter zur Initialisierung der Uhr | 208 |
6.4.3 Maximale Drift | 210 |
6.4.4 pdListenTimeout | 211 |
6.5 Der statische Slot | 212 |
6.5.1 Der Actionpoint-Offset | 212 |
6.5.2 Die statische Slotgröße | 214 |
6.6 Das dynamische Segment | 216 |
6.6.1 Der Minislot- Actionpoint-Offset | 216 |
6.6.2 Der Minislot | 217 |
6.6.3 Dynamic-Slot-Idle-Phase | 219 |
6.6.4 Anzahl an Minislots | 220 |
6.6.5 Spätester Frame-Beginn im dynamischen Segment | 223 |
6.7 Symbol- Window und NIT | 224 |
6.7.1 Das Symbol- Window | 224 |
6.7.2 Network Idle Time | 225 |
6.8 Uhrensynchronisation | 230 |
6.8.1 Steigungskorrekturwert | 230 |
6.8.2 Offset-Korrekturwerte | 231 |
6.8.3 Dämpfungsparameter für die Uhrenkorrektur | 232 |
6.8.4 Externe Uhrensynchronisation | 233 |
6.9 Physical Layer abhängige Parameter | 234 |
6.9.1 Maximale Signallaufzeit | 234 |
6.9.2 Korrektur der Zeitmesswerte | 235 |
6.9.3 Kompensation der Laufzeit | 236 |
6.9.4 Transmission Start Sequence | 237 |
6.10 Parametrierung der Symbole | 238 |
6.10.1 Das Collision Avoidance Symbol | 239 |
6.10.2 Kon.gurierung des Wakeup-Symbols beim Sender | 241 |
6.10.3 Kon.gurierung des Wakeup-Symbols beim Empfänger | 242 |
6.11 Clusterkon.gurierung | 244 |
6.12 Zuordnung der Gleichungen zu den Kon . gurationsregeln der Protokollspezi.kation | 248 |
7 Der Busguardian | 250 |
7.1 Prinzip des Busguardians | 250 |
7.2 Lokaler Busguardian | 252 |
7.3 Zentraler Busguardian | 255 |
7.4 Weitere Aspekte des Busguardians | 257 |
7.4.1 Test des Busguardians | 257 |
7.4.2 Weitere Funktionen | 258 |
7.4.3 Vergleich der Konzepte | 258 |
7.4.4 Auswirkung des Busguardians auf die Clusterkon.guration | 259 |
8 Die Implementierung des FlexRay- Protokolls | 262 |
8.1 Nachrichtenpufferkonzept | 262 |
8.1.1 Aufteilung in Register und Speicher | 262 |
8.1.2 Message Buffer-Typen | 265 |
8.2 Message Buffer Kon.gurierung | 266 |
8.2.1 Message Buffer Control Register | 266 |
8.2.2 Frame-Header-Kon.gurierung | 269 |
8.2.3 Beispiel für die Kon.gurierung eines Sendepuffers | 271 |
8.2.4 Beispiel für die Kon.gurierung eines Empfangspuffers | 272 |
8.2.5 Beispiel für die Kon.gurierung eines Receive Shadow Buffers | 273 |
8.3 Protokollkon.gurationsregister | 273 |
8.4 Filterkon.gurierung | 276 |
8.5 Interrupts | 279 |
8.5.1 Individuelle Interruptquellen | 279 |
8.5.2 Kombinierte Interruptquellen | 280 |
8.5.3 Protokoll-Interruptbits | 281 |
8.5.4 CHI-Fehler-Interruptbits | 284 |
8.6 FIFO-Puffer | 286 |
9 Aspekte der Anwendung von FlexRay | 290 |
9.1 Die Wahl der Frame-Größe | 290 |
9.2 Die Gestaltung der Payload innerhalb von Frames | 292 |
9.3 Das Prinzip der Sendezeitfenster | 294 |
9.4 Ein Beispiel | 296 |
9.4.1 Topologie | 296 |
9.4.2 Sende-Schedule | 297 |
9.4.3 Kommunikationsmatrix | 298 |
9.4.4 Bestimmung der FlexRay-Protokollparameter | 299 |
9.5 Realisierungsvarianten für das Multiplexen im dynamischen Segment | 304 |
9.5.1 Aufgabenstellung | 304 |
9.5.2 Steuerung des Sendezeitpunktes durch den Host | 306 |
9.5.3 Verwendung von Zykluszähler.ltern | 307 |
9.5.4 Pufferumkon.gurierung | 309 |
9.5.5 Vergleich der Realisierungsvarianten | 312 |
10 Ausblick | 314 |
10.1 Protokollentwicklung | 314 |
10.2 AUTOSAR | 314 |
10.2.1 Motivation und Ziele von AUTOSAR | 315 |
10.2.2 Technisches Konzept | 316 |
10.2.3 FlexRay und AUTOSAR | 318 |
10.3 Einsatz von FlexRay | 319 |
Anhang A: Einführung in SDL | 322 |
A. 1 Philosophie von SDL | 322 |
A.2 Die gra.schen Elemente | 323 |
A.3 Grundelemente | 326 |
A.4 Austauschen von Signalen | 326 |
A.5 Die Zeit in SDL | 327 |
A.6 Einschränkungen von SDL | 327 |
A.7 Beispiel | 327 |
Anhang B: FlexRay Konstanten und Parameter | 331 |
Anhang C: Beispielprogramm | 338 |
C. 1 Das Header-File | 338 |
C.2 Das FlexRay-Kon.gurations.le | 341 |
Anhang D: Übersicht FlexRay-Schaltkreise | 365 |
Literaturverzeichnis | 366 |
Stichwortverzeichnis | 368 |