Fiber optic workstation datalink interface
BACKGROUND OF THE INVENTION 
     A present day workstation configuration employs a cluster interconnection scheme in which multiple &#34;slave&#34; workstations utilize the database existing in a &#34;master&#34; unit. The cluster interface is implemented as a &#34;daisy-chained&#34; wired system, utilizing two digital signals, data and clock. A bidirectional electrical interface is used and a single jacketed cable containing two individually shielded twisted pairs is run from one workstation to the next, with the cables resistively terminated at the extreme ends of the line. 
     Communications along the line use a &#34;poll and select&#34; protocol, wherein the &#34;master&#34; periodically interrogates each &#34;slave&#34; to see if communication is desired. The &#34;master&#34; can direct data to a particular slave via its unit address. A bit-oriented protocol is used by all of the workstations. Transmissions are necessarily half-duplex along the clock and data busses. Transmission by any unit involves the enabling of its data and clock drivers and the generation of a predetermined signal pattern including a &#34;flag&#34; character. Receipt of the latter by the receiving stations is a prerequisite for the acceptance of transmittal information. 
     Each workstation in the cluster has an inherent communication bit rate. It is the function of the &#34;master&#34; to determine the maximum rate for the entire cluster, based upon the slowest &#34;slave&#34;. 
     The wired cluster has several fundamental limitations. An overall cluster length limit, as well as a maximum distance between workstations must be imposed. This condition results from wire capacitance and the drive capability of the cluster interface circuits. Additionally, ground potential differences between units connected to different power sources introduce noise into the system which can, at times, cause so many data errors that cluster data cannot be transmitted at a high rate. Finally, wired cluster cables carrying sensitive data which pass through unprotected areas are subject to compromise. 
     What is required is an interface which is not subject to the foregoing limitations, performs all of the functions of the wired interface and is a direct replacement therefor. The fiber optic interface module of the present invention fills such a need. 
     SUMMARY OF THE INVENTION 
     In accordance with the present invention, a fiber optic interface module is provided which translates the electrical signals carried by the wired cluster interface into optical signals for transmission, and reconverts them to electrical signals at the receiving unit. 
     Because fiber optics can only efficiently support light transmission in one direction, a cable consisting of two individual fibers is run between workstations. One fiber is used for transmission in each direction, with data and clock signals combined into a complex signal for transmission, and separated into its component signals at the receiving end. The conversion from the bidirectional data bus used by the workstation to the simplex, that is, dual unidirectional, optical data transmission mode and return is also implemented in the interface module. 
     The present interface also passes, without alteration, transmissions from &#34;upstream&#34; stations to &#34;downstream&#34; stations, and vice versa. In this case, the combined optical data/clock signal is converted back to an electrical signal by the optical receiver. The latter signal is then applied to the optical unit driving the cable going to the next station. It is apparent that because of the signal buffering between stations, the restriction on the maximum length of the cluster is now equal to the maximum distance between stations multiplied by the maximum number of stations in the cluster. 
     It is a feature of the present optical interface that it is capable of determining the bit rate of the incoming data within a fraction of the bit period. Accordingly the appropriate data detector circuit paths are quickly established and any loss of data or delay in the data stream, prevented. 
     Other features and advantages of the optical interface of the present invention will become apparent in, the detailed description which follows. 
    
    
     BRIEF DESCRIPTION OF THE DRAWING 
     FIG. 1 comprises FIGS. 1A and 1B which together provide a schematic diagram of the optical interface of the present invention. 
     FIG. 2 is a waveform diagram accompanying the schematic of FIG. 1. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     With reference to the schematic of FIG. 1, receiver unit 10 and driver unit 12 combine to form an RS422A compatible balanced interface to the workstation, and are physically attached to opposite extremities of a cable which terminates at the normal cluster outputs. Each of the clock and data pairs, that is, amplifiers 10a and 10b in unit 10 and 12a and 12b in unit 12 are terminated in twice their characteristic impedances by resistors 14 and 16 respectively, at each end of the cable. 
     With continued reference to FIG. 1 and additional reference to FIG. 2 where indicated, transmission from the workstation is accomplished in the following manner utilizing the optical interface of the present invention. 
     D-type flip-flops 18 and 20, together with two exclusive-OR gates 22 and 24, and inverter 26 operate as an encoder to combine the input clock and data signals supplied by receiver unit 10 to form a &#34;bi-phase zero&#34; combined waveform as seen in &#34;D&#34; of FIG. 2. &#34;Bi-phase zero&#34; is one of many so-called self-clocking serial data transmission codes in present day use. It is similar in many respects to the best known of these codes, Manchester, but possesses several unique advantages in the current application. Both codes have a combination of timing elements which are either a full or half data bit interval. As seen in FIG. 2, for the bit intervals indicated in &#34;A&#34; thereof, and the data and clock waveforms of &#34;B&#34; and &#34;C&#34;, the bi-phase zero (sometimes referred to as &#34;bi-phase space&#34;) waveform depicted at &#34;D&#34;, shows a transition at the edge of every data bit period. In addition, as seen in the logic state indicator of &#34;E&#34;, a period representing a logic &#34;0&#34; contains an additional transition at mid-bit time, as seen in waveform &#34;D&#34;. It is apparent that the bi-phase zero code generates a wavetrain with substantially a perfect 50% duty cycle. Further, it is polarity insensitive, that is, inverting the wavetrain does not change &#34;1&#34;&#39;s to &#34;0&#34;&#39;s, or vice versa. This is not true of Manchester coding. 
     Returning to a consideration of the bi-phase zero encoder depicted in FIG. 2, the clock signal from amplifier 10b of unit 10 is applied to the &#34;CLK&#34; terminal of flip-flop 18 and after inversion in inverter 26 to the &#34;CLK&#34; terminal of flip-flop 20. Data on the other hand, supplied by amplifier 10a of unit 10 is applied to one of a pair of input terminals of exclusive-OR gate 22, the output of which is applied to the &#34;D&#34; input terminal of flip-flop 18. The other terminal of exclusive-OR gate 22 is coupled to the &#34;Q&#34; output terminal of flip-flop 18. The &#34;D&#34; input terminal of flip-flop 20 is connected to the latter&#39;s &#34;Q&#34; output terminal. 
     The foregoing circuit arrangement results in the following operation. Flip-flop 20 always changes states at the rise of the clock signal applied thereto, and generates the reference edges of the coded output (waveform &#34;D&#34; of FIG. 2), which are at the beginning of each of the bit intervals indicated at &#34;A&#34; in the last mentioned figure. Flip-flop 18 is clocked at the falling edge of the incoming clock signal, and may or may not change state, depending on the logic level on its &#34;D&#34; input terminal. The output terminals &#34;Q&#34; and &#34;Q&#34; of flip-flops 18 and 20 respectively are applied to an exclusive-OR gate 24, the output of which is the bi-phase zero waveform &#34;D&#34; of FIG. 2. The sequence of operation of the encoder provides that at the rise of the incoming clock, applied to flip-flop 20, the bit interval is begun by inverting the output of exclusive-OR gate 24. At the mid-bit interval, with the fall of the clock signal applied to flip-flop 18, the output of exclusive-OR gate 24 will remain the same for an incoming data logical &#34;1&#34;  and be reinverted for a logical &#34;0&#34;. 
     The input clock signal is also applied to an edge detector formed from exclusive-OR gate 28 and inverters 30 and 32. Thus, the clock signal is applied in common to one input terminal of exclusive-OR gate 28 and to the input of a pair of series connected inverters 30 and 32. The output of inverter 32 is connected to the other input of exclusive-OR gate 28. Inverters 30 and 32 provide a combined delay, augmented in inverter 32 by capacitor 34. When the inputs to exclusive-OR gate 28 are different, as occurs when there is a change from one logical level to another, gate 28 will produce an output pulse having a duration determined by the aforementioned inverter delays. Stated succinctly, exclusive-OR gate 28 generates an output pulse for every transition of the input clock signal. 
     The output pulse from exclusive-OR gate 28 in the edge detector is applied to the &#34;B&#34; input terminal of a retriggerable monostable multivibrator 36. The period of the latter as determined by resistor 38 and capacitor 40 coupled to the &#34;R/C&#34; and &#34;C&#34; terminals, is chosen to be slightly longer than 1/2 the slowest cluster clock rate bit period, for example 2.25 microseconds. Thus, output terminal &#34;Q&#34; of monostable multivibrator 36 will go high with the first clock transition, and remain so until shortly after the clock signal from the workstation terminates. The corresponding low signal on the &#34;Q&#34; output terminal of monostable multibrator 36 is applied to the respective input terminals of NOR gates 42 and 44. The outputs of the latter gates 42 and 44 are applied respectively to one of a pair of input terminals of drivers 46 and 48. The other input terminals of the last mentioned units are coupled in common to the output terminal of exclusive-OR gate 24--the &#34;bi-phase zero&#34; signals appearing thereon. Driver 48, having an output at point 50, along with diode 52, actuates LED 54. The latter feeds the &#34;upstream&#34; fiber optic cable. Similarly, driver 46 with output at 56, together with diode 58, provide a drive circuit for LED 60, associated with the &#34;downstream&#34; cable. During the transmission of data from the workstation, the pair of monostable multivibrators 62 and 64, associated with the reception of data by the station, are held in an inactive state. This condition results from the application of the low level signal on the &#34;Q&#34; terminal of monostable multivibrator 36 to the reset &#34;R D  &#34; terminals of the former. As will be considered hereinafter, multibrator 36 is likewise held in an inactive reset state during receipt of data by the workstation. This cross-lockout ensures that no data collisions can occur, as only data transmission or reception, or neither, is possible, but not both. 
     It should be noted that the protocol generated by the workstation operating systems assures that only one station will attempt to transmit at any given time and that all other units are waiting to receive data. 
     With continued reference to FIGS. 1 and 2, the reception of data by the workstation is accomplished as follows. 
     As noted hereinbefore, data may be received from the &#34;upstream&#34; or &#34;downstream path&#34;. The former involves an integrated fiber optic receiving unit 66; the latter, unit 68. To properly duplicate the operation of the wired cluster, which the present optical interface replaces, the latter must pass any received data, unchanged, further along the cluster for reception by the other workstations. Also the interface must reconvert the received data back to its original form for use by its workstation. 
     It will be assumed for purpose of example, that an optical transmission is received by unit 66 from an &#34;upstream&#34; workstation. The output of receiving unit 66, and also that of the &#34;downstream&#34; unit 68 are applied to respective ones of the pair of input terminals of exclusive-OR gate 70. The output of the last mentioned gate is applied to an edge detector of the type described hereinbefore. The edge detector includes exclusive-OR gate 72, a pair of inverters 74 and 76, and capacitor 78. The output of exclusive-OR gate 70 is also applied to a bi-phase zero data detector. The latter includes an exclusive-OR gate 80, D-type flip-flops 82 and 84, and a pair of monostable multivibrators 86 and 88. 
     The data received by receiving unit 66 is also applied via exclusive-OR gate 90 (wired as an inverter) and NOR gate 42 to driver 46 for the transmitting LED 60. Since the bi-phase encoded data stream is not polarity dependent, the inversion occurring in this circuit path helps equalize pulse width distortion introduced by the optical conversion process. Similarly, encoded data received by unit 68 is gated through inverter 69 and NOR gate 44 to driver 48. 
     In order for the bi-phase zero data detector to operate properly, the data rate of the incoming data must be known. As noted previously, the cluster may operate with at least two rates, for example, a 307.2K or 1.8432 M bit rate, or a combination of these rates as used in actual operative workstations. Therefore, the present optical interface must determine this rate and connect the proper monostable multivibrator, either 86 or 88, into the data detector circuit without losing any data or delaying the data stream. 
     A determination of the incoming data rate is made in less than a bit period by a circuit comprised of retriggerable monostable multivibrators 62 and 64, together with D-type flip-flop 92 and NAND gate 94. The incoming data is &#34;bi-phase zero&#34;, encoded as seen in waveform &#34;D&#34; of FIG. 2. It should be recalled that in this coding scheme, a polarity transition occurs at the edge of every bit period, as indicated by the bit interval markers at &#34;A&#34; in FIG. 2. Data &#34;1&#34;&#39;s are a full bit time wide, while &#34;0&#34;&#39;s have a transition (whose direction is opposite to that of the previous edge transition) in the middle of a bit period. The bit period of 1.8432 M bit data is 543 nanoseconds, while for 307.2K bit data, the bit period is 3.25 microseconds. 
     When no data is received by the workstation, monostable multivibrators 62 and 64 are untriggered and flip-flop 92 is directly reset through the output of NAND gate 94 applied to its &#34;R D  &#34; terminal. When data is received by either receiving unit 66 or 68, the signal on the output of exclusive-OR gate 72 in the edge detector is applied in common to the &#34;B&#34; input terminals of both monostable multivibrators 62 and 64. If 1.8432 M bit data is being received, both of the last mentioned multivibrators will be retriggered at least every 543 nanoseconds. The resistive and capacitive timing components connected to the &#34;R/C&#34; and &#34;C&#34; terminals of monostable multivibrator 62 provide a pulse upon triggering which has a 900 nanosecond duration; the timing components for monostable multivibrator 64, a 5 microseconds pulse width. It is apparent that with 1.8432 M bit data, neither monostable multivibrator 62 nor 64 will time-out before the data stream ends, and the reset state of flip-flop 92 will remain unchanged. However, if 307.2K bit data is received, monostable multivibrator 62 will time-out after 900 nanoseconds, setting flip-flop 92 by virtue of the signal level on the &#34;Q&#34; terminal of the former. Thus, flip-flop 92 serves to store the data rate of the incoming data. The output level on the &#34;Q&#34; terminal of monostable multivibrator 64 during the receipt of information by the workstation is applied to the reset terminal &#34;R D  &#34; of monostable multivibrator 36 to keep the latter in an inactive state. A slow rate is determined in less than one third of a bit time. Since, as indicated by &#34;E&#34; of FIG. 2, there are at least three non-significant data bits before the &#34;flag&#34; character, this has minimal effect on the data stream. 
     Flip-flop 92 controls the operation of the two input data selector/multiplexer 96 by virtue of the connection of the &#34;Q&#34; output terminal of the former to the &#34;S&#34; select input terminal of the latter. A function of data selector 96 is to steer the output of the proper monostable multivibrator 86 or 88 in common to the D-type flip-flops 82 and 84. This is accomplished by connecting the respective &#34;Q&#34; output terminals of the monostable multivibrators 86 and 88 to input terminals &#34;I OA  &#34; and &#34;I 1A  &#34; of data selector 96, and connecting the &#34;Y A  &#34; output terminal of the latter to both &#34;CLK&#34; terminals of flip-flops 82 and 84, disposed in the bi-phase data detector or demodulator. 
     Incoming data received by either receiving unit 66 or 68, the outputs of which appear at points 66a and 68a, are applied respectively to the input terminals of exclusive-OR gate 70. The output signal of the latter gate is the bi-phase zero data stream to be detected. The data is applied to one of the pair of input terminals of exclusive-OR gate 80 and to the &#34;D&#34; input of flip-flop 82. The output of exclusive-OR gate 80 is applied in common to the &#34;B&#34; inputs of two monostable multivibrators 86 and 88. The former generates a 2.4 microsecond pulse; the latter, a 350 nanosecond pulse. A reference edge transition in the data stream causes a rise in the output of exclusive-OR gate 80, triggering both monostable multivibrators 86 and 88. The period of each of the latter is set to be more than half, but less than a whole bit period for the bit data rate associated therewith. In practice, a period of approximately 75% of the data bit period has been found to be acceptable. 
     As noted previously, data selector 96 determines which monostable multivibrator, 86 or 88, will clock the flip-flops 82 and 84, which occurs at the end of the selected period. Flip-flop 82 stores the sense of the incoming data, thus providing for the repetition of the process at the next reference edge. Flip-flop 84 stores the output of exclusive-OR gate 80 at the end of the timing period, which represents the state of the original data. The output of the bi-phase data detector appears on the &#34;Q&#34; terminal of flip-flop 84 and is applied to the input terminal of the RS422A. data driver 12b. Driver unit 12 is enabled by the signal applied thereto which is present on the &#34;Q&#34; terminal of monostable multivibrator 64. 
     The signals appearing on the &#34;Q&#34; terminals of the monostable multivibrators 86 and 88 provide a bit edge clock signal, and could in certain applications, be used to clock out the demodulated data. However, it has an approximate 75% for logical &#34;1&#34;, 25% for &#34;0&#34;, duty cycle which is not advantageous in the present system. Accordingly, the &#34;Q&#34; terminals of monostable multivibrators 86 and 88 are connected respectively to the &#34;B&#34; input terminals of an additional pair of monostable multivibrators 98 and 100. The former has a period of 270 nanoseconds; the latter, 1.6 microseconds. The bit edge clock signals trigger the last mentioned multivibrators which generate a clock with an approximate 50% duty cycle. Based upon the signal in the &#34;S&#34; input terminal of the data selector 96, clock pulses from either monostable multivibrator 98 or 100 are directed via output terminal &#34;Y B  &#34; to the input of the RS422A clock driver 12a. 
     In an actual operative embodiment of the optical interface of the present invention, the following types of integrated circuits have been used. It should be understood that this information is provide solely for purpose of example and is not to be construed as limitative of the invention. The receiver unit 10 and driver unit 12 are types 26LS32 and 26LS31 respectively. All of the D-type flip-flops are type 74LS74A; monostable multivibrators 36, 62 and 64 are type 74LS123; the exclusive-OR gates are type 74LS86; the gates 42,44 and 94 are type 74LS00; the transmitting driver units are type 75451B; the data selector 96 is type 74LS157; the inverters are type 74LS04; monostable multivibrators 86, 88, 98 and 100 are type 4LS221; LED&#39;s 54 and 60 are HFBR-1204; and the fiber optic receiving units are HFBR-2202. It should be noted that LS-TTL logic has been used primarily to minimize power requirements and to optimize speed. Other logic families may be successfully employed if their delays are comparable. 
     In conclusion, there has been disclosed a fiber optic interface which finds particular application in the interconnection of a plurality of workstations. As such, the interface of the present invention is a direct replacement for the wired interface used heretofore and provides a variety of concomitant advantages. Depending upon the particular application, changes and modifications may be required in the interface taught herein. Such changes and modifications insofar as they are not departures from the true scope of the invention, are intended to be covered by the claims which follow.