`
`(12) United States Patent
`Kremin et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 8,692,795 B1
`Apr. 8, 2014
`
`(54) CONTACT IDENTIFICATION AND
`TRACKING ON A CAPACITANCE SENSING
`ARRAY
`
`(58) Field of Classification Search
`USPC .................................................. 34.5/173 178
`See application file for complete search history.
`
`(75) Inventors: Victor Kremin, Lviv (UA); Volodymyr
`Hutnyk, Lviv (UA); Vasyl Mandziy,
`Shchyrec Vil. (UA)
`(73) Assignee: Cypress Semiconductor Corporation,
`San Jose, CA (US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`Appl. No.: 13/217,147
`Filed:
`Aug. 24, 2011
`
`(*) Notice:
`
`(21)
`(22)
`
`(60)
`
`(51)
`
`(52)
`
`Related U.S. Application Data
`Provisional application No. 61/376,656, filed on Aug.
`24, 2010.
`
`Int. C.
`G06F 3/045
`G06F 3/042
`U.S. C.
`USPC ........................................... 345/174; 34.5/173
`
`(2006.01)
`(2006.01)
`
`Touch-Sensing
`Surface
`? 116
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`2008/0309629 A1* 12/2008 Westerman et al. .......... 345,173
`2010/02595.04 A1* 10/2010 Doi et al. ...................... 345,174
`2010/0321328 A1* 12/2010 Chang et al. .......
`... 345,174
`2012/0013546 A1
`1/2012 Westhues et al. ............. 345,173
`* cited by examiner
`
`Primary Examiner — Alexander Eisen
`Assistant Examiner — Amit Chatly
`
`(57)
`ABSTRACT
`A technique for providing reliable position calculations for
`conductive inputs at the edges of a touch-sensitive array is
`disclosed. A matrix of sensors is completed using virtual
`sensors or nodes, allowing for a closer approximation of
`position of a conductive object. The matrix may be defined by
`a centerpoint or sensor and a number of Surrounding nodes or
`SSOS.
`
`23 Claims, 25 Drawing Sheets
`
`Processing Device 121
`
`Host 150
`
`
`
`
`
`
`
`
`
`
`
`Capacitance
`Sensor
`1 O1
`
`Processing
`Logic
`102
`
`Analog Bus
`115
`
`113(1) - 113(N)
`
`121(1) - 121(N)
`
`Non-Sensing -----
`Actions
`103
`
`Decision
`x
`Logic
`151
`
`-->
`Applications
`152
`room
`
`DELL EXHIBIT 1035 PAGE 1
`
`
`
`U.S. Patent
`
`Apr. 8, 2014
`
`Sheet 1 of 25
`
`US 8,692,795 B1
`
`
`
`
`
`
`
`TZT
`
`Keluv Josues
`
`
`
`#!--~~~~ ~~~~ ~~~$
`
`DELL EXHIBIT 1035 PAGE 2
`
`
`
`U.S. Patent
`
`Apr. 8, 2014
`
`Sheet 2 of 25
`
`US 8,692,795 B1
`
`CN
`
`@T?
`
`
`
`Sla Jexed nued €-N
`
`T?
`
`z aun61-)
`
`Keluv/
`
`LZZ
`
`
`
`
`
`
`
`
`
`DELL EXHIBIT 1035 PAGE 3
`
`
`
`U.S. Patent
`
`Apr. 8, 2014
`
`Sheet 3 of 25
`
`US 8,692,795 B1
`
`300
`
`31 O
`
`Cm
`
`Receive
`Electrode
`223
`
`Transmit
`Electrode
`222
`
`Figure 3A
`
`3O1
`
`loUT
`
`
`
`Transmit
`Electrode
`222
`
`
`
`
`
`Receive
`Electrode
`223
`
`
`
`Figure 3B
`
`DELL EXHIBIT 1035 PAGE 4
`
`
`
`U.S. Patent
`
`Apr. 8, 2014
`
`Sheet 4 of 25
`
`US 8,692,795 B1
`
`
`
`459 r 456
`
`Figure 4A
`
`DELL EXHIBIT 1035 PAGE 5
`
`
`
`U.S. Patent
`
`Apr. 8, 2014
`
`Sheet 5 Of 25
`
`US 8,692,795 B1
`
`411
`
`459 458 I 457 456 455 454 453 452 451 450
`
`Processing
`Device
`405
`
`
`
`Figure 4B
`
`DELL EXHIBIT 1035 PAGE 6
`
`
`
`U.S. Patent
`
`Apr. 8, 2014
`
`Sheet 6 of 25
`
`US 8,692,795 B1
`
`
`
`412s
`
`459 458
`
`457 456 455 454 453 452 451 450
`
`Processing
`Device - 405
`
`Host
`150
`
`Figure 4C
`
`DELL EXHIBIT 1035 PAGE 7
`
`
`
`U.S. Patent
`
`Apr
`
`, 2014
`
`Sheet 7 Of 25
`
`US 8,692,795 B1
`
`
`
`
`
`
`
`
`
`? ·
`
`• • • • • • • •
`
`og eun61-I
`
`ºg eun61-I
`
`wg eun61-I
`
`DELL EXHIBIT 1035 PAGE 8
`
`
`
`U.S. Patent
`
`Apr. 8, 2014
`
`Sheet 8 of 25
`
`US 8,692,795 B1
`
`610
`
`SCan Panel
`
`V
`
`- Record Values for Each
`620 ru?
`NOde
`
`630
`
`/
`
`V
`ldentify Peak Node
`
`635
`
`/
`
`V
`u-1s
`
`- Complete 5x5s
`Matrix Available
`
`---
`
`
`
`
`
`650
`
`Define Meridian
`
`660 r Generate Virtual Nodes
`
`67O r Populate Virtual Nodes
`
`640
`
`Calculate Centroid
`
`Figure 6
`
`DELL EXHIBIT 1035 PAGE 9
`
`
`
`U.S. Patent
`
`Apr. 8, 2014
`
`Sheet 9 Of 25
`
`US 8,692,795 B1
`
`
`
`
`
`90/
`
`90/
`
`o/ eun61-I
`
`g/ eun61-I
`
`w/ eun61
`
`DELL EXHIBIT 1035 PAGE 10
`
`
`
`U.S. Patent
`
`Apr. 8, 2014
`
`Sheet 10 of 25
`
`US 8,692,795 B1
`
`
`
`81 OB 815B
`-n (
`
`
`
`81 OC 815C
`-Y (
`N 2
`y 6 )
`
`
`
`Figure
`8C
`
`81 OF 815F
`
`81 OG 815G
`
`
`
`81O
`
`
`
`815
`
`3O
`
`30
`
`OO
`
`5O
`
`Figure
`8H
`
`Figure
`8G
`
`DELL EXHIBIT 1035 PAGE 11
`
`
`
`U.S. Patent
`
`Apr. 8, 2014
`
`Sheet 11 of 25
`
`US 8,692,795 B1
`
`81OM 81.5M
`-
`50
`
`25
`
`2O
`
`10
`
`Figure
`8M
`
`
`
`81OK 815K
`&-y
`
`- Y
`
`30
`
`30
`
`5
`
`81OL 815
`\-
`(
`100
`We
`50
`
`50
`
`35
`
`Figure
`8K
`
`Figure
`8.
`
`8 OO 815O
`
`
`
`Figure 8R
`
`DELL EXHIBIT 1035 PAGE 12
`
`
`
`U.S. Patent
`
`Apr. 8, 2014
`
`Sheet 12 of 25
`
`US 8,692,795 B1
`
`851
`
`SCan Panel
`
`852
`
`853
`
`854
`
`
`
`855
`
`856
`
`857
`
`858
`
`V
`Record Values for Each
`Node
`
`v
`Identify Peak Node
`
`v
`Define NX M Matrix
`Centered on Peak Node
`
`
`
`Define 2x2 Matrices
`within NX M Matrix
`
`Calculate Vectors for 2X2
`Matrices
`
`V
`Calculate intersection of
`Vectors
`
`V
`Determine Position
`
`Figure 8S
`
`DELL EXHIBIT 1035 PAGE 13
`
`
`
`U.S. Patent
`
`Apr. 8, 2014
`
`Sheet 13 Of 25
`
`US 8,692,795 B1
`
`O CN ©
`
`
`
`Figure 9A
`
`Figure 9B
`
`DELL EXHIBIT 1035 PAGE 14
`
`
`
`U.S. Patent
`
`Apr. 8, 2014
`
`Sheet 14 of 25
`
`US 8,692,795 B1
`
`
`
`Figure 9D
`
`DELL EXHIBIT 1035 PAGE 15
`
`
`
`U.S. Patent
`
`Apr. 8, 2014
`
`Sheet 15 Of 25
`
`US 8,692,795 B1
`
`1010 U-
`
`—
`SCan Panel
`
`Generate vector for each
`1020 i? sensor to the 8 adjacent
`SeSOS
`w
`Generate plane for each
`group of 3 vectors
`v
`--> Generate 3-Dimensional
`/
`Rendering of Touch Data
`
`1030
`
`v
`
`1040
`
`1050
`
`-n. Determine at least One
`N--
`horizon
`
`s
`
`Generate at least one
`polygon from the 3
`1060 U- dimensional rendering
`and the at least one
`horizon
`
`1070
`
`/
`
`Generate Pendiculars for
`each line segment of
`each polygon
`v
`- Calculate the intersection
`/
`of the perpendiculars
`w
`Determine Position of
`1090 u? intersection as contact
`location.
`
`1080
`
`Figure 10
`
`DELL EXHIBIT 1035 PAGE 16
`
`
`
`U.S. Patent
`
`Apr. 8, 2014
`
`Sheet 16 of 25
`
`US 8,692,795 B1
`
`N 1103
`
`
`
`Figure 11A
`
`1111
`
`Figure 11B
`
`Figure 11C
`
`DELL EXHIBIT 1035 PAGE 17
`
`
`
`U.S. Patent
`
`Apr. 8, 2014
`
`Sheet 17 Of 25
`
`US 8,692,795 B1
`
`1 103
`
`
`
`- 1136
`
`11 O3
`
`
`
`-
`1132
`1135
`
`1131
`
`1137
`
`/Y 1138
`
`--
`
`-
`
`1132
`1135
`
`1131
`
`Figure 11D
`
`Figure 11E
`
`
`
`Figure 11 F
`
`Figure 11G
`
`DELL EXHIBIT 1035 PAGE 18
`
`
`
`U.S. Patent
`
`Apr. 8, 2014
`
`Sheet 18 of 25
`
`US 8,692,795 B1
`
`1210
`
`1220
`
`
`
`1230
`
`124
`O
`
`1250
`
`
`
`scan Panel
`
`V
`Identify Peak Nodes
`
`Define Closed Area
`
`Count Active Nodes in
`Closed Area
`
`
`
`
`
`Nodes > Threshold
`
`Remove Extra Peak
`Nodes
`
`
`
`1260
`
`Calculate Centroid
`
`Figure 12
`
`DELL EXHIBIT 1035 PAGE 19
`
`
`
`U.S. Patent
`
`Apr. 8, 2014
`
`Sheet 19 Of 25
`
`US 8,692,795 B1
`
`
`
`Figure 13
`
`DELL EXHIBIT 1035 PAGE 20
`
`
`
`U.S. Patent
`
`Apr. 8, 2014
`
`Sheet 20 of 25
`
`US 8,692,795 B1
`
`41 O ur Scan Pane
`
`42O ur identify Peak Nodes
`Y
`Define Closed Area
`
`1430 sur
`
`1440
`
`- Count Active Nodes in
`-
`Closed Area
`
`145 -
`
`455
`
`1470
`
`- Nodes > is
`Threshold 1
`- Nodes >s-
`is Threshold 1
`-- Calculate Centroid
`
`NO Detection
`
`- N
`
`1460
`
`/
`---
`
`Calculate Centroid
`
`
`
`Figure 14
`
`DELL EXHIBIT 1035 PAGE 21
`
`
`
`U.S. Patent
`
`Apr. 8, 2014
`
`Sheet 21 of 25
`
`US 8,692,795 B1
`
`
`
`Figure 15
`
`DELL EXHIBIT 1035 PAGE 22
`
`
`
`U.S. Patent
`
`Apr. 8, 2014
`
`Sheet 22 of 25
`
`US 8,692,795 B1
`
`
`
`Figure 16J
`
`Figure 16K
`
`Figure 16L
`
`DELL EXHIBIT 1035 PAGE 23
`
`
`
`U.S. Patent
`
`Apr. 8, 2014
`
`Sheet 23 Of 25
`
`US 8,692,795 B1
`
`
`
`Figure 17A
`
`DELL EXHIBIT 1035 PAGE 24
`
`
`
`U.S. Patent
`
`Apr. 8, 2014
`
`Sheet 24 of 25
`
`US 8,692,795 B1
`
`1805
`
`1801
`
`Figure 18A
`
`1810
`
`1809
`
`...
`
`Figure 18B
`
`1805
`
`--all
`
`1802
`
`Do
`
`1808
`
`Figure 18C
`
`DELL EXHIBIT 1035 PAGE 25
`
`
`
`U.S. Patent
`
`Apr. 8, 2014
`
`Sheet 25 Of 25
`
`US 8,692,795 B1
`
`1805
`
`1800
`
`all
`
`Figure 18D
`
`..iii.
`
`Figure 18E
`
`1805
`
`- - -
`D
`1803
`1807
`Figure 18F
`
`DELL EXHIBIT 1035 PAGE 26
`
`
`
`US 8,692,795 B1
`
`1.
`CONTACT IDENTIFICATION AND
`TRACKING ON A CAPACITANCE SENSING
`ARRAY
`
`RELATED APPLICATIONS
`
`This application claims the benefit of U.S. Provisional
`Application No. 61/376,656, filed on Aug. 24, 2010, which is
`hereby incorporated by reference.
`
`10
`
`TECHNICAL FIELD
`
`This disclosure relates to the field of touch-sensors and, in
`particular, to contact identification and tracking on a touch
`SSO.
`
`15
`
`BACKGROUND
`
`25
`
`30
`
`35
`
`Computing devices, such as notebook computers, personal
`data assistants (PDAs), kiosks, and mobile handsets, have
`user interface devices, which are also known as human inter
`face devices (HID). One user interface device that has
`become more common is a touch-sensorpad (also commonly
`referred to as a touchpad). A basic notebook computer touch
`sensorpad emulates the function of a personal computer (PC)
`mouse. A touch-sensor pad is typically embedded into a PC
`notebook for built-in portability. A touch-sensor pad repli
`cates mouse X/Y movement by using two defined axes which
`containa collection of sensorelements that detect the position
`of one or more conductive objects, such as a finger. Mouse
`right/left button clicks can be replicated by two mechanical
`buttons, located in the vicinity of the touchpad, or by tapping
`commands on the touch-sensor pad itself. The touch-sensor
`pad provides a user interface device for performing Such
`functions as positioning a pointer, or selecting an item on a
`display. These touch-sensor pads may include multi-dimen
`sional sensor arrays for detecting movement in multiple axes.
`The sensor array may includea one-dimensional sensor array,
`detecting movement in one axis. The sensor array may also be
`two dimensional, detecting movements in two axes.
`40
`Another user interface device that has become more com
`mon is a touch screen. Touch screens, also known as touch
`screens, touch windows, touch panels, or touchscreen panels,
`are transparent display overlays which are typically either
`pressure-sensitive (resistive or piezoelectric), electrically
`sensitive (capacitive), acoustically-sensitive (Surface acous
`tic wave (SAW)) or photo-sensitive (infra-red). The effect of
`Such overlays allows a display to be used as an input device,
`removing the keyboard and/or the mouse as the primary input
`device for interacting with the display's content. Such dis
`plays can be attached to computers or, as terminals, to net
`works. Touch screens have become familiar in retail settings,
`on point-of-sale systems, on ATMs, on mobile handsets, on
`kiosks, on game consoles, and on PDAS where a stylus is
`Sometimes used to manipulate the graphical user interface
`(GUI) and to enter data. A user can touch a touch screen or a
`touch-sensor pad to manipulate data. For example, a user can
`apply a single touch, by using a finger to touch the Surface of
`a touch screen, to select an item from a menu.
`
`45
`
`50
`
`55
`
`60
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The present disclosure is illustrated by way of example,
`and not by way of limitation, in the figures of the accompa
`nying drawings.
`FIG. 1 is a block diagram illustrating an embodiment of an
`electronic system that processes touch sensor data.
`
`65
`
`2
`FIG. 2 is a block diagram illustrating an embodiment of an
`electronic system that processes touch sensor data.
`FIG. 3A illustrates an embodiment of a transmit and
`receive electrode in a mutual capacitance array.
`FIG.3B illustrates a schematic representation of a transmit
`and receive electrode in a mutual capacitance array.
`FIG. 4A illustrates an embodiment of a capacitive sensor
`array having a diamond pattern.
`FIG. 4B illustrates an embodiment of a capacitive sensor
`array having “bars and stripes.”
`FIG. 4C illustrates an embodiment of a capacitive sensor
`array having “bars and stripes.”
`FIG. 5A-C illustrate an embodiment of contact centroid
`calculation using a full 5x5 matrix.
`FIG. 6 illustrates a method for calculating centroid using
`dummy cells.
`FIG. 7A-C illustrate an embodiment of contact centroid
`calculation using a nine-sensor matrix.
`FIG. 8 illustrates an example of using vectors from 2x2
`matrices to calculate contact position.
`FIG. 9A illustrates an embodiment 8x9 matrix of sensors
`with their corresponding capacitance values on the Z axis.
`FIG.9B illustrates an embodiment of a three-dimensional
`rendering of a contact on an array
`FIG. 9C illustrates an embodiment of polygons derived
`from a three-dimensional rendering of a contact on an array.
`FIG. 9D illustrates an embodiment of the intersections of
`perpendiculars to line segments of polygons.
`FIG. 10 illustrates an embodiment of a method for using
`polygons to calculate contact location.
`FIG. 11A illustrates one embodiment of an array with
`multiple and varied-size touches.
`FIGS. 11B and 11C illustrate standard touches on an array.
`FIG. 11D illustrates an embodiment of a large touch with
`two persistent peak nodes.
`FIGS. 11E and 11F illustrate embodiments of a large touch
`with two intermittent or alternating touches.
`FIG. 11G illustrates an embodiment of a large touch with a
`single calculated centroid.
`FIG. 12 illustrates an embodiment of a method for calcu
`lating the position of a centroid for a large touch.
`FIG. 13 illustrates an embodiment of an array with a large
`touch and a very large touch, the very large touch ignored by
`the processor.
`FIG. 14 illustrates embodiment of a method for ignoring
`very large touches and calculating position of touches for
`standard and large touches.
`FIG. 15 illustrates an embodiment of an array of touches
`with three contacts at two times.
`FIGS. 16A-16L illustrate an example of a Hungarian Algo
`rithm applied to multiple touches at two times according to
`one embodiment.
`FIGS. 17A and 17B illustrates an embodiment of Gaussian
`curve interpolation for position calculation.
`FIG. 18A-F illustrate an embodiment of dynamic noise
`thresholds.
`
`DETAILED DESCRIPTION
`
`The following description sets forth numerous specific
`details such as examples of specific systems, components,
`methods, and so forth, in order to provide a good understand
`ing of several embodiments of the present invention. It will be
`apparent to one skilled in the art, however, that at least some
`embodiments of the present invention may be practiced with
`out these specific details. In other instances, well-known
`components or methods are not described in detail or are
`
`DELL EXHIBIT 1035 PAGE 27
`
`
`
`US 8,692,795 B1
`
`10
`
`15
`
`3
`presented in a simple block diagram format in order to avoid
`unnecessarily obscuring the present invention. Thus, the spe
`cific details set forth are merely exemplary. Particular imple
`mentations may vary from these exemplary details and still be
`contemplated to be within the spirit and scope of the present
`invention.
`An embodiment of a capacitive sensor array may include
`sensor elements arranged such that each unit cell correspond
`ing to an intersection between sensor elements may include a
`main trace and one or more primary Subtraces branching
`away from the main trace. In one embodiment, a sensor
`element may also include one or more secondary Subtraces
`branching from a primary Subtrace, or one or more tertiary
`Subtraces branching from a secondary Subtrace. In one
`embodiment, a sensor array having such a pattern may have
`decreased signal disparity and reduced manufacturability
`problems as compared to other patterns. Such as a diamond
`pattern. Specifically, a capacitive sensor array with sensor
`elements having main traces and Subtraces branching from
`the main trace. Such as a totem pole pattern, may be manu
`factured with decreased cost and increased yield rate, as well
`as improved optical quality.
`An embodiment of Such a capacitive sensor array may
`include a first and a second plurality of sensor elements each
`intersecting each of the first plurality of sensor elements.
`Each intersection between one of the first plurality of sensor
`elements and one of the second plurality of sensor elements
`may be associated with a corresponding unit cell. In one
`embodiment, a unit cell corresponding to an intersection may
`be understood as an area including all locations on the Surface
`of the sensor array that are nearer to the corresponding inter
`section than to any other intersection between sensor ele
`mentS.
`In one embodiment of a capacitive sensor array, each of the
`second plurality of sensor elements includes a main trace that
`crosses at least one of the plurality of unit cells, and further
`includes, within each unit cell, a primary Subtrace that
`branches away from the main trace. In one embodiment, the
`primary Subtrace may be one of two or more primary Sub
`traces branching symmetrically from opposite sides of the
`main trace, resembling a "totem pole'. Alternatively, the pri
`mary Subtraces may branch asymmetrically from the main
`trace.
`FIG. 1 illustrates a block diagram of one embodiment of an
`electronic system 100 including a processing device 110 that
`may be configured to measure capacitances from a touch
`sensing Surface 116 including a capacitive sensor array as
`described above. The electronic system 100 includes a touch
`sensing Surface 116 (e.g., a touchscreen, or a touch pad)
`coupled to the processing device 110 and a host 150. In one
`embodiment, the touch-sensing Surface 116 is a two-dimen
`sional user interface that uses a sensor array 121 to detect
`touches on the surface 116.
`In one embodiment, the sensor array 121 includes sensor
`elements 121(1)-121(N) (where N is a positive integer) that
`are disposed as a two-dimensional matrix (also referred to as
`an XY matrix). The sensor array 121 is coupled to pins 113
`(1)-113(N) of the processing device 110 via one or more
`analog buses 115 transporting multiple signals. In this
`embodiment, each sensor element 121(1)-121(N) is repre
`sented as a capacitor.
`In one embodiment, the capacitance sensor 101 may
`include a relaxation oscillator or other means to convert a
`capacitance into a measured value. The capacitance sensor
`101 may also include a counter or timer to measure the oscil
`lator output. The capacitance sensor 101 may further include
`Software components to convert the count value (e.g., capaci
`
`4
`tance value) into a sensor element detection decision (also
`referred to as Switch detection decision) or relative magni
`tude. It should be noted that there are various known methods
`for measuring capacitance, such as current versus Voltage
`phase shift measurement, resistor-capacitor charge timing,
`capacitive bridge divider, charge transfer, Successive approxi
`mation, Sigma-delta modulators, charge-accumulation cir
`cuits, field effect, mutual capacitance, frequency shift, or
`other capacitance measurement algorithms. It should be
`noted however, instead of evaluating the raw counts relative to
`a threshold, the capacitance sensor 101 may be evaluating
`other measurements to determine the user interaction. For
`example, in the capacitance sensor 101 having a sigma-delta
`modulator, the capacitance sensor 101 is evaluating the ratio
`of pulse widths of the output, instead of the raw counts being
`over or under a certain threshold.
`In one embodiment, the processing device 110 further
`includes processing logic 102. Operations of the processing
`logic 102 may be implemented in firmware; alternatively, it
`may be implemented inhardware or Software. The processing
`logic 102 may receive signals from the capacitance sensor
`101, and determine the state of the sensor array 121, such as
`whetheran object (e.g., a finger) is detected on or in proximity
`to the sensor array 121 (e.g., determining the presence of the
`object), where the object is detected on the sensor array (e.g.,
`determining the location of the object), tracking the motion of
`the object, or other information related to an object detected at
`the touch sensor.
`In another embodiment, instead of performing the opera
`tions of the processing logic 102 in the processing device 110.
`the processing device 110 may send the raw data or partially
`processed data to the host 150. The host 150, as illustrated in
`FIG.1, may include decision logic 151 that performs some or
`all of the operations of the processing logic 102. Operations
`of the decision logic 151 may be implemented in firmware,
`hardware, software, or a combination thereof. The host 150
`may include a high-level Application Programming Interface
`(API) in applications 152 that perform routines on the
`received data, Such as compensating for sensitivity differ
`ences, other compensation algorithms, baseline update rou
`tines, start-up and/or initialization routines, interpolation
`operations, or scaling operations. The operations described
`with respect to the processing logic 102 may be implemented
`in the decision logic 151, the applications 152, or in other
`hardware, Software, and/or firmware external to the process
`ing device 110. In some other embodiments, the processing
`device 110 is the host 150.
`In another embodiment, the processing device 110 may
`also include a non-sensing actions block 103. This block 103
`may be used to process and/or receive/transmit data to and
`from the host 150. For example, additional components may
`be implemented to operate with the processing device 110
`along with the sensor array 121 (e.g., keyboard, keypad,
`mouse, trackball, LEDs, displays, or other peripheral
`devices).
`The processing device 110 may reside on a common carrier
`Substrate Such as, for example, an integrated circuit (IC) die
`substrate, or a multi-chip module substrate. Alternatively, the
`components of the processing device 110 may be one or more
`separate integrated circuits and/or discrete components. In
`one embodiment, the processing device 110 may be the Pro
`grammable System on a Chip (PSOCTM) processing device,
`developed by Cypress Semiconductor Corporation, San Jose,
`Calif. Alternatively, the processing device 110 may be one or
`more other processing devices known by those of ordinary
`skill in the art, such as a microprocessor or central processing
`unit, a controller, special-purpose processor, digital signal
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`DELL EXHIBIT 1035 PAGE 28
`
`
`
`US 8,692,795 B1
`
`5
`
`10
`
`15
`
`25
`
`30
`
`35
`
`5
`processor (DSP), an application specific integrated circuit
`(ASIC), a field programmable gate array (FPGA), or other
`programmable device. In an alternative embodiment, for
`example, the processing device 110 may be a network pro
`cessor having multiple processors including a core unit and
`multiple micro-engines. Additionally, the processing device
`110 may include any combination of general-purpose pro
`cessing device(s) and special-purpose processing device(s).
`In one embodiment, the electronic system 100 is imple
`mented in a device that includes the touch-sensing Surface
`116 as the user interface. Such as handheld electronics, por
`table telephones, cellular telephones, notebook computers,
`personal computers, personal data assistants (PDAs), kiosks,
`keyboards, televisions, remote controls, monitors, handheld
`multi-media devices, handheld video players, gaming
`devices, control panels of a household or industrial appli
`ances, or other computer peripheral or input devices. Alter
`natively, the electronic system 100 may be used in other types
`of devices. It should be noted that the components of elec
`tronic system 100 may include all the components described
`above. Alternatively, electronic system 100 may include only
`Some of the components described above, or include addi
`tional components not listed herein.
`FIG. 2 is a block diagram illustrating one embodiment of a
`capacitive touch sensor array 121 and a capacitance sensor
`101 that converts measured capacitances to coordinates. The
`coordinates are calculated based on measured capacitances.
`In one embodiment, sensor array 121 and capacitance sensor
`101 are implemented in a system Such as electronic system
`100. Sensor array 220 includes a matrix 225 of NXM elec
`trodes (N receive electrodes and M transmit electrodes),
`which further includes transmit (TX) electrode 222 and
`receive (RX) electrode 223. Each of the electrodes in matrix
`225 is connected with capacitance sensor 201 through demul
`tiplexer 212 and multiplexer 213.
`Capacitance sensor 101 includes multiplexer control 211,
`demultiplexer 212 and multiplexer 213, clock generator 214,
`signal generator 215, demodulation circuit 216, and analog to
`digital converter (ADC) 217. ADC 217 is further coupled
`40
`with touch coordinate converter 218. Touch coordinate con
`Verter 218 outputs a signal to the processing logic 102.
`The transmit and receive electrodes in the electrode matrix
`225 may be arranged so that each of the transmit electrodes
`overlap and cross each of the receive electrodes Such as to
`form an array of intersections, while maintaining galvanic
`isolation from each other. Thus, each transmit electrode may
`be capacitively coupled with each of the receive electrodes.
`For example, transmit electrode 222 is capacitively coupled
`with receive electrode 223 at the point where transmit elec
`trode 222 and receive electrode 223 overlap.
`Clock generator 214 Supplies a clock signal to signal gen
`erator 215, which produces a TX signal 224 to be supplied to
`the transmit electrodes of touch sensor array 121. In one
`embodiment, the signal generator 215 includes a set of
`Switches that operate according to the clock signal from clock
`generator 214. The Switches may generate a TX signal 224 by
`periodically connecting the output of signal generator 215 to
`a first Voltage and then to a second Voltage, wherein said first
`and second Voltages are different.
`The output of signal generator 215 is connected with
`demultiplexer 212, which allows the TX signal 224 to be
`applied to any of the M transmit electrodes of touch sensor
`array 121. In one embodiment, multiplexer control 211 con
`trols demultiplexer 212 so that the TX signal 224 is applied to
`each transmit electrode 222 in a controlled sequence. Demul
`tiplexer 212 may also be used to ground, float, or connect an
`
`50
`
`45
`
`55
`
`60
`
`65
`
`6
`alternate signal to the other transmit electrodes to which the
`TX signal 224 is not currently being applied.
`Because of the capacitive coupling between the transmit
`and receive electrodes, the TX signal 224 applied to each
`transmit electrode induces a current within each of the receive
`electrodes. For instance, when the TX signal 224 is applied to
`transmit electrode 222 through demultiplexer 212, the TX
`signal 224 induces an RX signal 227 on the receive electrodes
`in matrix 225. The RX signal 227 on each of the receive
`electrodes can then be measured in sequence by using multi
`plexer 213 to connect each of the N receive electrodes to
`demodulation circuit 216 in sequence.
`The mutual capacitance associated with each intersection
`between a TX electrode and an RX electrode can be sensed by
`selecting every available combination of TX electrode and an
`RX electrode using demultiplexer 212 and multiplexer 213.
`To improve performance, multiplexer 213 may also be seg
`mented to allow more than one of the receive electrodes in
`matrix 225 to be routed to additional demodulation circuits
`216. In an optimized configuration, wherein there is a 1-to-1
`correspondence of instances of demodulation circuit 216 with
`receive electrodes, multiplexer 213 may not be present in the
`system.
`When an object, Such as a finger, approaches the electrode
`matrix 225, the object causes a decrease in the mutual capaci
`tance between only some of the electrodes. For example, if a
`finger is placed near the intersection of transmit electrode 222
`and receive electrode 223, the presence of the finger will
`decrease the mutual capacitance between electrodes 222 and
`223. Thus, the location of the finger on the touchpad can be
`determined by identifying the one or more receive electrodes
`having a decreased mutual capacitance in addition to identi
`fying the transmit electrode to which the TX signal 224 was
`applied at the time the decreased mutual capacitance was
`measured on the one or more receive electrodes.
`By determining the mutual capacitances associated with
`each intersection of electrodes in the matrix 225, the locations
`of one or more touch contacts may be determined. The deter
`mination may be sequential, in parallel, or may occur more
`frequently at commonly used electrodes.
`In alternative embodiments, other methods for detecting
`the presence of a finger or conductive object may be used
`where the finger or conductive object causes an increase in
`capacitance at one or more electrodes, which may be arranged
`in a grid or other pattern. For example, a finger placed near an
`electrode of a capacitive sensor may introduce an additional
`capacitance to ground that increases the total capacitance
`between the electrode and ground. The location of the finger
`can be determined from the locations of one or more elec
`trodes at which an increased capacitance is detected.
`The induced current signal 227 is rectified by demodula
`tion circuit 216. The rectified current output by demodulation
`circuit 216 can then be filtered and converted to a digital code
`by ADC 217.
`The digital code is converted to touch coordinates indicat
`ing a position of an input on touch sensor array 121 by touch
`coordinate converter 218. The touch coordinates are transmit
`ted as an input signal to the processing logic 102. In one
`embodiment, the input signal is received at an input to the
`processing logic 102. In one embodiment, the input may be
`configured to receive capacitance measurements indicating a
`plurality of row coordinates and a plurality of column coor
`dinates. Alternatively, the input may be configured to receive
`row coordinates and column coordinates.
`In one embodiment, the sensor array 121 can be configured
`to detect multiple touches. One technique for multi-touch
`detection uses a two-axis implementation: one axis to Support
`
`DELL EXHIBIT 1035 PAGE 29
`
`
`
`US 8,692,795 B1
`
`10
`
`15
`
`7
`rows and another axis to Support columns. Additional axes,
`Such as a diagonal axis, implemented on the Surface using
`additional layers, can allow resolution of additional touches.
`FIG. 3A illustrates an embodiment of a simplified repre
`sentation 300 of an embodiment of a single intersection, or
`node 310, of a transmit electrode 222 and a receive electrode
`223. Transmit electrode 222 is coupled to 1->N multiplexer
`212 and receive electrode 223 is coupled to N-> 1 demulti
`plexer 213 as shown in FIG. 2. Node 310 is characterized by
`mutual capacitance, Cm, between transmit electrode 222 and
`receive electrode 223. A mutual capacitance, Cm, exists for
`every intersection between every transmit electrode and every
`receive electrode in NxM electrode matrix 225 (shown in
`FIG. 2).
`FIG. 3B illustrates a circuit representation 301 of a single
`intersection, or node 310, from FIG. 3A. Transmit electrode
`222 comprises a resistance, R1, and a parasitic capacitance,
`C1. Receive electrode 223 comprises a resistance, R2, and a
`parasitic capacitance, C2. Resistances R1 and R2 are a func
`tion of the impedance of transmit electrode 222 and receive
`electrode 223, respectively. High impedance materials. Such
`as indium tin oxide, limit the rate of charge and discharge on
`transmit and receive electrodes. Capacitors C1 and C2 repre
`sent the parasitic capacitance each electrode has to the rest of
`the array and the rest of the system for each transmit electrode
`222 and each receive electrode 223, respectively. Parasitic
`capacitances C1 and C2 are the capacitance of each electrode
`to everything in the system except the transmit or receive
`electrode that comprises the other side of node 310. Voltage
`Source 320 may provide an alternating Voltage source (signal)
`on transmit electrode 222, thus generating a current, Iin,
`through resistor R1, and building a Voltage potential on
`mutual capacitor Cm. This Voltage potential is then converted
`to a current, Iout, through resistor R2. Current Iout is repre
`sentative of the mutual capacitance, Cm, between transmit
`electrode 222 and receive electrode 223.
`FIG. 4 illustrates an embodiment of a capacitive touch
`sensing system 400 that includes a capacitive sensor array
`420. Capacitive sensor array 420 includes a plurality of row
`sensor elements 431-445 and a plurality of column sensor
`elements 450-459. The row and column sensorelements 431
`445 and 450-459 are connected to a processing device 405,
`which may include the functionality of capacitance sensor
`101 of FIG. 1 or capacitance sensor 201 of FIG. 2. In one
`45
`embodiment, the processing device 405 may perform TX-RX
`scans of the capacitive sensor arr