|Publication number||US4862482 A|
|Application number||US 07/207,772|
|Publication date||Aug 29, 1989|
|Filing date||Jun 16, 1988|
|Priority date||Jun 16, 1988|
|Publication number||07207772, 207772, US 4862482 A, US 4862482A, US-A-4862482, US4862482 A, US4862482A|
|Inventors||Paul J. Patchen|
|Original Assignee||National Semiconductor Corporation|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (13), Referenced by (15), Classifications (9), Legal Events (4)|
|External Links: USPTO, USPTO Assignment, Espacenet|
1. Field of the Invention
The present invention relates to data transmission systems and, in particular, to circuitry for recovering a clock and binary data from a Manchester-encoded input using digital sampling.
2. Discussion of the Prior Art
Manchester encoding is a very popular means for transmitting a serial data stream for reception without including a separate clock signal. The clock is included with the data since, in accordance with Manchester encoding format, each bit cell must have a level transition in the middle of the bit cell (this transition will henceforth be referred to as a "midbit" transition). The midbit transition allows the receiver to remain synchronized to the incoming data by extracting a clock synchronized to the incoming data.
To maintain accurate decoding of received data, the noise on the transmission media must be distinguished from real data; this must be done in a manner such that data is not lost. To synchronize to a received frame, a unique pattern is sent to allow the receiver to properly align itself to the frame and to extract the binary data encoded in the pattern. The input to the receiver circuit must be a digital signal. Since the Manchester-encoded data is typically transmitted in a differential manner, a comparator typically precedes the receiver logic to perform this conversion.
Once the receiver logic is aligned to the incoming data, it extracts the binary data from the Manchester-encoded input by sampling the data at the appropriate point in time. As stated above, the sampling point is determined by generating a clock derived from the incoming data. Finally, upon reaching the end of a transmission, a unique pattern is typically sent to tell the receiver logic that the frame is ending and to wait for another starting pattern before extracting any more data.
One type of known receiver, the National Semiconductor Corporation DP8341 Serial Bi-Phase Receiver/Decoder, samples Manchester-encoded data at a frequency which is eight times greater than the data bit cell rate. The NSC DP8341 also provides a two bit divider for recovering the synchronized data sampling clock. The data sampling clock is then utilized to extract the binary data from the sampled data by sampling each half bit time of the sampled data bit cells.
A receiver for recovering Manchester encoded data in accordance with a preferred embodiment of the present invention samples the incoming data at eight times the maximum frequency of the data. To obtain synchronization, a two bit shift register is used to detect edges in the incoming data pattern. When the Q outputs of the two flip flops in the shift register differ, an edge has been detected and the receiver takes action based on this event. To lock in phase with the incoming message, the receiver must see a defined starting sequence pattern. The pattern is compared in another shift register that contains each half bit time value in the starting sequence. Once the starting sequence is decoded, the receiver is locked onto the message and continues to clock in data values every half bit time to ensure that midbit transitions occur.
The receiver receives Manchester encoded data and extracts both the binary pattern and the necessary timing information from the data to sample the data properly. This task is achieved by first synchronizing to edges in the data stream with the approach discussed above. Once an edge is detected, a counter is preset on the next rising edge of the receiver 8X clock. The counter provides the necessary clocks for sampling the data and is resynchronized with each detected edge in the data. The complement of the divide-by-four bit of the counter becomes the clock to sample the half bit time of the Manchester encoded data. The value of each half bit time is shifted into a decoder to determine when a valid starting sequence has been received. After receiving a start sequence, the binary data is extracted from the Manchester encoded data by loading the complement of the sampled first half bit time into a shift register clocked at the data rate. The data rate clock is simply a further divide by two of the half bit time clock discussed above.
Other advantages and features of the present invention will be better understood and appreciated by reference to the detailed description of the invention provided below which should be considered in conjunction with the accompanying drawings.
FIG. 1 is a block diagram illustrating a receiver in accordance with the present invention with logical grouping as to the function of each sub-block.
FIGS. 2A-2C are timing diagrams illustrating the decoding of an incoming Manchester-encoded input to extract binary data in accordance with the present invention.
To extract binary data from a Manchester-encoded input, the data must first be sampled in order to synchronize the edges detected in the received bit stream. As shown in FIG. 1, a receiver circuit in accordance with the present invention accomplishes this utilizing sampling logic 10.
The sampling logic 10 uses a two-bit shift register, comprising flip-flops 12 and 14, to detect transitions in the incoming Manchester encoded data MANCHESTER-- IN. The two D-type flip-flops 12 and 14 are clocked with the same clock X8-- CLOCK-- IN the frequency of which is eight times the frequency of the incoming data MANCHESTER-- IN. By connecting the Q output of the first flip-flop 12 to the data input D of the second flip-flop 14, a 2-bit shift register is formed. That is, each rising edge of the clock X8-- CLOCK-- IN places new data in the first flip-flop 12 while the prior sampled data is clocked into the second flip-flop 14. The outputs Q1, Q1' and Q2, Q2' of flip-flops 12 and 14, respectively, are then exclusive-ored through gates T1 and T2 to create a signal EDGE that pulses when the Q outputs of the two flip-flops differ, i.e., upon detection of a midbit transition of the incoming data MANCHESTER-- IN.
As shown in FIG. 1, the INVERT input allows true or inverted reception of the incoming data. The outputs of the sampling logic 10 are EDGE' and SYNC-- DATA. The SYNC-- DATA signal is simply the sampled data output that is created from sampling the input waveform MANCHESTER-- IN at the eight times clock rate. As stated above, the EDGE' signal goes low when internal signals Q1 and Q2 are of opposite polarity.
The sampling logic 10 may be characterized as a digital phase lock since the sampled data is locked onto by sampling at some higher rate than the data rate and by synchronizing to transitions detected at the higher rate. Of key importance to clean operation is that the two sampling flip-flops 12 and 14 must be immune to metastability problems. Using CMOS flip-flops with high speed feedback paths and deskewed clocks reduces the probability of such metastability problems.
To generate clocks to form the correct extracted data output EXTRACT-- DATA, a two bit divider 16 is used.
The divider 16 is, essentially, a 2-bit counter that is used to divide down the input clock rate. The divider 16 is synchronous since both D-type flip-flops 18 and 20 are clocked with the same clock, i.e., X8-- CLOCK-- IN. The first state 18 of the divider divides the 8X clock rate by two, forming the signal A with a frequency of 8X/2=4X. The second stage 20 further divides down the frequency, forming the signal X2-- SYNC-- CLOCK with a resulting frequency of 8X4=2X, or twice the frequency of the data rate.
The signal EDGE from sampling logic 10 alters the state of the divider 16, thus synchronizing the output X2-- SYNC-- CLOCK of the divider 16 to edges detected at the input. When EDGE goes high, the next rising edge of the 8X clock causes the divider 16 to be preset to a value of B11 (therefore, synchronously preset). The next rising edge of the 8X clock causes the count to go to B00, resulting in a rising edge of X2-- SYNC-- CLOCK which is aligned with the center of the MANCHESTER-- IN half bit time.
As stated above, the X2-- SYNC-- CLOCK signal is the divide-by-four output of the divider 16, thus making its rate twice the rate of the incoming Manchester-encoded data.
As shown in FIG. 1, the output SYNC-- DATA of the sampling logic 10 and the output X2-- SYNC-- CLOCK of the divider 16 are provided to decoding logic 22. As discussed in detail below, in accordance with the present invention, the decoding logic 22 samples the first half of the Manchester bit cell and inverts the value to form the data output EXTRACT-- DATA.
By using the EDGE signal to synchronize the divider 16, C2X will go high in the middle of each half bit time and allow sampling of each half of the bit cells. Sampling each half of the bit cell allows the starting and ending pattern to be decoded as discussed earlier for aligning the receiver logic correctly to the data. The correct alignment is accomplished with the FRAME-- SYNC signal. FRAME-- SYNC will only go high when C2X goes high and the correct starting pattern is decoded. This can be accomplished with a simple shift register and decoder that triggers FRAME-- SYNC when the starting pattern is shifted in and the logic is correctly aligned.
Since C2X rises in the middle of each half bit time, it must be further divided by two to sample the appropriate half bit cell and create the EXTRACT-- DATA output. Flip-flop 24 is used to divide down C2X and generate CIX to sample SYNC-- DATA and form EXTRACT-- DATA. FRAME-- SYNC goes high during the second half bit time of the cell, allowing CIX to go low on the next rising edge of C2X, which will occur in the first half bit time of the next bit cell. With this constraint and the fact that there will always be a midbit transition in the Manchester-encoded data, the EXTRACT-- DATA output is formed by sampling the first half bit time of the cell and inverting it to form the correct extracted data from the Manchester-encoded input.
Thus, a key difference between the receiver disclosed herein and previously-known receivers is the time at which the binary data is extracted from the incoming Manchester encoded data. Referring to FIG. 1, as stated above, the binary extracted data is the signal EXTRACT-- DATA which is formed by sampling SYNC-DATA with a clock formed from the incoming data. As discussed above, C2X rises roughly in the middle of each half bit time allowing the data to be sampled at both the first half of the bit time and at the last half. As stated above, previously known receivers extract the data during the last half of the bit time. The receiver of the present invention uses the inherent constraint of Manchester encoded data that the first half and the last half of the bit time must be complementary. By sampling the first half of the bit time and inverting the value, the present receiver makes the extracted data available one half bit time earlier than prior receivers. This early extraction of data is beneficial since there is usually a constraint on the amount of time available for processing and taking action based on the data received.
FIG. 2B illustrates when the binary data is extracted from the incoming Manchester bit cell. The signal EXTRACT-- DATA becomes valid a propagation delay after the falling edge of CIX, which occurs in the middle of the first half of the bit time. EXTRACT-- DATA goes low in anticipation of the required midbit transition, thus yielding knowledge of the data prior to actually sampling the second part of the bit cell.
The signal INIT' is used simply to initialize the divider 16 and flip-flop 26 for holding the EXTRACT-- DATA value. At this point, the EXTRACT-- DATA output is deserialized via a shift register and as complete frames are received, the parallel data is passed for processing.
As stated above, the receiver logic requires that the incoming Manchester-encoded data be at a frequency that is one eighth that of the X8-- CLOCK-- IN input. This works well since the transmission is crystal controlled, thus allowing a high degree of accuracy in maintaining this constraint.
The logic described above allows for fluctuations in the incoming Manchester-encoded data of up to one period of the X8-- CLOCK-- IN clock input. This means that, in the case where the next edge should occur four periods of X8-- CLOCK-- IN later, the logic can tolerate the edge occurring as early as three X8-- CLOCK-- IN periods or as late as five X8-- CLOCK-- IN periods. Similarly, when the next edge should occur eight periods of X8-- CLOCK-- IN later, the logic can tolerate the edge occurring as early as seven X8-- CLOCK-- IN periods or as late as nine X8-- CLOCK-- IN periods. This tolerance allows adequate pad in the receiver design for very low error rates in a working environment.
FIG. 2 shows the timing relationship between the key signals shown in FIG. 1. For sake of clarity, a Manchester one is defined as a half bit time of zero followed by a half bit time of one. The MANCHESTER-- IN input is two Manchester zeroes followed by a Manchester one. FRAME-- SYNC goes high on the rising edge of C2X, corresponding to the second half bit time of the first Manchester zero, as described above. This signal is created by logic that detects a starting pattern preceding the data frame. The rising edge of C2X during the second half of the first Manchester zero triggers FRAME-- SYNC to go high which allows the decoding to start in the next bit time, At the beginning of the next bit frame, MANCHESTER-- IN goes high since the bit is a Manchester zero and EDGE' falls on the next rising edge of X8-- CLOCK-- IN after the transition. On the next edge of X8-- CLOCK-- IN, the COUNT but goes to 11 as the divider is preset. The COUNT bus is the octal count of X2-- SYNC-- CLOCK and A with X2-- SYNC-- CLOCK being the most significant bit. Continuing on, the next rising edge of X8-- CLOCK-- IN causes COUNT to roll over to 0 and hence C2X rises. Note that this rising edge of C2X aligns closely to the center of the corresponding half bit time on SYNC-DATA. As C2X rises, flip-flop 24 toggles, causing C1X to fall, which samples SYNC-- DATA to yield the binary datum sent in the corresponding bit frame. Also note that, as stated above, the data is inverted prior to becoming EXTRACT-- DATA since the data sampled at this point is the first part of the bit cell. Therefore, the data is correct for the bit cell. When the midbit transition is detected, the same process occurs with EDGE' and COUNT occur so that the logic remains synchronized to the incoming Manchester encoded data for the next bit cell.
It should be understood that the invention is not intended to be limited by the specifics of the above-described embodiment, but rather defined by the accompanying claims.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US3836956 *||Dec 12, 1972||Sep 17, 1974||Robertshaw Controls Co||Method and apparatus for decoding biphase signals|
|US3859631 *||Jul 16, 1973||Jan 7, 1975||Comsci Data Inc||Method and apparatus for decoding binary digital signals|
|US3938082 *||Sep 19, 1974||Feb 10, 1976||General Electric Company||Receiver for bi-polar coded data with bit time interval detection used as the data validation discriminant|
|US3942037 *||Sep 6, 1974||Mar 2, 1976||Motorola, Inc.||MOS edge sensing circuit|
|US4181919 *||Mar 28, 1978||Jan 1, 1980||Ncr Corporation||Adaptive synchronizing circuit for decoding phase-encoded data|
|US4531223 *||Mar 18, 1980||Jul 23, 1985||Hitachi, Ltd.||Clock derivation circuits|
|US4567604 *||Aug 29, 1983||Jan 28, 1986||At&T Teletype Corporation||Biphase signal receiver|
|US4583008 *||Feb 25, 1983||Apr 15, 1986||Harris Corporation||Retriggerable edge detector for edge-actuated internally clocked parts|
|US4592072 *||Feb 10, 1984||May 27, 1986||Digital Equipment Corp||Decoder for self-clocking serial data communications|
|US4606052 *||Dec 21, 1984||Aug 12, 1986||Advanced Micro Devices, Inc.||Method for detection of line activity for Manchester-encoded signals|
|US4608702 *||Dec 21, 1984||Aug 26, 1986||Advanced Micro Devices, Inc.||Method for digital clock recovery from Manchester-encoded signals|
|US4688232 *||Jan 29, 1986||Aug 18, 1987||International Computers Limited||Decoder for Manchester encoded data|
|US4763338 *||Aug 20, 1987||Aug 9, 1988||Unisys Corporation||Synchronous signal decoder|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US5040193 *||Jul 28, 1989||Aug 13, 1991||At&T Bell Laboratories||Receiver and digital phase-locked loop for burst mode data recovery|
|US5127023 *||Jul 18, 1990||Jun 30, 1992||The United States Of America As Represented By The Secretary Of The Navy||Retiming decoder/encoder|
|US5287359 *||Apr 8, 1991||Feb 15, 1994||Digital Equipment Corporation||Synchronous decoder for self-clocking signals|
|US5689533 *||Jan 11, 1996||Nov 18, 1997||Lucent Technologies Inc.||Refined timing recovery circuit|
|US5696800 *||Mar 22, 1995||Dec 9, 1997||Intel Corporation||Dual tracking differential manchester decoder and clock recovery circuit|
|US5748123 *||Jan 19, 1996||May 5, 1998||Lg Semicon Co., Ltd.||Decoding apparatus for Manchester code|
|US5928293 *||Apr 29, 1997||Jul 27, 1999||Motorola, Inc.||Method for generating a clock signal for use in a data receiver, clock generator, data receiver and remote controlled access system for vehicles|
|US6008746 *||Nov 13, 1996||Dec 28, 1999||Texas Instruments Incorporated||Method and apparatus for decoding noisy, intermittent data, such as manchester encoded data or the like|
|US6952399 *||Oct 12, 2000||Oct 4, 2005||Sprint Communications Company L.P.||Method and apparatus for synchronizing the coding and decoding of information in an integrated services hub|
|US7469023||Sep 3, 2003||Dec 23, 2008||Susan Vasana||Manchester code delta detector|
|US8433991||Jun 16, 2010||Apr 30, 2013||Qualcomm Incorporated||Global Navigation Satellite System (GLONASS) data bit edge detection|
|US8619919||Oct 14, 2010||Dec 31, 2013||Qualcomm Incorporated||Selective coherent and non-coherent demodulation methods and apparatuses|
|US8780958||Aug 27, 2010||Jul 15, 2014||Qualcomm Incorporated||Hybrid bit extraction for global position receiver|
|US20040247051 *||Sep 3, 2003||Dec 9, 2004||Susan Vasana||Manchester code delta detector|
|WO1994011952A1 *||Nov 3, 1993||May 26, 1994||Ampex Systems Corporation||Pseudo clock extractor|
|U.S. Classification||375/333, 375/361|
|International Classification||H04L7/033, H03M5/12, H04L7/10|
|Cooperative Classification||H03M5/12, H04L7/0331, H04L7/10|
|Jun 16, 1988||AS||Assignment|
Owner name: NATIONAL SEMICONDUCTOR CORPORATION, 2900 SEMICONDU
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNOR:PATCHEN, PAUL J.;REEL/FRAME:005061/0004
Effective date: 19880615
Owner name: NATIONAL SEMICONDUCTOR CORPORATION, A CORP. OF DE,
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PATCHEN, PAUL J.;REEL/FRAME:005061/0004
Effective date: 19880615
|Sep 28, 1992||FPAY||Fee payment|
Year of fee payment: 4
|Jan 17, 1997||FPAY||Fee payment|
Year of fee payment: 8
|Feb 27, 2001||FPAY||Fee payment|
Year of fee payment: 12