IP Library Granted Patent US 10,038,569
Granted Patent B2
US 10,038,569 · App. 15/083,578 · Granted Jul 31, 2018

Self-adapting baud rate

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,038,569
App. No.
15/083,578
Granted
Jul 31, 2018
Kind
B2
Abstract

In an example, there is disclosed an apparatus, having: a first network interface, having a first clock and a local communication driver to communicatively couple the first network interface to a second network interface having a second clock; and one or more logic elements, including at least one hardware logic element, providing a synchronization engine to: send a first plurality of data words from the first wireless interface to the second wireless interface via the local communication driver; receive back from the second wireless interface a second plurality of data words; assign a plurality of error rates to the data words of the second plurality of data words, the plurality of error rates indicating match or mismatch; identify a range of least error values within the plurality of error rates; and select an agreed baud rate from within the range.

Claims (65)

1. A computing apparatus, comprising:

a first network interface, comprising a first clock and a local communication driver to communicatively couple the first network interface to a second network interface having a second clock; and

one or more logic elements, including at least one hardware logic element, comprising a synchronization engine to:

send a first plurality of data words from the first network interface to the second network interface via the local communication driver, each data word of the first plurality of data words sent at a different baud rate;

receive back from the second network interface a second plurality of data words based on the first plurality of data words;

assign a plurality of error rates to the data words of the second plurality of data words, the plurality of error rates indicating match or mismatch between the data words of the first and second plurality of data words for each of the different baud rates;

identify a range of least error values within the plurality of error rates; and

select an agreed baud rate based on the range.

2. The computing apparatus of claim 1 , wherein the range is a range of contiguous zero error rates.

3. The computing apparatus of claim 2 , wherein the agreed baud rate is a mean of the range of contiguous zero error rates.

4. The computing apparatus of claim 2 , wherein the agreed baud rate is a median of the contiguous zero error rates.

5. The computing apparatus of claim 1 , wherein the first network interface and the second network interface are of a first species and a second species, respectively.

6. The computing apparatus of claim 1 , wherein sending the plurality of data words comprises sweeping a baud rate range.

7. The computing apparatus of claim 6 , wherein terminals of the baud rate range are selected according to a tolerance range of at least one of the first clock or the second clock.

8. The computing apparatus of claim 7 , wherein the tolerance range is the tolerance range of a most variable clock of the first and second clocks.

9. The computing apparatus of claim 6 , wherein sweeping the baud rate range comprises sweeping 2M/x steps, wherein M is a most variable baud rate of a tolerance of at least one of the first clock or the second clock, and x is a step size.

10. A method of providing a self-adapting baud rate between a first network interface and a second network interface, comprising:

sending a first plurality of data words from a first network interface to a second network interface via a local communication driver, each data word of the first plurality of data words sent at a different baud rate;

receiving back from the second network interface a second plurality of data words based on the first plurality of data words;

assigning a plurality of error rates to the data words of the second plurality of data words, the plurality of error rates indicating match or mismatch between the data words of the first and second plurality of data words for each of the different baud rates;

identifying a range of least error values within the plurality of error rates; and

selecting an agreed baud rate based on the range.

11. The method of claim 10 , wherein the range is a range of contiguous zero error rates.

12. The method of claim 11 , wherein the agreed baud rate is a mean of the range of contiguous zero error rates.

13. The method of claim 11 , wherein the agreed baud rate is a median of the contiguous zero error rates.

14. The method of claim 12 , wherein the first network interface and the second network interface are of a first species and second species respectively.

15. The method of claim 10 , wherein sending the plurality of data words comprises sweeping a baud rate range.

16. The method of claim 15 , wherein terminals of the baud rate range are selected according to a tolerance range of at least one of a first clock of the first network interface and a second clock of the second network interface.

17. The method of claim 16 , wherein the tolerance range is the tolerance range of a most variable clock of the first and second clocks.

18. The method of claim 15 , wherein sweeping the baud rate range comprises sweeping 2M/x steps, wherein M is a most variable baud rate of a tolerance of at least one of a first clock of the first network interface and a second clock of the second network interface, and x is a step size.

19. One or more tangible, non-transitory computer-readable storage mediums having stored thereon executable instructions to instruct a processor for providing a self-adapting baud rate between a first network interface and a second network interface, comprising:

sending a first plurality of data words from a first network interface to a second network interface via a local communication driver, each data word of the first plurality of data words sent at a different baud rate;

receiving back from the second network interface a second plurality of data words based on the first plurality of data words;

assigning a plurality of error rates to the data words of the second plurality of data words, the plurality of error rates indicating match or mismatch between the data words of the first and second plurality of data words for each of the different baud rates;

identifying a range of contiguous zero error values within the plurality of error rates; and

selecting an agreed baud rate based on the range.

20. The one or more tangible, non-transitory computer-readable mediums of claim 19 , wherein the agreed baud rate is a mean of the range of contiguous zero error rates.

21. The one or more tangible, non-transitory computer-readable mediums of claim 19 , wherein the agreed baud rate is a median of the contiguous zero error rates.

22. The one or more tangible, non-transitory computer-readable mediums of claim 19 , wherein the first network interface and the second network interface are of a first species and second species respectively.

23. The one or more tangible, non-transitory computer-readable mediums of claim 19 , wherein sending the plurality of data words comprises sweeping a baud rate range.

24. The one or more tangible, non-transitory computer-readable mediums of claim 23 , wherein terminals of the baud rate range are selected according to a tolerance range of at least one of a first clock of the first network interface and a second clock of the second network interface.

25. A method of providing a self-adapting baud rate between a first network interface of a first species and a second network interface of a second species, comprising:

sending a sequence of N data words from the first network interface to the second network interface via a local communication driver;

receiving an echo of the N data words via the local communication driver;

identifying a first error bit within the N data words, the first error bit being at a position n, wherein N is selected according to

=

ceil

(

0.5

e

target

l

word

)

,

wherein e target is a magnitude of a most variable tolerance, and l word is a length, in bits, of each data word;

computing an estimated error e; and

computing an agreed baud rate according to

e

=

0.5

n

.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2021
From: INTEL IP CORPORATION
To: INTEL CORPORATION
Reel/Frame 057186/0866 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2016
From: LIU, CHUNHUI; LI, CHENGZHOU; JECHOUX, BRUNO
To: INTEL IP CORPORATION
Reel/Frame 038443/0730 →