Some mutual capacitive-type touch sensitive devices having matrix-type sensors are continuously calibrated to accommodate changes in ambient operating conditions. For example, as a mutual capacitive, matrix-type touch sensor heats up, an individual node on the sensor may become more or less sensitive to touch events. To accommodate these changes in sensitivity, a controller coupled to the touch sensor gradually adjusts a baseline value associated with particular nodes. The theoretical ideal baseline is the portion of a touch signal that is common to both the touch and a non-touch event. Of course, the non-touch portion of the signal is not known during a touch event, so it must be estimated. This estimation may be accomplished by, for example, determining the moving average value associated with a node during non-touch events. Other, more complicated methods are also known in the art.
Certain events may cause baseline calibrations leading to anomalous behavior. For example, if water or some other conductive liquid is sprayed onto a touch screen, a continuous calibration routine may adjust to this condition, such that when the water is removed a touch event is erroneously reported.
Such an anomalous condition may be seen in
On the same graph, effective count 302 is a plot of:
(raw count value 301)−(baseline 330).
Threshold 305 is the touch threshold, which in this example is around 300 counts. When effective count 301 exceeds threshold 305, a touch is reported by an associated controller. For example, touch event 310 is shown impacting raw count value 301, which corresponds to touch event 310A on effective count 302. Note that in this embodiment, touch event 310 causes the count raw count value 301 to decrease, which is a condition associated with a reduction in the mutual capacitance at the node. The decrease is an artifact of the particular implementation of the electronics and firmware; other implementations could result in increase rather than a decrease in the Y-axis value. For the duration of touch event 310 (and thus touch event 310A), a touch would be reported by controller 114, and the baseline would not be updated.
Water event 320 may result in raw data count 301 going up or down. In
Because baseline 330 has been adjusted to accommodate the water as an ambient operating condition, when the user wipes the screen dry, it could immediately cause the effective count value to exceed the threshold, which controller would report as erroneous touch event 312. A touch would then be continuously reported by controller 114, because the baseline would not be updated during the touch event.
If the straying portrayed in
It is, then, one object of the embodiments described in this disclosure to provide an improved means for updating the baseline value associated with a given node, such that the baseline effectively resists being updated when certain events may be taking place, such as the cleaning of the touch screen, or water or other conductive liquid coming into contact with an area of the touch screen. In one embodiment, an improved baseline updating procedure could prevent, for example, erroneous touch events from being reported by a controller after a liquid, such as a cleaning liquid, has been abruptly removed from the touch sensitive surface of the touch sensitive device.
In one embodiment, a method of determining to update baseline values associated with nodes on a mutual capacitive type touch sensitive device is described, the method comprising receiving data streams associated with the capacitive coupling at a plurality of nodes on a touch sensor, over a plurality of measurement cycles; determining, based on the data streams, if a sufficient portion of the plurality of nodes have been trending toward or away from touch for a sufficient period of time; based on the determination, updating baseline values associated with at least some of the nodes on the touch sensor.
In another embodiment, a touch sensitive device is described, the device comprising a touch matrix-type touch sensor having a plurality of nodes; electronics communicatively coupled to the nodes and configured to measure the capacitive coupling at individual nodes of the touch sensor; wherein the electronics are configured to receive data streams indicative of the capacitive coupling at a plurality of nodes on the touch sensor; determine, based on the data streams, if a sufficient portion of the plurality of nodes have been trending toward or away from touch for a sufficient period of time; and, based on the determination, updating baseline values associated with at least some of the nodes on the touch sensor.
Related methods, systems, and articles are also discussed.
These and other aspects of the present application will be apparent from the detailed description below. In no event, however, should the above summaries be construed as limitations on the claimed subject matter, which subject matter is defined solely by the attached claims, as may be amended during prosecution.
The present disclosure may be more completely understood and appreciated in consideration of the following detailed description of various embodiments in connection with the accompanying drawings, in which:
In the following description of the illustrated embodiments, reference is made to the accompanying drawings, in which is shown by way of illustration, various embodiments in which the invention may be practices. It is to be understood that the embodiments may be utilized and structural changes may be made without departing from the scope of the present invention. Drawings and graphs are for illustration of the disclosure and are not to scale, and in some drawings, dimensions are exaggerated for purposes of illustration.
In
The touch panel 112 is shown as having a 5×5 matrix of column electrodes 116a-e and row electrodes 118a-e, but other numbers of electrodes and other matrix sizes can also be used. The panel 112 is typically substantially transparent so that the user is able to view an object, such as the pixilated display of a computer, hand-held device, mobile phone, or other peripheral device, through the panel 112. The boundary 120 represents the viewing area of the panel 112 and also preferably the viewing area of such a display, if used. The electrodes 116a-e, 118a-e are spatially distributed, from a plan view perspective, over the viewing area 120. For ease of illustration the electrodes are shown to be wide and obtrusive, but in practice they may be relatively narrow and inconspicuous to the user. Further, they may be designed to have variable widths, e.g., an increased width in the form of a diamond-or other-shaped pad in the vicinity of the nodes of the matrix in order to increase the inter-electrode fringe field and thereby increase the effect of a touch on the electrode-to-electrode capacitive coupling. In exemplary embodiments the electrodes may be composed of indium tin oxide (ITO) or other suitable electrically conductive materials. From a depth perspective, the column electrodes may lie in a different plane than the row electrodes (from the perspective of
The capacitive coupling between a given row and column electrode is primarily a function of the geometry of the electrodes in the region where the electrodes are closest together. Such regions correspond to the “nodes” of the electrode matrix, some of which are labeled in
When a finger 130 of a user or other touch implement comes into contact or near-contact with the touch surface of the device 110, as shown at touch location 131, the finger capacitively couples to the electrode matrix. The finger draws charge from the matrix, particularly from those electrodes lying closest to the touch location, and in doing so it changes the coupling capacitance between the electrodes corresponding to the nearest node(s). For example, the touch at touch location 131 lies nearest the node corresponding to electrodes 116c/118b. This change in coupling capacitance can be detected by controller 114 and interpreted as a touch at or near the 116a/118b node using systems and methods described, for example, in U.S. patent application Ser. No. 61/231,471 “High Speed Multi-touch Touch Device and Controller Therefor”, which is hereby incorporated by reference. Other systems and methods for determining changes in coupling capacitance at such nodes are known in the art. Preferably, the controller is configured to rapidly detect the change in capacitance, if any, of all of the nodes of the matrix, and is capable of analyzing the magnitudes of capacitance changes for neighboring nodes so as to accurately determine a touch location lying between nodes by interpolation. Furthermore, the controller 114 in one embodiment is designed to detect multiple distinct touches applied to different portions of the touch device at the same time, or at overlapping times. Thus, for example, if another finger 132 touches the touch surface of the device 110 at touch location 133 simultaneously with the touch of finger 130, or if the respective touches at least temporally overlap, the controller is capable of detecting the positions 131, 133 of both such touches and providing such locations on a touch output 114a. The number of distinct simultaneous or temporally overlapping touches capable of being detected by controller 114 is not necessarily limited to 2, e.g., it may be 3, 4, or more, depending on the size of the electrode matrix and the capacities of controller 114.
The controller 114 employs a variety of circuit modules and components that enable it to rapidly determine the coupling capacitance at some or all of the nodes of the electrode matrix. For example, the controller preferably includes at least one signal generator or drive unit. The drive unit delivers a drive signal to one set of electrodes, referred to as drive electrodes. In the embodiment of
Turning now to
Turning now to
Turning now to
Initially, raw count values are received for each node on the touch sensitive device (510). Such raw count values, as mentioned with respect to previous figures, may not be count values at all, depending on implementation, but may instead be some value that is a surrogate for the mutual capacitance at a given node on a touch sensor. For example, the count values may be in fact be voltage levels.
The controller in step 520 determines the number of nodes for which the raw count value exceeds the trend error threshold in the direction away from touch (or toward touch). The trend error threshold is in one embodiment a constant value, and for the sake of illustration is here 4 counts. In practice, the trend error threshold needs to be low, so that the actual baseline and the controller's estimate of the baseline do not diverge excessively, which would lead to touch position error and changes in touch sensitivity. If the touch error threshold is too low, working together with the other factors in the calculation, the routine would more frequently allow the baselines to update to ambient conditions. Thus in step 520, the controller determines the total number of nodes that are 4 counts more than the baseline value for an associated node. For the sake of illustration, let us assume that 2600 nodes are 4 counts less than the baseline value, and 1000 nodes are not less than the baseline value (3600 total nodes on the touch sensitive device).
This number is filtered (step 530). In a typical environment, sample noise could be ten times higher than a reasonable trend error threshold. One or more samples from a typical whole-node data set would almost certainly have, for example, 55% of qualified nodes exceeding the trend threshold in either direction. Therefore the number is suitably filtered (infinite impulse response (IIR) or other low-pass filter) in order to identify an error consistently over the threshold over a period of time. The filter outputs a number, for the sake of illustration let us say it is 2610.
The filtered number (2610) is compared against the total number of nodes (3600). If the filtered number does not exceed 55% of the total nodes (“NO” at decision block 540), a Trend Duration Count variable is reset to zero, and the process repeats for the next measurement cycle. If the filtered number does exceed 55% of the total nodes (“YES” at decision block 540), the Trend Duration Count variable is incremented. The Trend Duration Count threshold is a time-based threshold, since it can only be incremented once per measurement cycle. For example, it might be 5 seconds, divided by a 5 ms measurement cycle, and thus be a value of 5000.
The Trend Duration Count is checked at decision block 560, and if it exceeds a threshold value, the baseline value for all nodes is updated using a stray filter (step 570). In another embodiment, the baseline value for only the nodes qualified nodes identified in step 520 are allowed to update.
In effect, given the interplay of the thresholds via the logic provided in
Returning then to
Effectively, the logic described with respect to
Note that
Although the embodiments described herein have been described with respect to a mutual capacitance-type touch sensitive device, the same concepts would apply to a capacitance to ground-type touch sensitive device. Also, embodiments described herein have been described with respect to a baseline value that is associated each node. A skilled artisan will recognize that the baseline could be associated with groupings of nodes, and this is contemplated within the scope of this disclosure. Further, the skilled artisan will recognize that instead of updating the baseline, node-specific threshold values could be used as a surrogate for the baselines. In such an embodiment, each node's threshold value would be updated based on ambient conditions. The same basic concepts discussed herein apply to such an approach, and are contemplated within the scope of this disclosure.
Number | Name | Date | Kind |
---|---|---|---|
5572205 | Caldwell et al. | Nov 1996 | A |
5730165 | Philipp | Mar 1998 | A |
6452514 | Philipp | Sep 2002 | B1 |
6504530 | Wilson et al. | Jan 2003 | B1 |
6730863 | Gerpheide et al. | May 2004 | B1 |
6977646 | Hauck et al. | Dec 2005 | B1 |
7400318 | Gerpheide et al. | Jul 2008 | B2 |
8004503 | Zotov et al. | Aug 2011 | B2 |
8026904 | Westerman | Sep 2011 | B2 |
8130212 | Umeda | Mar 2012 | B2 |
20040188151 | Gerpheide et al. | Sep 2004 | A1 |
20060267953 | Peterson, Jr. et al. | Nov 2006 | A1 |
20060293864 | Soss | Dec 2006 | A1 |
20080007529 | Paun et al. | Jan 2008 | A1 |
20080136792 | Peng et al. | Jun 2008 | A1 |
20080158145 | Westerman | Jul 2008 | A1 |
20080158146 | Westerman | Jul 2008 | A1 |
20080158147 | Westerman et al. | Jul 2008 | A1 |
20090114456 | Wisniewski | May 2009 | A1 |
20090135157 | Harley | May 2009 | A1 |
20090255737 | Chang et al. | Oct 2009 | A1 |
20100007631 | Chang | Jan 2010 | A1 |
Number | Date | Country | |
---|---|---|---|
20110241907 A1 | Oct 2011 | US |