DE3937021C2 - - Google Patents

Info

Publication number
DE3937021C2
DE3937021C2 DE19893937021 DE3937021A DE3937021C2 DE 3937021 C2 DE3937021 C2 DE 3937021C2 DE 19893937021 DE19893937021 DE 19893937021 DE 3937021 A DE3937021 A DE 3937021A DE 3937021 C2 DE3937021 C2 DE 3937021C2
Authority
DE
Germany
Prior art keywords
memory
central unit
telegrams
bus
telegram
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.)
Revoked
Application number
DE19893937021
Other languages
German (de)
Other versions
DE3937021A1 (en
Inventor
Heinz 6074 Roedermark De Schaffner
Edgar Polly
Berthold 6453 Seligenstadt De Zeyer
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.)
Schneider Automation GmbH
Original Assignee
Licentia Patent 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 Licentia Patent Verwaltungs GmbH filed Critical Licentia Patent Verwaltungs GmbH
Priority to DE19893937021 priority Critical patent/DE3937021A1/en
Publication of DE3937021A1 publication Critical patent/DE3937021A1/en
Application granted granted Critical
Publication of DE3937021C2 publication Critical patent/DE3937021C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Description

Die Erfindung bezieht sich auf eine Anordnung zur Datenübertragung zwischen einer zentralen Einheit und an diese über einen seriellen Bus angeschlossenen Teilnehmern gemäß dem Oberbegriff des Patentanspruchs 1.The invention relates to an arrangement for data transmission between a central unit and to it via a serial bus connected participants according to the preamble of claim 1.

Es ist eine Mehrprozessor-Architektur bekannt, bei der ein zentraler Prozessor mit einem System-Bus aufweist, der über einen Dual-Port- Speicher an einen parallelen Peripherie-Bus angeschlossen ist, der für Peripherie-Komponenten verfügbar ist (DE-Z: Design & Elektronik, Nr. 20, 03.10.1989, S. 6-10). Durch den Dual-Port-Speicher werden die Peripherie-Komponenten vom zentralen Prozessor entkoppelt. Auf diese Weise können verschiedene Protokolle für die Prozessoren implementiert werden. Der Dual-Port-Speicher ist, während der andere als System- oder Mikrocode-RAM benutzt wird.A multiprocessor architecture is known in which a central Processor with a system bus that has a dual-port Memory is connected to a parallel peripheral bus that is used for Peripheral components is available (DE-Z: Design & Electronics, No. 20, 03.10.1989, pp. 6-10). The dual-port memory means that Peripheral components decoupled from the central processor. To this Different protocols can be implemented for the processors will. The dual port memory is while the other is a system or microcode RAM is used.

Bekannt ist auch eine Einrichtung zur Datenübertragung zwischen einem Rechner und externen Teilnehmern, bei der eine Eingabe/Ausgabesteuereinheit und Koppelspeicher verwendet sind, die mit dem parallelen Datenbus des Rechners und einem Bus der Eingabe/Ausgabesteuereinheit verbunden sind, welcher unter Zwischenschaltung von Serien/Parallel- beziehungsweise Parallel/Serienwandlern an Übertragungsleitungen für die externen Teilnehmer angeschlossen ist. Bei den Koppelspeichern werden die Daten nacheinander in Speicherzellen eingegeben, die in einer bestimmten Reihenfolge geordnet sind, und in umgekehrter Reihenfolge aus den Speicherzellen ausgelesen ("Electronics", Sept. 11, 1980, S. 131-135).A device for data transmission between one is also known Computer and external participants, with one Input / output control unit and coupling memory are used with the parallel data bus of the computer and a bus the Input / output control unit are connected, which under Interposition of series / parallel respectively Parallel / serial converters on transmission lines for the external Subscriber is connected. The data in the coupling memories sequentially entered into memory cells in a particular Ordered, and in reverse order from the Read out memory cells ("Electronics", Sept. 11, 1980, pp. 131-135).

Die direkte Verbindung der Teilnehmer über den Bus erfordert busspezifische Übertragungsregeln, damit nicht mehrere Teilnehmer gleichzeitig Nachrichten aussenden, die sich auf dem Bus überlagern. Die Abwicklung von Übertragungen zwischen den Teilnehmern und der Zentrale wird deshalb zeitmultiplex abgewickelt. The direct connection of the participants via the bus is required bus-specific transmission rules, so that not several participants simultaneously send messages that overlap on the bus. The handling of transfers between participants and the The head office is therefore processed in a time-divisional manner.  

Es gibt verschiedene Zeitmultiplexverfahren, nach denen der Bus den Teilnehmern zugeteilt wird. Die Zuteilungsverfahren unterscheiden sich vorwiegend durch die Zuteilung eines festen Zeitrasters und eines bedarfsabhängigen Zeitrasters.There are various time-division multiplexing methods according to which the bus uses the Is allocated to participants. The allocation procedures differ mainly by assigning a fixed time grid and one demand-dependent time grid.

An einem Bus können unterschiedliche Teilnehmer angeschlossen sein. Teilnehmer können z. B. Anzeigeeinheiten, Eingabe-, Ausgabeeinheiten, Speichereinheiten, speicherprogammierbare Steuerungen oder Rechner sein. Neben der Buszuteilung ist für die Arbeitsweise eines Busses die Synchronisierung, die Fehlerbehandlung und die Alarmverarbeitung von Bedeutung. Die vorstehend erwähnten Funktionen müssen für die verschiedenen Teilnehmer festgelegt werden. Dabei ist die Einhaltung fest vereinbarter Vorschriften notwendig, d. h. die Bedeutung bestimmter Bussignale und Signalsequenzen und ihre Verwendung in Verbindung mit anderen Signalen muß einheitlich für alle Teilnehmer festgelegt sein. Diese Vereinbarungen beziehen sich auf den Informationsgehalt der Signale unabhängig von der physikalischen Realisierung des Busses. Wenn die Hardwarekonfiguration, d. h. heißt die Leitungen des Busses mit der elektrischen Ankopplung als unterste Betrachtungsebene eines Busses angesehen werden, stellen die vorstehend erwähnten Vereinbarungen eine höhere Ebene dar. Die Komplexität der Übertragung zwischen den Teilnehmern bestimmt die Anzahl der notwendigen Ebenen. Ein vollständiger Satz von Regeln für eine Übertragungsebene wird als Protokoll bezeichnet.Different participants can be connected to one bus. Participants can e.g. B. display units, input, output units, Storage units, programmable logic controllers or computers be. In addition to the bus allocation, the operating principle of a bus is the Synchronization, error handling and alarm processing from Importance. The functions mentioned above must be used for the different participants. Here is compliance firmly agreed regulations necessary, d. H. the meaning of certain Bus signals and signal sequences and their use in connection with other signals must be defined uniformly for all participants. These agreements relate to the information content of the Signals regardless of the physical implementation of the bus. If the hardware configuration, d. H. is called the lines of the bus with the electrical coupling as the lowest viewing level of a bus the agreements mentioned above constitute one higher level. The complexity of the transfer between the Participants determine the number of levels required. A complete set of rules for a transmission level is called Protocol called.

Es kann erwünscht sein, an den gleichen Bus Teilnehmer anzuschließen, die nach verschiedenen Protokollen arbeiten, um die Verlegung zusätzlicher Busse einzusparen.It may be desirable to connect to the same bus participant who work according to different protocols to the laying save additional buses.

Der Erfindung liegt deshalb die Aufgabe zugrunde, eine Anordnung der eingangs beschriebenen Gattung derart weiterzuentwickeln, daß unter Kontrolle der zentralen Einheit Teilnehmer mit unterschiedlichen Busprotokollen mit der zentralen Einheit Daten uni- oder bidirektional austauschen können. The object of the invention is therefore based on an arrangement of the type described above evolve that under control of the central unit Participants with different bus protocols with the central one Unit can exchange data unidirectionally or bidirectionally.  

Die Aufgabe wird erfindungsgemäß durch die Merkmale im Patentanspruch 1 gelöst. Bei der im Patentanspruch 1 beschriebenen Anordnung kann mit Hilfe des Schnittstellenkennungsspeichers und des Statusspeichers vorgegeben werden, welche der beiden Schnittstellen von der zentralen Einheit bearbeitet wird.The object is achieved by the features in claim 1 solved. In the arrangement described in claim 1 with Help of the interface identification memory and the status memory which of the two interfaces from the central Unit is processed.

Bei einer bevorzugten Ausführungsform sind im ersten oder zweiten Adreßraum ein Ringpufferspeicher für zu sendende Telegramme und ein Ringpufferspeicher für empfangene Telegramme vorgesehen, wobei die Telegramme durch ein Merkerbyte voneinander getrennt sind, das von der zentralen Einheit einstellbare Informationen über einen Sendeauftrag oder keinen Sendeauftrag und einstellbare Informationen über die vollzogene oder nicht vollzogene Übertragung sowie über die fehlerfreie oder fehlerhafte Übertragung aufweist. Durch eine derartige Speicherorganisation steht für die Telegramme ein großer Bereich zur Verfügung.In a preferred embodiment, the first or second Address space a ring buffer memory for telegrams to be sent and a Ring buffer memory provided for received telegrams, the Telegrams are separated from each other by a flag byte which is separated from the central unit adjustable information about a send order or no send order and adjustable information about the completed or not completed transfer and via the error-free or incorrect transmission. By such Memory organization has a large area for the telegrams Available.

Zweckmäßigerweise ist im ersten oder zweiten Adreßraum ein Speicher für einen den Füllstand des ersten und zweiten Ringpufferspeichers angegebenen Zeiger vorgesehen. Der Zeiger wird z. B. nach dem Einlesen eines Telegramms auf die in der zirkularen Reihenfolge nächste Speicherstelle für ein Telegramm eingestellt. Im Pufferspeicher für das Senden bedeutet dies die nächste noch freie Speicherstelle. Die zu sendenden Telegramme werden sequentiell im Puffer abgelegt. Ist das Pufferende erreicht, so wird am Pufferanfang mit dem Eintragen der weiteren zu sendenden Telegramme fortgefahren.A memory is expediently located in the first or second address space for a the fill level of the first and second ring buffer memory specified pointer provided. The pointer is e.g. B. after reading of a telegram to the next one in the circular order Storage location for a telegram set. In the buffer for that Sending means the next free location. The too sending telegrams are stored sequentially in the buffer. Is this Buffer end is reached, the continued to send further telegrams.

Es ist günstig, wenn jedes Telegramm im Ringpufferspeicher für den Empfang ein Merkerbyte aufweist, das vom Teilnehmer und von der zentralen Einheit einstellbare Informationen über die Abholbereitschaft oder Sperrung des Telegramms und die vollzogene oder noch nicht vollzogene Abholung durch die zentrale Einheit aufweist. It is favorable if every telegram in the ring buffer memory for the Receipt has a flag byte by the subscriber and by the central unit adjustable information about the readiness for collection or blocking of the telegram and the completed or not yet completed collection by the central unit.  

Die oben erläuterte Organisation des Dual-Port-Speichers eignet sich insbesondere für die Datenübertragung zwischen der zentralen Einheit und Eingabe-, Ausgabeeinheiten.The organization of the dual-port memory explained above is suitable especially for data transmission between the central unit and Input, output units.

Für den anderen Adreßraum ist folgende Koppelspeicherorganisation günstig:The following shared storage organization is for the other address space Cheap:

Der zweite Adreßraum des Dual-Port-Speichers ist in Bereiche für Sendedaten und Bereiche für Empfangsdaten unterteilt, wobei sowohl der Bereich für Sendedaten als auch der Bereich für Empfangsdaten in Abschnitte entsprechend der Zahl der Teilnehmer aufgeteilt ist.The second address space of the dual-port memory is in areas for Send data and areas for receive data divided, both the Area for send data as well as the area for receive data in Sections divided according to the number of participants.

Die von der zentralen Einheit an die Teilnehmer auszusenden Daten sind jeweils in ersten Blöcken der Bereiche für die Sendedaten und die Adressen der ersten Wörter jedes ersten Blocks sind in einer ersten Adressenliste des Dual-Port-Speichers abspeicherbar.The data to be sent from the central unit to the participants are in the first blocks of the areas for the transmission data and the Addresses  the first words of each first block are in a first address list of the Dual-port memory can be saved.

Die erste Adressenliste weist zu jeder Adresse eine erste Stelle, in die von der zentralen Einheit eine Mitteilung eines Sendeauftrags an eine Eingabe/Ausgabesteuereinheit des Dual-Port-Speichers einschreibbar ist, und eine zweite Stelle auf, in die von der Eingabe/Ausgabesteuereinheit eine Mitteilung an die zentrale Einheit über einen bei der Übertragung entstandenen Fehler einschreibbar ist.The first address list has a first position for each address, into which the central unit notifies a send job to a Input / output control unit of the dual-port memory is writable, and a second digit into which the input / output control unit Notification to the central unit about a transmission errors that have occurred can be registered.

Die serien-parallelgewandelten Daten der Teilnehmer werden von der Eingabe/Ausgabesteuereinheit in Blöcke der Empfangsdatenbereiche eingelesen und in diesen byteweise gespeichert.The series-parallel converted data of the participants are from the Input / output control unit read into blocks of the received data areas and stored in them byte by byte.

Die Blöcke der Empfangsdatenbereiche weisen je eine dritte Stelle auf, in die von der Eingabe/Ausgabesteuereinheit eine Mitteilung an die zentrale Einheit über die Vollständigkeit der eingelesenen Daten des jeweiligen Blocks einschreibbbar ist.The blocks of the received data areas each have a third position, in a message from the input / output control unit to the central Unit about the completeness of the read data of the respective Blocks is writable.

Weiterhin enthalten die zweiten Blöcke der Empfangsdatenbereiche eine vierte Stelle, in die von der zentralen Einheit eine Mitteilung an die Eingabe/Ausgabesteuereinheit über die Auslesung eines jeweiligen zweiten Blocks einschreibbar ist.The second blocks of the received data areas also contain a fourth Body in which the central unit sends a message to the Input / output control unit via the readout of a respective second one Blocks is writable.

Die Empfangsdatenbereiche weisen eine zweite Adressenliste mit den Adressen aller Teilnehmer auf, wobei die Eingabe/Ausgabesteuereinheit die erste Adressenliste auf Sendeaufträge überprüft und beim Fehlen von Sendeaufträgen eine zyklische Kurzabfrage der Teilnehmer anhand der zweiten Adressenliste auf Übertragungsfehler hin durchführt.The receive data areas have a second address list with the addresses of all participants, the input / output control unit being the first Address list checked for send orders and in the absence of send orders a cyclical short query of the participants based on the second address list for transmission errors.

Die Erfindung wird im folgenden anhand eines in einer Zeichnung dargestellten Ausführungsbeispiels näher beschrieben, aus dem sich weitere Einzelheiten, Merkmale und Vorteile der Erfindung ergeben.The invention is described below with reference to a drawing Described embodiment described in more detail, from which further Details, features and advantages of the invention emerge.

Es zeigtIt shows

Fig. 1 ein Blockschaltbild einer Anordnung zur Datenübertragung zwischen einer zentralen Einheit und an diese über einen seriellen Bus angeschlossenen Teilnehmern, Fig. 1 is a block diagram of an arrangement for transmitting data between a central unit and connected to them via a serial bus subscribers,

Fig. 2 eine schematische Darstellung der Aufteilung eines Dual- Port-Speichers, Fig. 2 is a schematic representation of the division of a dual port memory,

Fig. 3 ein Diagramm der für die Feststellung der Arbeitsweise in einer von zwei Busprotokollen erforderlichen Schritte. Fig. 3 is a diagram of the steps required to determine the operation in one of two bus protocols.

Eine zentrale Einheit 1, beispielsweise ein programmierbares Steuergerät, besteht aus mehreren Baugruppen, von denen in Fig. 1 eine Baugruppe 2 bezeichnet ist, die ausgangsseitig mit einem seriellen Bus 3 verbunden ist. An den Bus 3 sind weitere Einheiten 4, 5 angeschlossen, bei denen es sich ebenfalls um programmierbare Steuergeräte handeln kann. Jede Einheit 4, 5 steht über eine Baugruppe 6, deren Aufbau der Baugruppe 2 entspricht, mit dem Bus 3 in Verbindung. Die Einheiten 4, 5 setzen sich aus mehreren, nicht näher bezeichneten Baugruppen zusammen. An den Bus 3 sind weitere Einheiten 7, 8 angeschlossen, die bestimmte Funktionen ausüben. Es handelt sich bei den Baugruppen 7, 8 zum Beispiel um Eingabe-, Ausgabebaugruppen für einen Prozeß. Die Einheiten 4, 5 sind dagegen universeller, im Sinne frei programmierbarer Datenverarbeitungsanlagen ausgebildet und können selbst Eingabe-, Ausgabeeinheiten aufweisen. Die zentrale Einheit 1 übt die Masterfunktion für den Bus 3 aus, das heißt die zentrale Einheit 1 übt die Buszuteilung aus. Die Einheiten 4 bis 8 haben demgegenüber Slavefunktionen. Da die Einheiten 4, 5 andere Funktionen als die Einheiten 7, 8 ausüben, sind zwischen den Einheiten 4, 5 und 7, 8 Unterschiede in bezug auf die Bedeutung bestimmter Bussignale und Signalsequenzen vorhanden. Der Informationsgehalt der Bussignale und Signalsequenzen ist für die Einheiten 4, 5 verschieden von denjenigen der Einheiten 7, 8 das heißt die Einheiten 4, 5 und 7, 8 sind verschiedenen Busprotokollen zugeordnet.A central unit 1 , for example a programmable control unit, consists of several modules, of which a module 2 is designated in FIG. 1 and is connected on the output side to a serial bus 3 . Further units 4 , 5 are connected to the bus 3 , which can also be programmable control units. Each unit 4 , 5 is connected to the bus 3 via a module 6 , the structure of which corresponds to the module 2 . The units 4 , 5 are composed of a number of subassemblies, which are not described in greater detail. Further units 7 , 8 , which perform certain functions, are connected to the bus 3 . Modules 7 , 8 are, for example, input and output modules for a process. The units 4 , 5 , on the other hand, are universal, in the sense of freely programmable data processing systems, and can themselves have input and output units. The central unit 1 carries out the master function for the bus 3 , that is to say the central unit 1 carries out the bus allocation. In contrast, units 4 to 8 have slave functions. Since the units 4 , 5 perform different functions than the units 7 , 8 , there are differences between the units 4 , 5 and 7 , 8 with regard to the meaning of certain bus signals and signal sequences. The information content of the bus signals and signal sequences for the units 4 , 5 is different from that of the units 7 , 8, that is to say the units 4 , 5 and 7 , 8 are assigned to different bus protocols.

Obwohl Einheiten mit unterschiedlichen Busprotokollen vorhanden sind, ist nur ein serieller Bus für den Transport der Informationen vorhanden. Um wahlweise beziehungsweise abwechselnd nach verschiedenen Busprotokollen mit dem gleichen Bus arbeiten zu können, ist die in Fig. 2 dargestellte Anordnung vorgesehen, die sich in der Einheit 1 befindet. Die Einheit 1 enthält einen parallelen Bus 9, an den unter anderem ein Rechner 10 und ein Dual-Port-Speicher 11 angeschlossen sind. Der Dual-Port-Speicher 11 enthält nicht näher dargestelle Steuerelemente sowie Parallel-Serien-Serien- Parallel-Wandler, über die er an den seriellen Bus 3 angeschlossen ist. Damit die Einheit 2 mit dem gleichen Bus 3 zu verschiedenen Zeiten nach verschiedenen Busprotokollen arbeiten kann, ist der Adreßraum des Dual- Port-Speichers 11 in einen ersten Adreßraum 12 und einen zweiten Adreßraum 13 aufgeteilt. Jedem der Adreßräume 12, 13 ist eine eigene Schnittstelle zu den Teilnehmern an Bus 3, d. h. zu den Einheiten 4, 5 bzw. 7, 8 zugeordnet.Although there are units with different bus protocols, there is only one serial bus for the transport of the information. The arrangement shown in FIG. 2, which is located in unit 1, is provided in order to be able to work with the same bus alternatively or alternately according to different bus protocols. The unit 1 contains a parallel bus 9 to which, among other things, a computer 10 and a dual-port memory 11 are connected. The dual-port memory 11 contains control elements (not shown) and parallel-series-series-parallel converters, via which it is connected to the serial bus 3 . So that the unit 2 can work with the same bus 3 at different times according to different bus protocols, the address space of the dual-port memory 11 is divided into a first address space 12 and a second address space 13 . Each of the address spaces 12 , 13 is assigned its own interface to the participants on bus 3 , ie to the units 4 , 5 and 7 , 8 , respectively.

Der erste Adreßraum 12 ist für die Schnittstelle zu den Eingabe-, Ausgabeeinheiten 7, 8 vorgesehen und steht in Form von relativen Adressen zur Verfügung. Der Adreßraum 12 hat folgende Speicherbelegung: Ein Teil der Speicherzellen ist schreibgesperrt und enthält baugruppenspezifische Daten, z. B. Kennziffern, Sachnummern, Änderungszustände für die Baugruppe 2. Ein weiterer Teil der Speicherzellen ist als Puffer für die Aufnahme von Telegramm bestimmt, die auf den Bus 3 übertragen werden sollen oder von diesem empfangen wurden. Die Telegramme umfassen beispielsweise zahlreiche Wörter mit je einem Byte. Für dasjenige Telegramm, das verarbeitet werden soll, ist ein Zeiger in mindestens einer gesonderten Speicherzelle vorgesehen. Der Zeiger wird durch den Rechner 10 gesetzt. In Verbindung mit dem Zeiger ist ein Speicher für die Schnittstellenkennung vorgesehen. Dieser Schnittstellenkennungsspeicher 14 benötigt nur ein bit und gibt an, welche Schnittstelle bearbeitet werden soll. Der Schnittstellenkennungsspeicher 14 wird vom Rechner 10 der zentralen Einheit 1 auf ein bit der Wertigkeit "1" oder "0" gesetzt und von der Steuerung das Dual-Port-Speichers 11 gelesen. Beispielsweise bedeutet eine "1", daß die Schnittstelle zu den Einheiten 4, 5 bearbeitet werden kann, während bei einer "0" im Schnittstellenkennungsspeicher 14 die Schnittstelle für die Einheiten 4, 5 nicht bearbeitet werden darf. Vom Rechner 10 wird daher bestimmt, welche der beiden Schnittstellen bearbeitet wird. Weiterhin ist ein im Zusammenhang mit dem Zeiger stehender Statusspeicher 15 vorgesehen, dessen Inhalt Aufschluß über den Zustand des zugehörigen Telegramms gibt. The first address space 12 is provided for the interface to the input and output units 7 , 8 and is available in the form of relative addresses. The address space 12 has the following memory allocation: Some of the memory cells are write-locked and contain module-specific data, e.g. B. Code numbers, part numbers, change states for module 2 . Another part of the memory cells is intended as a buffer for receiving telegrams that are to be transmitted to or received from bus 3 . The telegrams include, for example, numerous words with one byte each. A pointer is provided in at least one separate memory cell for the telegram that is to be processed. The pointer is set by the computer 10 . A memory for the interface identifier is provided in connection with the pointer. This interface identifier memory 14 requires only one bit and indicates which interface is to be processed. The interface identifier memory 14 is set by the computer 10 of the central unit 1 to a bit of the value "1" or "0" and the dual-port memory 11 is read by the controller. For example, a "1" means that the interface to the units 4 , 5 can be processed, while with a "0" in the interface identifier memory 14, the interface for the units 4 , 5 must not be processed. The computer 10 therefore determines which of the two interfaces is processed. Furthermore, a status memory 15 is provided in connection with the pointer, the content of which provides information about the status of the associated telegram.

Der Statusspeicher 15 kann 1 byte umfassen, wobei den einzelnen Stellen verschiedene Bedeutungen zugeordnet sind. Ein bit gibt insbesondere an, ob ein Sendeauftrag vorhanden ist oder ob der Auftrag bereits abgewickelt wurde. Ein weiteres bit zeigt an, ob eine Antwort abholbereit ist oder nicht. Das bit für den Auftrag wird vom Rechner der zentralen Einheit 1 gesetzt und nach der Abwicklung von der Steuerung des Dual-Port-Speichers 11 zurückgesetzt. Das weitere bit wird von der Steuerung des Dual-Port-Speichers 11 gesetzt und nach Abholung vom Rechner 10 zurückgesetzt. Die übrigen Stellen des ein byte umfassenden Worts beziehen sich auf eine Fehlerkennung. Wenn ein Sendeauftrag vorliegt, darf der Inhalt des Fehlerkennungsbits vom Rechner 10 nicht verändert werden. Weitere Speicherzellen sind für die Aufnahme des jeweiligen Befehls, für Quittungsangaben und für Fehlerhinweise vorgesehen.The status memory 15 can comprise 1 byte, with different meanings being assigned to the individual locations. In particular, a bit indicates whether a send order is available or whether the order has already been processed. Another bit indicates whether a response is ready to be picked up or not. The bit for the job is set by the computer of the central unit 1 and is reset by the control of the dual-port memory 11 after processing. The further bit is set by the controller of the dual-port memory 11 and is reset after being picked up by the computer 10 . The remaining digits of the one-byte word refer to an error detection. If there is a send order, the content of the error detection bit must not be changed by the computer 10 . Additional memory cells are provided for receiving the respective command, for acknowledgment information and for error messages.

Die Steuerung für den Dual-Port-Speicher 11 prüft wie folgt, welche Schnittstelle bearbeitet werden soll. In einem Verfahrensschritt 23 wird festgestellt, ob der Inhalt des Statusspeichers "1" ist. Trifft dies zu, wird im Schritt 24 ein Auftrag für die Einheiten 7, 8 bearbeitet. Ist der Inhalt des Statusspeichers "0", dann wird der Inhalt des Schnittstellenkennzeichnungsspeichers 14 in einem Schritt 25 geprüft. Ist in diesem eine "1" enthalten, wird in einem Schritt 26 ein Autrag für die Einheiten 4, 5 ausgeführt. Ist der Inhalt des Schnittstellenkennzeichnungsspeichers 13 "0", dann wird ebenso wie nach der Ausführung der Aufträge in den Schritten 24, 26 auf den Schritt 23 übergegangen. Der Adreßraum 12 enthält weiterhin einen Ringpufferspeicher 16 für zu sendende Telegramme. Vom Rechner 10 werden die zu sendenden Telegramme sequentiell im Ringpufferspeicher 16 abgelegt. Ist der Ringpufferspeicher 16 gefüllt, dann wird am Pufferanfang mit dem Eintragen der zu sendenden Telegramme fortgefahren.The controller for the dual-port memory 11 checks which interface is to be processed as follows. In a method step 23 it is determined whether the content of the status memory is "1". If this is the case, an order for the units 7 , 8 is processed in step 24 . If the content of the status memory is "0", the content of the interface identification memory 14 is checked in a step 25 . If this contains a "1", an order for the units 4 , 5 is carried out in a step 26 . If the content of the interface identification memory 13 is "0", then, just as after the execution of the orders in steps 24 , 26 , a transition is made to step 23 . The address space 12 also contains a ring buffer memory 16 for telegrams to be sent. The telegrams to be sent are stored sequentially in the ring buffer memory 16 by the computer 10 . If the ring buffer memory 16 is filled, the entry of the telegrams to be sent is continued at the beginning of the buffer.

Zum Trennen der Telegramme des Ringpufferspeichers 16 ist ein Merkerbyte vorgesehen, das aus mehreren Stellen bestehen kann. Es sind z. B. drei Stellen, die mit S, Q, F bezeichnet sind, vorhanden. To separate the telegrams of the ring buffer memory 16 , a flag byte is provided, which can consist of several digits. There are e.g. B. three digits, which are labeled S, Q, F, available.

Die Stellen S, Q, F können folgende Bedeutungen haben:The positions S, Q, F can have the following meanings:

Die Stelle S bezieht sich auf die Sendebeautragung und wird vom Rechner 10 gesetzt und von der Steuerung des Dual-Port-Speichers 11 gelesen. Wenn S=0, dann liegt keine Sendebeauftragung vor. Ist S=1, dann liegt eine Sendebeauftragung für das im Speicher folgende Telegramm vor. Die Stelle Q ist für die Aufnahme einer Quittungsangabe bestimmt und wird von der Steuerung des Dual-Port-Speichers 11 gesetzt. Den Inhalt 0 der Stelle Q ist der Hinweis zugeordnet, daß das Telegramm übertragen wurde. Der Rechner 10 wertet den Inhalt der Stelle S aus. Die Stelle F bezieht sich auf Fehlerangaben, die von der Steuerung des Dual-Port- Speichers 11 gesetzt und vom Rechner 10 ausgewertet werden. Ist F=0, wird eine fehlerfreie Übertragung angezeigt. Ist F=1, ist das übertragene Telegramm fehlerhaft.The position S relates to the transmission order and is set by the computer 10 and read by the controller of the dual-port memory 11 . If S = 0, then there is no send request. If S = 1, there is a send request for the telegram that follows in the memory. The position Q is intended for the receipt of an acknowledgment and is set by the control of the dual-port memory 11 . The content 0 of position Q is assigned the information that the telegram has been transmitted. The computer 10 evaluates the content of the location S. The point F relates to error information that is set by the controller of the dual-port memory 11 and evaluated by the computer 10 . If F = 0, an error-free transmission is displayed. If F = 1, the transmitted telegram is faulty.

Vor dem Eintragen von Telegrammen prüft der Rechner 10, an welcher Stelle des Ringpufferspeichers freie Speicherplätze vorhanden sind. Dies kann mit zwei Zeigern erfolgen, die den Füllstand und den Leerstand des Ringpufferspeichers mitteilen und vom Rechner 10 auf den aktuellen Stand gehalten werden. Hinter dem Merkerbyte kann eine Speicherstelle für einen Rückverweis frei bleiben.Before entering telegrams, the computer 10 checks at which location of the ring buffer memory there are free memory locations. This can be done with two pointers, which indicate the fill level and the empty level of the ring buffer memory and are kept up to date by the computer 10 . A memory location for a reference can be left behind the flag byte.

Der Ringpufferspeicher 17 für den Empfang von Telegrammen hat eine feste Größe. Die in den Ringpufferspeicher 17 einlaufenden Telegramme werden sequentiell abgespeichert. Bei Erreichen des Endes des Ringpufferspeichers wird automatisch zum Pufferanfang zurückgekehrt. Für die abgelegten Telegramme ist ebenfalls ein Merkerbyte zwischen den Telegrammen vorgesehen.The ring buffer memory 17 for receiving telegrams has a fixed size. The telegrams arriving in the ring buffer memory 17 are stored sequentially. When the end of the ring buffer memory is reached, the system automatically returns to the beginning of the buffer. A flag byte is also provided between the telegrams for the stored telegrams.

Es sind zwei Stellen, M1, M2 vorgesehen, die folgende Bedeutung haben:There are two places, M 1 , M 2 , which have the following meaning:

Wenn M1=1, ist das Telegramm komplett und abholbereit. Wenn M1=0, ist das Telegramm gespeichert. M1 wird von der Steuerung des Dual-Port- Speichers 11 gesetzt und von dem Rechner 10 gelesen. Wenn M2=1, dann wurde das Telegramm vom Rechner 10 abgeholt. Die Stelle M2 wird vom Rechner 10 gesetzt und von der Steuerung für den Dual-Port-Speicher 11 gelesen. If M 1 = 1, the telegram is complete and ready to be picked up. If M 1 = 0, the telegram is saved. M 1 is set by the controller of the dual-port memory 11 and read by the computer 10 . If M 2 = 1, the telegram was picked up by the computer 10 . The location M 2 is set by the computer 10 and read by the controller for the dual-port memory 11 .

Während des Empfangs eines Telegramms werden von der Steuerung des Dual- Port-Speichers 11 verschiedene Fehlerüberprüfungen durchgeführt. Nach Feststellung eines Fehlers wird in einer Fehlerzelle das entsprechende Fehlerbit gesetzt. Fehlerhafte Telegramme werden nicht im Empfangspuffer abgelegt. Nach Empfang eines fehlerfreien Telegramms wird ein Interrupt an den Rechner 10 gegeben. Bei fehlerfreiem Empfang eines Telegramms bleibt die Fehlerzelle unverändert. Nur während der Normierung wird die Fehlerzelle gelöscht.Various errors are checked by the controller of the dual-port memory 11 while a telegram is being received. After detection of an error, the corresponding error bit is set in an error cell. Faulty telegrams are not stored in the receive buffer. After receipt of an error-free telegram, an interrupt is sent to the computer 10 . If a telegram is received without errors, the error cell remains unchanged. The error cell is only deleted during normalization.

In einem weiteren Speicherbereich 18 ist eine Liste der Adressen der an den Bus 3 angeschlossenen Teilnehmer mit Slave-Funktion enthalten.A further memory area 18 contains a list of the addresses of the subscribers with slave function connected to bus 3 .

Im Adreßraum 13 sind ein Speicherblock 19 für die auszusendenden Telegramme und eine Adressenliste 20 vorhanden. In der Adressenliste 20 stehen nacheinander die Adressen der Sendeaufträge der zu sendenden Telegramme. Für den Empfang ist ein Speicherbereich 21 vorgesehen, der Telegramme unterschiedlicher Länge aufnehmen kann. Eine Liste 22 enthält die Adressen der Einheiten 4, 5. In der Adressenliste 20 ist für jede Adresse eine erste Stelle vorgesehen, in die vom Rechner 10 eine Mitteilung über einen Sendeauftrag an die Steuereinheit des Dual-Port- Speichers 11 eingegeben wird. Eine zweite Stelle in der Adressenliste 20 enhtält eine Mitteilung für den Rechner 10 über einen Übertragungsfehler des Telegramms. Im Speicherbereich 21 werden die Telegramme blockweise eingelesen und byteweise gespeichert.A memory block 19 for the telegrams to be sent and an address list 20 are present in the address space 13 . The address list 20 contains the addresses of the send orders of the telegrams to be sent one after the other. A memory area 21 is provided for reception, which can receive telegrams of different lengths. A list 22 contains the addresses of the units 4 , 5 . In the address list 20 , a first position is provided for each address, into which the computer 10 enters a message about a send order to the control unit of the dual-port memory 11 . A second position in the address list 20 contains a message for the computer 10 about a transmission error in the telegram. In the memory area 21 , the telegrams are read block by block and stored byte by byte.

In einer Stelle der Blöcke ist eine Stelle vorgesehen, in die die Steuereinheit des Dual-Port-Speichers eine Mitteilung über die Vollständigkeit der Übertragung einspeichert. In einer zusätzlichen Stelle ist angegeben, ob die Blöcke bereits gesendet wurden.In one location of the blocks, a location is provided in which the Control unit of the dual-port memory a message on the Completeness of the transmission saved. In an additional The position indicates whether the blocks have already been sent.

Falls der Adreßraum 12 der Ringpufferspeicher 15, 16 nicht vollständig belegt ist, also noch freie Bereiche enthält, kann dieser Adreßraum der zweiten Schnittstelle 13 zugeordnet werden.If the address space 12 of the ring buffer memory 15 , 16 is not completely occupied, ie still contains free areas, this address space can be assigned to the second interface 13 .

Claims (4)

1. Anordnung der Datenübertragung zwischen einer zentralen Einheit (1, 10) und an diese über einen seriellen Bus (3) angeschlossenen Teilnehmern (4, 5), wobei der Datenaustausch über einen Dual-Port- Speicher (11) abgewickelt wird, der über einen parallelen Bus (9) mit der zentralen Einheit (1, 10) und über einen seriellen Bus (3) mit den Teilnehmern (4, 5) verbunden ist, dadurch gekennzeichnet,
daß der Adreßraum des Dual-Port-Speichers (11) mindestens in einen ersten (12) und einen zweiten (13), je einer Schnittstelle der Teilnehmer mit übereinstimmendem Busprotokoll zugeordneten Adreßraum aufgeteilt ist, und
daß die Übertragung des im ersten oder zweiten Adreßraums (12, 13) in Form von Telegrammen zwischengespeicherten Daten durch einen von der zentralen Einheit (1, 10) einstellbaren, auf jeweils ein Telegramm gerichteten Zeiger derart erfolgt, daß in Verbindung mit einem von der zentralen Einheit (1, 10) einstellbaren Schnittstellenkennungsspeicher (14) die Freigabe oder Sperrung des Telegramms für eine Schnittstelle eingestellt wird, und durch einen Statusspeicher (15) die Mitteilung eines Sendeauftrags eingestellt wird.
1. Arrangement of the data transmission between a central unit ( 1 , 10 ) and to these via a serial bus ( 3 ) connected participants ( 4 , 5 ), the data exchange being handled via a dual-port memory ( 11 ), which a parallel bus ( 9 ) is connected to the central unit ( 1 , 10 ) and via a serial bus ( 3 ) to the participants ( 4 , 5 ), characterized in that
that the address space of the dual-port memory ( 11 ) is divided into at least a first ( 12 ) and a second ( 13 ), each with an interface of the subscribers with a matching bus protocol assigned address space, and
that the transmission of the data temporarily stored in the first or second address space ( 12 , 13 ) in the form of telegrams is carried out by a pointer which can be set by the central unit ( 1 , 10 ) and is directed to one telegram in such a way that in connection with one of the central Unit ( 1 , 10 ) adjustable interface identifier memory ( 14 ) the release or blocking of the telegram for an interface is set, and the status of a memory ( 15 ) the message of a send job is set.
2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß im ersten oder zweiten Adreßraum (12, 13) ein Ringpufferspeicher (16) für zu sendene Telegramme und ein Ringpufferspeicher (17) für empfangene Telegramme vorgesehen sind und daß die Telegramme durch ein Merkerbyte voneinander getrennt sind, das von der zentralen Einheit (1, 10) einstellbare Informationen über einen Sendeauftrag oder keinen Sendeauftrag und einstellbare Informationen über die vollzogene oder nicht vollzogene Übertragung sowie über die fehlerfreie oder fehlerhafte Übertragung aufweist.2. Arrangement according to claim 1, characterized in that in the first or second address space ( 12, 13 ) a ring buffer memory ( 16 ) for telegrams to be sent and a ring buffer memory ( 17 ) are provided for received telegrams and that the telegrams are separated from one another by a flag byte are, which has information that can be set by the central unit ( 1 , 10 ) about a transmission order or no transmission order and information that can be set about the transmission that has been completed or not as well as about the error-free or faulty transmission. 3. Anordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß im ersten oder zweiten Adreßraum (12, 13) je ein Speicher für einen den Füllstand des ersten und zweiten Ringpufferspeichers (16, 17) angegebenen Zeiger vorgesehen ist.3. Arrangement according to claim 1 or 2, characterized in that in the first or second address space ( 12 , 13 ) a memory is provided for a the level of the first and second ring buffer memory ( 16, 17 ) indicated pointer. 4. Anordnung nach einem oder mehreren der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß jedes Telegramm im Ringpufferspeicher (17) für den Empfang ein Merkerbyte aufweist, das vom Teilnehmer (4, 5) und von der zentralen Einheit (1, 10) einstellbare Informationen über die Abholbereitschaft oder Sperrung des Telegramms und die vollzogene oder noch nicht vollzogene Abholung durch die zentrale Einheit (1, 10) aufweist.4. Arrangement according to one or more of the preceding claims, characterized in that each telegram in the ring buffer memory ( 17 ) has a flag byte for reception, which from the subscriber ( 4 , 5 ) and from the central unit ( 1 , 10 ) adjustable information about has the willingness to pick up or block the telegram and the completed or not yet completed pickup by the central unit ( 1 , 10 ).
DE19893937021 1989-11-07 1989-11-07 Data transfer control between central unit and subscribers - uses divided dual port memory and interface identification memory for connecting of subscribers with different protocols Granted DE3937021A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19893937021 DE3937021A1 (en) 1989-11-07 1989-11-07 Data transfer control between central unit and subscribers - uses divided dual port memory and interface identification memory for connecting of subscribers with different protocols

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19893937021 DE3937021A1 (en) 1989-11-07 1989-11-07 Data transfer control between central unit and subscribers - uses divided dual port memory and interface identification memory for connecting of subscribers with different protocols

Publications (2)

Publication Number Publication Date
DE3937021A1 DE3937021A1 (en) 1991-05-08
DE3937021C2 true DE3937021C2 (en) 1992-08-27

Family

ID=6393024

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19893937021 Granted DE3937021A1 (en) 1989-11-07 1989-11-07 Data transfer control between central unit and subscribers - uses divided dual port memory and interface identification memory for connecting of subscribers with different protocols

Country Status (1)

Country Link
DE (1) DE3937021A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19501489A1 (en) * 1995-01-19 1996-07-25 Abb Patent Gmbh Telegram information transmission using European Installation Bus system e.g. for control of lighting units
AT405998B (en) * 1997-01-21 2000-01-25 Felten & Guilleaume Ag Oester EIB DEVICE FOR INSTALLATION IN AN INSTALLATION BOX

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2728155B2 (en) * 1991-12-19 1998-03-18 三菱電機株式会社 Communication control device
DE19842849C2 (en) 1998-09-18 2001-02-01 Siemens Ag Method and arrangement for transmitting digital data
US6925514B1 (en) * 2001-03-30 2005-08-02 Agere Systems Inc. Multi-protocol bus system and method of operation thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19501489A1 (en) * 1995-01-19 1996-07-25 Abb Patent Gmbh Telegram information transmission using European Installation Bus system e.g. for control of lighting units
AT405998B (en) * 1997-01-21 2000-01-25 Felten & Guilleaume Ag Oester EIB DEVICE FOR INSTALLATION IN AN INSTALLATION BOX

Also Published As

Publication number Publication date
DE3937021A1 (en) 1991-05-08

Similar Documents

Publication Publication Date Title
DE2913288C2 (en) Multiprocessor system with a large number of processor modules
DE2455803C2 (en) Multiprocessor data processing system
DE2719247C3 (en) Data processing system
DE2828731C2 (en) adapter
CH522921A (en) Computer system
DE3127349A1 (en) SIGNAL PROCESSING SYSTEM WITH DISTRIBUTED ELEMENTS
DE2750721A1 (en) INPUT / OUTPUT SYSTEM
DE3301628A1 (en) CIRCUIT ARRANGEMENT FOR DATA EXCHANGE BETWEEN TWO COMPUTERS
DE4019519A1 (en) IMPROVED DEVICE AND PROTOCOL FOR A LOCAL NETWORK
DE2125507A1 (en) Queue control device for selecting requests for access to a memory from a queue
DE3640646A1 (en) DIAGNOSTIC SYSTEM
DE4313190B4 (en) Apparatus and method for initializing a data interface for a programmable controller
CH622367A5 (en)
DE3937021C2 (en)
DE3718472C2 (en)
DE3938950C2 (en)
EP0555456B1 (en) Data transmission process and data processing system with distributed computing nodes
DE2142374A1 (en) Data processing device
DE1524127B2 (en) MULTIPLE COMPUTER SYSTEM WITH INTERNAL CONNECTION LINES BETWEEN THE DATA PROCESSING DEVICES
EP0419721B1 (en) Communication system for programmable logic controllers linked to each other
DE2813016C2 (en) Device for processing signals in a telecommunications system, in particular a telephone exchange
EP0048869B1 (en) Multiprocessor system, particularly with a number of microprocessors
DE3333847C2 (en)
DE3114734C2 (en)
DE1549428B2 (en) CONTROL UNIT FOR TRANSMITTING DATA IN A DATA PROCESSING SYSTEM

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8120 Willingness to grant licenses paragraph 23
D2 Grant after examination
8363 Opposition against the patent
8327 Change in the person/name/address of the patent owner

Owner name: AEG SCHNEIDER AUTOMATION GMBH, 63500 SELIGENSTADT,

8331 Complete revocation