Patent ID: 7702058

Claim:
A method for data recovery, the method comprises the steps of: a) receiving a stream of biphase encoded data, wherein the stream of biphase encoded data includes a plurality of frames; b) determining whether a next transition of a frame of the plurality of frames occurs during a first, second, or third time window after a preceding transition of the frame by: counting a number of clock cycles of an output of a phase locked loop that occur between the preceding transition and the next transition; determining that the next transition occurs during the first time window when the number of clock cycles is in a first range of clock cycles; determining that the next transition occurs during the second time window when the number of clock cycles is in a second range of clock cycles; and determining that the next transition occurs during the third time window when the number of clock cycles is in a third range of clock cycles; c) synchronizing to a data rate of the stream of biphase encoded data based on the next transition and the preceding transition when the next transition occurs during the second time window; d) synchronizing to the data rate of the stream of biphase encoded data based on the preceding transition and a subsequent transition when the next transition occurred during the first or the third time window; e) adjusting a dynamic divider based on the data rate and an output of a phase locked loop to produce a divided value, wherein the adjusting the dynamic divider further comprises: determining a current count based on a number of clock cycles of the output of the phase locked loop that occur during a frame of the stream of biphase encoded data; comparing the current count with a stored minimum count; and decrementing the stored minimum count when the current count compares unfavorably to the stored minimum count; and f) generating a recovered data clock signal based on the output of the phased locked loop and the divided value.