WO2009065236A1 - Kommunikationsbaustein, netzwerk mit einem solchen kommunikationsbaustein und verfahren zum betrieb - Google Patents

Kommunikationsbaustein, netzwerk mit einem solchen kommunikationsbaustein und verfahren zum betrieb Download PDF

Info

Publication number
WO2009065236A1
WO2009065236A1 PCT/CH2008/000453 CH2008000453W WO2009065236A1 WO 2009065236 A1 WO2009065236 A1 WO 2009065236A1 CH 2008000453 W CH2008000453 W CH 2008000453W WO 2009065236 A1 WO2009065236 A1 WO 2009065236A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication
chain
data
module
blocks
Prior art date
Application number
PCT/CH2008/000453
Other languages
English (en)
French (fr)
Inventor
Peter Vockenhuber
Original Assignee
Metaphysics Sa
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 Metaphysics Sa filed Critical Metaphysics Sa
Priority to EP08851812.1A priority Critical patent/EP2223473B1/de
Publication of WO2009065236A1 publication Critical patent/WO2009065236A1/de

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40032Details regarding a bus interface enhancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/437Ring fault isolation or reconfiguration

Definitions

  • the present invention relates to a communication module according to the preamble of claim 1, to a network having such a communication module and to a method for operating such a communication module or such a network.
  • Networks denote the connection of various processor elements (hereinafter called PE) through a communication channel through which information can be exchanged between the PEs.
  • PE processor elements
  • Networks may be in the form of a bus, with the physical medium over which the data is transmitted being common to all PEs (e.g., by a common, uninterrupted line).
  • bus systems have the disadvantage that an error in the transmission medium common to all PE leads to a total failure of the communication.
  • Another common arrangement consists of a line which is interrupted at each PE, so that the PE has an input and an output for data transmission.
  • Such networks may be routed in the ring such that the data line is routed from one output of a PE to the input of the next PE and, after all PE have been connected, the data output of the last PE is fed back to the input of the first PE.
  • This topology makes it easy to secure the traffic. This can be done in several ways, such as by the sender waiting for the data to be sent through the ring. The receiver marks the received data as 'consumed' and the sender can control data integrity and confirmation of data transfer. In case of an error, the shipment can be repeated, for example.
  • the ring topology has the advantage that a fault in the physical transmission medium (eg line interruption or short circuit) only affects the faulty segment. However, then control of data integrity and data transfer can no longer occur.
  • multi-networked, and therefore complicated, topologies are known, with several inputs / outputs of one PE connecting it to several other PEs.
  • the transmission medium can be based on every conceivable physical basis.
  • data lines for example, data lines, fiber optic lines, radio transmissions, etc.
  • any number of signal formers (repeater 1 ) or amplifiers are switched.
  • a data line it is intended to mean an information channel that runs over any network, such as copper lines, fiber optic lines, the Internet, over the telephone, via satellite relay stations, Ethernet or other networks.
  • the present invention has for its object to overcome the disadvantages described above. This is done by means of the characterizing features of claim 1.
  • the invention is based on the recognition that it is not necessary to return the data in the ring to the receiver if the transmission medium can be used in both directions. But this is a communication module with the feature a) of claim 1, wherein the direction in terms of features b) and c) is controllable.
  • Such a communication module can be further developed in the sense of the features of claim 2.
  • An associated network has the features of claim 3.
  • a higher-order network can also be established if, for example, the PEs have more than two inputs / outputs. In this case, more than one segment (consisting of a PE and a data transmission line) may fail, depending on the topology order, while retaining full system functionality.
  • the transmission in the ring is usually done in the undisturbed case. If then a segment of the transmission line fails, it is no longer used and the system continues to communicate in a chain topology. There is no need for redundancy on lines or line drivers, but only the sense of direction of the communication must be switched at certain times. As far as the physical structure of a data transmission line is concerned, therefore, there are only insignificant additional costs compared with a conventional data transmission system.
  • this serves to realize fault tolerance in the event of a fault, with all PEs being switched from a ring mode to a chain mode.
  • this serves for buffering the telegrams at the reflective ends of a chain of PE, which are all in the chain mode, which is characterized by regular change of direction.
  • Device can address all participants in accordance with the invention networked amount PE.
  • the goal is to identify a single PE with a closed ring structure as the master of the arrangement, which then controls the further communication.
  • the chain identification number CID is used to detect the closure of the chain on itself to a ring through a communication channel, then one ensures thereby that a chain of PE, whose beginning and end is connected, automatically closes into a ring, where all PE go from the chain mode to the ring mode.
  • FIG. 1 shows the circuit diagram of a communication module according to the invention
  • FIG. 3 data transfer and communication structure in the network in the undisturbed case for a ring
  • Fig. 6 shows the procedure for forming the longest possible chains.
  • FIG. 1 describes a preferred embodiment of a communication module 1 according to the invention which presents itself to the outside world via an interface 12 which can receive signals from an external processor 13, for example a microprocessor.
  • This interface 12 may be similar or identical to that of a conventional UART device.
  • An interface driver 20 is expediently provided for this interface.
  • this block 2 will have a transmit register Tx and a receive register Rx for storing information, wherein further memory may be provided within the communication block 1.
  • Tx transmit register
  • Rx receive register
  • the contents of the transmission register Tx are sequentially output to a line driver 3a, and the data of an output line 5a and 5b, respectively, are passed through a line driver 3b to the input of the UART and thus to the reception register Rx.
  • communication with a communication module 1 according to the present invention can be communicated in a normal asynchronous or synchronous serial duplex method, whereby, for example, the line 5a transmits outgoing data and the line 5b receives incoming data.
  • registers Rx and Tx need not be the only memories included in the communication module 1.
  • a program memory Pm is also mentioned, which is expediently contained in a control stage 4, but can of course also be provided separately. It will continue be advantageous if a data memory 11, such as for storing the address, codes and other data is provided.
  • This switching stage 7 is in the present case in each case in a fixed position (as shown in Figure 1), which is not changed during the data transmission.
  • the directional sense of the data transmission determined by the position of the switching stage 7 is determined via an output line 6 of a control stage 4.
  • the control stage is provided with a program memory Pm.
  • control stage 4 the switch position of the switching circuit 7 leave unchanged and the data received via the lines 5a and 5b pass through data unchanged to the interface 12, so that the external connected processor 13 with the devices connected to the lines 5 devices in the normal duplex method can communicate.
  • an isolated communication module that detects this situation after startup (because he receives messages from any direction), are switched to a program state Z, in which he pushes through all the information received from the connected processor 13 and also with the over one of the lines 5 received information to the interface 12 passes.
  • the program stored in the memory Pm calculates the switch position of the switching stage 7 of the communication module 1 by querying at regular times via a present in the communication module 1 data bus 19, the reception register Rx of the UART 2, which is controlled whether standardized in this register Rx at regular times Enter data of a certain type (token).
  • the switch position of level 7 is left unchanged (ring arrangement, token type "R"), or after reception, the direction of the switch of the switching stage 7 is rotated (chain arrangement, token type "A” or "B”).
  • bus driver devices are well known to those skilled in the art and have become widely used in bus systems (e.g., RS485). Such devices can, as known in the art, be configured by a signal via the output line 6 of the control stage 4 so that a function equivalent to the switching function of FIG. 1 results.
  • a clock generator 8 is applied to the control device 4, the clock signals of which are detected in the control device 4, for example in a counter N, so as to determine the time.
  • the communication module 1 has a random number generator Ra, which may be incorporated as a separate component, but preferably is part of the control stage 4.
  • a random number generator Ra which may be incorporated as a separate component, but preferably is part of the control stage 4.
  • the purpose of this random generator will be explained later, but it should be said that, alternatively, each communication module 1 is already assigned a randomly selected or running number during production and stored in one of the memories, e.g. in the data memory 11 or in a separate memory, can be stored. However, this leads to relatively long numbers of 64, 128 or more bits, which is why the use of the generator Ra is preferred.
  • the random number generator Ra is not part of the communication block 1, but for example has only one connection to the bus 19, as shown in the example of FIG.
  • At least one such communication module 1 will be present in a network, it is preferably several that are connected either in a chain or in a ring. Upon occurrence Therefore, all of these communication modules will detect the fault at about the same time and can synchronize with one another by switching the communication direction. Since the same algorithm is executed from the program memory Pm, as it also runs during the cold start already mentioned, it can be achieved that all PE 13s (regardless of which type) also synchronize with the communication modules 1. It is thereby achieved that, when an error occurs in the data transmission or in the transmitting medium, the arrangement is automatically reconfigured (see the description of FIG. 6).
  • the time in which the tokens pass each control stage 4 of the communication modules 1, i. the token rotation time can be set so that there are no significant delays in normal communication. Since the interfaces of the UART modules 2 send continuously in normal operation, there is a token circulation time, which depends only linearly on the number of communication modules in the network, and which can therefore be very short.
  • the data memory 11 can also be used as a buffer when data in the chain is to be transmitted during operation, which are reflected by edge elements of the chain.
  • the data is first written to the data memory 11, then the switching stage 7 is switched, and the data are read out of the memory 11 acting as a buffer memory 11 again and transferred to the UART 2 for output.
  • Each of these communication modules has two connections, each with the output pointing in the direction of the arrow and the input on the opposite side.
  • the processor elements of the communication blocks are in a program state A, B or C, depending on whether this block is located at the left end of the chain formed by the blocks (state A), in the middle of the chain (state C) or on right end of the chain (state B).
  • the data transmission from one communication component to the other is indicated in FIG. 2 by an arrow which extends to the input of the receiving communication component.
  • the token that is transferred is entered above the arrow.
  • Token A which is sent by the block 1 Cn .
  • the transmission from one module to another can, as already mentioned, in the most diverse ways, for example by a data line, by optical fiber lines, by radio transmissions or the like. respectively.
  • the possible transmission directions by switching the lines 5a, 5b (FIG. 1) by means of the switching stage 7 are symbolized by arrows 5 ', 5 ".
  • the communication blocks 1a to 1d also have a trailing index which identifies their number in the chain (or optionally in the ring). In the example of FIG. 2, it is about m blocks, wherein the numbering of the block 1a begins in state A1.
  • FIG. 3 results with these four communication modules of Fig. 2, when operated as a ring.
  • FIGS. 3a to 3d designate the sequences and program states that successively, after the expiration of a typical cycle time required to receive the data, the associated arithmetic operations and pass it on if necessary. Accordingly, four such cycle times are shown in FIGS. 3a to 3d.
  • a telegram R is issued from the block R1 to the block R2, which then passes it on according to FIG. 3b.
  • Each communication module that has to send a message waits until it receives the telegram R and then appends its data as well as the address of the recipient or the receiver. All blocks that do not appear in the addressee list pass on the message unchanged to the next block. On the other hand, if a block is noted on the addressee list, it marks the data as "consumed" and passes it on as well.
  • the module R3 receives the message R from the module R2 and, according to FIG. 3c, passes it on to the module R4, which in turn forwards it to the module R1 in FIG.
  • telegram R arrives at the original transmitter R1 after a telegram cycle time. It can now carry out the data integrity check and check the data transfer confirmation (marked as 'consumed' by the recipient). In the case of a negative check, the process can be repeated, for example, depending on the structure of the program memory Pm, or a fault can be displayed to a superordinate level.
  • the further processing of the disturbance will not be discussed here, since in this case the usual strategies and displays are directed to the further software levels or hardware output elements indicate the presence of the disturbance by means of signals.
  • control stages 4 are not clear from the outset what kind their connection with each other and what program state to take them. Because the control stages 4 of the individual blocks can not detect whether they are isolated, connected in the ring or in one or more chains.
  • all devices set their dispatch direction, preferably the direction CW, and send a special token (e.g., C) in that direction.
  • a special token e.g., C
  • random numbers rv are added to these special tokens, generating the building blocks in a random number generator Ra ( Figure 1).
  • This random generator Ra is shown here as a separate component, but may be integrated into the control stage or may be formed by an appropriate software.
  • the determination of the master can preferably take place such that the communication module with the highest random number rv is determined as the master.
  • That component can be determined as the master of the arrangement whose neighbor has the highest random number in the direction of CW.
  • This may either be an assembly that was originally configured as a ring (FIG. 3) and one segment of which has failed, or it may be an assembly designed from the outset as a chain.
  • the communication modules in the chain configure themselves after the cold start either as inner elements C2 to C4 of the chain, or as a left edge element A1 or as a right edge element B5.
  • the programming is such that their position in the chain is recognized automatically by all communication modules. This is done by all blocks after the cold start a predetermined transmission direction, here the direction CW, take and send a special token (about C). All blocks, which now receive the token C, then hand it in the direction of CW.
  • the module A1 is therefore the only one in the arrangement that has not received a token C after startup and accordingly assumes the program state A as master of Arrangement.
  • device A1 makes the remainder of the device known by sending a token A in the direction CW through the device.
  • This token A is passed on by all the building blocks of the chain. All the blocks which have received the token A switch the direction after the forwarding of this token A and confirm the receipt of the token A in the opposite direction (direction CCW), while waiting for the receipt of a token B from the direction CCW.
  • the block concerned takes the program state B, because it is then located on the right edge of the chain. He makes this known to the rest of the arrangement by sending token B in the direction of CCW. The token B is then passed through the entire arrangement to the master A.
  • FIGS. 4a to 4f in turn illustrate the time sequence of undisturbed communication, FIG. 4a illustrating the starting position and FIGS. 4b to 4d illustrating the respective position after a typical time required for the data to be passed through a communication module.
  • All blocks C2 to C4 which are in program state C, pass data and tokens in the direction of CW, but then change direction, as can be seen in FIGS. 4b to 4d.
  • Fig. 4d then writes the block B5, the data in its buffer memory 11, then changes direction in accordance with Fig. 4e and reads the data again from the buffer memory 11 to send them in the direction of CCW. Thereafter, starting from the state of FIG. 4f, all data is forwarded with the token B in the direction CCW.
  • the communication module A1 remains in the sense of direction as long as possible, in which it can receive from the direction CW, whereas the communication component B5 can transmit most of the time in the direction CW. This is used to detect docking attempts of other chains ( Figure 6).
  • the data and tokens always go back and forth between the edge modules A1 and B5.
  • the effect is that all tokens and data periodically pass through all the building blocks of the array.
  • Each module that appears as an addressee of the data can confirm its receipt by marking it as "consumed.”
  • the receiving communication module then transfers the data via its interface 12 to the processor element 13 connected to it When the data becomes active, it can control the integrity of the data and also whether it has been marked as "consumed”. He then sends an empty token, that is without data. This token gives other blocks the right to send data to other blocks.
  • FIG. 5 shows the already mentioned table NAT, from which it can be seen how an external processor element 13 communicates with other processor elements which are connected to the respective communication module 1 via the interfaces 12.
  • FIG. 5 a shows a NAT table which corresponds to a situation according to FIG. 3. speaks, in which the communication modules are networked in the ring, and in Fig. 5b, the corresponding situation for a chain according to FIG. 4th
  • the table NAT has a part 213, which can be viewed by the processor element 13, as well as a part 204, which can only be viewed by the control stages 4 of the communication modules 1.
  • the control stages 4 can also view the data 213 of the tables NAT.
  • a row is created for each communication module of an arrangement.
  • a column S In the area of the private data 204 of the control stages 4 is a column S with a status information in which the program states of the participating communication blocks of the arrangement are entered.
  • FIG. 5a which reproduces the table NAT which is created in each of the communication modules according to FIG. 3, in column S the first module is entered as master M of the arrangement, and all the other modules are marked as being in program state R.
  • NAT In the externally visible through the connected processor element 13 area 213 of the table NAT only the columns with addresses A, the symbolic name N of the recipient address D, and the acknowledgment B are entered.
  • the NAT table may also contain further information; but in general this will hardly matter for the function.
  • a processor element e.g. with the symbolic name N2 and the address R3, wants to send data to receiver elements N1 and N4, it marks this in the table NAT according to Fig. 5a in the column D and passes the data to the communication module R3, to which it is connected , In the communication module R3, the data in the memory 11 is cached, because the control stage 4 waits until a
  • Token R circulates without appended data, whereupon it appends the data and the recipient address A to the token R and sends them.
  • the communication modules R2 and R4 recognize the data as self-determined on the basis of the address A and mark it as "consumed.” As soon as the data then arrive again at the transmitter R3, its control stage 4 recognizes that it has been consumed and transmits this to the confirmation in in column B.
  • the integrity of the data can also be checked by the control stage 4 of the respectively transmitting communication module R3 in each case storing a copy of the transmitted data in order to be able to compare it with the returning data.
  • the data field which, in the affirmative case, confirms that the data was sent unchanged by the arrangement.
  • the table NAT is shown in accordance with FIG. 4.
  • the arrangement consists of the communication modules A1, C2, C3, C4 and B5, where A1 is the master of the arrangement.
  • the communication blocks C are located in the middle of the arrangement and the block B5 at the right edge of the chain.
  • Fig. 5b the case is shown that one of the communication blocks transmits a message that could not be passed successfully.
  • communication block C2 was marked as the recipient in column D
  • the error message E was entered in the column for the confirmations by the sending block.
  • Fig. 5b is a preferred method for calculating a chain identification number CID. It consists of two parts: a part which describes the number of communication blocks (which are five in the example of FIG. 5a), and one which adds summands multiplied by the address A from the random numbers rv. This will make it very likely that two equally long, independent chains will get the same result, and the chain can assume that it is docking with this CID itself.
  • FIG. 6 shows the case in which two arrangements 9a and 9b have been configured as a chain, the chain 9a consisting of the building blocks 101-1 to 101-n, and the chain 9b consisting of the building blocks 102-1 to 102 -m.
  • the number of blocks m and n, off where the two chains are built, is irrelevant in the event that merge both chains into a single, longer.
  • the chains exchange their respective table NAT 14a, 14b and merge to form a common table 14d containing the data of all communication modules 1.
  • FIG. 6 is intended to show which processes in the program memory of the control units 4 of the components involved take place when the switch S1 is closed and both chains are connected to form a single, longer chain.
  • the edge elements A and B of a chain designed according to the invention are in a state in which the element A is most receptive from the direction CCW and the element B can transmit most of the time in the direction CW.
  • This is used to detect docking attempts on another chain.
  • the block 101-n of the chain 9a sends, whenever possible, a special token in the direction of CW, and then turns the direction to detect whether an edge element of another chain acknowledges this docking attempt.
  • the element or the component A or 102.1 of another chain 9b which detects a docking attempt, rotates by switching the switching stage 7, the direction and acknowledges this attempt.
  • the device 101-n will send a special token, eg, a token D, through its chain 9a, thereby notifying all devices of that chain 9a of the acknowledged docking attempt.
  • the master of the chain 9a the block 101-1 is notified of the docking attempt and determined as the new master of the now extended chain 9a + 9b.
  • the device 102-1 becomes the information through the chain 9b spread that a docking attempt is imminent, and that the contact by the new master 101-1 of the extended chain 9a + 9b must be waited.
  • All blocks in the program state C (which are not shown in FIG. 6) recognize on the basis of the token D that the new master 101-1 of the device, which is in state A, will now transmit and rotate the direction via its switching stages 7 such that they are ready to receive from the direction CW.
  • the boundary elements 101-n and 102-1 in addition to the special token D, also transmit data on the number of elements and, if appropriate, other useful information with which the newly fused chain can rapidly resume the function after closure of the interrupt at switch S1.
  • the two boundary elements 101-n and 102-1 After sending the special token D, the two boundary elements 101-n and 102-1, which have made contact, go from program state B (device 101-n) or A (device 102-1) to program state C, because they are now in the middle of the fused chain 9a, 9b.
  • the newly formed extended chain which consists of the building blocks of the fused chains 9a and 9b, is now ready for operation and data can be transported as described with reference to FIG. But closes the switch S2, then creates a ring in which all blocks are connected to each other.
  • the program function which gives the network according to the invention an error tolerance, is limited to monitoring the recurrence of the circulating tokens. If a module in the network does not find the token at the intended time (possibly plus a certain tolerance and safety margin), it automatically initiates the startup program sequence according to the program. This then leads, as shown above, either to the longest possible chain or to a ring.
  • the program is expediently designed so that it - if parts of the series of communication modules combine into individual chains, then comes to the fusion of these chains, which always sets the longest possible chain and therefore the transmission of data between as many as possible Blocks is possible.
  • This - as can be seen - results from the particular type of communication modules according to FIG. 1, in which a direction reversal is provided via the switching stages 7. It is understood that the chain can, as shown above, also ring-like close to itself, in which again a segment can fail, without the principal function is impaired.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

Ein Kommunikationsbaustein (1) besteht aus zumindest einem Sende-/Empfangs-Basis-Baustein (2) mit einem Register (Rx), sowie aus mindestens einem zugehörigen Leitungstreiber-Baustein (3a, 3b) und mindestens einer Steuereinrichtung (4) sowie einem Taktgeber (8). Er zeichnet sich zunächst dadurch aus. dass ein Basis-Baustein (2) für den Anschluss von zwei Kommunikationskanälen (5a, 5b) zum Empfangen von Signalen aus einer Richtung und zum Senden von Signalen in die andere Richtung ausgelegt ist. Aus-serdem ist die Steuereinrichtung (4) an eine Signalleitung (6) gekoppelt, über welche ein Richtungssteuersignal übertragbar ist, welche eine Schaltstufe (7) zum Umschalten der Richtung von Senden und Empfang in den Kommunikationskanälen umfasst, wobei zweckmässig der in Vorzugsrichtung empfangende Kommunikationskanal (5a) als Sen-der konfiguriert ist, und der in Vorzugsrichtung sendende Kommunikationskanal (5b) als Empfänger. Überdies weist die Steuereinrichtung (4) eine Verknüpfung mit dem Register (Rx) des Basis-Bausteins (2) und eine Richtungsrechnerstufe auf, welche zum Berechnen der Richtung bzw. der Stellung der Schaltstufe (7) aus der Zeitinformation des Taktge-bers (8) und dem Inhalt des Registers (Rx) ausgebildet ist.

Description

KOMMUNIKATIONSBAUSTEIN, NETZWERK MIT EINEM SOLCHEN KOMMUNIKATIONSBAUSTEIN UND VERFAHREN ZUM BETRIEB
Die vorliegende Erfindung bezieht sich auf einen Kommunikationsbaustein nach dem Oberbegriff des Anspruches 1 , auf ein Netzwerk mit einem solchen Kommunikationsbaustein und auf ein Verfahren zum Betrieb eines solchen Kommunikationsbausteines bzw. eines solchen Netzwerkes.
Netzwerke bezeichnen die Verbindung verschiedener Prozessorelemente (im weiteren PE genannt) durch einen Kommunikationskanal, über den Information zwischen den PE ausgetauscht werden kann. Es sind verschiedene Netzwerke bekannt, über die Daten in Form von Paketen versandt werden. Netzwerke können in Form eines Busses ausgeführt sein, wobei das physikalische Medium, über das die Daten übertragen werden allen PE gemeinsam ist (z.B. durch eine gemeinsame, ununterbrochene Leitung). Bussysteme weisen jedoch den Nachteil auf, dass ein Fehler im allen PE gemeinsamen Übertragungsmedium zu einem Totalausfall der Kommunikation führt.
Eine andere gebräuchliche Anordnung besteht aus einer Leitung, die an jedem PE unterbrochenen ist, sodass das PE jeweils einen Eingang und einen Ausgang zur Datenübertragung aufweist. Derartige Netze können im Ring verlegt werden, sodass die Datenleitung von einem Ausgang eines PE zum Eingang des nächsten PE gelegt wird, und, nachdem alle PE verbunden wurden, der Datenausgang des letzten PE wieder an den Eingang des ersten PE geführt wird.
Diese Topologie ermöglicht es auf einfache Weise, den Datenverkehr zu sichern. Dies kann auf verschiedene Weise erfolgen, etwa indem der Versender wartet, bis die Daten durch den Ring verschickt wurden. Der Empfänger markiert die empfangenen Daten als .konsumiert' und der Versender kann Datenintegrität und die Bestätigung der Datenübergabe kontrollieren. Bei einem Fehler kann der Versand beispielsweise wiederholt werden. Die Ring-Topologie weist den Vorteil auf, dass sich ein Fehler im physikalischen Übertragungsmedium (z.B. Leitungsunterbruch oder Kurzschluss) nur auf das gestörte Segment auswirkt. Allerdings kann dann die Kontrolle der Datenintegrität und der Datenübergabe nicht mehr erfolgen. Neben der Ring- Topologie sind auch mehrfach vernetzte, und damit komplizierte, Topologien bekannt, wobei mehrere Ein/Ausgänge eines PE dieses mit mehreren anderen PE verbindet.
Natürlich kann bei der folgenden Betrachtung das Übertragungsmedium auf jeder denkbaren physikalischen Grundlage beruhen. In Frage kommen beispielsweise Datenleitungen, Glasfaserleitungen, Funkübertragungen usw. Weiter kann natürlich zwischen Segmenten, die aus einem PE und einer Datenleitung bestehen, eine beliebige Anzahl von Signalformern (.repeater1) oder Verstärkern geschaltet werden. Wenn im weiteren von einer Datenleitung gesprochen wird, soll damit ein Informationskanal gemeint sein, der über ein beliebiges Netz läuft, beispielsweise über Kupferleitungen, Glasfaserleitungen, das Internet, über Telefon, über Satelliten-Relaisstationen, Ethernet oder andere Netzwerke.
Allen diesen Netzwerken ist gemeinsam, dass die Datenintegritätskontrolle und die
Datenübergabebestätigung bei einem Ausfall eines Segments im Übertragungsmedium nicht mehr möglich sind. Dabei führen Ausfälle im physikalischen Medium, in Relais Netzen bzw. sogenannten Repeatem oder in einem PE zum Ausfall des gesamten Netzwerks. Natürlich kann die Ausfallsicherheit auch durch redundante Übertragungslei- tungen (bzw. -Kanäle) erreicht werden, wobei im gestörten Fall auf den zweiten, redundanten zurückgegriffen wird. Damit sind jedoch beträchtliche Kosten verbunden, da Leitungen und Leitungstreiber jeweils doppelt vorhanden sein müssen. Darüber hinaus besteht ein Problem darin, dass der Ausfall eines PE selbst zum Ausfall des gesamten Systems führen kann.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, die oben beschriebenen Nachteile zu überwinden. Dies geschieht mittels der kennzeichnenden Merkmale des Anspruches 1.
Der Erfindung liegt dabei die Erkenntnis zugrunde, dass es nicht notwendig ist, die Daten im Ring zum Empfänger zurückzuleiten, wenn das Übertragungsmedium in beiden Richtungen verwendet werden kann. Dazu aber dient ein Kommunikationsbaustein mit dem Merkmal a) des Anspruches 1 , wobei die Richtung im Sinne der Merkmale b) und c) steuerbar ist.
Ein solcher Kommunikationsbaustein kann im Sinne der Merkmale des Anspruches 2 weiterentwickelt werden. Ein zugehöriges Netzwerk weist die Merkmale des Anspruches 3 auf. In diesem Falle ist es beispielsweise möglich, bei Störung eines Segments von einer Ring-Topologie zu einer Kettentopologie überzugehen, an deren Enden der Datenstrom beispielsweise gespeichert und danach in Gegenrichtung zurück gesendet wird. Dadurch wird erreicht, dass eine Ringtopologie oder eine Topologie höherer Ordnung ein gestörtes Segment aufweisen kann, ohne dass die Datenintegritätsprüfung oder die Datenempfangsprüfung entfallen muss. Natürlich kann auch ein Netzwerk höherer Ordnung aufgebaut werden, wenn etwa die PE mehr als zwei Ein/Ausgänge aufweisen. In diesem Fall kann je nach Ordnung der Topologie mehr als nur ein Segment (bestehend aus einem PE und einer Datenübertragungsleitung) ausfallen, wobei die volle Systemfunktion erhalten bleibt.
Die Übertragung im Ring erfolgt dabei in der Regel im ungestörten Fall. Wenn dann ein Segment der Übertragungsleitung ausfällt, wird es nicht mehr verwendet, und das System kommuniziert in einer Kettentopologie weiter. Dabei ist keinerlei Redundanz an Leitungen oder Leitungstreibern nötig, sondern es muss nur der Richtungssinn der Kommunikation zu bestimmten Zeiten umgeschalten werden. Was den materiellen Aufbau einer Datenübertragungsleitung betrifft, fallen daher im Vergleich zu einem konventionellen Datenübertragungssystem nur unwesentliche Mehrkosten an.
Insbesondere können normale, handelsübliche Leitungstreiber und UART (Universal Asynchronous Receiver Transmitter) im Kommunikationsbaustein ohne Modifikation verwendet werden. Alternativ sind auch sog. USRT (also Universal Synchronous Receiver Transmitter) einsetzbar, obwohl UARTs bevorzugt sind. Es muss einzig die Umschaltung des Richtungssinnes der Kommunikation von jedem PE gesteuert werden. Die dazu nötige Logik sollte in allen PE genau gleich und gleichzeitig ablaufen. Dies kann entweder in einem Mikroprozessor erfolgen oder in einem eigenen Baustein, der beispielsweise die Funktion des UART und eines Mikroprozessors vereint.
Im Vergleich mit konventionellen Übertragungssystemen hat dies zur Folge, dass keine wesentlichen materiellen Kosten anfallen, da die Steuerung des Richtungssinnes der Kommunikation durch Software gelöst werden kann, die keine Produktionskosten verursacht.
Wenn das Netzwerk in der als bevorzugt angegebenen Weise des Anspruches 4 ausgebildet ist, dann dient dies dazu, Fehlertoleranz im Störungsfall zu realisieren, wobei alle PE von einer Ring-Betriebsart in eine Ketten-Betriebsart umgeschaltet werden. Wird allerdings die in Anspruch 4 unter „insbesondere" angegebene Ausführung gewählt, dann dient dies dem Zwischenspeichern der Telegramme an den reflektierenden Enden einer Kette von PE, die sich alle in der Ketten-Betriebsart befinden, die durch regelmässi- gen Richtungswechsel gekennzeichnet ist.
Die Ausbildung des Kommunikationsbausteines nach Merkmal a) des Anspruches 2 bzw. sein Betrieb im Sinne des Verfahrensanspruches 9 stellt jeweils sicher, dass ein externes
Gerät alle Teilnehmer einer erfindungsgemäss vernetzten Menge PE adressieren kann.
Die Ausbildung des Kommunikationsbausteines nach Merkmal c) des Anspruches 2 bzw. sein Betrieb im Sinne des Verfahrensanspruches 10 (erste Alternative) haben jeweils zum
Ziel, bei einer geschlossenen Ringstruktur ein einziges PE als Master der Anordnung zu identifizieren, das dann die weitere Kommunikation steuert.
Die zweite Alternative des Anspruches 10 stellt dagegen sicher, dass sich Teilketten aus
PE selbsttätig zu grosseren Ketten zusammenschliessen.
Wird die Kettenidentifikationszahl CID dazu verwendet, um das Schliessen der Kette auf sich selbst zu einem Ring durch einen Kommunikationskanal zu erkennen, dann stellt man damit sicher, dass sich eine Kette aus PE, deren Anfang und Ende verbunden wird, selbsttätig zu einem Ring schliesst, wobei alle PE von der Ketten-Betriebsart in die Ring- Betriebsart übergehen.
Weitere Einzelheiten der Erfindung ergeben sich an Hand der nachfolgenden Beschreibung von in der Zeichnung schematisch dargestellten Ausführungsbeispielen. Es zeigen:
Fig. 1 das Schaltschema eines erfindungsgemässen Kommunikationsbausteins;
Fig. 2 die im weiteren verwendete Symbolik;
Fig. 3 Datentransfer und Kommunikationsaufbau im Netzwerk im ungestörten Fall für einen Ring;
Fig. 4 Datentransfer und Kommunikationsaufbau im Netzwerk im ungestörten Fall für eine Kette; Fig. 5a und 5b die Adressentabelle NAT, mit deren Hilfe Prozessorelemente untereinander kommunizieren; und die
Fig. 6 die Vorgangsweise zur Bildung längstmöglicher Ketten.
In Fig.1 wird eine bevorzugte Ausführungsart eines Kommunikationsbausteines 1 nach der Erfindung beschrieben, der sich gegenüber der Aussenwelt über eine Schnittstelle 12 darstellt, welche Signale von einem äusseren Prozessor 13 erhalten kann, beispielsweise einem Mikroprozessor. Diese Schnittstelle 12 kann ähnlich oder genau so ausgeführt sein, wie die eines herkömmlichen UART-Bausteins. Für diese Schnittstelle wird zweck- mässig ein Schnittstellentreiber 20 vorgesehen sein.
Einer der Vorteile der vorliegenden Erfindung besteht in der Tatsache, dass sie mit einem Standard-UART Baustein 2 realisiert werden kann, wobei auch die Schnittstelle 12 kom- patibel mit diesem Baustein ist. Es wurde oben aber bereits hervorgehoben, dass die
Erfindung nicht auf die Verwendung eines (asynchronen) UART-Bausteines 2 beschränkt ist, vielmehr kann jeder andere, äquivalente Baustein verwendet werden, beispielsweise auch ein (synchroner) USRT-Baustein. In jedem Falle wird dieser Baustein 2 ein Senderegister Tx und ein Empfangsregister Rx zum Speichern von Informationen aufweisen, wobei weitere Speicher innerhalb des Kommunikationsbausteines 1 vorgesehen sein können. In der weiteren Beschreibung wird nur auf die Sende- (Tx) und Empfangsregister (Rx) des UART Bezug genommen, wobei davon ausgegangen wird, dass dem Fachmann die Funktionsweise dieses Bausteins hinreichend bekannt ist.
Der Inhalt des Senderegisters Tx wird sequentiell an einen Leitungstreiber 3a ausgegeben bzw. werden die Daten einer Ausgangsleitung 5a bzw. 5b durch einen Leitungstreiber 3b an den Eingang des UART und damit zum Empfangsregister Rx geleitet. Auf diese Weise kann mit einem Kommunikationsbaustein 1 gemäss der vorliegenden Erfindung in einem normalen asynchronen oder synchronen seriellen Duplex-Verfahren kom- muniziert werden, wobei beispielsweise die Leitung 5a ausgehende Daten überträgt und die Leitung 5b hereinkommende Daten empfängt.
Es wurde oben erwähnt, dass die Register Rx und Tx nicht die einzigen Speicher zu sein brauchen, welche in dem Kommunikationsbaustein 1 enthalten sind. In der Folge wird noch ein Programmspeicher Pm erwähnt, welcher zweckmässig in einer Steuerstufe 4 enthalten ist, selbstverständlich aber auch separat vorgesehen sein kann. Ferner wird es vorteilhaft sein, wenn ein Datenspeicher 11, etwa zum Speichern der Adresse, von Codes und anderer Daten vorgesehen ist.
Den Leitungstreibern 3a, 3b ist eine Umschaltstufe 7 nach- bzw. vorgeschaltet, und zwar in der Weise, dass die Sendesignale von der Leitungstreiberstufe 3a wahlweise an die Leitung 5a oder 5b gelegt werden können bzw. umgekehrt die an die Leitungstreiberstufe 3b gelangenden Eingangssignale wahlweise von der Leitung 5a oder 5b kommen. Diese Schaltstufe 7 ist im vorliegenden Fall jeweils in einer festen Stellung (wie in Fig.1 gezeichnet), die während der Datenübertragung nicht verändert wird. Dabei wird der durch die Stellung der Schaltstufe 7 bestimmte Richtungssinn der Datenübertragung über eine Ausgangsleitung 6 einer Steuerstufe 4 bestimmt. Dazu ist die Steuerstufe mit einem Programmspeicher Pm versehen.
So kann die Steuerstufe 4 die Schalterstellung der Umschaltstufe 7 unverändert lassen und die über die Leitungen 5a bzw. 5b empfangenen Daten unverändert an die Schnittstelle 12 durchschieben, so dass der aussen angeschlossene Prozessor 13 mit den an die Leitungen 5 angeschlossenen Geräten im normalen Duplex-Verfahren kommunizieren kann. Dies stellt einen weiteren Vorteil der Erfindung dar, weil dadurch eine normale Punkt-zu-Punkt-Verbindung mit einem handelsüblichen Gerät aufbaubar ist, das nicht mit einem erfindungsgemässen Kommunikationsbaustein 1 ausgerüstet zu sein braucht, also als Standard-Kommunikationsbaustein 2 ausgebildet ist. So kann ein vereinzelter Kommunikationsbaustein, der diese Situation nach dem Aufstarten detektiert (weil er aus keiner Richtung Nachrichten erhält), in einen Programmzustand Z geschaltet werden, in dem er alle vom angeschlossenen Prozessor 13 erhaltenen Informationen durchschiebt und auch ebenso mit der über eine der Leitungen 5 erhaltenen Information an die Schnittstelle 12 übergibt.
Das im Speicher Pm gespeicherte Programm errechnet die Schalterstellung der Schaltstufe 7 des Kommunikationsbausteines 1 , indem es zu regelmässigen Zeitpunkten über einen im Kommunikationsbaustein 1 vorhandenen Datenbus 19 das Empfangsregister Rx des UART 2 abfragt, wobei kontrolliert wird, ob in diesem Register Rx zu regelmässigen Zeitpunkten standardisierte Daten eines gewissen Typs (Token) hereinkommen. Je nach Typ des Tokens wird die Schalterstellung der Stufe 7 unverändert belassen (Ring-Anordnung, Tokentyp „R"), oder nach Empfang die Richtung des Schalters der Schaltstufe 7 gedreht (Ketten-Anordnung, Tokentyp „A" oder „B"). Wenn dabei von einem „Schalter" die Rede ist, so versteht es sich, dass es sich hier nicht um einen körperlichen Schalter zu handeln braucht, sondern dass vielmehr die Schaltfunktion von Bedeutung ist, welche ja auch mittels Software erreicht werden kann.
Natürlich kann die Umschaltung des Richtungssinnes auch dadurch erfolgen, dass gar kein Schalter verwendet wird, sondern dass Bausteine als Leitungstreiber 3a und 3b verwendet werden, die neben dem Zustand „Senden" bzw. „Empfangen" auch einen Zustand aufweisen, in dem sie in eine hohe Impedanz geschaltet sind und daher den an ihren Eingängen anliegenden Datenstrom nicht stören. Solche Bustreiber-Bausteine sind dem Fachmanne wohlbekannt und haben in Bussystemen (z.B. RS485) weite Verbreitung gefunden. Derartige Bausteine kann man, wie dem Fachmann bekannt, durch ein Signal über die Ausgangsleitung 6 der Steuerstufe 4 so konfigurieren, dass eine der Schaltfunktion der Fig. 1 äquivalente Funktion resultiert.
Kommt es während einer Zeitspanne zu einer gewissen Mindestdauer, während welcher kein Token empfangen wurde, dann wird daraus geschlossen, dass die jeweils empfangende Übertragungsleitung 5a oder 5b gestört bzw. unterbrochen ist, und das im Programmspeicher Pm gespeicherte Programm führt denselben Algorithmus aus, der auch bei einem sogenannten Kaltstart, nämlich beim Anlegen der Versorgungsspannung, ausgeführt wird. Um diese Mindestdauer zu erfassen, liegt an der Steuereinrichtung 4 ein Taktgeber 8 an, dessen Taktsignale in der Steuereinrichtung 4, beispielsweise in einem Zähler N, erfasst werden, um so die Zeit zu ermitteln.
Eine weitere vorteilhafte Ausbildung liegt darin, dass der Kommunikationsbaustein 1 einen Zufallszahlengenerator Ra besitzt, der als gesonderter Bauteil inkorporiert sein kann, vorzugsweise aber Bestandteil der Steuerstufe 4 ist. Der Zweck dieses Zufallsgenerators wird später erläutert, doch sei so viel gesagt, dass alternativ dazu jedem Kommunikationsbaustein 1 schon bei der Produktion eine zufällig gewählte oder laufende Zahl zugeordnet und in einem der Speicher, z.B. im Datenspeicher 11 oder in einem gesonderten Speicher, abgespeichert werden kann. Allerdings führt dies zu relativ langen Zahlen, von 64, 128 oder mehr Bit, weshalb die Verwendung des Generators Ra bevorzugt ist. Eine andere Alternative läge darin, dass der Zufallszahlengenerator Ra nicht Bestandteil des Kommunikationsbausteines 1 ist, sondern beispielsweise nur einen Anschluss an den Bus 19 besitzt, wie im Beispiel der Fig. 1 gezeigt ist.
Wie besonders aus den Fig.3 und 4 ersichtlich ist, wird in einem Netzwerk zwar mindestens ein solcher Kommunikationsbaustein 1 vorhanden sein, doch sind es vorzugsweise mehrere, die entweder in einer Kette oder in einem Ring verbunden sind. Beim Auftreten einer Störung werden daher alle diese Kommunikationsbausteine die Störung etwa zur selben Zeit detektieren und können sich untereinander durch Umschalten der Kommunikationsrichtung synchronisieren. Da dabei derselbe Algorithmus aus dem Programmspeicher Pm ausgeführt wird, wie er auch beim schon erwähnten Kaltstart abläuft, kann erreicht werden, dass sich auch alle PE 13 (gleichgültig welcher Art) mit den Kommunikationsbausteinen 1 synchronisieren. Dadurch wird erreicht, dass sich beim Auftreten eines Fehlers in der Datenübertragung oder im übertragenden Medium die Anordnung selbsttätig neu konfiguriert (siehe die Beschreibung zu Fig. 6).
Die Zeit, in der die Token an jeder Steuerstufe 4 der Kommunikationsbausteine 1 vorbeiziehen, d.h. die Token-Umlaufzeit, kann so eingestellt werden, dass sich keine nennenswerten Verzögerungen der normalen Kommunikation ergeben. Da im Normalbetrieb die Schnittstellen der UART-Bausteine 2 dauernd senden, ergibt sich eine Token-Umlaufzeit, die nur linear von der Anzahl der Kommunikationsbausteine im Netz abhängt, und die daher sehr kurz sein kann.
Der Datenspeicher 11 kann auch als Zwischenspeicher eingesetzt werden, wenn im Betrieb in der Kette Daten übermittelt werden sollen, die von Randelementen der Kette reflektiert werden. Dabei werden die Daten zuerst in den Datenspeicher 11 geschrieben, anschliessend wird die Schaltstufe 7 umgeschaltet, und die Daten werden aus dem so als Pufferspeicher wirkenden Datenspeicher 11 wieder ausgelesen und an den UART 2 zur Ausgabe übergeben.
An Hand der Fig. 2 sei die Symbolik erläutert, auf dem ein Netzwerk mit mehreren Kom- munikationsbausteinen 1a bis 1d aufbaut. Jeder dieser Kommunikationsbausteine hat zwei Anschlüsse, wobei jeweils der Ausgang in Richtung des Pfeiles zeigt, und sich der Eingang an der gegenüberliegenden Seite befindet.
Die Prozessorelemente der Kommunikationsbausteine befinden sich in einem Programm- zustand A, B oder C, je nachdem, ob sich dieser Baustein am linken Ende der von den Bausteinen geformten Kette befindet (Zustand A), in der Mitte der Kette (Zustand C) oder am rechten Ende der Kette (Zustand B).
Die Datenübertragung von einem Kommunikationsbaustein zum anderen ist in Fig. 2 jeweils durch einen Pfeil gekennzeichnet, der bis an den Eingang des empfangenden Kommunikationsbausteines reicht. Der Token, der dabei übertragen wird, ist jeweils oberhalb des Pfeiles eingetragen. So erhält nach der Darstellung der Fig. 2 der Baustein 1cn+i ein Telegramm oder einen
Token A, der vom Baustein 1Cn gesendet wird. Die Übertragung von einem Baustein zum anderen kann dabei, wie schon erwähnt, auf die verschiedenste Weise, zum Beispiel durch eine Datenleitung, durch Glasfaserleitungen, durch Funkübertragungen od.dgl. erfolgen. Die möglichen Übertragungsrichtungen durch Umschalten der Leitungen 5a, 5b (Fig. 1) mittels der Schaltstufe 7 sind durch Pfeile 5', 5" symbolisiert.
Dieser generelle Richtungssinn wird durch die Abkürzungen CW („clockwise") und CCW („counter-clockwise") bezeichnet.
Die Kommunikationsbausteine 1a bis 1d haben ausser einem Hinweis auf ihren Programmzustand (A, B, C) auch noch einen nachgestellten Index, der ihre Nummer in der Kette (oder gegebenenfalls im Ring) kennzeichnet. Im Beispiel der Fig. 2 handelt es ich um m Bausteine, wobei die Nummerierung beim Baustein 1a im Zustand A1 beginnt.
Nun soll an Hand der Fig. 3 der normale und ungestörte Ablauf beschrieben werden, der sich mit diesen vier Kommunikationsbausteinen der Fig. 2 ergibt, wenn diese als Ring betrieben werden.
Im Diagramm ist die zeitliche Abfolge in untereinander stehenden Zeilen symbolisiert. Dabei steht die Ausgangslage in Fig. 3a, und die darunter befindlichen Fig. 3b bis Fig. 3d bezeichnen die Abläufe und Programmzustände, die sich nacheinander, nach Ablauf einer typischen Taktzeit einstellen, die benötigt wird, um die Daten zu empfangen, die dazugehörigen Rechenoperationen durchzuführen und sie gegebenenfalls weiterzureichen. In den Fig. 3a bis 3d sind demgemäss vier derartige Taktzeiten dargestellt.
In Fig. 3a wird ein Telegramm R vom Baustein R1 an den Baustein R2 abgegeben, der es dann gemäss Fig. 3b weiterreicht. Jeder Kommunikationsbaustein, der eine Nachricht zu versenden hat, wartet ab, bis er das Telegramm R empfängt und hängt danach seine Daten sowie die Adresse des Empfängers oder der Empfänger an. Alle Bausteine, die nicht in der Adressatenliste aufscheinen, reichen das Telegramm unverändert an den nächsten Baustein weiter. Wenn dagegen ein Baustein auf der Adressatenliste vermerkt ist, markiert er die Daten als „konsumiert" und reicht sie ebenfalls weiter. Somit erhält in Fig. 3b der Baustein R3 vom Baustein R2 das Telegramm R und reicht es gemäss Fig. 3c an den Baustein R4 weiter, der es seinerseits in Fig. 3d wieder an den Baustein R1 weitergibt. Das bedeutet, dass nach einer Telegrammumlaufzeit das Telegramm R wieder beim ursprünglichen Sender R1 ankommt. Dieser kann nun die Datenin- tegritätsprüfung durchführen sowie die Datenübergabebestätigung (vom Empfänger als .konsumiert' markiert) prüfen. Bei negativer Prüfung kann, etwa je nach Aufbau des Programmspeichers Pm, zum Beispiel der Vorgang wiederholt werden, oder es kann einer übergeordneten Ebene eine Störung angezeigt werden. Auf die Weiterverarbeitung der Störung wird hier nicht weiter eingegangen, da in diesem Fall die üblichen Strategien und Anzeigen an die weiteren Software-Ebenen geleitet werden bzw. Hardware- Ausgabeelemente das Vorliegen der Störung durch Signale kenntlich machen.
Wenn eine derartige Anordnung mit fest verbundenen Leitungen 5a und 5b einen Kaltstart durchfährt, steht für alle Steuerstufen 4 noch nicht von vorneherein fest, welcher Art ihre Verbindung untereinander ist und welchen Programmzustand sie einnehmen sollen. Denn die Steuerstufen 4 der einzelnen Bausteine können nicht erkennen, ob sie vereinzelt, im Ring oder in einer oder mehreren Ketten verbunden sind.
Die Detektion der Verbindungen erfolgt nun beim Aufstartvorgang gleich wie in einem Fehlerfall.
Dabei stellen alle Bausteine ihre Versandrichtung, vorzugsweise die Richtung CW, ein und senden einen speziellen Token (z.B. C) in diese Richtung. Um zu erkennen, ob es sich um einen Ring handelt oder um eine Kette, werden an diesen speziellen Token Zufallszahlen rv angehängt, die die Bausteine in einem Zufallsgenerator Ra (Fig. 1 ) erzeugen. Dieser Zufallsgenerator Ra ist hier als gesonderter Bauteil dargestellt, kann aber in die Steuerstufe integriert sein bzw. kann von einer entsprechenden Software gebildet sein.
Wenn danach einer der Bausteine nach einer gewissen Zeit nichts empfangen hat, ist er der Master-Baustein einer Kette, geht in den Programmzustand A über und geht dann weiter gemäss demjenigen Programmablauf vor, der unten an Hand der Fig. 4 beschrieben wird.
Im Falle eines Ringes empfangen alle Bausteine nach dem Aufstarten Daten. Der Master der Anordnung wird dann gemäss den Zufallszahlen rv bestimmt. Jeder Baustein trägt die empfangenen Zufallszahlen rv in eine Tabelle NAT (Fig. 5) ein, wobei an Hand der Periodizität der Zahlen darauf geschlossen wird, wie lange diese Kette ist.
Nach einer festen Anzahl von Umläufen, die von den Steuerstufen 4 der Kommunika- tionsbausteine 1 an Hand der Periodizität der Zufallszahlen rv wird nun von allen Bausteinen der Master der Anordnung bestimmt, und dieser beginnt, wie in Fig. 3 gezeigt, zu kommunizieren, indem er an Stelle des Tokens C den Token R sendet. Das Bestimmen des Masters kann vorzugsweise so erfolgen, dass der Kommunikationsbaustein mit der höchsten Zufallszahl rv als Master bestimmt wird.
Sollte es sich ergeben, dass zwei Kommunikationsbausteine gleiche Zufallszahlen aufweisen, so kann beispielsweise jener Baustein als Master der Anordnung bestimmt werden, dessen Nachbar in Richtung CW die höchste Zufallszahl aufweist.
Bei der Kommunikation im Ring achten alle Bausteine darauf, dass die Token-Umlaufzeit sich innerhalb vorgegebener Grenzen bewegt, indem sie mit ihren Taktgebern 8 (Fig. 1) durch regelmässiges Ablesen des Registers Rx des Kommunikationsbausteines 1 prüfen, ob ein Token R übertragen wurde. Ist dies nicht der Fall, beginnt jeder Baustein für sich und autonom mit dem Programmablauf im Sinne des oben beschriebenen Kaltstarts. Dadurch wird gewährleistet, dass sich die Anordnung selbst wieder zur längstmöglichen Kette oder zum Ring konfiguriert.
An Hand der Fig. 4 sei nun der Ablauf im Falle einer Kette beschrieben. Dabei kann es sich entweder um eine Anordnung handeln, die ursprünglich als Ring (Fig. 3) konfiguriert war, und bei der ein Segment ausgefallen ist, oder es kann sich um eine Anordnung handeln, die von vorneherein als Kette konzipiert war.
Die Kommunikationsbausteine in der Kette konfigurieren sich nach dem Kaltstart entweder als Innenelemente C2 bis C4 der Kette, oder als linkes Randelement A1 oder aber als rechtes Randelement B5. Dabei ist die Programmierung derart, dass von allen Kommunikationsbausteinen ihre Lage in der Kette selbsttätig erkannt wird. Dies geschieht, indem alle Bausteine nach dem Kaltstart eine vorbestimmte Senderichtung, hier die Richtung CW, einnehmen und einen speziellen Token (etwa C) verschicken. Alle Bausteine, die nun die Token C empfangen, reichen ihn demnach in Richtung CW weiter.
Der Baustein A1 ist daher nach dem Aufstarten der einzige in der Anordnung, der keinen Token C empfangen hat, und nimmt demgemäss den Programmzustand A als Master der Anordnung an. Als solcher macht sich der Baustein A1 dem Rest der Anordnung bekannt, indem er einen Token A in Richtung CW durch die Anordnung schickt. Dieser Token A wird von allen Bausteinen der Kette weitergereicht. Alle Bausteine, die den Token A empfangen haben, schalten nach dem Weiterversand dieses Tokens A die Richtung um und bestätigen den Erhalt des Tokens A in der Gegenrichtung (Richtung CCW), während sie dann auf den Empfang eines Tokens B aus der Richtung CCW warten.
Wenn nun nach einer gewissen Zeit keine Empfangsbestätigung aus der Richtung CCW erfolgt, nimmt der betreffende Baustein den Programmzustand B ein, denn er ist dann am rechten Rand der Kette angesiedelt. Dies macht er dem Rest der Anordnung bekannt, indem er Token B in Richtung CCW verschickt. Der Token B wird danach durch die gesamte Anordnung bis zum Master A durchgereicht.
Nachdem einmal die Token A und B durch die Anordnung gegangen sind, ist diese stabil, und der Datentransfer gemäss Fig. 4a kann beginnen.
Die Fig. 4a bis 4f stellen wiederum den zeitlichen Ablauf der ungestörten Kommunikation dar, wobei Fig. 4a die Ausgangslage veranschaulicht und die Fig. 4b bis 4d die jeweilige Lage nach einer typischen Zeit, die für das Durchschieben der Daten durch einen Kommunikationsbaustein benötigt wird.
In der Ausgangslage gemäss Fig. 4a sind Daten, die im Baustein A1 aus der Richtung CCW ankommen, in einem Pufferspeicher, zweckmässig dem Speicher 11 (Fig. 1 ), gespeichert. Die Daten werden also aus dem Pufferspeicher ausgelesen und an der Token A angehängt, das seinerseits an den Nachbarbaustein C2 gesendet wird.
In der nachfolgenden Beschreibung wird davon ausgegangen, dass Daten übertragen werden sollen. Natürlich läuft die Kommunikation unter den Kommunikationsbausteinen genau gleich ab, wenn dies nicht der Fall sein sollte; denn dann wird nur der blosse Token ohne angehängte Daten übertragen, und diejenigen Kommunikationsbausteine, welche Daten übertragen wollen, erkennen dies und interpretieren diese Tatsache im Sinne der Bereitschaft der Anordnung, ihre Daten zu übertragen.
Alle Bausteine C2 bis C4, die sich im Programmzustand C befinden, reichen Daten und Token in Richtung CW weiter, wechseln aber danach die Richtung, wie dies aus den Fig. 4b bis 4d ersichtlich ist. In Fig. 4d schreibt dann der Baustein B5 die Daten in seinen Pufferspeicher 11 , wechselt danach die Richtung gemäss Fig. 4e und liest die Daten wieder aus dem Pufferspeicher 11 aus, um sie in Richtung CCW zu versenden. Danach werden ab dem Zustand der Fig. 4f alle Daten mit dem Token B in Richtung CCW weitergegeben.
Wie aus Fig. 4 ersichtlich ist, verharrt der Kommunikationsbaustein A1 so lange wie möglich im Richtungssinn, in dem er aus der Richtung CW empfangen kann, wogegen der Kommunikationsbaustein B5 die meiste Zeit in Richtung CW senden kann. Dies wird verwendet, um Andockversuche anderer Ketten zu erkennen (Fig. 6).
Die Daten und Token gehen dabei immer zwischen den Randbausteinen A1 und B5 hin und her. Der Effekt ist, dass alle Token und Daten in regelmässigen Zeitabständen an allen Bausteinen der Anordnung vorbeiziehen. Dabei kann jeder Baustein, der als Adressat der Daten aufscheint, deren Empfang bestätigen, indem er sie als „konsumiert" markiert. Der empfangende Kommunikationsbaustein übergibt danach die Daten über seine Schnittstelle 12 an das an ihn angeschlossene Prozessorelement 13. Jener Baustein, der als Sender der Daten aktiv wurde, kann die Integrität der Daten kontrollieren und auch, ob sie als „konsumiert" markiert wurden. Danach sendet er ein leeres Token, also ohne Daten, weiter. Dieses Token gibt anderen Bausteinen das Recht, ihrerseits Daten an andere Bausteine zu versenden.
Sind die Daten nicht als „konsumiert" markiert, oder ist der Dateninhalt verändert, wird dies erkannt, und es werden jene Massnahmen eingeleitet, die von der übergeordneten Instanz, also im allgemeinen dem Prozessor 13 (Fig. 1) für diesen Fall vorgesehen sind. Beispielsweise kann dieser veranlassen, dass die Nachricht nochmals gesandt wird.
Wie schon erwähnt, überwachen natürlich alle Steuerstufen 4 der Anordnung durch ihren Taktgeber 8 und durch regelmässiges Lesen der Register Rx der Kommunikationsbausteine 1 , ob ein Token A oder B in der geforderten Zeit vorkommt. Ist dies nicht der Fall, wird von allen Bausteinen autonom wieder derselbe Programmteil abgefahren wie beim oben beschriebenen Kaltstart. Dadurch können Ketten von Bausteinen, zwischen denen eine Verbindung defekt ist, sich selbsttätig wieder zur längsten möglichen Unterkette konfigurieren und so wenigstens einen Teil des Datenflusses aufrecht erhalten.
In Fig. 5 ist die schon erwähnte Tabelle NAT dargestellt, aus der ersichtlich ist, wie ein externes Prozessorelement 13 mit anderen Prozessorelementen kommuniziert, die über die Schnittstellen 12 an den jeweiligen Kommunikationsbaustein 1 angeschlossen sind. Dabei ist in Fig. 5a eine NAT-Tabelle dargestellt, die einer Situation nach Fig. 3 ent- spricht, in der die Kommunikationsbausteine im Ring vernetzt sind, und in Fig. 5b die entsprechende Situation für eine Kette gemäss Fig. 4.
Wie aus Fig. 5a ersichtlich ist, weist die Tabelle NAT einen Teil 213 auf, der vom Prozes- sorelement 13 einsehbar ist, sowie einen Teil 204, der nur von den Steuerstufen 4 der Kommunikationsbausteine 1 einsehbar ist. Die Steuerstufen 4 können jedoch auch die Daten 213 der Tabellen NAT einsehen. Natürlich kann es bei manchen Anwendungsfällen von Vorteil sein, die gesamte Tabelle NAT dem Prozessorelement 13 zugänglich zu machen, doch ist dies im allgemeinen nicht erforderlich.
In der Tabelle NAT nach Fig. 5 wird für jeden Kommunikationsbaustein einer Anordnung eine Zeile angelegt. Im Bereiche der privaten Daten 204 der Steuerstufen 4 befindet sich eine Spalte S mit einer Statusinformation, in welche die Programmzustände der beteiligten Kommunikationsbausteine der Anordnung eingetragen werden. In Fig. 5a, welche diejenige Tabelle NAT wiedergibt, die in jedem der Kommunikationsbausteine gemäss Fig. 3 angelegt ist, ist in der Spalte S der erste Baustein als Master M der Anordnung eingetragen, und alle anderen Bausteine sind als im Programmzustand R befindlich markiert.
In einer Spalte rv ist, wie das Bezugszeichen schon sagt, diejenige Zufallszahl eingetragen, die beim Aufstartvorgang generiert und verschickt wurde. Man sieht, dass der Master M, wie bevorzugt, die höchste Zahl aufweist und daher von allen Kommunikationsbausteinen der Anordnung auch als solcher identifiziert wird.
Im von aussen durch das angeschlossene Prozessorelement 13 einsehbaren Bereich 213 der Tabelle NAT sind nur die Spalten mit Adressen A, den symbolischen Namen N der Empfängeradresse D, sowie der Empfangsbestätigung B eingetragen. Natürlich kann die Tabelle NAT gewünschtenfalls auch noch weitere Informationen enthalten; doch wird dies im allgemeinen für die Funktion kaum von Bedeutung sein.
Wenn ein Prozessorelement, z.B. mit dem symbolischen Namen N2 und der Adresse R3, Daten an Empfänger-Elemente N1 und N4 versenden will, markiert es diese in der Tabelle NAT nach Fig. 5a in der Spalte D und übergibt die Daten an den Kommunikationsbaustein R3, an den es angeschlossen ist. Im Kommunikationsbaustein R3 bleiben die Daten im Speicher 11 zwischengespeichert, denn die Steuerstufe 4 wartet ab, bis ein
Token R ohne angehängte Daten umläuft, worauf sie die Daten und die Empfängeradresse A an den Token R anhängt und sie versendet. Die Kommunikationsbausteine R2 und R4 erkennen die Daten an Hand der Adresse A als für sich bestimmt und markieren diese als „konsumiert". Sobald die Daten dann wieder beim Sender R3 ankommen, erkennt dessen Steuerstufe 4, dass sie konsumiert wurden und trägt dies zur Bestätigung in der Spalte B ein.
Wie schon erwähnt, kann neben der blossen Bestätigung auch noch die Integrität der Daten überprüft werden, indem die Steuerstufe 4 des jeweils sendenden Kommunikationsbausteines R3 jeweils eine Kopie der gesendeten Daten abspeichert, um sie dann mit den rücklaufenden Daten vergleichen zu können. Derart kann also zusammen mit der Empfangsbestätigung auch eine Prüfung des Datenfeldes erfolgen, die im positiven Fall bestätigt, dass die Daten unverändert durch die Anordnung gesendet wurden.
Im Beispiel der Fig. 5b ist die Tabelle NAT entsprechend der Fig. 4 abgebildet. Die Anordnung besteht aus den Kommunikationsbausteinen A1 , C2, C3, C4 und B5, wobei A1 der Master der Anordnung ist. Die Kommunikationsbausteine C befinden sich in der Mitte der Anordnung und der Baustein B5 am rechten Rand der Kette.
In Fig. 5b ist der Fall dargestellt, dass einer der Kommunikationsbausteine eine Meldung überträgt, die dann nicht erfolgreich übergeben werden konnte. Zwar wurde der Kommunikationsbaustein C2 in der Spalte D als Empfänger markiert, doch wurde vom versendenden Baustein die Fehlermeldung E in die Spalte für die Bestätigungen eingetragen.
Der Ablauf beim Versand erfolgt dabei genau gleich, wie es oben an Hand der Fig. 5a für den Fall eines Ringes beschrieben wurde.
Unterhalb der Fig. 5b steht eine bevorzugte Methode zur Berechnung einer Kettenidentifikationszahl CID. Sie besteht aus zwei Teilen: einem Teil, der die Anzahl der Kommunikationsbausteine beschreibt (das sind im Beispiel der Fig. 5a fünf), und einem, der aus den Zufallszahlen rv mit der Adresse A multiplizierte Summanden addiert. Dadurch wird die Wahrscheinlichkeit sehr klein, dass zwei gleich lange, unabhängige Ketten zum gleichen Resultat kommen, und die Kette kann davon ausgehen, dass ein Andockversuch mit dieser CID von ihr selbst kommt.
In Fig. 6 ist der Fall dargestellt, in dem zwei Anordnungen 9a und 9b sich als Kette konfiguriert haben, wobei die Kette 9a aus den Bausteinen 101-1 bis 101-n besteht, und die Kette 9b aus den Bausteinen 102-1 bis 102-m. Die Anzahl der Bausteine m und n, aus denen die beiden Ketten aufgebaut sind, ist dabei unerheblich für den Fall, dass sich beide Ketten zu einer einzigen, längeren fusionieren. Dabei werden nach der Fusion die Ketten ihre jeweilige Tabelle NAT 14a, 14b austauschen und zu einer gemeinsamen, die Daten aller Kommunikationsbausteine 1 enthaltenden Tabelle 14d fusionieren.
Dabei sind in Fig. 6, wie ersichtlich nur die jeweiligen Randelemente gezeichnet, wogegen sich dazwischen eine beliebige Anzahl von Bausteinen sich im Programmzustand C befinden. Angenommen sei, dass alle Bausteine der beiden Ketten 9a, 9b untereinander verbunden sind, sei es durch Funk oder, bevorzugt, durch Leitungen. So befindet sich zwischen den Ketten 9a und 9b eine Leitung 5c, die durch einen Schalter S1 getrennt sein kann. Vom Schalter S2, der beide Ketten zu einem Ring verbinden würde, wird in der weiteren Beschreibung angenommen, er sei offen.
Natürlich kann an Stelle der Schalter S1 , S2, jeweils auch eine Unterbrechung der Leitung, oder ein Kurzschluss auf andere Weise auftreten; dies hat denselben Effekt. Die Fig. 6 soll zeigen, welche Abläufe im Programmspeicher der Steuereinheiten 4 der beteiligten Bausteine ablaufen, wenn der Schalter S1 geschlossen wird und sich beide Ketten zu einer einzigen, längeren Kette verbinden.
Nun befinden sich die Randelemente A und B einer erfindungsgemäss ausgestalteten Kette (Fig. 4) in einem Zustand, in dem das Element A die meiste Zeit aus der Richtung CCW empfangsbereit ist, und das Element B die meiste Zeit in Richtung CW senden kann. Dies wird dazu benutzt, Andockversuche einer anderen Kette zu detektieren. Dazu sendet der Baustein 101-n der Kette 9a, wenn immer möglich, einen speziellen Token in Richtung CW, und dreht dann die Richtung, um zu erfassen, ob ein Randelement einer anderen Kette diesen Andockversuch quittiert.
Das Element bzw. der Baustein A bzw. 102.1 einer anderen Kette 9b, das einen Andockversuch bemerkt, dreht durch Umschalten der Schaltstufe 7 die Richtung und quittiert diesen Versuch. Dadurch ist es möglich, dass die beiden Bausteine 101-n und 102-1 einander gegenseitig den Andockversuch bestätigen. Darauf wird der Baustein 101-n einen speziellen Token, z.B. einen Token D, durch seine Kette 9a schicken, wodurch alle Bausteine dieser Kette 9a vom quittierten Andockversuch benachrichtigt werden. Insbesondere wird der Master der Kette 9a, der Baustein 101-1 vom Andockversuch benachrichtigt und als neuer Master der nun verlängerten Kette 9a + 9b bestimmt. Ebenso wird der Baustein 102-1 durch die Kette 9b hindurch die Information verbreiten, dass ein Andockversuch bevorsteht, und dass auf die Kontaktaufnahme durch den neuen Master 101-1 der verlängerten Kette 9a + 9b gewartet werden muss.
Alle Bausteine im Programmzustand C (die in Fig. 6 nicht dargestellt sind) erkennen auf Grund des Tokens D, dass der neue Master 101-1 der Anordnung, der sich im Zustand A befindet, nun senden wird und drehen über ihre Schaltstufen 7 die Richtung derart, dass sie von der Richtung CW aus empfangsbereit sind. Zweckmässig senden die Randelemente 101-n und 102-1 neben dem speziellen Token D auch Daten über die Anzahl der Elemente und gegebenenfalls andere nützliche Informationen, mit der die neu fusionierte Kette nach dem Schliessen der Unterbrechung am Schalter S1 die Funktion zügig aufnehmen kann.
Nach dem Versand der speziellen Token D gehen die beiden Randelemente 101-n und 102-1 , die den Kontakt aufgenommen haben, vom Programmzustand B (Baustein 101-n) bzw. A (Baustein 102-1 ) in den Programmzustand C über, weil sie sich ja nun in der Mitte der fusionierten Kette 9a, 9b befinden.
Die neu gebildete, verlängerte Kette, welche aus den Bausteinen der fusionierten Ketten 9a und 9b besteht, ist nun betriebsbereit, und Daten können so transportiert werden, wie dies an Hand der Fig. 4 beschrieben wurde. Schliesst sich aber auch der Schalter S2, dann entsteht ein Ring, in dem alle Bausteine miteinander verbunden sind.
Im Prinzip ist vorgesehen, dass bei diesen Vorgängen von allen Steuerstufen 4 der Bausteine genau derselbe Programmablauf durchfahren wird, wie im Falle des An- dockens an eine andere Kette. Tatsächlich kann es jedoch bei Ketten gleicher Länge zu Problemen kommen, da zwischen zwei verschiedenen fusionierenden Ketten und einer sich selbst schliessenden Kette nicht einfach unterschieden werden kann. Für einen solchen Fall ist die Bildung der bereits geschilderten Kettenidentitätsnummer CID von Vorteil, die - wie schon erwähnt - aus der Anzahl ihrer Bausteine und aus zufälligen Zahlen rv besteht, welche die jeweiligen Steuerstufen 4 aus ihren Zufallsgeneratoren Ra beziehen. Daher ist das Programm zweckmässig so aufgebaut, dass beim Andockversuch sofort die Kettenidentitätsnummer CID übergeben wird. Dadurch kann die Kette und ihre Bausteine auf einfache Art jeweils erkennen, dass sie sich schliesst.
Im Falle der Fig. 6 erfolgt beim Schliessen des Schalters S2 ein Andockversuch zwischen dem Baustein 102-m im Programmzustand B als Sender und dem Baustein 101-1 im Programmzustand A als Empfänger. Danach quittiert der Baustein 101-1 im Zustand A den Empfang und stellt fest, dass die eigene CID übergeben wurde. Er wird daher Master einer Ringanordnung und beginnt, auf Grund seiner Programmierung, bei nächster Gelegenheit an Stelle des Tokens A den Token R zu senden. Dadurch geht die gesamte Anordnung in die stabile Ring-Konfiguration über (Fig. 3).
Falls nun ein Segment des an Hand der Fig. 3 beschriebenen Ringes, der an sich eine beliebige Anzahl von Bausteinen enthalten kann, ausfällt oder gestört ist, durchlaufen alle Bausteine dieselbe Programmsequenz, die auch beim Kaltstart durchlaufen wird. Der Ausfall kann natürlich sowohl einen Baustein als auch die verbindende Datenleitung oder die Funkübertragung betreffen. Ebenso verhält es sich, wenn ein Segment der Kette nach Fig. 4 ausfällt oder gestört ist: alle Bausteine durchlaufen dieselbe Programmsequenz, die auch beim Kaltstart durchlaufen wird.
Dadurch beschränkt sich die Programmfunktion, die dem erfindungsgemässen Netzwerk eine Fehlertoleranz verleiht, auf die Überwachung der Wiederkehr der umlaufenden Token. Wenn ein Baustein im Netzwerk den Token nicht zum vorgesehenen Zeitpunkt (allenfalls zuzüglich einer gewissen Toleranz- und Sicherheitsmarge) vorfindet, leitet er selbsttätig - gemäss Programm - die Aufstart-Programmsequenz ein. Dies führt dann, wie oben gezeigt, entweder zur längsten möglichen Kette oder zu einem Ring.
Natürlich ist das Programm zweckmässig so ausgebildet, dass es - wenn Teile der Reihe von Kommunikationsbausteinen sich zu einzelnen Ketten zusammenschliessen, danach zur Fusion dieser Ketten kommt, wobei sich immer die jeweils längstmögliche Kette einstellt und daher die Übertragung von Daten zwischen einer möglichst grossen Anzahl von Bausteinen möglich ist. Dies - wie ersichtlich - ergibt sich aus der besonderen Art der Kommunikationsbausteine gemäss Fig. 1 , bei denen eine Richtungsumkehr über die Schaltstufen 7 vorgesehen ist. Es versteht sich, dass die Kette sich, wie oben gezeigt, ringförmig auch auf sich selber schliessen kann, worin wieder ein Segment ausfallen kann, ohne dass die prinzipielle Funktion beeinträchtigt wird.

Claims

PATENTANSPRÜCHE:
1. Kommunikationsbaustein (1) aus zumindest einem Sende-/Empfangs-Basis-Baustein (2) mit einem Register (Rx), sowie aus mindestens einem zugehörigen Leitungstreiber-Baustein (3a, 3b) und mindestens einer Steuereinrichtung (4) sowie einem Taktgeber (8), dadurch gekennzeichnet, a) dass ein Basis-Baustein (2) für den Anschluss von zwei Kommunikationskanälen (5a, 5b) zum Empfangen von Signalen aus einer Richtung und zum Senden von
Signalen in die andere Richtung ausgelegt ist; b) dass die Steuereinrichtung (4) an eine Signalleitung (6) gekoppelt ist, über welche ein Richtungssteuersignal übertragbar ist, welche eine Schaltstufe (7) zum Umschalten der Richtung von Senden und Empfang in den Kommunika- tionskanälen umfasst, wobei zweckmässig der in Vorzugsrichtung empfangende
Kommunikationskanal (5a) als Sender konfiguriert ist, und der in Vorzugsrichtung sendende Kommunikationskanal (5b) als Empfänger; und c) dass die Steuereinrichtung (4) eine Verknüpfung mit dem Register (Rx) des Basis-Bausteins (2) und eine Richtungsrechnerstufe aufweist, welche zum Berechnen der Richtung bzw. der Stellung der Schaltstufe (7) aus der Zeitinformation des Taktgebers (8) und dem Inhalt des Registers (Rx) ausgebildet ist.
2. Kommunikationsbaustein (1 ) nach Anspruch 1 , dadurch gekennzeichnet, dass er wenigstens eines der folgenden Merkmale aufweist: a) er besitzt eine Schnittstelle (12) zum Anschluss eines Computers oder Prozessorelementes (13); b) dem Taktgeber (8) ist ein Zähler (N) nachgeschaltet, der vorzugsweise Teil der Steuereinrichtung (4) ist; c) er weist einen Zufallszahlengenerator (Ra) auf, der vorzugsweise Teil der Steuereinrichtung (4) ist; d) er weist mindestens einen Speicher (Rx, Tx, 11 ) für Sende- und/oder Empfangsinformationen und/oder Programmalgorithmen und/oder Code-bzw. Adressendaten auf; e) er besitzt einen asynchronen Basis Baustein UART (2); f) er besitzt einen synchronen Basis Baustein USRT (2).
3. Netzwerk mit einem Kommunikationsbaustein nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Anschlüsse der beiden Kommunikationskanäle (5a, 5b) des genannten Kommunikationsbausteins (1 ) jeweils mit mindestens einem weiteren Kommunikationsbaustein zur Bildung einer Kette oder eines Ringes verbunden sind, worin ein Austausch von Daten zwischen angeschlossenen Prozessorelementen durch Steuerung des Richtungssinnes mit Hilfe der Schaltstufe (7) des genannten Kommunikationsbausteins (1) durchführbar ist.
4. Netzwerk nach Anspruch 3, dadurch gekennzeichnet, dass die Kette oder der Ring wenigstens zwei Kommunikationsbausteine (1) nach Anspruch 1 oder 2 aufweist, dass vorzugsweise die Steuereinrichtung (4) jeweils derart ausgebildet bzw. programmiert ist, dass sich alle Kommunikationsbausteine (1) durch das Richtungssignal der Steuereinrichtung (4) selbsttätig zu einer Kette (9) verbinden, wobei durch Steuerung der Richtungs- sinne der einzelnen Kommunikationsbausteine (1) durch ihre Steuereinrichtungen (4) zwischen den jeweiligen Basis-Bausteinen (2) über die zugehörigen Kommunikationskanäle (5a, 5b) ein Datenaustausch durchführbar ist, und dass insbesondere sich am Ende einer Kette (9) ein Pufferspeicher (11 ) zum Zwischenspeichern von empfangenen Daten befindet, und/oder dass ein Kommunikationskanal (5d) vorgesehen ist, der den Anfang der Kette mit ihrem Ende verbindet und so die Kette (9) von Kommunikationsbausteinen (1) zu einem Ring (IO) schliesst.
5. Verfahren zum Betrieb eines Kommunikationsbausteines (1) bzw. eines Netzwerkes nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass in einem Kommunikationsbaustein (1) über Taktgeber (8) und Steuereinrichtung (4) die zeitliche Abfolge des vom Basis-Baustein (2), vorzugsweise in einem Register (Rx) desselben, empfangenen Datenstroms bestimmt wird, wobei je nach dem regelmässigen Auftreten eines vorbestimmten Tokens von der Steuereinrichtung die Kommunikationsrichtung bestimmt wird.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass die Umschaltung des Richtungssinnes der Kommunikation derart erfolgt, dass sich alle Kommunikationsbausteine (1 ) selbsttätig zu der auf Grund der Anzahl von Kommunikationsbausteinen und deren Verbindungen längsten möglichen Kette (9) verbinden, wobei die Richtungssinne der einzelnen Kommunikationsbausteine (1) durch ihre Steuereinrichtungen (4) so gesteuert werden, dass zwischen den jeweiligen Basis-Bausteinen (2) über gegenüberliegende Kommunikationskanäle (5a, 5b) durch Umkehr des Richtungssinnes untereinander Daten austauschbar sind.
7. Verfahren nach Anspruch 5 oder 6, dadurch gekennzeichnet, dass beim Auftreten einer Störung im Betrieb einer Kette oder eines Rings, die einen verbundenen Kommunikationsbaustein (101) oder einen verbindenden Kommunikationskanal betreffen kann, gesteuert durch die Steuereinrichtungen (4) wieder die längstmögliche Kette (9) oder, bei mehrfachen Störungen, die längstmöglichen Ketten gebildet werden.
8. Verfahren nach einem der Ansprüche 5 bis 7, dadurch gekennzeichnet, dass jene Kommunikationsbausteine (A, B), die sich am Anfang oder am Ende einer Kette befinden, die Daten in einem Pufferspeicher (11) Zwischenspeichern, wobei nach Empfang alle Kommunikationsbausteine (1) den Richtungssinn des Datenverkehrs umkehren, die Daten im Gegensinn zurückschicken und danach synchron den gleichen Vorgang in umgekehrter Reihenfolge wiederholen.
9. Verfahren nach einem der Ansprüche 5 bis 8, dadurch gekennzeichnet, dass jeder Kommunikationsbaustein (1) eine Schnittstelle (12) aufweist, über die ein angeschlossener Computer oder Prozessorelement (13) in einer Tabelle NAT (14a) alle, in einer Kette oder einem Ring verbundenen Kommunikationsbausteine (1) einsehen kann, und in die jeder an einen Kommunikationsbaustein (1) angeschlossene Computer (13) einen symbolischen Namen eintragen kann, der als Adresse dient, unter der er durch die anderen Kommunikationsbausteine (1 ) erreichbar ist, wobei dieselbe Tabelle NAT in allen Kommunikationsbausteinen der Kette oder des Rings vorhanden ist.
10. Verfahren nach einem der Ansprüche 5 bis 9, dadurch gekennzeichnet, dass jedem Kommunikationsbaustein (1 ) zugeordnete bzw. in ihm generierte Zufallszahlen dazu verwendet werden, um eine Vorselektion oder Selektion jener Kommunikationsbausteine (1) durchzuführen, die als Master eines Rings in Frage kommen, wobei diese Zufallszahlen gegebenenfalls auch dazu verwendet werden, um durch ihre Periodizität die Verbindung im Ring an sich zu erkennen und/oder dass jedem Kommunikationsbaustein (1 ) zugeordnete bzw. in ihm generierte Zufallszahlen dazu verwendet werden, um eine Kettenidentifikationszahl CID bilden, die die Anzahl Kommunikationsbausteine (1), aus denen sie aufgebaut ist sowie die Zufallszahlen (rv) jener Kommunikationsbausteine (1) enthält, aus denen sie aufgebaut ist, dass entweder zwei unabhängige Ketten fusionieren, indem sie diese Kettenidentifikationszahl CID gegenseitig austauschen und an alle Kommunikationsbausteine (1) übermitteln, aus denen die Ketten aufgebaut sind, und dass sie nach der Fusion ihre jeweilige Tabelle NAT austauschen und zu einer gemein- samen, alle Kommunikationsbausteine (1) enthaltenden Tabelle (14d) fusionieren und/oder die Kettenidentifikationszahl CID dazu verwendet wird, um das Schliessen der Kette auf sich selbst zu einem Ring durch einen Kommunikationskanal (5d) zu erkennen.
PCT/CH2008/000453 2007-11-21 2008-10-28 Kommunikationsbaustein, netzwerk mit einem solchen kommunikationsbaustein und verfahren zum betrieb WO2009065236A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP08851812.1A EP2223473B1 (de) 2007-11-21 2008-10-28 Kommunikationsbaustein, netzwerk mit einem solchen kommunikationsbaustein und verfahren zum betrieb

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CH17972007A CH701066B1 (de) 2007-11-21 2007-11-21 Kommunikationsbaustein, netzwerk mit einem solchen kommunikationsbaustein und verfahren zum betrieb.
CH1797/07 2007-11-21

Publications (1)

Publication Number Publication Date
WO2009065236A1 true WO2009065236A1 (de) 2009-05-28

Family

ID=40343563

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CH2008/000453 WO2009065236A1 (de) 2007-11-21 2008-10-28 Kommunikationsbaustein, netzwerk mit einem solchen kommunikationsbaustein und verfahren zum betrieb

Country Status (3)

Country Link
EP (1) EP2223473B1 (de)
CH (1) CH701066B1 (de)
WO (1) WO2009065236A1 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011095857A1 (de) 2010-02-04 2011-08-11 Radicos Technologies Gmbh Adressierbare knoteneinheit und verfahren zum adressieren
CN104272276A (zh) * 2012-02-27 2015-01-07 泰勒维克有限公司 用于指派网络地址的设备和方法
US9026898B2 (en) 2006-12-11 2015-05-05 Parallels IP Holdings GmbH System and method for managing web-based forms and dynamic content of website

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4593154A (en) 1983-07-08 1986-06-03 Nissan Motor Company, Limited Loop-type data transmission/reception network
US5787258A (en) 1996-05-10 1998-07-28 General Signal Corporation Life safety system having a panel network with message priority

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19503209C1 (de) * 1995-02-02 1996-10-02 Becker Gmbh Verfahren zur Initialisierung eines Netzwerkes mit mehreren masterfähigen also taktgebefähigen Netzteilnehmern

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4593154A (en) 1983-07-08 1986-06-03 Nissan Motor Company, Limited Loop-type data transmission/reception network
US5787258A (en) 1996-05-10 1998-07-28 General Signal Corporation Life safety system having a panel network with message priority

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9026898B2 (en) 2006-12-11 2015-05-05 Parallels IP Holdings GmbH System and method for managing web-based forms and dynamic content of website
WO2011095857A1 (de) 2010-02-04 2011-08-11 Radicos Technologies Gmbh Adressierbare knoteneinheit und verfahren zum adressieren
US9065776B2 (en) 2010-02-04 2015-06-23 Radicos Technologies Gmbh Addressable node unit and method for addressing
CN104272276A (zh) * 2012-02-27 2015-01-07 泰勒维克有限公司 用于指派网络地址的设备和方法
CN104272276B (zh) * 2012-02-27 2017-11-03 泰勒维克有限公司 用于指派网络地址的设备和方法

Also Published As

Publication number Publication date
EP2223473B1 (de) 2013-09-18
EP2223473A1 (de) 2010-09-01
CH701066B1 (de) 2010-11-30

Similar Documents

Publication Publication Date Title
DE2321260C2 (de) Multiprozessor-Datenverarbeitungsanlage mit mehreren rekonfigurierbaren Datenverarbeitungsgruppen
DE3752116T2 (de) Verfahren zur Netzkonfigurationssteuerung
EP2034668B1 (de) Hochverfügbares Kommunikationssystem
EP2866387B1 (de) Bussystem und Verfahren zum Betreiben eines solchen Bussystems
EP2098019B1 (de) Kommunikationssystem mit einer master-slave-struktur
DE3044792A1 (de) Elektronisches multiprozessor-system zur behandlung digitaler und analoger daten
CH632365A5 (de) Datenaustauschverfahren zwischen mehreren partnern.
EP2098018A2 (de) Kommunikationssystem mit einer master-slave-struktur
WO2006108527A1 (de) Teilnehmer, master-einheit, kommunikationssystem und verfahren zu deren betreiben
EP1532771A1 (de) Testverfahren f r nachrichtenpfade in kommunikationsnetzen s owie netzelement
DE3886022T2 (de) Zweiadriges Datenübertragungssystem mit Duplexbetrieb für ein ringförmiges Netzwerk.
DE19633744C2 (de) Ringgraph in einem elektrischen Antriebssystem
DE10207529A1 (de) Lokales Netzwerk, insbesondere Ethernet-Netzwerk mit Redundanzeigenschaften sowie Koppelgerät für ein derartiges Netzwerk
WO2007063045A1 (de) Netzwerk mit redundanzeigenschaften, ethernet-switch für ein derartiges netzwerk sowie verfahren zur konfiguration eines derartigen netzwerks
DE69917601T2 (de) Netzvermittlung mit panikmodus
EP2223473B1 (de) Kommunikationsbaustein, netzwerk mit einem solchen kommunikationsbaustein und verfahren zum betrieb
DE19906867C1 (de) Verfahren und Vorrichtung zur seriellen Datenübertragung
WO1999011031A1 (de) Kommunikationseinrichtung für die übertragung von nachrichtensignalen
DE3842762C2 (de)
EP1749375A1 (de) System mit doppelringtopologie zur übertragung von daten und teilnehmer des systems
EP1016238A1 (de) Redundanzsystem mit "1:n" und "1:1" redundanz für ein asn-system
EP2854345B1 (de) Verfahren und Koppel-Kommunikationsgerät zur Nachrichtenübermittlung in einem redundant betreibbaren industriellen Kommunikationsnetz
EP2224642A1 (de) Kommunikationssystem und Kommunikationsverfahren zur zuverlässigen Kommunikation mit Kommunikationsteilnehmen
DE10207527A1 (de) Lokales Netzwerk, insbesondere Ethernet-Netzwerk, mit Redundanzeigenschaften sowie Koppelgerät für ein derartiges Netzwerk
EP0905623B1 (de) Verfahren zum Austausch von Datenpaketen innerhalb eines sicheren Mehrrechnersystems und Mehrrechnersystem zur Ausführung des Verfahrens

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08851812

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2008851812

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE