IP Library Granted Patent US 7,930,127
Granted Patent B2
US 7,930,127 · App. 12/269,018 · Granted Apr 19, 2011

Oscillator prescale calibration for harmonizing multiple devices with independent oscillators over an I

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 7,930,127
App. No.
12/269,018
Granted
Apr 19, 2011
Kind
B2
Abstract

A system and method for synchronizing otherwise independent oscillators private to I 2 C Bus slave devices. An I 2 C Bus master device is capable of issuing two new general call commands, MEASURE PULSE and RESET PRESCALE. The I 2 C Bus slave devices respond to the MEASURE PULSE command by returning a digital count related to the number of ticks its local, private oscillator cycles through during a signal pulse on the I 2 C Bus. All such I 2 C Bus slave devices measure the same signal pulse on the I 2 C Bus, so the differences in the digital measurements returned during the MEASURE PULSE command are proportional to their respective oscillator frequencies. The various digital measurements returned are used to calculate appropriate oscillator prescale factors that will harmonize the final product frequencies of all of the local oscillators on all of the I 2 C Bus slave devices in the system.

Claims (58)

1. A method for harmonizing after-prescaled oscillator frequencies of a plurality of I 2 C Bus slave devices, comprising:

measuring a raw operating frequency of each oscillator on an I 2 C Bus slave device in terms of a measurement window period provided by a serial data line and a serial clock line included in a I 2 C Bus;

calculating a prescale factor using the raw operating frequency obtained in the step of measuring; and

loading said prescale factor into a corresponding programmable prescale divider associated with an oscillator providing said raw operating frequency;

wherein, the measuring, calculating, and loading when conducted for a plurality of slave devices on said I 2 C Bus results in a harmonization of the respective output frequencies of a respective programmable prescale divider.

2. The method of claim 1 , further comprising:

sending a MEASURE PULSE general call command over said I 2 C Bus from a master device to each said slave device to trigger the step of measuring.

3. The method of claim 1 , further comprising:

receiving said measurement over said I 2 C Bus into a master device that executes the step of calculating.

4. The method of claim 1 , further comprising:

sending a RESET PRESCALE general call command over said I 2 C Bus from a master device to each said slave device to initiate the step of loading.

5. The method of claim 1 , further comprising:

sending a MEASURE PULSE general call command over said I 2 C Bus from a master device to each said slave device to trigger the step of measuring;

receiving said measurement over said I 2 C Bus into a master device that executes the step of calculating; and

sending a RESET PRESCALE general call command over said I 2 C Bus from a master device to each said slave device to initiate the step of loading.

6. An I 2 C Bus device, comprising:

a master device controller for issuing two general call commands, MEASURE PULSE and RESET PRESCALE onto an I 2 C Bus;

a computer for calculating an oscillator prescale factor for a slave device from a pulse measurement obtained in response to said MEASURE PULSE command; and

a transmitter for sending said oscillator prescale factor to said slave device using said RESET PRESCALE command.

7. The I 2 C Bus device of claim 6 , further comprising:

an initial calibration trigger providing for a first issuance of said MEASURE PULSE command and RESET PRESCALE command.

8. The I 2 C Bus device of claim 6 , further comprising:

a periodic calibration trigger providing for a periodic issuance of said MEASURE PULSE command and RESET PRESCALE command.

9. The I 2 C Bus device of claim 6 , further comprising:

a slave device controller for responding to two said general call commands, MEASURE PULSE and RESET PRESCALE, over said I 2 C Bus;

a measurement circuit for taking a measurement of the operating frequency of an oscillator private to the slave device with reference to a serial data line and a serial clock line of said I 2 C Bus; and

a programmable prescaler for accepting said oscillator prescale factor and loading said oscillator prescale factor in a prescale register;

wherein, appropriate oscillator prescale factors when provided to each slave device in a group resident on said I 2 C Bus will harmonize the after-prescaled frequencies of all of the local oscillators on the slave devices in the group.

10. The I 2 C Bus device of claim 9 , further comprising:

a means for calculating a new oscillator prescale factor for said particular slave device from a pulse measurement obtained in response to said MEASURE PULSE command.

11. The I 2 C Bus device of claim 9 , further comprising:

an oscillator private to the slave device, with a raw frequency output that can be sampled by the measurement circuit, and for feeding the programmable prescaler.

12. The I 2 C Bus device of claim 11 , further comprising:

a programmable divider with an input connected to receive a normalized frequency from the programmable prescaler, and having an output signal whose frequency or pulse width can be programmed by an application program.

13. An I 2 C Bus master device, comprising:

a processor;

a memory for storing executable instructions comprising:

a MEASURE PULSE command generated by an I 2 C Bus master device, said MEASURE PULSE command, when executed, provoking an I 2 C Bus slave device to sample a raw frequency output of an on-board oscillator of said I 2 C Bus slave device, and to return a measurement of the raw frequency output over the I 2 C Bus.

14. The I 2 C Bus master device of claim 13 , further comprising:

a process stored in the memory, said process, when executed, calculating an appropriate oscillator prescale factor for said slave device.

15. The I 2 C Bus master device of claim 13 , further comprising:

a RESET PRESCALE command, said RESET PRESCALE command when executed, restarting a programmable prescaler to an on-board oscillator, and loading an appropriate prescale factor in a register of said programmable prescaler;

wherein appropriate oscillator prescale factors when provided to each slave device in a group resident on said I 2 C Bus will harmonize the after-prescaled frequencies of all of local oscillators on the slave devices in the group.

16. The I 2 C Bus master device of claim 15 , further comprising:

a periodic calibration trigger, when executed, providing for a periodic issuance of said MEASURE PULSE command and RESET PRESCALE command to restart said programmable prescaler.

17. An I 2 C Bus system, comprising:

a processor;

a memory for storing executable instructions comprising:

a MEASURE PULSE command generated by an I 2 C Bus master device, said MEASURE PULSE command, when executed, provoking an I 2 C Bus slave device to sample a raw frequency output of an on-board oscillator of said I 2 C Bus slave device, and to return a measurement over the I 2 C Bus,

a process, said process, when executed, calculating an appropriate oscillator prescale factor for said slave device, and

a RESET PRESCALE command, said RESET PRESCALE command, when executed, restarting a programmable prescaler to said on-board oscillator, and loading an appropriate prescale factor in a register of said programmable prescaler;

a master device controller for issuing the two general call commands, MEASURE PULSE and RESET PRESCALE onto an I 2 C Bus, and including a computer for calculating a new oscillator prescale factor for said slave device from a pulse measurement obtained in response to said MEASURE PULSE command, and including a transmitter for sending oscillator prescale factors to said slave device using said RESET PRESCALE command; and

a slave device controller for responding to said two general call commands, MEASURE PULSE and RESET PRESCALE, over said I 2 C Bus, and including a measurement circuit for taking a measurement of the operating frequency of said on-board oscillator with reference to an SDA data line and an SCL clock line of said I 2 C Bus, and including said programmable prescaler for holding said new oscillator prescale factor and loading said oscillator prescale factor in a prescale register.

18. The system of claim 17 , wherein appropriate oscillator prescale factors can be provided to each I 2 C Bus slave device to harmonize the final output frequencies of all on-board oscillators on corresponding said slave devices in the system.

19. The system of claim 17 , further comprising:

a plurality of LEDs that are individually and independently driven by particular ones of said slave devices, and that can be controlled on-off or dimmed in unison.

20. The system of claim 17 , further comprising:

a periodic calibration trigger providing for a periodic issuance of said MEASURE PULSE command and RESET PRESCALE command to restart said programmable prescaler.

Assignments (13)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
PATENT RELEASE Recorded Aug 17, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 039707/0471 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2014
From: PARTNERS FOR CORPORATE RESEARCH INTERNATIONAL
To: FUTURE LINK SYSTEMS
Reel/Frame 032399/0965 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2013
From: NXP B. V.
To: PARTNERS FOR CORPORATE RESEARCH INTERNATIONAL
Reel/Frame 031334/0449 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2008
From: LORY, JAY RICHARD; ANDERSON, ALMA STEPHENSON
To: NXP B.V.
Reel/Frame 021819/0177 →