Capacitive sense touch device with hysteresis threshold

Information

  • Patent Grant
  • 8487912
  • Patent Number
    8,487,912
  • Date Filed
    Monday, March 31, 2008
    16 years ago
  • Date Issued
    Tuesday, July 16, 2013
    11 years ago
Abstract
In one embodiment, control circuitry receives an indication of a current position of an input object on a capacitive touch sense device. The control circuitry determines whether a difference between a previous position and the current position exceeds a predetermined hysteresis threshold. If the determined difference does not exceed the predetermined hysteresis threshold, the control circuitry masks the current position of the input object on the capacitive touch sense device.
Description
TECHNICAL FIELD

The present disclosure relates generally to user interfaces utilizing capacitive touch sensing.


BACKGROUND

Touch screens, touch pads, series of touch buttons, and other capacitive touch sense devices determine the presence of a finger or other object relative to the device according to capacitive changes caused by the finger or object. Some capacitive touch sense devices are integrated with mechanical buttons in addition to the capacitive touch sense input. The FIG. 1A shows an example of a radial slider having integrated mechanical buttons.


Referring to FIG. 1A, the front surface 10 includes structures 15 associated with a capacitor array. As a finger slides over these structures 15 capacitive changes can be detected to track the movement and position of the finger relative to the structures 15. The back surface 11 includes dome switches 16. If the finger presses against the front surface 10 using a force exceeding a threshold, one of the dome switches 16 contacts a gimble plate thereby generating a corresponding signal.


Referring now to FIG. 1B, when a finger lightly touches position 21, and then thereafter slides along the path 22, a data output is registered. The data output matches the user's intended input by correctly identifying the path 23 extending from the originating position 24. The data output also correctly reports that no button presses took place.


Referring now to FIG. 1C, when a finger strongly presses against the position 31, a data output is registered. The data output indicates a press 33 on the upper dome, which matches the user's intended input (the button press at position 31). However, the data output also registers a touch 32, and possibly some small movement (not shown), via capacitive sensing. The user may have intended to only manipulate the upper dome switch; however, the presence of the finger near the corresponding capacitors causes the touch 32 to be registered whenever the press 33 is registered.


The data output identifying both the touch position 32 and the button press 33 is reported to a software application, and because the user did not intend the touch input, the software program receives partially invalid data. The disclosure that follows solves this and other problems.


SUMMARY OF THE INVENTION

In one embodiment, a system includes a radial slider coupled to capacitive touch sense circuitry that is configured to output an indication of a position of an input object relative to a surface of the radial slider. Below the surface of the radial slider, the system can include at least one button configured to change positions according to whether the input object is pressed against the surface of the radial slider using a force that exceeds a force threshold. Control circuitry receives, from the capacitive touch sense circuitry, a signal indicating a current radial position of the input object on the surface of the radial slider. The control circuitry determines a difference between the current radial position and a previous radial position. The control circuitry then compares the determined difference to a hysteresis value. The control circuitry then masks the current radial position from an output according to the comparison, which prevents a software program from receiving a partially erroneous input.


When the system receives an indication that the input object pressed against the surface of the radial slider using a force that exceeds a force threshold, the system outputs the press indication independently of whether the current radial position is masked.


The hysteresis value can be programmable. The radial slider can be mapped to any number of positions, such as three hundred and sixty positions.


Another embodiment includes an apparatus with control circuitry configured to be connected to capacitive touch sense devices having radial sliders. The control circuitry is operable to receive an indication of a current radial position of an input object on a radial slider of a capacitive touch sense device, to determine a difference between the current radial position and a previous radial position, to compare the determined difference to a threshold value, and to output the current radial position according to the comparison.


The control circuitry can also be operable to output indications of input object presses without filtering, whereas the control circuitry filters indications of input object touches according to the comparison.


The control circuitry can also be operable to identify a first threshold position and a second threshold position, the threshold positions corresponding to the previous radial position, and then compare the threshold positions to determine if said positions are adjacent to a predefined wrap-around position on the radial slider. The comparison can include determining whether the first threshold position is greater than the second threshold. If the threshold positions are not adjacent to the predefined wrap-around position, the control circuitry is operable to mask the current radial position if the current radial position is between the threshold positions. If the threshold positions are adjacent to the predefined wrap-around position, the control circuitry is operable to mask the current radial position if the current radial position is not between the threshold positions.


The control circuitry can be operable to determine whether the previous radial position is less than the threshold value. If the previous radial position is not less than the threshold value, the control circuitry is operable to determine a first threshold position by subtracting the threshold value from the previous radial position. If the previous radial position is less than the threshold value, the control circuitry is operable to determine the first threshold position by first subtracting the previous radial position from the threshold value, and then subtracting the difference from the number of radial positions mapped to the radial slider.


The control circuitry can be operable to determine whether the sum of the previous radial position and the number of radial positions mapped to the radial slider is greater than the threshold value. If the sum is not greater than the threshold value, the control circuitry is operable to determine the second threshold position by adding the threshold value to the previous radial position. If the sum is greater than the threshold value, the control circuitry is operable to determine the second threshold position by subtracting the number of radial positions from the sum of the previous radial position and the threshold value.


The control circuitry can be operable to calculate a rate that the input object has moved across the radial slider by dividing a determined movement distance by an amount of time. The control circuitry is operable to then compare the calculated rate to a threshold rate, and output the current radial position according to this comparison.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1A shows an example of a radial slider.



FIGS. 1B-C illustrate operation of the example radial slider shown in FIG. 1A.



FIG. 2 illustrates example control circuitry that operates with capacitive touch hardware to mask certain detected touch positions.



FIGS. 3A-B illustrate an example operation of the control circuitry shown in



FIG. 2.



FIG. 4 is a flow chart illustrating general operation of the control circuitry shown in FIG. 2.



FIGS. 5A and 5B include a flow chart illustrating a process that can be used by the control circuitry shown in FIG. 2 to account for a wrap-around position on the radial slider.





DESCRIPTION OF EXAMPLE EMBODIMENTS

Several preferable examples of the present application will now be described with reference to the accompanying drawings. Various other examples of the invention are also possible and practical. This application may be exemplified in many different forms and should not be construed as being limited to the examples set forth herein.


The figures listed above illustrate preferable examples of the application and the operation of such examples. In the figures, the size of the boxes is not intended to represent the size of the various physical components. Where the same element appears in multiple figures, the same reference numeral is used to denote the element in all of the figures where it appears. When two elements operate differently, different reference numerals are used regardless of whether the two elements are the same class.


Only those parts of the various units are shown and described which are necessary to convey an understanding of the examples to those skilled in the art. Those parts and elements not shown may be conventional and known in the art.



FIG. 2 illustrates example control circuitry that operates with capacitive touch hardware to mask certain detected touch positions.


The control circuitry 60 communicates with radial slider hardware 49 or other capacitive touch hardware to filter touch indications 69 received from the hardware 49 before providing a filtered output 70 to a software application. In other words, certain ones of the touch indications 69 are filtered by the control circuitry 60 to generate the filtered output 70. A more detailed explanation of how the control circuitry 60 determines which touch indications to filter will be provided later in reference to FIG. 4. Also, configuration of the scrolling hysteresis module 50 and the registers 51, 52, 54 and 57 will be described in more detail with reference to FIG. 4.


By filtering certain touch indications, the control circuitry 60 reduces or eliminates invalid data reported to the software application. Accordingly, the radial slider hardware 49 is made interoperable with a great variety of programs and drivers. Moreover, since invalid data is more commonly output by physically smaller radial sliders, the filtering by the control circuitry 60 provides hardware designers new flexibility in reducing the physical size of radial slider hardware.



FIGS. 3A-B illustrate an example operation of the control circuitry shown in FIG. 2.


Referring to FIG. 3A, when a finger lightly touches the touch device moving along the path 81, the control circuitry 60 applies a hysteresis threshold 83 that prevents part of the movement from being reported. In other words, the output data includes the reported path 82, which masks a portion of the finger path 81.


Referring now to FIG. 3B, when the finger presses the touch device at location 84, the control circuitry 60 again applies the hysteresis threshold that prevents the touch location from being reported. In other words, the output data includes only the button press 85, and no light touch position, avoiding providing invalid data to the software application.



FIG. 4 is a flow chart illustrating operation of the control circuitry shown in FIG. 2.


Referring to both FIGS. 2 and 4, if the finger is present in decision box 401, then in decision box 402 the scrolling hysteresis module 50 determines whether the first touch register 57 is set to “0” or any other representation of “false”. If the register 57 is set to “0”, then in block 403 the module 50 stores the detected touch position in the register 51. The module 50 also sets the moving register 54 to “0” in block 404. The moving register 54 is a memory indicating whether there was a previous output position. The module 50 also masks or otherwise filters the detected touch position from the software application in block 405. The module 50 also sets the first touch register 57 to “0” in block 406.


If the first touch register 57 was not set to “0” in decision box 402, then in decision box 407 the module 50 determines whether the moving register 54 is set to “1” or any other representation of “true”. If the moving register 50 is set to “1”, then in block 408 the module 50 outputs the detected touch position to the software application.


If the moving register 54 was not set to “1” in decision box 407, then in block 409 the module 50 stores the detected touch position in register 52. In block 410, the module 50 calculates a difference between values from registers 51 and 52. In decision box 411, the calculated difference is compared to a hysteresis threshold, and if the calculated difference is not less than the hysteresis threshold, in block 412 the module 50 outputs the detected touch position in block 412. The programmable hysteresis value may be set at any amount, and for example, can be three degrees when a radial slider is mapped to three hundred and sixty positions. In block 413, the module 50 sets the moving register 54 to “1”.


If the calculated difference is less than the hysteresis threshold in decision box 411, then in block 414 the module 50 overwrites position register 51 with the value stored in position register 52. In block 415, the module 50 sets the moving register 54 to “0”. In block 416, the module 50 masks or otherwise filters the detected touch position from the software application.


If no finger is present on the touch device in decision box 401, then in block 417 the module 50 sets the moving register 54 to “0”. In block 418, the module 50 sets the first touch register 57 to “1”. No data is output to the software application in block 419.



FIGS. 5A and 5B include a flow chart illustrating a process that can be used by the control circuitry shown in FIG. 2 to account for a wrap-around position on the radial slider.


After having described the general operation of the control circuitry 60 with reference to FIGS. 2 and 4, reference will now be made to FIGS. 2 and 5A-B to describe an additional process that can be performed to prevent the hysteresis threshold from being erroneously applied when finger touches are detected adjacent to a wrap-around point on the radial slider. On a typical radial slider, the wrap-around point occurs when finger touches are detected near the twelve o'clock position; therefore, the flowchart described herein is described with reference to this typical example. However, it should be apparent that the principals described below can be applied to other radial sliders configured with a wrap-around position mapped to any location on the radial slider.


If the first touch register 57 is set to “0”, in block 501 the module 50 determines whether the position stored in register 51 (hereinafter referred to as “position1”) is less than a programmable hysteresis value (hereinafter referred to as “H”). In the present example the detected position is a value between zero and three hundred and fifty nine, and thus it can be compared to a hysteresis value, such as three. If position1 is less than H, then in block 502A the module 50 identifies a value X by subtracting position1 from H. In block 503, the module 50 identifies a first hysteresis threshold position by subtracting the identified value X from the sum the interpolation amount (hereinafter referred to as “1”) plus one. The interpolation amount is equal to the largest position, which in the present example is three hundred and fifty nine on the radial slider mapped to three hundred and sixty positions. It should be apparent that the sum of 1+I can also be expressed as the total number of positions on the radial slider, which is three hundred and sixty in the present example. If position1 is not less than H, then in block 502B the first hysteresis threshold is identified by subtracting H from position1.


In block 504, the module 50 determines whether the sum of position1 and I is greater than H. If the sum is greater than H, in block 505A the module 50 identifies the second hysteresis threshold position by subtracting the sum of I+1 from the sum of position1+H. Otherwise, if the sum is not greater than H, in block 505B the module 50 identifies the second hysteresis threshold position by adding position1 and H.


In block 506, the module 50 determines whether the moving register 54 is set to “1”. If the register 54 is set to “1”, in block 507A the module 50 stores the detected position in register 51 and outputs the detected position.


Continuing now with reference to FIG. 5B, if the register 54 is not set to “1”, in block 507B the module 50 determines whether the first hysteresis threshold position is greater than the second hysteresis threshold position. If the first hysteresis threshold is greater, the hysteresis thresholds are not adjacent to the wrap-around position, and in block 508A the module 50 determines whether the detected position is either less than the first hysteresis threshold or greater than the second hysteresis threshold. For example, if the threshold positions are three and nine, then the detected position is not between these values if the detected position is within the range of zero to two or ten to three hundred and fifty nine. If either is true, the detected position is not between the hysteresis thresholds, and in block 509A the module 50 sets the moving register 54 to “1”, sets the register 51 with the detected position, and outputs the detected position. If neither is true, the detected position is between the hysteresis thresholds, and in block 509B the module 50 sets the moving register 54 to “0” and masks the detected position.


If the first hysteresis threshold is greater than the second hysteresis threshold, the hysteresis thresholds are adjacent to a wrap-around position, and in block 508B the module 50 determines whether the detected position is both less than the first hysteresis position and greater than the second hysteresis position. If false, the detected position is between the hysteresis thresholds, but not within the hysteresis range due to the proximity of the hysteresis thresholds to the wrap-around position; therefore, the module 50 performs block 509A. If true, the detected position is not between the hysteresis thresholds, but still within the hysteresis range due to the proximity of the hysteresis thresholds to the wrap-around position, therefore, the module 50 performs block 509B.


Several preferable examples have been described above with reference to the accompanying drawings. Various other examples of the invention are also possible and practical. The system may be exemplified in many different forms and should not be construed as being limited to the examples set forth above. For example, it should be understood that the principles described with respect to the above example could be implemented using a single partitioned register, or no registers at all. Also, in the above example, the hysteresis threshold is based a difference between two positions. In other examples, the hysteresis threshold could also be based on a rate of movement, so that if a rate of movement of the finger does not exceed a movement rate threshold, the detected touch position of the finger is masked from the software application. The movement rate threshold can be applied in addition to the distance threshold, or instead of the distance threshold.


It should be apparent that the principals described can also be used to filter false touch indications on radial sliders that do not include strong press buttons, mechanical or otherwise. In such embodiments, the system can filter small movements or other unintended touch indications that do not exceed the hysteresis threshold.


The figures listed above illustrate preferable examples of the application and the operation of such examples. In the figures, the size of the boxes is not intended to represent the size of the various physical components. Where the same element appears in multiple figures, the same reference numeral is used to denote the element in all of the figures where it appears.


Only those parts of the various units are shown and described which are necessary to convey an understanding of the examples to those skilled in the art. Those parts and elements not shown are conventional and known in the art.


The system described above can use dedicated processor systems, micro controllers, programmable logic devices, or microprocessors that perform some or all of the operations. Some of the operations described above may be implemented in software and other operations may be implemented in hardware.


For the sake of convenience, the operations are described as various interconnected functional blocks or distinct software modules. This is not necessary, however, and there may be cases where these functional blocks or modules are equivalently aggregated into a single logic device, program or operation with unclear boundaries. In any event, the functional blocks and software modules or features of the flexible interface can be implemented by themselves, or in combination with other operations in either hardware or software.


Having described and illustrated the principles of the invention in a preferable embodiment thereof, it should be apparent that the invention may be modified in arrangement and detail without departing from such principles. I claim all modifications and variation coming within the spirit and scope of the following claims.

Claims
  • 1. A system comprising: a radial slider coupled to capacitive touch sense circuitry that is configured to output an indication of a position of an input object relative to a surface of the radial slider; andcontrol circuitry comprising a first position register, a second position register and a scrolling hysteresis module, the scrolling hysteresis module to:receive a first signal from the capacitive touch sense circuitry, the first signal indicating a previous radial position of the input object on the surface of the radial slider;mask the previous radial position from an output of the control circuitry;store the previous radial position in the first position register;receive a second signal from the capacitive touch sense circuitry, the second signal indicating a current radial position of the input object on the surface of the radial slider;store the current radial position in the second position register;determine a difference between the current radial position stored in the second position register and the previous radial position stored in the first position register;compare the determined difference to a hysteresis value, wherein the hysteresis value is a threshold representing a specified amount of angle for outputting or masking the current radial position;mask the current radial position from the output of the control circuitry when the determined difference is less than the hysteresis value; andoutput the current radial position from the output of the control circuitry when the determined difference is not less than the hysteresis value.
  • 2. The system of claim 1 further comprising a button located below the surface of the radial slider, the button configured to change positions if the input object is pressed against the surface of the radial slider using a force that exceeds a force threshold, and wherein the control circuitry is further operable to: receive an indication that the input object pressed against the surface of the radial slider using a force that exceeds the force threshold; andoutput the press indication independently of whether the current radial position is masked.
  • 3. The system of claim 1 wherein the hysteresis value is programmable.
  • 4. An apparatus comprising control circuitry, wherein the control circuit comprising a first position register, a second position register and a scrolling hysteresis module, the control circuitry operable to: receive a first indication of a previous radial position of an input object on a radial slider of a capacitive touch sense device;store the previous radial position in a first position register;mask the previous radial position from an output of the control circuitry;receive a second indication of a current radial position of the input object on the radial slider of the capacitive touch sense device;store the current radial position in a second position register; determine a difference between the current radial position stored in the first position register and the previous radial position stored in the second position register;compare the determined difference to a threshold value, the threshold value representing a specified amount of angle for outputting or masking the current radial position; andmask an output the current radial position according to the comparison, when the determined difference is less than the threshold value; andoutput the current radial position when the determined difference is not less than the threshold value.
  • 5. The apparatus of claim 4 wherein the control circuitry is further operable to: output indications of input object presses without filtering; andfilter indications of input object touches according to the comparison.
  • 6. The apparatus of claim 4 wherein the control circuitry is further operable to: identify a first threshold position and a second threshold position, the threshold positions corresponding to the previous radial position;compare the threshold positions to determine if said positions are adjacent to a predefined wrap-around position on the radial slider; andif the threshold positions are not adjacent to the predefined wrap-around position, mask the current radial position if the current radial position is between the threshold positions.
  • 7. The apparatus of claim 6 wherein the control circuitry is further operable to: if the threshold positions are adjacent to the predefined wrap-around position, mask the current radial position if the current radial position is not between the threshold positions.
  • 8. The apparatus of claim 6, wherein the control circuitry is further operable to: determine whether the threshold positions are adjacent to a predefined wrap-around position on the radial slider according to whether the first threshold position is greater than the second threshold.
  • 9. The apparatus of claim 4 wherein the threshold value is selected according to a user input.
  • 10. The apparatus of claim 4 wherein the radial slider is mapped to three hundred and sixty positions.
  • 11. The apparatus of claim 4 wherein the control circuitry is further operable to: determine whether the previous radial position is less than the threshold value;if the previous radial position is not less than the threshold value, determine a first threshold position by subtracting the threshold value from the previous radial position; andif the previous radial position is less than the threshold value, determine the first threshold position by first subtracting the previous radial position from the threshold value, and then subtracting the difference from the number of radial positions mapped to the radial slider.
  • 12. The apparatus of claim 11 wherein the control circuitry is further operable to: determine whether the sum of the previous radial position and the number of radial positions mapped to the radial slider is greater than the threshold value;if the sum is not greater than the threshold value, determine the second threshold position by adding the threshold value to the previous radial position; andif the sum is greater than the threshold value, determine the second threshold position by subtracting the number of radial positions from the sum of the previous radial position and the threshold value.
  • 13. The apparatus of claim 4, wherein the control circuitry is further operable to: calculate a rate that the input object has moved across the radial slider by dividing the determined distance by an amount of time;compare the calculated rate to a threshold rate; andoutput the current radial position according to both of the comparisons.
  • 14. A method comprising: detecting a first radial position of an input object on a radial slider of a capacitive touch sense device;storing the first radial position;masking, by a control circuitry, wherein the control circuit comprising a first radial position register, a second radial position register and a scrolling hysteresis module, the first radial position from being output from the control circuitry;detecting a second radial position of the input object on the radial slider of the capacitive touch sense device;determining a difference between the detected second radial position and the previously detected first radial position;comparing the determined difference to a hysteresis value, the hysteresis value representing a specified amount of angle for outputting or masking the detected second radial position; andfiltering the detected second radial position based at least in part on the determined difference being less than the hysteresis value.
  • 15. The method of claim 14 further comprising: receiving an indication that the input object pressed against the radial slider using an amount of force exceeding a force threshold; andoutputting the press indication independently of whether the detected radial position is filtered.
  • 16. The method of claim 14 further comprising: determining whether the previously detected radial position is less than a threshold value;if the previously detected radial position is not less than the threshold value, determining a first threshold position by subtracting the threshold value from the previously determining radial position; andif the previously detected radial position is less than the threshold value, determining the first threshold position by subtracting the previously detected radial position from the threshold value, and then subtracting the difference from the number of radial positions mapped to the radial slider.
  • 17. The method of claim 16 wherein the control circuitry is further operable to: determining whether the sum of the previously detected radial position and the number of radial positions mapped to the radial slider is greater than the threshold value;if the sum is not greater than the threshold value, determining the second threshold position by adding the threshold value to the previously detected radial position; andif the sum is greater than the threshold value, determining the second threshold position by subtracting the number of radial positions from the sum of the previously detected radial position and the threshold value.
  • 18. The method of claim 17 further comprising: comparing the threshold positions to determine if said positions are adjacent to a predefined wrap-around position on the radial slider;if the threshold positions are not adjacent to the predefined wrap-around position, masking the current radial position if the current radial position is between the threshold positions.
  • 19. The method of claim 18 further comprising: if the threshold positions are adjacent to the predefined wrap-around position, masking the current radial position if the current radial position is not between the threshold positions.
  • 20. The method of claim 14 wherein the detected radial position is filtered according to a movement rate threshold.
CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority from U.S. provisional application No. 61/025,699, filed Feb. 1, 2008, which is incorporated by reference in its entirety for all purposes.

US Referenced Citations (178)
Number Name Date Kind
4264903 Bigelow Apr 1981 A
4283713 Philipp Aug 1981 A
4438404 Philipp Mar 1984 A
4475151 Philipp Oct 1984 A
4497575 Philipp Feb 1985 A
4736097 Philipp Apr 1988 A
4736191 Matzke et al. Apr 1988 A
4773024 Faggin et al. Sep 1988 A
4802103 Faggin et al. Jan 1989 A
4876534 Mead et al. Oct 1989 A
4879461 Philipp Nov 1989 A
4935702 Mead et al. Jun 1990 A
4953928 Anderson et al. Sep 1990 A
4962342 Mead et al. Oct 1990 A
5049758 Mead et al. Sep 1991 A
5055827 Philipp Oct 1991 A
5059920 Anderson et al. Oct 1991 A
5068622 Mead et al. Nov 1991 A
5073759 Mead et al. Dec 1991 A
5083044 Mead et al. Jan 1992 A
5095284 Mead Mar 1992 A
5097305 Mead et al. Mar 1992 A
5107149 Platt et al. Apr 1992 A
5109261 Mead et al. Apr 1992 A
5119038 Anderson et al. Jun 1992 A
5120996 Mead et al. Jun 1992 A
5122800 Philipp Jun 1992 A
5126685 Platt et al. Jun 1992 A
5146106 Anderson et al. Sep 1992 A
5160899 Anderson et al. Nov 1992 A
5165054 Platt et al. Nov 1992 A
5166562 Allen et al. Nov 1992 A
5204549 Platt et al. Apr 1993 A
5243554 Allen et al. Sep 1993 A
5248873 Allen et al. Sep 1993 A
5260592 Mead et al. Nov 1993 A
5270963 Allen et al. Dec 1993 A
5276407 Mead et al. Jan 1994 A
5289023 Mead Feb 1994 A
5303329 Mead et al. Apr 1994 A
5305017 Gerpheide Apr 1994 A
5324958 Mead et al. Jun 1994 A
5331215 Allen et al. Jul 1994 A
5336936 Allen et al. Aug 1994 A
5339213 O'Callaghan Aug 1994 A
5349303 Gerpheide Sep 1994 A
5374787 Miller et al. Dec 1994 A
5381515 Platt et al. Jan 1995 A
5384467 Plimon et al. Jan 1995 A
5408194 Steinbach et al. Apr 1995 A
5488204 Mead et al. Jan 1996 A
5495077 Miller et al. Feb 1996 A
5541878 Lemoncheck et al. Jul 1996 A
5543588 Bisset et al. Aug 1996 A
5543590 Gillespie et al. Aug 1996 A
5543591 Gillespie et al. Aug 1996 A
5555907 Philipp Sep 1996 A
5565658 Gerpheide et al. Oct 1996 A
5566702 Philipp Oct 1996 A
5629891 Lemoncheck et al. May 1997 A
5648642 Miller et al. Jul 1997 A
5682032 Philipp Oct 1997 A
5730165 Philipp Mar 1998 A
5757368 Gerpheide et al. May 1998 A
5763909 Mead et al. Jun 1998 A
5767457 Gerpheide et al. Jun 1998 A
5796183 Hourmand et al. Aug 1998 A
5812698 Platt et al. Sep 1998 A
5841078 Miller et al. Nov 1998 A
5844265 Mead et al. Dec 1998 A
5854625 Frisch et al. Dec 1998 A
5861583 Schediwy et al. Jan 1999 A
5861875 Gerpheide Jan 1999 A
5864242 Allen et al. Jan 1999 A
5864392 Winklhofer et al. Jan 1999 A
5880411 Gillespie et al. Mar 1999 A
5889236 Gillespie et al. Mar 1999 A
5914465 Allen et al. Jun 1999 A
5914708 Lagrange et al. Jun 1999 A
5920310 Faggin et al. Jul 1999 A
5926566 Wang et al. Jul 1999 A
5942733 Allen et al. Aug 1999 A
5943052 Allen et al. Aug 1999 A
5969513 Clark Oct 1999 A
6023422 Allen et al. Feb 2000 A
6028271 Gillespie et al. Feb 2000 A
6028959 Wang et al. Feb 2000 A
6097432 Mead et al. Aug 2000 A
6148104 Wang et al. Nov 2000 A
6185450 Seguine et al. Feb 2001 B1
6188228 Philipp Feb 2001 B1
6188391 Seely et al. Feb 2001 B1
6222528 Gerpheide et al. Apr 2001 B1
6239389 Allen et al. May 2001 B1
6249447 Boylan et al. Jun 2001 B1
6262717 Donohue et al. Jul 2001 B1
6280391 Olson et al. Aug 2001 B1
6288707 Philipp Sep 2001 B1
6304014 England et al. Oct 2001 B1
6320184 Winklhofer et al. Nov 2001 B1
6323846 Westerman et al. Nov 2001 B1
6326859 Goldman et al. Dec 2001 B1
6377009 Philipp Apr 2002 B1
6380929 Platt Apr 2002 B1
6380931 Gillespie et al. Apr 2002 B1
6414671 Gillespie et al. Jul 2002 B1
6430305 Decker Aug 2002 B1
6441073 Tanaka et al. Aug 2002 B1
6452514 Philipp Sep 2002 B1
6457355 Philipp Oct 2002 B1
6466036 Philipp Oct 2002 B1
6473069 Gerpheide Oct 2002 B1
6489899 Ely et al. Dec 2002 B1
6498720 Glad Dec 2002 B2
6499359 Washeleski et al. Dec 2002 B1
6522128 Ely et al. Feb 2003 B1
6523416 Takagi et al. Feb 2003 B2
6534970 Ely et al. Mar 2003 B1
6535200 Philipp Mar 2003 B2
6570557 Westerman et al. May 2003 B1
6587093 Shaw et al. Jul 2003 B1
6610936 Gillespie et al. Aug 2003 B2
6624640 Lund et al. Sep 2003 B2
6639586 Gerpheide Oct 2003 B2
6642857 Schediwy et al. Nov 2003 B1
6649924 Philipp et al. Nov 2003 B1
6667740 Ely et al. Dec 2003 B2
6673308 Hino et al. Jan 2004 B2
6677932 Westerman Jan 2004 B1
6680731 Gerpheide et al. Jan 2004 B2
6683462 Shimizu Jan 2004 B2
6705511 Dames et al. Mar 2004 B1
6714817 Daynes et al. Mar 2004 B2
6730863 Gerpheide et al. May 2004 B1
6750852 Gillespie et al. Jun 2004 B2
6788221 Ely et al. Sep 2004 B1
6798218 Kasperkovitz Sep 2004 B2
6809275 Cheng et al. Oct 2004 B1
6856433 Hatano et al. Feb 2005 B2
6873203 Latham, II et al. Mar 2005 B1
6888538 Ely et al. May 2005 B2
6893724 Lin et al. May 2005 B2
6969978 Dening Nov 2005 B2
6975123 Malang et al. Dec 2005 B1
7046230 Zadesky et al. May 2006 B2
7119550 Kitano et al. Oct 2006 B2
20020063688 Shaw et al. May 2002 A1
20020191029 Gillespie et al. Dec 2002 A1
20030025679 Taylor et al. Feb 2003 A1
20030062889 Ely et al. Apr 2003 A1
20030063428 Nishi Apr 2003 A1
20030080755 Kobayashi May 2003 A1
20030156098 Shaw et al. Aug 2003 A1
20030160808 Foote et al. Aug 2003 A1
20030183864 Miyazawa Oct 2003 A1
20030183884 Miyazawa Oct 2003 A1
20030184315 Eberlein Oct 2003 A1
20040169594 Ely et al. Sep 2004 A1
20040178989 Shahoian et al. Sep 2004 A1
20040178997 Gillespie et al. Sep 2004 A1
20040252109 Trent et al. Dec 2004 A1
20040263864 Lukacs et al. Dec 2004 A1
20050021269 Ely et al. Jan 2005 A1
20050024341 Gillespie et al. Feb 2005 A1
20050052425 Zadesky et al. Mar 2005 A1
20050073302 Hibbs et al. Apr 2005 A1
20050073322 Hibbs et al. Apr 2005 A1
20050083110 Latham, II et al. Apr 2005 A1
20060032680 Elias et al. Feb 2006 A1
20060097991 Hotelling et al. May 2006 A1
20060113974 Kan et al. Jun 2006 A1
20060164142 Stanley Jul 2006 A1
20060273804 Delorme et al. Dec 2006 A1
20070236450 Colgate et al. Oct 2007 A1
20070291016 Philipp Dec 2007 A1
20080024455 Lee et al. Jan 2008 A1
20080168478 Platzer et al. Jul 2008 A1
20090109173 Fu Apr 2009 A1
Non-Patent Literature Citations (14)
Entry
U.S. Appl. No. 11/489,944, “Uninterrupted Radial Capacitive Sense Interface”, filed Jul. 19, 2006; 49 pages.
USPTO Notice of Allowance for U.S. Appl. No. 11/489,944 dated Apr. 9, 2007; 7 pages.
USPTO Notice of Allowance for U.S. Appl. No. 11/489,944 dated May 24, 2007; 2 pages.
Chapweske, Adam; “The PS/2 Mouse Interface,” PS/2 Mouse Interfacing, 2001, retrieved on May 18, 2006; 11 pages.
Cypress Semiconductor Corporation, “CY8C21x34 Data Sheet,” CSR User Module, CSR V.1.0; Oct. 6, 2005; 36 pages.
Cypress Semiconductor Corporation, “Cypress Introduces PSoC(TM)-Based Capacitive Touch Sensor Solution,” Cypress Press Release; May 31, 2005; <http://www.cypress.com/portal/server>; retrieved on Feb. 5, 2007; 4 pages.
Cypress Semiconductor Corporation, “FAN Controller CG6457AM and CG6462AM,” PSoC Mixed Signal Array Preliminary Data Sheet; May 24, 2005; 25 pages.
Cypress Semiconductor Corporation, “PSoC CY8C20x34 Technical Reference Manual (TRM),” PSoC CY8C20x34 TRM, Version 1.0, 2006; 218 pages.
Cypress Semiconductor Corporation, “PSoC Mixed-Signal Controllers,” Production Description; <http://www.cypress.com/portal/server>; retrieved on Sep. 27, 2005; 2 pages.
Cypress Semiconductor Corporation, “Release Notes srn017,” Jan. 24, 2007; 3 pages.
Lee, Mark; “EMC Design Considerations for PSoC CapSense Applications,” Cypress Semiconductor Corporation, Application Note AN2318; Sep. 16, 2005; 6 pages.
Sedra, Adel S. et al., “Microelectronic Circuits,” 3rd Edition, Oxford University Press, pp. xiii-xx and 861-883, 1991; 20 pages.
Seguine, Ryan; “Layout Guidelines for PSoC CapSense,” Cypress Semiconductor Corporation, Application Note AN2292; Jul. 22, 2005; 13 pages.
Van Ess, David; “Simulating a 555 Timer with PSoC,” Cypress Semiconductor Corporation, Application Note AN2286, May 19, 2005; 10 pages.
Provisional Applications (1)
Number Date Country
61025699 Feb 2008 US