WO2000054141A1 - System und verfahren zur übertragung von datentelegrammen mit wechselseitiger belegung von mindestens drei datenpuffern - Google Patents

System und verfahren zur übertragung von datentelegrammen mit wechselseitiger belegung von mindestens drei datenpuffern Download PDF

Info

Publication number
WO2000054141A1
WO2000054141A1 PCT/DE2000/000584 DE0000584W WO0054141A1 WO 2000054141 A1 WO2000054141 A1 WO 2000054141A1 DE 0000584 W DE0000584 W DE 0000584W WO 0054141 A1 WO0054141 A1 WO 0054141A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
buffer
processing device
buffers
data processing
Prior art date
Application number
PCT/DE2000/000584
Other languages
English (en)
French (fr)
Inventor
Dieter Klotz
Karl Kauer
Original Assignee
Siemens Aktiengesellschaft
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 Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Publication of WO2000054141A1 publication Critical patent/WO2000054141A1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's

Definitions

  • the invention relates to a system and a method for exchanging transmission and reception data between a first data processing device and a second data processing device.
  • Such a system is used, for example, for the transmission of data signals via a data bus.
  • received data When communicating via a data bus, received data must be saved and data to be sent made available. Since the data rate on a data bus is generally relatively low compared to the computing power of the data processing device that processes and provides the data signals, waiting times arise when receiving and transmitting the data signals if there is no decoupling from processing or providing for sending or receiving. These waiting times lead to a relatively low data throughput and to high reaction times on the data bus.
  • the object of the invention is to achieve processing of transmission and reception data that is as parallel as possible while at the same time making good use of available storage space.
  • the system is used to transmit data signals consisting of data telegrams with a predefinable data telegram length, consisting of a first data processing device, a control device, a second data Processing device and from at least three data buffers.
  • the data buffers are used for the mutual storage of send data and receive data.
  • the control unit assigns the data processing device at least one send buffer for the selection and provision of send data or at least one receive buffer for processing and disposing of receive data.
  • the additional send or receive buffer is used as a buffer.
  • the control unit assigns the data processing device a send buffer with data for sending over a data bus and a receive buffer for entering data received from the data bus.
  • the allocation of the data buffers is controlled and managed by a control device in such a way that the data buffers are dynamically assigned as the send and / or receive buffer of the first and / or the second data processing device.
  • the data processing is decoupled in time from a pure sending and receiving of the data signals. This creates the greatest possible parallel work when sending and receiving the data processing devices.
  • the data buffers are allocated dynamically as receive buffers or as send buffers. For example, one receive buffer and one transmit buffer can be assigned to the first data processing device, for example.
  • the third data buffer is used by the control device as
  • Buffer used for either received data or data to be sent Depending on the state, it is therefore possible for there to be two receive and one transmit buffer or one receive and two transmit buffer. Overall, there is an optimal use of existing data buffer resources. In addition, it is ensured at all times that each data processing device is always assigned at least one buffer. in which it can either enter new data or process received data.
  • the data consistency in the transmission of the data signals can be ensured in that the data buffers are provided for receiving a maximum permissible data telegram length, the second data processing device for further processing of the data telegrams being provided only after a data telegram has been completely received.
  • the buffer management can be designed to be very flexible in that the data buffers are dynamically allocated by the control device as send and / or receive buffers according to the operating state.
  • a three-stage alternating buffer concept in which waiting times during the transmission of the data signals are avoided, can be further supported in that one of the data buffers is provided by the control device for further data telegrams to be sent or received.
  • the most variable possible allocation of available memory resources is achieved by assigning the data buffers from the control device as a send and / or receive buffer to the first and / or second data processing device using address data to identify the address of the respective data buffer.
  • the address data serve as an address pointer for identifying the address of the respective data buffer in the memory device, which is designed as RAM, for example.
  • FIG. 1 shows a block diagram of a system for sending or receiving data signals consisting of data telegrams with a predeterminable data telegram length
  • FIG. 2 shows a block diagram of a system for sending or receiving data signals consisting of data telegrams with a predeterminable data telegram length with data buffers integrated in the second data processing device and control device
  • FIGS. 3-8 each show a tabular representation of the operating mode of the data processing devices and of the data buffer assignment for various transmission examples.
  • FIG. 1 shows a block diagram of a system for sending and receiving data signals consisting of data telegrams 5, 6 with a predeterminable data telegram length, consisting of a first data processing device DV1, a control device 2, a second data processing device DV2 and at least three data buffers 4.
  • data telegrams 5, 6 for the data bus transmit data
  • data bus receive data
  • predeterminable data telegram length are transmitted with the aid of data buffers P1, P2, P3 from the first data processing device DV1 to the second data processing device DV2 and in the opposite direction.
  • the data exchange is provided, for example, between a slow 1 (eg Profibus) and a fast 3 data bus, in particular for data transmission within an automation system.
  • a slow 1 eg Profibus
  • the transmission of data Programs 5, 6 take place via a control device 2, which controls the allocation of data buffers P1, P2, P3.
  • the data buffers P1, P2, P3 are part of a memory device 4.
  • the control device 2 is coupled to the memory device 4 via a data connection 7.
  • the allocation of the data buffers Pl ... P3 as send and / or receive buffers of the data processing devices 1, 3 takes place dynamically, i.e. there is a separation of the data processing in DV2 from the pure sending and receiving of the data by DVl. This results in an effective use of the available storage resources.
  • the data buffers Pl ... P3 are assigned by the control device 2, which, for example, assign address data in the form of a pointer to specific memory areas which identify a respective data buffer Pl ... P3.
  • the control device 2 thus synchronizes the two data processing devices DV1, DV2.
  • One application of the system shown in FIG. 1 is, for example, data exchange between two processors.
  • P3 are designed so that they can accommodate a maximum possible telegram length, for example 256 bytes. Due to the existing three data buffers Pl ... P3, which are each dynamically assigned as send or receive buffers, a three-stage swap buffer concept is created which enables the two data processing devices to work as parallel as possible. This results in a reduction in mutual waiting times.
  • FIG 2 shows a block diagram of a system for sending or receiving data signals consisting of data telegrams with a predeterminable data telegram length, consisting of a first data processing device DV1, a control device 2 and a second data processing device DV2 with integrated data buffers 4 already used in connection with FIG 1 reference numerals.
  • the data processing device device DV2 has a control device 2 and three data buffers P1, P2, P3. Data telegrams 5, 6 are exchanged between the first DV1 and the second DV2 data processing device via the data buffers.
  • the special feature of the exemplary embodiment shown in FIG. 2 is that the control device 2 and the data buffers Pl ... P3 are integrated in the second data processing device DV2.
  • the first data processing device DV1 is, for example, a transmitting / receiving unit, while the second data processing device DV2 is designed, for example, as a processing unit, for example as a processor.
  • the data processing with the aid of the data buffers is decoupled in time from the pure sending and receiving of the data 5, 6 by DV1 from the selection, processing and disposal by DV2.
  • the first data processing device DV1, as the transmitting / receiving unit outputs or receives the data in accordance with a bus protocol on the data bus.
  • the second data processing device DV2 designed as a processor prepares the data to be sent, processes and disposes of received data.
  • Working as parallel as possible of the two data processing devices is made possible in that the data exchange between the two data processing devices takes place via a three-stage removable buffer concept, as has already been explained in connection with FIG. 1 and is described in more detail with reference to FIGS. 3 to 8.
  • first column 11 and in the second column 12 is the respective buffer occupancy of the first data processing device DV1, in the 3rd to 5th columns 13 ... 15 the data content assigned to the respective data buffer P1, P2, P3 , in columns 16, 17 each the buffer assignment of the second data processing device DV2 and in the last column 18 the buffer assignments assigned to the respective buffer assignments Time ranges tl ... t4 entered.
  • the fields in the table in which DVI enters the data currently received in a data buffer or sends data from a send buffer are highlighted in dark. The same applies to fields in which DV2 reads and evaluates data from a receive buffer at this point in time or enters transmit data in a data buffer.
  • FIG. 3 shows a first table T1 for an error-free reception of a new call (i.e. no telegram repetition) and a transmission of the response. It can be seen from the line assigned to the time range tl that the first data buffer P1 is written with a data telegram En, the first data buffer P1 being assigned to the first data processing device DV1. The first data processing device DV1 thus receives the data telegram En from the data bus and enters it in P1. The second data buffer is not occupied in the first time period tl of table T1.
  • Send data Sn-1 are contained in the third data buffer P3.
  • the data telegram Sn-1 is, for example, old response data that was sent by the first data processing device DV1 in response to a previous call telegram.
  • DV2 reads the received telegram header from En. After the evaluation of the telegram header, the second data processing device DV2 enters the response telegram Sn into the data buffer P2 at time t3 while it is still being received.
  • the third data buffer P3 still contains the old response telegram Sn-1.
  • the occupancy status of the data buffers P1, P2 is unchanged from the second time period t2.
  • the first data processing device DVl sends in after complete, valid reception
  • FIG 4 shows a second table T2 for an error-free reception of a retry and a transmission of the old response.
  • the second data buffer P2 remains empty.
  • the first data processing device DV1 enters the received data En into the data buffer P1 at times t1 and t2.
  • the second data processing device DV2 After receiving the telegram header from En, the second data processing device DV2 already begins evaluating the received data entered in PI.
  • DV2 recognizes that this is a repetition and causes the control unit not to change the transmit buffer for DV1.
  • DV1 sends the old response data Sn-1 from data buffer P3 accordingly.
  • FIG. 5 shows a third table T3 for an incorrect reception of a new call.
  • the behavior at times t1, t2 and t3 is identical to table T1. Due to a reception error at time t4, the received data entered in data buffer P1 and the response data entered in data buffer P2 are discarded. The data buffer P1 is thus again available for new received data.
  • the first data processing device DV1 receives the data telegram En in the first data buffer P1, while the third data buffer P3 still contains old response data Sn-1.
  • the second data processing device DV2 After receiving the telegram header from En, the second data processing device DV2 begins with the evaluation of the received data entered in PI.
  • the control unit makes the data buffer P3 available to the first data processing device DV1 as a new receive buffer. After the error-free completion of the telegram DV2 comes from the control unit P1 as a write buffer and P3 as a read buffer.
  • FIG. 7 shows a fifth table T5 for sending a call telegram and error-free reception of the response.
  • DV2 enters the transmission data Sn into the data buffer P2, which are then sent by DVl via the data bus.
  • the response data En is received by DV1 at time t2 and entered in P1
  • the next call telegram Sn + 1 from DV2 is already entered in P3. If the response telegram En has been received without errors at the time t3, Sn + 1 can be sent by DVl and at the same time En can be evaluated and disposed of by DV2.
  • FIG. 8 shows a sixth table T6 for sending a request telegram and incorrect reception of the response.
  • DV2 enters the transmission data Sn into the data buffer P2, which are then sent by DVl via the data bus.
  • the response data En is received by DV1 at time t2 and entered in P1
  • the next call telegram Sn + 1 from DV2 is already entered in P3. If the response telegram is incorrect, the data Sn + 1 in P3 are discarded and the data buffers P2 (contains the old call telegram for repetition) and P3 (receive buffer) remain assigned to the first data processing device DV1.
  • the basic principle of the invention consists in a system for decoupling the selection, processing, evaluation and disposal of data to be sent or received from the mere sending or receiving of data telegrams for everyone
  • Bus participants in a master / slave bus system The time decoupling in a bus master or slave takes place - with exactly three data buffers P1, P2, P3 for exchanging the transmission and reception data 4, 5 between the transmission / reception unit SE unit and the data processing unit DV unit. - With a control unit 2 for the dynamic allocation of the data buffers P1, P2, P3 as a send or receive buffer for the SE unit and / or as a write or read buffer for the DV unit.
  • the invention thus relates to a system and a method for decoupling in time the selection, processing and disposal of data to be sent or received from the mere sending or receiving of data telegrams of a data bus.
  • the temporal decoupling takes place by means of three data buffers for the exchange of transmission and reception data 5, 6 between a first data processing device DV1 and a second DV2 data processing device.
  • the data buffers P1, P2 and P3 are managed by a control unit. Each data buffer can be used for both send and receive data.
  • the switchover from a send buffer to a receive buffer and vice versa and the assignment to the first and / or second data processing device takes place dynamically.
  • the data processing is separated from pure sending and receiving. Rather, quasi-parallel transmission / reception data processing takes place with efficient use of existing hardware resources.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

Die Erfindung betrifft somit ein System und ein Verfahren zur zeitlichen Entkopplung der Auswahl, der Bearbeitung und Entsorgung von zu sendenden bzw. von empfangenen Daten vom reinen Versenden bzw. Empfangen von Datentelegrammen eines Datenbusses. Die zeitliche Entkopplung geschieht mittels dreier Datenpuffer zum Austausch von Sende- und Empfangsdaten (5, 6) zwischen einer ersten Datenverarbeitungsvorrichtung (DV1) und einer zweiten (DV2) Datenverarbeitungsvorrichtung. Die Datenpuffer (P1, P2 und P3) werden von einer Steuerungseinheit verwaltet. Jeder Datenpuffer kann sowohl für Sende- als auch für Empfangsdaten verwendet werden. Die Umschaltung von einem Sendepuffer zu einem Empfangspuffer und umgekehrt und die Zuordnung zu der ersten oder zweiten Datenverarbeitungsvorrichtung erfolgt dynamisch. Hierdurch ist die Datenverarbeitung von reinem Senden und reinem Empfangen zeitlich getrennt. Es erfolgt vielmehr eine quasiparallele Sende-/Empfangsverarbeitung mit einer effizienten Nutzung vorhandener Hardware-Resourcen.

Description

Beschreibung
System und Verfahren zur Übertragung von Datentelegrammen mit wechselseitiger Belegung von mindestens drei Datenpuffern
Die Erfindung betrifft ein System und ein Verfahren zum Austausch von Sende- und Empfangsdaten zwischen einer ersten Datenverarbeitungsvorrichtung und einer zweiten Datenverarbeitungsvorrichtung .
Ein derartiges System findet beispielsweise bei der Übertragung von Datensignalen über einen Datenbus Anwendung. Bei der Kommunikation über einen Datenbus müssen empfangene Daten abgespeichert und zu sendende Daten bereitgestellt werden. Da die Datenrate auf einen Datenbus verglichen mit der Rechenleistung der die Datensignale verarbeitenden und bereitstellenden Datenverarbeitungseinrichtung in der Regel relativ niedrig ist, entstehen beim Empfangen und Senden der Datensignale Wartezeiten, wenn eine Entkopplung vom Verarbeiten bzw. Bereitstellen zum Senden bzw. Empfangen nicht gegeben ist. Diese Wartezeiten führen zu einem verhältnismäßig niedrigen Datendurchsatz und zu hohen Reaktionszeiten am Datenbus .
Der Erfindung liegt die Aufgabe zugrunde, ein möglichst paralleles Verarbeiten von Sende- und Empfangsdaten bei gleichzeitig guter Ausnutzung an vorhandenem Speicherplatz zu erreichen.
Diese Aufgabe wird durch ein System mit den im Anspruch 1 angegebenen Merkmalen sowie durch ein Verfahren mit den im Anspruch 8 angegebenen Merkmalen gelöst.
Das System dient zur Übertragung von, aus Datentelegrammen mit einer vorgebbaren Datentelegrammlänge bestehenden Datensignalen, bestehend aus einer ersten Datenverarbeitungsvorrichtung, einer Steuerungsvorrichtung, einer zweiten Daten- Verarbeitungsvorrichtung und aus mindestens drei Datenpuffern. Die Datenpuffer werden zur wechselseitigen Speicherung von Sendedaten und von Empfangsdaten verwendet . Die Steuerungseinheit weist der Datenverarbeitungsvorrichtung mindestens einen Sendepuffer für die Auswahl und zum Bereitstellen von Sendedaten bzw. mindestens einen Empfangspuffer zum Verarbeiten und Entsorgen von Empfangsdaten zu. Der zusätzliche Sende- oder Empfangspuffer wird hierbei als Zwischenspeicher verwendet. Die Steuerungseinheit weist der Da- tenverarbeitungsvorrichtung einen Sendepuffer mit Daten zum Versenden über einen Datenbus und einen Empfangspuffer zum Eintragen von vom Datenbus empfangenen Daten zu. Die Vergabe der Datenpuffer wird von einer Steuerungsvorrichtung in der Weise gesteuert und verwaltet, daß die Datenpuffer wechsel- seitig dynamisch als Sende- und/oder als Empfangspuffer der ersten und/oder der zweiten Datenverarbeitungsvorrichtung vergeben werden .
Durch die wechselseitige Vergabe der drei Datenpuffer in Ab- hängigkeit der zu übertragenden Datentelegramme entweder als
Sende- oder als Empfangspuffer wird die Datenverarbeitung von einem reinen Senden und reinen Empfangen der Datensignale zeitlich entkoppelt. Hierdurch entsteht ein möglichst paralleles Arbeiten beim Senden und Empfangen der Datenverarbei- tungsvorrichtungen. Dabei erfolgt, gesteuert von der Steuerungsvorrichtung, je nach Betriebszustand eine dynamische Zuweisung der Datenpuffer als Empfangs- oder als Sendepuffer. So kann beispielsweise der ersten Datenverarbeitungsvorrichtung je ein Empfangs- und ein Sendepuffer zugewiesen werden. Der dritte Datenpuffer wird von der Steuerungsvorrichtung als
Zwischenspeicher für entweder empfangene oder zu sendende Daten verwendet. Somit ist es je nach Zustand möglich, daß zwei Empfangs- und ein Sendepuffer oder ein Empfangs- und zwei Sendepuffer vorhanden sind. Insgesamt ergibt sich eine opti- male Ausnutzung vorhandener Ressourcen an Datenpuffern. Außerdem ist jederzeit sichergestellt, daß jede Datenverarbeitungseinrichtung immer mindestens einen Puffer zugewiesen be- kommen hat, in dem sie entweder neue Daten eintragen oder empfangene Daten bearbeiten kann.
Die Datenkonsistenz bei der Übertragung der Datensignale kann dadurch sichergestellt werden, daß die Datenpuffer zur Aufnahme einer maximal zulässigen Datentelegrammlänge vorgesehen sind, wobei die zweite Datenverarbeitungsvorrichtung zur Weiterverarbeitung der Datentelegramme erst nach einem vollständigen Empfang eines Datentelegramms vorgesehen ist.
Die Pufferverwaltung kann dadurch sehr flexibel gestaltet werden, daß die Datenpuffer von der Steuerungsvorrichtung als Sende- und/oder Empfangspuffer jeweils nach dem Betriebszustand dynamisch zugewiesen werden.
Ein dreistufiges Wechselpufferkonzept, bei dem Wartezeiten bei der Übertragung der Datensignale vermieden werden, kann dadurch weiter unterstützt werden, daß einer der Datenpuffer von der Steuerungsvorrichtung für weitere zu sendende oder empfangene Datentelegramme vorgesehen ist.
Eine möglichst variable Zuweisung vorhandener Speicherressourcen erfolgt dadurch, daß die Zuordnung der Datenpuffer von der Steuerungsvorrichtung als Sende- und/oder Empfangs- puffer der ersten und/oder zweiten Datenverarbeitungsvorrichtung mittels Adreßdaten zur Kennzeichnung der Adresse des jeweiligen Datenpuffers erfolgt. Die Adreßdaten dienen als Adreßzeiger zur Kennzeichnung der Adresse des jeweiligen Datenpuffers in der beispielsweise als RAM ausgebildeten Spei- chereinrichtung.
Eine hohe Flexibilität bei der Vergabe vorhandener Speicherkapazitäten kann auf einfache Weise dadurch sichergestellt werden, daß die Datenpuffer jeweils durch beliebige durch die Steuerungsvorrichtung vorgebbare freie Speicherbereiche gebildet werden. Im folgenden wird die Erfindung anhand der in den Figuren dargestellten Ausführungsbeispiele näher beschrieben und erläutert. Es zeigen:
FIG 1 ein Blockschaltbild eines Systems zum Senden bzw. Empfangen von, aus Datentelegrammen mit einer vorgebbaren Datentelegrammlänge bestehenden Datensignalen,
FIG 2 ein Blockschaltbild eines Systems zum Senden bzw. Empfangen von, aus Datentelegrammen mit einer vorgebbaren Datentelegrammlänge bestehenden Datensignalen mit in der zweiten Datenverarbeitungsvor- richtung integrierter Steuerungsvorrichtung integrierten Datenpuffern und
FIG 3-8 jeweils eine tabellarische Darstellung zum Betriebsmodus der Datenverarbeitungsvorrichtungen so- wie zur Datenpufferbelegung für verschiedene Übertragungsbeispiele .
FIG 1 zeigt ein Blockschaltbild eines Systems zum Senden bzw. Empfangen von, aus Datentelegrammen 5, 6 mit einer vorgebba- ren Datentelegrammlänge bestehenden Datensignalen, bestehend aus einer ersten Datenverarbeitungsvorrichtung DV1, einer Steuerungsvorrichtung 2, einer zweiten Datenverarbeitungsvorrichtung DV2 und aus mindestens drei Datenpuffern 4. Dabei werden Datentelegramme 5, 6 für den Datenbus (Sendedaten) oder vom Datenbus (Empfangsdaten) mit einer vorgebbaren Datentelegrammlänge mit Hilfe Datenpuffern Pl,P2,P3 von der ersten Datenverarbeitungsvorrichtung DVl zur zweiten Datenverarbeitungsvorrichtung DV2 und in umgekehrter Richtung übertragen. Der Datenaustausch ist beispielsweise zwischen einem langsamen 1 (z.B. Profibus) und einem schnellen 3 Datenbus insbesondere bei der Datenübertragung innerhalb eines Automatisierungssystems vorgesehen. Die Übertragung der Datentele- gramme 5, 6 erfolgt über eine Steuerungsvorrichtung 2, die die Vergabe von Datenpuffern Pl , P2 , P3 steuert. Die Datenpuffer Pl, P2, P3 sind Teil einer Speichereinrichtung 4. Die Steuervorrichtung 2 ist über eine Datenverbindung 7 mit der Speichereinrichtung 4 gekoppelt.
Die Zuteilung der Datenpuffer Pl ... P3 jeweils als Sende- und/oder Empfangspuffer der Datenverarbeitungsvorrichtungen 1, 3 erfolgt dabei dynamisch, d.h. es erfolgt eine Trennung der Datenverarbeitung in DV2 vom reinen Senden und Empfangen der Daten durch DVl . Hierdurch ergibt sich eine effektive Ausnutzung der vorhandenen Speicher-Ressourcen. Die Vergabe der Datenpuffer Pl ... P3 erfolgt durch die Steuerungsvorrichtung 2 , die beispielsweise Adreßdaten in Form eines Zeigers auf bestimmte Speicherbereiche, welche einen jeweiligen Datenpuffer Pl ... P3 kennzeichnen, vergeben. Somit synchronisiert die Steuerungsvorrichtung 2 die zwei Datenverarbeitungsvorrichtungen DVl, DV2. Ein Anwendungsfall des in FIG 1 dargestellten Systems ist beispielsweise ein Datenaustausch zwischen zwei Prozessoren. Die Datenpuffer Pl ... P3 sind dabei so ausgelegt, daß sie eine maximal mögliche Telegrammlänge, beispielsweise 256 Byte, aufnehmen können. Aufgrund der vorhandenen drei Datenpuffer Pl ... P3 , die jeweils dynamisch als Sende- oder Empfangspuffer zugewiesen werden, entsteht ein dreistufiges Wechselpufferkonzept, durch das ein möglichst paralleles Arbeiten der beiden Datenverarbeitungsvorrichtungen ermöglicht wird. Hierdurch ergibt sich eine Verringerung gegenseitiger Wartezeiten.
FIG 2 zeigt ein Blockschaltbild eines Systems zum Senden bzw. Empfangen von, aus Datentelegrammen mit einer vorgebbaren Datentelegrammlänge bestehenden Datensignalen, bestehend aus einer ersten Datenverarbeitungsvorrichtung DVl, einer Steuerungsvorrichtung 2 und einer zweiten Datenverarbeitungsvor- richtung DV2 mit integrierten Datenpuffern 4. Dabei werden im wesentlichen die bereits im Zusammenhang mit FIG 1 eingeführten Bezugszeichen verwendet. Die Datenverarbeitungsvorrich- tung DV2 weist eine Steuerungsvorrichtung 2 sowie drei Datenpuffer Pl, P2 , P3 auf. Zwischen der ersten DVl und der zweiten DV2 Datenverarbeitungsvorrichtung werden Datentelegramme 5, 6 über die Datenpuffer ausgetauscht.
Die Besonderheit des in FIG 2 dargestellten Ausführungsbei- spieles liegt darin, daß die Steuerungsvorrichtung 2 und die Datenpuffer Pl ... P3 in der zweiten Datenverarbeitungsvorrichtung DV2 integriert sind. Bei der ersten Datenverarbeitungs- Vorrichtung DVl handelt es sich beispielsweise um eine Sende- /Empfangseinheit, während die zweite Datenverarbeitungsvorrichtung DV2 beispielsweise als verarbeitende Einheit, beispielsweise als Prozessor ausgebildet ist. Auch bei dem in FIG 2 dargestellten Ausführungsbeispiel wird die Datenverar- beitung mit Hilfe der Datenpuffer vom reinen Senden und Empfangen der Daten 5, 6 durch DVl zeitlich entkoppelt von der Auswahl, Verarbeitung und Entsorgung durch DV2. Die erste Datenverarbeitungsvorrichtung DVl gibt als Sende-/Empfangseinheit die Daten entsprechend einem Busprotokoll auf den Daten- bus aus bzw. empfängt diese. Die als Prozessor ausgebildete zweite Datenverarbeitungsvorrichtung DV2 bereitet die zu sendenden Daten auf, verarbeitet und entsorgt empfangene Daten. Dabei wird ein möglichst paralleles Arbeiten der beiden Datenverarbeitungsvorrichtungen dadurch ermöglicht, daß der Da- tenaustausch zwischen den beiden Datenverarbeitungsvorrichtungen über ein dreistufiges Wechselpufferkonzept erfolgt, wie dies bereits im Zusammenhang mit der FIG 1 erläutert wurde und anhand der FIG 3 bis FIG 8 näher beschrieben wird.
FIG 3 bis FIG 8 zeigen jeweils eine Tabelle mit Spalten
11...18. In der erste Spalte 11 sowie in der zweiten Spalte 12 ist die jeweilige Pufferbelegung der ersten Datenver-ar- beitungsvorrichtung DVl, in der 3. bis 5. Spalte 13...15 der dem jeweiligen Datenpuffer Pl , P2 , P3 zugeordnete Datenin- halt, in den Spalten 16, 17 jeweils die Pufferbelegung der zweiten Datenverarbeitungsvorrichtung DV2 und in der letzten Spalte 18 die den jeweiligen Puf erbelegungen zugeordneten Zeitbereiche tl ... t4 eingetragen. Die Felder der Tabelle in denen DVl zur Zeit empfangene Daten in einen Datenpuffer einträgt bzw. Daten aus einem Sendepuffer versendet sind dunkel hinterlegt. Dasselbe gilt für Felder in denen DV2 zu diesem Zeitpunkt Daten aus einem Empfangspuffer ausliest und auswertet bzw. Sendedaten in einen Datenpuffer einträgt.
FIG 3 zeigt eine erste Tabelle Tl für einen fehlerfreien Empfang eines Neuaufrufes (d.h. keine Telegrammwiederholung) und einem Senden der Antwort. Aus der dem Zeitbereich tl zugeordneten Zeile wird ersichtlich, daß der erste Datenpuffer Pl mit einem Datentelegramm En beschrieben wird, wobei der erste Datenpuffer Pl der ersten Datenverarbeitungsvorrichtung DVl zugeordnet ist. Die erste Datenverarbeitungsvorrichtung DVl empfängt somit das Datentelegramm En vom Datenbus und trägt es in Pl ein. Der zweite Datenpuffer ist im ersten Zeitbereich tl der Tabelle Tl nicht belegt. Im dritten Datenpuffer P3 sind Sendedaten Sn-1 enthalten. Beim Datentelegramm Sn-1 handelt es sich beispielsweise um alte Antwortdaten, die von der ersten Datenverarbeitungsvorrichtung DVl als Reaktion auf ein verhergehendes Aufruf-Telegramm versandt wurden. Im zweiten Zeitbereich t2 liest DV2 den empfangenen Telegrammkopf von En aus . Nach der Auswertung des Telegrammkopfes trägt die zweite Datenverarbeitungsvorrichtung DV2 zum Zeitpunkt t3 noch während des Empfangs das Antworttelegramm Sn in den Datenpuffer P2 ein. Der dritte Datenpuffer P3 enthält noch das alte Antworttelegramm Sn-1. Im dritten Zeitbereich t3 ist der Belegungszustand der Datenpuffer Pl , P2 gegenüber dem zweiten Zeitbereich t2 unverändert. Die erste Datenverarbeitungsvor- richtung DVl sendet nach vollständigen, gültigen Empfang in
Pl die Antwortdaten aus dem zweiten Datenpuffer P2 in Form des Datentelegramms Sn. Während die Antwortdaten Sn gesendet werden, wertet DV2 im vierten Zeitbereich t4 die im Datenpuffer Pl eingetragenen Empfangsdaten En aus. Außerdem erhalten DVl und DV2 von der Steuerungsvorrichtung den Datenpuffer P3 als neuen Empfangspuffer für ein Empfangstelegramm En+1 zugewiesen. Im fünften Zeitbereich t5 ist der Datenpuffer Pl nicht belegt bzw. nicht definiert, während der zweite Datenpuffer P2 sowie der dritte Datenpuffer P3 noch für die im vierten Zeitbereich t4 zugewiesenen Datentelegramme Sn, En+1 vorgesehen sind.
FIG 4 zeigt eine zweite Tabelle T2 für einen fehlerfreien Empfang einer Wiederholung und einem Senden der alten Antwort. Bei dem in FIG 4 dargestellten Ausführungsbeispiel bleibt der zweite Datenpuffer P2 leer. Die erste Datenverar- beitungsvorrichtung DVl trägt zu den Zeitpunkten tl und t2 die Empf ngsdaten En in den Datenpuffer Pl ein. Nachdem Empfang des Telegrammkopfes von En beginnt die zweite Datenverarbeitungsvorrichtung DV2 bereits mit der Auswertung der in Pl eingetragenen Empfangsdaten. DV2 erkennt, daß es sich um eine Wiederholung handelt und veranlaßt die Steuerungseinheit den Sendepuffer für DVl nicht zu wechseln. DVl sendet entsprechend die alten Antwortdaten Sn-1 aus Datenpuffer P3.
FIG 5 zeigt eine dritte Tabelle T3 für einen fehlerhaften Empfang eines Neuaufrufs. Das Verhalten zu den Zeitpunkten tl, t2 und t3 ist identisch mit Tabelle Tl. Auf Grund eines Empfangsfehlers wird zum Zeitpunkt t4 die im Datenpuffer Pl eingetragenen Empfangsdaten und die im Datenpuffer P2 eingetragenen Antwortdaten verworfen. Der Datenpuffer Pl steht so- mit wieder für neue Empfangsdaten zur Verfügung.
FIG 6 zeigt eine vierte Tabelle T4 für einen fehlerfreien Empfang eines Fremdtelegramms ohne Antwort . Dabei empfängt die erste Datenverarbeitungsvorrichtung DVl das Datentele- gramm En im ersten Datenpuffer Pl, während der dritte Datenpuffer P3 noch alte Antwortdaten Sn-1 enthält. Nachdem Empfang des Telegrammkopfes von En beginnt die zweite Datenverarbeitungsvorrichtung DV2 mit der Auswertung der in Pl eingetragenen Empfangsdaten. Während des Fremdtelegrammempfangs stellt die Steuerungseinheit der ersten Datenverarbeitungs- Vorrichtung DVl den Datenpuffer P3 als neuen Empfangspuffer zur Verfügung. Nach fehlerfreiem Abschluß des Telegrammes be- kommt DV2 von der Steuerungseinheit Pl als Schreibpuffer und P3 als Lesepuffer zugewiesen.
FIG 7 zeigt eine fünfte Tabelle T5 für das Senden eines Auf- ruftelegrammes und den fehlerfreien Empfang der Antwort. DV2 trägt zum Zeitpunkt tl die Sendedaten Sn in den Datenpuffer P2 ein, die daraufhin von DVl über den Datenbus gesendet werden. Während zum Zeitpunkt t2 die Antwortdaten En von DVl empfangen und in Pl eingetragen werden, wird bereits das nächste Aufruftelegramm Sn+1 von DV2 in P3 eingetragen. Ist zum Zeitpunkt t3 das Antworttelegramm En fehlerfrei empfangen worden, kann Sn+1 von DVl versendet und gleichzeitig En von DV2 ausgewertet und entsorgt werden.
FIG 8 zeigt eine sechste Tabelle T6 für das Senden eines Aufruftelegrammes und den fehlerhaften Empfang der Antwort. DV2 trägt zum Zeitpunkt tl die Sendedaten Sn in den Datenpuffer P2 ein, die daraufhin von DVl über den Datenbus gesendet werden. Während zum Zeitpunkt t2 die Antwortdaten En von DVl empfangen und in Pl eingetragen werden, wird bereits das nächste Aufruftelegramm Sn+1 von DV2 in P3 eingetragen. Ist das Antworttelegramm fehlerhaft, werden die Daten Sn+1 in P3 verworfen und die Datenpuffer P2 (enthält für eine Wiederholung noch das alte Aufruftelegramm) und P3 (Empfangspuffer) bleiben der ersten Datenverarbeitsvorrichtung DVl zugeordnet.
Das Grundprinzip der Erfindung besteht in einem System zur zeitlichen Entkopplung der Auswahl, Bearbeitung, Auswertung und Entsorgung von zu sendenden bzw. empfangenen Daten vom reinen senden bzw. empfangen von Datentelegrammen für jeden
Busteilnehmer in einem Master/Slave- Bussystem. Die zeitliche Entkopplung in einem Busmaster oder Slave erfolgt - mit genau drei Datenpuffern Pl , P2 , P3 zum Austausch der Sende- und Empfangsdaten 4, 5 zwischen der Sende- /Empfangseinheit SE-Einheit und der Datenverarbeitungseinheit DV-Einheit. - mit einer Steuerungseinheit 2 zur jeweils dynamischen Zuordnung der Datenpuffer Pl, P2 , P3 als Sende- oder Empfangspuffer für die SE-Einheit und/oder als Schreib- oder Lesepuffer für die DV-Einheit.
Zusammenfassend betrifft die Erfindung somit ein System und ein Verfahren zur zeitlichen Entkopplung der Auswahl, der Bearbeitung und Entsorgung von zu sendenden bzw. von empfangenen Daten vom reinen versenden bzw. empfangen von Datentele- grammen eines Datenbusses. Die zeitliche Entkopplung geschieht mittels dreier Datenpuffer zum Austausch von Sende- und Empfangsdaten 5, 6 zwischen einer ersten DatenVerarbeitungsvorrichtung DVl und einer zweiten DV2 Datenverarbeitungsvorrichtung. Die Datenpuffer Pl , P2 und P3 werden von einer Steuerungseinheit verwaltet. Jeder Datenpuffer kann sowohl für Sende- als auch für Empfangsdaten verwendet werden. Die Umschaltung von einem Sendepuffer zu einem Empfangspuffer und umgekehrt und die Zuordnung zu der ersten und/oder zweiten Datenverarbeitungsvorrichtung erfolgt dynamisch. Hier- durch ist die Datenverarbeitung von reinem Senden und reinem Empfangen zeitlich getrennt. Es erfolgt vielmehr eine quasiparallele Sende- /Empfangsdatenverarbeitung mit einer effizienten Nutzung vorhandener Hardware-Resourcen.

Claims

Patentansprüche
1. System zum Austausch von Sende- und Empfangsdaten (5, 6) zwischen einer ersten Datenverarbeitungsvorrichtung (DVl) und einer zweiten Datenverarbeitungsvorrichtung (DV2)
- mit mindestens drei Datenpuffern (Pl, P2 , P3 ) zum Speichern der Sende- und Empfangsdaten (5, 6) der ersten Datenverarbeitungsvorrichtung (DVl) und/oder der zweiten Datenverarbeitungsvorrichtung (DV2) für einen Austausch der Sende- und Empfangsdaten (5, 6) und
- mit einer Steuerungsvorrichtung (2) zur jeweils dynamischen Zuordnung der Datenpuffer (Pl, P2 , P3 ) als Sende- und/oder Empfangspuffer der ersten (DVl) und/oder der zweiten (DV2) Datenverarbeitungsvorrichtung .
2. System nach Anspruch 1, d a d u r c h g e k e n n z e i c h n e t, daß das System zum Datenaustausch zwischen einem langsamen (1) und einem schnellen (3) Datenbus vorgesehen ist.
3. System nach einem der Ansprüche 1 oder 2 , d a d u r c h g e k e n n z e i c h n e t, daß die Datenpuffer (Pl, P2 , P3 ) zur Aufnahme einer maximal zulässigen Datentelegrammlänge vorgesehen sind.
4. System nach einem der Ansprüche 1 bis 3, d a d u r c h g e k e n n z e i c h n e t, daß die Steuerungsvorrichtung (2) zur dynamischen Zuweisung der Datenpuffer (Pl, P2 , P3 ) als Sende- und/oder Empfangspuf- fer jeweils nach dem Betriebszustand vorgesehen ist.
5. System nach einem der Ansprüche 1 bis 4, d a d u r c h g e k e n n z e i c h n e t, daß einer der Datenpuffer (Pl, P2 , P3 ) von der Steuerungsvor- richtung 2 für weitere zu sendende oder empfangene Datentelegramme (Sn-1, Sn, Sn+1; En-1, En, En+1) vorgesehen ist.
6. System nach einer der Ansprüche 1 bis 5, d a d u r c h g e k e n n z e i c h n e t, daß die Zuordnung der Datenpuffer (Pl, P2 , P3 ) von der Steuerungsvorrichtung (2) als Sende- und/oder Empfangspuffer der ersten und/oder zweiten Datenverarbeitungsvorrichtung (DVl, DV2 ) mittels Adreßdaten zur Kennzeichnung der Adresse des jeweiligen Datenpuffers (Pl, P2 , P3 ) erfolgt.
7. System nach einer der Ansprüche 1 bis 6, d a d u r c h g e k e n n z e i c h n e t, daß die Datenpuffer (Pl, P2 , P3 ) jeweils durch beliebige durch die Steuerungsvorrichtung (2) vorgebbare freie Speicherbereiche gebildet werden.
8. Verfahren zum Austausch von Sende- und Empfangsdaten (5, 6) zwischen einer ersten Datenverarbeitungsvorrichtung (DVl) und einer zweiten Datenverarbeitungsvorrichtung (DV2), bei dem die Sende- und Empfangsdaten (5, 6) in mindestens drei Datenpuffern (Pl, P2 , P3 ) der ersten Datenverarbeitungsvor- richtung (DVl) und/oder der zweiten Datenverarbeitungsvorrichtung (DV2) für einen Austausch der Sende- und Empfangsdaten (5, 6) gespeichert werden und bei dem die Datenpuffer (Pl, P2 , P3 ) jeweils dynamisch als Sende- und/oder Empfangspuffer der ersten (DVl) und/oder der zweiten (DV2) Datenver- arbeitungsvorrichtung zugeordnet werden.
9. Verfahren nach Anspruch 8, d a d u r c h g e k e n n z e i c h n e t, daß die Sende- und Empfangsdaten (5,6) zwischen einem langsa- men (1) und einem schnellen (3) Datenbus ausgetauscht werden.
10. Verfahren nach einem der Ansprüche 8 oder 9, d a d u r c h g e k e n n z e i c h n e t, daß die Datenpuffer (Pl, P2 , P3 ) durch Kennzeichnung der Adresse des jeweiligen Datenpuffers (Pl, P2 , P3 ) zugeordnet werden .
11. Verfahren nach einem der Ansprüche 8 bis 10, d a d u r c h g e k e n n z e i c h n e t, daß einer der Datenpuffer (Pl, P2 , P3 ) von der Steuerungsvorrichtung 2 für weitere zu sendende oder empfangene Datentele- gramme (Sn-1, Sn, Sn+1; En-1, En, En+1) vorgesehen ist.
12. Verfahren nach einer der Ansprüche 8 bis 11, d a d u r c h g e k e n n z e i c h n e t, daß die Datenpuffer (Pl, P2 , P3 ) von der Steuerungsvorrich- tung (2) als Sende- und/oder Empfangspuffer der ersten und/oder zweiten Datenverarbeitungsvorrichtung (DVl, DV2 ) mittels Adreßdaten zur Kennzeichnung der Adresse des jeweiligen Datenpuffers (Pl, P2 , P3 ) zugeordnet werden.
13. Verfahren nach einer der Ansprüche 8 bis 12, d a d u r c h g e k e n n z e i c h n e t, daß die Datenpuffer (Pl, P2 , P3 ) jeweils durch beliebige durch die Steuerungsvorrichtung (2) vorgebbare freie Speicherbereiche gebildet werden.
14. Verfahren nach einem der Ansprüche 8 oder 9, d a d u r c h g e k e n n z e i c h n e t, daß die Datenpuffer (Pl, P2 , P3 ) durch Kennzeichnung der Adresse des jeweiligen Datenpuffers (Pl, P2 , P3 ) zugeordnet werden .
PCT/DE2000/000584 1999-03-09 2000-03-01 System und verfahren zur übertragung von datentelegrammen mit wechselseitiger belegung von mindestens drei datenpuffern WO2000054141A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19910376 1999-03-09
DE19910376.3 1999-03-09

Publications (1)

Publication Number Publication Date
WO2000054141A1 true WO2000054141A1 (de) 2000-09-14

Family

ID=7900270

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2000/000584 WO2000054141A1 (de) 1999-03-09 2000-03-01 System und verfahren zur übertragung von datentelegrammen mit wechselseitiger belegung von mindestens drei datenpuffern

Country Status (1)

Country Link
WO (1) WO2000054141A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0489504A2 (de) * 1990-11-30 1992-06-10 International Business Machines Corporation Bidirektionaler FIFO-Puffer zur Schnittstellenbildung zwischen zwei Bussen
EP0668556A2 (de) * 1994-02-22 1995-08-23 Motorola, Inc. Walteschlangenspeichersystem und Verfahren dazu

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0489504A2 (de) * 1990-11-30 1992-06-10 International Business Machines Corporation Bidirektionaler FIFO-Puffer zur Schnittstellenbildung zwischen zwei Bussen
EP0668556A2 (de) * 1994-02-22 1995-08-23 Motorola, Inc. Walteschlangenspeichersystem und Verfahren dazu

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"MECHANISM FOR SHARED ACCESS OF QUEUES AND STACKS THROUGH LINKS AND PARALLEL BUS", IBM TECHNICAL DISCLOSURE BULLETIN,US,IBM CORP. NEW YORK, vol. 39, no. 6, 1 June 1996 (1996-06-01), pages 117 - 118, XP000678541, ISSN: 0018-8689 *
MACLEAN N H: "BUFFER MEMORY ADDRESSING", IBM TECHNICAL DISCLOSURE BULLETIN,US,IBM CORP. NEW YORK, vol. 24, no. 1A, 1 June 1981 (1981-06-01), pages 213 - 215, XP000713747, ISSN: 0018-8689 *

Similar Documents

Publication Publication Date Title
DE69533680T2 (de) Verfahren und Vorrichtung zur dynamischen Bestimmung und Zuteilung von Zugriffsguoten für ein gemeinsames Betriebsmittel
EP1456722B1 (de) Datenübertragungsverfahren, serielles bussystem und anschalteinheit für einen passiven busteilnehmer
EP1309920B1 (de) Adressvergabeverfahren für mindestens einen neu an ein bussystem angeschlossenen busteilnehmer
EP0179936B1 (de) Verfahren und Einrichtung zur Steuerung einer Sammelleitung
EP1101329A2 (de) Brückenmodul
EP0006164A1 (de) Multiprozessorsystem mit gemeinsam benutzbaren Speichern
EP2030118A1 (de) Mehrprozessor-gateway
WO2002007393A1 (de) Verfahren zur erhöhung des datendurchsatzes in einem kommunikationssystem
DE102018001574A1 (de) Master-Slave Bussystem und Verfahren zum Betrieb eines Bussystems
EP1099153B1 (de) Speichereinrichtung und verfahren zum betreiben der speichereinrichtung
WO2000054141A1 (de) System und verfahren zur übertragung von datentelegrammen mit wechselseitiger belegung von mindestens drei datenpuffern
DE10216674A1 (de) Verfahren und Vorrichtung zur Übertragung von Nachrichten auf einem Bussystem und Bussystem
EP1095338B1 (de) Can-modul
EP1081913B1 (de) Netzwerk mit einer Kennungsreduktion
EP1642207B1 (de) Zuordnung von stationsadressen zu kommunikationsteilnehmern in einem bussystem
EP0131288A2 (de) Anordnung zur Informationsübertragung zwischen Mikrorechnern in einem dezentralen Prozesssteuersystem, insbesondere für Fernsprechanlagen
WO2004031954A2 (de) Verfahren und vorrichtungen zum zugriff eines einzelsystems auf einen speicherbereich einer datenspeichereinrichtung
DE102018010209A1 (de) Master-Slave Bussystem und Verfahren zum Betrieb eines Bussystems
WO2006114391A1 (de) Kommunikationssystem
DE19618821B4 (de) Verfahren zur multifunktionalen Adressierung der Prozeßdaten von Teilnehmern serieller Bussysteme
EP1318630B1 (de) Matrizen zum Steuern der gerätespezifischen Geschwindigkeiten des Datentransfers auf einem Feldbus
EP3824393A1 (de) Schaltung zur gepufferten übertragung von daten
WO2003028321A1 (de) Verfahren zur verarbeitung konsistenter datensätze
DE102019110676A1 (de) Doppelbrücke für einen parallelen Bus
DE3427350A1 (de) Ring-netzwerk fuer einchip-rechner

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
122 Ep: pct application non-entry in european phase