Universität Karlsruhe (TH) Fakultät für Informatik Diplomarbeit „Einsatz eines zuverlässigen Transportdienstes zur Simulation des zeitgesteuerten Echtzeitprotokolls TTP/C“ Nawfel Chaieb Betreuer : Betreuende Mitarbeiter : Prof. Dr. Walter F. Tichy Dipl.-Inform. Marc Schanne 1 Universität Karlsruhe (TH) Fakultät für Informatik Inhalt 2 • Motivation • • • • • Ereignisgesteuerte /zeitgesteuerte Architektur Das zeitgesteuerte Protokoll TTP/C Architektur des Simulators Beispiel Anwendung: Brake-by-Wire Fehlerinjektion 2 Universität Karlsruhe (TH) Fakultät für Informatik Motivation • Die dauerhaft zunehmende Kompliziertheit von Fahrzeugenelektronik und von schnell wachsenden Menge der Sensoren/Aktoren und der elektronischen Steuereinheiten. • Deterministische Protokolle mit fehlertolerantem Verhalten werden benötigt • hohe Datenrate für kritische Systeme Das TTP/C Protokoll genügt die neuen Anforderungen • Ein TTP/C Controller kostet zwischen 50 und 200 Euro, d.h. ein TTP-Netz (Hardware und Software) bis zu mehrere tausend Euro Simulator mit einer Testumgebung und Beispiel-Anwendung 3 3 Universität Karlsruhe (TH) Fakultät für Informatik Kommunikationssysteme LIN-Bus: • Einsatz in kostensensitiven Bereichen • Lokale Ankopplung von Sensoren und Aktoren • Datenrate von 20kbit/s CAN-Bus: • Einsatz seit den 90er Jahren im Fahrwerks- und Antriebsbereich • Datenrate von max. 500kbit/s in Fahrzeugen FlexRay / TTP Klasse C: • Gefordert von einem Konsortium mehrerer Automobilhersteller • Höhere Übertragungsraten • Echtzeitfähig und fehlertolerant • Unterstützung verteilter Steuer- und Regelungssysteme • Flexibilität (Erweiterungen, Bandbreitennutzung, ...) 4 4 Universität Karlsruhe (TH) Fakultät für Informatik Ereignisgesteuert (ET) vs. zeitgesteuert (TT) Ein Echtzeitsystem ist ereignisgesteuert, wenn diese Steuersignale nur vom Auftreten von Ereignissen abgeleitet werden, wie : • Auftreten einer externen Unterbrechung (Interrupt) • Beendigung eines Tasks • Empfang einer Nachricht Ein Echtzeitsystem ist zeitgesteuert, wenn die Steuersignale, welche : • die Beobachtung eines echtzeitfähigen Teilsystems • das Senden und Empfangen von Nachrichten • die Startzeit eines Tasks festlegen, vom Fortschreiten einer globalen Zeit ableiten. 5 5 Universität Karlsruhe (TH) Fakultät für Informatik Vergleich Event-Triggered Architektur Time-Triggered Architektur - Nachrichten kommunizieren Ereignisse - Nachrichten kommunizieren Zustände -Verhalten unvorhersehbar und von den Ereignisse abhängig - Verhalten von der Zeit abhängig und vorhersehbar - Grosse Jitter - Minimales Jitter. - Gut für unregelmäßige Datentransfer - eignet sich für regulären Datenfluss - Membership-Dienst schwierig - Membership-Dienst einfach - Zufälliger Buszugriff - Deterministisches Verhalten - Vorhersagbare Netzlast 6 6 Universität Karlsruhe (TH) Fakultät für Informatik Die zeitgesteuerte Architektur (TTA) Die zeitgesteuerte Architektur wurde für verteilte harte Echtzeitsysteme entwickelt. TTA reduziert die Komplexität, die in ereignisgesteuerten Systemen durch die steigende Zahl an miteinander kommunizierenden Funktionen entsteht. Vorteile der neuen Bus-Technologien: • Flexible Gestaltungsmöglichkeiten • Gewichtsersparnis • Platz sparend • Erhöhung der aktiven und passiven Sicherheit • Neue Innenraumkonzepte möglich 7 7 Universität Karlsruhe (TH) Fakultät für Informatik Das zeitgesteuerte Protokoll TTP/C Node SC Node Node Node Node Node SC Node Node Star Netzwerktopologie Bus Netzwerktopologie - Medien-Zugriffs-Strategie beruht auf einem statischen TDMA-Schema - für alle Knoten eine einheitliche Zeit und ein Zeitmodell. 8 8 Universität Karlsruhe (TH) Fakultät für Informatik TTP/C Knoten Architektur Aktor/Sensor 9 Aktor/Sensor Aktor/Sensor 9 Universität Karlsruhe (TH) Fakultät für Informatik Die Kommunikationsnetzschnittstelle (CNI) befindet sich zwischen dem autonomen Controller und der Host-CPU in einem DPRAM. Aktor/Sensor Aktor/Sensor Aktor/Sensor ist eine Datenschnittstelle und versteckt das Kommunikations-Subsystem hinter der Speicherabstraktion Das CNI besteht aus 3 Komponenten: • Status Bereich: Globale Zeit, Mitgliedschaft, Protokoll Zustand • Steuerungsbereich: Controller ein/ausschalten Steuerung des Zeitinterrupts • Datenbereich: Aktuelle Version der input/output Nachrichten 10 10 Universität Karlsruhe (TH) Fakultät für Informatik Message Descriptor List (MeDL) - wird in einem ROM gespeichert Aktor/Sensor Aktor/Sensor Aktor/Sensor - die genaue Zuordnung der Zeitscheiben an die einzelnen Knoten - die notwendigen Kontrollinformationen z.B. Identifikation des Knotens, Dauer der TDMA-Runden Modus… für zu sendende Nachrichten ist der Sendezeitpunkt und die Adresse in der CNI enthalten, wo die Daten abgeholt werden müssen. für zu empfangende Nachrichten ist der Empfangszeitpunkt und die Adresse in der CNI enthalten, wo die Daten abgelegt werden müssen. 11 11 Universität Karlsruhe (TH) Fakultät für Informatik TTA Schichtenarchitektur Application Software in Host FT-COM CNI TTP CNI Redundancy Management Permanence of Messages Comunication Services Safety Services Higher level Services TTP/C Frame Layout Bus Endianess Bit Synchronization Bit Encoding / Decoding Schichten implementiert im Host-Applikation Host Schicht FT-COM Schicht Protokolldienste Schicht Sicherungsschicht Physikalische Schicht Stellen Sie die Mittel zur Verfügung, Rahmen zwischen den Knoten auszutauschen Schichten des TTP/C Protokolls 12 12 Universität Karlsruhe (TH) Fakultät für Informatik TTA Schichtenarchitektur Application Software in Host FT-COM CNI TTP CNI Redundancy Management Permanence of Messages Comunication Services Safety Services Higher level Services TTP/C Frame Layout Bus Endianess Bit Synchronization Bit Encoding / Decoding Host Schicht FT-COM Schicht Protokolldienste Schicht Sicherungsschicht Physikalische Schicht Die Protokollservice Schicht liefert den Protokollbetrieb einschließlich aller Services von TTP/C Rahmen Erkennung und Austausch zwischen den Knoten Schichten implementiert im Host-Applikation Schichten des TTP/C Protokolls 13 13 Universität Karlsruhe (TH) Fakultät für Informatik TTA Schichtenarchitektur Application Software in Host FT-COM CNI TTP CNI Redundancy Management Permanence of Messages Comunication Services Safety Services Higher level Services TTP/C Frame Layout Bus Endianess Bit Synchronization Bit Encoding / Decoding Host Schicht FT-COM Schicht Protokolldienste Schicht Sicherungsschicht Physikalische Schicht die Ausführung der knotenlokalen Applikation, also der Funktionen dieses Knotens. Gruppierung von zwei oder mehr Knoten in Fail Tolerant Units (FTUs) Rahmen Erkennung und Austausch zwischen den Knoten Schichten implementiert im Host-Applikation Schichten des TTP/C Protokolls 14 14 Universität Karlsruhe (TH) Fakultät für Informatik Dienste von TTP/C TTP/C unterstützt alle Dienste, die für den Entwurf von sicherheitskritischen, fehlertoleranten Klasse-C Systemen gebraucht werden: • Moduswechsel • Redundanzverwaltung Host CNI • garantierte Echtzeitantwort für alle Nachrichten • integrierte Fehlererkennung • Mitgliedschaftsdienst (Membership) • Uhrensynchronisation • Blackoutanzeige und -verwaltung 15 TTP/C Controller 15 Universität Karlsruhe (TH) Fakultät für Informatik TTP/C: Phasen der Übertragung Zeitfenster für Node i PRP idle PSP TP Zeitfenster für Node i+1 PRP idle PSP TP PRP idle PSP AT Action Time IFG Inter Frame Gap PSP (Pre Send Phase) – TP (Transmission Phase) – PRP (Post Receive Phase) 16 16 Universität Karlsruhe (TH) Fakultät für Informatik Beispiel mit 4 Kommunikationspartnern Zeitfenster Knoten A B C D A B C D A B C D Bus 1 t Bus 2 1 TDMA Runde 1 TDMA Runde PSP (Pre Send Phase) – TP (Transmission Phase) – PRP (Post Receive Phase) 17 17 Universität Karlsruhe (TH) Fakultät für Informatik Architektur des Simulators PC 1 Node Node Node PC 2 PC 3 PC 4 Node Ethernet 18 18 Universität Karlsruhe (TH) Fakultät für Informatik PC 1 Architektur des Simulators PC 2 PC 3 PC 4 Ethernet Bussimulation Bus 1 Bus 2 Bussimulation Bussimulation Bussimulation Manager Ethernet 19 19 Universität Karlsruhe (TH) Fakultät für Informatik Manager Protokoll der Bus-Simulation Knoten 1 anmeldung takt Maximale Wartezeit lokales Bussignal Knoten 2 Anmeldung: - Jeder Knoten muss sich beim Manager anmelden bevor er in die Kommunikation teilnehmen kann 1.Phase: - Takt-Daten senden - Auf Antwort der Knoten warten Resultierendes Signal berechen Endgültiges Bussignal Maximale Wartezeit 20 2.Phase: - Bussignal berechnen - Der Manager sendet das Bussignal zu den Knoten. 20 Universität Karlsruhe (TH) Fakultät für Informatik Bussimulation - Wired-And Mechanismus: der dominante Zustand (logisch 0) überschreibt den rezessiven Zustand (logisch 1). - Ein Knoten im System sendet eine logische 0, eine logische 1, oder kein Signal (tristate) auf dem Bus. - Broadcast-Bus : * es liefert eine Nachricht an alle Knoten, die intakt sind, * alle Knoten erhalten alle Nachrichten in derselben Reihenfolge (keine Überholung). anderer Knoten sendender Knoten 21 0 1 Tristate 0 0 0 0 1 0 1 1 Tristate 0 1 Tristate Entscheidungstabelle des Managers 21 Universität Karlsruhe (TH) Fakultät für Informatik Simulator Architektur Host Host Host Host CNI CNI CNI CNI TTP/C Controller TTP/C Controller TTP/C Controller TTP/C Controller Sicherungsschicht Sicherungsschicht Sicherungsschicht Sicherungsschicht Physikalische Schicht Physikalische Schicht Physikalische Schicht Physikalische Schicht Bussimulation Bussimulation Bussimulation Bussimulation Manager Ethernet 22 22 Universität Karlsruhe (TH) Fakultät für Informatik X-by-wire X-by-wire Systeme sind z.B. „Drive-by-wire“, „Brake-by-wire“, „fly-by-wire“… Mögliche Assistenzsysteme (X-by-Wire System): • Spurhalte-/Spurwechselsysteme • Notbremsassistent • Automatisches Einparken • Abstandshalter („Autonomous Cruise Control“ ACC) • Zukunft : Autopilot? Brake-by-wire mit 6.Komponenten 23 23 Universität Karlsruhe (TH) Fakultät für Informatik Beispiel Applikation :Brake-by-wire System N Brake 4 I Brake 3 I I Brake 1 N N PM Slot N N Brake 2 BBWM I N N 1 N 2 3 4 5 6 7 8 9 10 11 12 TDMA Round 24 N: N-Rahmen : zum Senden der Daten, nur implizite Informationen über den Systemzustand I: I-Rahmen : wird zur Initialisierung und Synchronisation von Controllern verwendet. Explizite Informationen über die globale Zeit und aktuelle Busteilnehmer 24 Universität Karlsruhe (TH) Fakultät für Informatik Fehlerinjektion Host CNI FI TTP/C Controller Data Link Layer Physical Layer • 3. Komponente in der Simulatorarchitektur • Fehlerinjektion auf alle Schichten möglich • Systemzustand und Protokollablauf beeinflussen • Testen der Fehlertoleranz im System • Vergleichen der Simulatorreaktion auf eines auftretenden Fehlers mit der TTP/C-Spezifikation 25 25 Universität Karlsruhe (TH) Fakultät für Informatik Fehlerinjektion FI Host Host Host Host CNI CNI CNI CNI TTP/C Controller FI TTP/C Controller FI TTP/C Controller FI TTP/C Controller Sicherungsschicht Sicherungsschicht Sicherungsschicht Sicherungsschicht Physikalische Schicht Physikalische Schicht Physikalische Schicht Physikalische Schicht Bussimulation Bussimulation Bussimulation Bussimulation Manager Ethernet 26 26 Universität Karlsruhe (TH) Fakultät für Informatik Fehlerinjektion & Tests Mögliche Probleme in einer TTP-Netz, die durch das Protokoll gelöst werden: •Babbling Idiot Fehlerhaftes Node •Zeit /Synchronisationsprobleme BusGuardian •Bayzantine Fehlern Daten auf dem Bus Sendefenster •Umkippen von einzelnen Bits 27 27 Universität Karlsruhe (TH) Fakultät für Informatik Testen des Simulators •System Start up Dauer der Startphase und ausgetauschte Daten •Neuer Knoten im System Test der Integrationsabläufe, System erkennt den neuen Knoten •Unbekannter Busteilnehmer Daten werden verworfen, Fail-Silent-Prinzip •Fehlerhafte Daten auf dem Bus Fehlererkennung und Fehlertoleranz •Synchronisation Abweichungen der lokalen Uhren ausgleichen 28 28 Universität Karlsruhe (TH) Fakultät für Informatik Danke für Ihre Aufmerksamkeit! Fragen ? 29 Universität Karlsruhe (TH) Fakultät für Informatik Transportprotokolle Transportprotokolle sorgen für die zuverlässige Datenübertragung zwischen zwei Computern. Die verbreitesten Protokolle sind: • APPC - Advanced Programm-to-Programm Communication : ein Peer-to-Peer Protokoll in IBM SNA, hauptsächlich eingesetzt bei AS/400 • TCP - Transmission Control Protocol : das TCP/IP Programm für die gesicherte Übertragung sequentieller Daten • SPX - Sequential Packet Exchange : Teil von Novells IPX/SPXProtokollsammlung für sequentielle Daten • NWLink - Die Microsoft-Implementierung des IPX/SPX Protokolls • NetBEUI - Network Basic Input/Output System Extended User Interface : Stellt zwischen Computern eine Kommunikationssitzung her (NetBIOS) und bietet Transportdienste für die Daten (NetBEUI) • ATP - AppleTalk Transaction Protocol, NBP - Name Binding Protocol : Ein Kommunikationssteuerungs- & Datenübermittlungsprotokoll von Apple. 30 Universität Karlsruhe (TH) Fakultät für Informatik Zuverlässige Transport Protokolle ISO/OSI: TP0 bis TP4 (TP4 ~ TCP) ATM (B-ISDN) Derzeit befindet sich eine Reihe von Transportprotokollen in der Entwicklung: • MTP (Multicast Transport Protocol), • PGM (Pragmatic General Multicast) und • RMP (Reliable Multicast Protocol). 31 Universität Karlsruhe (TH) Fakultät für Informatik Brake-by-wire Interrupt Line Brake-by-wire Applikation CNI TTP/C Controller Sicherungsschicht Physikalische Schicht 32 Das CNI ist eine reine Datenschnittstelle, über die keine Steuersignale gesendet werden: sie wirkt wie eine „temporäre Firewall“. Der Hostprozessor hat keine Möglichkeit, das zeitliche Verhalten des Kommunikationssystems zu beeinflussen. Übertragung der Daten: 1. Vom Host zum TTP/C Controller - Der Host kennt die aktuelle globale Zeit und weiß daher wann der Controller einen Lesezugriff auf dem CNI durchführt. - Der Host muss es vermeiden, in das CNI zu schreiben, wenn der Controller einen Lesevorgang durchführt. 2. Vom Controller zum Host - Wird durch das MeDL geregelt. - Der Non-Blocking-Write (NBW) Algorithmus koordiniert die konkurrierenden Zugriffe 32 Universität Karlsruhe (TH) Fakultät für Informatik N3 N2 N5 N1 N4 N1 sendet fehlerhafte Daten. N3 N2 N5 N1 N3 N5 N4 Alle Nodes erkennen den Fehler. N1 wird aus der Mitgliedschaftsliste gelöscht. N2 ist der 1.Successor von N1 N2 N1 N4 N3 ist der 2. Successor von N1. Acknowledgment abgeschlossen. N1 erkennt seinen MembershipVerlust. 1. ein Datentransfer ist konsistent (Rahmen wird von allen Knoten entweder als Korrekt oder als fehlerhaft). 2. ein Node sendet keine Daten außerhalb seiner Schlitze (Slot). 3. ein Node sendet nie einen korrekten Frame außerhalb ihres Slot. 4. ein Node versteckt nie seine Identität, wenn es einen Rahmen sendet. 33 33 Danke für Ihre Aufmerksamkeit! Fehlerha ftes Node BusGuardia n Daten auf dem Bus Sendefe nster 34 Zeitschlitze Knoten A B C D A B C D A B C D Bus 1 t Bus 2 1 TDMA Runde 1 TDMA Runde 1 Cluster Cycle 35 Leistung TTP/C • 25 MBit/sec Übertragungsrate (1 GBit/sec im Labor) • Dateneffizienz: 95,8% bei 10 MBit/sec 78% bei 100 MBit/sec gute Skalierbarkeit • Datenübertragungsrate durch das Protokoll nicht beschränkt FlexRay • Voraussichtliche ¨Ubertragungsrate für Controller der 1. Generation: 10 MBit/sec • Dateneffizienz: 45,7% bei 10 MBit/sec 14,5% bei 100 MBit/sec TTP/C ist in Geschwindigkeit, Dateneffizienz und Skalierbarkeit überlegen 36 Flexibilität TTP/C • vorausberechnete message descriptor list • maximal ein slot pro Knoten • variabel in der Länge einer Nachricht FlexRay • jeder Knoten lernt die MEDL mit der Zeit ( Identifikation) • umdisponieren der slots möglich • statische slot grösse (im 1. Abschnitt der Runde) • mehrere slots pro Knoten möglich FlexRay ist flexibler 37 Zusammenfassung • gestiegene Anforderungen im Bereich: – Sicherheit – Leistung • herkömmliche Bussysteme sind nicht mehr ausreichend • Zeitgesteuerte Protokolle bieten Vorteile gegenüber ereignisgesteuerten Protokollen • TTP/C kann durch Sicherheit und Leistung überzeugen und wird z.B. im neuen Airbus A380 eingesetzt. 38