Aus RN-Wissen.de
Version vom 12. März 2006, 19:30 Uhr von Vogon (Diskussion | Beiträge) (Beispiele für einige Medien)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche
Laderegler Test Tueftler Seite

RNcom Schicht 0 - Übersicht

Layer0.gif


Allgemeines

Schicht 0 verbindet mehrere Hardware-devices (Prozessoren) miteinander. Über die Verbindungen müssen Datenpakete mit vor unterschiedlichen Längen übertragen werden. Es kann eine maximale Länge der Daten festgelegt werden. Über die Daten können sonst keine Annahmen gemacht werden. Insbesondere können die Daten die Werte 0..255 annehmen.

Aufgrund verschiedener Medien und Implementierungen können die Verbindungen verschiedene Eigenschaften haben. Jede dieser Eigenschaften kann entweder von dem Medium direkt unterstützt oder kann (muß aber nicht) durch das Kommunikationsprotokoll gewährleistet werden.

  • Sicherung:
    Der Absender erfährt, ob der Empfänger die Daten empfangen hat oder nicht und kann die Daten wenn nötig mehrfach senden bzw. den Abbruch der Übertragung nach melden. Die zur sicheren Übertragung nötigen Befehle wie Acks, Nacks, usw sowie eventuell nötige Sequenznummern müssen innerhalb der Schicht bleiben und dürfen nicht nach außen sichtbar sein.


  • Integrität:
    Es ist sichergestellt, das genau die Daten ankommen, die abgesendet wurden.
    Integrität wird häufig zusammen mit gesicherten Verbindungen verwendet um falsche Daten neu zu senden.


  • Bidirektional / Unidirektional:
    Unidirektionale Verbindungen brauchen spezielle Synchronisation zur Übertragung. Obwohl es möglich ist, diese Synchronisation an den Nutzer weiterzugeben, sollten Unidirektionale Verbindungen immer durch interne Synchronisation zu virtuellen Bidirektionalen Verbindungen erweitert werden.


Die Schnittstelle der Verbindung kann sowohl Synchron als auch Asynchron ausgeführt sein. Auch die Unterstützung mehrerer Threads ist möglich.


Beispiele für einige Medien


  • UART:
    • Übertragung von Datenpakete z.B. durch Frameing
    • Sicherung z.B. durch Acks/Nacks, jedes Paket muss direkt acknowledged werden, vorher wird von dem Sender kein weiteres Paket gesendet.
    • Integrität z.B. durch Checksummen am Ende des Pakets


  • LAN mit TCP-IP streams:
    • Übertragung von Datenpaketen z.B. durch <Länge><Daten>
    • Sicherung und Integrität durch Transportmedium (TCP-IP) garantiert
    • Aufbau der Verbindung z.B. durch Konfiguration
      (baue RNcom Verbindung zu 192.168.0.10 auf, bzw. lausche auf RNcom Verbindungen auf port 9000)


  • LAN mit UDP Pakets:
    • Übertragung von Datenpaketen z.B. durch UDP-Pakete
    • Sicherung z.B. durch Ack bzw. Nack des Empfängers
    • Integrität durch UDP-Checksumme gesichert
    • Aufbau der Verbindung z.B. durch Autodiscovery innerhalb des lokalen Netzes oder Broadcast Gruppe.


  • i2c
    • Übertragung von Datenpaketen begrenzt durch Start/Stopbedingung.
    • In Single-Master Systemen Rückübertragung mit Interrupt durch Lesen beim Slave.
    • Sicherung: Durch i2c-Protokoll garantiert
    • Integrität z.B. durch Checksumme am Ende der Übertragung
    • Aufbau der Verbindungen z.B. durch Konfiguration (RNcom device auf i2c-Adresse 0x20)


Allgemeiner Nachrichtenaufbau:


Allgemeines Format der Nachrichten zur oberen Schicht 1 hin

Length Länge des Datenpaketes
Byte 1 Datenpaket
Byte 2
...
Byte n

Über die Daten dürfen innerhalb der Schicht 0 keine weiteren Annahmen getroffen werden. Lediglich die Länge der Daten ist bekannt.

Siehe auch

und auch:


Autor


LiFePO4 Speicher Test