IP Library Granted Patent US 10,433,197
Granted Patent B2
US 10,433,197 · App. 15/655,781 · Granted Oct 1, 2019

Compensating for oscillator drift in wireless mesh networks

Inventors: Kamal Poorrezaei (San Jose, CA); Brandon Inberg (Belmont, CA)
Assignee: ITRON NETWORKED SOLUTIONS, INC.
H04W24/08H04L27/152H04W48/16H04W84/18
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,433,197
App. No.
15/655,781
Granted
Oct 1, 2019
Kind
B2
Abstract

A battery powered node within a wireless mesh network maintains a mapping between temperature and oscillator drift and compensates for oscillator drift based on this mapping. When the mapping includes insufficient data points to map the current temperature to an oscillator drift value, the battery powered node requests calibration packets from an adjacent upstream node in the network. The adjacent node transmits two calibration packets with a transmit time delta and also indicates this time delta in the first calibration packet. The battery powered node receives the two calibration packets and measures the receive time delta. The battery powered node compares the transmit time delta to the receive time delta to determine oscillator drift compared to an oscillator in the adjacent node. The battery powered node then updates the mapping based on the current temperature and determined oscillator drift.

Claims (48)

1. A computer-implemented method for compensating for oscillator drift, the method comprising:

obtaining a first drift measurement from an active frequency control (AFC) module, wherein the first drift measurement indicates a first amount of drift associated with a first oscillator;

determining that the first drift measurement is greater than a saturation boundary associated with the AFC module, wherein the AFC module does not compensate for drift exceeding the first saturation boundary; and

adjusting a high frequency output associated with the first oscillator to compensate for at least a portion of the first amount of drift.

2. The computer-implemented method of claim 1 , further comprising:

obtaining a second drift measurement from the AFC module, wherein the second drift measurement indicates a second amount of drift associated with the first oscillator;

determining that the second drift measurement is less than the first saturation boundary; and

ceasing to adjust the high frequency output of the first oscillator to allow the AFC to compensate for the second amount of drift.

3. The computer-implemented method of claim 1 , wherein the first saturation boundary is included in a first data set that comprises a mapping between ambient temperature and various amounts of drift associated with first oscillator.

4. The computer-implemented method of claim 3 , further comprising generating the first data set by:

obtaining a second drift measurement from the AFC module, wherein the second drift measurement indicates a second amount of drift associated with the first oscillator;

obtaining a first temperature measurement from a temperature sensor, wherein the first temperature measurement corresponds to the second drift measurement; and

updating the first data set to include a mapping between the first temperature measurement and the second drift measurement.

5. The computer-implemented method of claim 3 , further comprising extrapolating the first data set beyond the first saturation boundary to generate a first drift estimate, wherein the high frequency output associated with the first oscillator is adjusted based on the first drift estimate.

6. The computer-implemented method of claim 1 , wherein the first oscillator is coupled to a phase-locked loop (PLL) that generates the high frequency output, and wherein adjusting the high frequency output associated with the first oscillator comprises modifying the PLL or the first oscillator.

7. The computer-implemented method of claim 6 , wherein modifying the first oscillator comprises changing a capacitance value of a first capacitor associated with the first oscillator.

8. The computer-implemented method of claim 1 , wherein the first drift measurement further indicates the first amount of drift associated with the first oscillator relative to an oscillation frequency associated with a second oscillator, wherein the second oscillator resides in a first node that transmits a data signal to a second node that includes the first oscillator.

9. The computer-implemented method of claim 8 , wherein a frequency correlator included in the second node generates the first drift measurement based on a set of frequencies associated with the data signal, and the set of frequencies is generated based on a frequency-key shifting (FSK) communication protocol.

10. A node, comprising:

a memory storing a calibration application; and

a processor that, upon executing the calibration application, performs the steps of:

obtaining a first drift measurement from an active frequency control (AFC) module, wherein the first drift measurement indicates a first amount of drift associated with a first oscillator,

determining that the first drift measurement is greater than a saturation boundary associated with the AFC module, wherein the AFC module does not compensate for drift exceeding the first saturation boundary, and

adjusting a high frequency output associated with the first oscillator to compensate for at least a portion of the first amount of drift.

11. The node of claim 10 , wherein the processor further performs the steps of:

obtaining a second drift measurement from the AFC module, wherein the second drift measurement indicates a second amount of drift associated with the first oscillator;

determining that the second drift measurement is less than the first saturation boundary; and

ceasing to adjust the high frequency output of the first oscillator to allow the AFC to compensate for the second amount of drift.

12. The node of claim 10 , wherein the first saturation boundary is included in a first data set that comprises a mapping between ambient temperature and various amounts of drift associated with first oscillator.

13. The node of claim 12 , wherein the processor generates first data set by:

obtaining a second drift measurement from the AFC module, wherein the second drift measurement indicates a second amount of drift associated with the first oscillator;

obtaining a first temperature measurement from a temperature sensor, wherein the first temperature measurement corresponds to the second drift measurement; and

updating the first data set to include a mapping between the first temperature measurement and the second drift measurement.

14. The node of claim 12 , wherein the processor further performs the step of extrapolating the first data set beyond the first saturation boundary to generate a first drift estimate, wherein the high frequency output associated with the first oscillator is adjusted based on the first drift estimate.

15. The node of claim 10 , wherein the first oscillator is coupled to a phase-locked loop (PLL) that multiplies output of the first oscillator to generate the high frequency output, and wherein adjusting the high frequency output associated with the first oscillator comprises modifying the PLL.

16. The node of claim 15 , wherein the processor modifies the PLL by modifying a capacitor network coupled to the PLL.

17. The node of claim 10 , wherein the first drift measurement further indicates the first amount of drift associated with the first oscillator relative to an oscillation frequency associated with a second oscillator, wherein the second oscillator resides in an upstream node that transmits a data signal to the node.

18. The node of claim 17 , wherein a frequency correlator included in the node generates the first drift measurement based on a frequency pair via which the data signal is transmitted, wherein each frequency in the frequency pair indicates a different binary value associated with the data signal.

19. A system, comprising:

a first node that transmits a data signal; and

a second node that receives the data signal from the first node and performs the steps of:

obtaining a first drift measurement from an active frequency control (AFC) module, wherein the first drift measurement indicates a first amount of drift associated with a first oscillator;

determining that the first drift measurement is greater than a saturation boundary associated with the AFC module, wherein the AFC module does not compensate for drift exceeding the first saturation boundary; and

adjusting a high frequency output associated with the first oscillator to compensate for at least a portion of the first amount of drift.

20. The system of claim 19 , wherein the second node further performs the steps of:

obtaining a second drift measurement from the AFC module, wherein the second drift measurement indicates a second amount of drift associated with the first oscillator;

determining that the second drift measurement is less than the first saturation boundary; and

ceasing to adjust the high frequency output of the first oscillator to allow the AFC to compensate for the second amount of drift.

Assignments (4)
SECURITY INTEREST Recorded Nov 30, 2023
From: ITRON, INC.; ITRON NETWORKED SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 065727/0302 →
CHANGE OF NAME Recorded Feb 1, 2018
From: SILVER SPRING NETWORKS, INC.
To: ITRON NETWORKED SOLUTIONS, INC.
Reel/Frame 045221/0804 →
SECURITY INTEREST Recorded Jan 8, 2018
From: ITRON, INC.; ITRON NETWORKED SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 045017/0893 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2017
From: POORREZAEI, KAMAL; INBERG, BRANDON
To: SILVER SPRING NETWORKS, INC.
Reel/Frame 043059/0064 →