Patent ID: 7142621

Claim:
A data recovery circuit for generating a recovered datum from a serial data stream of bits having at least one transition between a high bit level and a low bit level, the circuit comprising: a communication link provided with a data input for receiving the serial data stream transmitted at a specified data rate; a multiphase clock for generating a multiphase clock signal having a period T and n clock phases wherein sequential ones of said clock phases are out of phase by T/n; an over sampling circuit coupled to said communication link and said multiphase clock, said over sampling circuit for generating a set of over sampled signals sampled from the serial data stream at each of said n clock phases; a transition detection circuit coupled to said multiphase clock and to said over sampling circuit, said transition detection circuit configured for detection of a transition position of said at least one transition and generation of a select signal having a select position at a determined delay with respect to said transition position, wherein said determined delay corresponds to one of said over sampled signals at about the centre of the bit associated with said at least one transition; and a sample selection/data alignment circuit coupled to said multiphase clock, to said transition detection circuit and to said over sampling circuit, said sample selection/data alignment circuit configured for generation of a recovered data signal based upon the over sampled signal at said select position and having a recovered transition position aligned with a predefined one of said n clock phases, wherein said detection of said transition position at time i is based on three comparisons performed on the sampled signals S i−2 , S i−1, S i+1 and S 1+2 , obtained at times (i−2), (i−1), (i+1) and (i+2), respectively, according to the following rules: S i−2 =S i−1 (1) S i−1 ≠S i+1 (2) S i+1 =S i+2 (3) so that, if said rules (1)–(3) are satisfied, then a transition detection has occurred at time/position (i).