Timestamp-based timing recovery for cable modem media access controller
First Claim
1. A method for employing timestamps received by a media access controller of a cable modem from a cable modem termination system to schedule upstream transmissions of the cable modem, the method comprising the steps of:
- storing at least one timestamp and a corresponding count of a first local clock counter in a memory;
loading a first timestamp of said at least one timestamp in a second local clock counter;
computing a first and second adjustment values based on the at least one timestamp stored in the memory and outputs of the first and second local clock counters; and
adjusting the second local clock counter by the first and second adjustment values.
4 Assignments
0 Petitions
Accused Products
Abstract
A method for employing timestamps received by a media access controller (MAC) of a cable modem from a cable modem termination system (CMTS) to schedule upstream transmissions of the cable modem. A plurality of adjustment values, at least one of which is calculated using a least-square estimation algorithm, are used to adjust a local clock counter of the cable modem MAC. The local clock counter of the MAC is adjusted by one count for every number of cycles equal to a first adjustment value. The local clock counter of the MAC is further adjusted by a number of counts equal to a second adjustment value each time a corrected timestamp is calculated.
-
Citations
27 Claims
-
1. A method for employing timestamps received by a media access controller of a cable modem from a cable modem termination system to schedule upstream transmissions of the cable modem, the method comprising the steps of:
-
storing at least one timestamp and a corresponding count of a first local clock counter in a memory;
loading a first timestamp of said at least one timestamp in a second local clock counter;
computing a first and second adjustment values based on the at least one timestamp stored in the memory and outputs of the first and second local clock counters; and
adjusting the second local clock counter by the first and second adjustment values. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
computing a corrected timestamp advancement value;
computing a second local clock counter advancement value; and
computing a difference between the corrected timestamp advancement value and the second local clock counter advancement value.
-
-
7. The method of claim 6 wherein the corrected timestamp advancement value is a difference between a new corrected timestamp and a previous corrected timestamp, the new and previous corrected timestamps resulting from consecutive interrupt request signals.
-
8. The method of claim 6 wherein the second local clock counter advancement value is a difference between counts of the second local clock counter corresponding to consecutive interrupt request signals.
-
9. The method of claim 1 wherein the step of adjusting the second local clock counter comprises the step of adjusting the second local clock counter every number of cycles substantially equal to the first adjustment value.
-
10. The method of claim 9 wherein the step of adjusting the second local clock counter further comprises the step adjusting the second local clock counter each time a register containing the second adjustment value is reloaded.
-
11. The method of claim 9 wherein the second local clock counter is decremented by one count if the first adjustment value is a negative number.
-
12. The method of claim 9 wherein the second local clock counter is incremented by one count if the first adjustment value is a positive number.
-
13. The method of claim 1 wherein the second local clock counter is decremented by a number of counts substantially equal to the second adjustment value if the second adjustment value is a negative number.
-
14. The method of claim 1 wherein the second local clock counter is incremented by a number of counts substantially equal to the second adjustment value if the second adjustment value is a positive number.
-
15. The method of claim 1 wherein the first and second local clock counters have a higher bit resolution than the timestamps received by the media access controller.
-
16. The method of claim 15 wherein the first and second local clock counters are 34-bit counters.
-
17. A method for scheduling upstream transmissions of a cable modem by synchronizing the cable modem'"'"'s media access controller to timestamps periodically received from a cable modem termination system, the method comprising the steps of:
-
storing at least one timestamp and a corresponding count of a first local clock counter in a memory;
loading a first timestamp of said at least one timestamp in a second local clock counter;
repeating the storing step until an interrupt request signal is generated;
passing contents of the memory to a microprocessor;
computing a first adjustment value;
computing a corrected timestamp;
adjusting the second local clock counter by the first adjustment value;
computing a corrected timestamp advancement value;
computing a second local clock counter advancement value;
computing a second adjustment value; and
adjusting the second local clock counter by the second adjustment value. - View Dependent Claims (18, 19, 20, 21, 22, 25, 26, 27)
-
- 23. The method offal 22 wherein the second local clock counter is decremented by one count for every number of cycles substantially equal to the first adjustment value if the first adjustment value is a negative number.
Specification