„Einsatz eines zuverlässigen Transportdienstes zur Simulation des

Werbung
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
Herunterladen