EP3824604A1 - Apparatus for buffered transmission of data - Google Patents

Apparatus for buffered transmission of data

Info

Publication number
EP3824604A1
EP3824604A1 EP19770169.1A EP19770169A EP3824604A1 EP 3824604 A1 EP3824604 A1 EP 3824604A1 EP 19770169 A EP19770169 A EP 19770169A EP 3824604 A1 EP3824604 A1 EP 3824604A1
Authority
EP
European Patent Office
Prior art keywords
data packet
buffer
data
valid
read
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.)
Pending
Application number
EP19770169.1A
Other languages
German (de)
French (fr)
Inventor
Daniel Jerolm
Frank Quakernack
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
Publication of EP3824604A1 publication Critical patent/EP3824604A1/en
Pending legal-status Critical Current

Links

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

Definitions

  • the present invention relates to a device for buffered transmission of data.
  • the present invention relates to a device with two data buffers (hereinafter referred to as buffers) and control logic which controls write and read accesses to the buffers.
  • Devices for buffered transmission of data are known from the prior art, which have three buffers. Said devices have a buffer for writing data and a buffer for reading data, while the third buffer is used to transfer the data between the ports.
  • the invention enriches the prior art, as devices and methods according to the invention enable a transmission between a transmitter and a receiver, in which only two buffers are required, the transmitter nevertheless being able to write data into the device at any time.
  • a device comprises a data input, a data output, a first buffer, a second buffer, and a control logic, wherein the control logic is set up, data packets that are received via the data input in the first buffer or to direct the second buffer and to mark them as valid or invalid, and to provide data packets which are to be output via the data output from the first buffer or the second buffer, the control logic also being set up to provide a data packet which is to be output via the data output to make available from the first buffer if the data packet at the time of a start of reading out is written into the first buffer to provide the data packet from the second buffer if the data packet is written into the second buffer at the time of the start of the readout and to provide the data packet from the buffer which has the latest valid data packet if at the start of the readout no data packet is written into the buffer.
  • the term "data input” as used in the description and the claims is to be understood in particular as a communication link via which data can be transmitted to the device.
  • the communication connection can be, for example, an electrically conductive connection, by means of which current and / or voltage levels representing data can be supplied to the device.
  • data output as used in the description and the claims is to be understood in particular as a communication connection via which data can be output by the device.
  • the communication link can be an electrically conductive connection, for example, by means of which the device can output current and / or voltage levels representing data.
  • buffer as used in the description and the claims is to be understood in particular as a memory element (component) or an addressable area in a memory element (component). This means that a distinction between buffers is based both on a logical distinction, for example with regard to addressable areas in a memory element (component, for example “DP-RAM Page 1, DP-RAM Page 2”), and on a distinction can refer to the storage elements (components) involved.
  • control logic is to be understood in particular to mean a circuit which is set up on the basis of an analysis of the state of the device or of the read and read data supplied to the device / or read / write requests to control the device and in particular to choose from which buffer a data packet is to be made available and into which buffer a data packet is to be written.
  • data packet as used in the description and the claims, is to be understood in particular as binary-coded information which is transmitted / received in a block, the information typically having a context.
  • a data packet often has a fixed structure which enables binary-coded information to be assigned a corresponding section of the data packet.
  • start of reading is to be understood in particular as a point in time immediately before the output of a first bit of a data packet to be provided.
  • the point in time can be calculated, for example, by subtracting from the point in time at which a first bit is actually output the time required by the control logic to decide from which buffer the data packet is to be provided.
  • invalid and “invalid” as used in the description and the claims relate in particular to the correctness of data packets (or to the correctness of the data packet content).
  • An incorrect data packet is, for example, a data packet in which a write error was made when writing to the buffer (and thus the form and / or content of it incorrectly deviates from an advised data packet), or a data packet that is correct in the Buffer was written but contains incorrect information (due to a previous error).
  • a device thus enables a continuous flow of data from the transmitter (data generator) to the receiver (data consumer) by alternately writing data packets into the two buffers and making them available from the two buffers.
  • the device can be used, for example, as a 2-buffer FIFO in automation technology and implemented there in a transceiver.
  • the transceiver can be used, for example, for the forwarding of process data from a field bus to a local bus (for example in a bus coupler or a bus controller).
  • the process data can be written in the 2-buffer FIFO in the form of data packets / data blocks (fixed length).
  • the control logic can monitor that the data corresponds exactly to a previously configured data block length.
  • the data can be identified by the transmitter as “valid” or “invalid”.
  • the sender can declare the data invalid while writing. With a "valid" signal, on the other hand, the sender can announce that the data provided is valid.
  • the receiver can also be supplied with data from the other buffer in order to receive the last valid data. It is also possible to provide a data packet while the data packet is being written into the buffer.
  • the control logic is preferably set up to mark a data packet as invalid if, while the data packet is being provided from one of the buffers, a data packet is started to be written into one of the buffers.
  • control logic is set up to mark a data packet as invalid if, while a data packet is provided from a buffer, a part of the data packet that is still to be read is overwritten.
  • control logic is set up to generate a read error signal when a data packet is read out, which is identified as invalid during or after the writing of the data packet.
  • the transmission of invalid or out-of-date data packets can thus be avoided.
  • the read error signal thus indicates whether a currently read data packet is valid or not.
  • control logic is set up to provide the data packet, which is to be output via the data output, from the buffer that was last described when no data packet is written into the address areas at the start of the reading and in the buffer described last written data packet is marked as valid.
  • control logic is set up to provide the same latest valid data packet until a newer, valid data packet is available.
  • the last valid data can thus be output (or read) several times until newer valid data is written to the FIFO. This can ensure that the recipient can be continuously supplied with data that is valid (if there is no error).
  • control logic is preferably set up to generate an overflow signal when a valid data packet is overwritten without having been read out.
  • the control logic is preferably set up to generate an underflow signal if a valid data packet is read out several times.
  • the device can be in a system (for example
  • Automation system that integrates a transmitter (e.g. a sensor) and has a receiver (for example a central control unit) in order to provide a continuous stream of data packets transmitted by the transmitter, buffered.
  • a transmitter e.g. a sensor
  • a receiver for example a central control unit
  • the transmitter is set up to read back a data packet from the buffer that has the latest valid data packet and to write it back into the device if the transmitter does not have a more current valid data packet, but is set up to do so at certain times Write data packet into the device.
  • a method for transmitting data packets from a transmitter to a receiver by means of a device with a first buffer and a second buffer and a control logic comprises writing data packets into the first buffer or the second buffer and labeling the data packets as valid or invalid, and reading a data packet from the first buffer if the data packet is written into the first buffer at the time of a start of reading out, and reading out the data packet from the second buffer if the data packet is started at the time of reading out is written into the second buffer, and the data packet is read out of the buffer which has the latest valid data packet if no data packet is written into the buffers at the start of the reading.
  • the method further comprises generating a read error signal if, while a data packet is being read from one of the buffers, a data packet is started to be written into one of the buffers.
  • the method further comprises generating a read error signal when a data packet is read out, which is identified as invalid during or after the writing of the data packet.
  • the method preferably further comprises generating an overflow signal (“overflow signal”) if a valid data packet is overwritten without having been read out.
  • the method preferably furthermore comprises generating an underflow signal (“underflow signal”) when a valid data packet is read out several times.
  • the method preferably further comprises generating an empty signal if no buffer has a valid data packet.
  • the method further comprises reading back, by the transmitter, a data packet and rewriting the read back data packet into a buffer if the transmitter does not have a more current valid data packet, but is set up to transmit a data packet at certain times Device to write.
  • FIG. 1 shows a device according to the invention in accordance with an embodiment
  • FIG. 2 illustrates a state of the device shown in FIG. 1, in which neither write nor read access takes place
  • FIG. 3 illustrates a state of the device shown in FIG. 1 in which there is no write but read access
  • FIG. 4 illustrates a state of the device shown in FIG. 1, in which write and read access take place
  • FIG. 5 illustrates a state of the device shown in FIG. 1 in which a read-back access takes place
  • FIG. 6 illustrates a state of the device shown in FIG. 1 in which write and read-back access take place; 7-24 illustrate exemplary sequences of write and read accesses; and
  • 25 shows a flowchart of a method for transmitting data packets from a transmitter to a receiver.
  • the device 10 comprises a data input 12 and a data output 14. Via the data input 12, the device 10 is connected to a transmitter 16 (data producer). The transmitter 16 generates data packets at regular intervals, which are to be transmitted to a receiver 18 (data consumers). The receiver 18 is connected to the data output 14 of the device 10 and requests data packets at regular intervals, or reads data packets from the device 10 at regular intervals.
  • a transmitter 16 data producer
  • the transmitter 16 generates data packets at regular intervals, which are to be transmitted to a receiver 18 (data consumers).
  • the receiver 18 is connected to the data output 14 of the device 10 and requests data packets at regular intervals, or reads data packets from the device 10 at regular intervals.
  • the device 10 further comprises a first buffer 20, a second buffer 22 and a control logic 24.
  • the control logic 24 is set up to receive data packets via the data input 12 in the first buffer 20 or the second To direct buffer 22.
  • the control logic 24 can establish a data connection between the data input 12 and the first buffer 20 or a data connection between the data input 12 and the second buffer 22 by means of a first switch 26.
  • first switch 26 Depending on the position of the first switch 26, data packets received via the data input 12 are thus written into the first buffer 20 or into the second buffer 22.
  • the control logic 24 is also set up to mark data packets written in the first buffer 20 or the second buffer 22 as valid (invalid) or as invalid (invalid). Marking a data packet as valid or invalid can be based on a signal from transmitter 16, for example when transmitter 16 signals that a data packet is faulty.
  • the transmitter 16 can be connected to the control logic 24 via a first control line 28 and can indicate to the control logic 24 during the writing of a data packet or after the writing of the data packet whether the data packet or the written part of the data packet is valid or are invalid.
  • the transmitter 16 can also announce a write access to the device 10 to the control logic 24 via the first control line 28 or indicate completion of a write access.
  • the control logic 24 is also set up to provide data packets that are to be output via the data output from the first buffer 20 or the second buffer 22.
  • the control logic 24 can establish a data connection between the first buffer 20 and the data output 14 or a data connection between the second buffer 22 and the data output 14 via a second changeover switch 30.
  • data packets output via the data output 14 are read out of the first buffer 20 or the second buffer 22.
  • the same data packet can be provided several times in succession, as long as no newer (valid) data packet is written into the device 10.
  • the receiver 18 can be connected to the control logic 24 via a second control line 32.
  • the control logic 24 can indicate to the receiver 18 during the reading out of a data packet or after the reading out of the data packet has ended whether the data packet or the part of the data packet read out is valid or invalid.
  • the receiver 18 can also announce a read access to the device 10 to the control logic 24 via the second control line 32 or indicate completion of a read access.
  • the control logic 24 can also track which buffer 20, 22 is described with a valid data packet and how old the data packets stored in the buffers 20, 22 are. 2 illustrates a state of the device 10 shown in FIG. 1, in which neither write nor read access takes place.
  • the first buffer 20 comprises a first data packet and the second buffer 22 a second data packet.
  • the control logic 24 determines which of the data packets is valid. If only one of the data packets is valid, the device 10 makes this data packet available to the receiver 18. If both data packets are valid, the device 10 provides the receiver 18 with the newer of the two valid data packets (ie the data packet with the newer time stamp ti> to). If both data packets were invalid, this would be signaled to the receiver 18 or neither of the two data packets would be provided to the receiver 18.
  • the device 10 If, as shown in FIG. 3, a request is made by the receiver 18 and no new data packet is written into the device 10 at the time of reading, the device 10 provides the receiver 18 with the latest valid data packet (ie the data packet with the newer time stamp ti> to) ready. If, on the other hand, as shown in FIG. 4, a data packet which has a newer time stamp t2> ti is written into the device 10 at the time of the request by the receiver 18, this is made available to the receiver 18. The provision can be canceled if the data packet written in the first buffer 20 is identified as invalid. The data packet written in the first buffer 20 can also be identified as invalid if the receiver 18 overtakes the sender 16 when reading a data packet when the data packet is written and there is therefore a risk that the receiver 18 will be provided with an inconsistent data packet.
  • the control logic 24 is thus set up to provide a data packet, which is to be output via the data output 14, from the first buffer 20 if the data packet is written into the first buffer 20 and the data packet is written out at the time of reading start to be provided to the second buffer 22 if the data packet is written into the second buffer 22 at the time of the start of the readout. If there is no data packet in at the start of reading If the buffers 20, 22 are written, the data packet is made available from the buffer 20, 22 which has the latest valid data packet.
  • the read data packet can be marked as invalid. If the data packet read out is identified as invalid, the readout process can be terminated and the receiver 18 (immediately or at a next readout time) read out the (now latest) data packet from the respective other buffer 20, 22. Alternatively, the receiver 18 can continue the readout process and discard the read data packet.
  • control logic 24 can also mark the data packet as outdated, whereby the receiver 18 can be informed that the data packet is valid but outdated. The receiver 18 can then abort the reading of the data packet, which is now marked as obsolete, and (immediately or at a next reading time) read the (newer) data packet from the respective other buffer 20, 22. Instead of canceling the reading out, the receiver 18 can also completely read out a data packet marked (as invalid and / or outdated) and reject the read data packet or forward it marked as invalid. This can be indicated, for example, if aborting the reading would produce a reading error that would have to be overcome by clearing the buffers 20, 22.
  • a data packet can be read back by the transmitter 16 from a buffer 20, 22.
  • the transmitter 16 can extract information from the read back data packet and transfer this information into a data packet to be written into the device 10 (or replace information in the data packet with the extracted information).
  • information for example, a value, such as a measured value
  • the read-back can be done while reading the Buffers 20, 22 take place as well if no data packet is read out of the buffer 20, 22.
  • the transmitter 16 can read back a data packet from one buffer 20, 22, while the transmitter 16 writes a data packet into the other buffer 20, 22.
  • any buffer 20, 22 (preferably the one described with the latest valid data packet) can also be read out by the receiver 18.
  • FIG. 7 illustrates an exemplary sequence of write and read accesses in the device 10.
  • Fig. 9 illustrates an exemplary sequence of writing
  • Fig. 10 illustrates an exemplary sequence of writing
  • Fig. 11 illustrates an exemplary sequence of write and read accesses in which write and read accesses overlap, thereby reducing transmission latency. If the transmitter 16 identifies a data packet as invalid, the receiver 18 can abort the reading of the data packet or, as shown in FIG. 11, continue the reading and reject the read data packet. For this purpose, the receiver 18 can continuously evaluate the validity signal and discard a data packet if the validity signal signals an invalid data packet while the data packet is being read out.
  • FIG. 12 illustrates an exemplary sequence of write and read accesses, in which a write process begins during a read process.
  • the validity signal is set to “invalid”, so that the receiver 18 cancels the read process or discards the data packet read out.
  • Figure 13 illustrates an exemplary sequence of write
  • Read accesses which differs from the sequence shown in FIG. 12 in that the data packet is identified by the transmitter 16 as invalid. This makes the first one again in the subsequent reading process
  • Read accesses in which a write and a read access are started in the same clock cycle ("clock cycle").
  • the validity signal is set to "invalid", so that the receiver 18 cancels the reading process or discards the data packet read out.
  • Read accesses in which a read access is slower than a parallel write access so that the transmitter 16 begins to write a new data packet, while the receiver reads out an older data packet, so that it is now out of date.
  • the validity signal is set to "invalid", so that the receiver 18 cancels the readout process, discards the read data packet or forwards it as marked as outdated.
  • Read accesses which differs from the sequence shown in FIG. 16 in that the data packet is identified by the transmitter 16 as invalid. As a result, the first data packet is read out again in the subsequent reading process.
  • the receiver 18 illustrates an exemplary sequence of write and read accesses in which a read access to empty buffers 20, 22 takes place. Since the validity signal is set to "invalid", the receiver 18 recognizes that the data packet read out is to be discarded. After a first data packet has been written into a buffer 20, 22 by the transmitter 16, the device 10 signals that it is no longer empty and that a valid data packet can be provided.
  • FIG. 19 illustrates an exemplary sequence of write and read accesses, which differs from the sequence shown in FIG. 18 in that the first data packet is identified by the transmitter 16 as invalid.
  • the validity signal is therefore set to “invalid”, so that the receiver 18 cancels the reading process or discards the data packet read out.
  • Figure 20 illustrates an exemplary sequence of write and read accesses that trigger an overflow signal.
  • a valid data packet is written into a buffer 20, 22 before a valid data packet written previously in the device 10 has been read out.
  • the overflow can, as indicated in Fig. 20, the transmitter 16 and the receiver 18 to different Times are signaled, for example, the transmitter 16 when starting to write the valid data packet and the receiver 18 when reading the valid
  • Figure 21 illustrates an exemplary sequence of write
  • Read accesses which differs from the sequence shown in FIG. 20 in that the receiver 18 tries to read out the data packet, but the readout attempt fails. In this case, no overflow signal is triggered, although the data packet cannot be read out successfully.
  • Fig. 22 illustrates an exemplary sequence of write
  • Read accesses which differs from the sequence shown in FIG. 20 in that a data packet is written into the device, but is marked as invalid, so that the lack of read access does not cause a validly written data packet to be overwritten.
  • Figure 23 illustrates an exemplary sequence of write
  • Read accesses that trigger an underflow signal The same valid data packet is read out twice. As illustrated in FIG. 24, the underflow signal is also triggered when the second readout of the same valid data packet is interrupted or the previously valid data packet is deprecated during the readout and is thus identified as invalid.
  • step 34 data packets are written into the buffers 20, 22 and identified as valid or invalid. If the data packet is written into one of the buffers 20, 22 at the time of reading out a data packet, the data packet is read out of the respective buffers 20, 22 in step 36 or 38. However, if no data packet is written into one of the buffers 20, 22 at the time of reading out, the data packet is read out from the buffer 20, 22 which has the latest valid data packet. As a result, the transmitter 16 can write data into the device 10 at any time and the receiver 18 can read out data from the device 10 at any time.

Landscapes

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

Abstract

What is shown is an apparatus having a data input, a data output, a first buffer, a second buffer and control logic. The control logic is configured to route data packets received via the data input to the first buffer or to the second buffer and to identify them as valid or invalid and to provide data packets needing to be output via the data output from the first buffer or the second buffer. The control logic is further configured to provide a data packet needing to be output via the data output from the first buffer if the data packet is written to the first buffer at the time that reading starts, to provide said data packet from the second buffer if the data packet is written to the second buffer at the time that reading starts and to provide said data packet from the buffer that has the latest valid data packet if no data packet is written to the buffers when reading starts.

Description

VORRICHTUNG ZUR GEPUFFERTEN ÜBERTRAGUNG VON DATEN  DEVICE FOR BUFFERED DATA TRANSFER
GEBIET TERRITORY
[0001] 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. The present invention relates to a device for buffered transmission of data. In particular, the present invention relates to a device with two data buffers (hereinafter referred to as buffers) and control logic which controls write and read accesses to the buffers.
HINTERGRUND BACKGROUND
[0002] 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. Devices for buffered transmission of data are known from the prior art, which have three buffers. Said devices have a buffer for writing data and a buffer for reading data, while the third buffer is used to transfer the data between the ports.
ZUSAMMENFASSUNG SUMMARY
[0003] 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. In this regard, the invention enriches the prior art, as devices and methods according to the invention enable a transmission between a transmitter and a receiver, in which only two buffers are required, the transmitter nevertheless being able to write data into the device at any time.
[0004] 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. A device according to the invention comprises a data input, a data output, a first buffer, a second buffer, and a control logic, wherein the control logic is set up, data packets that are received via the data input in the first buffer or to direct the second buffer and to mark them as valid or invalid, and to provide data packets which are to be output via the data output from the first buffer or the second buffer, the control logic also being set up to provide a data packet which is to be output via the data output to make available from the first buffer if the data packet at the time of a start of reading out is written into the first buffer to provide the data packet from the second buffer if the data packet is written into the second buffer at the time of the start of the readout and to provide the data packet from the buffer which has the latest valid data packet if at the start of the readout no data packet is written into the buffer.
[0005] 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. The term "data input" as used in the description and the claims is to be understood in particular as a communication link via which data can be transmitted to the device. The communication connection can be, for example, an electrically conductive connection, by means of which current and / or voltage levels representing data can be supplied to the device. Furthermore, the term “data output” as used in the description and the claims is to be understood in particular as a communication connection via which data can be output by the device. The communication link can be an electrically conductive connection, for example, by means of which the device can output current and / or voltage levels representing data.
[0006] 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. [0007] 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. Furthermore, the term “buffer” as used in the description and the claims is to be understood in particular as a memory element (component) or an addressable area in a memory element (component). This means that a distinction between buffers is based both on a logical distinction, for example with regard to addressable areas in a memory element (component, for example “DP-RAM Page 1, DP-RAM Page 2”), and on a distinction can refer to the storage elements (components) involved. Furthermore, the term “control logic”, as used in the description and the claims, is to be understood in particular to mean a circuit which is set up on the basis of an analysis of the state of the device or of the read and read data supplied to the device / or read / write requests to control the device and in particular to choose from which buffer a data packet is to be made available and into which buffer a data packet is to be written. Furthermore, the term “data packet”, as used in the description and the claims, is to be understood in particular as binary-coded information which is transmitted / received in a block, the information typically having a context. In addition, a data packet often has a fixed structure which enables binary-coded information to be assigned a corresponding section of the data packet. In addition, the phrase “start of reading”, as used in the description and the claims, is to be understood in particular as a point in time immediately before the output of a first bit of a data packet to be provided.
[0008] 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. The phrase "immediately before" is to be understood so that the time is still so far before the output that the device is able to make decisions regarding the buffer from which the data packet is to be provided. Thus, the point in time can be calculated, for example, by subtracting from the point in time at which a first bit is actually output the time required by the control logic to decide from which buffer the data packet is to be provided.
[0009] 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. [0009] Furthermore, the terms “valid” and “invalid” as used in the description and the claims relate in particular to the correctness of data packets (or to the correctness of the data packet content). An incorrect data packet is, for example, a data packet in which a write error was made when writing to the buffer (and thus the form and / or content of it incorrectly deviates from an advised data packet), or a data packet that is correct in the Buffer was written but contains incorrect information (due to a previous error).
[0010] 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. [0011] 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. A device according to the invention thus enables a continuous flow of data from the transmitter (data generator) to the receiver (data consumer) by alternately writing data packets into the two buffers and making them available from the two buffers. The device can be used, for example, as a 2-buffer FIFO in automation technology and implemented there in a transceiver. The transceiver can be used, for example, for the forwarding of process data from a field bus to a local bus (for example in a bus coupler or a bus controller). The process data can be written in the 2-buffer FIFO in the form of data packets / data blocks (fixed length). The control logic can monitor that the data corresponds exactly to a previously configured data block length.
[0012] 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. After the data has been written into the FIFO, the data can be identified by the transmitter as “valid” or “invalid”. In addition, the sender can declare the data invalid while writing. With a "valid" signal, on the other hand, the sender can announce that the data provided is valid. In the event of an error, the receiver can also be supplied with data from the other buffer in order to receive the last valid data. It is also possible to provide a data packet while the data packet is being written into the buffer.
[0013] 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. [0013] The control logic is preferably set up to mark a data packet as invalid if, while the data packet is being provided from one of the buffers, a data packet is started to be written into one of the buffers.
[0014] 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. [0014] In this way it can be ensured, for example, that the newest data packet is always provided, wherein the data packet can both be available or be made available immediately.
[0015] 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. Preferably, the control logic is set up to mark a data packet as invalid if, while a data packet is provided from a buffer, a part of the data packet that is still to be read is overwritten.
[0016] Somit können Fehler, die entstehen, wenn der Schreibvorgang schneller von statten geht als der Lesevorgang, erkannt werden. [0017] 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. Thus, errors that arise when the writing process takes place faster than the reading process can be recognized. Preferably, the control logic is set up to generate a read error signal when a data packet is read out, which is identified as invalid during or after the writing of the data packet.
[0018] 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. [0018] The transmission of invalid or out-of-date data packets can thus be avoided. The read error signal thus indicates whether a currently read data packet is valid or not.
[0019] 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. Preferably, the control logic is set up to provide the data packet, which is to be output via the data output, from the buffer that was last described when no data packet is written into the address areas at the start of the reading and in the buffer described last written data packet is marked as valid.
[0020] Somit ist sichergestellt, dass immer das aktuellste (gültige) Datenpaket an den Empfänger übermittelt wird. This ensures that the most current (valid) data packet is always transmitted to the recipient.
[0021] Vorzugsweise ist die Steuer-Logik eingerichtet, solange dasselbe neueste valide Datenpaket bereitzustellen, bis ein neueres, valides Datenpaket verfügbar ist. Preferably, the control logic is set up to provide the same latest valid data packet until a newer, valid data packet is available.
[0022] 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. The last valid data can thus be output (or read) several times until newer valid data is written to the FIFO. This can ensure that the recipient can be continuously supplied with data that is valid (if there is no error).
[0023] Vorzugsweise ist die Steuer-Logik eingerichtet, ein Überlauf-Signal („over-flow signal“) zu erzeugen, wenn ein valides Datenpaket überschrieben wird, ohne ausgelesen worden zu sein. [0023] The control logic is preferably set up to generate an overflow signal when a valid data packet is overwritten without having been read out.
[0024] Vorzugsweise ist die Steuer-Logik eingerichtet, ein Unterlauf-Signal („under-flow“ signal) zu erzeugen, wenn ein valides Datenpaket mehrmals ausgelesen wird. [0024] The control logic is preferably set up to generate an underflow signal if a valid data packet is read out several times.
[0025] Die Vorrichtung kann in ein System (bspw. ein The device can be in a system (for example
Automatisierungssystem) integriert sein, das einen Sender (bspw. einen Sensor) und einen Empfänger (bspw. eine zentrale Steuereinheit) aufweist, um einen kontinuierlichen Strom an vom Sender übertragenen Datenpaketen gepuffert bereitzustellen. Automation system) that integrates a transmitter (e.g. a sensor) and has a receiver (for example a central control unit) in order to provide a continuous stream of data packets transmitted by the transmitter, buffered.
[0026] Vorzugsweise ist der Sender 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. Preferably, the transmitter is set up to read back a data packet from the buffer that has the latest valid data packet and to write it back into the device if the transmitter does not have a more current valid data packet, but is set up to do so at certain times Write data packet into the device.
[0027] Ein 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, und ein Auslesen des Datenpakets aus dem zweiten Buffer, wenn zum Zeitpunkt eines Starts des Auslesens das Datenpaket in den zweiten Buffer geschrieben wird, und 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. A method according to the invention for transmitting data packets from a transmitter to a receiver by means of a device with a first buffer and a second buffer and a control logic comprises writing data packets into the first buffer or the second buffer and labeling the data packets as valid or invalid, and reading a data packet from the first buffer if the data packet is written into the first buffer at the time of a start of reading out, and reading out the data packet from the second buffer if the data packet is started at the time of reading out is written into the second buffer, and the data packet is read out of the buffer which has the latest valid data packet if no data packet is written into the buffers at the start of the reading.
[0028] 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. Preferably, the method further comprises generating a read error signal if, while a data packet is being read from one of the buffers, a data packet is started to be written into one of the buffers.
[0029] 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. Preferably, the method further comprises generating a read error signal when a data packet is read out, which is identified as invalid during or after the writing of the data packet.
[0030] Vorzugsweise umfasst das Verfahren ferner ein Erzeugen eines Überlauf- Signals („overflow signal“), wenn ein valides Datenpaket überschrieben wird, ohne ausgelesen worden zu sein. [0031] Vorzugsweise umfasst das Verfahren ferner ein Erzeugen eines Unterlauf-Signals („underflow signal“), wenn ein valides Datenpaket mehrmals ausgelesen wird. [0030] The method preferably further comprises generating an overflow signal (“overflow signal”) if a valid data packet is overwritten without having been read out. [0031] The method preferably furthermore comprises generating an underflow signal (“underflow signal”) when a valid data packet is read out several times.
[0032] Vorzugsweise umfasst das Verfahren ferner ein Erzeugen eines Leer- Signals, wenn kein Buffer ein valides Datenpaket aufweist. [0032] The method preferably further comprises generating an empty signal if no buffer has a valid data packet.
[0033] Vorzugsweise umfasst das Verfahren ferner 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. Preferably, the method further comprises reading back, by the transmitter, a data packet and rewriting the read back data packet into a buffer if the transmitter does not have a more current valid data packet, but is set up to transmit a data packet at certain times Device to write.
KURZBESCHREIBUNG DER ZEICHNUNGEN BRIEF DESCRIPTION OF THE DRAWINGS
[0034] Die Erfindung wird nachfolgend in der detaillierten Beschreibung anhand von Ausführungsbeispielen erläutert, wobei auf Zeichnungen Bezug genommen wird, in denen: [0034] The invention is explained below in the detailed description using exemplary embodiments, reference being made to drawings in which:
Fig. 1 eine erfindungsgemäße Vorrichtung gemäß einem Ausführungsbeispiel zeigt; 1 shows a device according to the invention in accordance with an embodiment;
Fig. 2 einen Zustand der in Fig. 1 gezeigten Vorrichtung illustriert, in dem weder ein Schreib- noch ein Lesezugriff erfolgt; FIG. 2 illustrates a state of the device shown in FIG. 1, in which neither write nor read access takes place;
Fig. 3 einen Zustand der in Fig. 1 gezeigten Vorrichtung illustriert, in dem kein Schreib- aber ein Lesezugriff erfolgt; FIG. 3 illustrates a state of the device shown in FIG. 1 in which there is no write but read access;
Fig. 4 einen Zustand der in Fig. 1 gezeigten Vorrichtung illustriert, in dem ein Schreib- und ein Lesezugriff erfolgen; FIG. 4 illustrates a state of the device shown in FIG. 1, in which write and read access take place;
Fig. 5 einen Zustand der in Fig. 1 gezeigten Vorrichtung illustriert, in dem ein Rücklesezugriff erfolgt; FIG. 5 illustrates a state of the device shown in FIG. 1 in which a read-back access takes place;
Fig. 6 einen Zustand der in Fig. 1 gezeigten Vorrichtung illustriert, in dem ein Schreib- und ein Rücklesezugriff erfolgen; Fig. 7 - Fig. 24 beispielhafte Abfolgen von Schreib- und Lesezugriffen illustrieren; und FIG. 6 illustrates a state of the device shown in FIG. 1 in which write and read-back access take place; 7-24 illustrate exemplary sequences of write and read accesses; and
Fig. 25 ein Flussdiagramm eines Verfahrens zum Übertragen von Datenpaketen von einem Sender zu einem Empfänger zeigt. 25 shows a flowchart of a method for transmitting data packets from a transmitter to a receiver.
[0035] Dabei sind in den Zeichnungen gleiche und funktional ähnliche Elemente durch gleiche Bezugszeichen gekennzeichnet. The same and functionally similar elements are identified by the same reference numerals in the drawings.
DETAILLIERTE BESCHREIBUNG DETAILED DESCRIPTION
[0036] Fig. 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. 1 shows a device 10 according to the invention in accordance with an exemplary embodiment. The device 10 comprises a data input 12 and a data output 14. Via the data input 12, the device 10 is connected to a transmitter 16 (data producer). The transmitter 16 generates data packets at regular intervals, which are to be transmitted to a receiver 18 (data consumers). The receiver 18 is connected to the data output 14 of the device 10 and requests data packets at regular intervals, or reads data packets from the device 10 at regular intervals.
[0037] 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 Daten Verbindung 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. The device 10 further comprises a first buffer 20, a second buffer 22 and a control logic 24. The control logic 24 is set up to receive data packets via the data input 12 in the first buffer 20 or the second To direct buffer 22. For this purpose, the control logic 24 can establish a data connection between the data input 12 and the first buffer 20 or a data connection between the data input 12 and the second buffer 22 by means of a first switch 26. Depending on the position of the first switch 26, data packets received via the data input 12 are thus written into the first buffer 20 or into the second buffer 22.
[0038] 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. The control logic 24 is also set up to mark data packets written in the first buffer 20 or the second buffer 22 as valid (invalid) or as invalid (invalid). Marking a data packet as valid or invalid can be based on a signal from transmitter 16, for example when transmitter 16 signals that a data packet is faulty. For this purpose, the transmitter 16 can be connected to the control logic 24 via a first control line 28 and can indicate to the control logic 24 during the writing of a data packet or after the writing of the data packet whether the data packet or the written part of the data packet is valid or are invalid. The transmitter 16 can also announce a write access to the device 10 to the control logic 24 via the first control line 28 or indicate completion of a write access.
[0039] 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 Daten Verbindung zwischen dem ersten Buffer 20 und dem Datenausgang 14 oder eine Daten Verbindung 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. The control logic 24 is also set up to provide data packets that are to be output via the data output from the first buffer 20 or the second buffer 22. For this purpose, the control logic 24 can establish a data connection between the first buffer 20 and the data output 14 or a data connection between the second buffer 22 and the data output 14 via a second changeover switch 30. Thus, depending on the position of the second switch 30, data packets output via the data output 14 are read out of the first buffer 20 or the second buffer 22. In addition, the same data packet can be provided several times in succession, as long as no newer (valid) data packet is written into the device 10.
[0040] 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. [0041] Fig. 2 illustriert einen Zustand der in Fig. 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 ti > to). Wären beide Datenpakete invalide, würde dies dem Empfänger 18 signalisiert bzw. dem Empfänger 18 keines der beiden Datenpakete bereitgestellt werden. The receiver 18 can be connected to the control logic 24 via a second control line 32. As a result, the control logic 24 can indicate to the receiver 18 during the reading out of a data packet or after the reading out of the data packet has ended whether the data packet or the part of the data packet read out is valid or invalid. The receiver 18 can also announce a read access to the device 10 to the control logic 24 via the second control line 32 or indicate completion of a read access. The control logic 24 can also track which buffer 20, 22 is described with a valid data packet and how old the data packets stored in the buffers 20, 22 are. 2 illustrates a state of the device 10 shown in FIG. 1, in which neither write nor read access takes place. The first buffer 20 comprises a first data packet and the second buffer 22 a second data packet. The control logic 24 determines which of the data packets is valid. If only one of the data packets is valid, the device 10 makes this data packet available to the receiver 18. If both data packets are valid, the device 10 provides the receiver 18 with the newer of the two valid data packets (ie the data packet with the newer time stamp ti> to). If both data packets were invalid, this would be signaled to the receiver 18 or neither of the two data packets would be provided to the receiver 18.
[0042] Erfolgt, wie in Fig. 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 Fig. 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. If, as shown in FIG. 3, a request is made by the receiver 18 and no new data packet is written into the device 10 at the time of reading, the device 10 provides the receiver 18 with the latest valid data packet (ie the data packet with the newer time stamp ti> to) ready. If, on the other hand, as shown in FIG. 4, a data packet which has a newer time stamp t2> ti is written into the device 10 at the time of the request by the receiver 18, this is made available to the receiver 18. The provision can be canceled if the data packet written in the first buffer 20 is identified as invalid. The data packet written in the first buffer 20 can also be identified as invalid if the receiver 18 overtakes the sender 16 when reading a data packet when the data packet is written and there is therefore a risk that the receiver 18 will be provided with an inconsistent data packet.
[0043] 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. The control logic 24 is thus set up to provide a data packet, which is to be output via the data output 14, from the first buffer 20 if the data packet is written into the first buffer 20 and the data packet is written out at the time of reading start to be provided to the second buffer 22 if the data packet is written into the second buffer 22 at the time of the start of the readout. If there is no data packet in at the start of reading If the buffers 20, 22 are written, the data packet is made available from the buffer 20, 22 which has the latest valid data packet.
[0044] Wird, während das neueste valide Datenpaket aus dem zweiten Buffer 22 (wie in Fig. 3) oder dem ersten Buffer 20 (wie in Fig. 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. If, while the newest valid data packet is read out of the second buffer 22 (as in FIG. 3) or the first buffer 20 (as in FIG. 4), a newer (valid) data packet is read into the other buffer 20, 22 written, the read data packet can be marked as invalid. If the data packet read out is identified as invalid, the readout process can be terminated and the receiver 18 (immediately or at a next readout time) read out the (now latest) data packet from the respective other buffer 20, 22. Alternatively, the receiver 18 can continue the readout process and discard the read data packet.
[0045] 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. Instead of marking an (outdated) data packet as invalid, the control logic 24 can also mark the data packet as outdated, whereby the receiver 18 can be informed that the data packet is valid but outdated. The receiver 18 can then abort the reading of the data packet, which is now marked as obsolete, and (immediately or at a next reading time) read the (newer) data packet from the respective other buffer 20, 22. Instead of canceling the reading out, the receiver 18 can also completely read out a data packet marked (as invalid and / or outdated) and reject the read data packet or forward it marked as invalid. This can be indicated, for example, if aborting the reading would produce a reading error that would have to be overcome by clearing the buffers 20, 22.
[0046] Wie in Fig. 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 Fig. 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. As shown in FIG. 5, a data packet can be read back by the transmitter 16 from a buffer 20, 22. For example. The transmitter 16 can extract information from the read back data packet and transfer this information into a data packet to be written into the device 10 (or replace information in the data packet with the extracted information). As a result, information (for example, a value, such as a measured value) can be kept constant in a number of data packets (for example on request, for example “hold-last-value”). The read-back can be done while reading the Buffers 20, 22 take place as well if no data packet is read out of the buffer 20, 22. In addition, as shown in FIG. 6, the transmitter 16 can read back a data packet from one buffer 20, 22, while the transmitter 16 writes a data packet into the other buffer 20, 22. During the read back, any buffer 20, 22 (preferably the one described with the latest valid data packet) can also be read out by the receiver 18.
[0047] Fig.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. FIG. 7 illustrates an exemplary sequence of write and read accesses in the device 10. After a data packet has been written by the transmitter 16 into one of the buffers 20, 22, the receiver 18 begins reading out the data packet. Since the data packet has been marked as valid by the transmitter 16, the device 10 indicates to the receiver 18 at the time of the start of the reading (and beyond) that the data packet read out is valid.
[0048] Fig. 8 illustriert eine beispielhafte Abfolge von Schreib- und8 illustrates an exemplary sequence of writing and
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. Read accesses in which a data packet written in a buffer 20, 22 (during or after the completion of the write process) is identified as invalid. However, since the device 10 has a valid data packet that has been made available, the validity signal can remain on “valid”.
[0049] Fig. 9 illustriert eine beispielhafte Abfolge von Schreib- undFig. 9 illustrates an exemplary sequence of writing and
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. Read accesses in which a valid data packet is read out repeatedly until the transmitter 16 provides a newer valid data packet. Since a valid data packet is available in the device 10 at any time, which can be provided, the validity signal can remain on "valid".
[0050] Fig. 10 illustriert eine beispielhafte Abfolge von Schreib- undFig. 10 illustrates an exemplary sequence of writing and
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. [0051] Fig. 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 Fig. 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. Read accesses where the receiver 18 misses to fetch a data packet. Since the latest valid data packet is always provided to the receiver 18, the missed data packet is no longer delivered to the receiver and is lost. Fig. 11 illustrates an exemplary sequence of write and read accesses in which write and read accesses overlap, thereby reducing transmission latency. If the transmitter 16 identifies a data packet as invalid, the receiver 18 can abort the reading of the data packet or, as shown in FIG. 11, continue the reading and reject the read data packet. For this purpose, the receiver 18 can continuously evaluate the validity signal and discard a data packet if the validity signal signals an invalid data packet while the data packet is being read out.
[0052] Fig. 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. FIG. 12 illustrates an exemplary sequence of write and read accesses, in which a write process begins during a read process. By inserting the write process during the read process, the validity signal is set to “invalid”, so that the receiver 18 cancels the read process or discards the data packet read out.
[0053] Fig. 13 illustriert eine beispielhafte Abfolge von Schreib- undFigure 13 illustrates an exemplary sequence of write and
Lesezugriffen, die sich von der in Fig. 12 gezeigten Abfolge dadurch unterscheidet, dass das Datenpaket vom Sender 16 als invalide gekennzeichnet wird. Dadurch wird im darauffolgenden Lesevorgang erneut das ersteRead accesses, which differs from the sequence shown in FIG. 12 in that the data packet is identified by the transmitter 16 as invalid. This makes the first one again in the subsequent reading process
Datenpaket ausgelesen. Data packet read out.
[0054] Fig. 14 illustriert eine beispielhafte Abfolge von Schreib- und14 illustrates an exemplary sequence of writing and
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. Read accesses, in which a write and a read access are started in the same clock cycle ("clock cycle"). In this case, the validity signal is set to "invalid", so that the receiver 18 cancels the reading process or discards the data packet read out.
[0055] Fig. 15 illustriert eine beispielhafte Abfolge von Schreib- und15 illustrates an exemplary sequence of writing and
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. [0056] Fig. 16 illustriert eine beispielhafte Abfolge von Schreib- undRead accesses in which a write access is slower than a parallel read access (which is directed to the same data packet), so that the receiver 18 "overtakes" the transmitter 16 during the buffer access. As a result, the validity signal is set to “invalid”, so that the receiver 18 cancels the reading process or discards the data packet read out. Figure 16 illustrates an exemplary sequence of write and
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. Read accesses in which a read access is slower than a parallel write access, so that the transmitter 16 begins to write a new data packet, while the receiver reads out an older data packet, so that it is now out of date. As a result, the validity signal is set to "invalid", so that the receiver 18 cancels the readout process, discards the read data packet or forwards it as marked as outdated.
[0057] Fig. 17 illustriert eine beispielhafte Abfolge von Schreib- und17 illustrates an exemplary sequence of writing and
Lesezugriffen, die sich von der in Fig. 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. Read accesses, which differs from the sequence shown in FIG. 16 in that the data packet is identified by the transmitter 16 as invalid. As a result, the first data packet is read out again in the subsequent reading process.
[0058] Fig. 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. 18 illustrates an exemplary sequence of write and read accesses in which a read access to empty buffers 20, 22 takes place. Since the validity signal is set to "invalid", the receiver 18 recognizes that the data packet read out is to be discarded. After a first data packet has been written into a buffer 20, 22 by the transmitter 16, the device 10 signals that it is no longer empty and that a valid data packet can be provided.
[0059] Fig. 19 illustriert eine beispielhafte Abfolge von Schreib- und Lesezugriffen, die sich von der in Fig. 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. 19 illustrates an exemplary sequence of write and read accesses, which differs from the sequence shown in FIG. 18 in that the first data packet is identified by the transmitter 16 as invalid. The validity signal is therefore set to “invalid”, so that the receiver 18 cancels the reading process or discards the data packet read out.
[0060] Fig. 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 Fig. 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 validenFigure 20 illustrates an exemplary sequence of write and read accesses that trigger an overflow signal. In this case, a valid data packet is written into a buffer 20, 22 before a valid data packet written previously in the device 10 has been read out. The overflow can, as indicated in Fig. 20, the transmitter 16 and the receiver 18 to different Times are signaled, for example, the transmitter 16 when starting to write the valid data packet and the receiver 18 when reading the valid
Datenpakets. Data packet.
[0061] Fig. 21 illustriert eine beispielhafte Abfolge von Schreib- undFigure 21 illustrates an exemplary sequence of write and
Lesezugriffen, die sich von der in Fig. 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. Read accesses, which differs from the sequence shown in FIG. 20 in that the receiver 18 tries to read out the data packet, but the readout attempt fails. In this case, no overflow signal is triggered, although the data packet cannot be read out successfully.
[0062] Fig. 22 illustriert eine beispielhafte Abfolge von Schreib- undFig. 22 illustrates an exemplary sequence of write and
Lesezugriffen, die sich von der in Fig. 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. Read accesses, which differs from the sequence shown in FIG. 20 in that a data packet is written into the device, but is marked as invalid, so that the lack of read access does not cause a validly written data packet to be overwritten.
[0063] Fig. 23 illustriert eine beispielhafte Abfolge von Schreib- undFigure 23 illustrates an exemplary sequence of write and
Lesezugriffen, die ein Unterlaufsignal auslöst. Dabei wird zweimal das gleiche valide Datenpaket ausgelesen. Wie in Fig. 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. Read accesses that trigger an underflow signal. The same valid data packet is read out twice. As illustrated in FIG. 24, the underflow signal is also triggered when the second readout of the same valid data packet is interrupted or the previously valid data packet is deprecated during the readout and is thus identified as invalid.
[0064] Fig. 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 Vorrichtung 25 illustrates a flowchart of a method for transmitting data packets from the transmitter 16 to the receiver 18. As explained in more detail above, in step 34 data packets are written into the buffers 20, 22 and identified as valid or invalid. If the data packet is written into one of the buffers 20, 22 at the time of reading out a data packet, the data packet is read out of the respective buffers 20, 22 in step 36 or 38. However, if no data packet is written into one of the buffers 20, 22 at the time of reading out, the data packet is read out from the buffer 20, 22 which has the latest valid data packet. As a result, the transmitter 16 can write data into the device 10 at any time and the receiver 18 can read out data from the device 10 at any time. REFERENCE SIGN LIST Device
Dateneingang data input
Datenausgang data output
Sender Channel
Empfänger receiver
Erster Buffer First buffer
Zweiter Buffer Second buffer
Steuer-Logik Control logic
Erster Umschalter First switch
Steuerleitung control line
Zweiter Umschalter Second switch
Steuerleitung control line
Verfahrensschritt step
Verfahrensschritt step
Verfahrensschritt step
Verfahrensschritt step

Claims

ANSPRÜCHE l. Vorrichtung (io) mit CLAIMS l. Device (io) with
- einem Dateneingang (12), - a data input (12),
- einem Datenausgang (14), - a data output (14),
- einem ersten Buffer (20), - a first buffer (20),
- einem zweiten Buffer (22), und - a second buffer (22), and
- einer Steuer-Logik (24), wobei die Steuer-Logik (24) eingerichtet ist, - a control logic (24), the control logic (24) being set up,
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 To forward data packets which are received via the data input (12) into the first buffer (20) or the second buffer (22) and to mark them as valid or invalid, and
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 To provide data packets to be output via the data output (14) from the first buffer (20) or the second buffer (22), the control logic (24) also being set up to provide a data packet which is to be output via the data output (14). is to be output: from the first buffer (20) if the data packet is written into the first buffer (20) at the time of a start of the reading; to be made available from the second buffer (22) if the data packet is written into the second buffer (22) at the time of the start of the readout; and to provide from the buffer (20, 22) that has the latest valid
Datenpaket aufweist, wenn beim Start des Auslesens kein Datenpaket in die Buffer (20, 22) geschrieben wird. Data packet if no data packet is written into the buffers (20, 22) when the reading is started.
2. Vorrichtung (10) nach Anspruch 1, wobei die Steuer-Logik eingerichtet ist, ein Datenpaket als invalide zu kennzeichnen, wenn, während das 2. The device (10) according to claim 1, wherein the control logic is set up to mark a data packet as invalid if, during that
Datenpaket aus einem der Buffer ausgelesen wird, begonnen wird, ein Data packet is read from one of the buffers that is started
Datenpaket in einen der Buffer zu schreiben. Write data packet into one of the buffers.
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. 3. Device (10) according to claim 1 or 2, wherein the control logic (24) is set up to mark a data packet as invalid if, while a data packet is being read out of a buffer (20, 22), a part still to be read out of the data packet is overwritten.
4. Vorrichtung (10) nach einem der Ansprüche 1 bis 3, wobei die Steuer- Logik (24) eingerichtet ist, ein Lesefehlersignal zu erzeugen, wenn ein 4. The device (10) according to any one of claims 1 to 3, wherein the control logic (24) is set up to generate a read error signal when a
Datenpaket ausgelesen wird, welches während oder nach dem Schreiben des Datenpakets als invalide gekennzeichnet wird. Data packet is read out, which is identified as invalid during or after the writing of the data packet.
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. 5. The device (10) according to any one of claims 1 to 4, wherein the control logic (24) is set up to provide the data packet to be output via the data output (14) from the buffer (20, 22) that is last has been described if no data packet is written into the buffers (20, 22) at the start of the reading and the data packet written in the last described buffer (20, 22) is marked as valid.
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. 6. The device (10) according to one of claims 1 to 5, wherein the control logic (24) is set up to provide the same latest valid data packet until a newer, valid data packet is available.
7. Vorrichtung (10) nach einem der Ansprüche 1 bis 6, wobei die Steuer- Logik (24) eingerichtet ist: 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. 7. The device (10) according to any one of claims 1 to 6, wherein the control logic (24) is set up: to generate an overflow signal when a valid data packet is overwritten without having been read out; and / or to generate an underflow signal if a valid data packet is read out several times.
8. System, mit 8. System with
- einem Sender (16), - a transmitter (16),
- einem Empfänger (18), und - a receiver (18), and
- einer Vorrichtung (io) nach einem der Ansprüche l bis 6, wobei die - A device (io) according to any one of claims 1 to 6, wherein the
Vorrichtung (io) eingerichtet ist, dem Empfänger (18) einen kontinuierlichen Strom an vom Sender (16) übertragenen Datenpaketen gepuffert Device (io) is set up, the receiver (18) buffers a continuous stream of data packets transmitted by the transmitter (16)
bereitzustellen. provide.
9. System nach Anspruch 8, 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. 9. System according to claim 8, wherein the transmitter (16) is set up to read back a data packet from the buffer (20, 22) which has the latest valid data packet and to write it again into the device (10) when the transmitter ( 16) does not have a more current valid data packet, but is set up to write a data packet into the device (10) at certain times.
io. Verfahren zum Übertragen von Datenpaketen von einem Sender (16) zu einem Empfänger (18) mittels einer Vorrichtung (io) 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 io. A method for transmitting data packets from a transmitter (16) to a receiver (18) by means of a device (io) with a first buffer (20) and a second buffer (22) and control logic (24), comprising: Writing (34) data packets into the first buffer (20) or the second buffer (22) and marking the data packets as valid or invalid, and
Auslesen (36) eines Datenpakets aus dem ersten Buffer (20), wenn zum Reading out (36) a data packet from the first buffer (20) when
Zeitpunkt eines Starts des Auslesens das Datenpaket in den ersten Buffer (20) geschrieben wird, und Time of a start of reading the data packet is written into the first buffer (20), and
Auslesen (38) des Datenpakets aus dem zweiten Buffer (22), wenn zum Reading out (38) the data packet from the second buffer (22) if for
Zeitpunkt eines Starts des Auslesens das Datenpaket in den zweiten Buffer (22) geschrieben wird, und Time of a start of reading the data packet is written into the second buffer (22), and
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. Reading out (40) the data packet from the buffer (20, 22) which has the latest valid data packet if no data packet is written into the buffers (20, 22) at the start of the reading out.
li. Verfahren nach Anspruch io, ferner umfassend: li. The method of claim io, further comprising:
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. Generating a read error signal if, while a data packet is being read from one of the buffers (20, 22), a data packet is started to be written into one of the buffers (20, 22).
12. Verfahren nach Anspruch 10 oder 11, ferner umfassend: 12. The method of claim 10 or 11, further comprising:
Erzeugen eines Lesefehlersignals, wenn ein Datenpaket ausgelesen wird, welches während oder nach dem Schreiben des Datenpakets als invalide gekennzeichnet wird. Generating a read error signal when reading out a data packet which is identified as invalid during or after the writing of the data packet.
13. Verfahren nach einem der Ansprüche 10-12, ferner umfassend: 13. The method according to any one of claims 10-12, further comprising:
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. Generating an overflow signal when a valid data packet is overwritten without being read out; and or Generation of an underflow signal if a valid data packet is read out several times.
14. Verfahren nach einem der Ansprüche 10-13, ferner umfassend: 14. The method according to any one of claims 10-13, further comprising:
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. Read back, by the transmitter (16), of a data packet and rewrite the read data packet in a buffer (20, 22) if the transmitter (16) does not have a more current valid data packet, but is set up to transmit a data packet at certain times to write the device (10).
EP19770169.1A 2018-07-17 2019-06-24 Apparatus for buffered transmission of data Pending EP3824604A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102018005618.0A DE102018005618B4 (en) 2018-07-17 2018-07-17 Device for the buffered transmission of data
PCT/IB2019/055289 WO2020016681A1 (en) 2018-07-17 2019-06-24 Apparatus for buffered transmission of data

Publications (1)

Publication Number Publication Date
EP3824604A1 true EP3824604A1 (en) 2021-05-26

Family

ID=67997651

Family Applications (1)

Application Number Title Priority Date Filing Date
EP19770169.1A Pending EP3824604A1 (en) 2018-07-17 2019-06-24 Apparatus for buffered transmission of data

Country Status (5)

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

Family Cites Families (12)

* 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
CN102640462B (en) * 2009-11-11 2015-12-09 新思科技有限公司 Integrated circuit for Buffering Service request is arranged
JP2011150684A (en) * 2009-12-21 2011-08-04 Sony Corp Cache memory and cache memory control device
JP5583563B2 (en) 2010-12-06 2014-09-03 オリンパス株式会社 Data processing device
US9641464B2 (en) * 2012-04-30 2017-05-02 Nxp Usa, Inc. FIFO buffer system providing same clock cycle response to pop commands
JP2014191622A (en) * 2013-03-27 2014-10-06 Fujitsu Ltd Processor
US9524242B2 (en) * 2014-01-28 2016-12-20 Stmicroelectronics International N.V. Cache memory system with simultaneous read-write in single cycle
EP3169002B1 (en) * 2015-11-13 2019-01-02 Airbus Operations GmbH Method for transmitting prioritized data and a transmitter
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

Also Published As

Publication number Publication date
US20210144100A1 (en) 2021-05-13
WO2020016681A1 (en) 2020-01-23
US11570121B2 (en) 2023-01-31
CN112352403A (en) 2021-02-09
DE102018005618A1 (en) 2020-01-23
DE102018005618B4 (en) 2021-10-14
CN112352403B (en) 2023-12-19

Similar Documents

Publication Publication Date Title
DE2922597A1 (en) CACHE STORAGE AND METHOD FOR OPERATING A DATA PROCESSING SYSTEM
DE102014108457B3 (en) Network distributor
DE19847701A1 (en) Automatically adapting equipment to data transmission protocol for portable analyzer in which protocol in use is determined in identification phase and communication performed accordingly in subsequent phase
DE2640756A1 (en) DEVICE FOR SECURE DATA TRANSFER IN TRACK-BASED VEHICLES
EP0329005A1 (en) Method for establishing virtual circuits via switches of a multistage switching arrangement
DE3635106C2 (en)
DE112012005479T5 (en) Forwarding device, communication harness and communication system
EP3378212B1 (en) Method for operating a communication network, controller, and data processing device
DE102008019277A1 (en) Data transfer device
DE102014105207B4 (en) Method for operating a communication network and communication network
DE2746337B1 (en) Method and circuit arrangement for testing a data transmission system using a test loop
DE102018005618B4 (en) Device for the buffered transmission of data
DE19514814B4 (en) Transmission device and transmission method for calibration data of a semiconductor test device
DE102018010314A1 (en) Device for the buffered transmission of data
DE2442673C2 (en) Device for inserting control data into the voice memory of a time division switch
EP2087655B1 (en) Method for sending a data transfer block and method and system for transferring a data transfer block
EP1642207A1 (en) Allocation of station addresses to communication users in a bus system
DE3136586A1 (en) Method and circuit arrangement for transmitting signals between any control devices of a clock-controlled highway system which is operated as a function of direction
EP1680895B1 (en) Unit of the transmission of data in a serial bidirectional bus
EP0215276A1 (en) Method and circuit arrangement for the transmission of data signals to a group of control devices within a loop system
EP0214476B1 (en) Method and circuit arrangement for the transmission of data signals between two control devices within a loop system
DE2416268A1 (en) DATA TRANSMISSION DEVICE FOR A PLANT WITH AT LEAST TWO CENTRAL CONTROL UNITS, PERIPHERAL CONTROL UNITS AND SEVERAL GROUPS OF CONTROLLED UNITS
EP3824393A1 (en) Circuit for a buffered transmission of data
EP0111123A1 (en) Method and arrangement for the realization of continuous data transfer using a streaming-method during the execution of input/output operations in selector or block multiplex channels of an input-output control unit of a data processing system
DE102022102143A1 (en) Procedure for automatically assigning addresses in a Modbus communication network

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20201118

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
P01 Opt-out of the competence of the unified patent court (upc) registered

Effective date: 20230524

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20231011