Touch sensor system configuration
Patent Information
- Authority / Receiving Office
- TW · TW
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-02-07
- Publication Date
- 2023-01-16
Smart Images

Figure TWG2TA000891163_001 
Figure TWG2TA000891163_002 
Figure TWG2TA000891163_003
Abstract
Description
[Technical Field]
[0001] This invention relates to a touch panel system comprising a touch panel and a controller coupled to the touch panel. More particularly, but not limited to, this invention relates to a controller that can be configured to operate with multiple different touch panels. [Previous Technology]
[0002] [Comparison of related applications] This application claims priority to U.S. Provisional Patent Application No. 63 / 145,789, filed on February 4, 2021, which is incorporated herein by reference in its entirety.
[0003] A projected capacitive (PCAP) touch panel system may include a touch panel and a controller operatively coupled to the touch panel. For example, the touch panel may be part of a touch screen, where the touch panel covers the display. The touch panel typically comprises a two-dimensional, crisscrossed array of substantially transparent conductive electrodes disposed on a substrate layer (or multiple layers). The electrodes may typically be strips made of indium tin oxide (ITO). These strips may be patterned along their length, such as a series of diamond pads, and may be arranged in a series of rows and columns. Columns may be separated from rows by a non-conductive layer. A protective top layer of glass or plastic typically covers the substrate layer and the conductive strips.
[0004] The controller can drive the electrodes of the touch panel. Specifically, the controller can output drive signals to multiple "transmit electrodes" of the touch panel, either centrally or individually. The controller can also measure the signal output from the "receive electrodes" of the touch panel. The signal output (response) received from the touch panel is a function of the capacitance between the electrode columns and rows, because the transmit electrodes are capacitively coupled to the receive electrodes. Touching with a finger (or other conductive object) will redirect the coupled electric field to the effectively grounded finger, affecting the capacitance between adjacent row and column electrodes and their capacitance to ground. Therefore, by monitoring the signals output from the electrodes, the capacitance change between rows and columns caused by touch can be detected.
[0005] Various methods for measuring capacitance changes can be used here. For example, the controller of a projected capacitive (PCAP) touch sensor system can drive each transmitting electrode with a series of pulses (e.g., square wave pulses). For a given pair of transmitting and receiving electrodes (e.g., a column and a row), the rate of rise and / or fall of the output signal edge can indicate the capacitance through which the pulse travels. These rates may be a function of the shape characteristics of the electrodes (e.g., diamond pads) and the gap between these characteristics of the transmitting electrode (e.g., column) and the receiving electrode (row) in the intersection region of the two electrodes.
[0006] In a mutual capacitance touch sensor system, the mutual capacitance between two electrodes (e.g., two vertical electrodes) of a touch panel is detected. For example, in a grid of vertical and horizontal electrodes, changes in the mutual capacitance between horizontal and vertical electrodes are monitored. In a typical two-dimensional electrode grid, each horizontal electrode forms a capacitance with each vertical electrode, where they are very close to each other (close to their intersection / overlap). The horizontal electrodes of a capacitive touch panel can be referred to as "columns," and the vertical electrodes as "rows." Touch changes these mutual capacitances, thereby affecting the signal output of the touch-affected electrodes. Touch can be detected by monitoring and analyzing the signal output.
[0007] The controller can be configured to individually and selectively drive rows and columns of the touch panel and receive signal outputs from the rows and columns. The controller can analyze the signal outputs from the rows and columns to determine the location of a touch event (e.g., a finger or other object touching the touch panel).
[0008] Touch panels can have various characteristics, such as size, glass top layer thickness, and others. The "size" of a touch panel refers to the number of rows and columns. A controller can be used with multiple different capacitive touch panels with different sets of characteristics. However, manufacturers or buyers of traditional touch panel systems may need to manually configure the controller for a given type of touch panel. For example, a controller for a touch sensor system can interface with a host system that has a display and input devices, and the user can use the host system to input configuration data corresponding to one or more characteristics (e.g., size) of the touch panel, thereby configuring the controller to operate with that specific touch panel. This process can be inconvenient for the user and usually requires the installation of special software on the host computer system to configure the controller. Alternatively, a user-configurable mechanical switch (such as a dual in-line package, DIP switch, for example) can be provided to allow the controller to be configured based on one or more characteristics of the touch panel currently connected to it. However, mechanical switches cannot provide the highest level of reliability (especially vibration resistance) required for many applications. Mechanical switches may also force maintenance technicians to access the controller board (which may not be easily accessible) when replacing the touch panel. [Summary of the Invention]
[0009] According to one aspect of the present invention, a method for configuring a touch sensor system is provided, the touch sensor system including a controller and a touch panel operatively coupled to the controller, the touch panel including a plurality of transmitting electrodes and a plurality of receiving electrodes, the method comprising: selectively and individually driving at least one of the transmitting electrodes by the controller; receiving signal outputs from one or more receiving electrodes when the transmitting electrode is driven for each driven transmitting electrode; determining one or more features of the touch panel as a function of one of the signal outputs of the receiving electrodes; and configuring at least one operational setting of the controller according to one or more features of the touch panel.
[0010] The method further includes measuring the signal level of the signal outputs, wherein determining one or more features of the touch panel as a function of one of the signal outputs from the receiving electrodes includes determining one or more features of the touch panel as a function of the measured signal levels.
[0011] In some embodiments, the controller includes a plurality of transmit lines and a plurality of receive lines, each transmit electrode being coupled to one of the transmit lines, and each receive electrode being coupled to one of the receive lines, wherein driving at least one of the transmit electrodes includes driving at least one of the plurality of transmit lines sequentially by the controller.
[0012] In some embodiments, the one or more features of the touch panel include some transmitting electrodes and some receiving electrodes of the touch panel.
[0013] In some embodiments, the plurality of transmitting electrodes are arranged as one of rows and columns, and the plurality of receiving electrodes are arranged as another of rows and columns.
[0014] In some embodiments, configuring the at least one operating setting includes configuring the controller to operate with a determined number of the transmitting electrodes and a determined number of the receiving electrodes.
[0015] In some embodiments, the one or more features of the touch panel include a touch panel type.
[0016] In some embodiments, the at least one operation setting includes a sensitivity setting selected by a function based on the touch panel type.
[0017] The method may further include: receiving further signal outputs from the touch panel during one or more touches of the touch panel; determining one or more additional features of the touch sensor based on a function of the received further signal outputs; and configuring an additional operation setting based on the determined one or more additional features.
[0018] The method may further include: receiving further signal outputs from the touch panel during one or more touches of the touch panel; and analyzing the received further signal outputs and adjusting a sensitivity setting according to a function of the analysis.
[0019] According to another aspect, a controller for a touch panel is provided, including a plurality of transmitting electrodes and a plurality of receiving electrodes. The controller includes: a control circuit for selectively and individually driving at least one of the transmitting electrodes of the touch panel; receiving signal outputs from one or more receiving electrodes when the transmitting electrode is driven for each driven transmitting electrode; and generating touch sensor data based on a function of the received signal outputs; and a configuration circuit for receiving the touch sensor data from the control circuit; determining one or more features of the touch panel based on a function of the touch sensor data; and configuring at least one operating setting of the controller based on one or more features of the touch panel.
[0020] In some embodiments, the control circuit measures the signal level of the signal outputs, wherein determining one or more features of the touch panel based on one of the signal outputs includes determining one or more features of the touch panel based on a function of the measured signal levels.
[0021] In some embodiments, the control circuit includes a plurality of transmit lines and a plurality of receive lines, each transmit electrode being coupled to one of the transmit lines and each receive electrode being coupled to one of the receive lines, and wherein driving at least one of the transmit electrodes includes driving at least one of the plurality of transmit lines sequentially by the controller.
[0022] In some embodiments, the one or more features of the touch panel include the transmitting electrodes and the receiving electrodes.
[0023] In some embodiments, the plurality of transmitting electrodes are arranged in one of rows and columns, and the plurality of receiving electrodes are arranged in another of rows and columns; and configuring the at least one operation setting includes configuring the controller to operate with a determined number of the transmitting electrodes and a determined number of the receiving electrodes.
[0024] In some embodiments, the one or more features of the touch panel include a sensitivity feature.
[0025] The controller further includes: a control chip including the control circuit; and a configuration chip including the configuration circuit.
[0026] In some embodiments, the configuration circuit includes a first interface coupled to the configuration chip for communicating with a host computer, and a second interface coupled between the configuration chip and the control chip for communicating between the configuration chip and the control chip.
[0027] In some embodiments, the first interface includes a first USB interface.
[0028] In some embodiments, the second interface includes a second USB interface.
[0029] According to another embodiment, the present invention provides a touch sensor system including a controller as described in this specification; and a touch panel coupled to the controller.
Implementation Method
[0031] A touch sensor system may include a touch panel and a controller connected to the touch panel. The controller can receive and process output from the touch panel. This invention provides a controller for a capacitive touch panel. The controller can be configured to automatically detect one or more features of the touch panel to which the controller is connected. The term "controller" refers to any combination of hardware and software (e.g., circuitry) capable of driving the touch panel and processing output from the touch panel to generate touch data. The controller can be configured to work with a variety of different touch panel types (i.e., touch panels with different features or combinations of features). Upon detecting one or more features of the touch panel currently connected to the controller, the controller can set one or more operational settings based on a function of one or more detected features. The one or more detected features may include the size of the touch panel (e.g., the number of rows and columns). Therefore, the controller may be referred to as a "size-adaptive" controller.
[0032] In some embodiments, the controller is operatively connected to the touch panel via a plurality of electrical connections, such as a bus comprising a plurality of wires. Some wires may be coupled to drive "transmit" electrodes, and some wires may be coupled to "receive" electrodes. This wired connection may be in the form of a "flex tail" connector. Touch panels of various sizes and configurations can support the same type of flex tail connector (the same number of wires in the connector). In this way, multiple different types of touch panels can be more easily interchanged and used with the same controller without the need to use different flex tail connectors. In this case, depending on the size of the touch panel, one or more, or even several, wires of the flex tail may not be used because they are not coupled to any electrodes of the touch panel.
[0033] In some embodiments, a flexible tail adapter may be provided to adapt the flexible tail to various touch panel types. Potentially, various adapters may be coupled to the flexible tail so that touch panels with various sizes or wiring configurations can be used with the controller, provided that the electrodes (wiring) of the touch panel do not exceed the maximum number of electrodes supported by the controller.
[0034] In some systems, at least a portion of the controller's electronics may be included in a flexible tail, which may be attached to a touch panel. In such systems, the touch panel and / or the flexible tail may still be interchangeable.
[0035] The touch panel described herein may be a capacitive touch panel, such as a projected capacitive (PCAP) touch panel. However, the embodiments are not limited to capacitive touch panels. Other types of panels with rows and columns of sensor elements may also be used. For example, the form of the present invention can also be applied to optical touch panels or resistive touch panels that use a matrix of rows and columns as a means of achieving multi-touch detection.
[0036] Figure 1 shows a block diagram of a capacitive touch sensor system 100. The capacitive touch sensor system 100 includes an exemplary touch panel 102 and a controller 104. In this embodiment, the touch panel 102 is a projected capacitive (PCAP) touch panel. The controller 104 can be used with various capacitive touch panel configurations, as will be discussed below, and the specific touch panel 102 is shown as a non-limiting example. The touch panel 102 includes a sensor region 106 formed from a planar substrate having a plurality of horizontal electrode channels (i.e., "columns" 108) and a plurality of vertical electrode channels (i.e., "rows" 110) arranged thereon. The number and spacing of columns 108 and rows 110 can vary. The number of columns 108 and rows 110 may be referred to as the "size" of the touch panel 102 in this specification. The spacing between column 108 and row 110 corresponds to the "pitch" of touch panel 102. The physical space of sensor area 106 of touch panel 102 is a function of "size" (i.e., number of columns / rows) and "pitch" (or resolution). A portion of touch panel 102 corresponding to the intersection of column 108 and row 110 may be referred to as a "cell" in this specification.
[0037] For example, column 108 and row 110 may be connected to various circuits (not shown) within bezel 112, which typically extends around the periphery of sensor region 106. In other embodiments, another touch panel may not include a bezel or may only have a small bezel, and at least some of the circuitry of the touch panel may alternatively be located behind the substrate or elsewhere.
[0038] The controller 104 is operatively connected to the touch panel 102 via a bus 114, which may include a plurality of wires, such as flexible tail connectors. More specifically, the controller 104 in this example includes a control module 116 and a configuration module 118 operatively connected to the control module 116. The control module 116 includes a plurality of transmission lines 204 (as shown in FIG. 2) connected to a first plurality of electrodes of the touch panel 102 via the bus 114. The control module 116 also includes a plurality of receive lines 206 connected to a second plurality of electrodes of the touch panel 102 via the bus 114.
[0039] The term "transmit line" refers to any electrical output component of the circuitry used to output drive signals to the touch panel 102. The drive signal is an analog reference signal input to the transmission electrodes of the touch panel 102. The transmission line 204 of the control module 116 may include output pins (in the context of the chip), or any other electrical output connection, node, or terminal. The term "receive line" refers to any electrical input component of the circuitry used to receive input. The receive line 206 may include input pins (in the context of the control chip), or any other electrical output connection, node, or terminal.
[0040] The term "module" refers to any circuit configured to perform the various functions described herein. The circuit may include at least one processor and may include memory having processor-executable instructions stored thereon for performing, implementing, or controlling the functions described herein. Two or more modules may share at least some of the circuitry. For example, in some embodiments, the processor may implement multiple modules. The circuitry may comprise any combination of hardware and / or software in memory, executed by the hardware of the aforementioned implemented module functions.
[0041] For ease of description, the first plurality of electrodes may be referred to as "transmit electrodes" in this specification, and the second plurality of electrodes may be referred to as "receive electrodes." The term "transmit electrode" herein refers to an electrode of the touch panel 102 driven by the controller 104 (column 108 or row 110 in this example). The term "receive electrode" refers to an electrode of the touch panel 102 (column 108 or row 110 in this example) whose output signal is sent to the controller 104 and received as input by the control module 116. The transmit electrode may be column 108 and the receive electrode may be row 110, or vice versa. In some embodiments, depending on whether they are coupled to the transmit line 204 or the receive line 206, the electrodes may be used as either transmit electrodes or receive electrodes. In all cases, the electrodes may not be configured for transmit operation only or receive operation only.
[0042] Bus 114 interconnects the control module 116 with the touch panel 102. Bus 114 may include individual wiring for each column 108 and each row 110, such that each column 108 and each row 110 is individually connected to an individual transmission line 206 (FIG. 2) or an individual receive line 206 (FIG. 2) of the control module 116. Each transmission line 204 may be a transmit pin of the chip and each receive line 206 may be a receive pin of the chip. Therefore, the control module 116 can individually and selectively drive electrodes connected to the rows / columns connected to the transmission lines 204 and receive outputs from the rows / columns connected to the receive lines 206. In this example, each column 108 of the touch panel 102 may be connected to an individual transmission line 204 of the control module 116, and each row 110 may be connected to an individual receive line 206 of the control module 116 (or vice versa). Therefore, transmission line 204 can drive column 108, and receiving line 206 can measure the output from row 110. In other embodiments, the reverse configuration of rows and columns can be used.
[0043] Figure 2 shows a block diagram of another touch sensor system 200, including the controller 104 of Figure 1 connected to different touch panels 202. The transmitting electrodes are collectively represented by block 208, and the receiving electrodes are represented by block 210. Transmission lines 204 and receiving lines 206 are shown in this figure. The specific number of transmission lines 204 and receiving lines 206 can vary; the numbers shown in Figure 2 are for illustrative purposes only.
[0044] A first subset of the touch panel transmission lines 204a may be coupled to a plurality of emitter electrodes 208 of the touch panel 202. For example, these emitter electrodes 208 may be arranged in columns (similar to column 108 in Figure 1). A first subset of the receiver lines 206a may be coupled to a plurality of receiver electrodes 210 of the touch panel 202. For example, these receiver electrodes 210 may be arranged in rows (similar to row 110 in Figure 1). The number of transmission lines 204 of the control module 116 may be greater than the number of emitter electrodes 208, such that a second subset of the transmission lines 204b is not operatively coupled to any electrode of the touch panel 202, as indicated by dashed lines, where the lines of bus 114 are not coupled to electrodes. Similarly, a second subset of the receiver lines 206b is not operatively coupled to any electrode of the touch panel 202, as indicated by dashed lines, where the lines of bus 114 are not coupled to electrodes. The control module 116 (e.g., a projected capacitive (PCAP) control chip) can have a sufficient number of transmit and receive lines so that the control module 16 can be configured to work with touch panels of various sizes.
[0045] Referring to FIG. 2, the control module 116 can drive the transmitting electrode 208 of the touch panel 202 and receive signal output from the receiving electrode 210. The configuration module 118 can receive touch sensor data output from the control module 116 as input, and the touch sensor data may include the measurement signal level of the signal received from the touch panel 202. The configuration module 118 can analyze the output from the control module 116 to determine one or more features of the touch panel 202 according to a function of the touch panel data. The configuration module 118 can also configure one or more operating settings of the controller 104 according to a function of the determined one or more features. For example, one or more features may include the size of the touch panel 202, and the controller 104 can be automatically configured to operate for the determined size of the touch panel 202.
[0046] The term "signal level" refers to the voltage level or change in voltage level of a signal (e.g., a pulse) received from the receiving electrodes of the touch panel. However, "signal level" can also indicate other signal characteristics of touch (or degree of touch), such as slope or change in slope. For example, when the drive signal is a short pulse, the control module 116 can measure the slope change of the pulse edge output from the receiving electrodes. The change in slope can be converted into digital touch sensor data.
[0047] For example, the control module 116 may be in the form of a projected capacitive (PCAP) control chip. In some embodiments, the projected capacitive (PCAP) control chip may be a commercially available control chip. The configuration module 118 may be implemented through circuitry separate from the control module 116. For example, the configuration module 118 may be embedded on a separate chip with a microcontroller. The configuration module 118 is located between the control module 116 and the output 120 of the controller 104. In other embodiments, a single physical circuit chip may include both the control module 116 and the configuration module 118. The control module 116 and the configuration module 118 may additionally share hardware such as a processor and / or memory.
[0048] Different touch panels can be coupled to the controller 104 via the same type of bus 114, wherein the bus 114 contains the same number of lines. In other words, different types of touch panels can support the same type of bus 114. This allows the user to plug any touch panel that supports the same type into the same controller 104. The control module 116 can be configured (e.g., programmed) for touch panels of different sizes and other features (e.g., touch panels 102 or 202). The control module 116 can also be customized for user preferences. Common customer preferences may include, but are not limited to: panel orientation (e.g., landscape or portrait or an inverted version of each); panel sensitivity; supported touch count and touch activation (whether a touch is reported upon touch contact or release).
[0049] As mentioned above, the configuration module 118 can automatically determine one or more characteristics of the touch panel (e.g., touch panel 102 or 202). This process can be performed when the controller 104 is started, for example, when the controller 104 detects a new touch panel connection, or when it receives corresponding user input (e.g., pressing a button on the controller 104). These characteristics may include size, spacing, panel substrate or top glass details (e.g., the thickness of the top glass panel on the touch panel), and / or other characteristics. All these panel characteristics (and other characteristics) may affect the output from the control module 116.
[0050] Figure 3 shows a flowchart of an exemplary method 300 for determining the characteristics of one or more touch panels (e.g., touch panel 102 or 202). Method 300 is executed by controller 104 of Figures 1 and 2. In some embodiments, method 300 is implemented or controlled by configuration module 118. However, method 300 is not limited to the specific controller 104 shown in the figures and may be executed by other controllers.
[0051] In block 302, controller 104 selectively and individually drives at least one emitter electrode of the touch panel. Control module 116 can sequentially drive transmission lines 204 coupled to at least one emitter electrode. Configuration module 118 can instruct control module 116 to drive at least one emitter electrode.
[0052] In block 304, for each driven emitter electrode, controller 104 receives signal outputs from one or more receiver electrodes of the touch panel while the emitter electrode is driven. More specifically, control module 116 can receive signal outputs from one or more receiver lines 206 coupled to at least one receiver electrode for each driven emitter electrode. In this way, various combinations of emitter and receiver electrodes can be measured. Each unique combination of emitter and receiver electrodes (i.e., column and row intersections) can correspond to a "cell" of the touch panel.
[0053] In block 306, controller 104 determines one or more features of the touch panel based on a function of the signal output. For example, control module 116 can measure the signal output received from the touch panel and generate touch panel data as a function of the measurement. For example, touch sensor data can include the measured signal level of the signal output. Configuration module 118 can receive touch sensor data from control module 116. To determine one or more features of the touch panel, configuration module 118 can analyze the measured signal level. For example, the measured signal level can provide an indication of the number of transmitting and receiving electrodes.
[0054] In block 308, the operation settings of controller 104 are configured according to one or more features of the touch panel.
[0055] Figure 4 is a flowchart of a more specific example method 400 for automatically determining the size of a touch panel (e.g., touch panel 102 or 202) according to some embodiments. Method 400 is executed by controller 104 of Figures 1 and 2. In some embodiments, method 400 is implemented or controlled by configuration module 118. However, method 400 is not limited to the specific controller 104 shown in the figures and may be executed by other controllers. Method 400 can be used to determine the number of columns 108 and rows 110 of touch panel 102, or the number of emitter electrodes 208 and receiver electrodes 210 of touch panel 202 of Figure 2.
[0056] In block 402, each transmission line 204 (e.g., a transmission pin) of control module 116 is driven sequentially. This may include driving the emitter electrodes of the touch panel (e.g., touch panel 102 or 202) as well as additional emitter lines 204 not connected to the emitter electrodes. For example, configuration module 118 may send control signals to control module 116 to drive each of its transmission lines 204 sequentially. In other embodiments, only a subset of transmission lines 204 may be driven. It may not be necessary to drive all transmission lines 204 (or all emitter electrodes) to identify the edges of the emitter electrodes. The term "edge" refers to the first or last emitter electrode in a series of rows or columns.
[0057] In block 404, for each driven transmission line 204, signal measurements are performed on the receiving line 206. For example, configuration module 118 can control control module 116 to measure all receiving lines 206 (e.g., receiving pins) for each driven transmission line 204. Control module 116 can then report the measurement signal for each unit (column / row combination) of the touch panel. The measurement signal for each unit can be reported to configuration module 118. In some embodiments, for each sequentially driven transmission line 204, the output of all receiving lines 206 can be measured. In other embodiments, the output of only a subset of receiving lines 206 may be measured. It may not be necessary to receive signals at all receiving lines 206 (or all transmitting electrodes) to identify the edges of the receiving electrodes. The term "edge" refers to the first or last receiving electrode in a series of rows or columns.
[0058] In block 406, configuration module 118 analyzes the measurement results of each unit to determine the number of columns (e.g., column 108 in Figure 1) and rows (e.g., row 110 in Figure 1). This analysis may include comparing the measurement signals of each unit. For example, a transmission line not connected to any transmitting electrode may not cause any significant measurement output or output change of any receiving line. Similarly, a receiving line not connected to any receiving electrode may not produce any significant response or output change, regardless of the driven transmitting electrode. However, when a transmission line connected to an individual transmitting electrode is driven, the driven transmitting electrode can produce a change in measurement output for each receiving electrode across the transmitting electrode (compared to the undriven state). Therefore, the number of transmitting and receiving electrodes (and the number of rows and columns) can be determined by analyzing the signal level measurement results.
[0059] Optionally, after determining the size of the touch panel 102, in block 408, the configuration module 118 can configure the control module 116 (and / or other controller circuitry) to operate using the determined touch panel size. Configuration may include outputting an operation setting output to the control module 116, wherein the operation setting output updates or changes the operation settings of the control module 116.
[0060] Some capacitive touch panel control chips have dual-function pins that can be configured as transmit or receive pins. In this case, the method may include: as a first test, configuring all dual-function pins as transmit pins, and then executing the functions of blocks 402 to 406. The configuration module 118 can receive and analyze a signal related to the amount of transmit capacitance signal acquired by each receive pin for each combination of transmitter and receiver. The signal of the first test may be of two types: a) the combination of transmit and receive pins has no (or no significant) electrical interconnection when passing through rows and columns of the transparent conductive grid of the touch panel, and b) the combination of transmit and receive pins is connected by a small capacitive bridge between overlapping rows and columns of the transparent conductive grid of the touch panel. The configuration module 118 can evaluate the signal level acquired by each row / column combination and determine the panel "size" (the number of columns and rows of transparent conductors in the panel). In many cases, the first test can clearly show the number of columns and rows of electrodes. In other embodiments, the dual-function pin may alternatively be configured primarily as a receiving pin rather than a transmitting pin.
[0061] In some cases, the touch panel has many columns and rows, making it difficult to determine how to configure certain dual-function control chip pins. The first test described above can reveal this potential when / because a receiving pin adjacent to a dual-function pin (configured as a transmission pin in the first test) is found connected to a conductor of the touch panel. In these cases, a second test may be necessary (and in rare cases, further or multiple tests). In the second test, if the dual-function pins were previously configured as transmission pins, some or all of these pins will be reconfigured as receiving pins (and fewer as transmission pins). Blocks 402 to 406 of method 400 can then be repeated. The test iterations are performed until no additional touch panel rows or columns are found, and the panel size has been determined.
[0062] Alternative methods can also be used to determine the size of the touch panel, and the embodiments are not limited to method 400 of FIG4. In one embodiment, additional unused lines of the flexible tail connector (or other wired bus connection) can be grounded through the touch panel or the connection ground of the flexible tail connector itself. In some embodiments, the additional or unused lines can also be patterned together. Such patterned connections can be achieved by printing conductive ink on the structure of the touch panel, which is commonly used to connect rows and columns of projected capacitive touch panels to flexible tail connectors.
[0063] The controller 104 can be configured to test the wire connections of the flexible tail (or other connector) to identify which (if any) wires are directly or nearly directly connected to each other or grounded. The pattern of the connected wires can effectively establish an "identification code" to indicate the size of the touch panel or other touch panel features. Features may include, but are not limited to, size, spacing, geometric details related to electrode patterns (e.g., diamond-shaped pads), substrate material, indium tin oxide (ITO) features, etc. For example, a lookup table for the identification code can be provided within the controller firmware. This method can be implemented by using some additional / unused wires in the flexible tail connector. "In use" flexible tail wires can be distinguished by the "identification code" reading electronics without modifying a typical projected capacitive (PCAP) design, because these lines are DC open circuits, and the "intersecting" panel column and row electrodes are spaced apart. In some embodiments, the flexible tail may include additional "identification" wires that are left or not directly connected to the electrodes of any size touch panel. If eight identification lines are provided, five thousand or more unique identifiers can be generated using these eight lines. The number of usable identifiers can be increased by using unconnected, grounded, and multi-interconnected identification lines.
[0064] The interconnection of the identification lines may occur on the flexible tail (or other wired connection between the controller and the touch panel), the touch panel substrate (which may already contain conductive traces), or a combination of both. Interconnection on the touch panel is advantageous, where some code related to the panel substrate is "encoded" on the substrate, while some code related to subsequent aspects of panel manufacturing is "encoded" on the flexible tail (e.g., top glass material, top glass thickness), or even target customer configurations (e.g., orientation, sensitivity / gain, maximum number of touches, activation upon contact or release). For example, when the component is manufactured, the manufacturer can encode first information about the touch panel (on the touch panel), and when the complete touch panel assembly is completed (e.g., including the flexible tail), the completed component can be further encoded to complete the second information of the touch panel. Third information, such as panel usage information, can be further encoded. For example, once the customer has communicated their intended use (or the customer can control one or more subsequent steps), the third information can be encoded before shipment.
[0065] In order to write an identification code on the touch panel, conductive ink (e.g., silver ink) can be deposited on the substrate in a patterned manner to establish the code. Similarly, the ink can be initially manufactured in a way that the code can be "edited" by establishing or breaking some or all of these electrical connections (e.g., just before the substrate is assembled into the panel).
[0066] To encode identification codes in the flexible tail, various flexible tail designs can be implemented using different connections of identification lines coded with identification codes or identification code elements. The identification codes can be selectively "written" during manufacturing or installation. This can be achieved by having writable traces and / or pads on the conductors in the flexible tail, and by cutting the traces or connecting the pads. "Writing" the identification codes can also include removing or adding conductive components or materials (e.g., soldering connections and / or small resistors, etc.).
[0067] As discussed in this specification, the configuration module 118 of the controller 104 can determine characteristics other than panel size. For example, the configuration module 118 can analyze signals received from the control module 116 to differentiate panels based on the thickness of the top glass layer. The configuration module 118 can configure the control module to adjust the sensitivity of one touch panel relative to other touch panels. The configuration module 118 may not need to determine the actual top glass layer thickness. Instead, differences in signal strength or other signal characteristics of the signals received from the control module 116 can be identified. For two panels of the same size, it may be known that the panel with a first top glass layer thickness tends to produce an output signal with more or less average strength than another panel of the same size but with other glass layers. For example, once the panel size is known, the control module 116 can perform additional calculations based on the received signals to distinguish the panel of that size from other panels of the same size.
[0068] Figure 5 shows a flowchart of another exemplary method 500, which can be executed by a controller of a touch sensor system, such as system 100 or 200 of Figures 1 and 2. Method 500 will be executed by controller 104 of Figures 1 and 2. In some embodiments, method 500 is implemented or controlled by configuration module 118. However, method 500 is not limited to the specific controller 104 shown and can be executed by other controllers.
[0069] In block 502, the configuration module 118 can selectively determine the size of the touch panel 108 (e.g., touch panels 102 or 202 of FIG. 1 and FIG. 2). This method may include the steps of the method of FIG. 4, but the embodiments are not limited to the method of FIG. 4. In some embodiments, block 502 may be omitted.
[0070] In block 504, the configuration module 118 determines at least one property of the signal output from the touch panel. The at least one property of the signal may include, but is not limited to, average or median signal strength, and / or signal level corresponding to one or more electrodes or one or more units. The configuration module 118 may receive touch panel data from the control module 116 and analyze the data to determine at least one property of the touch panel's signal output.
[0071] In block 506, at least one property of the received signal output from the touch panel is compared with expected signal properties of known touch panel types. As explained below, controller 104 may store a set of "expected" signal properties, such as a set of average signal strengths, for a plurality of known touch panel types. These known or "expected" properties can be compared with observed signal properties. Controller 104 may store a database (e.g., a "component library") containing expected properties of known touch panel types.
[0072] As another example, some touch panels may have different signal levels at column edges (and / or near edges) and / or row edges (and / or near edges) and / or various corners compared to the signal levels of typical cells not near the edges. This behavior allows for more subtle distinctions when identifying additional projected capacitive (PCAP) touch panels. The signal level responses of all or a subset of the cells, columns, and / or rows of a touch panel can form an identifiable "fingerprint" corresponding to a specific model of the touch panel. That is, a particular type of touch panel (e.g., a specific model from a manufacturer) may share a common signal level "fingerprint" identifiable by configuration module 118. The characteristics of the fingerprint may tend to appear near the edges of the touch panel electrode grid. For example, for a given touch panel type, a particular row or column may have a higher (or lower) signal output compared to other columns, and this feature may help identify the touch panel type. Signal gradients or other observable properties can also be characteristics of a particular model and can be used to identify touch panels of these models.
[0073] In block 508, additional characteristics of the touch panel are determined based on the comparison result of block 506. For example, if the determined signal attributes match, or are within a threshold for a given type of touch panel, the configuration module can determine that the connected touch panel belongs to that type. The touch panel type (or model) that best matches at least one property of the signal output determined in block 506 can be selected, meaning that the controller 104 determines that the currently connected touch panel is of the selected type.
[0074] An additional feature may be "sensitivity," which refers to any touch panel feature that affects or contributes to the optimal sensitivity setting of the touch panel. For example, sensitivity can be a physical characteristic of the touch panel, such as cover plate type (e.g., material and / or thickness), a predefined or preset sensitivity level corresponding to the touch panel type, or any other feature that can be used to determine whether to increase or decrease the touch panel sensitivity. Predefined or preset sensitivity levels may be stored in a database as information for known touch panel types.
[0075] In block 510, configuration module 118 configures at least one operation setting of controller 104 according to a function of additional features of the touch panel. Configuration module 118 can configure the operation setting to suit the determined panel type. For example, the sensitivity of controller 104 can be adjusted according to the determined top panel type.
[0076] Controller 104 may include a memory that stores a database or "library" of information about known panel types and criteria associated with those panel types. In some embodiments, this information may be obtained from an online source or other remote source. Criteria for each panel type may correspond to the expected properties of the signal received from control module 116 (e.g., average signal strength). For example, these expected properties may be tested empirically. Configuration module 118 may compare received messages with stored criteria to distinguish known touch panel types and apply the most suitable configuration to that panel type. The memory storing the database of information about known panel types may be "permanent" memory, as it will not lose data when controller 104 is powered off. Other additional panel data may also be added to the database. The memory may also store other information, including but not limited to the original factory configuration and the user's most frequently selected operating settings (e.g., the most recent user configuration settings or multiple sets of previous user configuration settings). When a touch panel is connected to controller 104 and automatically recognized by controller 104, the "previously selected" operating settings for a given panel may be automatically adopted. Operation settings may include, but are not limited to, gain / sensitivity, "maximum number of touches" (when this number is exceeded, the touch sensor system will ignore it and will not report it via USB), and / or the orientation of the touch panel (i.e. which corner is the origin of the reported (X, Y) touch coordinates).
[0077] Once the controller 104 has a database of "known" touch panel types and related touch panel operation settings, the controller 104 can easily identify the panel from the database and automatically set the relevant settings. For example, the controller 104 knows a first touch panel and has a first set of characteristics. The first set of characteristics may be, for example, a 10-inch thick glass panel (as opposed to available thin glass versions); mounted in a certain orientation; and / or a row / column wiring arrangement opposite to other known panels. If the first touch panel is replaced with a second touch panel type known to the controller 104 (that is, panel characteristics and related operation settings are in the database), the controller 104 can detect the panel type and automatically apply the relevant settings. In this way, the database stored in the controller 104 allows touch panel manufacturers or users to set orientation or gain / sensitivity without changing the product firmware / software or modifying the device hardware (e.g., wiring design).
[0078] In some embodiments, the automatic characterization and configuration process of the touch panel may take several seconds. This process can be triggered upon startup. However, in some cases, performing this process every time the controller 104 is powered on (or the touch panel is inserted) may be impractical, although the embodiments are not limited to specific triggering conditions. In some embodiments, if the controller 104 detects that the touch panel is disconnected and a new touch panel has been connected to the controller 104, the controller 104 may attempt to characterize the touch panel. This process can optionally be triggered by user input (e.g., a button). For example, input provided when the controller 104 is powered on can trigger this process.
[0079] During automatic configuration, touching the touch panel may affect the test measurements performed by the configuration module 118. In some cases, communication attempts between the control module 116 and the configuration module 118 may even time out, for example, because the control chip spends time reporting the touch location instead of responding to control commands in a timely manner. If sufficiently disruptive touch activity is detected during automatic configuration, in some embodiments, the configuration module 118 may trigger a restart of the entire process or a portion thereof.
[0080] In methods 300 to 500 of Figures 3 to 5, controller 104 can automatically determine the size and / or other characteristics (e.g., at startup) of the touch panel it is connected to, and controller 104 can be automatically configured to operate with the touch panel. These methods may not require touch or other user input; however, in some embodiments, user input such as a touch on the touch panel can be used to configure the touch panel. Automatic detection and configuration of touch panel features by controller 104 can save time for technicians or other users in setting up the touch sensor system. Controller 104 can allow touch panels of various sizes to be inserted into controller 104 and used immediately without requiring users or technicians to configure controller 104 for different sizes or other settings such as sensitivity.
[0081] In some cases, the user of the touch panel may wear gloves, add a protective cover layer to the top of the touch panel, or take other actions to change the properties of the touch panel, touch it in a preset state, and / or touch it with bare fingers. The user may also install a thinner top glass layer to maximize the sensitivity of the touch panel, ensuring sufficient sensitivity even when using thick gloves. Such changes may alter the sensitivity settings that provide sufficient or optimal touch detection and / or accuracy. In this case, the touch panel response and signal output may not match known properties stored in the database. In other cases, touch panels not yet classified in a database of known signal characteristics may be used with the controller 104. Therefore, the sensitivity of the controller 104 should be configurable to match the touch panel. Furthermore, when the touch panel is connected or installed, the controller 104 may not know or be aware of the orientation of the touch panel connection.
[0082] Figure 6 shows a flowchart of another touch sensor system configuration method 600, which can be used as an alternative to (or in conjunction with) method 500 of Figure 5. Method 600 can, for example, be implemented by configuration module 118. However, embodiments are not limited to controller 104 of Figure 1 or 2.
[0083] In block 602, controller 104 initiates a touch calibration mode for operation. In the touch calibration mode, controller 104 obtains a series of touch data from the user. This touch calibration mode can be initiated under various triggering conditions. For example, the triggering conditions may be at startup, after the size of the touch panel is determined, after receiving user input (e.g., via a button), or other triggering conditions. Initiating the operation mode may include providing the user with an indication that the operation mode has started (e.g., a visual or audio prompt).
[0084] In block 604, the user will be prompted to touch the touch panel to perform at least one touch in a touch sequence. This may include prompting the entire touch sequence, or the first touch in that sequence. The first touch will be the first touch in the specified touch sequence. The prompt may include, but is not limited to, activating one or more visual cues, such as light cues, audio cues, or the like. The user may be prompted to touch multiple areas on the touch panel in sequence. For example, the user may be instructed to touch each of the four quadrants (or three quadrants) in sequence. More details demonstrating the touch sequence will be discussed below.
[0085] In block 606, controller 104 receives a signal output from the touch panel during the indicated touch. Controller 104 can also provide an indication of when each touch is held for a sufficiently long duration. For example, each touch may last for a short time, after which controller 104 may activate an indicator light on controller 104 or elsewhere on the touch device to indicate that the touch may have been released. Another indication may be provided for the next touch in the sequence.
[0086] In block 608, controller 104 analyzes the received signal output. The analysis may include determining the characteristics of one or more touch panels. Control module 116 may generate data (or "touch data") based on the received signals, and configuration module 118 may analyze the data. Touch data may include the determined touch position and other information such as signal level measurements of the units used for the touch panels. Touch panel characteristics determined by the touch information may include the orientation of the touch panel, interference levels, or the average signal strength of the touch panel.
[0087] Blocks 604 to 608 can be repeated until the sequence is complete. For each iteration, a single touch in the sequence can be prompted in block 604, the signal output of that touch can be received in block 606, and those signal outputs can be analyzed in block 608. This process is then repeated for each remaining touch in the sequence. Prompts (e.g., visual cues) can indicate the progress or current stage of the sequence, as described below. For example, the configuration module 118 of controller 104 can: prompt the user to make the first touch; analyze touch data generated by control module 116 based on touch signals output from the touch panel; configure operation settings; and repeat the process for the remaining touches in the sequence. When the current touch has been detected or has been held for a sufficiently long duration, the user can also be prompted to stop the current touch. The user can be selectively prompted again not to touch the touch panel until the next touch sequence is prompted. These prompts can also include visual or audio cues.
[0088] In block 610, at least one operational setting of controller 104 is configured based on a function of the analysis results from block 608. When the characteristics of one or more additional touch panels are determined, the configuration may be based on those touch panel characteristics. If the determined characteristic is the orientation of the touch panel, controller 104 may be configured to operate in that orientation. In some embodiments, the sensitivity setting of controller 104 may be configured based on analysis of signal output from the touch panel. For example, the analysis may determine that the sensitivity is too high or too low. Block 610 may also be executed after each iteration of blocks 604 to 608, such that at least one operational setting is set and refined as the process progresses.
[0089] The objectives of the touch sequence may include: a) allowing the controller 104 to select an optimal or sufficient sensitivity setting for the touch panel; b) allowing the controller 104 to select an optimal or sufficient threshold signal level above which touches are recorded; and c) determining the orientation of the touch panel. Since the sensitivity and threshold signal level for recording touches will vary depending on the actual user touches, this method helps to provide better real-world settings for the operation of the touch sensor system. The automatic size detection described in this invention, combined with the method 600 of FIG. 6, allows the controller 104 to quickly and optimally engage with a very wide range of PCAP touch panels, including touch panels not previously mentioned.
[0090] Sequentially touching the top, bottom, left, and right areas of the touch panel (from the user's perspective) allows the controller 104 to determine the orientation of the touch panel from the user's viewpoint, allowing subsequent touch coordinates to be reported in the correct orientation. The user can be prompted with the order in which different quadrants or areas of the touch panel are touched. For example, prompts can be made to touch the "left," "right," "bottom," and "top" areas and / or corners, and the controller 104 can determine the direction of the touch. This orientation determination method differs from "location calibration," which is typically not required for PCAP touch panels. In "location calibration," the user is usually required to precisely locate a specific point on the touch panel, such as the panel itself. Conversely, area or quadrant touches according to this method can be performed anywhere within the area, and the touch does not need to be associated with a specific point within the area.
[0091] Before, during, and after a sequential touch process, the controller 104 can manage the sensitivity level of the touch panel. The sensitivity is adjusted before each new touch (and after the last one) to optimize the touch panel's sensitivity level setting for subsequent use (whether subsequent normal operation or receiving the next touch in the sequence). When the controller 104 attempts to / wait to receive a valid touch during the sequential sequence, if the pattern of the signal output received from the touch panel indicates that an erroneous touch is being received due to the sensitivity setting being too high, the sensitivity setting can be further refined. Adjustments performed at the end of the sequential touch process also include calculating / selecting an optimal touch threshold (when the mutual capacitance touch signal level is exceeded, the touch is triggered and reported).
[0092] Here, the user can be prompted (e.g., in the instruction manual) to touch in a manner that represents normal subsequent real-world use. For example, if the user will wear gloves or the touch panel will be mounted behind a thick glass layer in subsequent normal use, the user can be prompted to replicate these conditions during the sequential touch process, so that the controller 104 can select sensitivity settings and touch thresholds to accept touches, achieving reliable touch detection and signal-to-noise ratio, and avoiding erroneous touches due to interference.
[0093] Before the first touch in the sequential touch process, the controller 104 can set the sensitivity to as high as possible, or to a "maximum sensitivity" setting (possibly within the maximum interference limit, so that the touch panel is not affected by interference). This "maximum sensitivity" provides the best chance to detect very weak touches (e.g., due to a very thick top glass, thick gloves, etc.). During this touch, the controller 104 can check the received signal output of the touch panel to distinguish between a real touch and a potential erroneous touch. During this touch, a normal touch panel response (i.e., a short touch response time) may not be required, so the controller 104 can take this opportunity to monitor the touch panel signal output to see if there are any patterns indicating excessive sensitivity (affecting the interference level of the touch panel), and can continuously refine the sensitivity while monitoring (how long this would exceed during normal use) the unit signal characteristics to find convincing and persistent touches.
[0094] Before receiving the first touch (before the first occurrence of block 604), controller 104 can analyze the signal output from the touch panel to generate pre-touch data, as these pre-touch signal outputs may indicate interference. After detecting the first touch, controller 104 can compare the touch data of the first touch with the pre-touch data and set the touch panel sensitivity as a function of the comparison result. This comparison can be used to determine the optimal or sufficient sensitivity level to generate sufficiently reliable touch detection and avoid erroneous touches due to interference. As more touch and / or interference information is collected in the touch sequence, controller 104 can refine the touch panel sensitivity and / or touch threshold settings based on the additional information.
[0095] The exemplary touch sequence of method 600 in Figure 6 may include four touches: 1) top left, 2) top right, 3) bottom right, and 4) bottom left (in any order). Direction can be determined with fewer than four touches, but additional touches can provide more data points to determine a more accurate or optimal sensitivity setting. The four-point process may also be more intuitive for users (e.g., technicians).
[0096] The controller 104 can selectively provide visual cues corresponding to the position (one, two, three, or four) in the sequence for each touch. The visual cues can be the number of flashes of an LED on the controller 104, but any suitable method can be implemented to convey this information to the user. As a non-limiting example of a particular touch sequence, the user can be prompted to perform and maintain a sequence of four touches in each of the four quadrants of the touch panel. First, the user can be prompted to touch the upper left quadrant by illuminating an LED on the controller 104. The LED can also flash once to indicate that the first touch is in progress. Upon receiving touch information, the controller 104 can signal successful reception of the first touch by turning off the LED. Once the controller 104 has briefly analyzed and adjusted the acquired touch data (e.g., compared it with pre-touch signal levels and adjusted the sensitivity), the LED will turn on again to prompt the user to touch and hold the next (upper right) quadrant. Optionally, the LED can flash twice to remind the user of their position in the sequence. Similarly, once the controller 104 receives a touch signal for a sufficiently long period, it turns off the LED, performs calculations to select / refine the sensitivity, and then applies the new sensitivity setting. This process is repeated until four touches in each of the four quadrants are completed, and subsequent analysis and setting updates are finished.
[0097] During the touch calibration mode of operation, or at least when a touch has been prompted, the controller 104 may repeatedly monitor all signal output levels of all cells, searching for a single set of elevated cells (which may be consecutive cells of reasonable size touched). When a sufficient number of samples show a level elevation, the touch can be considered "confirmed". When a touch has been confirmed, the controller 104 may perform averaging of the elevated cells (possibly for each in a set of samples) to identify the level of the touch signal. The controller 104 may record the quadrant of the touch panel for this touch. At the end of the sequence, this quadrant can be used to determine the orientation of the touch panel and the Tx (transmit) and Rx (receive) wiring directions. The controller 104 may also record the current sensitivity setting during each touch. The signal level of the touch in each quadrant, combined with the sensitivity setting applied to the touch in that quadrant, can be used for iteration between each touch to achieve better sensitivity settings and touch threshold selection. The sensitivity settings can be iterated between touches in the sequence and after the sequence is completed. The iteration after the sequence is completed can then be used for normal operation of the touch panel.
[0098] Optionally, blocks 602 and 604 of the method in FIG6 can be omitted. Controller 104 can alternatively analyze the signal output during touch in normal operation and determine sensitivity characteristics (e.g., based on signal strength), and controller 104 can be configured accordingly. This method can be performed without prompting a specific touch sequence. If the direction is known or does not need to be determined, it may not be necessary to obtain touch data in a specific region or quadrant.
[0099] The controller 104 can support single-touch and / or multi-touch detection. Some users may prefer 10-point touch support, while others may prefer 2-point touch. Two-touch detection may enable gesture controls such as pinch zoom and rotation. For example, two-point touch allows for unintentional additional touches during a two-point touch gesture without interfering with the two-point touch gesture.
[0100] The control module 116 can also be configured to be activated when the touch panel is touched or when the touch is removed. Although it is widely accepted in users' lives to activate the touch when the touch is removed, some applications may require faster execution of actions or feedback (e.g., displaying a response or triggering other actions), so the touch is activated at the beginning of the contact rather than when the contact is subsequently released.
[0101] The control module 116 in Figures 1 and 2 can be implemented using various hardware, software, and combinations thereof. The control module 116 may include circuitry with analog components for driving and receiving analog signal outputs from a touch panel (e.g., touch panel 102 or touch panel 202). The control module 116 may include a processor and a communication interface (e.g., a USB interface). The configuration module 118 can also be implemented using various hardware, software, and combinations thereof. The configuration module 118 may include an additional processor performing size adaptation functions. In other embodiments, the control module 116 and the configuration module 118 may be implemented using the same processor.
[0102] A typical controller for a capacitive touch panel may include an electronic board with a single control chip (e.g., a PCAP control chip), although some controllers may have multiple control chips (e.g., for very large touch panels). The control chip typically has a communication interface that interfaces with the host computer, primarily used to report touch locations. In some controllers, this interface may also accept configuration commands (and report the control chip's configuration) so that detailed information on how the control chip operates can be set (and verified). In some embodiments, a first interface may be used to report touch locations, while a second interface may be used to provide configuration information and / or accept configuration commands. A common type of interface for communication between the controller and the host computer is a Universal Serial Bus (USB) connection. The controller may also support RS-232 and I2C (internal integrated circuit or I2C), as well as CANBUS (Controller Area Network Bus), or more interface options, to name just a few. The on-chip USB interface can utilize features in the USB standard to communicate with the host computer in two different types of ways (e.g., one for reporting touch locations, and another for managing configurations).
[0103] Therefore, the control chip in the controller can be used as a USB "device", and the user's host computer can be used as a USB "host". In I2C terminology, the control chip may be a "slave" and the host computer may be a "master".
[0104] Figure 7 shows an example system 700, in which a controller 704 is coupled to a touch panel 702 and a host computer 701. In this example, the controller 704 includes a control chip 716. In this example, the control chip 716 may include a control module 118, similar to the control module 116 of Figures 1 and 2, and a configuration module, similar to the configuration module 118 of Figures 1 and 2. The host computer 701 is coupled to the controller 704 via a USB interface 730 (although the embodiment is not limited to a USB interface). The controller is coupled to the touch panel 702 via a bus 714. The host computer 701 acts as a USB "host" for the control chip 716, and the control chip 716 acts as a USB "device" for the host computer 701. The controller 704 can perform the methods of Figures 3 to 6.
[0105] Figure 8 shows another exemplary system 800, in which the controller 804 of the touch sensor system is coupled to the touch panel 802 and the host computer 801. The controller 804 is coupled to the touch panel 802 via bus 814. In this example, the controller 804 includes a control chip 816 and a configuration chip 818. The control chip 816 can implement the control module 116 of Figures 1 and 2. The configuration chip 818 can implement the configuration module 118 of Figures 1 and 2. The configuration chip 818 is an exemplary implementation of the configuration module, but in other embodiments any other circuitry or hardware with similar functionality may be used. The host computer 801 is coupled to the configuration chip 818 via a first USB interface 830, and the configuration chip 818 is coupled to the control chip 816 via a second USB interface 831. The host computer 801 acts as the USB "host" of the configuration chip 818, and the configuration chip 818 acts as the USB "device" of the host computer 801. Configuration chip 818 acts as the USB "host" of control chip 816 on the motherboard. Control chip 816 acts as the USB "device" of configuration chip 818. Configuration chip 818 can transfer sensor data from control chip 816 to host computer 801. From the user's and host computer 801's perspective, touch panel 802 is connected to control chip 816 via a direct USB cable as expected. However, host computer 801, as USB host, communicates directly with configuration chip 818, which is a USB device, instead of communicating directly with control chip 816. Therefore, host computer 801 can thus be at least partially isolated or independent, using configuration chip 818 as an intermediary, without directly communicating with control chip 816.
[0106] Because the control chip of the touch panel (e.g., control chip 816) may be manufactured by a third-party supplier, devices containing unverified or untrusted control chips may pose security risks. That is, for sensitive applications, there may be concerns that third-party control chips may contain malicious functions that could compromise the host computer or another external system connected to the host computer. Referring to Figure 8, the configuration chip 818 can be configured as a firewall between the control chip 816 and the host computer 801. The configuration chip 818 is separate from the control chip 816, thus allowing for an additional level of security, thereby reducing the risk to the host computer. The host computer 801 will only communicate directly with the configuration chip 818.
[0107] Firewalls can block malicious USB communications disguised as any other type of USB device. For example, a firewall can be configured to block a malicious USB touch controller chip from attempting to act as a keyboard, thus making harmful activities performed by clicking keys (such as editing the host computer's cache and executing programs) impossible. Malicious USB touch controller chips are blocked by the firewall, thus preventing the use of any USB device that supports the USB standard and all its associated communication methods. Furthermore, a USB firewall specifically for touch sensor systems can address the phenomenon that any USB device, even a USB touch sensor system, can enumerate (set up USB communication with its USB host) many different types of interfaces (e.g., exchanging vendor-specific data). A malicious USB touch panel controller chip might attempt to compromise the host through enumeration, for example, by attempting to read data strings longer than the host agrees to during enumeration to collect contents of the host computer's memory. Many computer systems do not protect themselves from such requests, and the information provided can at least be used to identify the type of host, thus allowing malicious devices to more effectively carry out further attacks. Malicious USB touchpad chips may also attempt to write data strings longer than agreed during USB enumeration, potentially altering and corrupting host operation. Even USB devices that function solely as USB touchpads, with a single USB touchpad communication interface, still possess basic USB functions, such as requesting the host manufacturer name, host device name, and many other strings from the host. These functions can be abused, for example, by repeatedly requesting more data than agreed during enumeration. The USB firewall provided by Configuration Chip 818 can even prevent abuse of these limited capabilities. For example, messages from a malicious control chip might be responded to by Configuration Chip 818's USB firewall and never sent to the client's computer.
[0108] Since the system described herein may be proprietary to a touch panel application, a firewall provided by the configuration chip 818 (or other similar circuitry) can block all direct communication between the suspected touch chip and the host computer. The suspected control chip may list the USB host provided by the configuration chip 818. Then, during normal operation, the only USB communication with the host computer is the touch coordinates transmitted through the firewall. The host computer's USB host interface will only list the firewall's USB device (i.e., the configuration chip 818).
[0109] A dedicated firewall for the touch panel can be configured to provide protection against malicious USB touch controllers that generate simulated touches to steal information or damage the host computer. For example, a USB firewall used to prevent potentially malicious touch controllers can detect and selectively block touch data based on one or more suspicious characteristics of the detected touch data. Such suspicious characteristics may include (but are not limited to): suspiciously evenly spaced touches; timely touches; touches that are unrealistically close in time; touches with precisely consistent duration or predictable patterns; when there is evidence that an authorized operator was not present; the same or similar touch patterns have been detected in the past; the same or similar patterns have been detected too frequently; touch patterns and times that match previously detected patterns too precisely and / or unrealistically consistent or precisely positioned "touches". Such and other characteristics may indicate that the touch data is simulated rather than real.
[0110] In some embodiments, the firewall function can be implemented by the circuitry between the host computer and the control chip, without the need for the automatic characterization and configuration functions of the configuration module described above. For example, the circuitry interfacing with the host computer can function as a firewall without implementing the methods of Figures 3 to 6.
[0111] Figure 9 is a block diagram of an exemplary hardware implementation of the controller 104 of Figures 1 and 2. The controller 804 of Figure 8 may have a similar implementation. However, the embodiments are not limited to the specific controller 104 shown, and the methods and principles described in this specification can be used with other controllers.
[0112] As shown in the figure, the controller 104 includes a control module 116 and a configuration module 118. In this embodiment, the control module 116 is in the form of a PCAP control chip, including a processor 902 and a memory 904. The processor 902 can execute instructions stored in the memory 904 to perform the functions of the PCAP control chip, including driving the transmission line 204 (as shown in Figure 2) and receiving signal output from the receiving line 206 of the touch panel (as shown in Figure 2).
[0113] The configuration module also includes a processor 906 and a memory 908. The processor 906 can execute instructions stored in the memory 908. For example, the instructions stored in the memory 908 can cause the processor 906 to perform any of the methods in Figures 3 to 6. Other functions described herein for characterizing the touch panel and configuration controller 104 can also be implemented by the processor 906. In other embodiments, the control module 116 and / or the configuration module 118 may share one or more processors or memories instead of being separate, as shown in Figure 9.
[0114] The controller 104 also includes a user input device 910 and a user output device 912. The user input device 910 may include one or more buttons or any other suitable device for receiving user input. The user output device 912 may include a visual output device, such as one or more LEDs, or any other suitable device for providing visual, audio, or other output to the user.
[0115] Controller 104 further includes a host computer interface 914 and a touch panel interface 916. The host computer interface 914 is coupled to the configuration module 118 and can communicate with a host computer. The host computer interface 914 may include, for example, a USB interface coupled to the configuration module 118, allowing the host computer to communicate with controller 104 through the configuration module 118 (e.g., a configuration chip), instead of communicating directly with controller 116.
[0116] The touch panel interface 916 is coupled to the control module 116. The touch panel interface can be any interface used to connect the transmit and receive lines of the control module 116 to a bus (such as bus 114 in Figures 1 and 2) and then to the touch panel. The touch panel interface 916 may include, for example, a flexible tail connector that connects to each transmit and receive line (see transmit line 204 and receive line 206 in Figure 2).
[0117] It should be understood that the above methods can be implemented in more than one combination. The embodiments are not limited to any particular one or more approaches, methods, or apparatuses disclosed in this specification. Those skilled in the art will understand that different variations and modifications can be made to the embodiments described in this specification in various implementations without departing from the scope of the claims. [Simplified Explanation of the Diagram]
[0030] The present invention will be more fully understood in conjunction with the accompanying drawings and the following detailed description of specific embodiments, in which: FIG1 is a block diagram of an exemplary touch sensor system according to some embodiments, which includes a controller and a touch panel; FIG2 is a block diagram of another exemplary touch sensor system, which includes the controller of FIG1 coupled to different touch panels; FIG3 is a flowchart of an exemplary method for configuring a controller for a touch sensor panel according to some embodiments; FIG4 is a flowchart of another exemplary method for configuring a controller for a touch panel according to some embodiments; FIG5 is a flowchart of another exemplary method for configuring a controller for a touch panel according to some embodiments; FIG6 is a process diagram of another exemplary method for configuring a controller for a touch panel according to some embodiments; FIG7 is a block diagram of an exemplary system including a touch sensor system coupled to a host computer. Figure 8 shows a block diagram of another exemplary system, including a touch sensor system coupled to a host computer; and Figure 9 shows a block diagram of the controller of Figures 1 and 2 according to some embodiments.
Claims
1. A method for configuring a touch sensor system, the touch sensor system including a controller and a touch panel operatively coupled to the controller, the touch panel including a plurality of transmitting electrodes and a plurality of receiving electrodes, the method comprising: the controller selectively and individually driving at least one of the transmitting electrodes; for each driven transmitting electrode, receiving a plurality of signal outputs from one or more of the receiving electrodes when the transmitting electrode is driven; determining one or more features of the touch panel as a function of one or more of the signal outputs of the receiving electrodes; and configuring at least one operating setting of the controller according to the one or more features of the touch panel.
2. The method as described in claim 1, further comprising measuring a complex signal level of the signal outputs, wherein one or more features determined as a function of the signal outputs include one or more features of the touch panel determined as a function of the measured signal levels.
3. The method as described in claim 1, wherein the controller comprises a plurality of transmit lines and a plurality of receive lines, each transmit electrode being coupled to a particular transmit line, and each receive electrode being coupled to a particular receive line, and wherein: Driving at least one of the emitter electrodes includes sequentially driving at least one of the plurality of emitter lines by the controller.
4. The method as described in claim 3, wherein the one or more features of the touch panel include the transmitting electrodes and the receiving electrodes of the touch panel.
5. The method as described in claim 4, wherein the plurality of transmitting electrodes are arranged in one of a row and a column, and the plurality of receiving electrodes are arranged in another of a row and a column.
6. The method as described in claim 4 or 5, wherein configuring the at least one operating setting includes configuring the controller to operate with a determined number of the transmitting electrodes and a determined number of the receiving electrodes.
7. The method as described in any one of claims 1 to 6, wherein the one or more features of the touch panel include a touch panel type.
8. The method as described in claim 7, wherein the at least one operation setting includes a sensitivity setting selected by a function based on the touch panel type.
9. The method as described in any one of claims 1 to 8, further comprising: receiving further signal outputs from the touch panel during one or more touches of the touch panel; determining one or more additional features of the touch sensor based on a function of the received further signal outputs; and configuring an additional operation setting based on the determined one or more additional features.
10. The method as described in any one of claims 1 to 8, further comprising: receiving further signal outputs from the touch panel during one or more touches of the touch panel; and analyzing the received further signal outputs and adjusting a sensitivity setting according to a function of the analysis.
11. A controller for a touch panel, comprising a plurality of transmitting electrodes and a plurality of receiving electrodes, the controller comprising: a control circuit configured to selectively and individually drive at least one of the transmitting electrodes of the touch panel; for each driven transmitting electrode, receiving a plurality of signal outputs from one or more of the receiving electrodes when the transmitting electrode is driven; and generating touch sensor data based on a function of the received signal outputs; and a configuration circuit configured to receive the touch sensor data from the control circuit; determine one or more features of the touch panel based on a function of the touch sensor data; and configure at least one operating setting of the controller based on the one or more features of the touch panel.
12. The controller as claimed in claim 11, wherein the control circuit measures a complex signal level of the signal outputs, wherein one or more features of the touch panel that determine as a function of the signal outputs include one or more features of the touch panel that determine as a function of the measured signal levels.
13. The controller as claimed in claim 11 or 12, wherein the control circuitry comprises a plurality of transmit lines and a plurality of receive lines, each transmit electrode being coupled to another transmit line, and each receive electrode being coupled to another receive line, wherein: Driving at least one of the emitter electrodes includes sequentially driving at least one of the plurality of emitter lines by the controller.
14. The controller as claimed in claim 13, wherein the one or more features of the touch panel include the transmitting electrodes and the receiving electrodes.
15. The controller as described in claim 14, wherein: The plurality of transmitting electrodes are arranged in one of the rows and columns, and the plurality of receiving electrodes are arranged in the other of the rows and columns; The configuration of the at least one operation setting includes configuring the controller to operate with a determined number of the transmitting electrodes and a determined number of the receiving electrodes.
16. The controller as described in any one of claims 11 to 15, wherein the one or more features of the touch panel include a sensitivity feature.
17. The controller as described in any one of claims 11 to 16, further comprising: a control chip including the control circuitry; and a configuration chip including the configuration circuitry.
18. The controller as claimed in claim 17, wherein the configuration circuitry includes a first interface coupled to the configuration chip for communicating with a host computer, and a second interface coupled between the configuration chip and the control chip for communicating between the configuration chip and the control chip.
19. The controller as described in claim 18, wherein the first interface includes a first USB interface.
20. The controller as described in claim 19, wherein the second interface includes a second USB interface.
21. A system comprising: a controller as described in any one of claims 11 to 20; and a touch panel coupled to the controller.