Input device, method performed by the input device, and controller of the input device
Patent Information
- Application Number
- CN202110835571.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-07-24
- Filing Date
- 2021-07-23
- Publication Date
- 2026-11-03
- Estimated Expiration
- 2041-07-23
AI Technical Summary
Existing input devices are prone to landing artifacts and lift artifacts when scanning the sensing area, which affects the accuracy of object position detection.
By dynamically rescanning the array of sensor electrodes, different subframes of sensor data are acquired and compared with the previously acquired subframes. The scanning cycle is selectively repeated to reduce or eliminate artifacts.
Without increasing object detection latency, it effectively reduces or eliminates landing artifacts and boosting artifacts in capacitive frames, thereby improving the accuracy of object location detection.
Smart Images

Figure CN114047835B_ABST
Abstract
Description
Technical Field
[0001] This implementation generally relates to capacitive sensing, and more specifically to dynamically repeating portions of capacitive scanning to reduce landing artifacts. Background Technology
[0002] Input devices, including proximity sensor devices (often also called touchpads or touch sensor devices), are widely used in a variety of electronic systems. A proximity sensor device typically includes a sensing area, usually defined by a surface, within which the proximity sensor device determines the presence, location, and / or movement of one or more input objects. Proximity sensor devices can be used to provide interfaces for electronic systems. For example, proximity sensor devices are commonly used as input devices in larger computing systems, such as opaque touchpads integrated into or surrounding laptops or desktop computers. Proximity sensor devices are also commonly used in smaller computing systems, such as touchscreens integrated into cellular phones.
[0003] An input device can scan a sensing area to acquire one or more frames of capacitive sensor data. Each frame of sensor data can represent an "image" or snapshot of the capacitive properties of the sensing area. Objects in or near the sensing area can alter the capacitive properties of the sensing area. Therefore, the input device can detect the position and / or movement of an object based on changes in one or more frames of sensor data. In some instances, an object can land on a portion of the currently scanned sensing area, creating an artifact (called a "landing artifact") in the resulting frame of sensor data. Similar artifacts can occur when an object is lifted from a portion of the currently scanned sensing area. Landing artifacts can affect the accuracy of the input device in detecting and / or determining the position of objects within the sensing area. Therefore, it is desirable to reduce or eliminate the effects of landing artifacts while scanning the sensing area. Summary of the Invention
[0004] The present invention is provided to present, in a simplified form, the selection of concepts further described below in the detailed embodiments. The present invention is not intended to identify key or essential features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter.
[0005] A method and apparatus for dynamically rescanning an array of sensor electrodes are disclosed. An innovative aspect of this disclosure can be implemented in an input device comprising a processing system and an array of sensor electrodes configured for capacitive sensing in a sensing area of the input device. The processing system is configured to perform a first scan of the array multiple times to acquire frames of sensor data, wherein different subframes of sensor data are acquired from each cycle of the first scan. During each cycle of the first scan, the processing system compares the subframes of sensor data acquired in the cycle with corresponding subframes of sensor data acquired before the cycle. Furthermore, the processing system can selectively repeat one or more cycles of the first scan based on this comparison.
[0006] Another innovative aspect of the subject matter of this disclosure can be achieved using a capacitive sensing method performed by an input device. The method includes the steps of: performing a first scan of an array of sensor electrodes in multiple cycles to acquire frames of sensor data, wherein different subframes of sensor data are acquired from each cycle of the first scan; during each cycle of the first scan, comparing the subframes of sensor data acquired in the cycle with corresponding subframes of sensor data acquired before the cycle; and selectively repeating one or more cycles of the first scan based on the comparison.
[0007] Another innovative aspect of the subject matter of this disclosure can be implemented in a system including processing circuitry and memory. The memory stores instructions that, when executed by the processing circuitry, cause the system to: perform a first scan of the array of sensor electrodes multiple times to acquire frames of sensor data, wherein different subframes of sensor data are acquired from each cycle of the first scan; during each cycle of the first scan, compare the subframes of sensor data acquired from the cycle with corresponding subframes of sensor data acquired before the cycle; and selectively repeat one or more cycles of the first scan based on the comparison. Attached Figure Description
[0008] This embodiment is illustrated by way of example and is not intended to be limited to the figures in the accompanying drawings.
[0009] Figure 1 An example input device that can be used with this embodiment is shown.
[0010] Figure 2A An example array of sensor electrodes according to some implementations is shown.
[0011] Figure 2B Another example array of sensor electrodes according to some implementations is shown.
[0012] Figure 3AA timing diagram depicting an example capacitive scan operation for acquiring capacitive sensor data is shown.
[0013] Figure 3B It shows the result of Figure 3A Example capacitive images produced by the scanning operation.
[0014] Figure 4 A block diagram of an input device according to some embodiments is shown.
[0015] Figure 5A A timing diagram illustrating an example capacitive scan operation according to some embodiments is shown.
[0016] Figure 5B It shows the result of Figure 5A Example capacitive images produced by the scanning operation.
[0017] Figure 6 A timing diagram depicting another example scan operation according to some implementations is shown.
[0018] Figure 7 A block diagram of a processing system according to some other embodiments is shown.
[0019] Figure 8 An illustrative flowchart illustrating an example capacitive scanning operation according to some embodiments is shown. Detailed Implementation
[0020] Various implementations generally relate to input devices capable of capacitive sensing. Some implementations more specifically relate to dynamically rescanning an array of sensor electrodes to reduce or eliminate landing artifacts in frames of capacitive sensor data. The input device can cycle through the array of sensor electrodes multiple times to acquire frames of sensor data. During each cycle, the input device can acquire a corresponding subframe of sensor data. In some implementations, during each cycle of scanning, the input device can compare a subframe of sensor data acquired from the current cycle with a corresponding subframe of sensor data acquired before the current cycle, and can selectively repeat one or more cycles of scanning based on this comparison. More specifically, the input device can repeat one or more cycles of scanning in response to detecting a change or difference between a subframe of the current cycle and a previously acquired subframe.
[0021] As used herein, the term "landing artifact" can refer to any artifact that occurs in a frame of sensor data due to dynamic changes within the sensing area while it is being scanned simultaneously. In some instances, landing artifacts may occur when an input object lands on a portion of the currently being scanned sensing area. A similar artifact may occur when an input object is lifted from a portion of the currently being scanned sensing area. Such artifacts may be referred to as "lifting artifacts." The term "landing object" is used herein to refer to any input object that generates a landing or lifting artifact (such as an object that lands in or is lifted from the sensing area while it is being scanned).
[0022] Specific embodiments of the subject matter described in this disclosure can be implemented to achieve one or more of the following potential advantages. By comparing each subframe of sensor data from the current scan with a corresponding subframe of previously acquired sensor data, aspects of this disclosure can detect landing artifacts or boosting artifacts in one or more subframes. More specifically, by performing this comparison during each cycle of the scan, such landing artifacts or boosting artifacts can be detected before the current scan is completed. Therefore, one or more cycles of scanning can be repeated to reacquire one or more subframes that may have been affected by landing artifacts or boosting artifacts before assembling the subframes into a frame of capacitive sensor data. Thus, aspects of this disclosure can reduce or eliminate landing artifacts or boosting artifacts in capacitive frames without sacrificing object detection latency.
[0023] In the following description, numerous specific details, such as examples of specific components, circuits, and processes, are set forth to provide a thorough understanding of this disclosure. As used herein, the term "coupled" means directly connected to or connected via one or more intermediate components or circuits. The terms "electronic system" and "electronic device" may be used interchangeably to refer to any system capable of electronically processing information. Furthermore, specific nomenclature is set forth in the following description and for illustrative purposes to provide a thorough understanding of various aspects of this disclosure. However, it will be apparent to those skilled in the art that these specific details may not be required to practice the exemplary embodiments. In other instances, well-known circuits and devices are shown in block diagram form to avoid obscuring this disclosure. Some portions of the following detailed description are presented according to procedures, logic blocks, processes, and other symbolic representations of operations on data bits within computer memory.
[0024] These descriptions and representations are means by which those skilled in the art of data processing most effectively communicate the substance of their work to others skilled in the art. In this disclosure, processes, logic blocks, handling, etc., are considered as a self-consistent sequence of steps or instructions that lead to a desired result. These steps are those that require physical handling of physical quantities. Typically, although not essential, these quantities take the form of electrical or magnetic signals that can be stored, transmitted, combined, compared, and otherwise processed in a computer system. However, it should be remembered that all these and similar terms will be associated with appropriate physical quantities and are merely convenient labels applied to those quantities.
[0025] Unless otherwise specifically stated, it is understood, as will be apparent from the following discussion, that throughout this application, the use of terms such as “access,” “receive,” “send,” “use,” “select,” “determine,” “normalize,” “multiply,” “average,” “monitor,” “compare,” “apply,” “update,” “measure,” and “derive” refers to the actions and processes of a computer system or similar electronic computing device that process and convert data represented as physical (electronic) quantities in the registers and memories of the computer system into other data represented similarly as physical quantities in the memory or registers of the computer system or other such information storage, transmission, or display devices.
[0026] In the accompanying drawings, a single block may be described as performing one or more functions; however, in practice, the one or more functions performed by that block may be performed in a single component or across multiple components, and / or may be performed using hardware, software, or a combination of hardware and software. To clearly illustrate this interchangeability between hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described below in general terms of their functionality. Whether such functionality is implemented in hardware or software depends on the specific application and the design constraints imposed on the system as a whole. Those skilled in the art may implement the described functionality in varying ways for each specific application, but such implementation decisions should not be construed as departing from the scope of the invention. Furthermore, example input devices may include components other than those shown, including known components such as processors, memory, etc.
[0027] The techniques described herein can be implemented in hardware, software, firmware, or any combination thereof, unless specifically described as being implemented in a particular manner. Any feature described as a module or component can also be implemented together in an integrated logic device or separately as a discrete but interoperable logic device. If implemented in software, the techniques can be implemented at least in part by a non-transitory processor-readable storage medium comprising instructions that, when executed, perform one or more of the methods described above. The non-transitory processor-readable data storage medium can form part of a computer program product, which may include encapsulation material.
[0028] Non-transitory processor-readable storage media may include random access memory (RAM) (such as synchronous dynamic random access memory (SDRAM)), read-only memory (ROM), non-volatile random access memory (NVRAM), electrically erasable programmable read-only memory (EEPROM), flash memory, and other known storage media. Alternatively or additionally, the technology may be implemented at least in part by a processor-readable communication medium that carries or transmits code in the form of instructions or data structures and is accessible, read, and / or executed by a computer or other processor.
[0029] The various illustrative logic blocks, modules, circuits, and instructions described in conjunction with the embodiments disclosed herein can be executed by one or more processors. As used herein, the term "processor" can refer to any general-purpose processor, conventional processor, controller, microcontroller, special-purpose processor, and / or state machine capable of executing scripts or instructions of one or more software programs stored in memory.
[0030] Figure 1 An example input device 100 in which this embodiment can be implemented is shown. Input device 100 includes a processing system 110 and a sensing area 120. Input device 100 can be configured to provide input to an electronic system (not shown for simplicity). Examples of electronic systems may include personal computing devices (e.g., desktop computers, laptop computers, netbook computers, tablet computers, web browsers, e-book readers, and personal digital assistants (PDAs)), composite input devices (e.g., physical keyboards, joysticks, and push-button switches), data input devices (e.g., remote controls and mice), data output devices (e.g., displays and printers), remote terminals, kiosks, video game consoles (e.g., video game consoles, portable gaming devices, etc.), communication devices (e.g., cellular phones, such as smartphones), and media devices (e.g., recorders, editors, and players, such as televisions, set-top boxes, music players, digital photo frames, digital cameras, and in-vehicle entertainment systems).
[0031] In some aspects, the input device 100 can be implemented as a physical part of a corresponding electronic system. Alternatively, the input device 100 can be physically separated from the electronic system. The input device 100 can be coupled to (and communicate with) components of the electronic system using various wired and / or wireless interconnection and communication technologies, such as buses and networks. Example technologies may include integrated circuit buses (ICBs). 2 C) Serial Peripheral Interface (SPI), PS / 2, Universal Serial Bus (USB), Bluetooth®, Infrared Data Association (IrDA), and various radio frequency (RF) communication protocols defined by the IEEE 802.11 standard.
[0032] exist Figure 1 In the example, input device 100 may correspond to a proximity sensor device (e.g., also referred to as a “touchpad” or “touch sensor device”) configured to sense input provided by one or more input objects 140 in sensing area 120. Example input objects 140 include fingers, styluses, active pens, etc. Sensing area 120 may cover any space above, around, in, and / or near input device 100, where input device 100 is capable of detecting user input (such as that provided by one or more input objects 140). The size, shape, and / or positioning (e.g., relative to the electronic system) of sensing area 120 may vary depending on the specific implementation.
[0033] In some embodiments, the sensing area 120 may extend from the surface of the input device 100 in one or more directions in space, for example, until the signal-to-noise ratio (SNR) of the sensor drops below a threshold suitable for object detection. For example, the distance the sensing area 120 extends in a particular direction may be approximately less than one millimeter, a few millimeters, a few centimeters, or more, and may vary depending on the type of sensing technology used and / or the desired accuracy. In some embodiments, the sensing area 120 may detect inputs involving no physical contact with any surface of the input device 100, contact with the input surface of the input device 100 (e.g., a touch surface and / or screen), contact with the input surface of the input device 100 coupled with a certain amount of applied force or pressure, and / or any combination thereof.
[0034] In some implementations, the input surface may be provided by one or more surfaces of the housing of the input device 100 and / or projected onto one or more surfaces of the housing of the input device 100 (e.g., as an image). For example, the sensing area 120 may have a rectangular shape when projected onto the input surface of the input device 100. In some aspects, input may be provided by an image spanning a one-dimensional, two-dimensional, three-dimensional, or higher-dimensional space in the sensing area 120. In some other aspects, input may be provided by a projection along a specific axis or plane in the sensing area 120. Still further, in some aspects, input may be provided by a combination of an image and a projection in the sensing area 120.
[0035] Input device 100 can utilize various sensing techniques to detect user input. Example sensing techniques may include capacitive, inductive, resistive, inductive, magnetic, acoustic, ultrasonic, and optical sensing techniques. In some embodiments, input device 100 may utilize capacitive sensing techniques to detect user input. For example, sensing area 120 may include one or more capacitive sensing elements (e.g., sensor electrodes) to create an electric field. Input device 100 may detect input based on changes in the capacitance of the sensor electrodes. For example, an object in contact with (or adjacent to) an electric field may cause a change in voltage and / or current in the sensor electrodes. Such changes in voltage and / or current can be detected as a “signal” indicating user input. Sensor electrodes may be arranged in an array or other configuration to detect input at multiple points within sensing area 120. In some aspects, some sensor electrodes may be ohmically shorted together to form a larger sensor electrode. Some capacitive sensing techniques may utilize a resistive sheet providing a uniform resistive layer.
[0036] Example capacitive sensing techniques can be based on "self-capacitance" (also known as "absolute capacitance") and / or "mutual capacitance" (also known as "cross-capacitance"). Absolute capacitance sensing methods detect changes in capacitive coupling between sensor electrodes and an input object. For example, an input object near the sensor electrodes can alter the electric field near the sensor electrodes, thus changing the measured capacitive coupling. In some implementations, input device 100 can achieve absolute capacitance sensing by modulating the sensor electrodes relative to a reference voltage and detecting the capacitive coupling between the sensor electrodes and the input object. The reference voltage can be substantially constant or can vary. In some aspects, the reference voltage can correspond to ground potential.
[0037] Transcapacitive sensing methods detect changes in capacitive coupling between sensor electrodes. For example, an input object near the sensor electrodes can alter the electric field between the sensor electrodes, thus changing the measured capacitive coupling of the sensor electrodes. In some embodiments, input device 100 can achieve transcapacitive sensing by detecting the capacitive coupling between one or more “transmitter” sensor electrodes and one or more “receiver” sensor electrodes. The transmitter sensor electrodes can be modulated relative to the receiver sensor electrodes. For example, the transmitter sensor electrodes can be modulated relative to a reference voltage to transmit a signal, while the receiver sensor electrodes can be held at a relatively constant voltage to “receive” the transmitted signal. The signal received by the receiver sensor electrodes may be affected by environmental interference (e.g., from other electromagnetic signals and / or objects in contact with or adjacent to the sensor electrodes). In some aspects, each sensor electrode can be a dedicated transmitter or a dedicated receiver. In other aspects, each sensor electrode can be configured to both transmit and receive.
[0038] Processing system 110 may be configured to operate the hardware of input device 100 to detect input in sensing area 120. In some embodiments, processing system 110 may control one or more sensor electrodes to detect objects in sensing area 120. For example, processing system 110 may be configured to transmit signals via one or more transmitter sensor electrodes and receive signals via one or more receiver sensor electrodes. In some aspects, one or more components of processing system 110 may be co-located, for example, adjacent to the sensing element of input device 100. In some other aspects, one or more components of processing system 110 may be physically separated from the sensing element of input device 100. For example, input device 100 may be a peripheral device coupled to a computing device, and processing system 110 may be implemented as software executed by the central processing unit (CPU) of the computing device. In another example, input device 100 may be physically integrated into a mobile device, and processing system 110 may at least partially correspond to the CPU of the mobile device.
[0039] In some embodiments, the processing system 110 may be implemented as a collection of modules implemented in firmware, software, or a combination thereof. Example modules include a hardware operation module for operating hardware such as sensor electrodes and a display screen; a data processing module for processing data such as sensor signals and location information; and a reporting module for reporting information. In some embodiments, the processing system 110 may include: a sensor operation module configured to operate sensing elements to detect user input in the sensing area 120; a recognition module configured to recognize gestures such as mode-changing gestures; and a mode-changing module for changing the operating mode of the input device 100 and / or the electronic system.
[0040] Processing system 110 can respond to user input in sensing area 120 by triggering one or more actions. Example actions include changing the operating mode of input device 110 and / or graphical user interface (GUI) actions, such as cursor movement, selection, menu navigation, etc. In some embodiments, processing system 110 can provide information about the detected input to an electronic system (e.g., to the CPU of the electronic system). The electronic system can then process the information received from processing system 110 to perform additional actions (e.g., changing the mode of the electronic system and / or GUI actions).
[0041] Processing system 110 can operate the sensing element of input device 100 to generate an electrical signal indicating input (or the absence of input) in sensing area 120. Processing system 110 can perform any appropriate amount of processing on the electrical signal to convert or generate information for the electronic system. For example, processing system 110 can digitize analog signals received via sensor electrodes and / or perform filtering or conditioning on the received signals. In some aspects, processing system 110 can subtract or otherwise account for a “baseline” associated with the sensor electrodes. For example, the baseline can represent the state of the sensor electrodes when no user input is detected. Therefore, the information provided to the electronic system by processing system 110 can reflect the difference between the signals received from the sensor electrodes and the baseline associated with each sensor electrode.
[0042] In some implementations, the processing system 110 may also determine location information of the detected input. As used herein, the term "location information" refers to any information that describes or otherwise indicates (e.g., within the sensing area 120) the location or orientation of the detected input. Example location information may include absolute position, relative position, velocity, acceleration, and / or other types of spatial information.
[0043] In some implementations, the input device 100 may include a touchscreen interface (e.g., a display screen) that at least partially overlaps with the sensing area 120. For example, the sensor electrodes of the input device 100 may form a substantially transparent overlay on the display screen, thereby providing a touchscreen interface to the associated electronic system. The display screen can be any type of dynamic display capable of displaying a visual interface to a user. Examples of suitable display screen technologies may include light-emitting diodes (LEDs), organic LEDs (OLEDs), cathode ray tubes (CRTs), liquid crystal displays (LCDs), plasma, electroluminescent (EL), or other display technologies.
[0044] In some embodiments, the input device 100 may share physical components with the display screen. For example, one or more of the sensor electrodes may be used for displaying the interface and sensing input. More specifically, the sensor electrodes for sensing input may also operate as display electrodes for at least a portion of the display interface. In some embodiments, the input device 100 may include a first sensor electrode configured for at least a portion of the display interface and sensing input, and a second sensor electrode that may be configured for input sensing only. For example, the second sensor electrode may be disposed between the substrates of the display device or may be external to the display device.
[0045] In some aspects, the display screen may be at least partially controlled or operated by the processing system 110. The processing system 110 may be configured to execute instructions related to sensing input and displaying the interface. For example, the processing system 110 may simultaneously drive display electrodes to display at least a portion of the interface and sense user input. In another example, the processing system 110 may drive a first display electrode to display at least a portion of the interface while simultaneously driving a second display electrode to sense user input.
[0046] As described above, the processing system 110 can detect user input in the sensing area 120 based on changes in the electric field (or capacitance level) provided by the corresponding sensor electrodes. More specifically, the processing system 110 can continuously (or periodically) detect the capacitance of the sensor electrodes and compare the detected capacitance to a baseline capacitance level (e.g., corresponding to the state of the sensor electrodes when no input is detected). If the capacitance detected by one or more sensor electrodes across a given portion of the sensing area 120 differs from its corresponding baseline by a threshold amount, the processing system 110 can sense user input in that given portion.
[0047] Various aspects of this disclosure allow for dynamic adjustment of the sensitivity of the sensor electrodes to accommodate the capacitive properties of the input object. As described in more detail below, the input device 100 can detect when a user attempts to provide user input via the sensing area 120 using an input object (such as a gloved finger) with relatively weak capacitive properties. In some embodiments, the input device 100 can detect the input object at least in part based on the force applied to an input surface coinciding with the sensing area 120. For example, when the force applied to the input surface exceeds a force threshold, the input device 100 can determine that the input object corresponds to intentional user input. Upon detecting the presence of an input object with relatively weak capacitive properties, the input device 100 can increase the sensitivity of one or more sensor electrodes to ensure that subsequent input provided by the input object can be correctly detected in the sensing area 120.
[0048] In some embodiments, the input device 100 may dynamically adjust the sensitivity of the sensor electrodes based at least in part on the magnitude and duration of the force applied by the input object. As described above, operating the sensor electrodes with increased sensitivity can increase the frequency and / or likelihood of ghosting touches. Therefore, it may be desirable to maintain the sensor electrodes at a lower sensitivity level whenever (and whenever) possible. To prevent the input device 100 from accidentally or unintentionally increasing the sensitivity of the sensor electrodes, aspects of this disclosure may require satisfying a “trigger condition” before the sensitivity level can be adjusted. In some aspects, a trigger condition may be satisfied when the force applied to the input surface of the input device 100 exceeds a force threshold for at least a threshold duration. To further reduce the frequency and / or likelihood of ghosting touches, the input device 100 may restore the sensitivity of the sensor electrodes to a prior configuration when no input is detected in the sensing area 120 for at least a threshold duration.
[0049] Among other advantages, the embodiments described herein allow for the detection of input objects with a variety of capacitive properties. For example, by selectively increasing the sensitivity of the sensor electrodes only when an input object with relatively weak capacitive properties is being used to provide user input, this embodiment can ensure correct detection of the input object while reducing the frequency and / or likelihood of reported ghost touches. As described in more detail below, the input device 100 can further use (e.g., from one or more sensor electrodes) capacitive sensing information acquired for the input object to determine the degree to which the sensitivity should be adjusted to ensure correct detection.
[0050] Figure 2A An example array 200 of sensor electrodes according to some embodiments is shown. The array 200 is formed by a plurality of sensor electrodes 201 arranged in a vertical pattern and a plurality of sensor electrodes 202 arranged in a horizontal pattern. In some embodiments, the array 200 of sensor electrodes may be formed Figure 1 At least a portion of the sensing area 120.
[0051] In some embodiments, sensor electrodes 201 and 202 may be arranged on different sides of the same substrate. For example, sensor electrodes 201 and 202 may be disposed on one surface of the substrate. In some other embodiments, sensor electrodes 201 and 202 may be arranged on different substrates. For example, sensor electrodes 201 and 202 may be disposed on the surfaces of different substrates adhered together. Still further, in some embodiments, sensor electrodes 201 and 202 may be arranged on the same side or surface of a common substrate. For example, sensor electrode 201 may include a jumper wire in a region through which sensor electrode 202 is crossed (such that the jumper wire is insulated from sensor electrode 202).
[0052] exist Figure 2A In the example, sensor electrode 201 is shown extending in a first (e.g., vertical) direction, and sensor electrode 202 is shown extending in a second (e.g., horizontal) direction. Although sensor electrodes 201 and 202 are depicted in a vertical grid arrangement, in some other embodiments, sensor electrodes 201 and 202 may be arranged in other patterns. For example, in some embodiments, sensor electrode 201 may be parallel to or diagonally opposite sensor electrode 202. Figure 2A In the example, each of sensor electrodes 201 and 202 is shown to have substantially the same shape and size. However, in some other embodiments, sensor electrodes 201 and 202 may have various shapes and / or sizes.
[0053] Processing systems (e.g., Figure 1 The processing system 110 can scan the array of sensor electrodes 201 and 202 to detect input in the sensing area. In some embodiments, sensor electrodes 201 and 202 can be configured to implement absolute capacitive sensing techniques. For example, the processing system can drive one or more of sensor electrodes 201 and / or 202 using a modulated signal (e.g., a "sensing signal") to determine a change in the absolute capacitance of the sensor electrodes. In some other embodiments, sensor electrodes 201 and 202 can be configured to implement transcapacitive sensing techniques. For example, the processing system can drive a sensing signal on a transmitter electrode (e.g., sensor electrode 202) and receive a result signal on a receiver electrode (e.g., sensor electrode 201).
[0054] A "capacitive pixel" can represent a region of localized capacitive coupling between sensor electrode 201 and sensor electrode 202. The capacitive coupling between sensor electrode 201 and sensor electrode 202 can change with the approach and / or movement of an input object within the sensing area provided by the array 200 of sensor electrodes. A capacitive pixel can also represent a region of localized capacitance between the input object and sensor electrode 201 or sensor electrode 202. Therefore, the absolute capacitance of sensor electrodes 201 and / or 202 can change with the approach and / or movement of an input object within the sensing area.
[0055] Figure 2B Another example array 210 of sensor electrodes according to some embodiments is shown. Array 210 consists of a plurality of sensor electrodes 205 arranged in an advanced matrix pad (AMP) configuration. X,Y(Collectively referred to as sensor electrode 205) is formed. Sensor electrode 205 can provide a sensing area 215, which surrounds any space above, around, in, and / or near array 210. The size, shape, and / or positioning of sensing area 215 may vary depending on the actual implementation.
[0056] The sensor electrodes 205 are arranged in several (X) columns and several (Y) rows. In some embodiments, the sensor electrodes 205 can be configured to implement absolute capacitance sensing technology. For example, a processing system (not shown for simplicity) can use a modulated signal to drive each sensor electrode 205 and measure the capacitance between the sensor electrode 205 and the input object based on the modulated signal. Figure 2B In the example, capacitive pixels can be formed between a separate sensor electrode 205 and electrical ground. Capacitive coupling can change with the approach and / or movement of an input object in sensing area 215, and can therefore be used to determine the presence and / or location of the input object in sensing area 215.
[0057] refer to Figure 2A and 2B The processing system can cycle through the array 200 or 210 of sensor electrodes several times (N times) to acquire frames (e.g., "capacitive frames") of capacitive sensor data. During each cycle of the scan, the processing system can drive the array 200 or 210 of sensor electrodes using different patterns of the sensed signal to acquire corresponding subframes of sensor data. Upon completion of the scan, the processing system can combine the N subframes acquired from the N cycles to produce a single capacitive frame. Each capacitive frame can represent an "image" or snapshot of the capacitive pixels in the array 200 or 210 at a given time. Therefore, the processing system can detect objects in or near the sensing area based on changes in capacitance indicated in the capacitive frames (e.g., relative to a baseline).
[0058] In some implementations, the processing system may scan the array 200 or 210 of sensor electrodes in a raster order (e.g., from top to bottom or from left to right). In other words, each cycle of scanning may drive only a subset of rows (or columns) using sensing signals. The processing system may drive sensing signals onto different subsets of rows (or columns) of sensor electrodes during each successive cycle of scanning. For example, in a top-to-bottom raster scan, individual rows (or subsets of rows) of sensor electrodes may be driven consecutively from the top to the bottom of array 200 or 210. Thus, after N cycles, each row of sensor electrodes in array 200 or 210 is scanned only once. Therefore, each subframe of sensor data may represent a capacitive profile associated with a specific row or portion of the sensing area. N subframes may be combined or aggregated as a whole to form a frame representing the sensor data of the sensing area.
[0059] In some other implementations, the processing system may use code division multiplexing (CDM) technology to scan arrays 200 or 210 of sensor electrodes. In a CDM sensing scheme, multiple sensing signals (of varying polarities) can be driven simultaneously onto multiple rows (or columns) of sensor electrodes during each scan cycle. For example, during each scan cycle, some rows of sensor electrodes may be driven using a positive polarity (+1) sensing signal, some rows may be driven using a negative polarity (-1) sensing signal, and some rows may not be driven using a (0) sensing signal. Thus, each subframe of sensor data can represent a capacitive profile associated with a different CDM "block". N subframes can be decoded according to the CDM matrix to recover a frame representing the sensor data of the sensing area.
[0060] As described above, landing artifacts can occur in capacitive frames when an input object (such as a finger) comes into contact with or enters the sensing area at a threshold close to the sensing area during a scan. Lifting artifacts can occur when an input object lifts off or leaves the sensing area at a threshold close to the sensing area during a scan. More specifically, depending on when the object lands in or lifts off the sensing area, a landing object may interfere with one or more scan cycles. For example, an object landing in the sensing area during the i-th cycle of a capacitive scan may cause glitches in the i-th subframe of the sensor data, but may not be reflected in previously acquired subframes associated with the same capacitive scan. When subframes are combined or aggregated into a single capacitive frame, discontinuities between adjacent or consecutive subframes can be perceived as interference or artifacts.
[0061] Figure 3A A timing diagram 300 depicting an example capacitive scan operation for acquiring capacitive sensor data is shown. The capacitive scan operation can be performed by an input device (such as, for example...) Figure 1 The input device 100) is used for execution. Figure 3A In the example, the input device can cycle through the array of sensor electrodes (such as...) several times (N times) to scan the array of sensor electrodes. Figure 2A and 2B The array 200 or 210) is used to acquire capacitive frames 302. During each scan cycle, the input device can capture corresponding subframes of sensor data. For example, the input device can capture these subframes at times t0-t1 respectively. N-1 The array of sensor electrodes is driven by different patterns of the sensing signal to acquire subframes 1-N. N subframes can be combined or aggregated to generate capacitive frame 302.
[0062] In some implementations, each pattern of the sensing signal may represent (e.g., when implementing raster scanning) a corresponding row of sensor electrodes in an array. For example, subframe 1 may reflect the state of capacitive pixels associated with the top row (or a group of adjacent rows) of sensor electrodes, and subframe N may reflect the state of capacitive pixels associated with the bottom row (or a group of adjacent rows) of sensor electrodes. In some other implementations, each pattern of the sensing signal may represent (e.g., when implementing CDM sensing technology) a corresponding CDM block. For example, subframe 1 may reflect the state of capacitive pixels associated with a row of sensor electrodes driven according to the first CDM block (in a series of N CDM blocks), and subframe N may reflect the state of capacitive pixels associated with a row of sensor electrodes driven according to the Nth CDM block.
[0063] exist Figure 3A In the example, the input object lands in the sensing area at time t7, which coincides with the 8th cycle of the scan. Therefore, the landing object 304 can cause glitches in the capacitive sensor information captured by the 8th subframe (shown in gray shading). However, the presence of the landing object 304 may not be reflected in subframes 1-7. Furthermore, subframes 9-N can attribute different amplitudes or polarities to the capacitance associated with the landing object 304 (e.g., compared to the 8th subframe). As a result, when the N subframes are combined or aggregated, the discontinuity of the capacitive sensor information in consecutive subframes (centered around the 8th subframe) can produce landing artifacts or boosting artifacts in capacitive frame 320.
[0064] Figure 3B It shows the result of Figure 3A The example capacitive image 310 produced by the scanning operation. The capacitive image 310 can be... Figure 3A An example of capacitive frame 302. For simplicity, the two-dimensional clipping of capacitive frame 302 is illustrated by capacitive image 310. Figure 3BAs shown, the capacitive image 310 includes a landing (or lifting) artifact 312 at a location where the landing object 304 makes contact with or enters a threshold proximity of the array of sensor electrodes (or its associated sensing area). Figure 3B In the example, the capacitance change (ΔC) attributed to the landing (or lift) artifact 312 has a different polarity compared to the capacitance change associated with the surrounding area of the sensing region. In practical implementations, the amplitude or polarity of the landing or lift artifact can be related to... Figure 3B The landing artifacts or boost artifacts depicted in the images differ in magnitude or polarity.
[0065] Landing artifacts or enhancement artifacts (such as) Figure 3B The presence of landing artifacts (312) can lead to errors in the detection of input objects or the determination of their location information. In some implementations, the input device may discard capacitive frames containing landing or lifting artifacts. For example, upon detecting a landing or lifting artifact in a given capacitive frame, the input device may ignore the frame for object detection purposes. Instead, the input device may rescan the array of sensor electrodes and / or perform object detection in another capacitive frame acquired after the discarded frame. However, aspects of this disclosure recognize that discarding capacitive frames increases the latency of object detection, which may not be suitable for some capacitive sensing applications.
[0066] In some implementations, the input object can dynamically repeat a portion of the scan operation to reduce or eliminate landing or lifting artifacts in capacitive frames. For example, during each scan cycle, the input device can compare a subframe acquired from the current cycle with a corresponding subframe acquired in a previous cycle. Aspects of this disclosure recognize that an object landing in (or lifted from) the sensing area can trigger glitches in the capacitance reflected in the current subframe compared to the capacitance reflected in the previous subframe. Therefore, if a substantial change or difference is detected between the current subframe and the previous subframe, the input device can repeat one or more cycles of the current scan to obtain updated sensing information for the corresponding subframe.
[0067] In some implementations, the input device may repeat the current scan cycle (e.g., where a change in capacitance is detected). In other implementations, the input device may repeat the cycle one or more times before (e.g., including) the current scan cycle. The input device can then combine the updated subframe with any unupdated subframes to generate a capacitive frame of sensor data. In other words, the input device may discard only one or more subframes that are likely affected by the presence of a landing object, rather than discarding the entire frame. Therefore, the maximum latency for object detection can be limited to a single capacitive frame.
[0068] Figure 4 A block diagram of an input device 400 according to some embodiments is shown. The input device 400 includes a sensing area 410 and a sensor scanning module 420. The sensing area 410 may cover any space above, around, in, and / or near the input device 400, wherein the input device 400 is capable of detecting user input such as that provided by one or more input objects (not shown for simplicity). The size, shape, and / or positioning of the sensing area 410 may vary depending on the actual implementation.
[0069] In some embodiments, the sensing region 410 includes or is otherwise coupled to an array of sensor electrodes 412. The sensor electrodes 412 can be (as described above) Figure 1 , Figure 2A and Figure 2B The described capacitive sensing technique is used to detect input in the sensing area 410. For example, sensor electrodes 412 can create an electric field in and / or around the sensing area 410. Input device 400 can detect input based on changes in the capacitance and / or electric field of sensor electrodes 412.
[0070] Sensor electrode 412 is coupled to sensor scanning module 420. Sensor scanning module 420 can be controlled by a processing system (such as...) that controls the operation of sensor electrode 412. Figure 1 The processing system 110 implements or includes at least a portion of the processing system. The sensor scanning module 420 can cycle through the sensor electrode 412 several times (N times) to acquire one or more frames of capacitive sensor information. More specifically, the sensor scanning module 420 can cyclically transmit sensing signals 402 to the sensor electrode 412 and receive sensor data 404 from the sensor electrode 412. During each cycle of the scan, the sensor scanning module 420 can utilize different patterns of the sensing signals 402 to drive the sensor electrode 412 to acquire (such as reference) Figures 2A-3A The sensor data 404 described herein is a corresponding subframe. In some embodiments, the sensor scanning module 420 may include a subframe comparison submodule 422, a scan repetition submodule 424, and a frame assembly submodule 426.
[0071] The subframe comparison submodule 422 can compare a subframe of sensor data 404 acquired from each loop of the current scan with a corresponding subframe of sensor data acquired before that loop. In some embodiments, the preceding subframe of the sensor data can be another subframe acquired during the current scan (such as from a loop immediately preceding the current loop). For example, the input device 400 may include a capacitive frame buffer 440 configured to store or aggregate subframes of sensor data 404 to produce a single capacitive frame. During each loop of the current scan, the subframe comparison submodule 422 can compare the current subframe of sensor data 404 with a corresponding subframe 405 stored in the capacitive frame buffer 440. In some embodiments, the subframe comparison submodule 422 can detect the presence of a landing object when a threshold difference is detected between the current subframe of sensor data 404 and the corresponding subframe 405 stored in the capacitive frame buffer 440.
[0072] In some other embodiments, the preceding subframe of the sensor data may be a subframe acquired during a previous scan of the sensor electrode 412. For example, in some aspects, the input device 400 may also include a preceding frame buffer 430 configured to store frames of capacitive sensor data acquired as a result of a previous scan. During each cycle of the current scan, the subframe comparison submodule 422 may compare the current subframe of the sensor data 404 with the corresponding subframe 406 stored in the preceding frame buffer 430. For example, the subframe comparison submodule 422 may compare a subframe of the sensor data 404 acquired from the i-th cycle of the current scan with a subframe 406 acquired from the i-th cycle of a previous scan. In some embodiments, the subframe comparison submodule 422 may detect the presence of a landing object when a threshold difference is detected between the current subframe of the sensor data 404 and the corresponding subframe 406.
[0073] When a landing object is detected by the subframe comparison submodule 422, the scan repetition submodule 424 may repeat one or more loops of the current scan. For example, the scan repetition submodule 424 may repeat one or more patterns of the sensing signal 402 to acquire updated sensor data 404 of one or more subframes that may be affected by or contribute to landing artifacts or boosting artifacts. In some aspects, the repetition loop may include a loop in which a landing object is detected. In some other aspects, the repetition loop may include one or more loops prior to (and including) a loop in which a landing object is detected. In some embodiments, the scan repetition submodule 424 may pause the current scan to repeat one or more loops. For example, the scan repetition submodule 424 may repeat one or more loops before completing any remaining loops of the scan. In some other embodiments, the scan repetition submodule 424 may restart the scan from the start of the next loop. For example, the scan repetition submodule 424 may complete Ni remaining loops of the scan before repeating the previous i loops.
[0074] The frame assembly submodule 426 can assemble subframes of sensor data 404 (including any updated subframes) into a single capacitive frame. More specifically, the frame assembly submodule 426 can sort (or reorder) the N subframes of sensor data 404 according to the order of the scan cycle. For example, the frame assembly submodule 426 can store each of the N subframes of sensor data 404 in a corresponding location in the capacitive frame buffer 440. Thus, when repeating one or more cycles of scanning, the frame assembly submodule 426 can replace one or more existing subframes stored in the capacitive frame buffer 440 with the corresponding updated subframes. In some embodiments, when the sensor scanning module 420 initiates a subsequent scan of the sensor electrode 412, the capacitive frame stored in the capacitive frame buffer 440 can be loaded into the previous frame buffer 430.
[0075] Figure 5A A timing diagram 500 illustrating an example capacitive scan operation according to some embodiments is shown. The capacitive scan operation can be performed by an input device, such as, for example, by... Figure 1 and Figure 4 Execution is performed on any input device in input device 100 or 400. Figure 5A In the example, the input device can cycle through the array of sensor electrodes (such as...) several times (N times) to scan the array of sensor electrodes. Figure 2A , Figure 2B and Figure 4The input device can acquire capacitive frame 502 by using any of the sensor electrode arrays 200, 210, or 412. During each scan cycle, the input device can capture a corresponding subframe of sensor data. For example, the input device can acquire subframes 1-N by driving the array of sensor electrodes using a corresponding sensing pattern. The N subframes can then be combined or aggregated to produce capacitive frame 502.
[0076] In some implementations, each pattern of the sensing signal may represent (e.g., when implementing raster scanning) a corresponding row of sensor electrodes in an array. For example, subframe 1 may reflect the state of capacitive pixels associated with the top row (or a group of adjacent rows) of sensor electrodes, and subframe N may reflect the state of capacitive pixels associated with the bottom row (or a group of adjacent rows) of sensor electrodes. In some other implementations, each pattern of the sensing signal may represent (e.g., when implementing CDM sensing technology) a corresponding CDM block. For example, subframe 1 may reflect the state of capacitive pixels associated with a row of sensor electrodes driven according to the first CDM block (in a series of N CDM blocks), and subframe N may reflect the state of capacitive pixels associated with a row of sensor electrodes driven according to the Nth CDM block.
[0077] In some implementations, the input device may compare subframes acquired from each cycle of the current scan with corresponding subframes acquired from previous scans to detect (such as references) Figure 4 The existence of a landing object (as described). For example, at time t0, the input device can compare subframe 1 with the corresponding subframe obtained from the first loop of the previous scan; at time t1, the input device can compare subframe 2 with the corresponding subframe obtained from the second loop of the previous scan; and at time t3, the input device can compare subframe 3 with the corresponding subframe obtained from the third loop of the previous scan. The input device can continue this comparison for each loop of the scan until a landing object is detected or all N loops are completed.
[0078] exist Figure 5A In the example, the input device can detect the presence of a landing object at time t7 based on a comparison of subframe 8 with the corresponding subframe acquired from the 8th cycle of a previous scan. In some implementations, upon detecting the presence of a landing object, the input device can discard subframes acquired from the current cycle of the scan, in addition to those acquired from the three previous cycles of the scan. The input device can then repeat the cycle four times to obtain updated sensor information for the discarded subframes. See, for example... Figure 5A The input device can discard subframes 5-8 (referred to as discarded subframe 504), and can do so at times t8-t1 respectively. 11The scanning is repeated for cycles 5-8 to obtain updated subframes 5-8 (referred to as re-acquired subframe 506). The input device can then... 12 -t N+2 The remaining portion of the scan operation is completed by acquiring subframes 9-N at time t. N+2 Subsequently, when N subframes are combined to generate capacitive frame 502, the input device can replace the discarded subframe 504 with the reacquired subframe 506.
[0079] Figure 5B It shows the result of Figure 5A An example capacitive image generated by the scanning operation. Capacitive image 510 can be... Figure 5A An example of capacitive frame 502. For simplicity, the two-dimensional clipping of capacitive frame 502 is illustrated by capacitive image 510. (Compared to...) Figure 3B Compared to the depicted capacitive image 310, capacitive image 510 does not include any landing artifacts or lift artifacts (such as landing artifact 312). Figure 5B In the example, the change in capacitance (ΔC) consistently tracks the position of the input object. More specifically, the capacitive image 510 shows a consistently high change in capacitance in a region where the input object comes into contact with or enters a threshold proximity of the sensing area. Therefore, the capacitive image 510 can be reliably used for object detection and / or position determination.
[0080] Figure 6 A timing diagram 600 depicting another example scan operation according to some embodiments is shown. The capacitive scan operation can be performed by an input device, such as, for example, by... Figure 1 and Figure 4 Any execution on input device 100 or 400. Figure 6 In the example, the input device can cycle through the array of sensor electrodes (such as...) several times (N times) to scan the array of sensor electrodes. Figure 2A , Figure 2B and Figure 4 The input device can acquire capacitive frame 602 by using any of the sensor electrode arrays 200, 210, or 412. During each scan cycle, the input device can capture a corresponding subframe of sensor data. For example, the input device can acquire subframes 1-N by driving the array of sensor electrodes using a corresponding sensing pattern. The N subframes can then be combined or aggregated to produce capacitive frame 602.
[0081] In some implementations, each pattern of the sensing signal may represent (e.g., when implementing raster scanning) a corresponding row of sensor electrodes in an array. For example, subframe 1 may reflect the state of capacitive pixels associated with the top row (or a group of adjacent rows) of sensor electrodes, and subframe N may reflect the state of capacitive pixels associated with the bottom row (or a group of adjacent rows) of sensor electrodes. In some other implementations, each pattern of the sensing signal may represent (e.g., when implementing CDM sensing technology) a corresponding CDM block. For example, subframe 1 may reflect the state of capacitive pixels associated with a row of sensor electrodes driven according to the first CDM block (in a series of N CDM blocks), and subframe N may reflect the state of capacitive pixels associated with a row of sensor electrodes driven according to the Nth CDM block.
[0082] In some implementations, the input device may compare subframes acquired from each cycle of the current scan with corresponding subframes acquired from previous scans to detect (such as references) Figure 4 The existence of a landing object (as described). For example, at time t0, the input device can compare subframe 1 with the corresponding subframe obtained from the first loop of the previous scan; at time t1, the input device can compare subframe 2 with the corresponding subframe obtained from the second loop of the previous scan; and at time t3, the input device can compare subframe 3 with the corresponding subframe obtained from the third loop of the previous scan. The input device can continue this comparison for each loop of the scan until a landing object is detected or all N loops are completed.
[0083] exist Figure 6 In the example, the input device can detect the presence of a landing object at time t7 based on a comparison of subframe 8 with the corresponding subframe acquired from the 8th loop of the previous scan. In some implementations, upon detecting the presence of a landing object, the input device can discard subframes acquired from each loop of the scan up to and including the current loop. The input device can then restart the scan from the next loop (e.g., by performing all N loops). See, for example... Figure 6 The input device can discard subframes 1-8 (referred to as discarded subframe 604) and can continue at time t respectively. 12 -t N+2 The remaining subframes 9-N are then obtained at time t. The input device can then... N+3 -t N+10 The scanning process is repeated for cycles 1-8 to obtain updated subframes 1-8 (referred to as re-acquired subframe 606). Upon completion of the scan operation (at time t...), N+10 (Subsequently), when N subframes are combined to produce capacitive frame 602, the input device can replace the discarded subframe 604 with the reacquired subframe 606.
[0084] Figure 7 A block diagram of an example controller 700 for an input device according to some other embodiments is shown. In some embodiments, the controller 700 may be... Figure 1 An example of the processing system 110. In some implementations, the controller 700 may include a sensor interface 710, a processor 720, and a memory 730.
[0085] The sensor interface 710 can be used with one or more capacitive sensors of an input device (such as...). Figure 2A , Figure 2B and Figure 4 The sensor interface 710 communicates with an array of sensor electrodes (200, 210, or 412). For example, the sensor interface 710 can transmit signals to and receive signals from one or more sensor electrodes to detect input in the sensing area of the input device. In some embodiments, the sensor interface 710 can be configured to drive individual rows (or subsets of rows) of sensor electrodes in a raster scan sequence. In some other embodiments, the sensor interface 710 can be configured to drive multiple rows of sensor electrodes simultaneously using CDM sensing technology.
[0086] In some embodiments, memory 730 may include a capacitive frame data storage device 731 and a previous frame data storage device 732. The capacitive frame data storage device 731 may be configured to store frames of capacitive sensor data from the array of sensor electrodes for the current scan. The previous frame data storage device 732 may be configured to store frames of capacitive sensor data from the array of sensor electrodes for the previous scan. Memory 730 may also include a non-transitory computer-readable medium (e.g., one or more non-volatile memory elements, such as EPROM, EEPROM, flash memory, hard disk drive, etc.) capable of storing at least the following software (SW) modules: • Sensor scanning SW module 733, used for repeatedly scanning the array of sensor electrodes to acquire frames of sensor data, the sensor scanning SW module 733 includes: ◦ Subframe comparison submodule 734 is used to compare, during each cycle of scanning, a subframe of sensor data acquired from the current cycle with a corresponding subframe of sensor data acquired in the previous cycle; ◦ Scan repetition submodule 735, used to selectively repeat one or more cycles of scanning based on the comparison; and ◦ Frame assembly submodule 736 is used to assemble subframes obtained from repeated scanning cycles into frames of sensor data.
[0087] Each software module includes instructions that, when executed by processor 720, cause controller 700 to perform a corresponding function. The non-transitory computer-readable medium of memory 730 therefore includes instructions for performing the following... Figure 8 The instructions that describe all or part of the operation.
[0088] Processor 720 may be any suitable processor or one or more processors capable of executing scripts or instructions of one or more software programs stored in memory 730. For example, processor 720 may execute sensor scan SW module 733 to perform multiple cyclic scans of the array of sensor electrodes to acquire frames of sensor data. While executing sensor scan SW module 733, processor 720 may further execute subframe comparison submodule 734, scan repetition submodule 735, and frame assembly submodule 736.
[0089] For example, processor 720 may execute subframe comparison submodule 734 to compare, during each cycle of scanning, a subframe of sensor data acquired from the current cycle with a corresponding subframe of sensor data acquired in a previous cycle. Processor 720 may also execute scan repetition submodule 735 to selectively repeat one or more cycles of scanning based on this comparison. Further still, processor 720 may execute frame assembly submodule 736 to assemble the subframes acquired from the repeated cycles of scanning into frames of sensor data.
[0090] Figure 8 An illustrative flowchart illustrating an example capacitive scan operation 800 according to some embodiments is shown. See, for example, reference... Figure 4 Operation 800 can be performed by input device 400 to dynamically rescan the array of sensor electrodes to reduce or eliminate landing artifacts or boosting artifacts in frames of captured capacitive sensor information.
[0091] The input device performs a first scan of the array of sensor electrodes multiple times to acquire frames of sensor data, wherein different subframes of sensor data are acquired from each cycle of the first scan (810). For example, the input device may cyclically transmit sensing signals to the sensor electrodes and receive sensor data from the sensor electrodes. During each cycle of the scan, the input device may use different patterns of the sensing signals to drive the sensor electrodes to acquire corresponding subframes of sensor data. In some embodiments, each pattern of the sensing signals may represent (e.g., when implementing raster scanning) a corresponding row of sensor electrodes in the array. In some other embodiments, each pattern of the sensing signals may represent (e.g., when implementing CDM sensing technology) a corresponding CDM block.
[0092] During each cycle of the first scan, the input device compares a subframe of sensor data acquired in the cycle with a corresponding subframe of sensor data acquired in a previous cycle (820). In some embodiments, the preceding subframe may be another subframe acquired during the first scan. For example, the input device may compare a subframe acquired from the i-th cycle of the current scan with a subframe acquired from the (i-1)-th cycle of the current scan. In some other embodiments, the preceding subframe may be a subframe acquired during a previous scan of the array. For example, the input device may compare a subframe acquired from the i-th cycle of the current scan with a subframe acquired from the i-th cycle of a previous scan (such as a reference). Figure 5A and Figure 6 (As described). Before completing the first scan, the input device may perform this comparison as it acquires each subframe. In some implementations, the input device may detect the presence of a landing object when a threshold difference is detected between the current subframe and the corresponding subframe of the sensor data.
[0093] Furthermore, the input device can selectively repeat one or more cycles of the first scan (830) based on this comparison. For example, the input device can repeat one or more patterns of the sensed signal to obtain updated sensor data for one or more subframes that may be affected by or contribute to landing artifacts or rise artifacts. In some aspects, the repeated cycle may include a loop in which a landing object is detected. In some other aspects, the repeated cycle may include one or more loops prior to (and including) the loop in which a landing object is detected. In some embodiments, the input device may pause the current scan to repeat one or more cycles (such as reference). Figure 5A As described above. In some other embodiments, the input device may restart scanning from the beginning of the next cycle (as described in reference). Figure 6 As described.
[0094] Those skilled in the art will understand that information and signals can be represented using any of a variety of different techniques and skills. For example, data, instructions, commands, information, signals, bits, symbols, and chips that can be referenced throughout the above description can be represented by voltage, current, electromagnetic waves, magnetic fields or magnetic particles, optical fields or optical particles, or any combination thereof.
[0095] Furthermore, those skilled in the art will understand that the various illustrative logic blocks, modules, circuits, and algorithm steps described in conjunction with the aspects disclosed herein can be implemented as electronic hardware, computer software, or a combination of both. To clearly illustrate this interchangeability between hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the specific application and the design constraints imposed on the entire system. Those skilled in the art can implement the described functionality in varying ways for each specific application, but such implementation decisions should not be construed as departing from the scope of the invention.
[0096] The methods, sequences, or algorithms described in conjunction with the aspects disclosed herein may be embodied directly in hardware, in software modules executed by a processor, or a combination of both. Software modules may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disks, removable disks, CD-ROMs, or any other form of storage medium known in the art. Exemplary storage media are coupled to the processor, enabling the processor to read information from and write information to the storage medium. Alternatively, the storage medium may be integral with the processor.
[0097] In the foregoing description, specific examples of embodiments have been described with reference to them. However, it will be apparent that various modifications and changes may be made thereto without departing from the broader scope of this disclosure as set forth in the appended claims. Therefore, the description and drawings are to be considered in an illustrative rather than restrictive sense.
Claims
1. A controller for an input device, comprising: Processing circuitry; as well as The memory stores instructions that, when executed by the processing circuitry, cause the controller to: A first scan of the array of sensor electrodes is performed repeatedly to acquire frames of sensor data, wherein different subframes of the sensor data are acquired from each cycle of the first scan. During each cycle of the first scan, a first subframe of sensor data acquired from the cycle is compared with a second subframe of sensor data acquired before the cycle. As a result of the comparison, the difference between the first subframe and the second subframe is detected; In response to detecting the difference between the first subframe and the second subframe, the first scan is repeated one or more times in a loop; and The subframes obtained from repeated cycles of the first scan are assembled to generate a frame of the sensor data.
2. The controller of claim 1, wherein the one or more loops include a loop in which the first subframe is acquired.
3. The controller of claim 2, wherein the one or more loops further include one or more loops immediately preceding the loop in which the first subframe is acquired.
4. The controller of claim 1, wherein execution of the instructions for performing the first scan causes the controller to: The array of sensor electrodes is driven by multiple patterns that are respectively applied to the multiple cycles of the sensing signal.
5. The controller of claim 4, wherein the execution of the instructions further causes the controller to: A second subframe of sensor data is acquired during a second scan of the array of sensor electrodes, wherein the second scan is performed prior to the first scan.
6. The controller of claim 5, wherein the second scan is further performed by driving an array of sensor electrodes using a plurality of patterns of the sensing signals, and wherein the first subframe and the second subframe are associated with the same pattern of the sensing signals.
7. The controller of claim 1, wherein execution of the instructions for performing the first scan causes the controller to: During each cycle of the first scan, the sensing signal is driven onto different subsets of the rows in the array in grating order.
8. The controller of claim 1, wherein execution of the instructions for performing the first scan causes the controller to: The array is driven according to different code division multiplexing (CDM) blocks during each cycle of the first scan.
9. A method for capacitive sensing performed by an input device, comprising: A first scan of the array of sensor electrodes is performed repeatedly to acquire frames of sensor data, wherein different subframes of the sensor data are acquired from each cycle of the first scan. During each cycle of the first scan, a first subframe of sensor data acquired from the cycle is compared with a second subframe of sensor data acquired before the cycle. As a result of the comparison, the difference between the first subframe and the second subframe is detected; In response to detecting the difference between the first subframe and the second subframe, the first scan is repeated one or more times in a loop; and The subframes obtained from repeated cycles of the first scan are assembled to generate a frame of the sensor data.
10. The method of claim 9, wherein the one or more loops include a loop in which the first subframe is acquired.
11. The method of claim 10, wherein the one or more loops further include one or more loops immediately preceding the loop in which the first subframe is acquired.
12. The method of claim 9, wherein the execution of the first scan comprises: The array of sensor electrodes is driven by multiple patterns that are respectively applied to the multiple cycles of the sensing signal.
13. The method of claim 12, further comprising: A second subframe of the sensor data is acquired during a second scan of the array of sensor electrodes, wherein the second scan is performed prior to the first scan by driving the array of sensor electrodes using multiple patterns of the sensing signal, and wherein the first subframe and the second subframe are associated with the same pattern of the sensing signal.
14. The method of claim 9, wherein the execution of the first scan comprises: During each cycle of the first scan, the sensing signal is driven onto different subsets of the rows in the array in grating order.
15. The method of claim 9, wherein the execution of the first scan comprises: The array is driven according to different code division multiplexing (CDM) blocks during each cycle of the first scan.
16. An input device, comprising: An array of sensor electrodes configured for capacitive sensing in the sensing area of the input device; as well as Processing system, the processing system being configured to: The first scan of the array of sensor electrodes is performed repeatedly to obtain frames of sensor data, wherein different subframes of the sensor data are obtained from each cycle of the first scan; During each cycle of the first scan, a first subframe of sensor data acquired from the cycle is compared with a second subframe of sensor data acquired before the cycle. As a result of the comparison, the difference between the first subframe and the second subframe is detected; In response to detecting the difference between the first subframe and the second subframe, the first scan is repeated one or more times in a loop; and The subframes obtained from repeated cycles of the first scan are assembled to generate a frame of the sensor data.
Citation Information
Patent Citations
Time slot scanning method enabling capacitive touch screen to implement multiple scanning modes
CN103164090A
Method and apparatus for improving capacitive sensing detection
CN106990880A
