IP Library Granted Patent US 9,377,909
Granted Patent B2
US 9,377,909 · App. 14/018,596 · Granted Jun 28, 2016

Touchscreen data processing

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 9,377,909
App. No.
14/018,596
Granted
Jun 28, 2016
Kind
B2
Abstract

Capacitive touch sensors and touchscreen data processing methods are provided. In one embodiment, the method includes sequentially integrating and converting charge from each of a plurality of sensing capacitors in an array to digital data, the digital data including sample values corresponding to a measured capacitance for each of the plurality of sensing capacitors. Noise is then separated from useful information by filtering the sample values on a sample-by-sample basis. Finally, the filtered sample values are summed and a position of at least one contact on the array determined using the filtered capacitance values. Other embodiments are also provided.

Claims (33)

1. A method comprising:

sequentially integrating and converting charge from each of a plurality of sensing capacitors in an array to generate digital data, the digital data including sample values corresponding to a respective measured capacitance for each of the plurality of sensing capacitors;

forming a sliding window of the digital sample values using a sample aperture of size W, wherein W is an integer greater than 2, wherein a position of each sample value within the sliding window is based on a sequence in which it was generated, and wherein border values are mirrored to enable the sliding window to include W samples for each position of the sliding window;

for each respective position of the sliding window:

sorting the respective sample values in the sliding window;

multiplying each sorted sample value in the sliding window by a respective predetermined weight value based on a respective sort position of the sample valued within the sliding window, wherein the weights include a plurality of non-zero values; and

summing products of the multiplied sample values, and outputting the sum as a filtered sample value for the respective position of the sliding window;

summing a plurality of the filtered sample values to form an accumulated sample value; and

using the accumulated sample value to determined a position of at least one contact on the touch sensor array.

2. The method of claim 1 , further comprising applying an amplitude filter configured to limit amplitude of each of the digital sample values.

3. The method of claim 2 , wherein the amplitude filter is configured to replace digital sample values having a value greater than an upper limit value or less than a lower limit value.

4. The method of claim 3 , wherein the amplitude filter is configured to replace digital sample values having a value greater than the upper limit value with the upper limit value, and to replace digital sample values having a value less than the lower limit value with the lower limit value.

5. The method of claim 3 , wherein the amplitude filter is configured to replace digital sample values having a value greater than the upper limit value with the digital sample value of a last preceding sample having a digital sample value lower than the upper limit value, and to replace digital sample values having a value less than the lower limit value with the digital sample value of a last preceding sample having a digital sample value greater than the lower limit value.

6. The method of claim 2 , wherein the amplitude filter is configured to reject digital sample values having a value greater than an upper limit value or less than a lower limit value.

7. The method of claim 6 , wherein the amplitude filter is further configured to replace digital sample values having a value greater than an upper limit value or less than a lower limit value when a first number (N) of digital sample values have been rejected within second a number (M) of the digital sample values.

8. A system comprising:

an analog front end configured to sequentially integrate and convert charge from each of a plurality of sensing capacitors of a touch sensor array to digital data; and

a channel engine to receive digital data from the analog front end and generate of sample values corresponding to a measured capacitance for the plurality of sensing capacitors, the channel engine including:

a sorting filter with weights (SFW) including a sliding window having a sample aperture of size (W), wherein W is an integer greater than 2, wherein a position of each sample value within the sliding window is based on a sequence in which it was generated, and wherein border values are mirrored to enable the sliding window to include W samples for each position of the sliding window, the SFW configured to:

for each respective position of the sliding window:

sorting the respective sample values in the sliding window;

multiply each sorted sample value in the sliding window by a respective predetermined weight value based on a respective sort position of the sample value within the sliding window, wherein the weights include a plurality a non-zero values; and

sum products of the multiplied sample values, and output the sum as a filtered sample value for the respective position of the sliding window; and

a digital section configured to:

sum a plurality of the filtered sample values to form an accumulated sample value; and

use the accumulated sample value to determined a position of at least one contact on the touch sensor array.

9. The system of 8 , further comprising an amplitude filter configured to limit amplitude of each of the digital sample values.

10. The system of claim 8 , wherein the channel engine further comprises a hardware accelerator configured to store a subset of measured capacitance values, the subset of measured capacitance values comprising at least the capacitance values used for determination of a node as a local maximum.

11. The system of claim 9 , wherein the amplitude filter is configured to replace digital sample values having a value greater than an upper limit value or less than a lower limit value.

12. The system of claim 11 , wherein the amplitude filter is configured to replace digital sample values having a value greater than the upper limit value with the upper limit value, and to replace digital sample values having a value less than the lower limit value with the lower limit value.

13. The system of claim 11 , wherein the amplitude filter is configured to replace digital sample values having a value greater than the upper limit value with the digital sample value of a last preceding sample having a digital sample value lower than the upper limit value, and to replace digital sample values having a value less than the lower limit value with the digital sample value of a last preceding sample having a digital sample value greater than the lower limit value.

14. The system of claim 9 , wherein the amplitude filter is configured to reject digital sample values having a value greater than an upper limit value or less than a lower limit value.

15. The system of claim 14 , wherein the amplitude filter is further configured to replace sample digital values having a value greater than an upper limit value or less than a lower limit value when a first number (N) of digital sample values have been rejected within a second number (M) of the digital sample values.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE 8647899 PREVIOUSLY RECORDED ON REEL 035240 FRAME 0429. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTERST. Recorded Nov 3, 2020
From: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 058002/0470 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2015
From: CYPRESS SEMICONDUCTOR CORPORATION
To: PARADE TECHNOLOGIES, LTD.
Reel/Frame 036508/0284 →
PARTIAL RELEASE OF SECURITY INTEREST IN PATENTS AND TRADEMARKS Recorded Aug 4, 2015
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT FOR THE SECURED PARTIES
To: CYPRESS SEMICONDUCTOR CORPORATION
Reel/Frame 036264/0114 →
SECURITY INTEREST Recorded Mar 21, 2015
From: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 035240/0429 →
PATENT SECURITY AGREEMENT Recorded Nov 14, 2013
From: CYPRESS SEMICONDUCTOR CORPORATION
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 031636/0105 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2013
From: KARPIN, OLEKSANDR; KOLYCH, IGOR; MAHARYTA, ANDRIY; MUSIJCHUK, LHOR; KREMIN, VICTOR; VAN DE WAERDT, JAN-WILLEM
To: CYPRESS SEMICONDUCTOR CORPORATION
Reel/Frame 031141/0857 →