-
Stand der Technik
-
Die vorliegende Erfindung betrifft ein Verfahren zum Übertragen von Datenpaketen zwischen zwei Kommunikationsmodulen über ein Übertragungsmedium, das die beiden Kommunikationsmodule miteinander verbindet. Die vorliegende Erfindung betrifft außerdem ein Kommunikationsmodul zum Senden von Datenpaketen an ein anderes Kommunikationsmodul über ein Übertragungsmedium, das die beiden Kommunikationsmodule miteinander verbindet. Schließlich betrifft die vorliegende Erfindung auch ein Kommunikationsmodul zum Empfangen von Datenpaketen von einem anderen Kommunikationsmodul über ein Übertragungsmedium, das die beiden Kommunikationsmodule miteinander verbindet.
-
Aus dem Stand der Technik sind eine Vielzahl unterschiedlicher Arten paketorientierter Datenübertragungen bekannt. Ein Beispiel für eine solche Datenübertragung ist die Übertragung von Daten mittels einer Ethernet-Verbindung. Die vorliegende Erfindung ist aber nicht auf eine Ethernet-Kommunikationsverbindung beschränkt, sondern gilt sinngemäß auch für beliebig andere paketorientierte Kommunikationsverbindungen. Die Kommunikationsmodule einer paketorientierten Kommunikationsverbindung umfassen Sende-/Empfangseinrichtungen (sogenannte "Packet Transceiver") zum Senden und Empfangen von Datenpaketen. Eine Übertragungsstrecke umfasst eine Einrichtung zum Regeln des Zugriffs auf das Übertragungsmedium (sogenannter Media Access Controller, MAC). Das Übertragungsmedium kann beispielsweise als ein Kabel ausgebildet sein. Es ist jedoch denkbar, dass das Übertragungsmedium auch als ein Lichtleiter zur optischen Übertragung der Datenpakete oder als ein kabelloses Übertragungsmedium zur Übertragung der Datenpakete über Funk oder eine optische Verbindung (zum Beispiel Infrarot-Verbindung) ausgebildet ist. Das Übertragungsmedium wird von einer Einrichtung zur Realisierung einer Bitübertragungsschicht (sogenannte physikalische Schnittstelle, PHY-Layer) bedient. Der PHY hat auf der MAC-Seite eine spezifizierte Daten-Schnittstelle (zum Beispiel Media Independent Interface, MII; Gigabit Media Independent Interface, GMII; etc.) und auf der Seite zum Übertragungsmedium hin eine entsprechende Übertragungsschnittstelle. Auf der physikalischen Ebene des PHY kann unter anderem auch eine Fehlererkennung implementiert sein, bei der ein PHY dem MAC Fehler beim Empfang von Datenpaketen anzeigt. Bei Ethernet sind für den Minimalabstand zwischen zwei Datenpaketen (dem sogenannte Interframe Gap) bestimmte Werte spezifiziert.
-
Der MAC arbeitet bei Ethernet Pakete sequentiell ab. Dies führt dazu, dass Datenpakete, die von dem Packet Transceiver mit hoher Priorität gesendet werden, erst dann von dem MAC bearbeitet werden, wenn das Übertragungsmedium in Sende-Richtung frei ist. Nachfolgend wird ein solches Datenpaket mit gewünschter hoher Priorität beziehungsweise gewünschter niedriger Übertragungslatenz als "Fast Paket(FP)" bezeichnet.
-
Bei den aus dem Stand der Technik bekannten paketorientierten Kommunikationsverbindungen wird bei einem freien Übertragungsmedium das FP sofort übertragen und von dem empfangenden Kommunikationsmodul entsprechend ohne große Verzögerung empfangen. Wird jedoch gerade ein Datenpaket gesendet, so verzögert sich das Senden des FP solange, bis das Übertragungsmedium wieder frei ist. Die Dauer dieser Verzögerung ist im Wesentlichen abhängig von:
- – der Restgröße des gerade bearbeiteten (d.h. übertragenen) Datenpakets,
- – der Bitübertragungsrate über das Übertragungsmedium, und
- – der Länge (der Anzahl an Datenbits) des FP-Datenpakets.
-
Die Restgröße eines Datenpakets kann im Extremfall der maximal möglichen Datenpaket-Größe entsprechen. Je höher dieser Wert ist, umso länger kann das Absenden (und damit auch das Empfangen) eines FP verzögert werden. Zum Beispiel beträgt die maximale Verzögerungszeit bei Ethernet (maximale Paketlänge 1522 Bytes) ca. 124 µs unter Berücksichtigung des Inter Frame Gaps (bei einer Übertragungsrate von 100 MBit/sec) beziehungsweise 12,4 µs (bei 1000 MBit/sec). Solche relativ großen Latenzzeiten sind gerade für die Übertragung von hochprioren FPs, die häufig durch ein auftretendes Ereignis ausgelöst werden, inakzeptabel, da das Auftreten des Ereignisses dem empfangenden Kommunikationsmodul möglichst schnell mitgeteilt werden sollte.
-
Ein ebenfalls aus dem Stand der Technik bekanntes alternatives Verfahren zum Übertragen von hochprioren FPs kann darin bestehen, ein gerade gesendetes Datenpaket noch vor dessen vollständiger Übertragung abzubrechen und das FP unmittelbar zu übertragen. Dies führt allerdings zu zwei unerwünschten Effekten:
- – das Abbrechen des gerade gesendeten Datenpakets führt zu fehlerhaften Paketen in dem Kommunikationsnetzwerk. Die Qualität der eigentlichen Datenübertragung kann damit nicht mehr eindeutig beurteilt werden, da fehlerhafte Pakete auf Empfangsseite nicht ausschließlich auf Kommunikationsprobleme zurückgeführt werden können. Die Ursache für den Übertragungsfehler kann somit ohne zusätzliche Informationen nicht ermittelt werden.
- – Fehlerhafte Datenpakete müssen von dem "Packet Transceiver" von dem empfangenden Kommunikationsmodul empfangen werden und das gerade gesendete Datenpaket, dessen Übertragung abgebrochen wurde, muss von dem sendenden Kommunikationsmodul noch einmal übertragen werden. Hierdurch erhöht sich die Last der Packet Transceiver, die mehr Datenpakete bearbeiten müssen. Durch das erneute Übertragen des unterbrochenen Datenpakets reduziert sich die nutzbare Bandbreite der Kommunikationsverbindung mit der Wahrscheinlichkeit von Kollisionen. Die Anzahl der Kollisionen ist abhängig von der Häufigkeit von FPs und der Häufigkeit von Paketen mit normaler Priorität.
-
Offenbarung der Erfindung
-
Ausgehend von dem beschriebenen Stand der Technik liegt der vorliegenden Erfindung die Aufgabe zu Grunde, in einem Netzwerk zur paketorientierten Datenübertragung eine möglichst latenzfreie Übertragung von hochprioren Datenpaketen zu ermöglichen, ohne dass dies zu einem Anstieg von fehlerhaften Datenpaketen in dem Netzwerk und damit zu einer Reduktion der effektiven Datenübertragungsrate führt.
-
Zur Lösung dieser Aufgabe wird ausgehend von dem eingangs beschriebenen Verfahren zum Übertragen von Datenpaketen vorgeschlagen, dass ein sendendes Kommunikationsmodul im Falle einer laufenden Übertragung eines ersten Datenpakets ein kurzfristig zu sendendes zweites Datenpaket unmittelbar in das laufende erste Datenpaket einbettet, einen noch nicht übertragenen Rest des ersten Datenpakets zwischenspeichert und nach der Übertragung des zweiten Datenpakets den Rest des ersten Datenpakets überträgt und dass ein empfangendes Kommunikationsmodul einen Anfang eines empfangenen ersten Datenpakets zwischenspeichert, das zweite Datenpaket empfängt und zur Weiterverarbeitung weiterleitet und nach dem Empfang des zweiten Datenpakets den Rest des ersten Datenpakets empfängt, mit dem zwischengespeicherten Anfang des ersten Datenpakets verbindet und das vollständige erste Datenpaket zur Weiterverarbeitung weiterleitet.
-
Mit der vorliegenden Erfindung ist es möglich, eilige oder hochpriore Datenpakete (sogenannte Fast Packets, FPs) sofort in Echtzeit von einem Teilnehmer (sendendes Kommunikationsmodul) zu einem anderen Teilnehmer (empfangendes Kommunikationsmodul) in einem paketorientierten Netzwerk zu übertragen bei gleichzeitig minimaler Laufzeitstreuung (sog. Jitter) der FPs. Die Laufzeitstreuung ist dabei unabhängig von dem "normalen" Datenpakettransport gemäß der jeweiligen Protokollspezifikation, nach der in dem Netzwerk Datenpakete übertragen werden.
-
Nimmt man beispielsweise Ethernet als Übertragungssystem, dann ergeben sich für die Übertragung eines FP mit 2 Byte Nutzdaten folgende Übertragungszeiten:
- – Ethernet-Bitrate 100 MBit/sec: ungefähr 0,8 µs,
- – Ethernet-Bitrate 1000 MBit/sec: ungefähr 0,4 µs.
-
Die Laufzeitstreuung als ein Qualitätsmaß für die Echtzeit ist unabhängig von der Übertragungszeit und beträgt beispielsweise:
- – Ethernet-Bitrate 100 MBit/sec: ca. 0,12 µs (im Vergleich dazu beim Stand der Technik: 123,4 µs),
- – Ethernet-Bitrate 1000 MBit/sec: ca. 0,024 µs (Stand der Technik: 12,4 µs).
-
Die Angaben gelten für ein erstmaliges Übertragen eines "Fast Packets". Für die Übertragung nachfolgender "Fast Packets" mit derselben Charakteristik wird vorzugsweise folgende Vereinbarung getroffen: Das Auftreten zweier "Fast Packets" weist einen zeitlichen Abstand auf, der mindestens der Übertragungszeit eines "Fast Packets" entspricht, da sonst die Übertragungszeit des zweiten "Fast Packets" durch die gerade stattfindende Übertragung des ersten "Fast Packets" verlängert wird. Für Fast-Packets mit zum Beispiel 2 Byte Nutzdaten ergibt sich hierdurch ein minimaler Abstand zweier "Fast Packets" von ungefähr 0,8 µs (bei Ethernet 100 MBit/sec) beziehungsweise von ungefähr 0,4 µs (bei Ethernet 1000 MBit/sec). Eine solche Vereinbarung stellt in den allermeisten Fällen jedoch keine Einschränkung dar und kann für viele Anwendungen so getroffen werden. Zur Realisierung dieser Vereinbarung wird mit der Übertragung eines weiteren FP einfach so lange gewartet, bis die Übertragung des vorangegangen FP abgeschlossen ist.
-
Hieraus ergibt sich andererseits auch, dass die FPs möglichst klein sein sollten, um den möglichen zeitlichen Abstand zweier solcher FPs so klein wie möglich zu halten, für den Fall, dass eine möglichst hohe FP-Paketfrequenz erzielt werden soll.
-
Auf Grund der Zwischenspeicherung der durch die Übertragung des "Fast Packets" unterbrochenen ersten Datenpakete wird erreicht, dass die Übertragung normaler Datenpakete nicht gestört wird. Der Transport dieser Datenpakete muss nicht abgebrochen werden. Diese Datenpakete müssen nach der Übertragung des FP auch nicht erneut vollständig übertragen werden. Damit kann die volle Bandbreite des Übertragungsmediums für das Übertragen von „normalen“ Paketen und FPs genutzt werden.
-
Als "normale Pakete" sind hier alle Datenpakete gemeint, die nicht hochpriore, unmittelbar zu übertragende "Fast Packets" sind.
-
Das erfindungsgemäße Verfahren erlaubt zum Beispiel aber nicht ausschließlich folgende Anwendungen über Ethernet, wobei auftretende Ereignisse (sogenannte Events) als FPs übertragen werden:
- – Erfassung von Events in einem Kommunikationsmodul, Übertragung dieser Events in Form von FPs an einen oder mehrere Empfänger. Die Empfänger sitzen in einem oder mehreren anderen Modulen. In dem beziehungsweise den Empfänger(n) wird dadurch eine Aktivität ausgelöst (zum Beispiel Messdatenerfassung). In mehreren angeschlossenen Empfängern kann die Aktivität gleichzeitig ausgelöst werden (im Rahmen der angegebenen Laufzeitstreuung). Mit der vorliegenden Erfindung kann das Auftreten eines Events von einem sendenden Kommunikationsmodul an ein empfangendes Kommunikationsmodul in Echtzeit übertragen werden, ohne dass dafür zusätzliche, separate Leitungen vorhanden sein müssen. Vielmehr wird zur Mitteilung des Auftretens des Events das sowieso vorhandene Übertragungsmedium, beispielsweise in Form der Ethernet-Verbindung, genutzt.
- – Übertragung von Anforderungen, zu denen der Sender (sendendes Kommunikationsmodul) eine schnelle Antwort erwartet. Die Antwort wird mit demselben Verfahren vom Empfänger (dem empfangenden Kommunikationsmodul) zum Sender übertragen.
- – Periodische Übertragung von Events, wobei aus der Event-Periodizität eine Rate abgeleitet werden kann, was letztendlich einer Frequenzübertragung entspricht. Dies kann beispielsweise dazu genutzt werden, eine Uhr im Empfänger (dem empfangenden Kommunikationsmodul) mit der Uhr des Senders (dem sendenden Kommunikationsmodul) zu synchronisieren in der Form, dass die Uhr des Empfängers mit dem empfangenen Ratentakt (beziehungsweise einer davon abgeleiteten Größe) weitergezählt wird und die Daten der Events genutzt werden, um zum Beispiel Zeitinformationen zu übertragen.
-
Vorteilhafte Ausführungsformen der vorliegenden Erfindung sind in den Unteransprüchen beansprucht.
-
Weitere Merkmale und Vorteile der vorliegenden Erfindung werden nachfolgend anhand der Figuren näher erläutert. Die vorliegende Erfindung ist jedoch nicht auf die in den Figuren gezeigten Ausführungsbeispiele beschränkt. Vielmehr erstreckt sich die vorliegende Erfindung im Rahmen der Ansprüche auch auf solche Ausführungsbeispiele, die nur einige der Merkmale und Vorteile der in den Figuren gezeigten Ausführungsbeispiele aufweisen und/oder die Merkmale und Vorteile der verschiedenen Ausführungsbeispiele in Kombination umfassen. Es zeigen:
-
1 ein Blockschaltbild einer bidirektionalen paketorientierten Kommunikationsverbindung zur Realisierung des erfindungsgemäßen Verfahrens;
-
2 eine Einrichtung zur Realisierung des erfindungsgemäßen Verfahrens als Bestandteil eines sendenden Kommunikationsmoduls und/oder eines empfangenden Kommunikationsmoduls der Kommunikationsverbindung aus 1;
-
3 ein Beispiel für die Abläufe zum Senden eines "Fast Packets" über die Kommunikationsverbindung aus 1 gemäß einer bevorzugten Ausführungsform;
-
4 ein Beispiel für die Abläufe zum Senden eines "Fast Packets" über die Kommunikationsverbindung aus 1 gemäß einer weiteren bevorzugten Ausführungsform;
-
5 ein Beispiel für die Abläufe zum Empfangen von "Fast Packets" in der Kommunikationsverbindung gemäß 1 gemäß einer bevorzugten Ausführungsform;
-
6 ein praktisches Anwendungsbeispiel der vorliegenden Erfindung;
-
7 ein Blockschaltbild einer aus dem Stand der Technik bekannten bidirektionalen paketorientierten Kommunikationsverbindung;
-
8 die Abläufe auf der bekannten Kommunikationsverbindung gemäß 7 zum Übertragen von Datenpaketen;
-
9 ein Beispiel für ein zeitliches Verhalten der Übertragung eines "Fast Packets" über die aus dem Stand der Technik bekannte Kommunikationsverbindung gemäß 7; und
-
10 ein Beispiel für ein aus dem Stand der Technik bekanntes Ethernet-Datenblockformat Ethernet II nach IEEE 802.3.
-
Die vorliegende Erfindung wird nachfolgend unter Bezugnahme auf eine Ethernet-Kommunikationsverbindung näher erläutert. Die vorliegende Erfindung ist jedoch nicht Ethernet-beschränkt. Vielmehr kann die vorliegende Erfindung für jegliche Art von paketorientierten Kommunikationsverbindungen verwendet werden, insbesondere ist die Verwendung der Erfindung im Rahmen von GPRS-, UMTS-, IP-, ATM-Netzen oder anderen paketvermittelten Netzwerken angedacht.
-
Eine typische aus dem Stand der Technik bekannte Ethernet-Verbindung ist in 7 dargestellt. Diese Abbildung und die nachfolgenden Abbildungen und Beschreibungen gelten sinngemäß auch für andere paketorientierte Kommunikationsverbindungen. Die Kommunikationsverbindung umfasst ein sendendes Kommunikationsmodul 1 sowie ein empfangendes Kommunikationsmodul 2, die über ein Übertragungsmedium 3 miteinander in Verbindung stehen. Die Kommunikationsmodule 1, 2 sind hier nur zum Zwecke der Erläuterung als sendend und empfangend bezeichnet. Selbstverständlich kann auch das Kommunikationsmodul 2 Datenpakete senden und das Kommunikationsmodul 1 Datenpakete empfangen. In dem dargestellten Ausführungsbeispiel ist das Übertragungsmedium 3 als ein Kabel ausgebildet. Selbstverständlich kann das Übertragungsmedium 3 auch als eine optische Verbindung oder als eine kabellose Verbindung (zum Beispiel Funk- oder IR-Verbindung) ausgebildet sein.
-
Die Kommunikationsmodule 1, 2 verfügen jeweils über eine Sende-Empfangs-Einrichtung 4 (einen sogenannten Packet Transceiver) zum Senden und/oder Empfangen von Datenpaketen. Die Übertragungsstrecke umfasst eine Einrichtung 5 zum Regeln des Zugriffs auf das Übertragungsmedium 3 (einen sogenannten Media Access Controller, MAC). Das Übertragungsmedium 3 wird von einer Einrichtung 6 zur Realisierung einer Bitübertragungsschicht (einer sogenannten physikalischen Schnittstelle, PHY) bedient. Eine Paketschnittstelle zum Empfangen beziehungsweise Senden von Datenpaketen ist zwischen dem Packet Transceiver 4 und dem MAC 5 durch eine gestrichelte Linie 7 symbolisiert. Der PHY 6 hat auf der MAC-Seite eine spezifizierte Datenschnittstelle 8, die zum Beispiel als eine MII, GMII oder ähnliches ausgebildet ist. Auf der Seite des Übertragungsmediums 3 weist der PHY 6 eine entsprechende Übertragungsschnittstelle 9 auf. Auf der physikalischen Ebene des PHY 6 kann unter anderem auch eine Fehlererkennung implementiert sein, mit der der PHY 6 dem MAC 5 Fehler beim Empfang von Datenpaketen anzeigen kann.
-
Bei Ethernet sind für den Minimalabstand zwischen zwei Datenpaketen 10, 11, 12 (vgl. 8), den sogenannten Inter Frame Gap(IFG), definierte vorgegebene Werte spezifiziert. In 8 ist der IFG beziehungsweise der Minimalabstand zwischen zwei aufeinander folgenden Datenpaketen 10, 11, 12 mit dem Bezugszeichen 13 bezeichnet.
-
Der MAC 5 arbeitet Datenpakete sequentiell ab. Dies führt dazu, dass Datenpakete, die vom Packet Transceiver 4 gesendet werden, erst dann vom MAC 5 bearbeitet werden, wenn das Übertragungsmedium 3 in Senderichtung frei ist. Speziell gilt das auch für Datenpakete, die eine hohe Sende-Priorität aufweisen. In 9 ist ein solches Datenpaket mit gewünschter hoher Priorität beziehungsweise gewünschter niedriger Übertragungslatenz als Fast Packet(FP) 14 bezeichnet. Bei einem freien Übertragungsmedium 3 wird das FP 14 sofort übertragen und von der Gegenstelle (empfangendes Kommunikationsmodul 2) entsprechend zeitnah empfangen.
-
Wird jedoch gerade ein Datenpaket, bspw. das Paket 11, gesendet, wodurch das Übertragungsmedium 3 belegt ist, so verzögert sich das Senden des FP 14 so lange, bis das Übertragungsmedium 3 wieder frei ist (vgl. 9, oben). Dort ist der Zeitpunkt, zu dem das FP 14 zum Senden bereitsteht, mit tFP und die Verzögerung aufgrund des belegten Übertragungsmediums 3 mit Td bezeichnet. Die Verzögerung Td ist im Wesentlichen abhängig von:
- – der Restgröße des gerade bearbeiteten Datenpakets 11,
- – der Bitübertragungsrate über das Übertragungsmedium 3 und
- – der Länge (Anzahl der Datenbits) des FP 14.
-
Die Restgröße des Datenpakets 11 kann im Extremfall der maximal möglichen Paket-Größe entsprechen. Je größer dieser Wert ist, umso länger kann das Absenden (und damit auch das Empfangen) eines FP 14 verzögert werden. Zum Beispiel beträgt die maximale Verzögerung bei herkömmlichem Ethernet (maximale Größe der Datenpakete 1522 Bytes) ca. 123,4 µs (bei 100 MBit/sec) beziehungsweise ca. 12,4 µs (bei 1000 MBit/sec).
-
Ein ebenfalls aus dem Stand der Technik bekanntes Alternativ-Verfahren zum Senden eines hochprioren FP 14 kann darin bestehen, ein gerade gesendetes „normales“ Datenpaket 11 unvollständig abzubrechen und das FP 14 (unter Einhaltung der Anforderung an den IFG 13, sofern das zur Anwendung kommende Übertragungsprotokoll ein IFG 13 fordert) direkt im Anschluss an das abgebrochene und nur unvollständig gesendete Datenpaket 11* zu übertragen (vgl. 9 unten). Auch in 9 unten ist der Zeitpunkt, zu dem ein FP 14 gebildet wird und somit für eine Datenübertragung zur Verfügung steht, mit tFP gekennzeichnet. Das in 9 unten dargestellte Alternativ-Verfahren hat allerdings zwei wesentliche Nachteile:
- – Das Abbrechen des Datenpakets 11* führt zu fehlerhaften Datenpaketen im Netzwerk. Die Qualität der eigentlichen Übertragung kann damit nicht mehr eindeutig festgestellt werden, da fehlerhafte Datenpakete auf Empfangsseite (bei dem empfangenden Kommunikationsmodul 2) nicht ausschließlich auf Kommunikationsprobleme zurückgeführt werden können.
- – Fehlerhafte Datenpakete 11* müssen vom Packet Transceiver 4 auf der Empfangsseite 2 empfangen werden und das Datenpaket 11 muss von der Sendeseite (dem sendenden Kommunikationsmodul 1) nochmals komplett übertragen werden. Hierdurch erhöht sich die Last der Packet Transceiver 4, die mehr Datenpakete 11*, 11 bearbeiten müssen. Durch das wiederholte Übertragen eines Datenpakets 11*, 11 reduziert sich die nutzbare Bandbreite der Kommunikationsverbindung mit der Wahrscheinlichkeit von Kollisionen. Die Anzahl der Kollisionen ist abhängig von der Häufigkeit des Auftretens von FPs 14 und der Häufigkeit von Datenpaketen 10, 11, 12 mit „normaler“ Priorität.
-
Die in 9 symbolisch gezeigte Übertragung von Datenpaketen erfolgt in 7 bei dem Sendemodul 1 bzw. bei dem Empfangsmodul 2 zwischen dem MAC 5 und dem PHY 6.
-
Ein Beispiel für ein „normales“ Datenpaket 10, 11, 12, das in der paketorientierten Kommunikationsverbindung zur Übertragung ansteht, wird in 10 anhand eines Ethernet-Pakets näher erläutert. In anderen Übertragungsprotokollen genutzte Datenpakete können sich davon unterscheiden. Ein Ethernet-Datenrahmen (sogenanntes Ethernet-Frame) ergibt zusammen mit einer vorangestellten Präambel (z.B. 7 Bytes) und einem sogenannten Start Frame Delimiter(SFD) (z.B. 1 Byte) das Ethernet-Paket. Ethernet-Pakete beginnen immer mit einer Präambel bestehend aus mehreren Bytes mit dem Wert 0x55 und einem SFD-Feld mit dem Wert 0xD5. Das Ethernet-Frame umfasst eine Ziel-MAC-Adresse (z.B.6 Bytes bzw. 48 Bit), welche das Kommunikationsmodul 2 identifiziert, welches das Datenpaket empfangen soll. Die Quell-MAC-Adresse (z.B. 6 Bytes bzw. 48 Bit) identifiziert das sendende Kommunikationsmodul 1. In einem sogenannten Tagged-MAC-Frame nach IEEE 802.1 q folgen zusätzlich 4 Bytes als VLAN(Virtual Local Area Network)-Tag. Ein nachfolgendes Typ-Feld (z.B. 2 Bytes) gibt Auskunft über das verwendete Protokoll der nächst höheren Schicht innerhalb der Nutzdaten. Daran schließen sich die Nutzdaten an, wobei pro Datenpaket maximal 1500 Bytes an Nutzdaten übertragen werden können. Die Nutzdaten werden von dem in dem Typ-Feld angegebenen Protokoll interpretiert. An die Nutzdaten schließt sich ein sogenanntes PAD-Füllfeld an, das verwendet wird, um den Ethernet-Frame erforderlichenfalls auf die Minimalgröße von 64 Bytes zu bringen. Dabei werden Präambel und SFD (8 Bytes) bei der Ermittlung der erforderlichen Mindestlänge des Frames nicht mitgezählt, wohl aber ein eventuell vorhandener VLAN-Tag. Ein PAD-Feld wird somit erforderlich, wenn als Nutzdaten weniger als 46 beziehungsweise 42 Bytes (ohne beziehungsweise mit 802.1 q-VLAN-Tag) zu übertragen sind. Am Ende des Ethernet-Pakets ist schließlich eine Frame Check Sequence(FCS) vorgesehen, die eine CRC-Prüfsumme enthält (z.B. 4 Bytes). Die CRC-Prüfsumme wird über den eigentlichen Frame berechnet, also beginnend mit der Ziel-MAC-Adresse und endend mit dem PAD-Füllfeld. Die Präambel, der SFD und die FCS selbst sind nicht in der CRC-Prüfsumme berücksichtigt. Grundsätzlich können für eine Datenübertragung in anderen Übertragungsprotokollen von dem beschriebenen Ethernet-Paket abweichend aufgebaute Datenpakete zur Anwendung kommen.
-
Im Unterschied zu der in 7 gezeigten, aus dem Stand der Technik bekannten paketorientierten Kommunikationsverbindung verfügen die Kommunikationsmodule 1, 2 der erfindungsgemäßen Kommunikationsverbindung aus 1 jeweils über einen zusätzlichen Funktionsblock "Fast Packet Injektor/ Receiver" 20, der zwischen dem MAC 5 und dem PHY 6 angeordnet ist. Dieser Funktionsblock 20 weist ein weiteres Interface zu einem mit MAC* bezeichneten Funktionsblock 21 auf, der beispielsweise eine zusätzliche Einrichtung zum Regeln des Zugriffs auf das Übertragungsmedium 3 darstellt. Der Funktionsblock 20 ist logisch als ein Teil der MAC-Schicht zu sehen, kann dieser jedoch andererseits auch nicht eindeutig zugeordnet werden. Der Funktionsblock 21 kann Bestandteil des MAC 5 oder getrennt von diesem ausgebildet sein. Ferner verfügen die erfindungsgemäßen Kommunikationsmodule 1, 2 jeweils über eine zusätzliche Sende-Empfangs-Einrichtung 4‘ (einen sogenannten Packet Transceiver) zum Senden und/oder Empfangen von Datenpaketen, die über die Paketschnittstelle 7 zum Empfangen beziehungsweise Senden von Datenpaketen mit dem zusätzlichen MAC* 21 in Verbindung steht. Die beiden Packet Transceiver 4, 4' eines jeden Kommunikationsmoduls 1, 2 können als eine Einheit oder getrennt voneinander ausgeführt werden. Für die nachfolgende Erläuterung und das bessere Verständnis ist hier jedoch ein komplett separater Pfad für den zusätzlichen MAC‘ 21 und den zusätzlichen Packet Transceiver 4‘ gezeigt.
-
Das erfindungsgemäße Verfahren setzt voraus, dass die beiden an einer Datenübertragung im Sinne der vorliegenden Erfindung beteiligten Kommunikationsmodule 1, 2 dieselben funktionalen Erweiterungen ("Fast Packet Injector/ Receiver" 20, "MAC*" 21 und „Packet Transceiver“ 4‘) aufweisen. Dadurch kann eine bidirektionale Verbindung zwischen den Kommunikationsmodulen 1, 2 realisiert werden. Selbstverständlich ist es aber auch denkbar, dass zum Beispiel bei einem unidirektionalen Betrieb lediglich ein "Fast Packet Injector" auf der Sendeseite 1 und ein "Fast Packet Receiver" auf der Empfangsseite 2 vorgesehen ist.
-
Der MAC 5 ist in Senderichtung unter anderem für eine Serialisierung der Daten für den PHY 6 zuständig. Diese wiederum erstellt in Senderichtung die zu übertragenden Datenpakete gemäß dem zur Datenübertragung verwendeten Kommunikationsprotokoll und erstellt – sofern gemäß verwendeter Protokollspezifikation vorgesehen – eine CRC-Prüfsumme für eine Fehlerkorrektur/ -erkennung.
-
Der MAC* 21 hat im Wesentlichen die gleiche Funktion wie der MAC 5. Ein wichtiger Unterschied besteht jedoch darin, dass der MAC* 21 nicht notwendigerweise Datenpakete gemäß der für die Datenübertragung verwendeten Protokollspezifikation, beispielsweise gemäß der Ethernet-Spezifikation, erzeugt. Vielmehr kann das von dem MAC* 21 erzeugte FP 14 auch in einem proprietären Format sein. Aus diesem Grund ist es auch erforderlich, dass das empfangende Kommunikationsmodul 2 denselben MAC* 21 beziehungsweise einen mit diesem kompatiblen MAC* 21 aufweist, da das empfangende Kommunikationsmodul 2 eingehende FPs 14 entsprechend verarbeiten könnte.
-
Aus diesem Grund ist es auch sinnvoll, dass ein sendendes Kommunikationsmodul 1 zunächst prüft, ob das empfangende Kommunikationsmodul 2 hardwaremäßig zur Ausführung des erfindungsgemäßen Verfahrens überhaupt in der Lage ist, bevor eine laufende Übertragung eines Datenpakets 11 zur sofortigen Übertragung eines hochprioren Datenpakets FP 14 unterbrochen wird. Das erfindungsgemäß vorgeschlagene Verfahren zur Übertragung hochpriorer Datenpakete FP 14 wird vorzugsweise nur dann ausgeführt, wenn die beteiligten Kommunikationsmodule 1, 2, insbesondere das empfangende Kommunikationsmodul 2, zur Ausführung des Verfahrens in der Lage sind. Falls das sendende Kommunikationsmodul 1 feststellt, dass das empfangende Kommunikationsmodul 2 zur Ausführung des Verfahrens nicht in der Lage ist (bspw. weil es einen nicht-kompatiblen MAC* 21 aufweist), kann es die Übertragung von hochprioren Datenpaketen FP 14 in der eingangs beschriebenen, aus dem Stand der Technik bekannten herkömmlichen Art und Weise veranlassen. Eine solche bekannte Datenübertragung hätte zwar die eingangs genannten Nachteile des Standes der Technik, zumindest wäre aber eine reguläre Datenübertragung zwischen den Kommunikationsmodulen 1, 2 möglich. Ein zur Realisierung des erfindungsgemäßen Verfahrens ausgebildetes sendendes Kommunikationsmoduls 1 könnte hochpriore Datenpakete FP 14 in der erfindungsgemäßen Art und Weise übertragen, wenn die zu übertragenden Daten für ein empfangendes Kommunikationsmodul 2 bestimmt sind, das zur Ausführung des Verfahrens in der Lage ist.
-
Diejenigen Funktionsblöcke aus 1, die nicht explizit erläutert werden und welche die gleichen Bezugszeichen wie die entsprechenden Funktionsblöcke in 7 aufweisen, sind identisch ausgebildet und weisen identische Funktionen auf. Auf die entsprechenden Erläuterungen bezüglich der 7 wird verwiesen.
-
Ein Funktionsblock "Fast Packet Injector/Receiver" 20 ist im Detail in 2 dargestellt. Die innere Struktur des Funktionsblockes 20 umfasst eine Steuerungseinheit 22 (Control-Logic), einen Daten-Multiplexer(Mux) 23 in Senderichtung und einen Daten-Demultiplexer(DeMux) 24 in Empfangsrichtung. An der Paketschnittstelle zum MAC 5 sind zwei Zwischenspeicher 25, 26 vorgesehen („Memory Transceiver MT“ bzw. „Memory Receiver MR“).
-
Prinzipiell kann der MAC 5 von der Steuereinheit 22 zur Reduzierung der MAC-Bandbreite im Sendepfad gesteuert werden (vgl. den gestrichelten Pfeil von der Steuereinheit 22 zu dem MAC 5 in 2). Dies kann beispielsweise dann nötig sein, wenn große Mengen an FPs 14 gesendet werden und der Datenpaketfluss vom MAC 5 in den Zwischenspeicher 25 unterbrochen werden soll. Dadurch kann ein zeitlicher Abstand zwischen zwei aufeinanderfolgenden FPs 14 eingehalten werden. Der Abstand kann beispielsweise mindestens der Übertragungszeit eines FP 14 entsprechen. Dadurch kann eine Verlängerung der Übertragungszeit eines zweiten FP 14 durch die gerade stattfindende Übertragung eines ersten FP 14 verhindert werden.
-
Die Einrichtung 6 zur Realisierung einer Bitübertragungsschicht (PHY) wird beim Senden von Paketen durch die Control Logic 22 so gesteuert, dass Datenpakete 10, 11, 12, Teilpakete 11* und Fast-Pakete FPs 14 vom Empfänger unterschieden werden können. Dazu kann vorzugsweise ein Signal TX_EN der MII/GMII-Schnittstelle genutzt werden, um den Beginn eines neuen Pakets 10, 11, 12, Teilpakets 11* oder FPs 14 anzuzeigen und somit Teilpakete für den Empfänger identifizierbar zu machen.
-
Der Funktionsblock 20 ist vorzugsweise in Hardware ausgeführt und beispielsweise in Form eines sogenannten Field Programmable Gate Array(FPGA) realisiert. Besonders bevorzugt sind zumindest die Steuereinheit 22, der Multiplexer 23 und der Demultiplexer 24 in Hardware, insbesondere als FPGA realisiert. Die in Hardware realisierten Teile des Funktionsblocks 20 können als integrierte Schaltung realisiert oder als programmierbare Hardware ausgeführt sein. Der Funktionsblock 20 lässt sich prinzipiell auch in Software realisieren.
-
Die Steuereinheit 22 hat insbesondere die folgenden Aufgaben:
- – ein zur Übertragung anstehendes Datenpaket FP 14 vom MAC* 21 sofort zu übertragen,
- – Steuerung der internen Elemente, nämlich insbesondere Multiplexer 23, Demultiplexer 24, Zwischenspeicher 25 und Zwischenspeicher 26 und
- – Steuerung des Paketflusses zu und von dem MAC 5 und zu und von dem MAC* 21.
-
Nachfolgend wird zunächst der Sendemechanismus der erfindungsgemäßen Kommunikationsverbindung im Detail erläutert. Dabei können prinzipiell zwei Fälle unterschieden werden:
- 1. Es findet (zum Zeitpunkt tFP der Fertigstellung eines FP 14 und dessen Bereitstellung zur Übertragung) keine anderweitige Datenpaket-Übertragung statt (vgl. 3). Dann kann das FP 14 sofort übertragen werden. Wird während der Übertragung des FP 14 ein normales Datenpaket vom MAC 5 platziert (beispielsweise das Datenpaket 11 in 3), wird dieses normale Datenpaket 11 zunächst in den Zwischenspeicher 25 eingetaktet. Der Zwischenspeicher 25 arbeitet vorzugsweise als FIFO(First In First Out)-Speicher. Sobald das hochpriore Datenpaket FP 14 fertig übertragen ist, sorgt die Steuereinheit 22 dafür, dass das normale Datenpaket 11 aus dem Zwischenspeicher 25 ausgelesen und die Daten an den PHY 6 zur Übertragung über das Übertragungsmedium 3 weitergegeben werden. Dabei ist es denkbar, dass zwischen dem FP 14 und dem Datenpaket 11 kein Inter Frame Gap(IFG) 13 vorgesehen wird.
In 3 sind neben den gezeigten Datenpaketen 10, 11, 12 und 14 verschiedene Zahlen im Kreis angegeben, die sich auf die entsprechenden Zahlen im Kreis aus 1 beziehen und veranschaulichen sollen, wo in der Kommunikationsverbindung beziehungsweise durch welche Funktionsblöcke die einzelnen Datenpakete zur Verfügung gestellt und übertragen werden.
- 2. In einem zweiten Fall soll ein FP 14 während einer momentan stattfindenden Übertragung eines normalen Datenpakets (zum Beispiel Datenpaket 11) übertragen werden (vgl. 4). In diesem Fall wird das FP 14 von der Steuereinheit 22 sofort in das laufende normale Datenpaket 11 eingebettet. Mit dem Bezugszeichen 11.1 ist derjenige Teil des Datenpakets 11 bezeichnet, der zu diesem Zeitpunkt bereits gesendet worden ist. Während des Einbettens des FP 14 wird der Rest des Datenpakets 11 (gekennzeichnet mit dem Bezugszeichen 11.2) in den Zwischenspeicher 25 eingetaktet. Nach dem erfolgten Einbetten und Übertragen des FP 14 wird der Rest 11.2 des Datenpakets 11 aus dem Speicher 25 entnommen und über den PHY 6 auf das Übertragungsmedium 3 gegeben.
Es ist denkbar, dass in dem Rest 11.2 des normalen Datenpakets 11 wiederum ein FP 14 eingebettet wird (in 4 nicht dargestellt), wodurch dann ein weiterer Paketteil (der beispielsweise mit 11.3 bezeichnet werden könnte) entsteht. Die hinteren Paketteile (also 11.2, 11.3 usw.) bekommen beim Transport über das Übertragungsmedium 3 am Teilpaketanfang ein Identifikationsfeld angehängt, um diese Teilpakete 11.2, 11.3, usw. für das empfangende Kommunikationsmodul 2 als Teilpakete des Datenpakets 11 identifizierbar zu machen. Dies wird nachfolgend noch näher erläutert.
-
Das Einbetten von FPs 14 und das Anhängen von weiteren Teilpaketen (zum Beispiel Teilpakete 11.2, 11.3, usw.) wird von der Steuereinheit 22 derart gesteuert, dass die einzelnen Teilpakete 11.2, 11.3, usw. auf der Empfangsseite 2 zwischen dem PHY 6 und dem MAC 5 als eigenständige Blöcke erkennbar sind. So muss beispielsweise bei der Nutzung von Ethernet die Steuereinheit 22 im Sender 1 dafür sorgen, dass entsprechend der Spezifikation IEEE 802.3 an dem Signal RX_DV auf der Empfangsseite 2 die Teilpakete 11.2, 11.3, usw. an sich unterschieden werden können. Die Differenzierung, um welche Art von Paket es sich bei den empfangenen Daten handelt, wird im (Teil-)Paket 10, 11, 12 beziehungsweise 11.1, 11.2, 11.3, usw. mit dem Identifikationsfeld gekennzeichnet.
-
Ein wichtiger Aspekt der vorliegenden Erfindung besteht darin, dass der Funktionsblock MAC 5 der erfindungsgemäßen Kommunikationsmodule 1, 2 genau das gleiche tut wie bei den aus dem Stand der Technik bekannten Kommunikationsmodulen. Er überträgt ein vollständiges Datenpaket 11. Er erfährt nichts über die Auftrennung des Datenpakets 11 in die Teilpakete 11.1 und 11.2. Das erfindungsgemäße Verfahren ist für den MAC 5 in Senderichtung also vollständig transparent. Entsprechendes gilt natürlich auch in Empfangsrichtung. Die Packet Transceiver 4 und der MAC 5 merken nichts von dem erfindungsgemäßen Verfahren, können also nach wie vor ganz normal senden und empfangen wie bisher.
-
Nachfolgend wird der Empfangsmechanismus in dem empfangenden Kommunikationsmodul 2 näher erläutert. Dabei wird der oben anhand der 4 erläuterte zweite Fall betrachtet, bei dem das Datenpaket 11 in zwei Teil-Pakete 11.1 und 11.2 unterteilt worden ist. Zur Erläuterung des Empfangsmechanismus wird auf 5 Bezug genommen. Die Steuereinheit 22 des empfangenden Kommunikationsmoduls 2 sorgt durch entsprechende Ansteuerung des Demultiplexers 24 dafür, dass die Datenpaket-Teile 11.1, 11.2, usw. dem Zwischenspeicher 26 zugeführt werden und das FP 14 ausgeschleust und an den MAC* 21 übertragen wird. Eine Schlüsselrolle kommt hier dem Zwischenspeicher 26 zu, der ebenfalls als ein FIFO ausgeführt sein kann. Die Steuereinheit 22 erkennt anhand des übertragenen Identifikationsfeldes der (Teil-)Pakete, ob es sich bei den empfangenen Daten um den Beginn eines neuen Datenpakets 10, 11, 12 oder um ein weiteres Datenpaket-Teil 11.2 des Datenpakets 11 handelt, von dem bereits ein Datenpaket-Teil 11.1 empfangen worden ist. Dadurch ist die Steuereinheit 22 in der Lage, die empfangenen Teil-Pakete 11.1, 11.2, usw. in den Zwischenspeicher 26 zu schreiben und das empfangene Datenpaket 11 als Ganzes an den MAC 5 zur Weiterverarbeitung zu übertragen.
-
Gemäß einer möglichen Ausgestaltung der Erfindung implementiert der Zwischenspeicher 26 zusätzlich noch eine Verzögerungsfunktion. Dies kann bspw. durch ein FIFO mit Verzögerungsfunktion realisiert werden. Dabei werden eingehende Datenpakete nicht sofort an den MAC 5 weitergeleitet, sondern das Weiterleiten beginnt erst nach einer Verzögerungszeit TV (vgl. 5). Die Größe des Speichers 26 ergibt sich aus der benötigten Verzögerungszeit TV. Durch die Verzögerung ist es möglich, dass das Datenpaket 11 lückenlos, das heißt als Ganzes, an den MAC 5 weitergeleitet wird. Die Verzögerungszeit TV kompensiert das Auftreten möglicherweise übertragener FPs 14. Die Zeit TV ist dabei entsprechend der gewünschten Systemauslegung zu dimensionieren. Der nötige Wert für TV bestimmt sich aus der maximal möglichen Häufigkeit von FPs 14 und deren Länge. Ein Dimensionierungsbeispiel für eine Ethernet-Kommunikationsverbindung mit einer Übertragungsrate von 1000 MBit/sec wird nachfolgend angegeben:
- – Die Maximalgröße eines normalen Ethernet-Pakets sei zum Beispiel 1500 Bytes. Dadurch ergibt sich eine Übertragungsdauer von 12 µs.
- – Der Sender (MAC* 21) habe eine mögliche maximale Sende-Charakteristik von vier FPs 14 während 12 µs.
- – Ein FP 14 bestehe aus maximal 10 Bytes. Damit muss die Verzögerung von MAC-Paketen auf der Empfängerseite 2 auf > 40 Bytes (4 FPs × 10 Bytes) ausgelegt werden, das heißt der Zwischenspeicher 26 muss mindestens 40 Bytes aufnehmen können. Damit ergibt sich eine Verzögerungszeit TV von 320 ns (40 Bytes × 8 Bits × 1 ns).
-
Der MAC 5 auf der Empfängerseite 2 bekommt von der Unterteilung des Datenpakets 11 in die Teilpakete 11.1, 11.2 auf der Senderseite 1 und das Zusammensetzen auf der Empfängerseite 2 nichts mit. Er erhält von dem Funktionsblock 20 das komplette Datenpaket 11 am Stück. Auch hier ist das erfindungsgemäße Verfahren für den MAC 5 auf der Empfängerseite 2 völlig transparent.
-
Um auf der Empfängerseite FPs 14 von Nicht-FPs (sogenannten „normalen“ Datenpaketen 10, 11, 12) unterscheiden zu können, beinhalten die FPs vorzugsweise eine FP-Identifikation. Am Beispiel eines Ethernet-Pakets (vgl. 10) kann die FP-Identifikation beispielsweise wie folgt ausgebildet sein: Ethernet-Pakete beginnen immer mit einer Präambel (0x55) und einem SFD-Feld (0xD5). Ein davon abweichender Wert im ersten Byte, oder in den ersten Bytes, oder in einem Teil des ersten Byte kann zur Identifikation von FPs 14 genutzt werden. Das erste (alternativ auch das zweite, dritte, etc.) Byte des Ethernet-Pakets kann somit als Identifikationsfeld für ein FP 14 genutzt werden.
-
Normale Datenpakete, die nicht durch eingebettete FPs 14 unterteilt werden, beispielsweise die Datenpakete 10, 12 in den zuvor beschriebenen Beispielen, bleiben vorzugsweise unverändert. Normale Datenpakete, die von dem MAC 5 ausgesendet werden und die auf Grund der Einbettung eines oder mehrere FPs 14 unterteilt werden, zum Beispiel das Datenpaket 11 in die Teil-Pakete 11.1, 11.2, usw., können zur Kennzeichnung beispielsweise folgendermaßen verändert werden:
- – Teil-Datenpaket 11.1: unverändert,
- – Teil-Datenpaket 11.2 und alle nachfolgenden Teil-Datenpakete: dieses Teilpaket 11.2 usw. kann mit einer eindeutigen Kennung im ersten Byte 27 (vgl. 10) der Präambel (oder auch in den ersten zwei oder mehr Bytes 27, 28) versehen werden. Diese Kennung unterscheidet sich dabei vorzugsweise von 0x55, 0xD5 und von der Kennung für die FPs 14. Damit ist das empfangende Kommunikationsmodul 2 in der Lage, diese Teilpakete 11.2, usw. wieder einem bestimmten Teil-Datenpaket 11.1 bzw. dem Datenpaket 11 zuzuordnen, so dass dieses Datenpaket 11 nach dem Zusammensetzen aus den verschiedenen Teil-Datenpaketen 11.1, 11.2 usw. dann als Ganzes dem MAC 5 zugeführt werden kann.
-
Die hochprioren FPs 14 können beliebige Daten enthalten. Insbesondere können Sie dem Ethernet-Format entsprechen oder zum Beispiel auch CAN-Nachrichten nachbilden.
-
In 6 ist ein konkretes Anwendungsbeispiel der vorliegenden Erfindung dargestellt. Dabei ist mit "FP Port" 31 bzw. 34 ein Ethernet-Anschluss bezeichnet, der gemäß der vorliegenden Erfindung ausgestaltet ist. Mit "FP Packet Source" 36 ist eine Einheit zum Erzeugen von FPs 14 bezeichnet. Dementsprechend ist mit "FP Packet Sink" 37 eine Einheit zum Empfangen von FPs 14 bezeichnet. Alle Funktionsblöcke, die das erfindungsgemäße Verfahren betreffen, sind in Hardware/FPGA realisiert.
-
Ein erstes Modul 30 hat mehrere FP Ports 31 und verfügt für normale Ethernet-Pakete 10, 11, 12 über einen Ethernet-Switch 35. Zweite und dritte Module 32, 33 weisen jeweils einen FP Port 34 auf und können damit auch als Endgeräte verstanden werden. Normale Ethernet-Datenpakete 10, 11, 12 werden über den jeweiligen MAC 5 der Endgeräte 32, 33 gesendet/ empfangen. Die dahinter liegende Infrastruktur, die den Inhalt der empfangenen FPs 14 nutzt bzw. den Inhalt der gesendeten FPs 14 bestimmt, ist in 6 nicht dargestellt. Zum Beispiel kann dort jedoch mindestens ein Rechengerät (CPU) angeschlossen sein. Ein FP Packet Switch 38 in dem ersten Modul 30 kann konfigurierbar ausgeführt sein, in dem Sinne, dass entsprechend des Inhalts eines empfangenen FPs 14, dieses an einen oder mehrere der FP-Ports 31 oder auch an den FP Packet Sink 37 weitergeleitet wird.
-
Gemäß einem ersten möglichen Ausführungsbeispiel wird die vorliegende Erfindung zur Erfassung von Ereignissen (sogenannten Events) in einem Modul, zum Beispiel dem ersten Modul 30, und zur Übertragung dieser Events an einen oder mehrere Empfänger, zum Beispiel das zweite Modul 32 und/ oder das dritte Modul 33, eingesetzt. Die Empfänger 32; 33 sitzen jeweils in einem oder mehreren Modulen. In dem beziehungsweise den Empfänger(n) 32, 33 wird durch das empfangene Event eine Aktivität ausgelöst, zum Beispiel eine Messdatenerfassung. In mehreren angeschlossenen Empfängern 32, 33 kann die Aktivität (im Rahmen der angegebenen Laufzeitstreuung) gleichzeitig ausgelöst werden. Ein wesentlicher Vorteil ist dabei, dass für die Übertragung der Events keine separaten Leitungen zwischen den Modulen 30, 32, 33 vorgesehen werden müssen, sondern es können die sowieso vorhandenen Ethernet-Verbindungen 3 mit genutzt werden.
-
Das erste Modul 30 besitzt beispielsweise einen Taster (in 6 nicht dargestellt). Wird dieser Taster von einem Anwender gedrückt, entspricht dies dem Auftreten eines Events, und das Abschicken eines FPs 14 ("Jetzt Messdatenerfassung") wird ausgelöst. Der FP Packet Switch 38 kann so konfiguriert sein, dass er dieses FP 14 empfängt, über alle FP Ports 31 versendet sodass das FP 14 (im Rahmen der angegebenen Laufzeitstreuung) gleichzeitig von allen angeschlossenen Modulen, beispielsweise den zweiten und dritten Modulen 32, 33, empfangen wird. Dies ermöglicht ein gleichzeitiges Erfassen von Messdaten in diesen Modulen 32, 33.
-
Wenn zwischen dem ersten Modul 30 und dem dritten Modul 33 noch ein weiteres Modul (in 6 nicht dargestellt) in der Art des ersten Moduls 30 zwischengeschaltet wäre, welches das FP 14 an das dritte Modul 33 weiterleiten würde, dann würde das dritte Modul 33 das FP 14 später empfangen als das zweite Modul 32. Die Laufzeit des FP 14 durch ein solches zusätzliches zwischengeschaltetes Modul ist sehr klein und liegt höchstens im einstelligen µs-Bereich. Die Laufzeit ist zwar nicht vernachlässigbar, kann aber garantiert werden. Durch das erfindungsgemäß vorgeschlagene Verfahren kann auch über mehrere Module hinweg die Empfangszeit für FPs 14 in einem empfangenden Kommunikationsmodul 2, beispielsweise in dem dritten Modul 33 aus 6, sehr genau vorhergesagt und garantiert werden. Rechnet man beispielsweise mit einer Verzögerung eines FP 14 in einem Modul von 5 µs und nimmt sechs solcher hintereinander geschalteter Module an, dann beträgt die Transportdauer maximal 30 µs bis zu dem entferntesten Punkt. Dieser Wert kann garantiert werden.
-
Gemäß einem anderen vorgeschlagenen Ausführungsbeispiel können mit Hilfe der vorliegenden Erfindung mittels eines oder mehrerer FPs 14 Aufträge oder Anfragen übertragen werden, zu denen das sendende Kommunikationsmodul 1 eine schnelle Antwort erwartet. Die Antwort kann gemäß dem erfindungsgemäßen Verfahren ebenfalls als hochpriores FP 14 von dem empfangenden Kommunikationsmodul 2 zu dem sendenden Kommunikationsmodul 1 übertragen werden.
-
Wenn beispielsweise das erste Modul 30 den Zustand der anderen Module 32, 33 sehr schnell erfassen möchte, kann das erste Modul 30 dazu ein FP 14 ("Read State") an das zweite Modul 32 und das dritte Modul 33 gleichzeitig senden. Die Module 32, 33 empfangen dieses FP 14 an ihrem "FP Packet Sink" 37 und können ihrerseits direkt ein FP 14 "State = XY" an das erste Modul 30 zurücksenden. Durch die Realisierung der Funktionsblöcke 21, 31 bzw. 34, 36, 37, 38 in Hardware/ FPGA können die Antwortzeiten klein gehalten werden.
-
Gemäß einem weiteren möglichen Ausführungsbeispiel kann mit Hilfe der vorliegenden Erfindung eine periodische Übertragung von Events realisiert werden, wobei aus der Event-Periodizität eine Rate abgeleitet werden kann, was letztendlich einer Frequenzübertragung entspricht. Dies kann zum Beispiel dazu genutzt werden, eine Uhr in dem empfangenden Kommunikationsmodul 2 mit der Uhr des Senders 1 zu synchronisieren in der Form, dass die Uhr des Empfängers 2 mit dem empfangenen Ratentakt (beziehungsweise mit einem hiervon abgeleiteten Takt) weitergezählt wird und die Daten der Events genutzt werden, um Zeitinformationen zu übertragen.
-
Hierbei ist bspw. das zweite Modul 32 der Zeitgeber des Systems. Das Modul 32 sendet periodisch FPs 14 "TimeSync" aus. Die Logik dazu ist in Hardware/ FPGA implementiert und an die FP Packet Source 36 angeschlossen. Die Periode der Übertragung der FPs 14 kann von einer lokalen Uhr des Moduls 32 abgeleitet sein. Eines oder mehrere der FPs 14 "TimeSync" können zusätzliche Nutzdaten enthalten, zum Beispiel Zeitinformationen. Die Empfängerlogik an FP Packet Sink 37 des ersten Moduls 30 und des dritten Moduls 33 kann aus dem Empfangszeitpunkten der FPs 14 die Rate der Uhr des zweiten Moduls 32 ableiten, so dass die Module 30, 33 ihre eigene Uhr damit steuern und gegebenenfalls korrigieren und dadurch sicherstellen können, dass die eigene Uhr zu der Uhr des zweiten Moduls 32 synchron läuft. Die in den Nutzdaten der FPs 14 zusätzliche enthaltenen Zeitinformationen könnten dann dazu verwendet werden, die Uhrzeit des ersten Moduls 30 bzw. des dritten Moduls 33 zu stellen. Durch die in den FPs 14 enthaltenen Nutzdaten kann die Uhrzeit der empfanden Module 30, 33 also auf einen Absolutwert eingestellt werden, wohingegen durch den Empfangszeitpunkt der FPs 14 bzw. den daraus abgeleiteten Takt eine relative Korrektur der Uhrzeit erfolgen kann. Alternativ kann das zweite Modul 32 auch lediglich das erste Modul 30 ansteuern, das dritte Modul 33 kann dann von dem ersten Modul 30 angesteuert werden.
-
Abseits dieser speziellen Anwendung für eine Uhren-Synchronisierung eignen sich periodische Events für vielfältige Aufgaben: z.B. Watchdogs, periodische Erfassung von Messdaten, etc..
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- IEEE 802.3 [0028]
- IEEE 802.1 q [0038]
- IEEE 802.3 [0051]