This relates generally to capacitive sensing of touches on a touch sensor panel, and more particularly, to calibrating touch sensor panels during the fabrication and evaluation process to achieve uniform touch sensitivity among a population of touch sensor panels.
In recent years, touch sensor panels, touch screens, and the like have become available as input devices. Touch screens, in particular, are becoming increasingly popular because of their ease and versatility of operation as well as their declining price. Touch screens can include a touch sensor panel, which can be a clear panel with a touch-sensitive surface, and a display device, such as an LCD panel, that can be positioned partially or fully behind the touch sensor panel or integrated with the touch sensor panel so that the touch-sensitive surface can cover at least a portion of the viewable area of the display device. Touch screens can allow a user to perform various functions by touching (or nearly touching) the touch sensor panel using one or more fingers, styli or other objects at a location often dictated by a user interface (UI) being displayed by the display device. In general, touch screens can recognize a touch event and the position of the touch event on the touch sensor panel, and a computing system can then interpret the touch event in accordance with the display appearing at the time of the touch event, and thereafter can perform one or more actions based on the touch event.
The touch sensor panel can be constructed as an array of touch electrodes and/or pixels, each electrode or pixel capable of sensing a touch event (one or more touches or near-touches) occurring at the location of the electrode or pixel. To determine the locations of one or more touch events, a scan of the touch sensor panel can be performed during which time one or more pixels or electrodes can be evaluated in sequence for touch event activity until an “image” of touch is obtained for the entire panel.
However, depending on the design of the touch sensor panel, the electrodes of a particular panel may have different intrinsic capacitances due, for example, to being different in size and shape and being connected to a touch controller with routing traces of different lengths (i.e., the series resistance of the traces may vary based on their length). As a result, touch sensitivity of the touch panel sensor may not be uniform everywhere on the panel. In addition, changes in temperature and/or humidity can also affect the sensitivity of the touch sensor panel. Without proper calibration, touch sensor panels may not always perform as expected in some conditions.
This relates to calibrating touch sensor panels to achieve uniform touch sensitivity on a particular touch sensor panel and among a population of touch sensor panels. In various embodiments, the calibration process can include setting up one or more scanning parameters to maximize the signal-to-noise ratio (SNR) within a period of time during which the touch sensor panel can be scanned. In other embodiments, an optimal switching rate can be determined during the calibration process to ensure that changes in external operating conditions such as temperature and humidity do not significantly affect the performance and sensitivity of the touch sensor panels.
a illustrates an exemplary digital media player that can include a touch sensing system according to embodiments of the disclosure.
b illustrates an exemplary mobile telephone that can include a touch sensing system according to embodiments of the disclosure.
c illustrates an exemplary personal computer that can include a touch sensing system according to embodiments of the disclosure.
In the following description, reference is made to the accompanying drawings which form a part hereof, and in which it is shown by way of illustration specific embodiments which can be practiced. It is to be understood that other embodiments can be used and structural changes can be made without departing from the scope of the embodiments of this disclosure.
This relates to calibrating touch sensor panels to achieve uniform touch sensitivity on a particular touch sensor panel and among a population of touch sensor panels. In various embodiments, the calibration process can include setting up one or more scanning parameters to maximize the signal-to-noise ratio (SNR) within a period of time during which the touch sensor panel can be scanned. In other embodiments, an optimal switching rate can be determined during the calibration process to ensure that changes in external operating conditions such as temperature and humidity do not significantly affect the performance and sensitivity of the touch sensor panels.
Although embodiments of the disclosure may be described herein with respect to self-capacitance touch sensor panels (for which a touch on an electrode or pixel typically can cause an increase in capacitance of the sensing electrode to panel or system ground), embodiments of the disclosure are not so limited, but can include mutual capacitance touch sensor panels (for which a touch on the panel can cause an increase in capacitance between two neighboring electrodes). Those skilled in the art will understand that the circuitry described and illustrated herein can be easily modified to detect faster charging times and more counts in a given evaluation period as indicators of a touch event. In addition, although embodiments of the disclosure may be described herein with respect to touch sensor panels and touchscreen devices, the capacitive sensing embodiments described herein are not so limited, and can be used for many types of capacitive sensing measurements.
The exemplary touch sensor panel of
When a touch is detected by both subsections of the same split row, a change in capacitance can be detected at the subsections. Because the touch is spread between the two subsections of the split row, the magnitude of the resulting change in capacitance detected by either subsection can be smaller than that of a touch detected solely by one subsection. In such an occurrence, a ratio of the capacitance changes can be calculated to reflect the breakdown of how a touch is spread over the two subsections. For example, a ratio of 20% to 80% can be interpreted as twenty percent of the touch being over one subsection and eighty percent of the touch being over the other subsection. This ratio can also be used to estimate the location of the touch over a non-split conductive region (e.g., non-split rows R0, R2, R3, and R6).
The same concept of using breaks to divide one or more row electrodes as shown in
In various embodiments, different rows and columns of a projection-scan touch sensor panel can be split into subsections as discussed above. In addition, different numbers of the rows and/or columns can be split into two or more subsections. If a row or column is split to more than two subsections, the ratio can be calculated among all of the subsections and reflect the portions of a touch over each subsection. However, the number of breaks in a projection-scan touch sensor panel can be kept to a minimum while still allowing enough data to be collected to enable the processor to disambiguate multiple touches on the panel (i.e., to avoid rotational ambiguity caused by multiple touches detected simultaneously.) One advantage of keeping the number of breaks to a minimum is that, for every additional break in a row, an extra sensor channel may be needed on the touch controller, thus increasing the size of the chipset of the touch sensor panel. This can create a problem, especially in small touch sensor panels where extra space is hard to find. Therefore, to minimize the number of breaks needed for disambiguating multiple touches, the breaks can be incorporated into certain rows and columns to ensure that a touch can always overlap with a single row split and a single column split regardless of the location of the touch on the surface of the touch sensor panel.
System clock generator 306 can generate system clock 308 (e.g., 24 MHz), which can be divided down by a certain amount by divider 310 to produce divided down clock 312 (e.g., 1.5 MHz). Divided down clock 312 can also control timer 330, which can produce gate signal 332 that controls the time period (gate interval) during which the capacitance CSX can be evaluated (e.g., 200 us). Opposite phases (φ1 and φ2) of divided down clock 312 produced by divider 310 can be used to control switches 314 and 316. When switch 314 is open and switches 316 and 322 are closed, capacitance CSX together with integration capacitance CINT can be charged by sourcing output digital to analog converter (IDAC) 320. When switch 314 is closed, switch 316 is open and switch 322 is closed, capacitance CSX can discharge through discharge path 318, and integration capacitance CINT can be charged by IDAC 320. When switch 314 is closed and switches 316 and 322 are open, capacitance CSX can continue to discharge through discharge path 318, but the integration capacitance CINT is no longer charged by IDAC 320. When switches 314 and 322 are open and switch 316 is closed, capacitance CINT can discharge into CSX (assuming CSX is substantially discharged). The various charging and discharging states summarized above are described in more detail below. The voltage at CINT, point (A), can be coupled to the positive input of comparator 324, whose negative input can be held at configurable reference voltage 354.
A single charge/discharge cycle will now be described. Initially, after CINT has discharged into CSX, both CINT and CSX can begin to charge up through current supplied by IDAC 320. At some point during charging, divider 310 can cause switch 316 to open and switch 314 to close, which can cause CSX to discharge through discharge path 318, while CINT continues to charge through IDAC 320. As CINT charges, if the voltage at point (A) exceeds reference voltage 354 (e.g., 1.2V) established at the negative input of comparator 324, output 326 of comparator 324 can transition to a high state. This high state on output 326 can be synchronized to system clock 308 by synchronization circuit 328. In some embodiments, synchronization circuit 328 can be a double sync circuit to delay the opening of switch 322 by several system clock periods to ensure that the voltage at point (A) exceeds reference voltage 354 by a sufficient margin as to prevent noise from toggling comparator 324. Output 326 can also be gated with gate signal 332 (using generic logic gate 334) and provided to counter 336. In some embodiments, counter 336 can begin to increment its count at the system clock rate once the voltage at CSX and CINT exceeds reference voltage 354 (i.e., after output 326 becomes asserted) and gate signal 332 is asserted (i.e., at a logic one or high voltage). Counter 336 can thereafter count up at the system clock rate as long the voltage at CINT remains above reference voltage 354. A high state on synchronization circuit 328 can also open switch 322, which can prevent IDAC 320 from charging CINT any further. When divider 310 causes switch 314 to open and switch 316 to close (with switch 322 still open), CINT can discharge into CSX, and the voltage at point (A) can drop below reference voltage 354, causing comparator output 326 to go low and switch 322 to close, which can begin another charging cycle. In general, therefore, embodiments of the disclosure attempt to maintain a threshold voltage at CINT by sourcing current through IDAC 320 and subtracting current through CSX.
The charging, counting, and discharging operations can be repeated until time t4, when the capacitance measurement phase can end. At time t4, the number of counts N accumulated by the counter can provide an indication of the duty cycle of the comparator (see inverse duty cycle 418 in
Referring again to
In addition, a serial peripheral interface (SPI) 356 can be employed to allow host controller 358 to access reports containing information about the performance of touch controller 300. Firmware module 364 executable by host controller 358 can read and execute these reports and send communications back to touch controller 300 to make changes to the parameters of touch controller 300 during run-time. Such changes can include, but are not limited to, modifying hardware registers, RAM and flash. These changes can be made during factory calibration, repair, or maintenance, often at the direction of personnel running evaluation/calibration programs, and can also be made automatically in the field while the device is in use at the direction of firmware in host controller 358.
Referring back to
In one embodiment, within each LCM blank/idle window, the touch controller can scan each electrode forming the columns and rows of the touch sensor panel to capture their respective capacitance readings, which can then be used to generate a touch image of the touch sensor panel. This process is discussed in detail above with respect to
In one embodiment, a calibration process can be provided during the fabrication and evaluation of the touch sensor panels to maximize the SNR by setting up the amount of time allocated for scanning each electrode as a function of the capacitance contribution from that electrode to the total capacitance of all the electrodes of the panel. That is, instead of allocating equal shares of the LCM blank/idle window for each electrode, a fraction of the LCM blank/idle window that is proportional to each individual electrode's contribution to total panel capacitance can be allocated for scanning the particular electrode. As a result, a larger portion of the LCM blank/idle window can be allocated for scanning channels having relatively large capacitance to ground and, in contrast, a smaller portion of the LCM blank/idle window can be allocated for scanning channels having relatively small capacitance to ground.
In some embodiments, the above-described calibration process can be performed at the factory during fabrication and evaluation of the touch sensor panels. In other embodiments, calibration can be performed by firmware installed on the individual devices at runtime. For example, a runtime algorithm can be set to run when the firmware first boots and the host device has not been factory calibrated. The runtime calibration can dynamically adjust the IDAC current such that all electrodes have the same duty cycle as well as allocate the measurement time for each electrode in a manner proportional to the electrode's relative capacitance to the entire panel. The runtime calibration, in some applications, can remove the need for factory calibration, saving manufacturing time. Additionally, it makes it possible to produce a functional device prior to the calibration stage in the factory, thereby providing more flexibility with regard to where the factory calibration stage can be carried out during the manufacturing process.
In another embodiment, a software gain can be added to each channel so that all channels of the touch sensor panel can perform uniformly with a panel stimulus without regard to each electrode's actual capacitance to ground.
Another aspect of the calibration process can involve determining the optimal duty cycle so that the performance of the touch sensor panel is not significantly affected by external conditions such as changes in temperature and humidity. Touch sensor panels can be heavily dependent on ambient conditions, such as temperature and humidity. Any change in temperature and humidity can drastically impact the intrinsic capacitance of the entire sensor. For example, as the external temperature rises, the capacitance of the electrodes of the touch sensor panel can increase. If the capacitance reaches or passes a certain threshold, the touch sensor panel can gradually lose its sensitivity. At that point, the touch sensor panel may not be able to detect any changes in capacitance even when there is a touch on the panel. Thus, during calibration, the capacitance of the sensor at ambient conditions can be calibrated to a certain duty cycle that can accommodate external conditions such as temperature and humidity changes. Without this calibration step, the temperature/humidity changes can cause the scan to be completely saturated so the touch sensor panel is not able to sense any change in capacitance of the electrodes.
According to one embodiment of the disclosure, calibration of the touch sensor panel can be performed to determine an optimal duty cycle. Ideally, if the host device including the touch sensor panel is always used in ambient conditions, the duty cycle can be optimally set to nearly 100%, which can provide the best touch sensitivity for the panel, at least in theory. As illustrated in
The optimal duty cycle can be determined by experimenting with different duty cycles. This can be done by adjusting various parameters in the firmware of the touch sensor panel at various conditions and monitoring the performance of the touch sensor panel. By adjusting these parameters, an optimal margin in the duty cycle can be determined which can allow the touch sensor panel to function in different operating conditions without sacrificing significant SNR.
The exemplary steps of one method for determining the optimal duty cycle are shown in
In general, the above-disclosed embodiments of the calibration process can ensure that touch sensor panels fabricated using the same process will perform uniformly and normally under any operation conditions.
a illustrates exemplary digital media player 710 that can include a touch sensing system according to embodiments of the disclosure.
b illustrates exemplary mobile telephone 720 that can include a touch sensing system according to embodiments of the disclosure.
c illustrates an exemplary personal computer 744 that can include touch sensor panel 724 and display device 730. The touch sensor panel 724 can be part of a touch sensing system according to embodiments of the disclosure.
Referring again to
Note that one or more of the functions described above can be performed by firmware stored in memory (e.g., memory 350 or memory 360 in
The firmware can also be propagated within any transport medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a “transport medium” can be any medium that can communicate, propagate or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The transport readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic or infrared wired or wireless propagation medium.
Although embodiments of this disclosure have been fully described with reference to the accompanying drawings, it is to be noted that various changes and modifications will become apparent to those skilled in the art. Such changes and modifications are to be understood as being included within the scope of embodiments of this disclosure as defined by the appended claims.
This application claims the benefit of U.S. Provisional Application No. 61/377,828 filed Aug. 27, 2010, the contents of which are incorporated by reference herein in their entirety for all purposes.
Number | Name | Date | Kind |
---|---|---|---|
5483261 | Yasutake | Jan 1996 | A |
5488204 | Mead et al. | Jan 1996 | A |
5825352 | Bisset et al. | Oct 1998 | A |
5835079 | Shieh | Nov 1998 | A |
5880411 | Gillespie et al. | Mar 1999 | A |
6188391 | Seely et al. | Feb 2001 | B1 |
6310610 | Beaton et al. | Oct 2001 | B1 |
6323846 | Westerman et al. | Nov 2001 | B1 |
6690387 | Zimmerman et al. | Feb 2004 | B2 |
7015894 | Morohoshi | Mar 2006 | B2 |
7184064 | Zimmerman et al. | Feb 2007 | B2 |
7663607 | Hotelling et al. | Feb 2010 | B2 |
7986181 | Confalonieri et al. | Jul 2011 | B2 |
8040142 | Bokma et al. | Oct 2011 | B1 |
8072230 | Seguine | Dec 2011 | B1 |
8479122 | Hotelling et al. | Jul 2013 | B2 |
20060026521 | Hotelling et al. | Feb 2006 | A1 |
20060197753 | Hotelling | Sep 2006 | A1 |
20070062739 | Philipp et al. | Mar 2007 | A1 |
20070074913 | Geaghan et al. | Apr 2007 | A1 |
20080158167 | Hotelling et al. | Jul 2008 | A1 |
20080309627 | Hotelling et al. | Dec 2008 | A1 |
20100302198 | Tasher et al. | Dec 2010 | A1 |
20110156839 | Martin et al. | Jun 2011 | A1 |
20110163766 | Geaghan | Jul 2011 | A1 |
20110206017 | Taghavi Nasrabadi et al. | Aug 2011 | A1 |
20110216031 | Chen et al. | Sep 2011 | A1 |
20120050213 | Bokma | Mar 2012 | A1 |
20130106779 | Company Bosch et al. | May 2013 | A1 |
Number | Date | Country |
---|---|---|
2000-163031 | Jun 2000 | JP |
2002-342033 | Nov 2002 | JP |
Entry |
---|
Anonymous. (Jul. 24, 2009). “PSoC® CY8C20x66, CY8C20x66A, CY8C20x46/96, CY8C20x46A/96A, CY8C20x36, CY8C20x36A Technical Reference Manual (TRM),” Cypress Semiconductor, Document No. 001-22219 Rev. *D, 310 ppages. |
Anonymous. (Oct. 20, 2009). “CapSense Sigma-Delta Data Sheet,” Cypress Semiconductor Corporation, Document Number: 001-45840 Rev. *D, 41 pages. |
Lee, M. (Aug. 29, 2008). “Design Guide—CapSense™ Buttons with CSD: AN47456,” Cypress Semiconductor, Document No. 001-47456 Rev. *A, pp. 1-6. |
Lee, S.K. et al. (Apr. 1985). “A Multi-Touch Three Dimensional Touch-Sensitive Tablet,” Proceedings of CHI: ACM Conference on Human Factors in Computing Systems, pp. 21-25. |
Rubine, D.H. (Dec. 1991). “The Automatic Recognition of Gestures,” CMU-CS-91-202, Submitted in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy in Computer Science at Carnegie Mellon University, 285 pages. |
Rubine, D.H. (May 1992). “Combining Gestures and Direct Manipulation,” CHI ' 92, pp. 659-660. |
Westerman, W. (Spring 1999). “Hand Tracking, Finger Identification, and Chordic Manipulation on a Multi-Touch Surface,” A Dissertation Submitted to the Faculty of the University of Delaware in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy in Electrical Engineering, 364 pages. |
Non-Final Office Action mailed Dec. 17, 2013, for U.S. Appl. No. 12/950,693, filed Nov. 19, 2010, 16 pages. |
Non-Final Office Action mailed Jun. 13, 2014, for U.S. Appl. No. 12/950,693, filed Nov. 19, 2010, 13 pages. |
Number | Date | Country | |
---|---|---|---|
20120050229 A1 | Mar 2012 | US |
Number | Date | Country | |
---|---|---|---|
61377828 | Aug 2010 | US |