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