1. Field of the Invention
The present invention relates to a timing error correction system and corresponding method, more particularly, to an error correction system and method for the timing of the transmitter in the high-speed serial data transmission system.
2. Description of Related Arts
In the high-speed serial data transmission system, very often, the transmitting end serializes parallel data at half a clock speed; namely, the clock cycle is half a data bit width. During serializing parallel data, due to the increasing data rate, the timing is very likely to get wrong; especially, when the technique, power supply, temperature or other factors changes, the timing issue becomes more troublesome.
During the serialization process, the delay skew of a synchronous clock and data in their respective path will not make the timing of the clock and the data meet the requirements of data serialization, and eventually cause the serialized data to jitter greatly, and even lead to erroneous data bit.
It is an objective of the present invention to provide a timing error correction system of the transmitting end of a high-speed serial data transmission system, which can automatically detect the timing of data serialization and correct timing skew.
According to the present invention, the correction system for timing error comprises a data path for receiving parallel data, an adjustable delay clock path for receiving a clock signal, a serialization unit connected with the data path and the adjustable delay clock path for converting the parallel data into serial data, a driver unit for converting the serial data into a current or voltage signal and outputting the current or voltage, and a counting judging unit for counting the number of the rising edges or falling edges of the serial data, and sending an adjustment signal for adjusting the time delay of the clock signal to the adjustable delay clock path, so as to control the timing of the serialization unit and accordingly to make the number of the rising edges or falling edges of the serial data be equal to a predefined desired number.
By making the number of the rising edges or falling edges of the serial data be equal to the desire number, the timing of the serialization unit can come to the optimum value.
It is the other objective of the present invention to provide a timing error correction method of the transmitter in a high-speed serial data transmission system.
The method comprises:
Inputting a predefined parallel data training sequence and a clock signal;
Converting the parallel data training sequence into serial data;
Counting the number of the rising edges or falling edges of the serial data within a certain period;
Sending an adjustment signal for adjusting the time delay of the clock signal;
Making the number of the rising edges or falling edges of the serial data be equal to a predefined correct number to obtain desired serialization timing;
The transmitting end of the serial data transmission system starts to transmit subsequent normal data.
Various implementations may include one or more of the following advantages. Compared to the existing technologies, by using the training sequence in the serialization process, the present invention can detect the serialization timing, adjust the timing to get optimum timing, and only after having adjusted the timing start the serialization and sending of normal data; therefore, it effectively solves the timing issue in the serialization.
These and other objectives, features and advantages of the present invention, will become apparent from the following detailed description, the accompanying drawings, and the appended claims.
Referring to
Before sending a desired data, a predefined parallel data training sequence is sent first to the data path in order to test and adjust the timing of the serialization unit. The serialization unit will convert the training sequence into a serial data and outputs it to the driver unit and counting judging unit.
Since the training sequence and the transmission time are defined by users in advance, the number of the rising or falling edge of such training sequence within a certain period is a fixed value. The counting judging unit can figure out the number of the rising edges or falling edges in the serial data within a certain time and do a delayed scan to the adjustable delay clock path by sending an adjustment signal; namely, control the amount of the time delay with the order from big to small, or from small to big. When the time delay of the clock signal, relative to the data, gets less, it shows that the sampling time of the clock signal is advanced; as a result, the timing goes wrong, specifically, the number of the rising edges or falling edges of the serial data outputted from the serialization unit gets more. When the time delay of the clock signal, relative to the data, gets bigger, it shows that the sampling time of the clock signal lags; as a result, the timing goes wrong, and the number of the rising edges or falling edges of the serial data outputted from the serialization unit gets more. Because the probability of the advance and lag of the sampling time of the clock signal is the same, after finding the time when the two statuses mentioned above both occur as doing delayed scan, an optimum timing can be obtained through making the adjustment signal be in the middle status of the two statuses by the counting judging unit. The timing at this moment is the optimum sampling timing; the number of the rising edges or falling edges of the serial data is the same as the predefined correct number.
Referring to
1. Input a parallel data training sequence set in advance through the data path and input a clock signal through the adjustable delay clock path.
2. Convert the parallel data training sequence into serial data through the serialization unit.
3. The counting judging unit figures out the number of the rising edges or falling edges of the serial data within a set time and sends an adjustment signal to the adjustable delay clock path to control the time delay of the clock signal.
4. The counting judging unit controls the time delay of the clock signal by the rule of from big to small or from small to big through the adjustment signal. When the time delay of the clock signal, relative to the data, gets less, it shows that the sampling time of the clock signal is advanced; as a result, the timing goes wrong, specifically, the number of the rising edges or falling edges of the serial data outputted from the serialization unit gets more. When the time delay of the clock signal, relative to the data, gets bigger, it shows that the sampling time of the clock signal lags; as a result, the timing goes wrong, and the number of the rising edges or falling edges of the serial data outputted from the serialization unit gets more. Because the probability of advance and lag of the sampling time of the clock signal is the same, after finding the time when the two statuses mentioned above both occur when doing delayed scan, an optimum timing can be obtained through making the adjustment signal be in the middle status of the two statuses by the counting judging unit. The timing at this moment is the optimum sampling timing; the number of the rising edges or falling edges of the serial data is the same as the predefined correct number.
5. A normal parallel data is inputted to the data path, is converted through the serialization unit into serial data, and is converted through the driver unit into a current or voltage signal.
6. The transmitting end of the transmission system continues the transmission of normal data.
Referring to
First, send a 2-bit parallel data training sequence; one is the first parallel data “***01010101***” and the other is the second parallel data “***00000000***”. When the clock signal is a high level, the first parallel data is chose, while the clock signal is a low level, the second parallel data is chose.
Referring to
However, due to the variation of the process, power supply, temperature and other factors, the timing of an actual circuit might not be the same as it was expected. The time delay on the clock path might be longer or shorter, and eventually causes a timing error. In this embodiment, when the time delay gets longer, which means the clock lags, as shown in
To fix the problem, the counting judging unit will send an adjustment signal to control the time delay of the adjustable delay clock path; namely, to control the time delay by the rule of from big to small or oppositely. When the time delay of the clock signal, relative to the data, becomes less, it shows that the sampling time of the clock signal is advanced; as a result, the timing goes wrong, specifically, the number of the rising edges or falling edges of the serial data outputted from the serialization unit gets more. When the time delay of the clock signal, relative to the data, becomes more, it shows that the sampling time of the clock signal lags; as a result, the timing goes wrong, and the number of the rising edges or falling edges of the serial data outputted from the serialization unit gets more. Because the probability of advance and lag of the sampling time of the clock signal is the same, after finding the time when the two statuses mentioned above both occur when doing delayed scan, an optimum timing can be obtained through making the adjustment signal be in the middle status of the two statuses by the counting judging unit. The timing at this moment is the optimum sampling timing; the number of the rising edges or falling edges of the serial data is the same as the predefined correct number.
Once the timing of the serialization unit has been successfully adjusted to a correct status through the 2-bit parallel data training sequence, the subsequent normal parallel data can be inputted to be serialized and transmitted.
The present invention utilizes a training sequence to detect and adjust the serialization timing, thereby obtaining desired serialization timing. The normal data will not be serialized and transmitted, until the adjustment of the timing in virtue of the training sequence has been finished.
One skilled in the art will understand that the embodiments of the present invention as shown in the drawings and described above are exemplary only and not intended to be limiting.
It will thus be seen that the objects of the present invention have been fully and effectively accomplished. Its embodiments have been shown and described for the purpose of illustrating the functional and structural principles of the present invention and is subject to change without departure from such principles. Therefore, this invention includes all modifications encompassed within the spirit and scope of the following claims.
Number | Date | Country | Kind |
---|---|---|---|
201010288369.9 | Sep 2010 | CN | national |