Method and apparatus for transmitting and receiving data...

Electrical computers and digital processing systems: support – Clock control of data processing system – component – or data...

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C713S500000, C341S056000

Reexamination Certificate

active

06763477

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates to receiving data in digital systems. More specifically, the present invention relates to a receiver that receives data in digital systems using a protocol that allows data to be transmitted without using a separate clock signal.
DESCRIPTION OF THE RELATED ART
In the art of digital signal processing, which of course includes the art of computing, it is common to transmit data from a sending block, such as a sending integrated circuit (IC) to a receiving block, such as a receiving IC. Typically, the sending block provides the data on one or more data lines, and a clock distribution network transmits a clock signal to the sending block and the receiving block on one or more clock lines. The sending block uses the clock signal to control the transitions on the data lines as data is transmitted, and the receiving block uses the clock signal to validate the received data.
As is known in the art, designing a clock distribution network is not a trivial task. Clock signal skew must be tightly controlled to ensure that the data is properly transmitted at the sending block and validated at the receiving block. Often when a block is inserted into a digital system, for example, adding an IC to a location of a printed circuit board reserved for expansion or some other type of option, the added block affects the loading of the clock distribution network differently than the loading of the data lines. This problem is addressed in U.S. Pat. No. 5,987,576 to Leith L. Johnson, et al, which is entitled “Method and Apparatus for Generating and Distributing Clock Signals with Minimal Skew”, is assigned to the same assignee as the present application, and is hereby incorporated by reference.
Another area that requires considerable attention by a logic designer is transferring data from the clock domain of the sending block to the clock domain of the receiving block as data is received at the receiving block. In synchronous systems operating at the same frequency, as the distance and loading associated with the clock and data signals coupling the sending and receiving blocks vary, the phase difference between the two clock domains also varies. This problem is addressed by Paul L. Rogers in co-pending U.S. application Ser. No. 09/365,055, which was filed on Jul. 30, 1999, is entitled “A Method and Apparatus for Automatically Determining the Phase Relationship Between Two Clocks Generated from the Same Source”, and is assigned to the same assignee as the present application. This application is hereby incorporated by reference. In asynchronous systems operating at different frequencies, other techniques are used, such as handshaking or operating the receiver circuit at a frequency significantly faster than the switching frequency of the data signals.
The teachings of Rogers and Johnson et al. are cited merely to illustrate that the generation and distribution of clock signals require significant attention during the design of a digital circuit. Furthermore, clock distribution networks consume significant hardware resources, such as I/O pins on the ICs, clock buffers, and traces on the printed circuit board. Also, clock distribution networks consume considerable power because the clock signals operate at high frequencies and often drive many clock inputs. And of course, clock distribution networks do not actually carry any data.
In theory, many of the issues discussed above can be eliminated if the clock signal can be embedded in the data stream. For example, in the art of magnetic storage, hard disk drives often store data using protocols known in the art as run-length limited (RLL) codes, as taught by Wilson W. Fok in U.S. Pat. No. 4,688,016, which is entitled “Byte-Wide Encoder and Decoder System for RLL(1,7) Code” and is hereby incorporated by reference. In the family of RLL codes, the RLL(1,7) code has gained wide acceptance. In accordance with the RLL(1,7) coding format, a sequence of unencoded binary data is converted into an encoded bit string in which each “1” in a coded bit sequence must be separated from the nearest adjacent “1” by at least one, but no more than seven “0s”. In this format, the most efficient coding rate results when every two unencoded data bits are converted into three coded bits. Conversely, in the decoding process, three coded data bits are converted into two decoded data bits.
Typically the clock signal is recovered from the RLL(1,7) data stream using a phase-locked loop. Often a synchronization field precedes the data field. The synchronization field provides a clock signal having hundreds or thousands of regularly spaced transitions and allows the phase-locked loop to train, or alternatively, lock on to the clock signal from the synchronization field. After the phase-locked loop is trained to the clock signal provided in the synchronization field, the RLL(1,7) data stream is provided from the data field. A phase comparator of the phase-locked loop compares transitions in the data stream with transitions in a clock signal provided by the phase-locked loop. If the transitions are not aligned, the phase comparator will issue a “pump-up” or “pump-down” signal to a voltage-controlled oscillator of the phase-locked loop to cause the clock signal provided by the phase-locked loop to remain synchronized with the data. Since RLL(1,7) code requires at least one, but no more than seven “0s” between “1s”, the phase-locked loop is guaranteed to have a data stream transition to compare with the clock signal at least once every seven clock signals.
Another protocol that embeds a clock signal in a data stream is disclosed by Peter A. Franaszek et al. in U.S. Pat. No. 4,486,739, which is entitled “Byte Oriented DC Balanced (0,4) 8B/10B Partitioned Block Transmission Code” and is hereby incorporated by reference. The protocol disclosed by Franaszek et al. is an RLL(0,4) code, which ensures a transition at least every four clock cycles, and encodes 8 bits into 10 bits, thereby providing a coding efficiency of 80%.
Similar to the RLL(1,7) code discussed above, the protocol disclosed by Franaszek et al. typically requires a phase-locked loop to recover the clock signal from the data signal. Phase-locked loops tend to be relatively complex circuits, and are often implemented using analog circuitry. Furthermore, phase-locked loops can require hundreds or thousands of clock cycles to train onto a signal. For many types of errors, the phase-locked loop must retrain onto the signal. Also phase-locked loops can drift between clock and data edge comparisons. This drifting can be visualized as a variable skew that limits the ultimate data transfer rate. What is needed in the art is a self-clocking protocol that includes a clock signal, such as the protocol disclosed by Franaszek et al. and the RLL(1,7) code discussed above, without requiring a phase-locked loop to recover the clock signal from the data stream.
SUMMARY OF THE INVENTION
The present invention is a method and apparatus for receiving data using a self-clocking link protocol which allows data to be received without the use of a separate clock signal and without requiring a phase-locked loop to recover a clock signal from the data signal. The present invention may advantageously be used in any application where data is transmitted from one digital block to another.
A protocol for use with a receiver in accordance with the present invention is implemented using m-out-of-n encodings, with restricted transitions allowed between the encodings. By restricting the transitions, the receiver of the present invention ensures that a transition edge is present on at least two data lines carrying the protocol for every data transmission. This property allows received data to be recovered without requiring a phase-locked loop. In addition, if desired it is also possible to recover a clock signal from the received data.
As is known in the art, an m-out-of-n encoding is a binary code with a width of n bits, with exactly m bits of these n bits having a value of “1” and the other n-m bits having a val

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and apparatus for transmitting and receiving data... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and apparatus for transmitting and receiving data..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for transmitting and receiving data... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3226212

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.