K (→Beispiele für einige Medien) |
Vogon (Diskussion | Beiträge) K (→Beispiele für einige Medien) |
||
(6 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | + | == RNcom Schicht 0 - Übersicht == | |
− | + | ||
+ | [[Bild:layer0.gif]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Allgemeines === | === Allgemeines === | ||
Zeile 22: | Zeile 16: | ||
dem Medium direkt unterstützt oder ''kann'' (muß aber nicht) durch das | dem Medium direkt unterstützt oder ''kann'' (muß aber nicht) durch das | ||
Kommunikationsprotokoll gewährleistet werden. | Kommunikationsprotokoll gewährleistet werden. | ||
− | + | <br/> | |
− | * Sicherung: | + | * Sicherung:<br/> 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. |
− | + | <br/> | |
− | + | * Integrität:<br/> Es ist sichergestellt, das genau die Daten ankommen, die abgesendet wurden.<br/> Integrität wird häufig zusammen mit gesicherten Verbindungen verwendet um falsche Daten neu zu senden. | |
− | * Integrität: | + | <br/> |
− | + | * Bidirektional / Unidirektional:<br/> 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. | |
− | + | ||
− | + | ||
− | * Bidirektional / Unidirektional: | + | |
− | + | ||
<br/> | <br/> | ||
Die Schnittstelle der Verbindung kann sowohl Synchron als auch Asynchron | Die Schnittstelle der Verbindung kann sowohl Synchron als auch Asynchron | ||
Zeile 47: | Zeile 37: | ||
** Übertragung von Datenpaketen z.B. durch <Länge><Daten> | ** Übertragung von Datenpaketen z.B. durch <Länge><Daten> | ||
** Sicherung und Integrität durch Transportmedium (TCP-IP) garantiert | ** Sicherung und Integrität durch Transportmedium (TCP-IP) garantiert | ||
− | ** Aufbau der Verbindung z.B. durch Konfiguration (baue RNcom Verbindung | + | ** Aufbau der Verbindung z.B. durch Konfiguration <br/>(baue RNcom Verbindung zu 192.168.0.10 auf, bzw. lausche auf RNcom Verbindungen auf port 9000) |
− | + | ||
<br/> | <br/> | ||
* LAN mit UDP Pakets: | * LAN mit UDP Pakets: | ||
Zeile 57: | Zeile 46: | ||
<br/> | <br/> | ||
* i2c | * i2c | ||
− | ** Übertragung von Datenpaketen | + | ** Übertragung von Datenpaketen begrenzt durch Start/Stopbedingung. |
** In Single-Master Systemen Rückübertragung mit Interrupt durch Lesen beim Slave. | ** In Single-Master Systemen Rückübertragung mit Interrupt durch Lesen beim Slave. | ||
** Sicherung: Durch i2c-Protokoll garantiert | ** Sicherung: Durch i2c-Protokoll garantiert | ||
** Integrität z.B. durch Checksumme am Ende der Übertragung | ** Integrität z.B. durch Checksumme am Ende der Übertragung | ||
** Aufbau der Verbindungen z.B. durch Konfiguration (RNcom device auf i2c-Adresse 0x20) | ** Aufbau der Verbindungen z.B. durch Konfiguration (RNcom device auf i2c-Adresse 0x20) | ||
+ | <br/> | ||
=== Allgemeiner Nachrichtenaufbau: === | === Allgemeiner Nachrichtenaufbau: === | ||
+ | <br/> | ||
Allgemeines Format der Nachrichten zur oberen Schicht 1 hin | Allgemeines Format der Nachrichten zur oberen Schicht 1 hin | ||
Zeile 73: | Zeile 64: | ||
{|{{Blaueschmaltabelle}} | {|{{Blaueschmaltabelle}} | ||
− | |||
| Byte 1 | | Byte 1 | ||
| rowspan=4 | Datenpaket | | rowspan=4 | Datenpaket | ||
Zeile 89: | Zeile 79: | ||
==Siehe auch== | ==Siehe auch== | ||
− | + | * RNcom Schicht 0 | |
+ | ** [[RNcom Schicht 0 UART Spezifikation]] | ||
+ | ** [[RNcom Schicht 0 TCP-IP Stream Spezifikation]] | ||
+ | ** [[RNcom Schicht 0 IP-Multicast Spezifikation]] | ||
+ | |||
+ | * [[RNcom Schicht 1]] | ||
+ | ** [[RNcom Schicht 1 Einfaches Dynamisches Routing]] | ||
+ | |||
+ | * [[RNcom Schicht 2]] | ||
+ | |||
+ | und auch: | ||
+ | *[[Network Controller/PC]] | ||
+ | *[[Network Controller/PC Schichten]] | ||
+ | *[[Network Controller/PC Spezifikationen]] | ||
+ | |||
==Autor== | ==Autor== | ||
− | [[Benutzer:Ragnar|Ragnar]] | + | * [[Benutzer:Ragnar|Ragnar]] |
+ | |||
+ | |||
+ | [[Kategorie:Projekte]] | ||
+ | [[Kategorie:Software]] |
Aktuelle Version vom 12. März 2006, 18:30 Uhr
Inhaltsverzeichnis
RNcom Schicht 0 - Übersicht
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
- RNcom Schicht 0
und auch: