Kommunikation Zsmfsg. - FSMB

Transcrição

Kommunikation Zsmfsg. - FSMB
Communication: RTS haben bestimmte Voraussetzungen für die Kommunikation: -­‐ Deterministische Latenzen -­‐ Geringen Jitter -­‐ Zugesicherte Bandbreite -­‐ Kurze Latenzen, effiziente Protokolle -­‐ Fehlertoleranz Kriterien zur Auswahl eines Protokolls: -­‐ Maximale Bandbreite -­‐ Maximale Größe (Länge der Verbindung, Anzahl der Knoten) -­‐ Kosten, Verfügbarkeit OSI beschreibt sieben Schichten für Kommunikationsprotokolle, in RTS sind jedoch typischerweise nur drei Schichten implementiert (Application-­‐Layer, Data-­‐Link-­‐
Layer, Physical-­‐Layer) Das Physical-­‐Layer beschreibt die physische Übertragung des Bit-­‐Stroms. Zwei wichtige Encodings sind: NRZ (Non-­‐Return-­‐To-­‐Zero) Je nach Bit liegt HIGH oder LOW an der Leitung an  Nachteil: Keine indizierbare Änderung bei längeren Serien gleicher Bits.  LÖSUNG: Sender und Empfänger müssen in sync sein  ODER: BIT-­‐STUFFING: nach einer definierten Länge gleicher Bits (Stuff-­‐Width) wird ein Bit eingefügt welches dem vorhergehenden Bit entgegengesetzt ist. (bspw. CAN (stuff-­‐width = 5)) Manchester 0: Übergang von LOW nach HIGH 1: Übergang von HIGH nach LOW Das Data-­‐Link-­‐Layer beschreibt Überprüfungs-­‐Kontrollen wie Flow-­‐Control, Media-­‐
access-­‐controll und die Fehlererkennung (Checksummen, Paritätsbits) -­‐ Media-­‐Access-­‐Control (MCA) dient der Auswahl eines Knotens zur Kommunikation o Deterministische MCA  Central-­‐Control: Master-­‐Slave communication Ein Master wählt periodisch einen Slave aus (bspw. SPI)  Distributed-­‐Control: • Token-­‐Based Ein Token wird von Knoten zu Knoten gereicht und berechtigt diesen zu Kommunikation • Time-­‐Based (bspw. TTA) Jeder Knoten erhält time-­‐slices (Zeitabschnitte) welche ihn zur Kommunikation berechtigen (Time Division Multiple Access – TDMA) o Random MCA 

Carrier Sense Multiple Access / Collision Detection (CSMA/CD) Nicht kollisionfrei Kollisionen erkannt und durch ein Jam-­‐Signal signalisiert Carrier Sense Multiple Access / Collision Avoidance (CSMA/CA) (bspw. CAN) Kollisionfrei Es wird eine Vermittlungsphase (arbitration-­‐phase) zu beginn der Kommunikation genutzt um Knoten höherer Priorität Vorrang zu gewähren Das Application-­‐Layer beschreibt anwendungsspezifische Services (FTP, SSH, VoIP...) Wichtige Netzwerktopologien sind Star, Bus und Ring. In RTS werden zumeist Bus-­‐
Topologien verwendet, da diese geringen Verdrahtungsaufwand haben und Knoten leicht hinzugefügt oder getrennt werden können. SPI (Serial Peripheral Interface) -­‐ Benutzt mindestens vier Leitungen (MOSI, MISO, SCLK, SS) -­‐ Ist ein Master-­‐Slave Bussystem -­‐ Vollduplex (MOSI (Master Out Slave In), MISO (Master In Slave Out)) -­‐ Typische Übertragungsfrequenzen 1 -­‐ 100 MHz TTA (Time-­‐Triggered Architecture) -­‐ TTP/A: zeitgesteuertes Bussystem für low-­‐cost Wandler und nicht-­‐
sicherheitsrelevante Systeme o Master/Slave-­‐ System o Kommunikation ist in Rounds und Slots aufgeteilt  Jede Round hat eine definierte Sequenz von Slots (durch Round Descriptor List RODL) -­‐ TTP/C: fehlertolerantes, zeitgesteuertes Protokoll für harte RTS (bspw. X-­‐by-­‐Wire) o Benutzt eine globale Zeitbasis um die Kommunikation zwischen den Knoten zu synchronisieren o Benutzt zwei Kanäle zur Redundanz und Fehlertoleranz o 25 MBit/s Bandbreite pro Kanal o Hohe Nettotransferrate (80 – 90% Effizienz) o Bus-­‐Guardians zur Kontrolle der Kommunikation eines Knotens mit dem Bus, daher robust gegen „babbling idiots“ o Bus-­‐ oder Stern-­‐Topologie o Message Descriptor List (MEDL) beinhaltet Zeitpunkte an denen Daten gesendet und empfangen werden können und die Adresse des Senders/Empfängers CAN (Controller Area Network) -­‐ Multi-­‐Master brodcast Serial bus -­‐ Bus-­‐Topologie -­‐ Nutzt CSMA/CA o Vermittlungsphase nutzt ID (Länge: 11 oder 29 Bit) zu Kollisionsvermeidung (CA) -­‐
-­‐
o Übertragene Bits sind dominant (0) oder rezessiv (1) o Der Knoten welcher als erstes ein rezessives Bit (1) in der ID hat ist niedrig priorisiert und stoppt die Übertragung (Dadurch ist Starvation möglich) Nachrichten-­‐basiert (jede Nachricht hat eine UID) Bitraten abhängig von der Buslänge o 40 m  1 MBit/s o 100 m  500 kBit/s o 500 m  125 kBit/s Nutzt NRZ-­‐L mit Bit-­‐Stuffing (stuff-­‐width=5) -­‐
Realtime-­‐Ethernet -­‐ Entwickelt mit dem Ziel bestehende Hardware in RTS zu benutzen (günstige Hardware, hohe Verfügbarkeit, Benutzung eventuell bestehender Infrastrukturen) -­‐ Ethernet (IEEE 802.3) benutzt CSMA/CD o Bei einer Kollision stoppt der Knoten, sendet das Jam-­‐Signal, wartet und versucht erneut zu senden -­‐ EtherCAT o Verwendbar für hard und soft RTS o Konform mit Ethernet-­‐Standard o Nachrichten werden vom Master gesendet und von Slaves weitergeleitet o Jeder Slave extrahiert die relevanten Daten oder fügt neue Daten ein o Eingehende Nachrichten werden „on-­‐the-­‐fly“ bearbeitet (reduziert Latenz) -­‐ Profinet o Verschiedene Protokolllevel mit verschiedenen Reaktionszeiten  TCP/IP: ~100 ms  Real-­‐Time Protocol: < 10 ms  Isochronous Rea-­‐Time (IRT): < 1 ms • benutzt definierte Zeitslots zur Übertragung von Echtzeitdaten, ansonsten wird standard Ethernet genutzt -­‐ Time-­‐Triggered Ethernet o Verwendet eine globale Zeitbasis zur zeitgesteuerten Kommunikation o Drei Transfertypen werden unterstützt:  Time-­‐Triggered (TT): Werden zu definierten Zeiten gesendet  Rate-­‐Constrained (RC): Garantierte Bandbreite, verwenden nicht die globale Zeitbases  Best-­‐Effort (BE): verwenden die übrige Bandbreite Flexray -­‐ 10 MBit/s Bandbreite -­‐ Zeit-­‐ und Eventgesteuerte Datenpakete -­‐ Fehlertolerant (redundante Kanäle, bspw. für X-­‐by-­‐wire) -­‐ Typische Topologie: Active Star (Bus oder hybride Topologien möglich) -­‐ Ein oder Zwei Kanäle (je nach Fehlertoleranz-­‐/Redundanzanforderung) -­‐ Kommunikation ist aufgeteilt: -­‐
o Statisch: Deterministisches CMA (TDMA) o Dynamisch: Nicht Deterministisches CMA (Flexible TDMA) Daten-­‐Frame besteht aus drei Teilen: Header, Payload & Trailer o Variable Payload von 0 bis 254 Byte o CRC (Cyclic Redundancy Check) über Frame-­‐ID und Payload-­‐
Length (Payload-­‐Length = Payload Data Bytes / 2) o Frame-­‐ID (11 Bit) von 1 – 2047, 0 ist ungültig