This invention relates generally to serial data transmission and more particularly to decoding circuits for the data receivers. 
     BACKGROUND OF THE INVENTION 
     As the transmission rates of serial digital data steadily increase, the synchronization between the transmitter and remote receivers becomes more complex, expensive and error prone. High bit rates of 50 megabits and greater require sophisticated circuits with components of precise values and redundant checking techniques. As the bit rates approach the switching limits of the decoder, the internal noise of the decoder becomes proportionately higher. Heretofore, at the lower bit rates there was an opportunity to sample the transmitted data frequently each bit time but the current rates preclude that technique. Therefore, the noise encountered during both transmission and decoding is a more significant factor and necessitates extensive countermeasures. 
     In the transmission of signals such as the Manchester code, the typical receiver uses fixed frequency oscillators to sample the input wave form. Most of these are difficult to operate, and they generate an excessive number of errors. The use of phase-locked loops is a related technique of demodulation but this is unsuitable for data bus operation which requires multiplexing since multiple receivers and transmitters are attached to the data bus. 
     OBJECTS AND SUMMARY OF THE INVENTION 
     It is accordingly a primary object of this invention to provide simplified serial digital data decoding apparatus that derives its necessary timing from the input data signal thus permitting greater timing latitude between the transmitting and receiving devices. 
     A further object of this invention is to provide serial digital data decoding apparatus that can be readily attached to either optical or electrical data transmission buses and to buses having multiple transmitters and receivers. 
     Still another object of this invention is to provide serial digital data decoding apparatus that is adaptable to multiplexing operation. 
     Yet another object of this invention is to provide serial digital data decoding apparatus for bi-phase codes that derives necessary timing from the input data signal and is simpler in construction, less expensive and less error prone. 
     The foregoing objects are attained in accordance with the invention by providing means for detecting the leading synchronizing wave form of the transmitted bi-phase data word signals by recognizing the profile of the extended wave form with a multitap delay line and switch means, then using the delayed output thereof in conjunction with the fact of word recognition and a following wave form transition in a coincidence means to produce the first clocking signal. This clocking signal is used to initiate through other appropriate fixed delay means subsequent clock signal cycles which repeat until terminated by counter means indicating the end of the data word transmission. These clock signals are used to gate corresponding delayed data signals into data register means. The series of clock pulses can also be used to control additional functions such as parity and symmetry checking. 
     The invention is particularly adapted to high speed Manchester code data buses because of its asynchronous operation. All timing signals are derived from the transmitted wave form of each data, status or command word; no oscillator is required so that there are no race conditions. Further, the tolerance of the delay elements need not be close and the delays can easily vary 10 percent from the nominal while maintaining acceptable performance. The disclosed decoder makes optimum use of the logic band width and operates close to the maximum toggle frequency of the logic family used. 
     The above and other objects, features and advantages of the invention will be apparent from the following more detailed description of the preferred embodiments thereof as illustrated in the accompanying drawings. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram showing the main elements of decoding apparatus emboding the principles of this invention; 
     FIG. 2 is a diagram of a bi-phase data encoding technique for which the invention is adapted as a decoder; 
     FIG. 3 is a schematic diagram of a circuit for detecting the synchronizing wave form portion of a transmitted data word shown in the code of FIG. 2; 
     and 
     FIG. 4 is a timing diagram of the signal wave forms encountered at selected points of the diagram in FIG. 1. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     Referring to FIGS. 1 and 2, there is shown a circuit for generating timing or clocking signals directly from the serial data stream of a redundant type of code such as the Manchester code. An example of this code is shown in FIG. 2 and has the characteristic that each data bit must have either a negative or positive-going shift in the signal level at the mid-point of each bit time. A negative-going shift represents a binary &#34;1&#34; while a positive-going shift represents a binary &#34;0;&#34; the illustrated wave form produces the bit values shown. 
     Each data word comprises 20 bit times of which the first three are used as a synchronization or &#34;SYNC&#34; signal. The SYNC signal is comprised of a positive or high level of 1.5 bit times and a negative or low level of 1.5 bit times so that the entire SYNC signal is 3 bit times in duration. Either level may occur first followed by the other; if the high level is first, it indicates that the following 17 bits represent either a &#34;command&#34; or &#34;status&#34; word and the opposite arrangement of levels indicates a &#34;data&#34; word. The use of &#34;data word&#34; herein is intended generically to indicate a code word of SYNC signal and data bit signals. 
     The signals are usually transmitted via a data bus that may be either electrical conductors or optical fibers. When an optical bus is used, suitable transducers are required, of course, to convert the signals to electrical signals detectable by the receiving decoder. Referring to FIG. 1, the decoding circuit is connected to bus 10 through its SYNC signal detection circuit 11, self-clock detector circuit 12 and data signal delay 13. A suitable SYNC detector circuit is shown in greater detail in FIG. 3 and will be described hereinafter. It may be assumed at this time that the detector circuit will provide an output signal upon recognition of the synchronizing portion of the transmitted word. The SYNC detector output is operable to set flip-flop 14 to the on state when a synchronizing signal is recognized and thereby indicate that a data transfer is in progress. This latter signal is supplied as a conditioning input to AND gate 15. The output from SYNC detector circuit 11 is also supplied to delay circuit 16 whose output is used both as a reset for the SYNC detector circuit and as an input to OR gate 17. The output from OR 17 turns single shot 18 on for a predetermined time. The output thereof also serves as a conditioning signal for AND gate 15. 
     Self-clock detector circuit 12 is comprised of delay element 19 and an exclusive OR circuit 20, and is operable to provide an output pulse in response to each signal level transition sensed on the data bus whether or not it is a data bit. This is accomplished by the technique of passing the bus signal directly to one input of exclusive OR 20 and the other through delay circuit 19. The output of the exclusive OR will be present only during the interval that its two inputs are different. This output is supplied to AND gate 15 and serves to produce data clock pulses therefrom as long as the gate is conditioned by the remaining two inputs. Each data clock pulse is applied to another delay circuit 21 whose output is also supplied as input to OR 17. This arrangement enables the data clock signals from gate 15 to in effect self-condition the gate since only a single SYNC detect circuit output pulse will be present for each word. 
     The data clock signals are also applied to a counter circuit 22 which is operable to provide a termination signal at the seventeenth clock pulse for each transmitted word by resetting flip-flop 14 and blocking gate 15 from producing further data clock pulses. The counter output is also effective to enable a &#34;handshake&#34; circuit resulting in the transmission of a &#34;data ready&#34; signal. The data clock pulses are used to further condition data shift register 24 for the receipt and temporary serial storage of data pulses from the output of delay circuit 13 which is connected directly to the data bus. Both the data pulses and data clock pulses can be applied to a parity check circuit 25 and symmetry check circuit 26 if desired. 
     The operation of the circuit in FIG. 1 will be described in conjunction with the timing diagrams of FIG. 4. It will be assumed that the transmission rate in the following example is 50 megabits so that each bit time equals 20 nanoseconds. The delay times of elements 16, 21, 18 and 19 are respectively as follows: T1=15-(T3-T4)/2=11 ns.; T2=20 ns.-(T3-T4)/2=16 ns.; T3=10 ns. and T4=2 ns. A further assumption will be that the SYNC signal has been recognized by detector circuit 11. This signal usually occurs 4 ns. to 5 ns. prior to the first level transition at the end of the synchronizing signal or the beginning of bit time 4. Flip-flop 14, which indicates a data transfer is in progress, is turned on to partially condition AND 15. The SYNC signal is delayed 11 ns. at delay 16 or for approximately one half bit time. The delayed SYNC signal resets SYNC detector 11 and enables single shot 18 for 10 ns. as a clock enable signal through OR 17 which fully conditions gate 15. Thereafter, any level shift on data bus 10 will accurately generate a pulse of about 2 ns. duration from self-clock 12 and gate 15 will provide an output data clock signal. This signal is effective to increment counter 22 as the first of seventeen clock pulses and to gate data shift register 24 for accepting the data shift signal that appeared on line 27 from bus 10. The signal on line 27 which appears at delay 13 is delayed only sufficiently to center the pulse with respect to the data clock signal at those circuits where it is used in conjunction with the data clock. The delay is typically 2 or 3 ns. 
     Since there will be no further SYNC pulses generated for the duration of the remaining 16 bit times in the data word, the gating of AND 15 is done by feeding back data clock signals through delay 21 to OR 17. The data clock signal is delayed for 16 ns. before turning on single shot 18 through OR 17. It will be noted that a self-clock pulse occurs during each level shift but that only those occurring at the midpoint of each bit time are effective to generate a data clock signal. The data clock signals rely on the accuracy of the requirement that the data shift signals occur at the middle of the bit times. 
     Since a data clock signal is generated at the midpoint of each bit time, each clock signal indicates the occurrence of a bit time and is therefore counted in counter 22. When the seventeenth and last bit time of a data word has been indicated in the counter, its output is operable to reset flip-flop 14 terminating the signal that a transfer is in progress. The counter output can also be used to initiate the &#34;handshake&#34; operation indicating that data can be transferred from shift register 24 or indicating to the receiving unit that the data are ready. 
     A SYNC detection circuit suitable for use with the decoder circuit is shown in FIG. 3. Data input bus 10 is connected to buffer 30 which provides concurrently a true output of the bus signal level on lines 31 and 32 and a complement of the output level on lines 33 and 34. A true output is also applied to a delay line comprised of a series of six delay units 35a-35f. The delay lines can be merely segments of coaxial cable or printed micro-strip. The delays T6 of units 35a, 35b, 35e and 35f are each equal to a half bit time. The remaining delay units, 35c and 35d, each provide a delay of one half that of the other units or one quarter of a bit time. A buffer 36a-36f providing concurrent true and complement outputs is connected to each respective delay line tap. The true outputs of buffers 36a and 36b are connected to line 32 while those of buffers 36d-36f are connected to line 34. Conversely, the complement outputs of buffers 36a and 36b are connected to line 34 and the complement output of buffers 36d-36f are connected to line 32. Lines 32 and 34 may each be considered a &#34;Dot Or&#34; circuit to reflect the input levels thereto. Line 32 is connected to the D input of flip-flop 37 and line 34 is connected to the D input of flip-flop 38. The C inputs of these two flip-flops are connected to the complement and true outputs, respectively, of buffer 36c at the center tap of the delay line. 
     In operation, it will be seen that the relatively long duration of signal levels during a synchronizing pulse when centered along the six units of the delay line will provide a high level on one of the lines 32 or 34 and a low level on the other. For example, if the high level of the synchronizing pulse is leading, the true output levels of buffers 36d-36f will be high and the complement outputs of buffers 30, 36a and 36b will be high. Thus, flip-flop 38 will be conditioned and upon the occurrence of a positive-going level change, true output of buffer 36c flip-flop 38 will change state providing as an output through OR 39 a SYNC detection signal indicating that a data word follows. Whichever flip-flop is on will be reset by the delayed SYNC signal from delay 16 in FIG. 1. 
     Although the foregoing description has assumed a data transmission rate of 50 megabits, the circuit can be easily adapted to other frequencies, principally by altering the particular delay times. It will be noted that all necessary timings were obtained from the transmitted data. The unwanted clock pulses were rejected with a single shot timing approach with relatively loose timing accuracy requirements. The resulting self clock is accurate since its rising edges are directly determined by the input wave form. The need for an oscillator has been eliminated, hence, no race conditions are encountered. 
     The invention is particularly adaptable to multiplexing because it can operate immediately upon receipt of a signal on input bus 10 without requiring the extensive synchronization time required by phase-locked loop decoders, which occurs because any one of several transmitters may be active on the bus, each transmitting with slightly different phase due to different oscillators and different physical locations on the bus. 
     While the invention has been particularly shown and described with reference to preferred embodiment thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention.
Apparatus for generating clocking pulses from serially transmitted data in which a level shift recurs with each bit. The circuit uses a coincidence of data word recognition and initial level shift to generate an initial clock pulse and thereafter uses the delayed clock pulses and level shift to produce subsequent clock pulses. A data word recognition circuit is also disclosed that employs a delay line for examining the profile of a synchronizing wave form.