DE102018005618B4 - Vorrichtung zur gepufferten Übertragung von Daten - Google Patents

Vorrichtung zur gepufferten Übertragung von Daten Download PDF

Info

Publication number
DE102018005618B4
DE102018005618B4 DE102018005618.0A DE102018005618A DE102018005618B4 DE 102018005618 B4 DE102018005618 B4 DE 102018005618B4 DE 102018005618 A DE102018005618 A DE 102018005618A DE 102018005618 B4 DE102018005618 B4 DE 102018005618B4
Authority
DE
Germany
Prior art keywords
buffer
data packet
data
written
valid
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102018005618.0A
Other languages
English (en)
Other versions
DE102018005618A1 (de
Inventor
Frank QUAKERNACK
Daniel JEROLM
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wago Verwaltungs GmbH
Original Assignee
Wago Verwaltungs GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wago Verwaltungs GmbH filed Critical Wago Verwaltungs GmbH
Priority to DE102018005618.0A priority Critical patent/DE102018005618B4/de
Priority to EP19770169.1A priority patent/EP3824604A1/de
Priority to CN201980039855.6A priority patent/CN112352403B/zh
Priority to PCT/IB2019/055289 priority patent/WO2020016681A1/de
Publication of DE102018005618A1 publication Critical patent/DE102018005618A1/de
Priority to US17/152,309 priority patent/US11570121B2/en
Application granted granted Critical
Publication of DE102018005618B4 publication Critical patent/DE102018005618B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6245Modifications to standard FIFO or LIFO
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • H04L49/9089Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
    • H04L49/9094Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/564Attaching a deadline to packets, e.g. earliest due date first

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Vorrichtung (10) mit- einem Dateneingang (12),- einem Datenausgang (14),- einem ersten Buffer (20),- einem zweiten Buffer (22), und- einer Steuer-Logik (24), wobei die Steuer-Logik (24) eingerichtet ist,Datenpakete, die über den Dateneingang (12) empfangen werden, in den ersten Buffer (20) oder den zweiten Buffer (22) zu leiten und als valide oder invalide zu kennzeichnen, undDatenpakete, die über den Datenausgang (14) auszugeben sind, aus dem ersten Buffer (20) oder dem zweiten Buffer (22) bereitzustellen,wobei die Steuer-Logik (24) ferner eingerichtet ist, ein Datenpaket, das über den Datenausgang (14) auszugeben ist:aus dem ersten Buffer (20) bereitzustellen, wenn zum Zeitpunkt eines Starts des Auslesens das Datenpaket in den ersten Buffer (20) geschrieben wird;aus dem zweiten Buffer (22) bereitzustellen, wenn zum Zeitpunkt des Starts des Auslesens das Datenpaket in den zweiten Buffer (22) geschrieben wird; undaus demjenigen Buffer (20, 22) bereitzustellen, der das neueste valide Datenpaket aufweist, wenn beim Start des Auslesens kein Datenpaket in die Buffer (20, 22) geschrieben wird;ein Überlauf-Signal zu erzeugen, wenn ein valides Datenpaket überschrieben wird, ohne ausgelesen worden zu sein; und/oderein Unterlauf-Signal zu erzeugen, wenn ein valides Datenpaket mehrmals ausgelesen wird.

Description

  • GEBIET
  • Die vorliegende Erfindung bezieht sich auf eine Vorrichtung zur gepufferten Übertragung von Daten. Insbesondere bezieht sich die vorliegende Erfindung auf eine Vorrichtung mit zwei Datenpuffern (im Folgenden als Buffer bezeichnet) und einer Steuer-Logik, welche Schreib- und Lesezugriffe auf die Buffer steuert.
  • HINTERGRUND
  • Aus dem Stand der Technik sind Vorrichtungen zur gepufferten Übertragung von Daten bekannt, die drei Buffer aufweisen. Besagte Vorrichtungen halten einen Buffer zum Schreiben von Daten und einen Buffer zum Auslesen von Daten bereit, während der dritte Buffer dem Übertragen der Daten zwischen den Ports dient.
  • Aus der US 2012/0144150 A1 ist eine Vorrichtung zur gepufferten Übertragung von Daten bekannt, bei der valide Daten in zwei Puffer geschrieben werden.
  • ZUSAMMENFASSUNG
  • Die Erfindung bereichert diesbezüglich den Stand der Technik, als erfindungsgemäße Vorrichtungen und Verfahren eine Übertragung zwischen einem Sender und einem Empfänger ermöglichen, bei der nur zwei Buffer benötigt werden, wobei der Sender trotzdem jederzeit Daten in die Vorrichtung schreiben kann.
  • Eine erfindungsgemäße Vorrichtung umfasst einen Dateneingang, einen Datenausgang, einen ersten Buffer, einen zweiten Buffer, und eine Steuer-Logik, wobei die Steuer-Logik eingerichtet ist, Datenpakete, die über den Dateneingang empfangen werden, in den ersten Buffer oder den zweiten Buffer zu leiten und als valide oder invalide zu kennzeichnen, und Datenpakete, die über den Datenausgang auszugeben sind, aus dem ersten Buffer oder dem zweiten Buffer bereitzustellen, wobei die Steuer-Logik ferner eingerichtet ist, ein Datenpaket, das über den Datenausgang auszugeben ist, aus dem ersten Buffer bereitzustellen, wenn zum Zeitpunkt eines Starts des Auslesens das Datenpaket in den ersten Buffer geschrieben wird, das Datenpaket aus dem zweiten Buffer bereitzustellen, wenn zum Zeitpunkt des Starts des Auslesens das Datenpaket in den zweiten Buffer geschrieben wird und das Datenpaket aus demjenigen Buffer bereitzustellen, der das neueste valide Datenpaket aufweist, wenn beim Start des Auslesens kein Datenpaket in die Buffer geschrieben wird. Die Steuer-Logik ist ferner eingerichtet, ein Überlauf-Signal („over-flow signal“) zu erzeugen, wenn ein valides Datenpaket überschrieben wird, ohne ausgelesen worden zu sein und/oder ein Unterlauf-Signal („under-flow signal“) zu erzeugen, wenn ein valides Datenpaket mehrmals ausgelesen wird.
  • Dabei ist unter dem Begriff „Dateneingang“, wie er in der Beschreibung und den Ansprüchen verwendet wird, insbesondere eine Kommunikationsverbindung zu verstehen, über die Daten an die Vorrichtung übertragen werden können. Die Kommunikationsverbindung kann bspw. eine elektrisch leitende Verbindung sein, mittels derer Daten repräsentierende Strom- und/oder Spannungspegel der Vorrichtung zugeführt werden können. Ferner ist unter dem Begriff „Datenausgang“, wie er in der Beschreibung und den Ansprüchen verwendet wird, insbesondere eine Kommunikationsverbindung zu verstehen, über die Daten von der Vorrichtung ausgegeben werden können. Die Kommunikationsverbindung kann bspw. eine elektrisch leitende Verbindung sein, mittels derer Daten repräsentierende Strom- und/oder Spannungspegel von der Vorrichtung ausgegeben werden können.
  • Des Weiteren ist unter dem Begriff „Buffer“, wie er in der Beschreibung und den Ansprüchen verwendet wird, insbesondere ein Speicherelement (Bauteil) oder ein adressierbarer Bereich in einem Speicherelement (Bauteil) zu verstehen. D. h., dass sich eine Unterscheidung zwischen Buffern sowohl auf eine logische Unterscheidung, bspw. hinsichtlich adressierbarer Bereiche in einem Speicherelement (Bauteil, bspw. „DP-RAM Page 1, DP-RAM Page 2“), als auch auf eine Unterscheidung hinsichtlich der involvierten Speicherelemente (Bauteile) beziehen kann. Ferner ist unter dem Begriff „Steuer-Logik“, wie er in der Beschreibung und den Ansprüchen verwendet wird, insbesondere eine Schaltung zu verstehen, die eingerichtet ist, ausgehend von einer Analyse des Zustands der Vorrichtung bzw. der an die Vorrichtung herangetragenen Lese- und/oder Schreibanforderungen („read/write requests“), die Vorrichtung zu steuern und insbesondere zu wählen, aus welchem Buffer ein Datenpaket bereitzustellen und in welchen Buffer ein Datenpaket zu schreiben ist.
  • Des Weiteren sind unter dem Begriff „Datenpaket“, wie er in der Beschreibung und den Ansprüchen verwendet wird, insbesondere binär kodierte Informationen zu verstehen, die in einem Block gesendet/empfangen werden, wobei die Informationen typischerweise in einem Sinnzusammenhang stehen. Zudem weist ein Datenpaket oftmals eine festgelegte Struktur auf, die es ermöglicht, einer binär kodierten Information einen entsprechenden Abschnitt des Datenpakets zuzuweisen. Zudem ist unter der Formulierung „Start des Auslesens“, wie er in der Beschreibung und den Ansprüchen verwendet wird, insbesondere ein Zeitpunkt unmittelbar vor dem Ausgeben eines ersten Bits eines bereitzustellenden Datenpakets zu verstehen.
  • Die Formulierung „unmittelbar vor“ ist dabei so zu verstehen, dass der Zeitpunkt trotzdem noch so weit vor dem Ausgeben liegt, dass die Vorrichtung in der Lage ist, Entscheidungen hinsichtlich des Buffers, aus dem das Datenpaket bereitzustellen ist, zu fällen. Somit lässt sich der Zeitpunkt bspw. daraus berechnen, dass man von dem Zeitpunkt, zu dem tatsächlich ein erstes Bit ausgegeben wird, die Zeit abzieht, welche die Steuer-Logik zur Entscheidung, aus welchem Buffer das Datenpaket bereitzustellen ist, benötigt.
  • Des Weiteren beziehen sich die Begriffe „valid“ und „invalid“, wie sie in der Beschreibung und den Ansprüchen verwendet werden, insbesondere auf die Korrektheit von Datenpaketen (bzw. auf die Korrektheit des Datenpaketinhalts). Ein nicht korrektes Datenpaket ist bspw. ein Datenpaket, bei dem beim Schreiben in den Buffer ein Schreibfehler unterlaufen ist (und es somit in Form und/oder Inhalt in fehlerhafter Weise von einem avisierten Datenpaket abweicht), oder ein Datenpaket, das zwar korrekt in den Buffer geschrieben wurde aber (auf Grund eines vorausgegangenen Fehlers) falsche Informationen enthält.
  • Eine erfindungsgemäße Vorrichtung ermöglicht somit einen kontinuierlichen Fluss von Daten vom Sender (Datenerzeuger) zum Empfänger (Datenkonsumenten), indem Datenpakete abwechselnd in die zwei Buffer geschrieben und aus den zwei Buffern bereitgestellt werden.
  • Die Vorrichtung kann bspw. als 2-Buffer FIFO in der Automatisierungstechnik verwendet werden und dort in einem Transceiver implementiert sein. Der Transceiver kann bspw. für die Weiterleitung von Prozessdaten von einem Feldbus zu einen Lokalbus (bspw. in einem Buskoppler oder einem Buscontroller) verwandt werden. Die Prozessdaten können in den 2-Buffer FIFO in Form von Datenpaketen/Datenblöcken (fester Länge) geschrieben werden. Dabei kann die Steuer-Logik überwachen, dass die Daten einer vorher konfigurierte Datenblocklänge exakt entsprechen.
  • Nachdem die Daten in den FIFO geschrieben sind, können die Daten vom Sender als „valide“ oder als „invalide“ gekennzeichnet werden. Zudem kann der Sender die Daten bereits während des Schreibens als ungültig (invalid) erklären. Mit einem „valid“-Signal kann der Sender hingegen mitteilen, dass die bereitgestellten Daten gültig sind. Im Fehlerfall kann der Empfänger zudem mit Daten aus dem anderen Buffer versorgt werden, um die zuletzt gültigen Daten zu erhalten. Es ist ferner möglich ein Datenpaket bereitzustellen, während das Datenpaket in den Buffer geschrieben wird.
  • Vorzugsweise ist die Steuer-Logik eingerichtet, ein Datenpaket als invalide zu kennzeichnen, wenn, während das Datenpaket aus einem der Buffer bereitgestellt wird, begonnen wird, ein Datenpaket in einen der Buffer zu schreiben.
  • Dadurch kann bspw. sichergestellt werden, dass immer das jeweils neueste Datenpaket bereitgestellt wird, wobei das Datenpaket sowohl zur Verfügung stehen kann oder eine Verfügungstellung unmittelbar bevorsteht.
  • Vorzugsweise ist die Steuer-Logik eingerichtet, ein Datenpaket als invalide zu kennzeichnen, wenn, während ein Datenpaket aus einem Buffer bereitgestellt wird, ein noch auszulesender Teil des Datenpaketes überschrieben wird.
  • Somit können Fehler, die entstehen, wenn der Schreibvorgang schneller von statten geht als der Lesevorgang, erkannt werden.
  • Vorzugsweise ist die Steuer-Logik eingerichtet, ein Lesefehlersignal zu erzeugen, wenn ein Datenpaket ausgelesen wird, welches während oder nach dem Schreiben des Datenpakets als invalide gekennzeichnet wird.
  • Somit kann die Übertragung ungültiger oder nicht mehr aktueller Datenpakete vermieden werden. Das Lesefehlersignal zeigt somit an, ob ein aktuell ausgelesenes Datenpaket valide ist, oder nicht.
  • Vorzugsweise ist die Steuer-Logik eingerichtet, das Datenpaket, das über den Datenausgang auszugeben ist, aus demjenigen Buffer bereitzustellen, der zuletzt beschrieben wurde, wenn beim Start des Auslesens kein Datenpaket in die Adressbereiche geschrieben wird und das in den zuletzt beschriebenen Buffer geschriebene Datenpaket als valide gekennzeichnet ist.
  • Somit ist sichergestellt, dass immer das aktuellste (gültige) Datenpaket an den Empfänger übermittelt wird.
  • Vorzugsweise ist die Steuer-Logik eingerichtet, solange dasselbe neueste valide Datenpaket bereitzustellen, bis ein neueres, valides Datenpaket verfügbar ist.
  • Die letzten gültigen Daten können somit mehrfach ausgegeben (bzw. ausgelesen) werden, bis neuere gültige Daten in den FIFO geschrieben werden. Dadurch kann sichergestellt werden, dass der Empfänger ständig mit Daten versorgt werden kann, die (im fehlerfreien Fall) gültig sind.
  • Ein erfindungsgemäßes System (bspw. ein Automatisierungssystem) umfasst einen Sender (bspw. einen Sensor),einen Empfänger (bspw. eine zentrale Steuereinheit)und eine Vorrichtung umfassend einen Dateneingang, einen Datenausgang, einen ersten Buffer, einen zweiten Buffer, und eine Steuer-Logik, wobei die Steuer-Logik eingerichtet ist, Datenpakete, die über den Dateneingang empfangen werden, in den ersten Buffer oder den zweiten Buffer zu leiten und als valide oder invalide zu kennzeichnen, und Datenpakete, die über den Datenausgang auszugeben sind, aus dem ersten Buffer oder dem zweiten Buffer bereitzustellen, wobei die Steuer-Logik ferner eingerichtet ist, ein Datenpaket, das über den Datenausgang auszugeben ist, aus dem ersten Buffer bereitzustellen, wenn zum Zeitpunkt eines Starts des Auslesens das Datenpaket in den ersten Buffer geschrieben wird, das Datenpaket aus dem zweiten Buffer bereitzustellen, wenn zum Zeitpunkt des Starts des Auslesens das Datenpaket in den zweiten Buffer geschrieben wird und das Datenpaket aus demjenigen Buffer bereitzustellen, der das neueste valide Datenpaket aufweist, wenn beim Start des Auslesens kein Datenpaket in die Buffer geschrieben wird, um einen kontinuierlichen Strom an vom Sender übertragenen Datenpaketen gepuffert bereitzustellen. Der Sender ist eingerichtet, ein Datenpaket aus demjenigen Buffer, der das neueste valide Datenpaket aufweist, zurückzulesen und erneut in die Vorrichtung zu schreiben, wenn der Sender über kein aktuelleres valides Datenpaket verfügt, jedoch dazu eingerichtet ist, zu bestimmten Zeitpunkten ein Datenpaket in die Vorrichtung zu schreiben.
  • Ein erstes erfindungsgemäßes Verfahren zum Übertragen von Datenpaketen von einem Sender zu einem Empfänger mittels einer Vorrichtung mit einem ersten Buffer und einem zweiten Buffer und einer Steuer-Logik umfasst ein Schreiben von Datenpaketen in den ersten Buffer oder den zweiten Buffer und ein Kennzeichnen der Datenpakete als valide oder invalide, und ein Auslesen eines Datenpakets aus dem ersten Buffer, wenn zum Zeitpunkt eines Starts des Auslesens das Datenpaket in den ersten Buffer geschrieben wird, ein Auslesen des Datenpakets aus dem zweiten Buffer, wenn zum Zeitpunkt eines Starts des Auslesens das Datenpaket in den zweiten Buffer geschrieben wird, ein Auslesen des Datenpakets aus demjenigen Buffer, der das neueste valide Datenpaket aufweist, wenn beim Start des Auslesens kein Datenpaket in die Buffer geschrieben wird, ein Erzeugen eines Überlauf-Signals („overflow signal“), wenn ein valides Datenpaket überschrieben wird, ohne ausgelesen worden zu sein und/oder ein Erzeugen eines Unterlauf-Signals („underflow signal“), wenn ein valides Datenpaket mehrmals ausgelesen wird.
  • Vorzugsweise umfasst das Verfahren ferner ein Erzeugen eines Lesefehlersignals, wenn, während ein Datenpaket aus einem der Buffer ausgelesen wird, begonnen wird, ein Datenpaket in einen der Buffer zu schreiben.
  • Vorzugsweise umfasst das Verfahren ferner ein Erzeugen eines Lesefehlersignals, wenn ein Datenpaket ausgelesen wird, welches während oder nach dem Schreiben des Datenpakets als invalide gekennzeichnet wird.
  • Vorzugsweise umfasst das Verfahren ferner ein Erzeugen eines Leer-Signals, wenn kein Buffer ein valides Datenpaket aufweist.
  • Ein zweites erfindungsgemäßes Verfahren zum Übertragen von Datenpaketen von einem Sender zu einem Empfänger mittels einer Vorrichtung mit einem ersten Buffer und einem zweiten Buffer und einer Steuer-Logik umfasst ein Schreiben von Datenpaketen in den ersten Buffer oder den zweiten Buffer und ein Kennzeichnen der Datenpakete als valide oder invalide, und ein Auslesen eines Datenpakets aus dem ersten Buffer, wenn zum Zeitpunkt eines Starts des Auslesens das Datenpaket in den ersten Buffer geschrieben wird, ein Auslesen des Datenpakets aus dem zweiten Buffer, wenn zum Zeitpunkt eines Starts des Auslesens das Datenpaket in den zweiten Buffer geschrieben wird, ein Auslesen des Datenpakets aus demjenigen Buffer, der das neueste valide Datenpaket aufweist, wenn beim Start des Auslesens kein Datenpaket in die Buffer geschrieben wird und ein Zurücklesen, durch den Sender, eines Datenpakets und ein erneutes Schreiben des zurückgelesenen Datenpakets in einen Buffer, wenn der Sender über kein aktuelleres valides Datenpaket verfügt, jedoch dazu eingerichtet ist, zu bestimmten Zeitpunkten ein Datenpaket in die Vorrichtung zu schreiben.
  • Figurenliste
  • Die Erfindung wird nachfolgend in der detaillierten Beschreibung anhand von Ausführungsbeispielen erläutert, wobei auf Zeichnungen Bezug genommen wird, in denen:
    • 1 eine erfindungsgemäße Vorrichtung gemäß einem Ausführungsbeispiel zeigt;
    • 2 einen Zustand der in 1 gezeigten Vorrichtung illustriert, in dem weder ein Schreib- noch ein Lesezugriff erfolgt;
    • 3 einen Zustand der in 1 gezeigten Vorrichtung illustriert, in dem kein Schreib- aber ein Lesezugriff erfolgt;
    • 4 einen Zustand der in 1 gezeigten Vorrichtung illustriert, in dem ein Schreib- und ein Lesezugriff erfolgen;
    • 5 einen Zustand der in 1 gezeigten Vorrichtung illustriert, in dem ein Rücklesezugriff erfolgt;
    • 6 einen Zustand der in 1 gezeigten Vorrichtung illustriert, in dem ein Schreib- und ein Rücklesezugriff erfolgen;
    • 7 - 24 beispielhafte Abfolgen von Schreib- und Lesezugriffen illustrieren; und
    • 25 ein Flussdiagramm eines Verfahrens zum Übertragen von Datenpaketen von einem Sender zu einem Empfänger zeigt.
  • Dabei sind in den Zeichnungen gleiche und funktional ähnliche Elemente durch gleiche Bezugszeichen gekennzeichnet.
  • DETAILLIERTE BESCHREIBUNG
  • 1 zeigt eine erfindungsgemäße Vorrichtung 10 gemäß einem Ausführungsbeispiel. Die Vorrichtung 10 umfasst einen Dateneingang 12 und einen Datenausgang 14. Über den Dateneingang 12 ist die Vorrichtung 10 mit einem Sender 16 (Datenproduzenten) verbunden. Der Sender 16 erzeugt in regelmäßigen Intervallen Datenpakete, die zu einem Empfänger 18 (Datenkonsumenten) zu übertragen sind. Der Empfänger 18 ist mit dem Datenausgang 14 der Vorrichtung 10 verbunden und fordert in regelmäßigen Intervallen Datenpakete an, bzw. liest in regelmäßigen Intervallen Datenpakete aus der Vorrichtung 10 aus.
  • Die Vorrichtung 10 umfasst ferner einen ersten Buffer 20, einen zweiten Buffer 22 und eine Steuer-Logik 24. Die Steuer-Logik 24 ist eingerichtet, Datenpakete, die über den Dateneingang 12 empfangen werden, in den ersten Buffer 20 oder den zweiten Buffer 22 zu leiten. Die Steuer-Logik 24 kann dazu mittels eines ersten Umschalters 26 eine Datenverbindung zwischen dem Dateneingang 12 und dem ersten Buffer 20 oder eine Datenverbindung zwischen dem Dateneingang 12 und dem zweiten Buffer 22 herstellen. Somit werden in Abhängigkeit von der Stellung des ersten Umschalters 26 über den Dateneingang 12 empfangene Datenpakete in den ersten Buffer 20 oder in den zweiten Buffer 22 geschrieben.
  • Die Steuer-Logik 24 ist ferner eingerichtet, in den ersten Buffer 20 oder den zweiten Buffer 22 geschriebene Datenpakete als valide (gültig) oder als invalide (ungültig) zu kennzeichnen. Das Kennzeichnen eines Datenpakets als valide oder invalide kann auf einem Signal des Senders 16 basieren, bspw. wenn der Sender 16 signalisiert, dass ein Datenpaket fehlerhaft ist. Dazu kann der Sender 16 über eine erste Steuerleitung 28 mit der Steuer-Logik 24 verbunden sein und der Steuer-Logik 24 während des Schreibens eines Datenpaketes oder nach dem Abschluss des Schreibens des Datenpakets anzeigen, ob das Datenpaket bzw. der geschriebene Teil des Datenpakets valide oder invalide sind. Der Sender 16 kann zudem der Steuer-Logik 24 über die erste Steuerleitung 28 einen Schreibzugriff auf die Vorrichtung 10 ankündigen oder einen Abschluss eines Schreibzugriffs anzeigen.
  • Die Steuer-Logik 24 ist des Weiteren eingerichtet, Datenpakete, die über den Datenausgang auszugeben sind, aus dem ersten Buffer 20 oder dem zweiten Buffer 22 bereitzustellen. Die Steuer-Logik 24 kann dazu über einen zweiten Umschalter 30 eine Datenverbindung zwischen dem ersten Buffer 20 und dem Datenausgang 14 oder eine Datenverbindung zwischen dem zweiten Buffer 22 und dem Datenausgang 14 herstellen. Somit werden, in Abhängigkeit von der Stellung des zweiten Umschalters 30, über den Datenausgang 14 ausgegebene Datenpakete aus dem ersten Buffer 20 oder dem zweiten Buffer 22 ausgelesen. Zudem kann dasselbe Datenpaket mehrmals in Folge bereitgestellt werden, solange kein neueres (valides) Datenpaket in die Vorrichtung 10 geschrieben wird.
  • Der Empfänger 18 kann über eine zweite Steuerleitung 32 mit der Steuer-Logik 24 verbunden sein. Dadurch kann die Steuer-Logik 24 dem Empfänger 18 während des Auslesens eines Datenpaketes oder nach dem Abschluss des Auslesens des Datenpakets anzeigen, ob das Datenpaket bzw. der ausgelesene Teil des Datenpakets valide oder invalide sind. Der Empfänger 18 kann zudem der Steuer-Logik 24 über die zweite Steuerleitung 32 einen Lesezugriff auf die Vorrichtung 10 ankündigen oder einen Abschluss eines Lesezugriffs anzeigen. Die Steuer-Logik 24 kann ferner verfolgen, welcher Buffer 20, 22 mit einem validen Datenpaket beschrieben ist und wie alt die in den Buffern 20, 22 gespeicherten Datenpakete sind.
  • 2 illustriert einen Zustand der in 1 gezeigten Vorrichtung 10, in dem weder Schreib- noch Lesezugriffe erfolgen. Dabei umfasst der erste Buffer 20 ein erstes Datenpaket und der zweite Buffer 22 ein zweites Datenpaket. Die Steuer-Logik 24 bestimmt, welches der Datenpakete valide ist. Ist nur eines der Datenpakete valide, stellt die Vorrichtung 10 dem Empfänger 18 dieses Datenpaket bereit. Sind beide Datenpakete valide, stellt die Vorrichtung 10 dem Empfänger 18 das neuere der beiden validen Datenpakete bereit (d. h. das Datenpaket mit dem neueren Zeitstempel t1 > t0). Wären beide Datenpakete invalide, würde dies dem Empfänger 18 signalisiert bzw. dem Empfänger 18 keines der beiden Datenpakete bereitgestellt werden.
  • Erfolgt, wie in 3 gezeigt, eine Anforderung durch den Empfänger 18 und wird zum Zeitpunkt des Auslesens kein neues Datenpaket in die Vorrichtung 10 geschrieben, stellt die Vorrichtung 10 dem Empfänger 18 das neueste valide Datenpaket (d.h. das Datenpaket mit dem neueren Zeitstempel ti > to) bereit. Wird hingegen, wie in 4 gezeigt, zum Zeitpunkt der Anforderung durch den Empfänger 18 ein Datenpaket in die Vorrichtung 10 geschrieben, welches einen neueren Zeitstempel t2 > ti aufweist, wird dieses dem Empfänger 18 bereitgestellt. Die Bereitstellung kann abgebrochen werden, wenn das in den ersten Buffer 20 geschriebene Datenpaket als invalide gekennzeichnet wird. Das in den ersten Buffer 20 geschriebene Datenpaket kann zudem als invalide gekennzeichnet werden, wenn der Empfänger 18 beim Auslesen eines Datenpakets den Sender 16 beim Schreiben des Datenpakets überholt und dadurch die Gefahr besteht, dass dem Empfänger 18 ein inkonsistentes Datenpaket bereitgestellt wird.
  • Die Steuer-Logik 24 ist somit eingerichtet, ein Datenpaket, das über den Datenausgang 14 auszugeben ist, aus dem ersten Buffer 20 bereitzustellen, wenn zum Zeitpunkt eines Starts des Auslesens das Datenpaket in den ersten Buffer 20 geschrieben wird und das Datenpaket aus dem zweiten Buffer 22 bereitzustellen, wenn zum Zeitpunkt des Starts des Auslesens das Datenpaket in den zweiten Buffer 22 geschrieben wird. Wird beim Start des Auslesens kein Datenpaket in die Buffer 20, 22 geschrieben, wird das Datenpaket aus demjenigen Buffer 20, 22 bereitgestellt, der das neueste valide Datenpaket aufweist.
  • Wird, während das neueste valide Datenpaket aus dem zweiten Buffer 22 (wie in 3) oder dem ersten Buffer 20 (wie in 4) ausgelesen wird, ein neueres (valides) Datenpaket in den jeweils anderen Buffer 20, 22 geschrieben, kann das ausgelesene Datenpaket als invalide gekennzeichnet werden. Wird das ausgelesene Datenpaket als invalide gekennzeichnet, kann der Auslesevorgang abgebrochen werden und der Empfänger 18 (sofort oder zu einem nächsten Auslesezeitpunkt) das (nunmehr neueste) Datenpaket aus dem jeweils anderen Buffer 20, 22 auslesen. Alternativ kann der Empfänger 18 den Auslesevorgang fortführen und das ausgelesene Datenpaket verwerfen.
  • Anstatt ein (veraltetes) Datenpaket als invalide zu kennzeichnen, kann die Steuer-Logik 24 das Datenpaket auch als veraltet kennzeichnen, wodurch der Empfänger 18 informiert werden kann, dass das Datenpaket zwar valide aber veraltet ist. Der Empfänger 18 kann dann das Auslesen des nunmehr als veraltet gekennzeichneten Datenpakets abbrechen und (sofort oder zu einem nächsten Auslesezeitpunkt) das (neuere) Datenpaket aus dem jeweils anderen Buffer 20, 22 auslesen. Anstatt des Abbrechens des Auslesens kann der Empfänger 18 ein (als invalide und/oder veraltet) gekennzeichnetes Datenpaket auch vollständig auslesen und das ausgelesene Datenpaket verwerfen oder als invalide gekennzeichnet weiterleiten. Dies kann bspw. dann angezeigt sein, wenn ein Abbrechen des Auslesens einen Lesefehler erzeugen würde, der durch Löschen („clear“) der Buffer 20, 22 überwunden werden müsste.
  • Wie in 5 gezeigt, kann ein Datenpaket vom Sender 16 aus einem Buffer 20, 22 rückgelesen werden. Bspw. kann der Sender 16 eine Information aus dem rückgelesenen Datenpaket extrahieren und diese Information in ein Datenpaket übertragen, das in die Vorrichtung 10 zu schreiben ist (bzw. eine Information in dem Datenpaket durch die extrahierte Information ersetzen). Dadurch kann (bspw. auf Anforderung, z. B. „hold-last-value“) eine Information (bspw. ein Wert, wie z. B. ein Messwert) in einer Reihe an Datenpaketen konstant gehalten werden. Das Rücklesen kann dabei sowohl während eines Auslesens des Buffers 20, 22 erfolgen, als auch, wenn kein Datenpaket aus dem Buffer 20, 22 ausgelesen wird. Zudem kann, wie in 6 gezeigt, der Sender 16 ein Datenpaket aus einem Buffer 20, 22 rücklesen, während der Sender 16 ein Datenpaket in den anderen Buffer 20, 22 schreibt. Während des Rücklesens kann ferner ein beliebiger Buffer 20, 22 (vorzugsweise der mit dem neuesten validen Datenpaket beschriebene) durch den Empfänger 18 ausgelesen werden.
  • 7 illustriert eine beispielhafte Abfolge von Schreib- und Lesezugriffen in der Vorrichtung 10. Nachdem ein Datenpaket vom Sender 16 in einen der Buffer 20, 22 geschrieben wurde, beginnt der Empfänger 18 mit dem Auslesen des Datenpakets. Da das Datenpaket vom Sender 16 als valide gekennzeichnet wurde, zeigt die Vorrichtung 10 dem Empfänger 18 zum Zeitpunkt des Starts des Auslesens (und darüber hinaus) an, dass das ausgelesene Datenpaket valide ist.
  • 8 illustriert eine beispielhafte Abfolge von Schreib- und Lesezugriffen, bei der ein in einen Buffer 20, 22 geschriebenes Datenpaket (während oder nach dem Abschluss des Schreibvorgangs) als invalide gekennzeichnet wird. Da in der Vorrichtung 10 jedoch ein valides Datenpaket vorhanden ist, welches bereitgestellt wurde, kann das Validitätssignal auf „valid“ verbleiben.
  • 9 illustriert eine beispielhafte Abfolge von Schreib- und Lesezugriffen, bei der ein valides Datenpaket wiederholt ausgelesen wird, bis der Sender 16 ein neueres valides Datenpaket bereitstellt. Da auch hier in der Vorrichtung 10 jederzeit ein valides Datenpaket vorhanden ist, welches bereitgestellt werden kann, kann das Validitätssignal auf „valid“ verbleiben.
  • 10 illustriert eine beispielhafte Abfolge von Schreib- und Lesezugriffen, bei der der Empfänger 18 es verpasst, ein Datenpaket abzuholen. Da dem Empfänger 18 immer das aktuellste valide Datenpaket bereitgestellt wird, wird das verpasste Datenpaket dem Empfänger nicht mehr zugestellt und geht verloren.
  • 11 illustriert eine beispielhafte Abfolge von Schreib- und Lesezugriffen, bei der Schreib- und Lesezugriffe überlappen, wodurch die Übertragungslatenz verringert wird. Wird ein Datenpaket vom Sender 16 als invalide gekennzeichnet, kann der Empfänger 18 das Auslesen des Datenpakets abbrechen oder, wie in 11 dargestellt, das Auslesen fortführen und das ausgelesene Datenpaket verwerfen. Dazu kann der Empfänger 18 das Validitätssignal fortlaufend auswerten und ein Datenpaket verwerfen, wenn das Validitätssignal während des Auslesens des Datenpakets ein invalides Datenpaket signalisiert.
  • 12 illustriert eine beispielhafte Abfolge von Schreib- und Lesezugriffen, bei der ein Schreibvorgang während eines Lesevorgangs einsetzt. Durch das Einsetzten des Schreibvorgangs während des Lesevorgangs wird das Validitätssignal auf „invalid“ gesetzt, so dass der Empfänger 18 den Auslesevorgang abbricht oder das ausgelesene Datenpaket verwirft.
  • 13 illustriert eine beispielhafte Abfolge von Schreib- und Lesezugriffen, die sich von der in 12 gezeigten Abfolge dadurch unterscheidet, dass das Datenpaket vom Sender 16 als invalide gekennzeichnet wird. Dadurch wird im darauffolgenden Lesevorgang erneut das erste Datenpaket ausgelesen.
  • 14 illustriert eine beispielhafte Abfolge von Schreib- und Lesezugriffen, bei der ein Schreib- und ein Lesezugriff in gleichen Taktzyklus („clock cycle“) gestartet werden. In diesem Fall wird das Validitätssignal auf „invalid“ gesetzt, so dass der Empfänger 18 den Auslesevorgang abbricht oder das ausgelesene Datenpaket verwirft.
  • 15 illustriert eine beispielhafte Abfolge von Schreib- und Lesezugriffen, bei der ein Schreibzugriff langsamer abläuft als ein parallel ablaufender Lesezugriff (der auf das gleiche Datenpaket gerichtet ist), so dass der Empfänger 18 den Sender 16 beim Bufferzugriff „überholt“. Als Folge dessen wird das Validitätssignal auf „invalid“ gesetzt, so dass der Empfänger 18 den Auslesevorgang abbricht oder das ausgelesene Datenpaket verwirft.
  • 16 illustriert eine beispielhafte Abfolge von Schreib- und Lesezugriffen, bei der ein Lesezugriff langsamer abläuft als ein parallel ablaufender Schreibzugriff, so dass der Sender 16 beginnt ein neues Datenpaket zu schreiben, während der Empfänger ein älteres Datenpaket noch ausliest, so dass dieses nunmehr veraltet ist. Als Folge dessen wird das Validitätssignal auf „invalid“ gesetzt, so dass der Empfänger 18 den Auslesevorgang abbricht, das ausgelesene Datenpaket verwirft oder als veraltet gekennzeichnet weiterleitet.
  • 17 illustriert eine beispielhafte Abfolge von Schreib- und Lesezugriffen, die sich von der in 16 gezeigten Abfolge dadurch unterscheidet, dass das Datenpaket vom Sender 16 als invalide gekennzeichnet wird. Dadurch wird im darauffolgenden Lesevorgang erneut das erste Datenpaket ausgelesen.
  • 18 illustriert eine beispielhafte Abfolge von Schreib- und Lesezugriffen, bei der ein Lesezugriff auf leere Buffer 20, 22 stattfindet. Da das Validitätssignal auf „invalid“ gesetzt ist, erkennt der Empfänger 18, dass das ausgelesene Datenpaket zu verwerfen ist. Nachdem ein erstes Datenpaket durch den Sender 16 in einen Buffer 20, 22 geschrieben worden ist, signalisiert die Vorrichtung 10, dass sie nicht mehr leer ist und ein valides Datenpaket bereitgestellt werden kann.
  • 19 illustriert eine beispielhafte Abfolge von Schreib- und Lesezugriffen, die sich von der in 18 gezeigten Abfolge dadurch unterscheidet, dass das erste Datenpaket vom Sender 16 als invalide gekennzeichnet wird. Daher wird das Validitätssignal auf „invalid“ gesetzt, so dass der Empfänger 18 den Auslesevorgang abbricht oder das ausgelesene Datenpaket verwirft.
  • 20 illustriert eine beispielhafte Abfolge von Schreib- und Lesezugriffen, die ein Überlaufsignal auslöst. Dabei wird ein valides Datenpaket in einen Buffer 20, 22 geschrieben, bevor ein davor in die Vorrichtung 10 geschriebenes valides Datenpaket ausgelesen wurde. Der Überlauf kann, wie in 20 angedeutet, dem Sender 16 und dem Empfänger 18 zu unterschiedlichen Zeiten signalisiert werden, bspw. dem Sender 16 beim Start des Schreibens des validen Datenpakets und dem Empfänger 18 beim Lesen des validen Datenpakets.
  • 21 illustriert eine beispielhafte Abfolge von Schreib- und Lesezugriffen, die sich von der in 20 gezeigten Abfolge dadurch unterscheidet, dass der Empfänger 18 versucht das Datenpaket auszulesen, der Ausleseversuch aber scheitert. In diesem Fall wird kein Überlaufsignal ausgelöst, obwohl das Datenpaket nicht erfolgreich ausgelesen werden kann.
  • 22 illustriert eine beispielhafte Abfolge von Schreib- und Lesezugriffen, die sich von der in 20 gezeigten Abfolge dadurch unterscheidet, dass ein Datenpaket in die Vorrichtung geschrieben, dieses aber als invalide gekennzeichnet wird, so dass der ausbleibende Lesezugriff kein Überschreiben eines valide geschriebenen Datenpakets verursacht.
  • 23 illustriert eine beispielhafte Abfolge von Schreib- und Lesezugriffen, die ein Unterlaufsignal auslöst. Dabei wird zweimal das gleiche valide Datenpaket ausgelesen. Wie in 24 illustriert, wird das Unterlaufsignal auch ausgelöst, wenn das zweite Auslesen des gleichen validen Datenpakets abgebrochen wird oder das vormals valide Datenpaket während des Auslesens als veraltet und damit invalide gekennzeichnet wird.
  • 25 illustriert ein Flussdiagramm eines Verfahrens zum Übertragen von Datenpaketen vom Sender 16 zum Empfänger 18. Dabei werden, wie im Vorhergehenden näher erläutert, in Schritt 34 Datenpakete in die Buffer 20, 22 geschrieben und als valide oder invalide gekennzeichnet. Wird zum Zeitpunkt des Auslesens eines Datenpakets das Datenpaket in einen der Buffer 20, 22 geschrieben, so wird das Datenpaket in Schritt 36 oder 38 aus dem jeweiligen Buffer 20, 22 ausgelesen. Wird jedoch zum Zeitpunkt des Auslesens kein Datenpaket in einen der Buffer 20, 22 geschrieben, so wird das Datenpaket aus demjenigen Buffer 20, 22 ausgelesen, der das neueste valide Datenpaket aufweist. Dadurch kann der Sender 16 jederzeit Daten in die Vorrichtung 10 schreiben und der Empfänger 18 jederzeit Daten aus der Vorrichtung 10 auslesen.
  • Bezugszeichenliste
  • 10
    Vorrichtung
    12
    Dateneingang
    14
    Datenausgang
    16
    Sender
    18
    Empfänger
    20
    Erster Buffer
    22
    Zweiter Buffer
    24
    Steuer-Logik
    26
    Erster Umschalter
    28
    Steuerleitung
    30
    Zweiter Umschalter
    32
    Steuerleitung
    34
    Verfahrensschritt
    36
    Verfahrensschritt
    38
    Verfahrensschritt
    40
    Verfahrensschritt

Claims (11)

  1. Vorrichtung (10) mit - einem Dateneingang (12), - einem Datenausgang (14), - einem ersten Buffer (20), - einem zweiten Buffer (22), und - einer Steuer-Logik (24), wobei die Steuer-Logik (24) eingerichtet ist, Datenpakete, die über den Dateneingang (12) empfangen werden, in den ersten Buffer (20) oder den zweiten Buffer (22) zu leiten und als valide oder invalide zu kennzeichnen, und Datenpakete, die über den Datenausgang (14) auszugeben sind, aus dem ersten Buffer (20) oder dem zweiten Buffer (22) bereitzustellen, wobei die Steuer-Logik (24) ferner eingerichtet ist, ein Datenpaket, das über den Datenausgang (14) auszugeben ist: aus dem ersten Buffer (20) bereitzustellen, wenn zum Zeitpunkt eines Starts des Auslesens das Datenpaket in den ersten Buffer (20) geschrieben wird; aus dem zweiten Buffer (22) bereitzustellen, wenn zum Zeitpunkt des Starts des Auslesens das Datenpaket in den zweiten Buffer (22) geschrieben wird; und aus demjenigen Buffer (20, 22) bereitzustellen, der das neueste valide Datenpaket aufweist, wenn beim Start des Auslesens kein Datenpaket in die Buffer (20, 22) geschrieben wird; ein Überlauf-Signal zu erzeugen, wenn ein valides Datenpaket überschrieben wird, ohne ausgelesen worden zu sein; und/oder ein Unterlauf-Signal zu erzeugen, wenn ein valides Datenpaket mehrmals ausgelesen wird.
  2. Vorrichtung (10) nach Anspruch 1, wobei die Steuer-Logik eingerichtet ist, ein Datenpaket als invalide zu kennzeichnen, wenn, während das Datenpaket aus einem der Buffer ausgelesen wird, begonnen wird, ein Datenpaket in einen der Buffer zu schreiben.
  3. Vorrichtung (10) nach Anspruch 1 oder 2, wobei die Steuer-Logik (24) eingerichtet ist, ein Datenpaket als invalide zu kennzeichnen, wenn, während ein Datenpaket aus einem Buffer (20, 22) ausgelesen wird, ein noch auszulesender Teil des Datenpaketes überschrieben wird.
  4. Vorrichtung (10) nach einem der Ansprüche 1 bis 3, wobei die Steuer-Logik (24) eingerichtet ist, ein Lesefehlersignal zu erzeugen, wenn ein Datenpaket ausgelesen wird, welches während oder nach dem Schreiben des Datenpakets als invalide gekennzeichnet wird.
  5. Vorrichtung (10) nach einem der Ansprüche 1 bis 4, wobei die Steuer-Logik (24) eingerichtet ist, das Datenpaket, das über den Datenausgang (14) auszugeben ist, aus demjenigen Buffer (20, 22) bereitzustellen, der zuletzt beschrieben wurde, wenn beim Start des Auslesens kein Datenpaket in die Buffer (20, 22) geschrieben wird und das in den zuletzt beschriebenen Buffer (20, 22) geschriebene Datenpaket als valide gekennzeichnet ist.
  6. Vorrichtung (10) nach einem der Ansprüche 1 bis 5, wobei die Steuer-Logik (24) eingerichtet ist, solange dasselbe neueste valide Datenpaket bereitzustellen, bis ein neueres, valides Datenpaket verfügbar ist.
  7. System, mit - einem Sender (16), - einem Empfänger (18), und - einer Vorrichtung (10) mit - einem Dateneingang (12), - einem Datenausgang (14), - einem ersten Buffer (20), - einem zweiten Buffer (22), und - einer Steuer-Logik (24), wobei die Steuer-Logik (24) eingerichtet ist, Datenpakete, die über den Dateneingang (12) empfangen werden, in den ersten Buffer (20) oder den zweiten Buffer (22) zu leiten und als valide oder invalide zu kennzeichnen, und Datenpakete, die über den Datenausgang (14) auszugeben sind, aus dem ersten Buffer (20) oder dem zweiten Buffer (22) bereitzustellen, wobei die Steuer-Logik (24) ferner eingerichtet ist, ein Datenpaket, das über den Datenausgang (14) auszugeben ist: aus dem ersten Buffer (20).bereitzustellen, wenn zum Zeitpunkt eines Starts des Auslesens das Datenpaket in den ersten Buffer (20) geschrieben wird; aus dem zweiten Buffer (22) bereitzustellen, wenn zum Zeitpunkt des Starts des Auslesens das Datenpaket in den zweiten Buffer (22) geschrieben wird; und aus demjenigen Buffer (20, 22) bereitzustellen, der das neueste valide Datenpaket aufweist, wenn beim Start des Auslesens kein Datenpaket in die Buffer(20, 22) geschrieben wird, wobei die Vorrichtung (10) eingerichtet ist, dem Empfänger (18) einen kontinuierlichen Strom an vom Sender (16) übertragenen Datenpaketen gepuffert bereitzustellen; wobei der Sender (16) eingerichtet ist, ein Datenpaket aus demjenigen Buffer (20, 22), der das neueste valide Datenpaket aufweist, zurückzulesen und erneut in die Vorrichtung (10) zu schreiben, wenn der Sender (16) über kein aktuelleres valides Datenpaket verfügt, jedoch dazu eingerichtet ist, zu bestimmten Zeitpunkten ein Datenpaket in die Vorrichtung (10) zu schreiben.
  8. Verfahren zum Übertragen von Datenpaketen von einem Sender (16) zu einem Empfänger (18) mittels einer Vorrichtung (10) mit einem ersten Buffer (20) und einem zweiten Buffer (22) und einer Steuer-Logik (24), umfassend: Schreiben (34) von Datenpaketen in den ersten Buffer (20) oder den zweiten Buffer (22) und Kennzeichnen der Datenpakete als valide oder invalide, und Auslesen (36) eines Datenpakets aus dem ersten Buffer (20), wenn zum Zeitpunkt eines Starts des Auslesens das Datenpaket in den ersten Buffer (20) geschrieben wird, Auslesen (38) des Datenpakets aus dem zweiten Buffer (22), wenn zum Zeitpunkt eines Starts des Auslesens das Datenpaket in den zweiten Buffer (22) geschrieben wird, Auslesen (40) des Datenpakets aus demjenigen Buffer (20, 22), der das neueste valide Datenpaket aufweist, wenn beim Start des Auslesens kein Datenpaket in die Buffer (20, 22) geschrieben wird; Erzeugen eines Überlauf-Signals, wenn ein valides Datenpaket überschrieben wird, ohne ausgelesen worden zu sein; und/oder Erzeugen eines Unterlauf-Signals, wenn ein valides Datenpaket mehrmals ausgelesen wird.
  9. Verfahren nach Anspruch 8, ferner umfassend: Erzeugen eines Lesefehlersignals, wenn, während ein Datenpaket aus einem der Buffer (20, 22) ausgelesen wird, begonnen wird, ein Datenpaket in einen der Buffer (20, 22) zu schreiben.
  10. Verfahren nach Anspruch 8 oder 9, ferner umfassend: Erzeugen eines Lesefehlersignals, wenn ein Datenpaket ausgelesen wird, welches während oder nach dem Schreiben des Datenpakets als invalide gekennzeichnet wird.
  11. Verfahren zum Übertragen von Datenpaketen von einem Sender (16) zu einem Empfänger (18) mittels einer Vorrichtung (10) mit einem ersten Buffer (20) und einem zweiten Buffer (22) und einer Steuer-Logik (24), umfassend: Schreiben (34) von Datenpaketen in den ersten Buffer (20) oder den zweiten Buffer (22) und Kennzeichnen der Datenpakete als valide oder invalide, und Auslesen (36) eines Datenpakets aus dem ersten Buffer (20), wenn zum Zeitpunkt eines Starts des Auslesens das Datenpaket in den ersten Buffer (20) geschrieben wird, Auslesen (38) des Datenpakets aus dem zweiten Buffer (22), wenn zum Zeitpunkt eines Starts des Auslesens das Datenpaket in den zweiten Buffer (22) geschrieben wird, Auslesen (40) des Datenpakets aus demjenigen Buffer (20, 22), der das neueste valide Datenpaket aufweist, wenn beim Start des Auslesens kein Datenpaket in die Buffer (20, 22) geschrieben wird; und Zurücklesen, durch den Sender (16), eines Datenpakets und erneutes Schreiben des zurückgelesenen Datenpakets in einen Buffer (20, 22), wenn der Sender (16) über kein aktuelleres valides Datenpaket verfügt, jedoch dazu eingerichtet ist, zu bestimmten Zeitpunkten ein Datenpaket in die Vorrichtung (10) zu schreiben.
DE102018005618.0A 2018-07-17 2018-07-17 Vorrichtung zur gepufferten Übertragung von Daten Active DE102018005618B4 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE102018005618.0A DE102018005618B4 (de) 2018-07-17 2018-07-17 Vorrichtung zur gepufferten Übertragung von Daten
EP19770169.1A EP3824604A1 (de) 2018-07-17 2019-06-24 Vorrichtung zur gepufferten übertragung von daten
CN201980039855.6A CN112352403B (zh) 2018-07-17 2019-06-24 用于数据的缓冲传输的设备
PCT/IB2019/055289 WO2020016681A1 (de) 2018-07-17 2019-06-24 Vorrichtung zur gepufferten übertragung von daten
US17/152,309 US11570121B2 (en) 2018-07-17 2021-01-19 Apparatus for buffered transmission of data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018005618.0A DE102018005618B4 (de) 2018-07-17 2018-07-17 Vorrichtung zur gepufferten Übertragung von Daten

Publications (2)

Publication Number Publication Date
DE102018005618A1 DE102018005618A1 (de) 2020-01-23
DE102018005618B4 true DE102018005618B4 (de) 2021-10-14

Family

ID=67997651

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018005618.0A Active DE102018005618B4 (de) 2018-07-17 2018-07-17 Vorrichtung zur gepufferten Übertragung von Daten

Country Status (5)

Country Link
US (1) US11570121B2 (de)
EP (1) EP3824604A1 (de)
CN (1) CN112352403B (de)
DE (1) DE102018005618B4 (de)
WO (1) WO2020016681A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120144150A1 (en) 2010-12-06 2012-06-07 Olympus Corporation Data processing apparatus

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7568066B2 (en) * 2006-09-26 2009-07-28 Arcadyan Technology Corporation Reset system for buffer and method thereof
US8094952B2 (en) * 2007-09-19 2012-01-10 Ricoh Company, Ltd. Image processing apparatus and image processing method
WO2011058392A1 (en) * 2009-11-11 2011-05-19 Vl C.V. Integrated circuit arrangement for buffering service requests
JP2011150684A (ja) * 2009-12-21 2011-08-04 Sony Corp キャッシュメモリおよびキャッシュメモリ制御装置
US9641464B2 (en) * 2012-04-30 2017-05-02 Nxp Usa, Inc. FIFO buffer system providing same clock cycle response to pop commands
JP2014191622A (ja) * 2013-03-27 2014-10-06 Fujitsu Ltd 処理装置
US9524242B2 (en) * 2014-01-28 2016-12-20 Stmicroelectronics International N.V. Cache memory system with simultaneous read-write in single cycle
EP3169002B1 (de) * 2015-11-13 2019-01-02 Airbus Operations GmbH Verfahren zur übertragung von priorisierten daten und sender
US10216656B2 (en) * 2016-09-27 2019-02-26 International Business Machines Corporation Cut-through buffer with variable frequencies
US20180176144A1 (en) * 2016-12-19 2018-06-21 Futurewei Technologies, Inc. APPARATUS FOR SELF-REGULATER (SR) LAST-IN, FIRST-OUT (LIFO) SCHEDULING IN SOFTWARE DEFINED NETWORKS (SNDs) WITH HYBRID TRAFFIC
US10248330B2 (en) * 2017-05-30 2019-04-02 Seagate Technology Llc Data storage device with buffer tenure management

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120144150A1 (en) 2010-12-06 2012-06-07 Olympus Corporation Data processing apparatus

Also Published As

Publication number Publication date
CN112352403B (zh) 2023-12-19
EP3824604A1 (de) 2021-05-26
DE102018005618A1 (de) 2020-01-23
US20210144100A1 (en) 2021-05-13
WO2020016681A1 (de) 2020-01-23
CN112352403A (zh) 2021-02-09
US11570121B2 (en) 2023-01-31

Similar Documents

Publication Publication Date Title
DE60204687T2 (de) Speicherkopierbefehl mit Angabe von Quelle und Ziel, der in der Speichersteuerung ausgeführt wird
DE112011100762T5 (de) Verteilte auf Paketen basierende Zeitstempel-Engine
DE4432061C1 (de) Paketübertragungssystem
DE102014109060B3 (de) Netzwerk, Kopf-Teilnehmer und Datenübertragungsverfahren
DE2133661C2 (de) Pufferspeicher-Einrichtung mit einem Speicher
DE102011122644A1 (de) Nachrichtenverlustverhinderung unter Verwendung eines Senderpuffers und Verkehrsgestaltung in durch ein Ereignis ausgelösten verteilten eingebetteten Echtzeitsystemen
DE2062236C3 (de) Einrichtung für die Übertragung eines redundanzverringerten Signals
EP3378212B1 (de) Verfahren zum betreiben eines kommunikationsnetzwerkes, steuervorrichtung und datenverarbeitungsvorrichtung
DE102018005618B4 (de) Vorrichtung zur gepufferten Übertragung von Daten
DE102018010314A1 (de) Vorrichtung zur gepufferten Übertragung von Daten
DE102020200931A1 (de) Steuerungssystem mit mehreren funktionsmodulen und adressierungsverfahren für dessen funktionsmodule
DE112013006940B4 (de) Datenübertragungsgerät und Datenübertragungsverfahren
DE2442673C2 (de) Einrichtung zur Einfügung von Kontrolldaten in den Sprachspeicher einer Zeitvielfachvermittlungsstelle
DE102022108581A1 (de) Vorhersagen von freiem Pufferplatz in einer USB-Erweiterungsumgebung
EP1642207A1 (de) Zuordnung von stationsadressen zu kommunikationsteilnehmern in einem bussystem
DE69928606T2 (de) Verwaltungssystem für Stossbetriebdatenübertragung
DE4435457C2 (de) Verfahren zum Archivieren von Prozeßdaten
EP0111123B1 (de) Verfahren und Anordnung zur Durchführung von kontinuierlichen Datentransfers im Streaming-Verfahren bei der Ausführung von Ein-/Ausgabeoperationen über Selektor- oder Blockmultiplexkanäle des Ein-/Ausgabewerkes einer Datenverarbeitungsanlage
EP0214476B1 (de) Verfahren und Schaltungsanordnung zum Übertragen von Datensignalen zwischen zwei zu einem Ringleitungssystem gehörenden Steuereinrichtungen
WO2020016693A1 (de) Schaltung zur gepufferten übertragung von daten
DE2449658B2 (de) Verfahren und Vorrichtung zur Datenübertragung
DE102019131603A1 (de) Vorrichtung und verfahren zur gepufferten übertragung von daten
EP1680895A2 (de) Anlage zum übertragen von daten in einem seriellen, bidirektionalen bus
DE60319703T2 (de) Gerät und Verfahren zum Reduzieren von Übersprechen zwischen Übertragungssignalen
DE3590162T1 (de) Computer-Bus-Einrichtung mit verteilter Entscheidung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: MUELLER, WOLF-CHRISTIAN, DE

R016 Response to examination communication
R130 Divisional application to

Ref document number: 102018010314

Country of ref document: DE

R018 Grant decision by examination section/examining division
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012861000

Ipc: H04L0049900000

R020 Patent grant now final