Various approaches to sensing touch input have been developed. In some implementations, a touch sensor is combined with a force sensor to provide both touch and force sensing at a common device such as a portable electronic device. The touch and force sensors may comprise respective capacitive sensing structures, for example.
As described above, a variety of approaches to sensing touch input have been developed, some of which pair a touch sensor with a force sensor to enable both touch and force sensing at a common device (e.g., smartphone). The touch and force sensors may include respective capacitive sensing structures, for example. The inclusion of respective sensors for sensing touch and force, however, can increase the cost, complexity, and energy consumption of the device in which they are implemented. Other drawbacks may be associated with combined touch and force sensing, such as increased latency (e.g., between user input and resultant output). Further, force sensing may be limited to a limited number of touch locations (often, only one location), and an inability to accurately assess input object size (e.g., finger size) in the presence of varying applied force.
To address these and other issues, implementations of a touch-sensitive display device operable to sense touch and force input are disclosed herein. As described below, a common capacitive sensing structure may be used to sense, for multiple touch input locations, the XY location and the magnitude of the applied force, while minimizing latency, complexity, and consumption of processing resources. In many implementations, the concepts disclosed herein can also enable accurate calibration of the size of an input object.
Electrode matrix 102 includes a transmit (Tx) electrode array 108 and a receive (Rx) electrode array 110. Tx electrode array 108 and Rx electrode array 110 may include a plurality of Tx electrodes and a plurality of Rx electrodes, respectively. In one example, Tx electrode array 108 and Rx electrode array 110 may be formed on two separate thin films as shown in
As described in further detail below, electrode matrix 102 may be configured to aid in the determination of locations of one or more touch inputs and the force applied at each detected location of touch input. As examples,
To facilitate detection of touch input location and/or applied force, a Tx electrode driver 116 is coupled to Tx electrode array 108. A controller 118 is configured to cause Tx electrode driver 116 to drive Tx electrode array 108. In one example, Tx electrode driver 116 may sequentially apply AC voltages on a number of (e.g., each) Tx electrodes in Tx electrode array 108. Touch inputs may be detected based on resulting currents—e.g., that result from driving the Tx electrodes—induced on the Rx electrodes in Rx electrode array 110. The resulting currents may be received by receive circuitry 120, which is coupled to Rx electrode array 110 and may convert the currents into digital codes that can be provided to controller 118. Analysis of these digital codes may then take place to detect touch input location and/or applied force. Receive circuitry 120 may include current-to-digital converters coupled to each Rx electrode, for example.
As depicted, touch-sensitive display device 100 includes a deformable layer 122 configured to resiliently deform in response to force applied to surface 106. Deformable layer 122 may be comprised of a soft silicone elastomer, urethane elastomer, acrylic film, or any other suitable material, and allows Tx and Rx electrode arrays 108 and 110, and a conductive plane 124 spaced away from (e.g., electrically insulated from) the Tx and Rx electrode arrays, to resiliently deflect relative to one another. As described in further detail below, the resilient deflection of electrode matrix 102 relative to conductive plane 124 may enable a capacitive measurement of applied force.
Touch-sensitive display device 100 includes a display 126 positioned at the bottom of the display device. Display 126 may assume any suitable form (e.g., LCD, OLED, CRT) and may output graphical content for observation by users, which in some examples may be generated based on user input detected with electrode matrix 102. Display 126 may be placed in a shielded position relative to conductive plane 124, which may shield the display from electromagnetic interference originating from electrode matrix 102, and the electrode matrix from electromagnetic interference originating from the display. Conductive plane 124 may cover substantially the entire area of display 126 (e.g., as viewed in a direction normal to surface 106). For examples in which display 126 includes an ITO layer, this ITO layer may be employed as conductive plane 124—e.g., an ITO layer located on the exterior surface of a color filter plate in an LCD display.
Conductive plane 124 may be operable in various electrical states. In particular,
One or both of the first and second electrical states of conductive plane 124 may be used to detect locations of respective touch inputs. For example, controller 118 may measure the mutual capacitance between Tx and Rx electrode arrays 108 and 110 in one or both of the first and second electrical states and compare the measured capacitance(s) to respective baseline values. A location of touch input may be identified in response to detecting that one or both of the mutual capacitances have fallen below their respective baseline values by at least a threshold amount. In some examples, a location of touch input may be identified based on a first output corresponding to the first electrical state without reference to a second output corresponding to the second electrical state.
Both the first and second electrical states of conductive plane 124 may be used to determine a magnitude/pressure of force applied to surface 106. When held at the fixed reference voltage Vref in the first electrical state, conductive plane 124 may increasingly attract electric fields that previously terminated on Rx electrode array 110 (e.g., produced as a result of driving Tx electrode array 108) as electrode matrix 102 approaches the conductive plane in response to applied force. A decreasing mutual capacitance between Tx and Rx electrode arrays 108 and 110 may result. Conversely, the mutual capacitance between Tx and Rx electrode arrays 108 and 110 may increase as electrode matrix 102 approaches conductive plane 124 when the conductive plane is floating in the second electrical state, as additional paths for electrical coupling may be provided in this state. In the second electrical state, a circuit may be formed in which capacitances in touch-sensitive display device 100 are placed in series such that a net mutual capacitance including capacitances among electrode matrix 102 and conductive plane 124 assumes the following form: Cm=Ctx_rx+Crx_cpCtx_cp/(Crx_cp+Ctx_cp), where Ctx_rx is the mutual capacitance between Tx and Rx electrode arrays 108 and 110, Ctx_cp is the capacitance between the Tx electrode array and the conductive plane, and Crx_cp is the capacitance between the Rx electrode array and the conductive plane.
The opposing changes in mutual capacitance in the first and second electrical states with applied force may be leveraged by combining mutual capacitance measurements in both states to determine a magnitude/pressure of applied force, which may increase the accuracy of force sensing relative to approaches that utilize mutual capacitance measurement in only a single electrical state.
Graph 200 further shows the mutual capacitance in electrode matrix 102 with conductive plane 124 in the first electrical state as a function of the input object position. This example dataset is represented in
Graph 200 shows the difference between the mutual capacitance responses in the first and second electrical states in the form of a dataset represented in
Returning to
In view of the above, the first and second durations respectively allocated to touch input location identification and force assessment may be unequal, and may be dynamically varied in response to various input conditions. As an example, relatively greater proportions of the Tx electrode excitation periods may be allocated to the first duration for detecting touch input locations as a greater number of touch input locations are predicted, suspected, and/or detected. Time spent in the second duration for assessing force may be proportionally reduced, as touch input location identification may be initially prioritized and accurate force magnitude/pressure assessment delayed for subsequent frames. As another example, a relatively low number (e.g., one) of touch input locations may be predicted, suspected, and/or detected, and a greater proportion of the Tx electrode excitation periods may be allocated to the second duration relative to the first duration to provide accurate measurement of force magnitude/pressure. Other conditions alternatively or additionally may lead to prioritized force assessment, such as an application running on computing device hardware coupled to touch-sensitive display device 100 stipulating such prioritization (e.g., in which high accuracy force sensing is desired to achieve a user experience), and/or user input stipulating such prioritization.
Switching conductive plane 124 between the first and second electrical states may be leveraged for other purposes such as calibrating the size of a human finger (e.g., finger 112) interacting with touch-sensitive display device 100. As described above with reference to
Touch-sensitive display device 100 may thus enable touch and force sensing using a common capacitive sensor without increasing sensing latency. As described above, touch input and force may be assessed for each possible touch location in electrode matrix 102, and the variance in human finger size may be accounted for.
At 302, method 300 comprises driving a transmit electrode array for a first duration and for a second duration. The transmit electrode array may be Tx electrode array 108, for example, and may be driven by Tx electrode driver 116. Controller 118 may cause Tx electrode driver 116 to drive Tx electrode array, for example. Driving the transmit electrode array may include driving a plurality or any suitable subset of transmit electrodes of the transmit electrode array, and in some examples all of the transmit electrodes. Driving the transmit electrode array may include applying AC voltage sequences to the driven transmit electrodes.
At 304, method 300 comprises receiving, from a receive electrode array, a first output resulting from driving of the transmit electrode array for the first duration, and a second output resulting from driving of the transmit electrode array for the second duration. The receive electrode array may be Rx electrode array 110, for example, and the first and second outputs may be received by controller 118 via receive circuitry 120, which may comprise current-to-digital and/or other analog-to-digital converters coupled to one or more receive electrodes of the receive electrode array. The receive circuitry may convert received currents into digital codes which are then processed by the controller.
At 306, method 300 comprises operating a conductive plane in a first electrical state during the first duration and in a second electrical state during the second duration. The conductive plane may be spaced away from (e.g., electrically insulated from) the transmit and receive electrode arrays and configured such that the transmit and receive electrode arrays and the conductive plane resiliently deflect relative to one another in response to applied force. A deformable layer such as deformable layer 122 configured to resiliently deform in response to applied force may be positioned between the transmit and receive electrodes and the conductive plane. The conductive plane may be conductive plane 124, for example. In the first electrical state, the conductive plane may be coupled to a fixed reference voltage Vref (e.g., via switch 128), and in the second electrical state, the conductive plane may be disconnected from the reference voltage and allowed to float. As such, the first output may correspond to the conductive plane operating in the first electrical state, and the second output may correspond to the conductive plane operating in the second electrical state.
At 308, method 300 comprises determining a location of a touch input and an applied force of the touch input based on the first and second outputs. The location of the touch input may be determined based on the first output (e.g., without reference to the second output), and the applied force of the touch input may be determined based on both the first and second outputs (e.g., the difference between the first and second outputs). The first and second durations described above may be unequal and may be selected in response to an input condition stipulating prioritization of determination of touch input location or force assessment. For example, the first and second durations may be selected based on the number of locations of respective touch inputs (e.g., that are predicted, suspected, or detected) such that the first duration is greater for a first number of locations than for a second number of locations, and the second duration is less for the first number of locations than for the second number of locations, with the first number being greater than the second number. The second duration may be greater than the first duration, with the first and second durations being selected in response to an input condition (e.g., predicted/suspected/detected low or single number of touch input locations, application context, user input) that stipulates prioritizing assessment of the applied force, for example. The first and second durations may vary among frames, and in some frames, only one of the first and second durations may be employed (e.g., such that the duration employed is extended or not extended, with the non-employed duration omitted). Thus, a total transmit electrode excitation time may remain constant throughout frames or may vary among frames.
Method 300 may include alternative or additional steps not shown in
In some implementations, the functions performed by a controller (e.g., controller 118 of
The logic machine may include one or more physical devices configured to execute instructions. For example, the logic machine may be configured to execute instructions that are part of one or more applications, services, programs, routines, libraries, objects, components, data structures, or other logical constructs. Such instructions may be implemented to perform a task, implement a data type, transform the state of one or more components, achieve a technical effect, or otherwise arrive at a desired result.
The logic machine may include one or more processors configured to execute software instructions. Additionally or alternatively, the logic machine may include one or more hardware or firmware logic machines configured to execute hardware or firmware instructions. Processors of the logic machine may be single-core or multi-core, and the instructions executed thereon may be configured for sequential, parallel, and/or distributed processing. Individual components of the logic machine optionally may be distributed among two or more separate devices, which may be remotely located and/or configured for coordinated processing. Aspects of the logic machine may be virtualized and executed by remotely accessible, networked computing devices configured in a cloud-computing configuration.
The storage machine may include one or more physical devices configured to hold instructions executable by the logic machine to implement the methods and processes described herein. When such methods and processes are implemented, the state of the storage machine may be transformed e.g., to hold different data. For example, the instructions may be executable to (1) switch a conductive plane between a first electrical state and a second electrical state while causing a transmit electrode driver to drive a transmit electrode array, (2) receive a first output and a second output from a receive electrode array corresponding respectively to the first and second electrical states, and (3) determine a location of a touch input and an applied force of the touch input based on both the first and second outputs.
The storage machine may include removable and/or built-in devices. The storage machine may include optical memory (e.g., CD, DVD, HD-DVD, Blu-Ray Disc, etc.), semiconductor memory (e.g., RAM, EPROM, EEPROM, etc.), and/or magnetic memory (e.g., hard-disk drive, floppy-disk drive, tape drive, MRAM, etc.), among others. The storage machine may include volatile, nonvolatile, dynamic, static, read/write, read-only, random-access, sequential-access, location-addressable, file-addressable, and/or content-addressable devices.
It will be appreciated that the storage machine may include one or more physical devices. However, aspects of the instructions described herein alternatively may be propagated by a communication medium (e.g., an electromagnetic signal, an optical signal, etc.) that is not held by a physical device for a finite duration.
Aspects of the logic machine and the storage machine may be integrated together into one or more hardware-logic components. Such hardware-logic components may include field-programmable gate arrays (FPGAs), program- and application-specific integrated circuits (PASIC/ASICs), program- and application-specific standard products (PSSP/ASSPs), system-on-a-chip (SOC), and complex programmable logic devices (CPLDs), for example.
The terms “module,” “program,” and “engine” may be used to describe an aspect of a computing system implemented to perform a particular function. In some cases, a module, program, or engine may be instantiated via the logic machine executing instructions held by storage machine. It will be understood that different modules, programs, and/or engines may be instantiated from the same application, service, code block, object, library, routine, API, function, etc. Likewise, the same module, program, and/or engine may be instantiated by different applications, services, code blocks, objects, routines, APIs, functions, etc. The terms “module,” “program,” and “engine” may encompass individual or groups of executable files, data files, libraries, drivers, scripts, database records, etc.
It will be appreciated that a “service”, as used herein, is an application program executable across multiple user sessions. A service may be available to one or more system components, programs, and/or other services. In some implementations, a service may run on one or more server-computing devices.
When included, a display subsystem may be used to present a visual representation of data held by the storage machine. This visual representation may take the form of a graphical user interface (GUI). As the herein described methods and processes change the data held by the storage machine, and thus transform the state of the storage machine, the state of the display subsystem may likewise be transformed to visually represent changes in the underlying data. The display subsystem may include one or more display devices (e.g., display 126 of
When included, an input subsystem may comprise or interface with one or more user-input devices such as a keyboard, mouse, touch screen (e.g., touch-sensitive display device 100 of
The subject matter of the present disclosure is further described in the following paragraphs. One aspect provides a touch-sensitive display device comprising a transmit electrode array, a receive electrode array, a conductive plane configured such that the transmit and receive electrode arrays and the conductive plane resiliently deflect relative to one another in response to applied force, and a controller configured to (1) switch the conductive plane between a first electrical state and a second electrical state while causing a transmit electrode driver to drive the transmit electrode array, (2) receive a first output and a second output from the receive electrode array corresponding respectively to the first and second electrical states, and (3) determine a location of a touch input and an applied force of the touch input based on the first and second outputs. In this aspect, the conductive plane alternatively or additionally may be held at a reference voltage in the first electrical state, and the location of the touch input alternatively or additionally may be determined based on the first output without reference to the second output. In this aspect, the conductive plane alternatively or additionally may be floating in the second electrical state, and the applied force of the touch input alternatively or additionally may be determined based on both the first and second outputs. In this aspect, the first and second outputs corresponding respectively to the first and second electrical states alternatively or additionally may be received for each of a plurality of receive electrodes of the receive electrode array that are scanned in a frame. In this aspect, the controller alternatively or additionally may be configured to switch the conductive plane to the first electrical state for a first duration and to the second electrical state for a second duration. In this aspect, the location of the touch input alternatively or additionally may be one of a number of locations of respective touch inputs, and the controller alternatively or additionally may be configured to select the first and second durations based on the number of locations of respective touch inputs such that the first duration is greater for a first number of locations than for a second number of locations, and the second duration is less for the first number of locations than for the second number of locations, the first number being greater than the second number. In this aspect, the second duration alternatively or additionally may be greater than the first duration, and the controller alternatively or additionally may be configured to select the first and second durations in response to an input condition that stipulates prioritizing assessment of the applied force. In this aspect, the touch input alternatively or additionally may correspond to a finger in contact with the touch-sensitive display device, and the controller alternatively or additionally may be configured to determine a size of the finger based on the first and second outputs at an initial frame in which contact of the finger on the touch-sensitive display device is detected. In this aspect, the touch-sensitive display device alternatively or additionally may comprise a switch that, in the first electrical state, couples the conductive plane to a reference voltage, and in the second electrical state, floats the conductive plane, and the controller alternatively or additionally may be configured to switch the conductive plane between the first and second electrical states by causing actuation of the switch. In this aspect, the touch-sensitive display device alternatively or additionally may comprise a deformable layer between the conductive plane and the transmit and receive electrode arrays, the deformable layer configured to resiliently deform in response to applied force. In this aspect, the touch-sensitive display device alternatively or additionally may comprise receive circuitry coupled to the receive electrode array, the receive circuitry configured to digitize current in the receive electrode array to produce the first and second outputs.
Another aspect provides a method of input sensing comprising driving a transmit electrode array for a first duration and a second duration, receiving, from a receive electrode array, a first output resulting from driving of the transmit electrode array for the first duration, and a second output resulting from driving of the transmit electrode array for the second duration, operating a conductive plane in a first electrical state during the first duration and in a second electrical state during the second duration, the conductive plane configured such that the transmit and receive electrode arrays and the conductive plane resiliently deflect relative to one another in response to applied force, and determining a location of a touch input and an applied force of the touch input based on the first and second outputs. In this aspect, the conductive plane alternatively or additionally may be held at a reference voltage in the first electrical state, and the location of the touch input alternatively or additionally may be determined based on the first output without reference to the second output. In this aspect, the conductive plane alternatively or additionally may be floating in the second electrical state, and the applied force of the touch input alternatively or additionally may be determined based on both the first and second outputs. In this aspect, the location of the touch input alternatively or additionally may be one of a number of locations of respective touch inputs, and the first and second durations alternatively or additionally may be selected based on the number of locations of respective touch inputs such that the first duration is greater for a first number of locations than for a second number of locations, and the second duration is less for the first number of locations than for the second number of locations, the first number being greater than the second number. In this aspect, the second duration alternatively or additionally may be greater than the first duration, and the first and second durations alternatively or additionally may be selected in response to an input condition that stipulates prioritizing assessment of the applied force. In this aspect, the touch input alternatively or additionally may correspond to a finger, and the method alternatively or additionally may comprise determining a size of the finger based on the first and second outputs at an initial frame in which contact of the finger is detected.
Another aspect provides a touch-sensitive display device comprising a transmit electrode array, receive electrode array, a conductive plane configured such that the transmit and receive electrode arrays and the conductive plane resiliently deflect relative to one another in response to applied force, and a controller configured to (1) switch the conductive plane between a first electrical state and a second electrical state while causing a transmit electrode driver to drive the transmit electrode array, (2) receive a first output and a second output from the receive electrode array corresponding respectively to the first and second electrical states, and (3) determine a location of a touch input and an applied force of the touch input based on the first and second outputs, the conductive plane being held at a fixed reference voltage in the first electrical state and floating in the second electrical state. In this aspect, the location of the touch input alternatively or additionally may be determined based on the first output without reference to the second output. In this aspect, the applied force of the touch input alternatively or additionally may be determined based on both the first and second outputs.
It will be understood that the configurations and/or approaches described herein are exemplary in nature, and that these specific embodiments or examples are not to be considered in a limiting sense, because numerous variations are possible. The specific routines or methods described herein may represent one or more of any number of processing strategies. As such, various acts illustrated and/or described may be performed in the sequence illustrated and/or described, in other sequences, in parallel, or omitted. Likewise, the order of the above-described processes may be changed.
The subject matter of the present disclosure includes all novel and non-obvious combinations and sub-combinations of the various processes, systems and configurations, and other features, functions, acts, and/or properties disclosed herein, as well as any and all equivalents thereof.