IP Library › Granted Patent US 10,185,413
Granted Patent B2
US 10,185,413 · App. 15/676,620 · Granted Jan 22, 2019

Timing synchronization of active stylus and touch sensor

Inventors: Vemund Bakken (Menlo Park, CA); Eivind Holsen (Trondheim, NO)
Assignee: Wacom Co., Ltd.
G06F3/03545G06F3/044G06F3/0416G06F2203/04108
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,185,413
App. No.
15/676,620
Granted
Jan 22, 2019
Kind
B2
Abstract

In one embodiment, a computer-readable non-transitory storage medium embodies logic that is configured when executed to determine a first correlation between first consecutive edges of a synchronization signal and a pre-determined coefficient vector. The logic is further configured when executed to determine a second correlation between second consecutive edges of the synchronization signal and the pre-determined coefficient vector and synchronize one or more timings for communication between a stylus and a device based at least in part on the first and second correlations.

Claims (50)

1. A computer-readable non-transitory storage medium embodying logic that is configured when executed to:

determine, by a correlator, a first correlation between first consecutive edges of a synchronization signal and a pre-determined coefficient vector by comparing the first consecutive edges stored in storage registers at a first timing with the pre-determined coefficient vector defined by a code pattern of the synchronization signal;

determine, by the correlator, a second correlation between second consecutive edges of the synchronization signal and the pre-determined coefficient vector by comparing the second consecutive edges stored in the storage registers at a second timing after the first timing with the pre-determined coefficient vector defined by the code pattern of the synchronization signal;

generate a correlation output based on the determined first and second correlations;

determine that the correlation output passes a threshold; and

synchronize one or more timings for communication between a stylus and a device based at least in part on the first and second correlations and the determination that the correlation output passes the threshold.

2. The medium of claim 1 , wherein each edge of the first and second consecutive edges is a signal representing a rising edge, a falling edge, or no edge.

3. The medium of claim 1 , wherein the synchronization signal is transmitted from the device to the stylus.

4. The medium of claim 1 , wherein the logic is further configured when executed to send data to the device at a data rate that is based at least in part on a data rate of the synchronization signal and at a timing that is based at least in part on a timing of the synchronization signal.

5. The medium of claim 1 , wherein synchronizing the one or more timings comprises obtaining a lock on the one or more timings based at least in part on one or more of the first and second correlations that pass the threshold.

6. The medium of claim 5 , wherein the logic is further configured when executed to, if the first and second correlations pass the threshold, send data to the device at a data rate that is based at least in part on a time difference between the first and second correlations.

7. A method comprising:

feeding first consecutive edges of the synchronization signal into storage registers at a first timing;

feeding second consecutive edges of the synchronization signal into the storage registers at a second timing after the second timing;

determining a first correlation between the first consecutive edges of the synchronization signal and a pre-determined coefficient vector by comparing the first consecutive edges stored in the storage registers with the pre-determined coefficient vector defined by a code pattern of the synchronization signal;

determining a second correlation between the second consecutive edges of the synchronization signal and the pre-determined coefficient vector by comparing the second consecutive edges stored in the storage registers with the pre-determined coefficient vector defined by the code pattern of the synchronization signal;

generating a correlation output based on the determined first and second correlations;

determining that the correlation output passes a threshold; and

synchronizing one or more timings for communication between a stylus and a device based at least in part on the first and second correlations and the determination that the correlation output passes the threshold.

8. The method of claim 7 , wherein each edge of the first and second consecutive edges is a signal representing a rising edge, a falling edge, or no edge.

9. The method of claim 7 , wherein the synchronization signal is transmitted from the device to the stylus.

10. The method of claim 7 , further comprising sending data to the device at a data rate that is based at least in part on a data rate of the synchronization signal and at a timing that is based at least in part on a timing of the synchronization signal.

11. The method of claim 7 , wherein synchronizing the one or more timings comprises obtaining a lock on the one or more timings based at least in part on one or more of the first and second correlations that pass the threshold.

12. The method of claim 11 , further comprising, if the first and second correlations pass the threshold, sending data to the device at a data rate that is based at least in part on a time difference between the first and second correlations.

13. A stylus, comprising:

a controller, the controller being operable to receive a synchronization signal, wherein the synchronization signal is transmitted from a device and received by the stylus;

storage registers coupled to the controller;

a correlator coupled to the controller; and

a computer-readable non-transitory storage medium embodying logic that is configured when executed to:

determine, by the correlator, a first correlation between first consecutive edges of the synchronization signal and a pre-determined coefficient vector by comparing the first consecutive edges stored in the storage registers at a first timing with the pre-determined coefficient vector defined by a code pattern of the synchronization signal;

determine, by the correlator, a second correlation between second consecutive edges of the synchronization signal and the pre-determined coefficient vector by comparing the second consecutive edges stored in the storage registers at a second timing after the first timing with the pre-determined coefficient vector defined by the code pattern of the synchronization signal;

generate a correlation output based on the determined first and second correlations;

determine that the correlation output passes a threshold; and

synchronize one or more timings for communication between the stylus and a device based at least in part on the first and second correlations and the determination that the correlation output passes a threshold.

14. The stylus of claim 13 , wherein each edge of the first and second consecutive edges is a signal representing a rising edge, a falling edge, or no edge.

15. The stylus of claim 13 , wherein the logic is further configured when executed to send data to the device at a data rate that is based at least in part on a data rate of the synchronization signal and at a timing that is based at least in part on a timing of the synchronization signal.

16. The stylus of claim 13 , wherein synchronizing the one or more timings comprises obtaining a lock on the one or more timings based at least in part on one or more of the first and second correlations that pass the threshold.

17. The stylus of claim 16 , wherein the logic is further configured when executed to, if the first and second correlations pass the threshold, send data to the device at a data rate that is based at least in part on a time difference between the first and second correlations.

18. A stylus, comprising:

a controller, the controller being operable to receive a synchronization signal, wherein the synchronization signal is transmitted from a device and received by the stylus;

storage registers coupled to the controller;

a correlator coupled to the controller; and

a computer-readable non-transitory storage medium embodying logic that is configured when executed to:

determine, by the correlator, a first correlation between first consecutive edges of the synchronization signal and a pre-determined coefficient vector by comparing the first consecutive edges stored in the storage registers at a first timing with the pre-determined coefficient vector defined by a code pattern of the synchronization signal;

determine, by the correlator, a second correlation between second consecutive edges of the synchronization signal and the pre-determined coefficient vector by comparing the second consecutive edges stored in the storage registers at a second timing after the first timing with the pre-determined coefficient vector defined by the code pattern of the synchronization signal; and

synchronize one or more timings for communication between the stylus and a device based at least in part on the first and second correlations.

19. The stylus of claim 18 , wherein each edge of the first and second consecutive edges is a signal representing a rising edge, a falling edge, or no edge.

20. The stylus of claim 18 , wherein the logic is further configured when executed to send data to the device at a data rate that is based at least in part on a data rate of the synchronization signal and at a timing that is based at least in part on a timing of the synchronization signal.

21. The stylus of claim 18 , wherein synchronizing the one or more timings comprises obtaining a lock on the one or more timings based at least in part on one or more of the first and second correlations that pass a threshold.

22. The stylus of claim 21 , wherein the logic is further configured when executed to, if the first and second correlations pass the threshold, send data to the device at a data rate that is based at least in part on a time difference between the first and second correlations.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2018
From: ATMEL CORPORATION
To: WACOM CO., LTD.
Reel/Frame 047640/0227 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENT RIGHTS Recorded Sep 27, 2018
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 047158/0958 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENT RIGHTS Recorded Sep 27, 2018
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 047159/0792 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2017
From: BAKKEN, VEMUND; HOLSEN, EIVIND
To: ATMEL CORPORATION
Reel/Frame 043286/0526 →
Continuity (2)
Continuation 14275462 · May 12, 2014
Related Publication 20170344139A1 · Nov 30, 2017