Patent Publication Number: US-4547764-A

Title: Pulse width decoder for double frequency encoded serial data

Description:
BACKGROUND OF THE INVENTION 
     Serial digital data is frequently transmitted using a self-clocking encoding. The basic idea behind these self-clocking codes is to guarantee that a certain minimum number of digital &#34;events&#34; (pulses or transitions in level) occur within the digital waveform. These &#34;guaranteed&#34; events can then be used to establish and reconstruct frequency and phase of the clocking signals which were used to encode and transmit the data. 
     &#34;Double frequency modulation&#34; encoding is the simplest of the self-clocked encodings. It is characterized by a guarantee that at least one, but no more than two digital events occur per bit cell in the digital waveform. A bit cell is that portion of the waveform which is generated by one cycle of the basic digital clock and contains a single binary &#34;0&#34; or binary &#34;1&#34;. The presence or absence of the second (non-guaranteed) event depends upon the data being encoded. 
     Double frequency modulation (DFM) is referred to in the prior art as biphase-mark, frequency modulation (FM), diphase, and frequency shift code (FSC). 
     A DFM encoded waveform contains pulses of two widths, long and short. A long pulse is twice the width of a short pulse. Pulse width is defined as the time between two transitions or edges. DFM waveforms alternate between positive and negative pulses. 
     The DFM encoding algorithm is quite simple. A sequence of two short adjacent pulses of opposite polarity represents a logical &#34;1&#34; (or &#34;mark&#34;), while a long pulse of either polarity represents a logical &#34;0&#34; (or &#34;space&#34;). DFM encoding may also be characteirzed by the edges or transitions in the encoded waveform. A transition occurs at the start of every bit cell. A &#34;1&#34; has an additional transition in the middle of the bit cell. A &#34;0&#34; does not have any mid-cell transition. Another way of looking at the encoding is that a &#34;0&#34; is encoded as a low frequency element, while a &#34;1&#34; is encoded as a high frequency element; hence the name double frequency modulation. 
     Recovering data and clock information from a DFM waveform depends on the ability to recognize the guaranteed transitions and to synchronize some timing circuit with these recognized guaranteed transitions. The output of the timing circuit can then be used, along with some additional logic, to extract data from the waveform. In the prior art, various timing circuits have been used for this purpose. Two commonly used techniques are briefly discussed below. 
     In the prior art technique, monostable multivibrators triggered by the guaranteed transitions define a &#34;window&#34; during an interval when a non-guaranteed transition may occur. The pulses produced by the monostables are then used to extract data from the waveform. Technique 1 has the advantage of simplicity, but suffers from wide variations in timing common with monostables. Further, technique 1 is quite susceptible to spurious operation induced by noise in the incoming waveform and is limited to usage with relatively low frequency signals. 
     In the second prior art technique, a variable frequency oscillator is synchronized to the incoming frequency by means of a phase-locked loop. The output of the oscillator is then used to extract data from the incoming waveform. Technique 2 eliminates the timing tolerance problem associated with technique 1 and is much less prone to noise induced failure. However, technique 2 is substantially more complex than technique 1. When working at high data rates (on the order of 100 Mb/s or higher) there can be problems obtaining cost effective phase-locked loops that have the proper parameters. In addition, a continuous bit stream of approximately forty or more bits is needed to lock the phase-locked loop onto the desired frequency. 
     In certain applications where units containing circuits exemplified by techniques 1 to 2 are placed in series, such as in a ring network, the clocking signals derived from the incoming waveform are used to construct an outgoing waveform for transmission to the next unit downline. In such a configuration, &#34;jitter&#34; (viz., timing uncertainty) in the output waveform must be minimized since the jitter may cascade and be amplified by passage through several units in series. Phase-locked loops, such as those of technique 2, always exhibit frequency jitter. The amount of jitter is traded off against capture time (time to go from initial &#34;unlocked&#34; state to &#34;locked&#34;) and lock range (input frequency range within which the phase-locked loop will eventually enter the locked condition). Since less jitter means less tracking ability and hence greater sensitivity to component value tolerances, technique 2 may be unsuitable for applications in which many units, each containing the extraction circuit, are cascaded in series. Using technique 1 it is possible to design a circuit which exhibits no jitter beyond that present in the incoming waveform, but one that suffers from the aforementioned drawbacks. 
     Previous efforts have been made to overcome the above discussed drawbacks of the prior art. For example, in U.S. Pat. Nos. 4,313,206 and 4,320,525 both of which are assigned to the same assignee as the present invention, circuits are disclosed for reconstructing the timing information encoded in a double frequency transition event waveform. However, neither of these techniques provides for recovering the encoded data information. In addition, these prior art techniques are designed to handle waveforms having a frequency of 1 MHz. In contrast, some present and many planned communications systems must be capable of operating at speeds exceeding 100 MHz. 
     OBJECTS OF THE INVENTION 
     It is a general object of the present invention to overcome these and other drawbacks of the prior art by providing an improved pulse width decoder for double frequency encoded serial data. 
     It is a further object of the present invention to provide a decoder which derives clock and data (NRZ-L) information from a double frequency encoded serial data bit stream. 
     It is another object of the present invention to provide a pulse width decoder for a double frequency modulation (DFM) self-clocking waveform which does not utilize a phase-locked loop to reconstruct the clock. 
     It is still another object to provide a pulse width decoder for a DFM self-clocking waveform which is able to synchronize itself with the input data in two bits (given that two &#34;0&#34; bits are input). 
     It is still a further object of the present invention to provide a pulse width decoder for a DFM self-clocking waveform which operates at speeds of 100 Mb/s. 
     It is yet another object of the present invention to provide a decoder for a DFM self-clocking waveform which can tolerate a 34% pulse width error. 
     It is still a further object of the present invention to provide a pulse width decoder for a DFM self-clocking waveform which can tolerate pulse shortening in the DFM input waveform. 
     It is another object of the present system to provide a DFM self-clocking waveform decoder which can operate in a system employing either wire or fiber optic transmission cables. 
     These and other objects, features and advantages of the present invention will become more apparent from the description of the preferred embodiment of the invention when read in conjunction with the drawings. 
     SUMMARY OF THE INVENTION 
     The foregoing objects of the present invention are achieved by providing a pulse width decoder which receives a double frequency modulation (DFM) waveform and derives therefrom the contained NRZ-L data and clock information. Basically, the decoder looks for long and short pulses in the DFM waveform. A long pulse is decoded as a &#34;0&#34;, while a pair of short, opposite polarity pulses are decoded as a &#34;1&#34;. In addition, in order to allow for pulse shortening in the DFM input waveform, a short pulse followed by a long pulse is interpreted as a &#34;1&#34;. 
     The DFM signal enters the decoder from the output of a receiver. In the preferred embodiment, the receiver includes a high speed comparator which has its input capacitively coupled to a twinax transmission cable. The raw DFM signal R output by the receiver is also passed through first and second delay means which generate respective first and second delayed versions Δ1 and Δ2 of the raw DFM signal. 
     The raw DFM signal R and second delayed version Δ2 drive the data recovery logic included in the decoder. The data recovery logic looks for long pulses of either polarity. It includes a first D-type flipflop (DL) which records the occurrence of negative polarity long pulses and a second D-type flipflop (DH) which records the occurrence of positive polarity long pulses. The true outputs of the DL and DH flipflops provide the D inputs to third and fourth D-type flipflops (DLL and DHL respectively), which remember which type of long pulse (&#34;0&#34; bit) preceded one or more pairs of short pulses (&#34;1&#34; bits). The false output of the DL flipflops and the true output of the DLL flipflop are OR&#39;ed together and the result provides one input to an AND gate. The false output of the DH flipflop and the true output of the DHL flipflop are OR&#39;ed together and the result provides the second input to the latter mentioned AND gate. The output of the AND gate provides the decoded data recovered from the DFM signal. 
     The first and second delayed versions (Δ1 and Δ2) of the raw DFM signal and the false outputs of each of the four flipflops drive the clock recovery logic included in the decoder. The clock signal, RCLK, is primarily derived from the first and second delayed versions (Δ1 and Δ2) of the raw DFM signal to provide one clock edge every bit time. Additional gating, responsive to the false outputs of the four flipflops, provides for formation of the clock edges at the proper time. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 shows the double frequency modulation (DFM) waveform which enters the decoder from the output of the receiver. 
     FIG. 2(A) shows a DFM waveform without pulse shortening effects. FIG. 2(B) shows a DFM waveform exhibiting pulse shortening. 
     FIG. 3 shows the receiver which provides the decoder with the DFM waveform and the preferred embodiment of the decoder as implemented in ECL circuitry. 
     FIG. 4 is a timing diagram showing the raw DFM signals, R and R, the internal decoder signals generated in response to the raw DFM signals, and the data and clock information derived by the decoder for a double high (DH) &#34;0&#34; bit preceding &#34;1&#34; bits. 
     FIG. 5 is a timing diagram showing the raw DFM signals, R and R, the internal decoder signals generated in response to the raw DFM signals, and the data and clock information derived by the decoder for a double low (DL) &#34;0&#34; bit preceding &#34;1&#34; bits. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     The present pulse width decoder circuit derives NRZ-L data and clock information from a double frequency encoded serial data bit stream. A double frequency modulation (DFM) waveform (FIG. 1) drives the decoder. DFM waveforms are well known in the prior art, also being referred to as biphase-mark, frequency modulation (FM), diphase, or frequency shift code (FSC) waveforms. 
     The DFM phase code is a self-clocking coding scheme in which clock and data information are encoded together into one waveform. Referring to FIG. 1, it will be noted that a DFM encoded waveform includes pulses of two widths, long and short. Pulse width is defined as the time between two transitions or edges. A long pulse is twice the width of a short pulse. DFM waveforms alternate between positive and negative pulses. 
     The encoding used in a DFM waveform is quite simple. A sequence of two short adjacent pulses of opposite polarity is used to represent a logical &#34;1&#34; (or &#34;mark&#34;). A long pulse of either polarity is used to represent a logical &#34;0&#34; (or &#34;space&#34;). DFM encoding may also be characterized by the edges or transitions in the encoded waveform. Thus, a transition occurs at the start of a bit cell. A logical &#34;0&#34; does not have any mid-cell transition, whereas a logical &#34;1&#34; has a mid-cell transition. 
     Another way of characterizing DFM encoding is that a logical &#34;0&#34; is encoded as a low frequency element, while a logical &#34;1&#34; is encoded as a high frequency element. The latter mentioned characterization provides the basis for the name double frequency modulation. 
     The present pulse width decoder circuit is driven by an inputted DFM waveform&#39;s rising and falling edges. Data (D) and reconstructed clock (RCLK) information are output by the decoder circuit. Basically, the present decoder circuit looks for long and short pulses. A long pulse is decoded as a logical &#34;0&#34;, while a pair of short, opposite polarity pulses are decoded as a logical &#34;1&#34;. 
     Additionally, the present decoder circuit decodes a short pulse followed by a long pulse as a logical &#34;1&#34;. This feature of the present decoder circuit allows the circuit to tolerate pulse shortening in the DFM input waveform which may be caused by the physical characteristics of the link circuits and/or transmission medium. FIG. 2 shows two DFM waveforms, one (FIG. 2(A)) being unaffected by pulse shortening and the other (FIG. 2(B)) exhibiting pulse shortening. On wire links, saturation may cause shortening of the first short pulse of a logical &#34;1&#34; bit that follows the long pulse of a logical &#34;0&#34; bit. Although saturation will not occur in a glass fiber link, it is possible for the transducer to create similar effects. The present decoder&#39;s ability to interpret the short-long pulse sequence as a logical &#34;1&#34; allows the circuit to correctly decode the affected data. 
     FIG. 3 shows the preferred embodiment of the present decoder circuit implemented in ECL. 
     The preferred embodiment of the present invention (FIG. 3) was implemented using the following components: 
     Flipflops 14, 16, 18, 20: Two Fairchild 100K Series ECL, F100131 Triple D Flipflops. 
     OR gates 30, 32 AND gate 34: One Fairchild 100K Series ECL, F100117 Triple OR/AND/INVERT gate. 
     OR gates 36, 38, 40, 42 AND gate 44: One Fairchild 100K Series ECL, F100118 Five Wide OR/AND/INVERT gate. 
     OR gates 46, 48, 12, 24, 28: One Fairchild 100K Series ECL, F100102 Quintuple 2-Input OR/NOR gate. 
     Receiver 10: Advanced Micro Devices AM 685 Comparator. 
     Delay 22: Microcoax UT-141 Series Coaxial Cable, 3.35 ns delay, made of 27.72 inches of said cable. 
     Delay 26: Microcoax UT-141 Series Coaxial Cable, 3.15 ns delay, made of 26.07 inches of said cable. 
     Resistors 50, 52: 1 K-ohm, 1/2 watt, 1% each. 
     Capacitors 54,56: 1000 picofarads each. 
     Resistors 58,60: 51.1 ohm, 1/2 watt, 1% each. 
     Shielded Input Cable: Belden 9207 Twinaxial wire cable. 
     Those skilled in the art will appreciate that the preferred embodiment can readily be implemented in other technologies such as Schottky TTL. 
     The raw DFM signal enters the decoder from the output of a receiver 10. In the preferred embodiment, the receiver 10 is a high speed comparator which has its input capacitively coupled to twinax cable. Those skilled in the art will appreciate that other types of receivers and cables may be used, including fiber optic components. For purposes of this discussion, suffice it to say that the raw DFM signal is provided at the output of the receiver 10. 
     The raw DFM signal is fed through OR gate 12, the output of which provides inverted and non-inverted signals R and R respectively, corresponding to the raw DFM signal. The non-inverted DFM signal R clocks D-type flipflops 14, 16, and the inverted DFM signal R clocks D-type flipflops 18 and 20. 
     The raw DFM signal output by receiver 10 is also fed into a first delay medium 22 which delays the raw DFM by approximately one third of a bit time. The delayed signals from the first delay circuit 22 is fed through OR-gate 24 which provides inverted and non-inverted versions Δ1 and Δ1 respectively of the first delayed DFM signal. The first delayed versions Δ1 and Δ1 of the DFM signal are used to recover the clock from the DFM waveform. 
     The first delayed version Δ1 of the DFM waveform output by delay medium 22 is further delayed by delay medium 26 such that the waveform output by delay medium 26 represents the raw DFM waveform delayed by approximately three quarters of a bit time. This second delayed version of the raw DFM waveform is fed through OR gate 28 to create inverted and non-inverted versions of the second delayed DFM waveform Δ2 and Δ2 respectively. These second delayed versions Δ2 and Δ2 of the DFM waveform are used in the recovery of both the data and clock information from the DFM waveform. 
     In the preferred embodiment, delay mediums 22 and 26 consist of specific lengths of Microcoax coaxial cable, the lengths of the cable chosen to provide the desired delay time. Those skilled in the art will appreciate that alternate means may be used to achieve the desired delay of the raw DFM signal. 
     As previously mentioned, the present decoder looks for long pulses of either polarity. Referring to FIG. 3 and the timing diagrams shown in FIGS. 4 and 5, the DL flipflop 14 looks for negative polarity long pulses (or &#34;double low&#34; (DL) pulses). The DH flipflop 18 looks for positive polarity long pulses (or &#34;double high&#34; (DH) pulses). 
     The DL signal from flipflop 14 thus goes high on the rising edge of the non-inverted DFM signal R that marks the end of the DL pulse. The DL signal goes low on the rising edge of the non-inverted DFM signal R that marks the middle or end of the first logical &#34;1&#34; bit following the DL pulse. If pulse shortening prevents the DL signal from properly going low, the next logical &#34;1&#34; bit will cause the DL signal to go low. 
     The DH signal from flipflop 18 goes high on the falling edge of the non-inverted DFM signal R at the end of a DH pulse. The DH signal goes low on the falling edge of the non-inverted DFM signal R that marks the middle or end of the first logical &#34;1&#34; bit following the DH pulse. If pulse shortening prevents the DH signal from properly going low, the next logical &#34;1&#34; bit will cause the DH signal to go low. 
     The &#34;double low last&#34; (DLL) and &#34;double high last&#34; (DHL) flipflops 16 and 20, respectively, are used to remember which type of long pulse (logical &#34;0&#34; bit) preceded one or more pairs of short pulses (logical &#34;1&#34; bits). A DL pulse (from flipflop 14) preceding one or more logical &#34;1&#34; bits will cause the DLL flipflop 16 to be set (via OR gate 48) since a DL pulse was the last long pulse before the logical &#34;1&#34; bit(s). The DLL flipflop 16 remains set due to the DLL signal being fed back through OR gate 48 until it is reset by DH. Similarly, a DH pulse preceding one or more logical &#34;1&#34; bits will cause the DHL flipflop 20 to be set since a DH pulse was the last long pulse before the logical &#34;1&#34; bit(s). 
     The DHL signal is set (via OR gate 46) on the falling edge of R when DH is high and DL is low. DH thus acts as an asynchronous reset in this situation. The DHL flipflop 20 remains set as long as logical &#34;1&#34;s continue to be input to the decoder. This is accomplished by the DHL output of flipflop 20 being fed back through OR gate 46 to maintain flipflop 20 in a set condition until it is reset by DL. The DHL flipflop 20 is reset when the next logical &#34;0&#34; enters the decoder. DFM encoding again dictates that this logical &#34;0&#34; must be a DL pulse since the preceding logical &#34;0&#34; was a DH pulse. The DL pulse causes the DL signal to rise which resets DHL flipflop 20. 
     To summarize, the DLL and DHL signals indicate the polarity of the last long pulse (logical &#34;0&#34; bit) occurring before one or more pairs of short pulses (logical &#34;1&#34; bit(s)). The DLL signal indicates that the last long pulse was low. The DHL signal indicates that the last long pulse was high. If a series of logical &#34;0&#34; bits are input to the decoder, both the DLL and DHL signals will remain low since DL and DH will be continuously high. 
     When referring to the timing diagrams of FIGS. 4 and 5, note that MR is used as an abbreviation for the asynchronous master reset of flipflop 16 or 20. Thus, MR=DL means that the reset input R of DHL flipflop 20 is connected to DL. 
     From the timing diagrams (FIGS. 4 and 5), it can be seen that the decoder output corresponds to DLL OR&#39;ed with DHL. However, in fact one other operation must be performed in order to complete the decoding of the data information from the DFM waveform. Thus, if the present decoder is powered up such that the DL, DH, DLL and DHL signals are all low and logical &#34;1&#34;s are input to the decoder, then the DL, DH, DLL and DHL signals will remain low and the decoded outputs D and D will not reflect the encoded input. To overcome this, a (DL·DH·DLL·DHL) term must be added to the calculation of D. Thus, 
     
         D=(DLL)+(DHL)+(DL·DH·DLL·DHL) 
    
     Proper minimization of the above equation yields the OR-AND term to be used to implement the decoder in ECL. 
     Thus, 
     
         D=(DLL+DL)·(DHL+DH) 
    
     The above equation is implemented in the present decoder by OR-gate 30 which performs an OR of DLL and DL, OR gate 32 which performs an OR of DHL and DH, and AND gate 34 which performs the logical AND of the outputs of OR gates 30 and 32 to provide the recovered data bit D at its output. 
     The clock signal RCLK is derived from the Δ1 and Δ2 delayed versions of the DFM waveform to create one clock edge every bit time. Depending on the polarity of the Δ1 and Δ2 waveforms, either (Δ1·Δ2) or (Δ1·Δ2) terms are used. Additional gating by DL, DH, DLL and DHL allow formation of clock edges at the proper time. Thus, the clock signal RCLK may be derived as follows: 
     
         RCLK=(DL·Δ1·Δ2)+(DLL·Δ1.multidot.Δ2)+(DH·Δ1·Δ2)+(DHL·Δ1·Δ2) 
    
     Converting to OR-AND forms for the ECL implementation of the preferred embodiment, we have 
     
         RCLK=(DL+Δ1+Δ2)·(DLL+Δ1+Δ2)·(DH+.DELTA.1+Δ2)·(DHL+Δ1+Δ2) 
    
     In the preferred embodiment, OR gate 36 is used to derive the term (DL+Δ1+Δ2), OR GATE 38 is used to derive the term (DLL+Δ1+Δ2), OR gate 40 is used to derive the term (DH+Δ1+Δ2), and OR gate 42 is used to derive the term (DHL+Δ1+Δ2). The outputs of OR gates 36, 38, 40 and 42 are combined in AND gate 44 to provide the recovered clock signal RCLK. 
     Although the preferred embodiment of the present decoder circuit is implemented in ECL, those skilled in the art will appreciate that the decoder can be implemented in any technology that provides the basic logic device requirements of: D-flipflops with asynchronous reset, &#34;OR&#34; gates, &#34;AND&#34; gates, and delay elements which allow one-third and three quarter bit time delays. 
     Having shown and described the preferred embodiment of the present invention, we state that the subject matter which we regard as being our invention is particularly pointed out and distinctly claimed in the following claims. Those skilled in the art to which the present invention pertains will appreciate that equivalents or modifications of, or substitutions for, parts of the specifically described embodiment of the invention may be made without departing from the scope of the invention as set forth in what is claimed.