Abstract:
If data from more than one subscriber circulates on a bus link in an optical bus network structure in which access of the subscribers to the bus is not synchronously controlled, data collisions can occur. In order to guarantee a high data throughput on the bus, these data collisions must be avoided insofar as possible or must be quickly perceived. A circuit for identifying possible data collisions determines whether the bus is free for a subscriber wishing to transmit, and which permits collisions on the bus to be quickly identified and corresponding measures to be quickly initiated to prevent further collisions. The present invention enables a subscriber to a bus system to distinguish between a data collision and normal transmission errors. This distinction is made by concluding that a collision has occurred only when the bit error frequency is substantially higher than the probabilistically determined normal transmission error frequency.

Description:
BACKGROUND OF THE INVENTION 
     The invention relates to a circuit for recognizing data collisions in an optical data bus which occur when a subscriber in addition to a transmitting subscriber is also transmitting data. The invention further relates to a circuit for recognizing the data-free status of the bus. 
     Bus network structures have been gaining increasing acceptance in comparison to point-to-point connections, for the call setup of a plurality of subscribers (computers, terminals, etc.). A significant requirement for an ordered function sequence on the bus is the prevention of more than one subscriber from simultaneously transmitting data on the bus line. In synchronously functioning systems, this requirement for an ordered function sequence can be fulfilled by means of a defined allocation of time slots for individual subscribers. Asynchronous buses are more flexible, and in many applications, enable a higher data throughput. An example of an asynchronous access method is the &#34;Carrier-sense-multiple-access scheme with collision detection&#34; (CSMA/CD) which is applied and described in the Ethernet (See Comm. of the ACM, July 1976, Vol. 19, No. 7, pp. 395-404, incorporated herein by reference). 
     In the asynchronous method, the subscriber wishing to send, for example, computer data, must determine at the point in time at which it wishes to send whether data of at least one other computer is arriving at the receiver allocated to it. When no data is arriving, it assumes that the bus is free of data and thus a so-called transmission medium idle status exists. It now begins to transmit its data onto the bus. It can occur during the time in which this computer sends its data that data from at least one other computer arrives at the receiving computers. This must be perceived in the sending computers as a collision status. 
     SUMMARY OF THE INVENTION 
     An object of the invention is to specify a simple and compact circuit for recognizing data collisions in an optical data bus of the type initially cited and to provide an electronic circuit for recognizing the transmission medium idle status of an optical data bus of the type initially cited. 
     According to the invention, an amplitude comparator with first and second comparison inputs is provided. The first input is connected to receive data from the data bus via the subscriber to which it is allocated. The second input is connected, via a delay means, to receive data to be generated by the same subscriber when it is to transmit data onto the bus and for which transmitting subscriber a data collision must be recognized. The delay means delays the data supplied to it by a time span which ensures the data at the two comparison inputs arrives virtually simultaneously. 
     Alternatively, data received by a given receiving subscriber from the data bus are suppliable to a threshold element having a predetermined threshold which is crossed when the data transmitted onto the bus from the same receiving subscriber and from one or more other transmitting subscribers are superimposed. 
     An evaluating means is provided following the comparator or threshold element which generates a collision signal indicating a data collision when within a given short time span it is determined more than once either that two bits compared in the comparator differ from one another, or that the predetermined threshold of the threshold element has been crossed. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 schematically illustrates an optical star bus with connected subscribers; 
     FIG. 2 illustrates a block diagram of a circuit for recognizing data collisions and the transmission medium idle status of the star bus illustrated in FIG. 1; and 
     FIG. 3 shows a block diagram of a circuit for recognizing data collisions and the transmission medium idle status with a modified circuit for recognizing the data collisions. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     In FIG. 1, S and E denote the transmit and receive modules of the subscribers T 1 , T 2  . . . , T N , . . . T Z , Z=1, 2 . . . . The incoming light from any random transmitter S is uniformly distributed to all output fibers of the coupler over the star coupler B and thus proceeds to the receiver detectors E of all subscribers. An address preceding the data enables further processing of the information in designated selected terminals. The transmitter S of the subscriber T 1  may, for example, want to transmit data to the receiver E of the subscriber T 2 . This data stream at the computer T 2  can be disrupted, for example, by data from the computer T N . The computers T 1  and T N  need to identify this situation. Let the two logical statuses &#34;1&#34; and &#34;0&#34; be determined in the sense of a positive logic and be optically represented, respectively, by energy packets with a power L and with a power &lt;&lt;L, for example 0. 
     Three statuses can be distinguished from one another: 
     1. &#34;1&#34; in the data stream; 
     2. &#34;0&#34; in the data stream; and 
     3. &#34;no data stream for transmitter S (i.e., the transmitter is transmitting no data)&#34;. 
     In order to achieve a high data throughput, the status &#34;no data stream&#34; should be represented by a continuous sequence of &#34;0&#34; pulses. However, very long &#34;0&#34; statuses can also occur in the data stream. In order to distinguish the status &#34;no data stream&#34; from a random data stream, a scrambler SC is employed in the transmitter and a corresponding descrambler DS is employed in the receiver. 
     The circuit for recognizing collisions and the transmission medium idle status in conjunction with the transmit and receive modules, S and E, of each computer T N  is illustrated in FIG. 2. Also, the optical transmission link, i.e. the bus B consisting of fibers and star coupler, as well as the terminals to the computer, are also shown. The logical functions are schematically illustrated in FIG. 2. Of course, an AND gate can also be constructed by a combination of a NAND gate with an inverter gate. 
     The scrambler SC has the task of generating a different bit pattern from a sequence of &#34;0&#34; and &#34;1&#34; pulses in the electrical data stream according to a specific algorithm such that it is practically impossible that the bit pattern departing the scrambler SC contains more than, for example, eight &#34;0&#34; or eight &#34;1&#34; pulses in succession. This is true even when more than eight &#34;0&#34; or &#34;1&#34; pulses occur in succession in the bit pattern incoming to the scrambler. The status &#34;no data stream&#34; thus exists when at least nine &#34;0&#34; or &#34;1&#34; pulses occur in uninterrupted succession at the LED driver (adhering to the example of the scrambler). 
     Transmission Medium Idle Recoonition 
     At an output x 0 , the receiver E supplies the electrical pulses which correspond to the optical &#34;0&#34; and &#34;1&#34; pulses at the detector of the same receiver. The electrical pulses pass to a retriggerable, monostable multivibrator RMM 1 . The output x 21 , corresponding to output Q of RMM 1 , is triggered into the unstable &#34;1&#34; status every time there is a transition in the input electrical pulses from &#34;0&#34; to &#34;1&#34;. The time constant of the retriggerable multivibrator RMM 1  (holding time for a &#34;1&#34; at the output Q when no new transition from &#34;0&#34; to &#34;1&#34; at the input of the RMM 1  has occurred during this time) is to be selected such that x 21  returns to its stable &#34;0&#34; status, after being in its unstable &#34;1&#34; status, only after a continuous sequence of more than at least eight &#34;0&#34; pulses has been incoming to the receiver (adhering to the example of the scrambler mentioned in the last paragraph of the previous section). Hence, when data arrive at the receiver E (&#34;1&#34; and &#34;0&#34; pulses), the &#34;1&#34; status continuously appears at the output x 21  of RMM 1 , and hence the &#34;0&#34; status continuously appears at the output x 22  of the NOR gate. When no data are incoming to the receiver E and the &#34;transmission medium idle status&#34; exists, the output of RMM 1  is at &#34;0&#34; and the output of the NOR gate is at &#34;1&#34;. The computer is thus constantly informed via the two statuses whether data are appearing at the receiver E or not. Before a computer wishes to transmit data, the status x 22  is interrogated as to whether the bus B appears free for the computer. 
     Collision Recognition 
     Collisions in the above sense occur only in the case of transmitting computers, namely when data from at least one other computer is incoming to the receiver of a transmitting computer during the same time that data from the same transmitting computer is incoming to the same receiver of the same transmitting computer. This is identified in that the data of the transmitting computer--after a corresponding chronological delay--are compared bit-wise to the data arriving at the receiver of the transmitting computer. When these two bit streams coincide, then it is certain that a collision does not exist. Given deviation, however, a collision need not necessarily exist. When only one computer transmits but a transmission error occurs in its data stream, then the two data streams to be compared do likewise not coincide in all bits, although a collision does not exist in this case. Thus, it is a matter of distinguishing collisions from transmission errors. The circuit construction is based on the following perception: the probability that corresponding bits do not coincide is far higher in case of a collision than in case of a transmission error. Thus, the differentiation criterion is as follows: a collision occurs when, within a &#34;very short time&#34;, a non-coincidence of two corresponding bits occurs more than once. &#34;Very short time&#34; means that this time is very short in comparison to the time during which, on the average, a transmission error can occur. Given a data rate of, for example, 20 Mbit/s and an error probability of 10 -9 , a transmission error occurs every 50 seconds on the average. 
     The significant parts of the circuit for recognizing data collisions are illustrated in FIG. 2. A &#34;1&#34; should only arise at the output x 7  of the AND gate U1 with three inputs x 16 , x 18 , x 19  when a collision exists. That is achieved as follows: the electrical data which drive the LED are also forwarded over a delay means V, for example a shift register, to the input x 1  of a comparator K for the comparison of two bits. The second input x 2  of the comparator is connected to the output x 0  of the receiver E connected to the bus B which converts the received optical signals into electrical signals, for example TTL pulses. 
     The delay of the electrical data which drive the LED of the transmitter S is selected such that the same statuses are present with the same phase relation at the inputs x 1  and x 2  of the comparator K whenever the data derive from the same computer. If the transit time of the pulses over the transmitter S, the bus B, and the receiver E to the input x 2  of the comparator K amounts to Z μs, the delay Z μs is to be selected. When the signals at the inputs x 1  and x 2  of the comparator do not coincide, this is indicated at the output x 3  of the comparator by a &#34;1&#34; (time delays in the individual logic elements or gates are not taken into consideration below). 
     The output signal at the output x 3  of the comparator K is supplied to a series input x 4  of a clocked shift register SR provided with parallel outputs x 14  and x 15 . The parallel output x 14  is connected to a parallel input of the AND gate U1, whereas the adjacent parallel output x 15  is connected to an input x 17  of the retriggerable monostable multivibrator RMM 2 . A &#34;0&#34; to &#34;1&#34; transition at the parallel output x 15  triggers the Q-output x 5  of the retriggerable monostable multivibrator RMM 2  into the unstable &#34;1&#34; status for a duration which, for example, is selected twelve bits long. When the signals at the inputs x 1  and x 2  of the comparator K deviate from one another for only one bit period during the twelve bit duration, then a transmission error exists and the signals appearing at the other parallel output x 14  and the output x 5  of the multivibrator RMM 2  cannot simultaneously be &#34;1&#34;, whereby &#34;0&#34; must necessarily be at the output x 7  of the AND element U1. When, in contrast thereto, a &#34;1&#34; appears more than once at the output x 3  of the comparator K, and thus at the series input x 4  of the shift register SR during the 12-bit duration, then a collision exists and a &#34;1&#34; appears simultaneously at the outputs x 14  and x 5  at least once during this time. Thus, collisions can be discriminated from transmission errors based on the statuses at the outputs x 5  and x 14 . 
     The shift registers V and SR are controlled by the same clock which also controls the electrical data from the computer (clock from the computer). Suitable phase shifts of the clock pulses for the shift registers are selected. For example, the pulses at the series input x 4  of the shift register SR are interrogated as to their status at the pulse center. Fluctuations in the clock frequency given collision-free transmission are non-disruptive since this equally influences the bit streams supplied to the inputs x 1  and x 2  of the comparator K. 
     Over an input x 11 , a further retriggerable, monostable multivibrator RMM 3  receives the same bit pattern as the LED driver in the transmitter S. The multivibrator RMM 3  generates a &#34;1&#34; sequence at its Q-output x 6  when a &#34;1&#34; is applied to the input x 11 . The time constant of the multivibrator RMM 3  is selected such that, given a &#34;0&#34; to &#34;1&#34; transition at the input x 11 , the output x 6  remains at &#34;1&#34; for a time equal to the sum of the time duration of 12 bits, for example, plus the transit time of a pulse through the path formed by the LED driver, the bus B, and the receiver E up to the input x 2  of the comparator K. When the computer transmits data, then the output x 6  of the monostable multivibrator RMM 3  connected to the third input x 16  of the AND gate U1 proceeds to &#34;1&#34; no later than after 12 bits relative to the beginning of the input x 11  (adhering to the example of the scrambler mentioned in the last paragraph of the previous section). Until the last transmitted bit of the computer has arrived at the same computer, the AND gate U1 remains so to speak &#34;open&#34; due to the &#34;1&#34; at its third input x 16 , and supplies at least one &#34;1&#34; at its output x 7  during this time in case of a collision, and a &#34;0&#34; in case of a transmission error or no collision. 
     The &#34;1&#34; pulse at the output x 7  of the AND gate U1 stops further data transmission in the computer given a collision. However, due to an additional monostable multivibrator MM connected to the output x 7  of the AND gate U1, the &#34;1&#34; pulse also triggers a &#34;1&#34; status of variable length at an output x 15  of the multivibrator MM. The length of the pulse is selected such that the computer can recognize that a collision has occurred. In the remaining computers which did not transmit, the input x 1  of the comparator K would have always been at &#34;0&#34; while data from the bus B was incoming to the input x 2  of the comparator K. Hence, the outputs x 5  of the monostable multivibrators RMM 2  and the parallel outputs x 14  of the shift registers SR in the remaining computers which did not transmit likewise simultaneously become &#34;1&#34; when data is incoming to the receivers of these computers. The fact that the transmission capability in these computers is not inhibited due to a long &#34;1&#34; pulse at the output x 25  of the additional monostable multivibrator MM is caused by the further monostable multivibrator RMM 3 . In computers which are not transmitting, of course, the input x 11  of the multivibrator RMM 3  is at &#34;0&#34;, and thus its output x 6  is also at &#34;0&#34; as are then the outputs x 7  and x 25 . Thus, a &#34;1&#34; pulse is received at the output x 7  or x 25  only when the computer terminal to which it is attached is transmitting, and only then, when there is a collision. 
     A master-slave flip-flop MS F/F with inputs J, K and outputs Q and Q which is characterized by the truth table shown at the bottom left in FIG. 2 is also provided in the circuit according to FIG. 2. Let the initial status of the bistable flip-flop MS F/F at the beginning be such that &#34;0&#34; pends at the output Q. When data are to be transmitted, a &#34;1&#34; pulse proceeds from the computer to the input J and, in accordance with the truth table, the output Q is accordingly set to &#34;1&#34; and the bit sequence of the scrambler SC proceeds to the LED driver of the transmitter S. When on the other hand a collision has been perceived, the &#34;1&#34; pulse at the output x 7  of the AND gate U1 is applied via an OR gate OR to the K input of the flip-flop MS F/F. Since the input J is at &#34;0&#34;, the output Q is set to &#34;0&#34;. The output Q at the end of data is likewise set to &#34;0&#34; when the end of data is indicated by a &#34;1&#34; pulse at the input of the OR gate. When the output Q lies at &#34;0&#34;, the LED driver supplies a &#34;0&#34; sequence, this denoting the status &#34;no data stream&#34; from the transmitter. 
     Given the circuit according to FIG. 2, the delay, V, must be sufficiently precise and chronologically stable. Given a change of the fiber length of the bus or of a module, the delay must generally be reset. The required delay increases with increasing bus length. 
     When the delay is realized by a clocked shift register, then the capability of the shift register increases with the bus length. 
     A circuit alternative is illustrated in FIG. 3 wherein no delay is required for collision recognition. This circuit alternative differs from the circuit according to FIG. 2 by the differently constructed evaluation means BwE. 
     Instead of a delay means and the following TTL amplitude comparator (for example, Texas Instruments SN74586 or SN7485), the evaluator circuit BwE according to FIG. 3 requires only an analog comparator (for example, Texas Instruments SN 75107A). As in the embodiment according to FIG. 2 as well, a further analog comparator is contained in the receiver E which converts the pulses at the amplifier output of the receiver E back into rectangular TTL pulses. 
     The function of the two analog comparators for recognizing a collision is as follows. The electrical signal comes from the amplifier of the receiver E, its amplitude depending on the place of origin and on the plurality of optical data streams which impinge on the detector of the receiver E. In the amplifier portion (not illustrated) of the receiver E, a device may be provided by means of which the amplitude at the amplifier output cannot become greater than the admissible voltage at the input of the comparators. 
     The differentiation of a bit stream having a plurality of bit streams occurs with the assistance of the two comparators K1 and K2 since the two comparators function on different thresholds. The optical signal powers at the location of a receiver E N  fluctuate as a function of the various subscribers T M  (M-1, . . . N . . . ,Z; Z=number of subscribers) due to various causes, for example variable fiber and line attenuations, non-uniform power distribution through the mixer, etc. 
     Let the amplitude at the amplifier output (belonging to the subscriber T N ) which is generated by the optical power emitted by the subscriber himself amount to A N . Let the minimum amplitude detected at the output of the amplifier for only one bit stream be referenced A min . The threshold voltage is set to approximately 0.5 A min  at the comparator K1 and to approximately A N  +0.5·A min  in the comparator K2. In this way, when data transmitted only by subscriber N is incoming to the receiver of subscriber N, the received data is reconstructed into rectangular electrical pulses at the output of K1. In contrast, the output of K2 is &#34;0&#34;. When the intrinsic bit stream from subscriber N is disrupted by bit streams from at least one other subscriber (collision), the optical powers superimpose as do the amplitudes at the output of the amplifier of subscriber T N . When the amplitude at the amplifier output exceeds the threshold A N  +0.5·A min  of the comparator K2, the output of the comparator K2 is set to &#34;1&#34; thereby indicating a collision. The output of K2 could also become &#34;1&#34; due, for example, to noise factors when subscriber N is receiving only its own data although the signal amplitude, on average, does not exceed the threshold voltage A N  +0.5·A min . In order to distinguish these transmission errors from true collisions, the embodiment according to FIG. 2 is employed. The clock for the shift register SR of the evaluator circuit BwE is derived from the bit stream in the receiver E. When subscriber N is not transmitting, its collision detection circuitry is disabled since the output x 6  of RMM 3  is at &#34;0&#34;, whereby the collision-signal-output x 7  of AND gate U1 is also at &#34;0&#34;. Thus, as is also the case in the embodiment according to FIG. 2, a &#34;1&#34; pulse is received at x 7  only when the subscriber to which it is attached is transmitting, and only then, when a collision occurs. 
     The problem of the phase position of two or more bit streams relative to one another is yet to be mentioned. One must proceed on the basis that every phase difference between the bit streams can occur. Consequently, the amplitudes of the bit streams at the output of the amplifier can, in general, not coincide chronologically so that the threshold voltage A N  +0.5·A min  is possibly not crossed and no &#34;1&#34; is generated at the output of the comparator K2, although a collision exists. When, however, one of the bit streams contains two &#34;1&#39;s&#34; in succession and a &#34;1&#34; of the other bit stream falls in this chronological interval (the phase position no longer plays any role), a collision is perceived. Theoretically, this indeed means a longer time in general for recognition of a collision in comparison to the embodiment according to FIG. 2, but this is insignificant in practical terms. As a result of setting the thresholds at the analog comparators K1 and K2, for all practical purposes, independence is achieved from the power fluctuations at the receiver as a function of the respectively transmitting subscriber. 
     In conclusion, let the two embodiments according to FIGS. 2 and 3 be compared to one another. 
     Both embodiments employ the same circuit for recognizing the transmission medium idle status. 
     The embodiment according to FIG. 3 generally requires a longer time before a collision can be perceived. This time is shortened with an increasing plurality of disrupting subscribers. When only one disruptive computer exists, this disruption (collision) can be perceived no earlier than the time required by a pulse to arrive at the location from which it has been emitted. 
     The embodiment according to FIG. 3 is simpler than the embodiment according to FIG. 2. No delay is required for compensating the transmit time effects through the bus. 
     This delay, which must be chronologically stable, may possibly have to be adjusted in the embodiment according to FIG. 2 when the optical cable or a module is replaced. In the embodiment according to FIG. 3, the clock for the shift register is taken from the receiver. Strict synchronism between the clock and the data which are clocked into the shift register should exist when only one bit stream is being received. 
     In the sample embodiments described above, the specific transmitting subscriber is also the specific receiving subscriber at the same time. This need not be the case. The specific receiving subscriber and the specific transmitting subscriber can also differ from one another. For example, and without limiting universality, T N  in FIG. 1 could be the specified, transmitting subscriber whereas one of the remaining subscribers T 1 , T 2 , . . . , T n-1 , T N+1 , . . . , T Z  could be the specified receiving subscriber. 
     Although various minor changes and modifications might be proposed by those skilled in the art, it will be understood that we wish to include within the claims of the patent warranted hereon all such changes and modifications as reasonably come within our contribution to the art.