Einführung in Kommunikations - Lehrstuhl für Informatik 12

Werbung
Kommunikationsmechanismen
T. Streichert ([email protected])
Hardware-Software-Co-Design
Friedrich-Alexander-Universität Erlangen-Nürnberg
1
Gliederung
Einleitung
Protokolle
Kommunikationsmedium
Netztopologie
Synchronisation
Beispiele
Friedrich-Alexander-Universität Erlangen-Nürnberg
2
Einleitung
Mindstorms:
Infrarot Sender
und Empfänger
Schnittstellen
für Aktoren
LCD-Display
Schnittstellen
für Sensoren
Ziel:
Lautsprecher
Ein Mindstorm spielt eine einstimmige Midi-Musik-Datei ab.
Gruppe von Mindstorms soll synchron eine mehrstimmige
Melodie spielen
Aber wie synchronisieren sich die Mindstorms?
Friedrich-Alexander-Universität Erlangen-Nürnberg
3
Synchronisationssituationen
Power-On:
Mindstorms werden eingeschaltet
Jeder Mindstorm kennt zunächst nur sich selbst
Mindstorms müssen versuchen einen gemeinsamen
Startpunkt zu finden
Während des Betriebs (Runtime):
Mindstorm hat einen Quarz, der unpräzise arbeitet
Æ die gemeinsame Zeitbasis geht verloren
Wodurch wird Kommunikation
und Synchronisation geregelt?
Friedrich-Alexander-Universität Erlangen-Nürnberg
4
Protokolle
Was definieren Protokolle?
Physikalische Medium:
Art des Kommunikationsmediums
Geschwindigkeitsanforderungen
Art des Tansmission Code (Non-Return-To-Zero/Manchester/Modified Freq. Modulation)
Netztopologie: Stern, (Chordaler) Ring, Mesh, Hypercube,…
Kommunikationssystem: Master-Slave, Multi-Master
Synchronisation: Gemeinsame Zeitbasis von Knoten
Bestandteile einer Nachricht
Friedrich-Alexander-Universität Erlangen-Nürnberg
5
Physikalisches Medium
Transmision-Codes:
Non-Return-To-Zero:
0 1 1
0
•
•
Hoher Pegel für eine 1
Niedriger Pegel für eine 0
•
•
Steigende Flanke für eine 1
Fallende Flanke für eine 0
•
•
•
Pegelwechsel bei „d“ für eine 1
Kein Pegelwechsel bei „d“ für eine 0
Pegelwechsel bei „c“ bei konsekutiver 0
1 0 0
Manchester:
0
1
1
0
1 0 0
Modified Freq. Modulation:
d c d c d c d c d c d c d c
0 1 1
0
c: Clock d: Data
Friedrich-Alexander-Universität Erlangen-Nürnberg
1 0 0
6
Physikalische Kommunikationsmedien
Kabel/Lichtwellenleiter:
+
+
-
Kommunikationsströme können durch Kommunikationsmedium
gelenkt werden.
Topologie entscheidet, wer welche Signale empfängt
Hohe Geschwindigkeit
Hohe Ausfallsicherheit
Hoher Aufwand für den Aufbau der Infrastruktur
Funk/Infrarot:
+
-
Kommunikationsströme sind ungerichtet und können jeden
Empfänger erreichen.
Frequenz des Signals entscheidet, ob es empfangen werden
kann oder nicht
Hohe Flexibilität der Infrastruktur
Anfällig gegen Störungen
Friedrich-Alexander-Universität Erlangen-Nürnberg
7
Netztopologie (Stern)
Stern mit „Shared Bus“
…
Bsp.:
CAN-Bus im Automotive-Bereich
Funknetzwerke
Vorteil: wenige Kabel und Interfaces
Nachteil: Es muss entschieden werden, wer das Medium zu
welchem Zeitpunkt verwenden darf.
Friedrich-Alexander-Universität Erlangen-Nürnberg
8
Netztopologien mit P2P-Verbindungen
Bei Punkt-zu-Punkt-Verbindung (P2P) findet
Kommunikation über ein Medium nur zwischen zwei
Knoten statt, z.B.:
Ring
Mesh 3x3
Vorteil:
Rechenknoten weiß immer von wem ein Paket kommt.
Nur zwei Knoten müssen unter sich ausmachen, wer das
Kommunikationsmedium verwenden darf.
Nachteile:
Viele Interfaces und Kabel
Wegberechnung (Routing) für Datenpakete muss eingeführt werden.
Friedrich-Alexander-Universität Erlangen-Nürnberg
9
Was haben wir?
Kommunikationsmedium: Infrarot
Topologie: Stern (Jeder kann mit jedem kommunizieren)
Friedrich-Alexander-Universität Erlangen-Nürnberg
10
Kommunikationssysteme I
Master-Slave:
Es gibt einen Master, der die Kommunikation auf dem Bus
verwaltet, z.B.:
Master
ja ok
?
S S … S
Master
?
S S … S
Vorteil: sehr einfaches Kommunikationsprotokoll
Nachteil: Verschwendung von Bandbreite durch
Kommunikation mit Master
Friedrich-Alexander-Universität Erlangen-Nürnberg
11
Kommunikationssysteme II
Multi-Master:
Zeitgesteuerte Arbitrierung (Time-Triggered):
1
2
Zyklus n
3
Zyklus n+1
Knoten 1 Knoten 2 Knoten 3 Knoten 1 Knoten 2 Knoten 3
Zeit
Vorteil: Bietet große Sicherheit gegen Fehler. Gut bei
Sicherheitskritischen Anwendungen.
Nachteil:
Verschwendung von Bandbreite, wenn Knoten nichts senden will.
Synchronisation von Knoten ist erforderlich
Friedrich-Alexander-Universität Erlangen-Nürnberg
12
Kommunikationssysteme III
Multi-Master:
Ereignisgesteuerte Arbitrierung (Event-Triggered):
1
2
3
Zwei Knoten erhalten ein Ereignis und möchten Daten
senden.
Æ Problem: nur ein Knoten kann das Medium haben.
Knoten haben Prioritäten: Knoten mit höchster Priorität darf
Kommunikationsmedium haben.
Wie stellt aber ein Knoten fest, dass ein anderer Knoten mit
höherer Priorität senden möchte?
Friedrich-Alexander-Universität Erlangen-Nürnberg
13
Beispiel CAN-Bus
Szenario: Zwei Senderknoten mit unterschiedlicher
Priorität möchten gleichzeitig senden.
Bei CAN gibt es Bits mit Priorität: 0 hat Priorität vor 1
Æ ein Sender schreibt 0 auf Bus; anderer Sender schreibt 1
auf den Bus Î Bus hat logischen Pegel 0 (0 * 1 = 0)
Senderknoten sendet und liest gleichzeitig:
Abbruch des Sendevorgangs, wenn sich gelesenes Bit von
gesendetem Bit unterscheidet.
Beispiel:
Sender 1:
Sender 2:
Bus:
Friedrich-Alexander-Universität Erlangen-Nürnberg
Sender 2 hört auf zu senden
14
Synchronisation I
Knoten müssen sich bei zeitgesteuerten Protokollen
synchronisieren.
Zyklus n
Knoten Knoten
1
2
Zyklus n+1
Knoten
1
2
Knoten 3Knoten
Knoten 3
Zeit
Problem: Bei unterschiedlicher Zeitbasis kommt es z.B. zu
Konflikten auf dem Kommunikationsmedium.
Friedrich-Alexander-Universität Erlangen-Nürnberg
15
Zeitbasis
Lokale
Zeit
t(i)
Uhr1
Uhr2
Uhr3
Gemeinsame Zeitbasis durch
Addition eines Offsets
Referenz Zeit i
tmittel(i)=(tUhr1(i)+ tUhr2(i)+ tUhr3(i))/3
∆tx(i) = tmittel(i)-tUhrx(i)
t(i+1)Uhrx = tUhrx(i) + ∆tx(i)
Friedrich-Alexander-Universität Erlangen-Nürnberg
16
Synchonisation II
Uhrendrift:
Quarze/Schwingkreise sind ungenau (10-2 bis 10-7 sec./sec.)
Temperatur und Alterung verändern physikalisches Verhalten
Folge falscher Uhrensynchronisation:
Golfkrieg 25.02.1991:
Patriot-Abwehrrakete hatte über einen Zeitraum von 100 Stunden einen
Uhrendrift, der zu einer Zielabweichung von 678m führte.
Eigentliche Einsatzdauer beträgt 14 Stunden.
Æ Patriot-Rakete verfehlte Scud-Rakete
Æ 29 Tote und 97 Verletzte in einer Militärbasis in Dhahran
Friedrich-Alexander-Universität Erlangen-Nürnberg
17
Uhrendrift
Lokale
Zeit
t(i)
Uhr1
Uhr2
Uhr3
Ausgleich des Uhrendrifts durch
Multiplikation mit einem Korrekturfaktor
Referenz Zeit
i
Korrekturfaktor kUhrx:
kUhrx(i) = [tmittel(i) - tmittel(i-1)] / [tUhrx(i) - tUhrx(i-1)]
t(i+1)Uhrx = tUhrx(i) * kUhrx(i)
Friedrich-Alexander-Universität Erlangen-Nürnberg
18
Synchronisation III
Zwei Möglichkeiten für das Erzielen einer gemeinsamen
Zeitbasis:
Interne Synchronisation
Wird verwendet, wenn es keine verlässliche externe Quelle gibt
Rechenknoten müssen selber einen Offset und einen Korrekturfaktor ermitteln
Offset und Korrekturfaktor muss ständig aktualisiert werden.
Externe Synchronisation
Zeitbasis wird von einem externen System vorgegeben.
Bsp.: GPS-Empfänger erhält Zeitbasis mit dem GPS-Signal.
Friedrich-Alexander-Universität Erlangen-Nürnberg
19
Bestandteile einer Nachricht
Eine Nachricht besteht aus mehr als nur Daten:
Header
Länge des
Datenfeldes
Datenfeld
Kontrollfeld
Arbitrierungsdaten
Empfänger der
Nachricht
Kontrolldaten für Übertragungsfehler:
Parity-Bit/CRC-Checksum
Datenworte
Header:
Anzahl der übertragenen Bytes muss angegeben werden, wenn variabel.
Die Adresse gibt den Empfängerknoten an; enthält auch Routing-Informationen
Arbitrierungsdaten: Knoten überträgt seine Priorität (siehe CAN-Bus)
Datenfeld: hier stehen die zu eigentlichen Daten
Kontrollfeld:
Parity-Bit/CRC-Check-Sum zeigen an, ob eine Nachricht fehlerfrei übertragen
wurde
Friedrich-Alexander-Universität Erlangen-Nürnberg
20
Beispiele
CAN-Bus:
Multi-Master-System
Busarbitrierung durch Bits mit Priorität
Anwendung: Automobil
TTP/C (Time-Triggered-Protocol):
Multi-Master-System
Synchrone Datenübertragung; Jeder Knoten erhält einen
Zeitschlitz fester Länge zum Senden von Daten
Zyklus n
Zyklus n+1
Anwendung: Luft-/Raumfahrttechnik
FlexRay:
Knoten 1 Knoten 2 Knoten 3 Knoten 1 Knoten 2 Knoten 3
Zeit
Multi-Master-System
Synchrone und Asynchrone Datenübertragung
Zukünftige Anwendung: Automobil (Steer-by-Wire)
Zyklus n
Knoten 1 Knoten 2 Knoten 3
Zyklus n+1
X
Knoten 1 Knoten 2 Knoten 3
X
Zeit
Friedrich-Alexander-Universität Erlangen-Nürnberg
21
Was haben wir?
Kommunikationsmedium: Infrarot
Topologie: Stern (Jeder kann mit jedem kommunizieren)
Kommunikationssystem (Master-Slave/Multi-Master): ?
Multi-Master ist interessanter
Master-Slave ist in unserem Fall trivial
Synchronisation: ?
Bestandteile einer Nachricht: ?
Friedrich-Alexander-Universität Erlangen-Nürnberg
22
Literatur
Hermann Kopetz (TU Wien):
Real-Time Systems: Design
Priciples for Distributed
Embedded Applications
Verlag: Kluwer Academic
Publishers
Friedrich-Alexander-Universität Erlangen-Nürnberg
23
Präsentation
Zur nächsten Woche:
Detailliertes Kommunikationskonzept erarbeiten
Konzept in Präsentation vorstellen
Dauer ca. 15 min. + Diskussionszeit
Was wir zur Verfügung stellen:
Powerpoint
Staroffice
Laptop
Beamer
Tageslichtprojektor
Friedrich-Alexander-Universität Erlangen-Nürnberg
24
Herunterladen