An apparatus and method for synchronizing a derived bit clock with a transmit bit clock of a transmitted data signal is disclosed. The present invention uses a divide-only direct digital synthesizer and a fixed local oscillator. The synthesizer generates a derived bit clock by dividing the fixed, high frequency local oscillator. A transition detector identifies valid bit transitions in the unsynchronized data signal. At each valid transition, a control algorithm determines whether to adjust the frequency and/or phase of the derived data clock in order to maintain synchronization between the derived bit clock and the transmit bit clock. The unsynchronized data signal and the derived bit clock are processed by a reclock latch to generate a synchronized data signal.
|
1. A bit recovery subsystem for synchronizing a received digital signal with a transmitted digital signal, comprising:
a demodulator adapted to receive an rf signal encoded with digital information representative of a transmit bit clock and to produce a baseband signal; voltage comparators adapted to process the baseband signal to produce two digital logic signals; a latch adapted to convert the two digital logic signals into unsynchronized data and inverted unsynchronized data each having a first state and a second state; a bit synchronizer adapted to process the unsynchronized data and the inverted unsynchronized data to produce a derived bit clock; and a reclock latch adapted to process the unsynchronized data and the derived bit clock delayed by a phase to produce synchronized data.
21. A device for producing a reset signal used in acquiring synchronization between a received signal and a transmitted signal based on an in phase signal and an out of phase signal, comprising:
a first shift register adapted to be clocked by the in phase signal, the first shift register adapted to generate a first output signal after the first shift register has been clocked a first number of times; a second shift register adapted to be clocked by the out of phase signal, the second shift register adapted to generate a second output signal after the second shift register has been clocked a second number of times; a blanking control adapted to receive the first output signal and the second output signal and to generate a control signal based on the first output signal and the second output signal; and a reset circuit adapted to receive the in phase signal and the out of phase signal and the control signal and to output one of the in phase signal and the out of phase signal as the reset signal based on the control signal.
13. A method of synchronizing a received digital signal with a transmitted digital signal, comprising the steps of:
receiving an rf signal encoded with digital information representative of a transmit bit clock and producing a baseband signal; processing the baseband signal to produce two digital logic signals; converting the two digital logic signals into unsynchronized data and inverted unsynchronized data; processing the unsynchronized data and inverted unsynchronized data to produce a derived bit clock; and processing the unsynchronized data and the derived bit clock to produce synchronized data; wherein the step of processing the unsynchronized data and inverted unsynchronized data to produce a derived bit clock comprises the steps of: generating first, second and third clock signals based on an oscillator signal; processing the first clock signal, the unsynchronized data and the inverted unsynchronized data to produce an indication that a valid data transition has occurred in the unsynchronized data; generating an output that controls the first, second and third clock signals to maintain valid data transitions in the unsynchronized data; and generating the derived bit clock from the second and third clock signals. 3. The bit recovery subsystem of
an oscillator; a decoder adapted to generate first, second, and third clock signals based on the oscillator; a transition filter and detector adapted to receive and process the first clock signal, the unsynchronized data and the inverted unsynchronized data to produce an indication that a valid data transition between a first state and a second state has occurred in the unsynchronized data; a quadrant detector adapted to receive the indication and to generate an output in the unsynchronized data; and a clock generator adapted to receive the second and third clock signals from the decoder and to generate the derived bit clock.
4. The bit recovery subsystem of
5. The bit recovery subsystem of
6. The bit recovery subsystem of
7. The bit recovery subsystem of
8. The bit recovery subsystem of
9. The bit recovery subsystem of
10. The bit recovery subsystem of
11. The bit recovery subsystem of
12. The bit recovery subsystem of
14. The method of
15. The method of
16. The method of
17. The method of
18. The method of
19. The method of
22. The device of
27. The device of
28. The device of
|
This is a continuation-in-part of U.S. patent application Ser. No. 09/376,936, which was filed Aug. 18, 1999.
(a) Field of the Invention
The present invention relates generally to bit recovery in a digital communication system and, more particularly, to an apparatus for bit synchronization.
(b) Description of Related Art
In digital communication systems, a transmitter transmits digital signals that represent digital symbols. The digital signals are transmitted synchronously with a transmit symbol clock, which has a frequency and a phase. A receiver receives the transmitted signal, containing the transmitted digital symbols as well as noise. In order to determine the values of the transmitted symbols with minimum errors, the receiver must know the frequency and phase of the transmit symbol clock. Most receivers derive the frequency and phase of the transmit symbol clock from the transmitted signal itself, thereby creating a derived symbol clock. Receivers derive the frequency and phase of the transmit symbol clock from the transmitted signal using a classical analog phase-locked loop (PLL). The classical analog PLL evaluates the transmitted signal in the frequency domain to derive the frequency and phase of the transmit symbol clock.
When transmitting non-return-to-zero (NRZ) data, the transmit symbol clock frequency and phase are derivable only from the instances when a symbol transitions to a symbol of a different value. This creates a problem in that a sequence of identical symbols contains no information that may be used to derive the frequency and phase of the transmit symbol clock. Because the analog PLL evaluates the transmitted signal in the frequency domain, the transmit symbol clock of NRZ data with no symbol transitions appears to the analog PLL to have a frequency of zero.
Another problem occurs with receivers using analog PLLs when transmitting NRZ data with low transition densities, i.e. data containing long sequences of symbols of the same value. Because of the low transition densities, the frequency of the transmit symbol clock appears to be lower than it actually is. Therefore, during periods when the transmitted NRZ data contains few transitions, the derived symbol clock will drift in frequency and phase from the transmit symbol clock. Symbol clock drift results in increased symbol error rates and reduced efficiency of the communication system.
Currently, the problem of derived symbol clock drift due to low transition densities is overcome by transmitting data using a return-to-zero (RZ) symbol scheme, such as a Manchester Code, which results in a transition for each symbol. RZ symbol schemes guarantee adequate symbol clock components in the data signal from which to derive the symbol clock frequency and phase. However, as is well known in the art, using a Manchester Code effectively doubles the required transmission bandwidth and requires a doubling of transmission power to maintain the same error rate.
Another existing solution for symbol clock drift due to low transmission densities artificially creates symbol transitions by encoding the data before transmission, using, for example, an encryption technique. However, the complexity of the communication system is increased because of the additional steps of encoding the data prior to transmission, as well as decoding the data subsequent to receiving the data.
The use of the analog PLL in digital communication systems involves additional shortcomings. For instance, cost is increased because a high quality voltage controlled oscillator is often required in order to achieve acceptable symbol error rates. Additionally, the analog PLL is more sensitive to temperature changes than digital components. Moreover, the use of an analog PLL requires interfacing of analog and digital components, resulting in increased complexity, size, weight, and cost.
The present invention overcomes the problem of derived symbol clock drift caused by transmission of NRZ data with low transition densities. Additionally, the present invention utilizes digital circuitry instead of an analog PLL, thereby overcoming the above mentioned problems related to analog PLLs.
The present invention is embodied in a bit recovery subsystem for synchronizing a received digital signal with a transmitted digital signal. The bit recovery subsystem includes a demodulator that receives an RF signal encoded with digital information representative of a transmit bit clock and producing a baseband signal, voltage comparators that process the baseband signal to produce two digital logic signals and a latch that converts the two digital logic signals into unsynchronized data and inverted unsynchronized data. The bit recovery subsystem also includes a bit synchronizer that processes the unsynchronized data and inverted unsynchronized data to produce a derived bit clock and a reclock latch that processes the unsynchronized data and the derived bit clock delayed by a phase to produce synchronized data.
The present invention may also be embodied in a method of synchronizing a received digital signal with a transmitted digital signal. The method includes the steps of receiving an RF signal encoded with digital information representative of a transmit bit clock and producing a baseband signal, processing the baseband signal to produce two digital logic signals, and converting the two digital logic signals into unsynchronized data and inverted unsynchronized data. The method also includes the steps of processing the unsynchronized data and inverted unsynchronized data to produce a derived bit clock and processing the unsynchronized data and the derived bit clock to produce synchronized data.
The invention itself, together with further objects and attendant advantages, will best be understood by reference to the following detailed description, taken in conjunction with the accompanying drawings.
The present invention is an apparatus and method for synchronizing a derived bit clock with a transmit bit clock of a transmitted data signal. The present invention synchronizes the derived bit clock with the transmit bit clock by evaluating, in the time domain, bit transitions and bit states of the transmitted data signal. Although the disclosed embodiment relates to a digital communication system employing two data symbols (0 and 1), it would be straightforward to extend the present invention to communication systems employing greater than two data symbols. The present invention avoids the use of a classical analog PLL, instead employing a divide-only direct digital synthesizer. The synthesizer generates a derived bit clock by dividing a fixed, high frequency local oscillator. A transition detector identifies valid bit transitions in the data signal. At each valid transition, a control algorithm determines whether to adjust the frequency and/or phase of the derived data clock in order to maintain synchronization between the derived bit clock and the transmit bit clock.
As shown in
The unsynchronized and the inverted unsynchronized data signals, from the S-R latch 26 (See FIG. 1), are provided to the transition filter and detector 40. The transition filter and detector 40 generally produces a VALID TRANS signal that substantially corresponds to valid data transitions in the unsynchronized data signal. The quadrant detector 42 receives the VALID TRANS signal from the transition filter and detector 40, as well as the CLK 0 and CLK 90 signals from the clock generator 38. The quadrant detector 42 generates a FREQ INC signal and a FREQ DEC signal that are provided to the up/down counter 46. Additionally, the quadrant detector 42 generally generates an OUT PHASE signal and an IN PHASE signal that are provided to the reset generator 44.
Generally, the reset generator 44 receives the OUT PHASE and IN PHASE signals from the quadrant detector 42 and generates an UNLOCK signal, a LOCK signal, and the RESET signal. The RESET signal is provided to the divider 34. The LOCK and UNLOCK signals are provided to the phase lock indicator 50. The up/down counter 46 generally receives the FREQ INC and FREQ DEC signals from the quadrant detector 42, as well as the 16-bit count signal, and produces the 8-bit count signal. The 8-bit count signal is provided to the decoder 36 and the frequency indicator 48. The frequency indicator 48 generally receives the 8-bit count signal and visually displays the frequency at which the derived bit clock is oscillating.
The oscillator 32 oscillates at a fixed rate that is nominally an integer multiple of the transmit bit clock rate. In one embodiment, the integer multiple of the oscillator 32 is 40,000 times the transmit bit clock rate. Thus, for a transmit bit clock rate of 1 kHz, the fixed rate of the oscillator 32 is 40 MHZ. As will be explained below, a different integer multiple of the transmit bit clock rate for the oscillator 32 may be chosen depending upon the requirements of a particular application.
The reset control 58 generally resets the 16-bit counter 56 to all zeros. More specifically, the reset control 58 receives the RESET signal, and produces the COUNTER RESET signal. The reset control 58 resets the 16-bit counter 56 upon the occurrence of a negative pulse on the RESET signal.
An alternative embodiment of the up/down counter 46 is illustrated in FIG. 5. The alternative embodiment of the up/down counter 46 comprises the 8-bit counter 60 and logic 62. Similar to the first embodiment, the 8-bit counter 60 receives an increment signal and a decrement signal to increment or decrement, respectively, the 8-bit counter 60 by one count. The 8-bit counter additionally receives an 8-bit preset signal to preset the 8-bit counter 60 to a preset value. The logic 62 generally changes the value of the 8-bit counter 60 more rapidly than in the first embodiment. As will be discussed below, the logic 62 may be used to achieve a faster slew rate or to accommodate a wider data bandwidth. The logic 62 receives the FREQ INC, FREQ DEC, 16-bit count, and 8-bit count signals. The logic 62 generates an increment signal, a decrement signal, and an 8-bit preset signal. The logic 62 may be tailored to change the count of the 8-bit counter 60 to fit a particular application. For example, the logic 62 may be designed to generate two negative pulses on the increment signal or decrement signal for every single negative pulse on the FREQ INC signal or FREQ DEC signal, respectively. Additionally, the logic 62 may be designed to change the value of the 8-bit count signal by more than one count by presetting a new count value.
The 1×pulse generator 72 generally produces the 1×CLK signal. More specifically, the 1×pulse generator 72 receives the adjusted 16-bit count and generates a negative pulse when the adjusted 16-bit count reaches a full-count value. In the present embodiment, the full-count value is 40,000, which corresponds to the integer multiple of the transmit bit clock rate at which the oscillator 32 (See
The 2×pulse generator 74 generally produces the 2×CLK signal. More specifically, the 2×CLK signal uses periodic negative pulses, wherein the periodic negative pulses occur at substantially double the rate of, and substantially in phase with, the pulses occurring on the 1×CLK signal. More specifically, the 2×pulse generator 74 receives the adjusted 16-bit count and generates the 2×CLK signal in a manner well known in the art.
The 19.5×pulse generator 76 generally produces the 19.5×CLK signal. More specifically, the 19.5×CLK signal comprises periodic negative pulses, wherein the periodic negative pulses occur at substantially 19.5 times the rate of, and substantially in phase with, the pulses occurring on the 1×CLK signal. More specifically, the 19.5×pulse generator 76 receives the adjusted 16-bit count and generates the 19.5×CLK signal in a manner well known in the art.
Referring again to
A first criteria for operation is that the unsynchronized data must be in the second state at a period of time subsequent to the detected transition. The period of time chosen in the present invention is 82% of the derived bit clock period, which will be more fully explained below. A second criteria for operation is that the unsynchronized data must remain in the second state, subsequent to the detected transition, for at least an aggregate period of time. The aggregate period of time in the present invention is 62% of the derived bit clock period, which will be more fully explained below. A third criteria for operation is that the second state must be different than the stored data state.
The first and second operation criteria are generally designed to filter out pulses in the unsynchronized data signal which are of a width less than the derived bit clock period. The 82% of the derived bit clock period time period was chosen based upon a typical bit width at a 90% amplitude point, an allowance for a clock used by the transition filter and detector 40 not being in time coincidence with the detected transition, and allowance for 10% edge jitter in the transmitted data. The 62% of the derived bit clock period aggregate time period corresponds to 75% of the 82% of the bit clock period time period. The 62% of the derived bit clock period aggregate time period was chosen based upon typical rise and fall times, an allowance for a clock used by the transition filter and detector 40 not being in time coincidence with the detected transition, and allowance for 10% edge jitter in the transmitted data. The time periods in the first and second criteria may be adjusted as required for a particular application.
The third criteria for operation is generally designed to reject additional invalid transitions in the unsynchronized data signal. A valid transition occurs when the data changes from a previous state to a new state which is different than the previous state. Therefore, the third criteria is designed to ignore transitions wherein the second state is the same as the stored state.
Referring again to
The preferred embodiment of the transition filter and detector 40 generally includes a positive edge detector 101, a negative edge detector 102, a cycle control latch 103, a one-state time counter 104, a cycle time counter 105, a zero-state time counter 106, a cycle reset flip flop 107, a prior state memory 108, a one-state time latch 109, a zero-state time latch 110, an edge detect gate 111, a one-state gate 112, a zero-state gate 113, a positive transition gate 114, a negative transition gate 115, and a valid transition gate 116.
The positive edge detector 101 and the negative edge detector 102 generally detect positive going edges in the unsynchronized data signal and the inverted unsynchronized data signal, respectively, and produce a POS EDGE signal and a NEG EDGE signal, respectively. The positive edge detector 101 and the negative edge detector 102 generally are D flip flops, with their D inputs tied to logic 1, their inverted outputs are fed to their clear inputs, respectively, and clocked by the unsynchronized data signal and inverted unsynchronized data signal, respectively. When flip flops 101 and 102 detect positive edges, they produce negative pulses on the POS EDGE signal, and the NEG EDGE signal, respectively.
The POS EDGE and NEG EDGE signals are provided to the edge detect gate 111, which generally produces a START CYCLE signal. The edge detect gate generally is a two-input AND gate, with its inputs being the POS EDGE and NEG EDGE signals, and its output being the START CYCLE signal. Generally, the edge detect gate 111 combines negative pulses on the POS EDGE and NEG EDGE signals onto the START CYCLE signal. The START CYCLE signal is provided to the cycle control latch 103.
Generally, the cycle control latch 103 starts and stops the cycle by producing the CYCLE ON signal. The cycle control latch 103 generally is a preset/clear flip flop, with its preset signal tied to the START CYCLE signal, its clear signal tied to an END CYCLE signal, and its output being the CYCLE ON signal. If a cycle has not yet started, a negative pulse on the START CYCLE signal will cause the CYCLE ON signal to go high, causing a cycle to commence. If a cycle has already started, the CYCLE ON signal is already high, and a negative pulse on the START CYCLE signal will have no effect. If the END CYCLE signal goes low, the cycle control latch 103 is cleared, and the CYCLE ON signal will go low. The CYCLE ON signal is provided to the cycle time counter 105, the one-state gate 112, and the zero-state gate 113.
Generally, the one-state gate 112, produces an output which goes high only if the CYCLE ON signal is high and the unsynchronized data signal is high. The one-state gate 112 is a two-input AND gate. Its inputs are the CYCLE ON signal and the unsynchronized data signal. The output of the one-state gate 112 is supplied to the one-state time counter 104 and the positive transition gate 114.
Generally, the zero-state gate 113, produces an output that goes high only if the CYCLE ON signal is high and the inverted unsynchronized data signal is high. The zero-state gate 113 is a two-input AND gate. Its inputs are the CYCLE ON signal and the inverted unsynchronized data signal. The output of the zero-state gate 113 is supplied to the zero-state time counter 106 and the negative transition gate 115.
The cycle time counter 105 is used to measure the first criteria, i.e. the 82% of bit clock period time period. The cycle time counter 105 receives the CYCLE ON signal, the END CYCLE signal, and the 19.5×CLK, and produces an output. Generally, the cycle time counter 105 is a counter clocked by the 19.5×CLK signal, enabled by the CYCLE ON signal, and cleared by the END CYCLE signal. When the cycle time counter 105 is enabled by the CYCLE ON signal, it counts to a value of 16. When the cycle time counter 105 reaches the count 16, its output goes high. Because the 19.5×CLK is at a frequency 19.5 times that of the derived bit clock, it takes approximately 82% of the bit clock period for the output of the cycle timeout counter 105 to go high (16/19.5=0.821). When the END CYCLE signal goes low, the cycle time counter 105 is cleared. The output of the cycle time counter 105 is supplied to the cycle reset flip flop 107.
The cycle reset flip flop 107 generally produces an output that indicates whether the first criteria has been satisfied. Additionally, the cycle reset flip flop 107 resets the transition filter and detector 40 at the end of the cycle. More specifically, the cycle reset flip flop 107 receives the output of the cycle time counter 105, and generates a negative pulse on the END CYCLE signal, as well as a positive pulse on a TEST signal. Generally, the cycle reset flip flop 107 is a D flip flop. A D input is tied to logic high, a CLK input is connected to the output of the cycle time counter 105, and a clear input is connected to the END CYCLE signal. The END CYCLE signal is generated from the inverted output of the cycle reset flip flop 107, and the TEST signal is generated by the output of the cycle reset flip flop 107. When the output of the cycle time counter 105 goes high, the cycle reset flip flop 107 causes the END CYCLE signal to go low, and causes the TEST signal to go high. When END CYCLE goes low, the cycle reset flip flop 107 is cleared, and the END CYCLE signal subsequently goes high. Additionally, the TEST signal subsequently goes low. The END CYCLE signal is supplied to the cycle control latch 1.03, the one-state time counter 104, the cycle time counter 105, the zero-state time counter 106, the one-state time latch 109, and the zero-state time latch 110. The TEST signal is supplied to the positive transition gate 114 and the negative transition gate 115.
The one-state time counter 104 generally measures the aggregate amount of time, during a cycle, that the unsynchronized data signal is in the one-state. This measurement is required for the second criteria, i.e. the 62% of derived bit clock period time period, for a transition from zero-state to one-state. Generally, the one state time counter 104 receives the output of the one-state gate 112, the 19.5×CLK signal, and the END CYCLE signal, and produces an output signal. The one state time counter 104 is a counter, with its enable input connected to the output of the one-state gate 112, its clock input connected to the 19.5×CLK signal, and its clear input connected to the END CYCLE signal. The output of the one-state time counter 104 goes high when a specified count is reached. The specified count of the one-state time counter 104 is 12, and will be more fully explained below. The one-state time counter 104 counts to a value of 12, clocked by the 19.5×CLK signal. However, the one-state time counter 104 only counts when the output of the one-state gate 112 is high. When the one state time counter 104 reaches the count 12, its output goes high. Because the 19.5×CLK signal is at a frequency 19.5 times that of the derived bit. clock, it takes, in the aggregate, approximately 62% of the derived bit clock period for the output of the one state time counter 104 to go high (12/19.5=0.615). When the END CYCLE signal goes low, the one-state time counter 104 is cleared. The output of the one-state time counter 104 is supplied to the one-state time latch 109.
The one-state time latch 109 generally produces an output which indicates whether the second criteria has been met. More specifically, the one-state time latch 109 receives the output from the one-state time counter 104 and the END CYCLE signal, and produces an output signal. The one-state time latch 109 is a D flip flop, with its D input connected to logic high, its clock input connected to the output of the one-state time counter 104, and its clear input connected to the END CYCLE signal. If the output of the one-state time counter 104 goes high, the output of the one-state time latch 109 will go high. The output of the one-state time latch 109 will remain high until the one-state time latch 109 is cleared by the END CYCLE signal. The output of the one-state time latch 109 is supplied to the positive transition gate 114.
The positive transition gate 114 generally produces an output which indicates whether the first, second, and third criteria have been met in the case of a transition from zero to one. More specifically, the positive transition gate 114 receives signals from the output of the one-state gate 112, the output of the one-state time latch 109, the TEST signal, and an output from the prior state memory 108. The positive transition gate 114 is a four-input NAND gate. Satisfaction of the first criteria is tested with the output of the one-state gate 112 as well as the TEST signal. Satisfaction of the second criteria is tested with the output of one-state time latch 109 as well as the TEST signal. Satisfaction of the third criteria is tested with the output of the prior state memory 108. If all the input signals to the positive transition gate 114 are high, this indicates that all three criteria are satisfied, and the output of the positive transition gate 114 will go low. The output of the positive transition gate 114 is provided to the valid transition gate 116 and the prior state memory 108.
The zero-state time counter 106 generally measures the aggregate amount of time, during a cycle, that the unsynchronized data signal is in the zero-state. This measurement is required for the second criteria, i.e. the 62% of derived bit clock period time period, for a transition from one-state to zero-state. Generally, the zero state time counter 106 receives the output of the zero-state gate 113, the 19.5×CLK signal, and the END CYCLE signal, and produces an output signal. The zero state time counter 106 is a counter, with its enable input connected to the output of the zero-state gate 113, its clock input connected to the 19.5×CLK signal, and its clear input connected to the END CYCLE signal. The output of the zero-state time counter 106 goes high when a specified count is reached. The specified count of the zero-state time counter 106 is 12, and will be more fully explained below. The zero-state time counter 106 counts to a value of 12, clocked by the 19.5×CLK signal. However, the zero-state time counter 106 only counts when the output of the zero-state gate 113 is high. When the zero state time counter 106 reaches the count 12, its output goes high. Because the 19.5×CLK signal is at a frequency 19.5 times that of the derived bit clock, it takes, in the aggregate, approximately 62% of the derived bit clock period for the output of the zero state time counter 106 to go high (12/19.5=0.615). When the END CYCLE signal goes low, the zero-state time counter 106 is cleared. The output of the zero-state time counter 106 is supplied to the zero-state time latch 110.
The zero-state time latch 110 generally produces an output which indicates whether the second criteria has been met. More specifically, the zero-state time latch 110 receives the output from the zero-state time counter 106 and the END CYCLE signal, and produces an output signal. The zero-state time latch 110 is a D flip flop, with its D input connected to logic high, its clock input connected to the output of the zero-state time counter 106, and its clear input connected to the END CYCLE signal. If the output of the zero-state time counter 106 goes high, the output of the zero-state time latch 110 will go high. The output of the zero-state time latch 110 will remain high until the zero-state time latch 110 is cleared by the END CYCLE signal. The output of the zero-state time latch 110 is supplied to the negative transition gate 115.
The negative transition gate 115 generally produces an output which indicates whether the first, second, and third criteria have been met in the case of a transition from one to zero. More specifically, the negative transition gate 115 receives signals from the output of the zero-state gate 113, the output of the zero-state time latch 110, the TEST signal, and an inverted output from the prior state memory 108. The negative transition gate 115 is a four-input NAND gate. Satisfaction of the first criteria is tested with the output of the zero-state gate 113 as well as the TEST signal. Satisfaction of the second criteria is tested with the output of zero-state time latch 110 as well as the TEST signal. Satisfaction of the third criteria is tested with the inverted output of the prior state memory 108. If all the input signals to the negative transition gate 114 are high, this indicates that all three criteria are satisfied, and the output-of the negative transition gate 114 will go low. The output of the negative transition gate 114 is provided to the valid transition gate 116 and the prior state memory 108.
The prior state memory 108 generally stores a new state subsequent to a valid transition. If a valid transition from 0 to 1 is detected, the prior state memory 108 stores a one-state. If a valid transition from 1 to 0 is detected, the prior state memory 108 stores a zero-state. More specifically, the prior state memory 108 receives the output of the positive transition gate 114 and the output of the negative transition gate 115, and produces the output signal and the inverted output signal. The prior state memory 108 is a preset/clear flip flop with an output and an inverted output. The clear input of the prior state memory 108 is connected to the output of the positive transition gate 114 and the preset input of the prior state memory is connected to the output of the negative transition gate 115, receives a clear signal from the gate 114 and a preset signal from the gate 115. The prior state memory 108 provides its output to the gate 114 and provides its inverted output to the gate 115. If the output of positive transition gate 114 goes low, the prior state memory 108 is cleared, causing its output to go low and its inverted output to go high. If the output of the negative transition gate goes low, the prior state memory 108 is preset, causing its output to go high and its inverted output to go low. The output of the prior state memory 108 is provided to the positive transition gate 114. The inverted output of the prior state memory 108 is provided to the negative transition gate 115.
The valid transition gate 116 generally produces an output that indicates that a valid transition was detected. More specifically, the valid transition gate 116 receives the output of the positive transition gate 114 and the output of the negative transition gate 115, and produces the VALID TRANS signal. The valid transition gate 116 is a two-input AND gate. The inputs are connected to the output of the positive transition gate 114 and the output of the negative transition gate 115. The output of the valid transition gate 116 is connected to the VALID TRANS signal. Normally, the VALID TRANS signal is high. However, if a valid transition from zero to one is detected, the output of the positive transition gate 114 goes low, causing the VALID TRANS signal to go low. If a valid transition from one to zero is detected, the output of the negative transition gate 115 goes low, causing the VALID TRANS signal to go low. The VALID TRANS signal is provided to the quadrant detector 42.
In operation, the transition filter and detector 40 waits for a positive transition on the unsynchronized data signal or the inverted unsynchronized data signal. If either the positive edge detector 101 or the negative edge detector 102 detects a positive transition, the edge detect gate will produce a negative pulse on the START CYCLE signal. The negative pulse on the START CYCLE signal causes the cycle control latch 103 to set the CYCLE ON signal high. When the CYCLE ON signal is high, subsequent transitions on the unsynchronized data signal and the inverted unsynchronized data signal are ignored.
Upon the CYCLE ON signal going high, the cycle time counter 105 begins counting to 16. Additionally, one-state time counter 104 will count, but only when the unsynchronized data signal is high. If the one-state time counter 104 reaches the count of 12 before the CYCLE ON signal goes low, the output of the one-state time latch 109 will go high. Similarly, the zero-state time counter 106 will count, but only when the inverted unsynchronized data signal is high. If the zero-state time counter 106 reaches the count of 12 before the CYCLE ON signal goes low, the output of the zero-state time latch 110 will go high.
When the cycle time counter 105 reaches the count 16, the cycle reset flip flop 107 creates a positive pulse on the TEST signal, initiating the test of whether all three criteria for a valid transition have been met. For a transition from zero-state to one-state, the first criteria is met if the output of one-state gate 112 is high when the TEST signal is high. The second criteria is met if the output of one-state latch 109 is high when the TEST signal is high. The third criteria is,met if the output of the prior state memory is high. If all three criteria are met, the valid transition gate 116 produces a negative pulse on the VALID TRANS signal, and a one-state is stored in the prior state memory 108. If any of the three criteria are not met, the VALID TRANS signal remains high, and the prior state memory 108 remains unchanged.
For a transition from one-state to zero-state, the first criteria is met if the output of zero-state gate 113 is high when the TEST signal is high. The second criteria is met if the output of zero-state latch 110 is high when the TEST signal is high. The third criteria is met if the inverted output of the prior state memory is high. If all three criteria are met, the valid transition gate 116 produces a negative pulse on the VALID TRANS signal, and a zero-state is stored in the prior state memory 108. If any of the three criteria are not met, the VALID TRANS signal remains high, and the prior state memory 108 remains unchanged.
Additionally, when the cycle time counter 105 reaches the count 16, the cycle reset flip flop 107 produces a negative pulse on the END CYCLE signal. This negative pulse on the END CYCLE signal resets the transition filter and detector 40. Subsequent to this reset, the transition filter and detector 40 waits for a new positive transition on either the unsynchronized data signal or the inverted unsynchronized data signal.
Referring
Referring again to
The present invention has a range of transitions that it requires to lock. The best case lock would occur on a single transition. The probability of locking on a single transition is 0.002, which is derived from the product of the probability that the appropriate phase control blanking gate 253 or 254 is selected (probability=0.5), the probability that the quadrant detector 42 state is in quadrant one or four (probability=0.5) and the size of a frequency step ({fraction (1/128)}). Conversely, the present invention will not generally require more than 268 transitions to acquire synchronization. This number of transitions is determined as follows: 1) the maximum frequency offset requires 127 in phase transitions to correct (assuming that the quadrant detector is in quadrants 1 or 4); 2) the most adverse state of the clock phase control state machine requires 14 transitions to correct; and 3) assume that half of the transitions following the initial 14 transitions do not produce a frequency increment due to the fact that the quadrant detector is in quadrants 2 or 3. Given these worst case assumptions and assuming a 1 KHz data rate, the present invention will require 268 transitions to acquire synchronization. This number of transitions corresponds to 536 ms at a 50% transition density. At a lower transition density, for example, 0.002%, the present invention would require 137 seconds to acquire synchronization.
The reset generator 44 comprises an in phase shift register 250, an out of phase shift register 251, a blanking control flip flop 252, gates 253, 254, 255, and phase lock indicator flip flop 256. The in phase shift register 250 generally counts the number of transitions found to be in phase by the quadrant detector, and generates an output when an mth in phase transition is detected. In the present embodiment, m is chosen as 4, but the value of m may be adjusted depending on the application, as will be discussed below. More specifically, the in phase shift register 250 receives the IN PHASE signal and the RESET signal, and generates the {overscore (Qm)} signal. The serial input of the in phase shift register 250 is tied to logic high, and the in phase shift register 250 is clocked by the IN PHASE signal. Therefore, after m=4 pulses appear on the IN PHASE signal, the {overscore (Qm)} output goes low. The in phase shift register 250 is cleared by the RESET signal.
The out of phase shift register 251 generally counts the number of transitions found to be out of phase by the quadrant detector, and generates an output when an nth out of phase transition is detected. In the present embodiment, n is chosen as 8, but the value of n may be adjusted depending on the application, as will be discussed below. More specifically, the out of phase shift register 251 receives the OUT PHASE signal and the RESET signal, and generates the {overscore (Qn)} signal. The serial input of the out of phase shift register 251 is tied to logic high, and the out of phase shift register 251 is clocked by the OUT PHASE signal. Therefore, after n=8 pulses appear on the OUT PHASE signal, the {overscore (Qn)} output goes low. The out of phase shift register 251 is cleared by the DIVIDER RESET signal.
The blanking control flip flop 252 generally produces blanking signals corresponding to whether m=4 in phase transitions were detected or n=8 out of phase transitions were detected. The blanking control flip flop 252 receives the {overscore (Qm)} signal from the in phase shift register 250, the out {overscore (Qn)} signal from the out of phase shift register 251, and generates an OUT PHASE BLANK signal and an IN PHASE BLANK signal. If the {overscore (Qm)} signal goes low, the blanking control flip flop 252 is preset, causing the IN PHASE BLANK signal to go high and the OUT PHASE BLANK signal to go low. If the {overscore (Qn)} signal goes low, the blanking control flip flop 252 is cleared, causing the IN PHASE BLANK signal to go low and the OUT PHASE BLANK signal to go high.
The gates 253, 254, and 255 generally produce the RESET signal. Gate 253 receives the OUT PHASE signal and the OUT PHASE BLANK signal, and generates an output which is supplied to the gate 255. Gate 253 allows positive pulses on the OUT PHASE signal to appear, inverted, on its output only if the OUT PHASE BLANK signal is high. Gate 254 receives the IN PHASE signal and the IN PHASE BLANK signal, and generates an output which is supplied to the gate 255 as well as the phase lock indicator flip flop 256. Gate 254 allows positive pulses on the IN PHASE signal to appear, inverted, on its output only if the IN PHASE BLANK signal is high. Gate 255 receives the output from gate 253 and the output from gate 254, and generates the RESET signal. The RESET signal is normally high. However, if an OUT PHASE pulse occurs when the OUT PHASE BLANK signal is high, or if an IN PHASE pulse occurs when the IN PHASE BLANK signal is high, the RESET signal will go low, thereby resetting the divider 34 shown in FIG. 12.
The phase lock indicator flip flop 256 generally produces signals that indicate whether the bit synthesizer is synchronized. More specifically, the phase lock indicator flip flop 256 receives the OUT PHASE signal and the output from gate 254, and generates an UNLOCK signal and a LOCK signal. The phase lock indicator flip flop 256 is a D flip flop. The phase lock indicator flip flop 256 is clocked by the OUT OF PHASE signal and cleared by the output of the gate 254. The D input is tied to logic high. Therefore, if a pulse occurs on the IN PHASE signal when the IN PHASE BLANK signal is high, the LOCK signal will go high and the UNLOCK signal will go low. However, if a pulse occurs on the OUT PHASE signal, the LOCK signal will go low and the UNLOCK signal will go high. The LOCK and UNLOCK signals are supplied to the phase lock indicator 50. The RESET signal is supplied to the divider 34.
Block 506 generally indicates the function of the quadrant detector 42. Block 506 determines in which quadrant the transition occurred. If the transition occurred in quadrants Q2 or Q3, then control transfers to block 512. If the transition occurred in quadrant Q1, then control transfers to block 508. If the transition occurred in quadrant Q4, then control transfers to block 510.
Blocks 508 and 510 generally indicate the function of the oscillator 32, the divider 34, the decoder 36, and the up/down counter 46. Block 508 adjusts the frequency of the derived bit clock downward, and then transfers control to block 512. Block 510 adjusts the frequency of the derived bit clock upward, and then transfers control to block 512.
Block 512 generally indicates the function of the reset generator 44. Block 512 generally determines whether a phase adjustment to the derived bit clock is required. If a phase adjustment is required, control transfers to block 516. If a phase adjustment is not required, control returns to block 502.
Block 512 generally indicates the function of the divider 34 and the decoder 36. Block 516 generally resets the divider 34, thus completing a phase adjustment. Then, control returns to block 502.
As mentioned previously, several parameters in the present embodiment may be adjusted depending upon desired performance characteristics. Several performance measurements will be discussed, as well as the effect of the parameters of the present embodiment upon those performance measurements.
A flywheel time is a performance measurement which indicates the amount of time, without phase or frequency corrections, from when the derived bit clock is phase and frequency synchronized with the transmit bit clock, until the accumulated error, in the time domain, is sufficient to shift the derived bit clock 90 degrees with respect to the transmit bit clock. In the present embodiment, two contributors to time domain error are an initial frequency offset between the derived bit clock and the transmit bit clock, and frequency stability of the oscillator 32. In the following discussions, a transmit bit clock frequency of 1 kHz will be assumed. For a transmit bit clock frequency of 1 kHz, a shift of 90 degrees corresponds to a time delay of 250 microseconds. In the present embodiment, a transmit bit clock frequency of 1 kHz requires an oscillator 32 frequency of 40 MHZ.
The error due to initial frequency offset between the derived bit clock and the transmit bit clock will be calculated. Assuming the derived bit clock is synchronized in frequency with the transmit bit clock, the worst-case frequency offset corresponds to one step of the up/down counter 46. The frequency error due to one step is represented by equation 1:
Therefore, the error per bit due to initial frequency offset is represented by equation 2:
Next, the error due to stability of the oscillator 32 is discussed. For a 40 MHZ oscillator, a typical peak to peak frequency offset is 10 Hz. Translated into the transmit clock frequency, the peak to peak clock frequency offset is represented by equation 3:
Therefore, the error per bit due to stability of the oscillator 32 is represented by equation 4:
Finally, the flywheel time will be calculated. Adding the error per bit due to initial frequency offset and the error due to stability of the oscillator 32, the total error per bit represented by equation 5:
Because a phase shift of 90 degrees corresponds to a delay of 250 microseconds, the flywheel time is represented by equation 6:
The flywheel time and the oscillator 32 frequency are linearly related. Thus, if the oscillator 32 frequency is doubled to 80 MHz, then the frequency error due to one step becomes 0.0125 Hz, and the error per bit due to initial frequency offset accumulates at 12.5 nsec/bit, rather than 25 nsec/bit as with the 40 MHz oscillator 32. If the 80 MHz oscillator 32 had the same error per bit due to stability as in equation 4, the flywheel time would become 19608 bits for the example above. Therefore, by adjusting the frequency ratio of the oscillator 32 to the transmit clock, the required flywheel time is achieved.
A slew rate indicates the maximum rate of change in frequency of the derived bit clock that the bit synchronizer may achieve. As discussed previously, for a transmit clock rate of 1 kHz and an oscillator 32 of 40 MHZ, the change in frequency per transition is represented by equation 7:
The slew rate depends on the rate of transitions in the data signal, because a frequency adjustment can occur only when a transition occurs. Therefore, the maximum slew rate occurs when the data is alternating ones and zeros as shown in equation 8:
The minimum slew rate for a barker code (4 transitions per 2048 bits) is represented by equation 9:
As mentioned previously, the logic 62 in the up/down counter 46 may be designed to increment or decrement the 8-bit counter 60 by more than one bit at a time. By increasing the size of the increment, the slew rate of the bit synchronizer may be increased. For example, if the logic 62 is designed to increment or decrement the 8-bit counter 60 by two counts for every pulse on the FREQ1 NC signal or FREQ DEC signal, respectively, the change in frequency per transition becomes 0.05 Hz, rather than 0.025 Hz. Thus, the slew rate of the bit synchronizer is effectively doubled.
A tuning range defines the range of frequencies of the transmit bit clock to which the bit synchronizer can synchronize. The tuning range is substantially defined by the range of counts provided by the up/down counter 46. In the present embodiment, the up/down counter comprised an 8-bit counter 60. The decoder 36 modifies the 16-bit count of the divider 34 with the 8-bit count of the up/down counter, effectively providing a range of counts from 39,936 to 40,063 (128 steps). This defines a tuning range represented by equation 10:
However, by modifying the up/down counter 46 and the decoder 36, a larger or smaller tuning may be achieved. For example, by increasing the 8-bit counter 60 to a 9-bit binary synchronous counter, and by modifying the decoder 36, a larger tuning range is achieved. This effectively provides a range of counts from 39,872 to 40,127 (256 steps), and a tuning range represented by equation 11:
When control transfers to block 604, the reset generator 44 sets the UNLOCK signal high and sets the LOCK signal low. Then control transfers to block 606. Block 606 generally indicates that if the OUT PHASE BLANK signal was previously high, then control will transfer to block 608. Otherwise, control will transfer to block 612.
If control transfers to block 608, the in phase shift register 250 and the out of phase shift register 251 are cleared. Then control transfers to block 610, wherein a pulse on the RESET signal is generated. Next, control transfers to block 600, wherein the reset generator resumes waiting for an in phase transition or an out of phase transition.
If control transfers to block 612, the out of phase shift register 251 is advanced by one shift. Then control transfers to block 614. Block 614 tests whether the number of shifts of the out of phase shift register 251 is equal to n. If the number of shifts is equal to n, then control transfers to block 611. Otherwise, control transfers to block 600. Block 616 sets the IN PHASE BLANK signal low and the OUT PHASE BLANK signal high, and then transfers control to block 600.
If an in-phase transition occurred, control will transfer to block 618. Block 618 tests whether the IN PHASE BLANK signal was previously high. If the IN PHASE BLANK signal was previously high, control transfers to block 620. Otherwise, control transfers to block 622. Block 620 generally sets the UNLOCK signal low and the LOCK signal high, and then transfers control to block 608.
Block 622 generally advances the in phase shift register 250 by one shift, and then transfers control to block 624. Block 624 tests whether the number of shifts of the in phase shift register 250 is equal to m. If the number of shifts is equal to m, then control transfers to block 626. Otherwise, control transfers to block 600. Block 626 sets the IN PHASE BLANK signal high and sets the OUT PHASE BLANK signal low, and then transfers control to block 600.
Patent | Priority | Assignee | Title |
6987817, | Jul 17 2000 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | Digital clock recovery PLL |
7103125, | May 16 2001 | CHINA CITIC BANK CORPORATION LIMITED, GUANGZHOU BRANCH, AS COLLATERAL AGENT | Method and apparatus for effecting synchronous pulse generation for use in serial communications |
7127015, | Oct 16 2001 | ST Wireless SA | Digital filter for reducing voltage peaks |
7139344, | May 16 2001 | CHINA CITIC BANK CORPORATION LIMITED, GUANGZHOU BRANCH, AS COLLATERAL AGENT | Method and apparatus for effecting synchronous pulse generation for use in variable speed serial communications |
7323943, | Nov 30 2004 | Renesas Electronics Corporation | PLL circuit with deadlock detection circuit |
7409023, | May 16 2001 | CHINA CITIC BANK CORPORATION LIMITED, GUANGZHOU BRANCH, AS COLLATERAL AGENT | Method and apparatus for effecting synchronous pulse generation for use in serial communications |
7471926, | Apr 01 2003 | NEC Corporation | Information processing terminal system and transmission/reception method using the same |
7656987, | Dec 29 2004 | STMICROELECTRONICS PVT LTD | Phase generator for introducing phase shift in a signal |
7940202, | Jul 31 2008 | MONTEREY RESEARCH, LLC | Clocking analog components operating in a digital system |
7957498, | Aug 25 2005 | SOCIONEXT INC | Data receiver device and data transmission/reception system |
8126390, | Apr 01 2003 | NEC Corporation | Data processing terminal system and transmitting and receiving method using the same |
8299951, | Jul 31 2008 | MONTEREY RESEARCH, LLC | Clocking analog components operating in a digital system |
8447224, | Apr 01 2003 | NEC Corporation | Data processing terminal system and transmitting and receiving method using the same |
8489014, | Apr 01 2003 | NEC Corporation | Data processing terminal system and transmitting and receiving method using the same |
8538348, | Apr 01 2003 | NEC Corporation | Data processing terminal system and transmitting and receiving method using the same |
Patent | Priority | Assignee | Title |
4756011, | Dec 24 1986 | Telcordia Technologies, Inc | Digital phase aligner |
5111486, | Mar 15 1989 | Motorola, Inc. | Bit synchronizer |
6137850, | Aug 18 1999 | Boeing Company, the | Digital bit synchronizer for low transition densities |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Mar 29 2000 | MILLER, CURTIS G | Hughes Electronics Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 010723 | /0707 | |
Mar 31 2000 | The Boeing Company | (assignment on the face of the patent) | / | |||
Oct 06 2000 | Hughes Electronics Corporation | Boeing Company, the | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 014236 | /0850 |
Date | Maintenance Fee Events |
Jun 15 2004 | ASPN: Payor Number Assigned. |
Sep 04 2007 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Sep 10 2007 | REM: Maintenance Fee Reminder Mailed. |
Sep 02 2011 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Sep 02 2015 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Mar 02 2007 | 4 years fee payment window open |
Sep 02 2007 | 6 months grace period start (w surcharge) |
Mar 02 2008 | patent expiry (for year 4) |
Mar 02 2010 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 02 2011 | 8 years fee payment window open |
Sep 02 2011 | 6 months grace period start (w surcharge) |
Mar 02 2012 | patent expiry (for year 8) |
Mar 02 2014 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 02 2015 | 12 years fee payment window open |
Sep 02 2015 | 6 months grace period start (w surcharge) |
Mar 02 2016 | patent expiry (for year 12) |
Mar 02 2018 | 2 years to revive unintentionally abandoned end. (for year 12) |