text: though the ensuing disclosure of the inventive technique illustratively discusses the invention in the context of a telecommunications system , those skilled in the art will recognize that the invention is useful in any serial line communication system that uses frame formatted data . such systems include integrated services digital networks ( isdn ), local area networks ( lan ), packet radio systems and the like . fig1 depicts a simplified , high level block diagram of data transmission system 100 incorporating the inventive serial line synchronization technique . system 100 comprises serial line transmitter 105 connected , via optical fiber 170 , to serial line receiver 175 . line 110 carries previously multiplexed and framed data ( data ) to an input of transmitter 105 . additionally , line 115 carries a frame synchronization signal ( sync ) and line 120 carries a clock signal ( clock ), both to respective inputs of transmitter 105 . transmitter 105 merges the data , sync , and clock signals into a single serial bit stream using an inventive bi - phase mark modulation protocol . subsequently , the serial bit stream is transmitted , via optical fiber 170 , to receiver 175 . a fiber optic transmission medium is , of course , illustrative . in practice , the transmission medium can also be , e . g ., a twisted wire pair , a coaxial cable , a microwave transmission channel and the like . upon reception of the signal propagating on the transmission medium , receiver 175 separates the clock , sync and data signals and produces each of these signals on lines 230 , 235 and 240 , respectively . ultimately , a demultiplexer ( not shown ) utilizes the individual signals to demultiplex the various individual bit streams contained in the data signal appearing on lead 235 . generally speaking , the clock , sync and data signals are related to one another . in this regard , the clock signal is phase synchronous with bits comprising the data signal ; the sync signal indicates a reference point within a frame of data bits . illustratively , the reference point is an end of a last time - slot in the frame . the invention uses a modulation technique known as a bi - phase mark protocol to combine the clock and data signals into a serial bit stream . simultaneously , the invention encodes the sync signal into this serial bit stream as a violation of the bi - phase mark protocol . more specifically , transmitter 105 comprises delay line 125 , encoder 150 and light emitting diode ( led ) driver 165 . delay line 125 receives , on line 120 , the clock signal and produces four delayed clock signals ( clk 1 , clk 2 , clk 3 , and clk 4 ) each having a different delay relative to the clock signal . for instance , the delayed clock signal on line 130 is delayed by approximately ¼ of a data bit relative to the input clock signal . similarly , the delayed clock signals on lines 135 , 140 and 145 are delayed ½ bit , ¾ bit and 1 bit , respectively . typically , a data bit has a duration ( or interval ) equivalent to one clock cycle . for example , in a system having a bit duration of approximately 40 ns , i . e ., a bit rate of 24 . 576 mb / s , the delay line provides delays in 10 ns increments . encoder 150 has data , sync and the tour delayed clock signals appearing on lines 130 , 135 , 140 , and 145 as inputs . generally , the encoder merges the clock , data and sync signals into a single serial bit stream . this is accomplished by phase synchronizing the clock and data signals and then merging these two signals into a bit stream using a bi - phase mark protocol ( as described in detail below ). suffice it to say , the bi - phase mark protocol permits the frame synchronization signal to be inserted into the bit stream as a protocol violation . encoder 150 produces , on line 160 , a bi - phase mark signal which serves as an input to led driver 165 . the led driver converts an electrical signal representing the bi - phase mark signal into an optical signal . led drivers are well - known in the art , and therefore , a detailed description of such a driver is unnecessary to understand the invention . the optical signal produced by led driver 165 is then propagated over optical fiber 170 to receiver 175 . receiver 175 , in general , reverses the encoding process of the transmitter and produces , on lines 230 , 235 , and 240 , the clock , data , and sync signals , respectively . specifically , receiver 175 comprises electro - optic ( e - o ) device 180 , amplifier 190 , delay line 200 and decoder 225 . e - o devices are well - known in the art , and therefore , a detailed description of such a device is also unnecessary to understand the invention . e - o device 180 accepts , as an input , the optical signal emanating from optical fiber 170 . as is well - known in the art , an e - o device converts the optical signal into a representative electrical signal . typically , the representative electrical signal , on line 185 , has relatively low signal strength and thus must be amplified . amplifier 190 amplifies and “ squares up ” the electrical signal and produces a bi - phase mark signal that is substantially identical to the bi - phase mark signal that was produced , on line 160 , by encoder 150 . circuitry for accomplishing the amplification and squaring functions is well - known in the art and thus need not be described in any further detail . delay line 200 receives the bi - phase mark signal , appearing on line 195 , as an input and , as with the clock signal above , generates four delayed output signals ( d 1 , d 2 , d 3 , and d 4 ). each delayed signal on lines 205 , 210 , 215 , and 220 is respectively delayed by a ¼ , ½ , ¾ , and 1 bit interval , with respect to the bi - phase mark signal on line 195 . using the four delayed bi - phase mark signals , decoder 225 separates the clock , sync and data signals and produces each signal on lines 230 , 235 and 240 , respectively . next , a detailed discussion of the bi - phase mark protocol is presented . this discussion is followed by a detailed description of encoder 150 and decoder 175 that are used to implement the inventive synchronization technique . generally , encoder 150 combines the data , sync and clock signals into a serial bit stream . the inventive technique merges the data and clock signals into a serial bit stream using a bi - phase mark protocol . the frame synchronization signal is introduced into the bit stream as a violation of that protocol . generally , the bi - phase mark protocol encodes a digital stream of ones and zeros as a series of transitions during each bit interval , i . e ., a clock cycle . specifically , each zero is encoded as a transition at the beginning of a bit interval and each one is encoded as a transition at the beginning and at the middle of each bit interval . in this manner , the clock signal is inherently encoded into the bi - phase mark bit stream , i . e ., as a transition at the beginning of each bit interval . the frame synchronization signal is inserted by violating the requirement for a transition at the beginning of each bit interval . as discussed above , the data signal , after being formatted into frames , arrives at the transmitter . thus , the framing sequence is already present in a time - slot within each frame when the frame arrives at the transmitter . the frame synchronization signal occurs , i . e ., is high , during the occurrence of the framing bits in the data stream . for example , an individual frame may contain 32 time - slots each containing 8 bits of data . illustratively , time - slots 0 through 30 carry information bits from a number of individual data sources and time - slot 31 carries the framing sequence to indicate the end of a frame . hence , during all or a portion of time - slot 31 , the sync signal is high . specifically , the frame synchronization signal should be high for at least one clock cycle in a bit position just prior to the position in the framing sequence where the protocol violation is to be inserted . thus , continuing with the example , if the framing sequence in time - slot 31 is “ 00001011 ” and the protocol violation is to be positioned between the two consecutive ones , the frame synchronization signal should occur simultaneous with the second one , i . e ., the second least significant bit . accordingly , encoder 150 inserts a protocol violation between the last two bits , i . e ., the framing sequence becomes “ 0000101v1 ”, wherein the violation ( v ) removes a transition from the beginning of the last bit interval in time - slot 31 . encoder 150 will now be discussed with simultaneous reference to fig2 and 3 . therefore , the reader should refer to both of these figures throughout the ensuing discussion . fig2 depicts the circuit details of encoder 150 , while fig3 depicts a timing diagram showing the interrelation of important signals used and produced by encoder 150 . as shown in fig2 encoder 150 comprises timing generator 250 and bi - phase mark modulator 251 . using the four delayed clock signals ( clk 1 , clk 2 , clk 3 , and clk 4 ) on lines 130 , 135 , 140 and 145 , respectively , encoder 150 combines the clock , data and sync signals and produces , on line 295 , a bi - phase mark signal ( bimdat ). specifically , timing generator 250 processes the four delayed clock signals to generate a clock signal ( clk ) on line 255 and a signal ( 2xclk ), on line 260 , the latter signal having double the frequency of the clk signal and delayed by ⅛ of a bit interval relative to the clk signal . the data signal , on line 110 , and the sync signal , on line 115 , in addition to the clk and 2xclk signals , form input signals to bi - phase mark modulator 251 . fig3 shows a timing diagram indicating the relative temporal positions of data 305 , sync 310 , clk 315 , 2xclk 320 , and bimdat 325 signals that form the input and output signals of the bi - phase mark modulator . clock signal 300 is shown for reference purposes . clock signal 300 , data signal 305 and sync signal 310 are phase coherent , while clk signal 315 is delayed by ¾ of a bit interval with respect to clock signal 300 . the signals shown correspond to the illustrative example , wherein time - slot 31 contains the framing sequence “ 00001011 ”. for the sake of simplification , the timing diagram depicts only a portion of the framing sequence near where the protocol violation is inserted . specifically , the sequence “ 01011 ” is shown . bi - phase mark modulator 251 , shown in fig2 contains logical and gates 275 and 280 , nor gate 285 , inverters 265 and 270 , and j - k flip - flop 290 . in effect , the modulator enables the clk and inverted clk signals to sample , through and gates 275 and 280 , both an inverted data signal and the sync signal . to facilitate this sampling , inverters 265 and 270 invert data and clk signals 305 and 315 , respectively . subsequently , the resulting inverted signals are applied to one input of each and gate 275 and 280 . line 255 which carries clk signal 315 connects to the second input of and gate 275 . line 115 which carries sync signal 310 connects to the second input of and gate 280 . the outputs of and gates 275 and 280 , i . e ., a sampled inverted data signal and a sampled sync signal , serve as inputs to nor gate 285 . the sampled inverted data signal and sync signal are combined in nor gate 285 to produce a single bit stream . the output of nor gate 285 connects to both j and k inputs of j - k flip - flop 290 . additionally , line 260 connects the 2xclk signal to the clock ( ck ) input of flip - flop 290 . as is well - known in the art , a j - k flip - flop toggles at each rising edge of a signal applied to its ck input as long as high level signals are applied to both j and k inputs . thus , in effect , the output of nor gate 285 controls when flip - flop 290 toggles . as shown , flip - flop 290 toggles upon each rising edge of 2xclk signal 320 as long as the go output of nor gate 285 is high . since a rising edge of 2xclk signal 320 occurs at the beginning and a middle of a bit interval , the nor gate output must blank , i . e ., become low , during each zero data bit and during the protocol violation . as a result , the q output of flip - flop 295 is a bi - phase mark signal , i . e ., bimdat signal 325 . in operation , bi - phase mark modulator 251 transforms data signal 305 into a bi - phase mark signal wherein each zero in data signal 305 appears as a transition at the beginning of a bit interval and each one in data signal 305 appears as a transition at the beginning and at the middle of a bit interval . in addition , sync signal 310 is encoded into the bi - phase mark signal as a violation of the protocol mandating that a transition occur at the beginning of each bit interval . in essence , sync signal 310 is used to block or mask a transition within the framing sequence illustratively , the protocol violation occurs between the last two bits of the framing sequence in bimdat signal 320 . a driver circuit coupled to a transmission medium transmits bimdat signal 320 to a receiver and ultimately , to a decoder to recover the individual data , clock and sync signals . the encoder depicted in fig2 is shown only as an illustration of one possible implementation using discrete components . alternatively , for example , a circuit having a similar function can be implemented using programmable logic devices ( pld ) such as the ep330 - 12 pld manufactured by altera corporation of irvine , calif ., or using an application specific integrated circuit ( asic ). additionally , the position of the protocol violation discussed above is merely illustrative . the actual position of the violation will depend upon each individual application of the inventive technique . also , the frame synchronization signal was illustratively described as occurring simultaneously with the position in the data where the protocol violation is to be placed in the framing sequence . however , those skilled in the art will realize that , broadly speaking , the protocol violation could be positioned anywhere within the entire frame . fig4 a and 4b , in combination , collectively show a schematic diagram of decoder 225 . decoder 225 comprises 2x clock recovery circuit 400 , transition detector 405 , bit clock generator 410 , mask generator 420 , dejitter filter 425 , data recovery circuit 430 , frame sync recovery circuit 435 , and bit resynchronizer 440 . in particular , from the tour delayed bimdat signals , inputs ( d 1 , d 2 , d 3 and d 4 ) on lines 205 , 210 , 215 , and 220 , respectively , decoder 225 recovers the clock , data and sync signals . generally , using the delayed bimdat signals , 2x clock recovery circuit 400 generates a 2xclk signal which is two times the bit interval frequency . simultaneously , transition detector 405 generates a pulse that represents each transition in the bimdat signal . subsequently , an output of transition detector 405 , shown as the transition indicator signal ( trs ), is used by bit clock generator 410 to generate a bit clock signal ( bclk ). however , the missing transition at the protocol violation must be replaced to generate an accurate bit clock signal . mask generator 420 produces a signal that enables the 2xclk signal to insert a transition - into the bclk signal at the protocol violation . subsequently , the bit clock signal is filtered by dejitter filter 425 to produce , on line 230 , the clock signal . data recovery circuit 430 and frame sync recovery circuit 435 use bclk , and its inversion , in combination with transition indicator signal trs , and its inversion , to recover data and sync signals , rdata and rsync , respectively . subsequently , the recovered clock signal is used by bit resynchronizer 440 to reclock the rdata and rsync signals and produce , on lines 235 and 240 , the data and sync signals , respectively . the data , sync and clock signals are then passed along to a demultiplexer ( not shown ) to recreate the individual bit streams that comprise the information carried by the frames . i will now discuss each individual circuit mentioned above in fig4 a and 4b in detail . 2x clock recovery circuit 400 comprises exclusive or ( xor ) gate 445 , and gates 450 and 455 , or gate 460 and buffer 465 . the and gates , the xor gate , and the or gate logically combine the four delayed bimdat signals to produce a clock signal ( 2xclk ) having a cycle duration that is half the duration of a bit interval in the bimdat signal . specifically , xor gate 445 combines , using an exclusive or function , the ½ bit delayed ( d 2 ) and the ¾ bit delayed ( d 3 ) bimdat signals , on lines 210 and 215 , respectively , to produce a pulsatile signal having a ¼ bit long pulse corresponding to each transition in the bimdat signal . simultaneously , and gate 450 inverts and then combines , using an and function , all of the delayed bimdat signals on lines 205 , 210 , 215 , and 220 . simultaneously , and gate 455 combines , using an and function , all of the delayed bimdat signals . or gate 460 combines , using an or function , the output signals from xor gate 445 and and gate 450 and 455 . buffer 465 buffers a resultant output from or gate 460 . the or gate output exits 2x clock recovery circuit 400 as output 2xclk . the 2xclk has a frequency which is twice the bit interval . transition detector 405 comprises xor gate 470 , buffer 475 and d flip - flop 480 . generally , xor gate 470 produces pulses representing each transition in the bimdat signal ; and flip - flop 480 lengthens the pulses representing each transition . specifically , xor gate 470 combines , using an exclusive or function , the ¼ bit delayed ( d 1 ) and the ½ bit delayed ( d 2 ) bimdat signals , on lines 205 and 210 , respectively , to produce a pulse having a ¼ bit duration for each transition in the bimdat signal . buffer 475 buffers each such pulse as it exits xor gate 470 . d flip - flop 480 operates as a pulse stretcher to elongate each ¼ bit duration pulse to a ½ bit duration , i . e ., equivalent to 1 cycle of the 2xclk signal . the q and { overscore ( q )} outputs from flip - flop 480 are respectively labeled trs and { overscore ( trs )}. importantly , the trs signal is high for the first half of each zero bit and high for the entire bit interval for each one bit except at the protocol violation . bit clock generator 410 comprises j - k flip - flop 490 produces the bit clock signal ( bclk ) in response to the trs signal and the 2xclk signal . flip - flop 490 produces bclk by toggling its q output at each rising edge of the 2xclk signal . in this manner , the bclk signal has a frequency that is one - half the 2xclk signal frequency . in other words , the bclk signal has a cycle duration equivalent to one - bit interval . however . the protocol violation will cause flip - flop 490 to produce an improper transition in the bclk signal . therefore , mask generator 420 produces a masking signal at the protocol violation . or gate 485 inserts the masking signal into the trs signal . the insertion of the masking signal causes flip - flop 490 to ignore the protocol violation while producing bclk . mask generator 420 comprises counter 415 and j - k flip - flop 510 . counter 415 , itself containing and gate 505 and flip - flops 495 and 500 , is a two - bit counter which is enabled by the { overscore ( q )} output of flip - flop 510 . consequently , counter 415 is enabled by every “ 0 ” in the bimdat signal unless an immediately preceding “ 0 ” has previously enabled the counter . to ensure that the counter is enabled by a specific “ 0 ” in the bimdat signal , that “ 0 ” must be preceded by a “ 1 ”, i . e ., to ensure that the counter has fully counted and will start at zero upon the occurrence of the next “ 0 ”. in this manner , when a bit pattern occurs in the bimdat signal having the binary form “ 10 ”, this counter is enabled and flip - flop 510 generates , at its q and { overscore ( q )} outputs , a masking pulse having a two - bit duration . the masking pulse masks the occurrence of a protocol violation , if any , that follows the “ 10 ” bit sequence . during the occurrence of date bits with a binary “ 10 ” pattern that are not within the framing sequence , the flip - flop 510 generates a masking pulse , but the masking pulse has no effect upon the bit clock generator . however , when a “ 10 ” pattern appears in the framing sequence “ 0000101v1 ”, the “ 10 ” pattern initiates the masking pulse which replaces the improper trs signal at the input of flip - flop 490 within bit clock generator 410 . as a result , flip - flop 490 toggles when it otherwise would not toggle , i . e ., during the protocol violation , and the bit clock generator produces an accurate bit clock signal ( bclk ). as those skilled in the art will readily recognize , the bit pattern that initiates the masking pulse could be any pattern . also , circuitry could be implemented requiring recognition of a longer bit pattern than 2 bits prior to producing the masking pulse . dejitter filter 425 comprises buffer 515 , filter 520 and schmitt trigger 525 . dejitter filter 425 reduces variation , which can result during the transmission and receiving processes , in the positions of the rising edges of the bclk signal . specifically , buffer 515 buffers the bclk signal . the buffered bclk signal is then sent to filter 520 . filter 520 has a low pass frequency response and a phase response such that the input signal , bclk , and an output signal , clk , maintain a phase relationship having a difference of less than 90 °, with transitions of clk always occurring later than corresponding transitions of bclk . subsequently , schmitt trigger 525 sharpens the edges of a filtered signal at the output of the filter and produces the clk signal . as previously noted , the trs signal is high for the first half of each zero bit and is high for the entire bit interval for each one bit . from the trs signal , data recovery circuit 430 converts the trs signal into a data signal having a one represented by a high level and zero represented by a low level . data recovery circuit 430 comprises and gates 530 and 535 , and flip - flops 540 and 545 . the data recovery circuit decodes the trs signal using the bclk and 2xclk signals . the output of the data recovery circuit ( rdata ) represents the data which was encoded by the transmitter . importantly , the bclk signal is high during the second half of each bit interval . the bclk signal samples the trs signal , and its inversion , through and gates 530 and 535 . when the trs signal indicates a logical one data bit , the trs signal is high during the second half of each bit interval . when signals trs and bclk are both high , the output of and gate 530 is high , as is the j input of flip - flop 540 . consequently , output q of j - k flip - flop 540 is high during an entire bit interval . conversely , when trs is low ({ overscore ( trs )} is high ), during the second half of the bit interval , the k input controls the output of flip - flop 540 and the q output of this flip - flop is low for an entire bit duration . d flip - flop 545 reclocks the output of flip - flop 540 and generates , at its q output , signal rdata having a zero represented as a low signal for a full bit interval and one represented as a high signal for a full bit interval . similarly , frame sync recovery circuit 435 recovers the frame synchronization signal in response to the bclk and trs signals . as with data recovery circuit 430 , the frame sync recovery circuit decodes the trs signal using the bclk and 2xclk signals . the output of the frame sync recovery circuit represents the sync signal that was encoded by the transmitter . importantly , the { overscore ( blck )} signal is high during the first half of each bit interval . signal bclk samples the trs signal , and its inversion , using and gates 550 and 555 . to effectuate decoding the sync signal , the output of and gate 550 , and consequently the j input of flip - flop 560 , both become high only when a protocol violation occurs , i . e ., when { overscore ( trs )}, during the first half of a bit interval , is high . usually , and gate 555 maintains a high signal at the k input of flip - flop 560 , thus maintaining a low output at the q output of flip - flop 560 . however , upon the occurrence of a protocol violation , the q output of flip - flop 560 becomes high and produces rsync . both the rdata and rsync signals are reclocked by bit resynchronizer 440 using the clk signal . the bit resynchronizer comprises two d flip - flops 570 and 575 . specifically , flip - flop 570 reclocks rdata with the clk signal ; similarly , flip - flop 575 reclocks rsync with the clk signal . the outputs of decoder 225 are buffered by buffers 580 , 585 and 590 to produce the clock , data and sync signals , respectively . as with the encoder , the decoder depicted in fig4 a and 4b is shown only as an illustration of one possible implementation . for example , a circuit having a similar function can be produced using a programmable logic device ( pld ) or an application specific integrated circuit ( asic ). additionally , the foregoing discussion only described a transmission in a single direction . duplex transmission is easily implemented by installing a transmitter with a receiver at each end of the transmission medium . those skilled in the art will recognize that some minor modification to the receiver and transmitter would be necessary to propagate full duplex signals on a single transmission medium . although i have shown and described , in detail , a single embodiment of my invention , those skilled in the art can readily devise many other varied embodiments that still incorporate my inventive teachings .