The invention relates to data transmission, and, more specifically, to skew between differential transmission lines, which may be shielded or unshielded.
Differential transmission lines are used in high-speed data communication in order to reduce the effect of electrical interference on the signal. A differential transmission line usually consists of a pair of wires, one positive and one negative. Ideally the signal propagation in the positive and negative wires is the same with respect to the shield or ground. This results in a signal pulse that has a minimum dispersion (growth in width).
Thus, there is a need for differential pair signal de-skewing in data communication systems.
This document describes a method and apparatus to remove skew from a signal with one or more delay blocks.
Cables that are used for differential data communication, both shielded and unshielded, may have differences in the positive and negative wires that cause skew between the positive and negative signals. As discussed above, this type of skew is undesirable for reliable high speed communication. By introducing actively controlled delay elements to the differential receiver, the skew can be reduced or eliminated before a signal is converted to data, thereby maximizing the signal integrity of the system. This novel approach treats the positive and negative signals as two different entities, instead of a single lumped differential signal.
Shielded cable usually provide a grounding sheath that provides a voltage reference for the positive and negative signals. Unshielded cables do not provide the sheath and rely on the earth ground for the voltage reference. For the purposes of this application, it may be advantageous to consider skew as relative to a triggering clock edge at the signal source transceiver.
The slicer 412 as shown has two output levels. For systems that use pulse amplitude modulation (PAM) to carry more bits of data per pulse, an analog to digital (A/D) converter may be used in place of the slicer 412. An A/D converter may be constructed using a slicer for each level of PAM in the differential signal. The slicer 412 may need a D/A converter to send an analog representation of the data stream to the error subtracter 414.
For a simple example of the slicer 412 operation, consider the following. If a system has two level PAM at 0 and 1 V and the output of the subtracter 410 is 1 V, then the error is 0 V. If, on the other hand, the output of the subtracter 410 is 0.9 V, then the error is 0.1 V. In the second case, the delay control block 416 would alter the delay coefficients of the delay blocks 406, 408 in such a way as to minimize the delay. The delay control block 416 may use an integrator to determine appropriate coefficients for the delay blocks 406, 408. Iterative algorithms for determining appropriate coefficients are well known (Adaptive Signal Processing by Bernard Widrow and Samuel Stearns, Prentice-Hall, New Jersey, 1985 pages 99–114).
A raw signal 602 enters the delay block 606 and goes into the first delay cell 608. The first delay cell delays the signal propagation by a certain amount, which may also be zero. The signal may propagate through each successive delay cell 608 before heading to the summer 610. The summer 610 adds the partial signals from all of the delay cells 608 to create the delayed signal 604. Each delay cell has an associated coefficient. For example, the first delay cell 608, delay cell zero, has a coefficient of A(0). The next delay cell has a coefficient of A(1), etc. The coefficients range between 0 and 1. The coefficients may be digital or analog. If they are digital, their values are converted to analog before being multiplied by the cell delay value.
Each delay cell 608 has an associated cell delay value between 0 and _baud. Cell delay values may be different for each cell. For example, consider the case where each delay cell 608 has an ever decreasing cell delay value: delay(0)=_baud, delay(1)=_baud, delay (2)=⅛ baud, etc. The cell delay value is multiplied by the corresponding coefficient. The result is summed at the summer 610 with all of the other multiplied results. The output of the summer is the delayed signal 604. Ideally, the sum of all of the coefficients equals 1.
The true delay should be determined by simulation. High precision systems would need finer delay control, therefore less than _baud delay. The true range/resolution of the delay block 606 may depend on: (1) system required precision (this would be determined by simulations optimizing BER vs. delay_cell delay, which may be part of the process of implementation), and (2) length of cable (longer cables generally give more skew and would require more delay cells). The fact that both the positive and negative signals are delayed is advantageous since only half of the total delay is needed on either side (worst case is minimum delay on+ and max on−, or vise versa).
The delay control block 416 stores and uses delay coefficients to control the propagation delay of each delay cell 608. Thus, for m+1 delay blocks, coefficients A(0), A(1), A(2), . . . , A(m) are used. The corresponding z-transform is f(A(0)+A(1)z−1+A(2)z−2+ . . . +A(m)z−mthe differential output of the subtracter 410 would be fpositive−fnegative.
The delay coefficients are updated by the delay control block 416 relative to the system clock. The coefficients may be updated every clock cycle or every n clock cycles, where n is an integer. The number of delay cells necessary for a given system depends on the range and resolution of the desired added delay. The delay introduced by all of the delay cells 408 in a delay block 606 should be greater than the worst cast delay that may be required. Use of a system simulator will aid the designer in determining the appropriate number of delay cells 408.
The amount of delay that each delay cell 408 may relative to a fixed value or not, depending on the desired outcome. For example, a delay tied to the system clock, a flip flop, or a given delay may be considered to be based on a fixed delay. A delay tied to an analog delay that varies with respect to current, for example, may be considered to be based on a variable delay.
This application claims priority under 35 U.S.C. §119(e) to provisional application No. 60/507,606 filed on Sep. 30, 2003 titled “Adaptive Per-Pair Skew Compensation Method for Extended Reach Differential Transmission.”
Number | Name | Date | Kind |
---|---|---|---|
3869670 | Grutzmann et al. | Mar 1975 | A |
6127871 | Moll | Oct 2000 | A |
6167077 | Ducaroir et al. | Dec 2000 | A |
6788754 | Liepe | Sep 2004 | B1 |
6900685 | Silvestri | May 2005 | B1 |
20020191719 | Hasako et al. | Dec 2002 | A1 |
20040064765 | Panis, Michael C. | Apr 2004 | A1 |
Number | Date | Country |
---|---|---|
WO 02101931 | Dec 2002 | WO |
Number | Date | Country | |
---|---|---|---|
20050099216 A1 | May 2005 | US |
Number | Date | Country | |
---|---|---|---|
60507606 | Sep 2003 | US |