Coherent expandable high speed interface
First Claim
1. A method for passing a multiple bit wide data stream between a receiving device and a transmitting device on multiple data lines, the method of comprising:
- producing a clock signal at the transmitting device and transmitting said clock signal to said receiving device on a clock line;
transmitting a predetermined synchronization pattern from said transmitting device to said receiving device on each of said multiple data lines to determine a sub interval clock phase for each data line that will successfully compensate for phase delays associated with said data lines and extract the synchronization pattern from each of said multiple data lines; and
extracting data from each of said multiple data lines at said sub interval clock phase determined for each of said multiple data lines to compensate for said phase delays.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus is provided for passing an N bit wide data stream between two physical devices at high speed while maintaining the coherency of the data streams during the transfer. The N bit wide data stream is transmitted in N parallel data streams on N of N+1 differential data lines. A predetermined serial sync detect pattern is transferred on the remaining differential data line, which is designated as the sync line. A sub interval clock phase is then determined for the sync line that will successfully extract the transmitted sync detect pattern during each half cycle of the clock. This sub interval clock phase compensates for differing delays in the data streams across the physical interface. All of the N+1 differential data lines are in turn designated as the sync line to determine a sub interval clock phase for each of the respective differential data lines. Data is then extracted from the N data streams by sampling at the sub interval clock phase determined for each particular data line. The number of clock cycles that pass between reception of the sync detect pattern on the sync line and reception of the sync detect pattern on the next data line designated as the sync line is counted. The counted number of clock cycles is then compared to a predetermined number of clock cycles that pass between transmission of the sync detect pattern on the respective lines to determine if any data skew of multiple clock cycles is present between the respective lines. Any detected data skew is corrected. Thus, the present invention provides an improved method and apparatus for transmitting continuous parallel data streams while the bits in the data streams maintain their relative positions when received.
47 Citations
18 Claims
-
1. A method for passing a multiple bit wide data stream between a receiving device and a transmitting device on multiple data lines, the method of comprising:
-
producing a clock signal at the transmitting device and transmitting said clock signal to said receiving device on a clock line;
transmitting a predetermined synchronization pattern from said transmitting device to said receiving device on each of said multiple data lines to determine a sub interval clock phase for each data line that will successfully compensate for phase delays associated with said data lines and extract the synchronization pattern from each of said multiple data lines; and
extracting data from each of said multiple data lines at said sub interval clock phase determined for each of said multiple data lines to compensate for said phase delays. - View Dependent Claims (2, 3, 4)
-
-
5. An interface for maintaining the coherency of data in N data streams being transmitted between a transmitting device and receiving device that includes a transmitting interface and a receiving interface, said interface comprising:
-
a sync pattern provider located on said transmitting device interface for providing a predetermined sync detect pattern;
a clock generator for generating a clock signal;
a sync multiplexer located at said transmitting interface for receiving said N data streams from said transmitting device and said sync detect pattern from said sync pattern provider and selectively multiplexing said sync detect pattern and said N data streams onto N+1 data lines;
a test line controller designating one of said N+1 data lines as a sync detect line and designating N of said N+1 data lines as data transmitting lines so that said sync multiplexer transmits said sync detect pattern to said receiving interface on a selected sync detect line, and wherein said sync multiplexer transmits said N data streams to said receiving interface on each one of said N+1 data lines not selected as said sync detect line;
a clock receiving circuit positioned at said receiving interface for receiving said clock;
N+1 samplers positioned at said receiving device interface for receiving and sampling said N data streams and said sync detect pattern on said N+1 data lines and providing said data streams to said receiving interface wherein said samplers sample said sync detect pattern at multiple phase time delays to produce multiple phase test patterns;
comparators for comparing each one of said multiple phase test patterns to said phase sync detect pattern to determine if any of said multiple phase test patterns are equivalent to said phase sync detect pattern and designating such equivalent phase test patterns as selected phase test patterns;
storage devices for storing a phase time delay corresponding to the phase time delay of one of said selected phase test patterns;
wherein during a predetermined number of clock cycles said sync multiplexer cycles said sync detect line through each one of said N+1 data lines such that an associated phase time delay is determined and stored for each of said N+1 data lines and wherein said samplers sample each of said N data streams based upon said associated phase time. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method for maintaining the coherency of bi-phase data being transmitted in parallel between a transmitting device and a receiving device said data comprising sets of data bits being transmitted in N data streams on N+1 data lines, a sync line and a clock line, said method comprising:
-
generating a sync signal including a predetermined first half sync detect pattern and a predetermined second half sync detect pattern at said transmitting device;
producing a bi-phase clock signal including a first phase clock period and a second phase clock period at said transmitting device;
transmitting said bi-phase clock signal between said transmitting device and said receiving device;
designating one of said N+1 data lines as a sync test line;
transmitting said sync signal including said first half sync detect pattern and said second half sync detect pattern to said receiving device on said sync test line;
transmitting said each of said N data streams to said receiving device on a one of said N+1 data lines;
sampling said received sync signal at multiple sampling times to produce multiple first phase and second phase test data sets;
comparing said multiple test data sets to said first half sync detect pattern to determine which of said multiple test data sets sampled during said clock period corresponds to said first half sync detect pattern;
storing a phase time delay that corresponds to one of said multiple test data sets that corresponds to said first half sync detect pattern;
comparing said multiple test data sets to said second half sync detect pattern for each of said multiple data sets to determine which of said multiple test data sets sampled during said clock period corresponds to said second half sync detect pattern;
storing a second phase time delay that corresponds to one of said multiple test data sets that corresponds to said second half sync detect pattern;
sampling future data streams received on said data line designated as said sync test line at sampling times based on said stored first and second phase time delays; and
cycling through said N+1 data lines by designating a new one of said N+1 data lines as said sync test line after a predetermined number of clock cycles and calculating associated first and second phase time delays respectively for first phase clock periods and second phase clock periods for each of said N+1 data lines and sampling future data streams on each of said N+1 data lines at sampling times based on said associated first and second phase delays during each said clock period. - View Dependent Claims (15, 16, 17, 18)
-
Specification