Abstract:
An apparatus comprises touch screen interface and signal processing circuit. Within touch screen interface, there are switching circuits configured to be coupled to at least one of a plurality of column electrodes, and there are touch detection circuits configured to be coupled to at least one of a plurality of row electrodes. The signal processing circuit is coupled to each switching circuit and each touch detection circuit so as to be able to selectively activate the plurality of switching circuits and touch detection circuits to identify a zone for a touch event. The signal processing circuit determines first, second, third, and fourth resistances for the zone for the touch event and determines a set of coordinates and pressure for the touch event from its first, second, third, and fourth resistances. A zone controller, wherein the first and second rows are previously enabled, but a third row is not enabled.

Description:
PRIORITY 
       [0001]    The present document claims priority from Provisional Application No. 61/610,752, filed Mar. 14, 2012, entitled “PROGRAMMABLE RESISTIVE MULTI-TOUCH DETECTIONS AND REGIONALIZED RESISTIVE MULTI-TOUCH SENSING” which is hereby incorporated by reference in its entirety. 
     
    
     TECHNICAL FIELD 
       [0002]    The invention relates generally to a touch screen controller and, more particularly, to a resistive touch screen controller. 
       BACKGROUND 
       [0003]    Turning to  FIG. 1 , an example of a conventional 4-wire interface system  100  can be seen. When a touch event occurs on the touch screen  102 , the pressure applied to the touch screen  102  allows the column and row sheets of the touch screen  102  to intersect at the location of the touch event. To resolve this location, the touch screen interface  108  (which generally resides in the touch screen controller  104  and which can includes drivers and switches) is able to selectively activate the row sheet or column sheet of the touch screen  102  so at to allow the analog-to-digital converter (ADC)  112  (which can, for example, be a successive approximation register (SAR) ADC) to measure the resistances of for the row and column sheets. The pre-processing circuit  114  is then able to store the measured (and digitized) resistances and interpolate the position of the touch event on the touch screen  102 . This interpolated position can then be passed to the host processor  106  though the host interface  116 . 
         [0004]    With these types of systems (i.e., system  100 ), there are some drawbacks. First, it is difficult to resolve multiple, simultaneous touch events with conventional 4-wire or 5-wire systems, usually requiring sophisticated algorithms to resolve the multiple, simultaneous touch events. Second, interpolation within the pre-processing circuit  114  can be costly in terms of power consumption and/or area. Therefore, there is a need for an improved resistive touch screen controller. 
         [0005]    Some other conventional systems are: U.S. Pat. No. 6,492,979; U.S. Pat. No. 6,504,530; PCT Publ. No. WO2010117946; PCT Publ. No. WO2011087669; and Rick Downs, “Using resistive touch screens for human/machine interface,”  TI Analog Applications Journal,  Third Quarter 2005. 
       SUMMARY 
       [0006]    An embodiment of the present invention, accordingly, provides a method for determining respective first and second positions for first and second touch events that are substantially simultaneous on a touch screen having a plurality of zones. The method comprises identifying a first zone of the plurality of zones, wherein the first zone is associated with the first touch event; resolving the first position in the first zone by: activating a first column and a first row so as to measure first, second, third, and fourth resistances associated with the first touch event; generating a first digital representation for a first set of coordinates on the touch screen and a first pressure from a set of the first, second, third, and fourth resistances; storing the first digital representation; and deactivating the first column and the first row; identifying a second zone of the plurality of zones, wherein the second zone is associated with the second touch event; and resolving the second position in the first zone by: activating a second column and a second row so as to measure fifth, sixth, seventh, and eighth resistances associated with the second touch event; generating a second digital representation for a second set of coordinates on the touch screen and a second pressure from the fifth, sixth, seventh, and eighth resistances; storing the second digital representation; and deactivating the second column and the second row, wherein the first and second rows are previously enabled, but a third row is not enabled by the zone controller. 
         [0007]    In accordance with an embodiment of the present invention, the step of identifying the first zone further comprises performing a precharge and sensing operation for all zones to indicate the occurrence of the first touch event, and wherein the step of identifying the second zone further comprises performing a precharge and sensing operation for all zones to indicate the occurrence of the second touch event. 
         [0008]    In accordance with an embodiment of the present invention, the step of generating a first digital representation further comprises: calculating a horizontal position in the first zone corresponding to the first touch event from the first resistance, wherein the horizontal position corresponds to a first coordinate from the first set of coordinates; calculating a vertical position in the first zone corresponding to the first touch event from the first resistance, wherein the vertical position corresponds to a second coordinate from the first set of coordinates; calculating a touch resistance from the horizontal position, the first resistance, the third resistance, and the fourth resistance; and calculating the first pressure from the touch resistance. 
         [0009]    In accordance with an embodiment of the present invention, the step of generating a first digital representation further comprises: calculating a horizontal position in the first zone corresponding to the first touch event from the first resistance, wherein the horizontal position corresponds to a first coordinate from the first set of coordinates; calculating a vertical position in the first zone corresponding to the first touch event from the first resistance, wherein the vertical position corresponds to a second coordinate from the first set of coordinates; calculating a touch resistance from the horizontal position, the vertical position, the first resistance, the second resistance, the third resistance, and the fourth resistance; and calculating the first pressure from the touch resistance. 
         [0010]    In accordance with an embodiment of the present invention, an apparatus is provided. The apparatus comprises a touch screen interface having: a plurality of switching circuits, wherein each switching circuit is configured to be coupled to at least one of a plurality of column electrodes; and a plurality of touch detection circuits, wherein each touch detection circuit is configured to be coupled to at least one of a plurality of row electrodes; and a signal processing circuit that is coupled to each switching circuit and each touch detection circuit, wherein the signal processing circuit is configured to selectively activate the plurality of switching circuits and the plurality of touch detection circuits to identify a zone for a touch event, and wherein the signal processing circuit is configured to determine first, second, third, and fourth resistances for the zone for the touch event, and wherein the signal processing circuit is configured to determine a set of coordinates and pressure for the touch event from its first, second, third, and fourth resistances; and a zone controller, wherein the first and second rows are previously enabled, but a third row is not enabled by the zone controller. 
         [0011]    In accordance with an embodiment of the present invention, the signal processing circuit is configured to calculate: a horizontal position in the zone corresponding to the touch event from the first resistance, wherein the horizontal position corresponds to a first coordinate from the set of coordinates; a vertical position in the zone corresponding to the touch event from the first resistance, wherein the vertical position corresponds to a second coordinate from the set of coordinates; a touch resistance from the horizontal position, the first resistance, the third resistance, and the fourth resistance; and the first pressure from the touch resistance. 
         [0012]    In accordance with an embodiment of the present invention, the signal processing circuit further comprises: a multi-touch controller that is coupled to the touch screen interface; and a touch engine that is coupled to the touch screen interface and the multi-touch controller. 
         [0013]    In accordance with an embodiment of the present invention, the signal processing circuit further comprises a host controller that is coupled to the touch engine. 
         [0014]    In accordance with an embodiment of the present invention, the touch engine further comprises: an analog-to-digital converter (ADC) that is coupled to the plurality of touch detection circuits; a touch engine controller that is coupled to the multi-touch controller, the ADC, and the host interface; and a pre-processing circuit that is coupled to the touch engine controller and the host interface. 
         [0015]    In accordance with an embodiment of the present invention, the host interface further comprises: an index register for storing the zone for the touch event; and a data register for storing digital representations of the first and second resistances for the touch event. 
         [0016]    In accordance with an embodiment of the present invention, an apparatus is provided. The apparatus comprises a touch screen having: a plurality of column electrodes; and a plurality of row electrodes; a touch screen controller having: a touch screen interface having: a plurality of switching circuits, wherein each switching circuit is coupled to at least one of the column electrodes; and a plurality of touch detection circuits, wherein each touch detection circuit is coupled to at least one of the row electrodes; and a signal processing circuit that is coupled to each switching circuit and each touch detection circuit, wherein the signal processing circuit is configured to selectively activate the plurality of switching circuits and the plurality of touch detection circuits to identify a zone for a touch event, and wherein the signal processing circuit is configured to determine first, second, third, and fourth resistances for the zone for the touch event, and wherein the signal processing circuit is configured to determine a set of coordinates and pressure for the touch event from the first, second, third, and fourth resistances; and a host processor that is coupled to the signal processing circuit, and a zone controller, wherein the first and second rows are previously enabled, but a third row is not enabled by the zone controller. 
         [0017]    In accordance with an embodiment of the present invention, the host interface further comprises an inter-integrated circuit (I2C) interface that is coupled to the host processor. 
         [0018]    In accordance with an embodiment of the present invention, the touch screen has three columns and five rows. 
         [0019]    The foregoing has outlined rather broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention. It should be appreciated by those skilled in the art that the conception and the specific embodiment disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present invention. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit and scope of the invention as set forth in the appended claims. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0020]    For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which: 
           [0021]      FIG. 1  is a diagram of an example of a conventional interface system; 
           [0022]      FIG. 2  is a diagram of an interface system in accordance with the present invention; 
           [0023]      FIG. 3A  and  FIG. 3B  are diagrams illustrating an example of the touch screen of  FIG. 2 ; 
           [0024]      FIG. 4  is a diagram of an example of the touch screen interface of  FIG. 2 ; 
           [0025]      FIG. 5  is a diagram illustrating the touch engine and host interface of  FIG. 2 ; 
           [0026]      FIG. 6A-6D  are various approaches to measuring resistances at different touches; 
           [0027]    FIG.  7 Ai is a state diagram for an alternative aspect of the precharge/sensing for selected rows when used with a row enable state  504 ; 
           [0028]    FIG.  7 Aii is a register setting table of enabled and disabled rows within the pre-charge/sensing circuit of FIG.  7 Ai and  FIG. 7B . 
           [0029]      FIG. 7B  is a state diagram that includes how the pre-charge/sensing zone of  704 ; and 
           [0030]      FIG. 7C  illustrates is a register setting table of enabled and disabled rows within the pre-charge/sensing circuit of  FIG.7B ; 
           [0031]      FIG. 8  is a diagram of the drivers of Touch Screen Interface  206  that run the alternative state diagram of  FIG. 7B . 
       
    
    
     DETAILED DESCRIPTION 
       [0032]    Refer now to the drawings wherein depicted elements are, for the sake of clarity, not necessarily shown to scale and wherein like or similar elements are designated by the same reference numeral through the several views. 
         [0033]    As shown in  FIGS. 2-4 , the touch screen  202  and touch screen interface  206  of interface system  200  have a different configuration than that of the touch screen  102  and interface  108  of system  100 . In this example, the touch screen  202  is divided into a number of column electrodes  302 - 1  to  302 - 3  and row electrodes  304 - 1  to  304 - 5  that are formed resistive sheets. In this example, there are three column electrodes (i.e.,  302 - 1  to  302 - 3 ) and five row electrodes (i.e.  304 - 1  to  304 - 5 ), but other numbers of row and column electrodes are possible. For example, the number of row electrodes and/or column electrodes may be increase to increase resolution by increasing the number of “zones” (i.e., intersections of column and row electrodes). Coupled to each column electrode  302 - 1  to  302 - 3  is a switching circuit  306 - 1  to  306 - 3  (which generally resides in the touch screen interface  206  of the touch screen controller  204  and which also generally includes drivers to assist in sourcing current through the respective column electrodes), and coupled to each row electrode  304 - 1  to  304 - 5  is a touch detection circuit  308 - 1  to  308 - 5  (which generally resides in the touch screen interface  206  of the touch screen controller  204  and which also generally includes drivers and switches to assist in sourcing current through the respective row electrodes). By configuring the touch screen  202  and touch screen interface  206  as shown, the touch screen  202  can be better controlled; specifically, the signal processing circuit of touch screen controller  204  (which can generally comprise zone controller  212 , touch engine  208 , multi-touch controller  210  and host interface  216 ) is able to coarsely determine the “zone” of a touch event and finely resolve the position within the zone using the circuitry shown in  FIG. 4  and the state diagram of  FIG. 5 . 
         [0034]    Initially, in state  502 , the signal processing circuit is at an idle state. While in state  502 , the signal processing circuit can perform a precharge and sensing operation to determine whether a touch event (anywhere on the touch screen  202  has occurred). This is typically done by activating (with the multi-touch controller  210 ) all switching circuits  306 - 1  to  306 - 3  and all touch detection circuits  308 - 1  to  308 - 5  or by repeatedly scanning through the switching circuits  306 - 1  to  306 - 3  and touch detection circuits  308 - 1  to  308 - 5 . This allow for coarse identification of the “zone” or intersecting row and column electrodes having a touch event. This zone can then be stored in the index register  408  of the host interface  216 . 
         [0035]    When the zone for a touch event has been identified, the characteristics of the touch can be resolved. Specifically, in state  504 , the signal processing circuit (by way of the zone controller  212  and multi-touch controller  210 ) can perform a precharge and sensing operation for the column associated with the identified zone. Typically, the signal processing circuit activates or applies as voltage (i.e., voltage V) across the column electrode (i.e.,  302 - 1 ) associated with the zone. 
         [0036]    As shown in  FIG. 6B , a resistance measurement is performed by the touch detection circuit (i.e.,  308 - 1 ) associated with the zone. This strip resistance R Y  (which corresponds to the associated column) can be converted by ADC  402 , touch engine controller  404 , and pre-processing circuit  214  in state  506  to a digital representation of the vertical (or “Y”) coordinate within the identified zone, which can be stored in data register  406  in state  516 . 
         [0037]    Then, in state  508 , the signal processing circuit can perform a precharge and sensing operation for the row associated with the identified zone. Typically, the signal processing circuit activates or applies as voltage (i.e., voltage V) across the row electrode (i.e.,  304 - 1 ) associated with the zone 
         [0038]    As shown in  FIG. 6A , a resistance measurement is performed by the touch detection circuit (i.e.,  308 - 1 ) associated with the zone. This strip resistance R X  (which corresponds to the associated row) can be converted by ADC  402 , touch engine controller  404 , and pre-processing circuit  214  in state  510  to a digital representation of the horizontal (or “X”) coordinate within the identified zone, which can be stored in data register  406  in state  516 . In some circumstances (i.e., where no pressure measurement is desired), state  516  can be entered from state  510 . 
         [0039]    In instances where a pressure measurement is desired, the pressure (or “Z” coordinate) can be determined in states  512  and  514  and stored in the data register  406  in state  516 . (after a determination that there has been no change in the zone in state  512 ). To do this, two resistance measurements are made. 
         [0040]    As shown in  FIG. 6C and 6D , a voltage V is applied across the positive terminal for the column electrode associated with the identified zone (i.e.,  302 - 1 ) and the negative terminal for the row electrode associated with the identified zone (i.e.,  304 - 1 ). The first pressure-related resistance measurement Z 1  is then determined from the positive terminal for the row electrode associated with the identified zone (i.e.,  304 - 1 ), and the second pressure-related resistance measurement Z 2  is determined from the negative terminal for the column electrode associated with the identified zone (i.e.,  302 - 1 ). With these resistance measurements, the touch resistance RTOUCH can be calculated as follows: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       RTOUCH 
                       = 
                       
                         
                           R 
                           X 
                         
                          
                         
                           X 
                           4096 
                         
                          
                         
                           ( 
                           
                             
                               
                                 Z 
                                  
                                 
                                     
                                 
                                  
                                 2 
                               
                               
                                 Z 
                                  
                                 
                                     
                                 
                                  
                                 1 
                               
                             
                             - 
                             1 
                           
                           ) 
                         
                       
                     
                     ; 
                   
                    
                   
                     
 
                   
                    
                   or 
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
             
               
                 
                   
                     RTOUCH 
                     = 
                     
                       
                         
                           R 
                           X 
                         
                          
                         
                           X 
                           4096 
                         
                          
                         
                           ( 
                           
                             
                               4096 
                               
                                 Z 
                                  
                                 
                                     
                                 
                                  
                                 1 
                               
                             
                             - 
                             1 
                           
                           ) 
                         
                       
                       - 
                       
                         
                           R 
                           Y 
                         
                          
                         
                           ( 
                           
                             1 
                             - 
                             
                               Y 
                               4096 
                             
                           
                           ) 
                         
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where X is the horizontal position or coordinate within the identified zone, Y is the vertical position or coordinate within the identified zone, R X  and R Y  are the strip resistances, and Z 1  and Z 2  are the pressure-related resistance measurements. The touch resistance RTOUCH is proportional to the pressure applied to the touch screen, so the ADC  402 , touch engine controller  208 , and pre-processing circuit  214  in state  514  can both calculated the touch resistance RTOUCH and pressure, which can be stored in data register  406  in state  516 . 
         [0041]    Following the of the update of the data register  406  with the pressure (or “Z”) coordinate, the signal processing circuit can perform a precharge and sensing operation to determine whether a touch event anywhere else on the touch screen  202  has occurred in state  518 . States  504  to  516  can then be repeated for additional touch events other zones. Additionally, because interaction with a touch screen  202  in interactive, touch events change, as, for example, fingers are moved across the touch screen, the state diagram includes several state changes reflecting these types of changes. With most of the state changes, the columns and/or row can be switched or cycled (i.e., activations of successive columns electrodes  302 - 1  to  302 - 3  and/or row electrodes  304 - 1  to  304 - 5 ). 
         [0042]    Thus, by using the system  200 , several benefits can be realized. First, power consumption can be reduced over that of system  100 . Second, multi-touch capability (i.e., between difference zone) can be realized without the use of more exotic algorithms. 
         [0043]    FIG.  7 Ai illustrates an alternative embodiment of the pre-charge for a selected zone. Generally, the state  504  has been expanded to allow for a touch to be determined on only some rows, but not on others. Regionalizing the multi-touch sensor for the application of activating certain portions of the screen for touch functions. Implementing the structure of multiple touch detection circuitries to be programmably enabled or disabled to achieve the regional touch functions. 
         [0044]    In the state  704 - 1 , a touch was previously found in state  702 , or some touches have previously occurred in a state  718 , or no touch had previously occurred in the same zone, so therefore the next column is checked in a  708  and  712 , thereby looping to state  704 - 1 . In a state  704 - 3 , there is no touch on the certain zone, but a switch to the next column has occurred, and loops back to state  704 - 1 . 
         [0045]    However, state  704 - 1  only allows for a detection on an enabled row, as received from the Zone controller  212 , to determine if touches has occur, and therefore advance to the state  704 - 2 . 
         [0046]    For purposes of explanation, a touch has indeed occurred on the selected row. 
         [0047]    In a state  704 - 2 , a pre-charge procedure for the corresponding zone at the touched row occurs and, in the mean time, turns on precharge drivers of enabled rows in the  808  blocks of Touch Screen Interface  206 . Then, the state advances to a state  704 - 3 . 
         [0048]    In a state  704 - 3 , a sensing procedure occurs for the certain zone at the touched row. 
         [0049]    In the state  704 - 3 , one of four cases then occur, either a touch found at a certain zone but store index only that are updated in the state  516 , a touch found on the certain zone then advancing to the state  506  to do Y Conversion, no touch on the certain zone but switch to the next column then returning back to the state  704 - 1 , or no touch and the last column then advancing to the state  720  to do precharge/sensing for all zones. 
         [0050]    From  704 - 2  and  704 - 3 , three tasks are invoked in Touch Screen Interface  206 : turning on precharge drivers at the touched row, turning on touch detection circuits at the touched row, and turning on sensing drivers of selected columns. 
         [0051]    FIG.  7 Aii illustrates a row enable table  750 . As is illustrated, various rows of  304 - 1  through  304 - 5  of  FIG. 3A  are enabled or disabled. 
         [0052]      FIG. 7B  illustrates a how the state  704  would then advance through the various states as a basis of the touch of the selected rows, as implemented with an alternative embodiment of the zone controller  212 . As is illustrated, the pre-charge/sensing state would advance to a state  506  or  516 . However, as is illustrated, the state  712 ,  718  and  720 , which correspond to states  512 ,  518  and  520  of  FIG. 5  each instead are directed towards a lesser number of rows being enabled. Please note that only enabled rows and selected columns are used in the solid outlined blocks. 
         [0053]    The state  712 ,  718  and  720  are essentially the same as the previous state  512 ,  518  and  520 . The state  512 ,  518  and  520  proceeds when all rows are enabled instead. 
         [0054]    Use the multiple touch detection circuitries on rows and columns to activate multi-touch detections on a certain region or divided regions for the different functional purposes at certain periods of time. Advantages of the approach regionalize touch screen panel for some certain functions and consume less power. 
         [0055]    However, in these rows, only certain rows are enabled by the zone controller  212  using the row enable table  750 . 
         [0056]      FIG. 7C  illustrates the row enable table  750  that delineates the various rows enables and disables as may be enabled by the zone controller 
         [0057]    Referring back to  FIG. 3A , coupled to each column electrode  302 - 1  to  302 - 3  is a switching circuit  806 - 1  to  806 - 3  (which generally resides in the touch screen interface  206  of the touch screen controller  204  and which also generally includes drivers to assist in sourcing current through the respective column electrodes), and coupled to each row electrode  304 - 1  to  304 - 5  is a touch detection circuit  808 - 1  to  808 - 5  (which generally resides in the touch screen interface  206  of the touch screen controller  204  and which also generally includes drivers and switches to assist in sourcing current through the respective row electrodes). 
         [0058]    By configuring the touch screen  202  and touch screen interface  206  as shown, the touch screen  202  can be better controlled; specifically, the signal processing circuit of touch screen controller  204  (which can generally comprise zone controller  212 , touch engine  208 , multi-touch controller  210  and host interface  216 ) is able to coarsely determine the “zone” of a touch event and finely resolve the position within the zone using the circuitry shown in  FIG. 4  and the state diagram of  FIG. 7B . 
         [0059]    Having thus described the present invention by reference to certain of its preferred embodiments, it is noted that the embodiments disclosed are illustrative rather than limiting in nature and that a wide range of variations, modifications, changes, and substitutions are contemplated in the foregoing disclosure and, in some instances, some features of the present invention may be employed without a corresponding use of the other features. Accordingly, it is appropriate that the appended claims be construed broadly and in a manner consistent with the scope of the invention.