Modellierung von speziellen Komponenten des FlexRay-Protokolls
- Art: Diplomarbeit
- Autor: Jirko Zessack
- Abgabedatum: Oktober 2006
- Umfang: 149 Seiten
- Dateigröße: 3,0 MB
- Note: 1,1
- Institution / Hochschule: Technische Universität Ilmenau Deutschland
- Bibliografie: ca. 15
- ISBN (eBook): 978-3-8324-9967-9
-
ISBN (Paperback) :
978-3-8324-9967-9 P - ISBN (CD) :978-3-8324-9967-9 CD
- Sprache: Deutsch
- Prämierung:
- Arbeit zitieren: Zessack, Jirko Oktober 2006: Modellierung von speziellen Komponenten des FlexRay-Protokolls, Hamburg: Diplomica Verlag
- Schlagworte: FlexRay, Protokoll, Startup, MLDesigner, Fahrzeugvernetzung
In den Warenkorb
74,00 €
Diplomarbeit von Jirko Zessack
Einleitung:
Diese Arbeit beschäftigt sich auf den folgenden Seiten mit dem zukünftigen Übertragungsstandard im automobilen Bereich, mit FlexRay. Dabei liegen die Schwerpunkte dieser Arbeit im Übertragungsprotokoll und den einzelnen Protokollfunktionen von FlexRay. Die technischen Spezifikationen und Leistungsdaten, sowie die Hauptanwendungsgebiete von FlexRay werden in dieser Arbeit nur sehr kurz und oberflächlich im Kapitel 2 angesprochen. Wer noch keine Vorkenntnisse zu FlexRay besitzt, sollte sich als Einführung in die Thematik, die Studienarbeit von Stefan Aschenbach [6] ansehen. Für das Verständnis der Kernpunkte dieser Arbeit ist es jedoch nicht erforderlich, sich in andere Literatur einzuarbeiten. Falls doch, dann wird an den entsprechenden Stellen explizit auf die externen Literaturstellen verwiesen.
Als Grundlage für diese Arbeit diente hauptsächlich die „FlexRay Protocol Specification“ in Version 2.1 da es zu FlexRay noch immer sehr wenige Publikationen gibt. Die meisten Veröffentlichungen zu FlexRay sind sehr produktspezifisch und weichen häufig von den originalen Vorgaben ab. Dennoch wurden für diese Arbeit auch Veröffentlichungen anderer Personen verwendet, wobei die Informationen aus diesen Dokumenten sehr genau überprüft wurden, um eine Vermischung von Standards und Eigenentwicklungen zu vermeiden.
Die Kernaufgaben dieser Diplomarbeit liegen beim Cluster – Startup – Mechanismus im Kapitel 3, bei der Synchronisation der einzelnen Nodes im FlexRay im Kapitel 4, sowie bei der Bestimmung der globalen und lokalen Parameter, um eine reibungslose Kommunikation zu gewährleisten, im Kapitel 6. Gestützt werden die Analysen und Formeln dieser Arbeit durch ein im Rahmen dieser Diplomarbeit entwickeltes Modell, welches die Kommunikation bei FlexRay darstellt. Dieses Modell wird im Kapitel 5 und im Kapitel 9 detailliert erklärt. Zum einfacheren Verständnis der Modelle gibt es im Kapitel 9 einen Einschub zu den Grundlagen der „Specification and Description Language“ (SDL) sowie zu den Grundlagen von MLD im Kapitel 9.
Ziel dieser Arbeit ist es, dem Leser Schritt für Schritt und sehr detailliert die einzelnen Protokollkomponenten und deren Funktionsweisen zu erläutern. Dabei werden die abstrakten Komponenten zuerst erläutert und dann folgen die Komponenten der unteren Schichten, wie der Netzwerkschicht. Weiterhin werden die einzelnen Schritte des Startup – Mechanismus detailliert erläutert und auf die Besonderheiten der Synchronisation eingegangen. Denn genau hier liegt der sehr große Vorteil von FlexRay gegenüber anderen Übertragungsmechanismen.
Abschließend gibt es noch einen Hinweis zu Fachbegriffen, Fremdwörtern und Abkürzungen. In dieser Arbeit wird, sofern möglich, die deutsche Sprache verwendet.
Jedoch ist es nicht immer möglich, alle Begriffe, Fachwörter und Eigennamen sinnvoll aus dem Englischen in das Deutsche zu übersetzen. Aus diesem Grund, und auch um eine Vermischung von deutschen und englischen Begriffen und daraus resultierenden Inkonsistenzen zu vermeiden, werden alle Eigennamen für Module, Protokollkomponenten und Variablen grundsätzlich in Englisch verwendet, so wie es die Spezifikation von FlexRay vorsieht. Zu Beginn jedes entsprechenden Abschnitts wird aber, sofern möglich, eine entsprechende Übersetzung angeben. Der Umgang mit Abkürzungen erfolgt im Text sehr sparsam. Allerdings werden in Grafiken und Tabellen aus Platzgründen sehr häufig spezifische aber auch nicht standardisierte Abkürzungen verwendet. Die verwendeten Abkürzungen sind tabellarisch im Abkürzungsverzeichnis auf Seite XV zu finden. Dabei wurde ebenfalls darauf geachtet, dass die Abkürzungen zur offiziellen FlexRay Protokoll Spezifikation konform sind.
Inhaltsverzeichnis:
| 1. | Vorwort | 1 |
| 2. | Motivation | 3 |
| 2.1 | Anwendungsgebiet | 3 |
| 2.2 | Technische Daten und Leistungsfähigkeit im Überblick | 5 |
| 2.3 | FlexRay – Konsortium | 12 |
| 3. | Protokollkomponenten von FlexRay | 15 |
| 3.1 | Komponentenüberblick und das ISO/OSI Referenzmodell | 15 |
| 3.2 | Aufgabe und Aufbau der einzelnen Komponenten | 20 |
| 3.2.1 | Komponenten mit Schicht 7 Funktionalität | 21 |
| 3.2.1.1 | CHI – Controller Host Interface | 21 |
| 3.2.2 | Komponenten mit Schicht 2 Funktionalität | 23 |
| 3.2.2.1 | POC – Protocol Operation Control | 24 |
| 3.2.2.2 | Synchronisationsteil | 27 |
| 3.2.2.3 | FSP – Frame and Symbol Processing | 27 |
| 3.2.2.4 | MAC – Media Access Control | 31 |
| 3.2.3 | Komponenten mit Schicht 1 Funktionalität | 34 |
| 3.2.3.1 | CoDec – Code and Decode | 35 |
| 4. | Synchronisation und Cluster - Startup | 37 |
| 4.1 | Rahmenformat von FlexRay | 37 |
| 4.2 | Synchronisation | 40 |
| 4.2.1 | MTG – Macrotick Generation Process | 46 |
| 4.2.2 | CSP – Clock Synchronization Process | 47 |
| 4.2.3 | CSS – Clock Synchronization Startup Process | 50 |
| 4.3 | Startup | 51 |
| 4.3.1 | Startup Prepare | 56 |
| 4.3.2 | Integration Listen | 56 |
| 4.3.3 | Coldstart Listen | 57 |
| 4.3.4 | Coldstart Collision Resolution | 57 |
| 4.3.5 | Coldstart Consistency Check | 58 |
| 4.3.6 | Coldstart GAP | 58 |
| 4.3.7 | Initialize Schedule | 59 |
| 4.3.8 | Integration Coldstart Check | 59 |
| 4.3.9 | Coldstart Join | 59 |
| 4.3.10 | Integration Consistency Check | 60 |
| 4.3.11 | Abort Startup | 60 |
| 5. | Abstraktes Modell eines FlexRay - Node | 61 |
| 5.1 | Was kann das Modell | 61 |
| 5.2 | Modellbeschränkungen und Abweichungen zur Realität | 62 |
| 5.3 | Modellverwendung | 66 |
| 6. | Erkenntnisse aus dem Modell | 77 |
| 6.1 | Midpoint in NIT und gOffsetCorrectionStart | 78 |
| 6.2 | CRC Frameberechnung | 81 |
| 6.3 | Taktabweichung | 83 |
| 6.4 | Offset- und Anstiegskorrektur | 86 |
| 6.5 | Verwendung von 2 oder mehr als 15 Synchronisationsnodes | 87 |
| 6.6 | Zusammenfassung | 88 |
| 7. | Zusammenfassung | 89 |
| 7.1 | Das Buskonzept | 89 |
| 7.2 | Echtzeitverhalten | 91 |
| 7.2.1 | Zyklenaufbau | 91 |
| 7.2.2 | Alarmsteuerung | 92 |
| 7.2.3 | Fehlerüberwachung | 93 |
| 8. | Ausblick und Einschätzung | 95 |
| Anhang A – Grundlagen | 97 | |
| A.1 | MLD Grundlagen | 97 |
| A.2 | SDL Grundlagen | 99 |
| Anhang B – Modellstruktur | 101 | |
| B.1 | Struktur der Modellierung | 101 |
| B.1.1 | CHI | 117 |
| B.1.2 | POC | 118 |
| B.1.3 | FSP | 121 |
| B.1.4 | MAC | 124 |
| B.1.5 | CoDec | 126 |
| Anhang C – Datenstrukturen des Modells | 129 | |
| Quellenverzeichnis | 133 |
Inhaltsverzeichnis:
| 1. | Vorwort | 1 |
| 2. | Motivation | 3 |
| 2.1 | Anwendungsgebiet | 3 |
| 2.2 | Technische Daten und Leistungsfähigkeit im Überblick | 5 |
| 2.3 | FlexRay – Konsortium | 12 |
| 3. | Protokollkomponenten von FlexRay | 15 |
| 3.1 | Komponentenüberblick und das ISO/OSI Referenzmodell | 15 |
| 3.2 | Aufgabe und Aufbau der einzelnen Komponenten | 20 |
| 3.2.1 | Komponenten mit Schicht 7 Funktionalität | 21 |
| 3.2.1.1 | CHI – Controller Host Interface | 21 |
| 3.2.2 | Komponenten mit Schicht 2 Funktionalität | 23 |
| 3.2.2.1 | POC – Protocol Operation Control | 24 |
| 3.2.2.2 | Synchronisationsteil | 27 |
| 3.2.2.3 | FSP – Frame and Symbol Processing | 27 |
| 3.2.2.4 | MAC – Media Access Control | 31 |
| 3.2.3 | Komponenten mit Schicht 1 Funktionalität | 34 |
| 3.2.3.1 | CoDec – Code and Decode | 35 |
| 4. | Synchronisation und Cluster - Startup | 37 |
| 4.1 | Rahmenformat von FlexRay | 37 |
| 4.2 | Synchronisation | 40 |
| 4.2.1 | MTG – Macrotick Generation Process | 46 |
| 4.2.2 | CSP – Clock Synchronization Process | 47 |
| 4.2.3 | CSS – Clock Synchronization Startup Process | 50 |
| 4.3 | Startup | 51 |
| 4.3.1 | Startup Prepare | 56 |
| 4.3.2 | Integration Listen | 56 |
| 4.3.3 | Coldstart Listen | 57 |
| 4.3.4 | Coldstart Collision Resolution | 57 |
| 4.3.5 | Coldstart Consistency Check | 58 |
| 4.3.6 | Coldstart GAP | 58 |
| 4.3.7 | Initialize Schedule | 59 |
| 4.3.8 | Integration Coldstart Check | 59 |
| 4.3.9 | Coldstart Join | 59 |
| 4.3.10 | Integration Consistency Check | 60 |
| 4.3.11 | Abort Startup | 60 |
| 5. | Abstraktes Modell eines FlexRay - Node | 61 |
| 5.1 | Was kann das Modell | 61 |
| 5.2 | Modellbeschränkungen und Abweichungen zur Realität | 62 |
| 5.3 | Modellverwendung | 66 |
| 6. | Erkenntnisse aus dem Modell | 77 |
| 6.1 | Midpoint in NIT und gOffsetCorrectionStart | 78 |
| 6.2 | CRC Frameberechnung | 81 |
| 6.3 | Taktabweichung | 83 |
| 6.4 | Offset- und Anstiegskorrektur | 86 |
| 6.5 | Verwendung von 2 oder mehr als 15 Synchronisationsnodes | 87 |
| 6.6 | Zusammenfassung | 88 |
| 7. | Zusammenfassung | 89 |
| 7.1 | Das Buskonzept | 89 |
| 7.2 | Echtzeitverhalten | 91 |
| 7.2.1 | Zyklenaufbau | 91 |
| 7.2.2 | Alarmsteuerung | 92 |
| 7.2.3 | Fehlerüberwachung | 93 |
| 8. | Ausblick und Einschätzung | 95 |
| Anhang A – Grundlagen | 97 | |
| A.1 | MLD Grundlagen | 97 |
| A.2 | SDL Grundlagen | 99 |
| Anhang B – Modellstruktur | 101 | |
| B.1 | Struktur der Modellierung | 101 |
| B.1.1 | CHI | 117 |
| B.1.2 | POC | 118 |
| B.1.3 | FSP | 121 |
| B.1.4 | MAC | 124 |
| B.1.5 | CoDec | 126 |
| Anhang C – Datenstrukturen des Modells | 129 | |
| Quellenverzeichnis | 133 |
Textprobe:
Kapitel 3.1, Komponentenüberblick und ISO/OSI Referenzmodell: Ein Bus besteht gewöhnlich aus einzelnen Knoten, die über eine bestimmte Leitung verbunden sind. Bei FlexRay kann diese Leitung entweder elektrisch oder optisch realisiert werden. Die an den Bus angeschlossenen Komponenten benötigen daher ein entsprechendes Interface, welches entweder für eine optische oder für eine elektrische Leitung konzipiert wurde.
Viel wichtiger und viel komplexer als die eigentliche Hardwareschnittstelle ist die Protokollschnittstelle, die hinter einem Buskommunikationsstandard steht.
Diese Protokollfunktionen sind in den einzelnen Knoten, im folgenden auch als Nodes bezeichnet, realisiert. Dabei kann die Realisierung direkt als Hardware erfolgen oder als eine Software im Speicher eines Busknotens. Wie das Protokoll realisiert wird, bleibt hierbei jedoch den einzelnen Komponentenherstellern überlassen. Wichtig ist, dass die Funktionalität des FlexRay – Protokolls entsprechend der FlexRay – Spezifikation implementiert wird. Wenn die Realisierung dem Standard entspricht, sollten bei der Verwendung der Buskomponenten nur noch wenige Probleme auftreten.
Die Entwicklung und Realisierung eines Protokolls geschieht nach einem festen Standardschema, welches von der ISO (International Organisation for Standardization) seit 1979 entwickelt und standardisiert wurde. Es handelt sich dabei um das OSI – Referenzmodell (Open Systems Interconnection Reference Model).
Dieses Modell schreibt eine 7 Schichten Architektur vor, bei der übereinander angeordnete Schichten jeweils nur mit Ihren direkten Nachbarn kommunizieren sollen und bestimmte Dienste für Ihre Nachbarn erbringen können. Bei der Realisierung eines Protokolls für Busse der Feldebene ist es außerdem nicht erforderlich, dass alle der 7 Schichten im Protokollstack implementiert sind.
Grundsätzlich werden die Schichten 1 und 2 für die Kommunikation benötigt, alle anderen Schichten dienen vorrangig dem Routing, der protokollgestützten Fehler und Reihenfolgeerkennung sowie der Vorbereitung der Daten von und für spezifische Anwendungen. FlexRay als Feldbus der gehobenen Leistungsebene basiert auf den erforderlichen Schichten 1 und 2, und unterstützt zusätzlich die FlexRay verwendenden Anwendungen durch eine angedeutete Schicht 7 – Funktionalität. Die Schichten 3, 4 ,5 und 6 sind nicht vorhanden.
Aus Sicht des führenden Coldstart Nodes gestaltet sich der Startup Vorgang relativ einfach. Der Node überprüft ob der Bus frei ist und er prüft, dass auf dem Bus für eine definierte Zeit keine Kommunikation stattfindet. Dafür muss das ColdstartInhibit Flag im Node auf false gesetzt sein. Andernfalls darf ein Startup noch nicht erfolgen. Ist der Bus frei und das ColdstartInhibit Flag steht auf false, dann sendet er bei freiem Bus das zuvor beschriebene CAS Symbol. Siehe dazu Abschnitt 4.3.3. Dieses Symbol garantiert dem führenden CN, dass der Bus für die nächsten vier Zyklen exklusiv für ihn reserviert ist. Direkt nach dem versenden des CAS Symbols beginnt bei dem führenden CN der nullte Zyklus. In diesem Zyklus beginnt der Node mit dem Senden des Startupframes. Wie zuvor erklärt, ist jedes Startupframe auch gleichzeitig ein Synchronisationsframe (siehe Abschnitt 4.3.4). Nach dem dritten Zyklus wird dann der Bus abgehört und geschaut ob andere Nodes sich in diesen Zyklus eingegliedert haben. Dabei werden jedoch bis zum Zyklus fünf weiterhin Startupframes gesendet. Falls andere Frames von mindestens zwei weiteren Nodes erkannt wurden (Abschnitt 4.3.5), dann verlässt der führende CN als erstes den Startup und wechselt in den normalen Übertragungszustand. Werden keine Frames von mindestens zwei weiteren CN empfangen, dann wechselt der führende CN in den Zustand POC!Coldstart_GAP, siehe Abschnitt 4.3.6. Sobald Startupframes empfangen wurden, wechselt der Node in den normalen Betriebszustand. Dieser nennt sich bei FlexRay POC!Normal_active. Der Startup für den Node ist damit abgeschlossen und die Buskommunikation kann beginnen. [...]
beginnen. Für einen erfolgreichen Startup gibt es drei verschiedene Möglichkeiten. So kann der Node als führender Coldstart Node, auch als leading CN bezeichnet, als folgender Coldstart Node, auch following CN genannt, oder als integrierender Node, auch integrating Node genannt, arbeiten. Die Möglichkeiten werden durch die Grundkonfiguration des Nodes festgelegt. Die beiden ersten Möglichkeiten sind nur Nodes vorbehalten, die die Erlaubnis haben, aktiv Synchronisationsframes und Startupframes zu senden. Der führende Coldstart Node ist der Node, der den Startup beginnen möchte. Damit der Startup Vorgang geordnet ausgeführt werden kann, werden die einzelnen Komponenten durch die POC überwacht und gesteuert. Die dafür verantwortlichen Makros werden am Ende dieses Abschnitts mit Ihren Aufgaben erklärt. [...]
Die Startup Prozedur besitzt außer dem CSS keinen eigenständigen Prozess. Dieser ist auch nicht nötig, da der Startup hauptsächlich aus einer geordneten Abfolge von Synchronisationsabläufen besteht, die innerhalb bestimmter Toleranzen ausgeführt werden dürfen. Das heißt, die Startup Prozedur verwendet die Komponenten, die zuvor bei der Synchronisation schon genannt wurden. Das waren der MTG Prozess, der CSP Prozess sowie der CSS Prozess. Dabei arbeiten der MTG und der CSP Prozess genauso wie sie auch während der normalen Kommunikation arbeiten. Lediglich das CSS, das bei der normalen Kommunikation nicht verwendet wird, spielt beim Startup eine zusätzliche Rolle. Das CSS überwacht die Ankunft von Startupframes und überprüft, ob die Frames innerhalb der festgelegten Toleranzen eintreffen. Demnach entscheidet das CSS dann, ob ein Startup Versuch abgebrochen werden soll oder ob der Startup erfolgreich durchgeführt werden konnte. Das CSS arbeitet wie im vorherigen Abschnitt beschrieben. Sobald der Startup – Vorgang abgeschlossen ist, wird das CSS beendet und der normale Kommunikationszyklus beginnt. [...]
In den Warenkorb
74,00 €
Link zur Arbeit:
http://www.diplom.de/ean/9783832499679
Arbeit zitieren:
Zessack, Jirko Oktober 2006: Modellierung von speziellen Komponenten des FlexRay-Protokolls, Hamburg: Diplomica Verlag
Schlagworte:
FlexRay, Protokoll, Startup, MLDesigner, Fahrzeugvernetzung



