Patent Description:
Electronic devices that are designed for user interaction have historically utilized external input devices such as keyboards, key pads, and mice to capture user input. In recent years, there has been a push from the more traditional methods, as consumers prefer the convenience of portable devices that can support a more flexible lifestyle. To this end, there has been a rise in smaller, portable, hand-held electronic devices, such as mobile phones, tablets, gaming systems, etc. This has given rise to the popularity of touch screens and touch panel displays as systems for capturing user input. Not only do they provide the functionality of the traditional electronic devices, but touchscreens provide additional features. For example, given the appropriate software, users are able to utilize touchscreens for sketching, drawing, and various hand writing applications. Today's display technologies such as organic light emitting diodes (OLEDs) displays offer a higher performance display. With the increasing use of advanced displays, thinner displays that are flexible or even foldable are emerging as a way to increase the size of a display without increasing the size of the device.

Thinner touchscreen displays may come with their own disadvantages such as display flicker. A display panel of an OLED based touchscreen may include a plurality of pixels arranged in rows and columns across a display layer in a matrix like formation. Each pixel may include an OLED configured to generate light based on the current driven through it. Sensing scans to detect touch (also referred to as touch scans) on the touchscreen may cause noticeable display flicker because signals generated during the touch scans may interfere with control and data signals for the display layer. Therefore, techniques to solve the display flicker issue are desired.

More specifically, the invention related to a method according to the preamble of claim <NUM>, which is known, for instance, from <CIT>. Other documents of interest for the invention include <CIT> and <CIT>. Documents such as <CIT> or <CIT> disclose technological background.

An embodiment of the invention is a method for operating a display according to claim <NUM>. Other embodiments of the invention are a circuit for controlling a display according to claim <NUM> and a corresponding system according to claim <NUM>.

The making and using of various embodiments are discussed in detail below. It should be appreciated, however, that the various embodiments described herein are applicable in a wide variety of specific contexts. The specific embodiments discussed are merely illustrative of specific ways to make and use various embodiments, and should not be construed in a limited scope.

Reference to "an embodiment" or "one embodiment" in the framework of the present description is intended to indicate that a particular configuration, structure, or characteristic described in relation to the embodiment is included in at least one embodiment. The references used herein are provided merely for convenience and hence do not define the extent of protection or the scope of the embodiments.

Integrated circuits have long incorporated embedded components that may lack externally accessible pins. These components, however, just like any other component, may be subject to performance variations for any variety of reasons such as, but not limited, manufacturing and other defects. The need for testing these embedded components, and systems of embedded components, on integrated circuits prompted the development of alternative approaches.

While organic light emitting diode (OLED) touchscreens have led to great advances in the evolution of portable devices, limitations still exist. Conventional OLED touchscreens may include a display array that includes a plurality of pixels arranged in rows and columns across a display layer in a matrix like formation. Each pixel may include an OLED configured to generate light based on the current driven through it. In operation, an OLED display may be refreshed (e.g., updated) in each of a plurality of display frames defined by a vertical synchronization signal (VSYNC). During each display frame, each row of pixels are updated sequentially according to a horizontal synchronization signal (HSYNC) signal and touch sensing scans (e.g., mutual and self-sensing scans) are performed. Problematically, however, touch sensing scans may cause interference to the display when they are performed while the display is updated. In such cases, especially as OLED touchscreens are becoming thinner, this may result in a dimming of the light illuminated by the OLEDs and result in noticeable display flicker.

Typically, to prevent flicker, touch sensing scans are performed during idle time in a display frame after the display is finished updating. This is accomplished by delaying the performance of touch sensing scans according to the VSYNC signal.

To conserve power, OLED displays may be updated at variable speeds without changing the refresh rate. For example, the pulse period of the HSYNC signal may be changed, without changing the VSYNC. The active time and idle time of a frame may change in accordance with various pulse periods of the HSYNC signal. As such, touch sensing scan delayed by a time period based on the VSYNC signal may still occur during active time of a frame, which may cause display flicker. Therefore, techniques to solve the display flicker issue in variable refresh rate situations are desired.

Embodiments of the present application relate to preventing display flicker by performing touch sensing scans in accordance with the HSYNC signal. In an embodiment, a method for operating a display includes a touch controller of the display receiving an HSYNC signal from a display driver of the display during a frame. The method further includes the touch controller detecting a beginning pulse of the HSYNC signal within the frame and performing a touch scan on a touch screen panel of the display after an ending pulse of the HSYNC signal within the frame. In various embodiments, the method includes measuring a pulse period of the HSYNC signal and starting a timer upon detecting the beginning pulse, where a duration of the timer is longer than the pulse period multiplied by a total number of pulses in the HSYNC signal within the frame. The touch scan is performed upon detecting an expiration of the timer. Alternatively, the method includes performing the touch scan a time period after detecting the ending pulse of the HSYNC signal within the frame. The above aspects and other inventive aspects are discussed in greater detail below.

<FIG> illustrates a stack-up diagram of a conventional display <NUM>. The display <NUM> may be an organic light emitting diode (OLED) display or any other type of display integrated with a touch sensing function. The display <NUM> may also be referred to as a touchscreen, a touchscreen display or a touch display. The display <NUM> may include a stack-up of a plurality of different layers. As a non-limiting example, the display <NUM> may comprise a cover glass layer <NUM>, a polarizer film layer <NUM>, a touch sensing panel <NUM>, an encapsulation film layer <NUM>, and a display panel <NUM>. The display panel <NUM> may comprise a plurality of pixel elements formed across rows and columns of the display <NUM> in an array like formation. The pixel elements may be OLED and may be configured to transmit light having a color (such as red, green, or blue) with a brightness based on the current they are driven with. The pixel elements may also be implemented based on non-OLED techniques. The encapsulation film layer <NUM> may be formed in direct contact with the display panel <NUM>. The encapsulation film <NUM> may function to prevent oxygen, water, or moisture from external sources reaching into and damaging the display panel <NUM>. The touch sensing panel <NUM> may be a capacitive touch panel configured to detect touches made on the display <NUM>. The touch sensing panel <NUM> may include a plurality of touch sensing electrodes. The touch sensing electrodes may be deposited and attached onto the encapsulation film <NUM> (e.g., in an on-cell type display). Alternatively, the touch sensing electrodes may be printed or fabricated with the encapsulation film <NUM> (e.g., in an in-cell type display). The polarizer film layer <NUM> may be used for controlling the characteristics of the display <NUM> such as external light reflection, color accuracy, luminance, and so on. The cover glass layer <NUM> may be a protective layer to protect the display <NUM>. The cover glass layer <NUM> may comprise a transparent material such as a thin layer of glass including silicon dioxide. Additional layers known in the art may also be included in the display <NUM>.

<FIG> is a block diagram of an electronic device <NUM> according to some embodiments. The electronic device <NUM> may include a display <NUM>, a host <NUM>, a touch controller <NUM>, and a display driver <NUM>. The electronic device <NUM> may be a smart phone, a Global Positioning System (GPS) device, a tablet computer, a mobile media player, a laptop, a gaming system, a personal computer, or any other electronic device that may utilize a touchscreen display (such as the display <NUM>). The host <NUM>, also referred to as a system on a chip or an application processor (AP), comprises a processor, interface, circuitry, and the like configured to direct the flow of input and output data to the touch controller <NUM> and the display driver <NUM>. For example, the host <NUM> may be the CPU of a smartphone. A memory may be coupled to or otherwise integrated with the host <NUM>. The memory may be programmed for short term and/or long term memory storage. The memory may comprise various programs to be executed in the host <NUM>. The memory may include both volatile and non-volatile memories. The host <NUM> may be configured to, e.g., transmit image data, updated display refresh rates, and/or synchronization signals to the display driver <NUM> and to receive touch coordinates from the touch controller <NUM>.

The display <NUM> may include a touch sensing panel <NUM> and a display panel <NUM>. The display panel <NUM> is configured to display an image in accordance with display signals <NUM> and synchronization signals (including a VSYNC signal <NUM> and an HSYNC signal <NUM>) received from the display driver <NUM>. The display driver <NUM> may perform various methods with respect to the display <NUM>. In various embodiments, the display driver <NUM> may be a processor that analyzes information and carries out a series of executable scripts, e.g., stored in a memory integrated in the display driver <NUM>. Alternatively, the display driver <NUM> and the touch controller <NUM> may share a common memory. In one or more embodiments, the processor may comprise an application-specific integrated circuit (ASIC) device, a central processing unit (CPU), or any other processing unit known in the art. In various embodiments, the display driver <NUM> may refresh an image displayed on the display <NUM> based on a display refresh rate and/or synchronization signals received from the host <NUM>. The display driver <NUM> may transmit the VSYNC signal <NUM> and the HSYNC signal <NUM> to the touch controller <NUM>.

The touch sensing panel <NUM> in the display <NUM> is configured to detect touches made on the display <NUM>. The touch sensing panel <NUM> may include transmitting (TX) electrodes <NUM> and receiving (RX) electrodes <NUM>. The TX electrodes <NUM> and RX electrodes <NUM> may span the entirety of the display <NUM> in a grid-like fashion that are operable by the touch controller <NUM>. In various embodiments, the TX electrodes <NUM> may be formed in rows across the display <NUM> and the RX electrodes <NUM> may be formed in columns across the display <NUM>. In other embodiments, the RX electrodes <NUM> may be formed in columns across the display <NUM> and the TX electrodes <NUM> may be formed in rows across the display <NUM>. In various embodiments, the number of the TX electrodes <NUM> may be equal to the number of the RX electrodes <NUM>. The TX electrodes <NUM> and the RX electrodes <NUM> may overlap in certain embodiments. While <FIG> depicts the TX electrodes <NUM> and the RX electrodes <NUM> overlapping in an orthogonal manner, they may overlap other than orthogonally such as being interleaved or at various angles.

The TX electrodes <NUM> and the RX electrodes <NUM> may be operable in a mutual sensing mode and a self-sensing mode. As appreciated by those with ordinary skill in the art, each of the TX electrodes <NUM> and the RX electrodes <NUM> may have a self-capacitance that is measurable. In addition, the TX electrodes <NUM> and the RX electrodes <NUM> may have a measurable mutual capacitance at each of their intersections as to form an array of mutual capacitors. In various embodiments, the TX electrodes <NUM> and the RX electrodes <NUM> may be coupled to the touch controller <NUM>. Alternatively, the display driver <NUM> is coupled between the TX electrodes <NUM> and the touch controller <NUM>, while the RX electrodes <NUM> are coupled to the touch controller <NUM>.

The touch controller <NUM> may perform various methods with respect to the display <NUM>. In various embodiments, the touch controller <NUM> may be a processor that analyzes information and carries out a series of executable scripts, e.g., stored in a memory integrated in the touch controller <NUM>. For example, the memory may include non-transitory memory such as read-only memory (ROM) storing firmware or random access memory (RAM). In one or more embodiments, the processor may comprise an application-specific integrated circuit (ASIC) device, a central processing unit (CPU), or any other processing unit known in the art. In various embodiments, the touch controller <NUM> may comprise a number of separate computing units such as cores integrated within one processor, or distinct separate processing chips.

During a touch sensing operation or a touch scan operation, the touch controller <NUM> may transmit touch driving signals (TDS) <NUM> to the TX electrodes <NUM> of the touch sensing panel <NUM> and receive touch sensing signal (TSS) <NUM> from the RX electrodes <NUM> of the touch sensing panel <NUM>. If an object, such as a finger, is in close proximity to an intersection of one TX electrode <NUM> and one RX electrode <NUM>, the TSS <NUM> will be changed. The touch controller <NUM> may measure and analyze the TSS <NUM>, and then report touch coordinates to the host <NUM>.

Flicker may be induced by the touch sensing scans initiated by the touch controller <NUM> to detect touch on the display <NUM>. Specifically, when the touch sensing scans are performed on the touch sensing panel <NUM> during the display updating, interference to the display panel <NUM> may occur. This may result in a reduced brightness of the display panel <NUM>, resulting in noticeable flicker on the display <NUM> by a user.

<FIG> depict flicker issues caused by a conventional touch scan. <FIG> illustrates a timing diagram showing the relationship between an HSYNC signal <NUM>, a VSYNC signal <NUM>, and a clock signal <NUM>. Both the VSYNC signal <NUM> and the HSYNC signal <NUM> may include a plurality of pulses. Each pulse of the VSYNC signal <NUM> may represent a new frame of the display. In the example illustrated by <FIG>, a frame <NUM> is located between a rising edge of a VSYNC pulse <NUM> and a rising edge of a subsequent VSYNC pulse <NUM> (assuming that the active edge of both VSYNC and HSYNC is the rising edge). A plurality of HSYNC pulses may occur during each frame. Each pulse of the HSYNC signal <NUM> may represent a new horizontal line of a frame. The total number of HSYNC pulses per frame may depend on the resolution of the display. An HSYNC pulse <NUM> is a beginning pulse (the first pulse) in the HSYNC signal <NUM> within the frame <NUM>. An HSYNC pulse <NUM> is an ending pulse (the last pulse) in the HSYNC signal <NUM> within the frame <NUM>. A time period <NUM> between a rising edge of an HSYNC pulse and a rising edge of a subsequent HSYNC pulse is a pulse period of the HSYNC signal <NUM>. A time period <NUM> between a rising edge and a falling edge of the same HSYNC pulse is a pulse width of the HSYNC signal <NUM>. A duty cycle of a pulse is defined as a pulse width divided by a pulse period. For example, in <FIG>, the pulse width of the HSYNC signal <NUM> is one clock, the pulse period of the HSYNC signal <NUM> is two clocks, and the duty cycle of the HSYNC signal <NUM> is <NUM>%. Various pulse periods and duty cycles may be used in an HSYNC signal.

In one embodiment, the pulse period of an HSYNC signal is fixed, which is referred to as a fixed rate HSYNC signal. In another embodiment, the pulse period of an HSYNC signal is variable, which is referred to as a variable rate HSYNC signal. An electronic device may use the variable rate HSYNC signal to save power consumption. For example, a mobile phone may have a high speed display mode and a normal speed display mode. In the high speed display mode, a shorter HSYNC pulse period is applied, which may result in different power consumption. The electronic device may use different HSYNC signals in different frames.

In order to mitigate the display flicker issue, a conventional display usually relies on a VSYNC signal to determine the timing of touch scans. The conventional display may try to avoid conflict between touch scan operations and display updating during HSYNC pulses by deferring the touch scan operations upon detecting a pulse in the VSYNC signal. The deferral period may be a fixed or predetermined duration. Alternatively, the deferral period may be a random duration to avoid any obvious interference patterns showing on the display. As illustrated below, this method may not guarantee elimination of the flicker issues due to lack of the knowledge of an HSYNC signal.

<FIG> illustrates flicker issues caused by a conventional touch scan for a fixed rate HSYNC signal. A VSYNC signal <NUM> has two pulses <NUM> and <NUM>. A rising edge of the VSYNC pulse <NUM> represents beginning of a frame <NUM>, and a rising edge of the VSYNC pulse <NUM> represents beginning of a frame <NUM>. An HSYNC signal <NUM> has multiple pulses <NUM> within the frame <NUM> and multiple pulses <NUM> within the frame <NUM>. The HSYNC pulses <NUM> and the HSYNC pulses <NUM> have the same number of pulses, and each pulse has the same pulse period. In other words, the HSYNC signal <NUM> is a fixed rate HSYNC signal. The HSYNC pulses correspond to when a display is being updated. Blocks <NUM> denote status of touch scan operations. Blocks <NUM> and <NUM> correspond to when the touch scan operations are idle (i.e., no touch scan occurs during this period). Blocks <NUM> and <NUM> correspond to when the touch scan operations are active (i.e., touch scan are performed during this period). As shown in <FIG>, in the frame <NUM>, the touch scan operations <NUM> are delayed by a fixed period <NUM> upon detection of the VSYNC pulse <NUM>. In the frame <NUM>, the touch scan operations <NUM> are delayed by the fixed delay <NUM> plus a random period <NUM> upon detection of the VSYNC pulse <NUM>. However, even though deferral periods are applied, the touch scan operations <NUM> and <NUM> still overlap with the HSYNC pulses <NUM> and <NUM> respectively in the time domain. Thus, without knowledge of the HSYNC signal, a conventional display may not eliminate the flicker issue simply by deferring touch scans in accordance with the VSYNC signal because an appropriate deferral period is difficult to choose.

<FIG> illustrates flicker issues caused by a conventional touch scan for a variable rate HSYNC signal. A VSYNC signal <NUM> has two pulses <NUM> and <NUM>. A rising edge of the VSYNC pulse <NUM> represents beginning of a frame <NUM>, and a rising edge of the VSYNC pulse <NUM> represents beginning of a frame <NUM>. An HSYNC signal <NUM> has multiple pulses <NUM> within the frame <NUM> and multiple pulses <NUM> within the frame <NUM>. The HSYNC pulses <NUM> and the HSYNC pulses <NUM> have the same number of pulses but different pulse period. In other words, the HSYNC signal <NUM> is a variable rate HSYNC signal. A display that uses the HSYNC signal <NUM> may operate in a high speed mode using a smaller HSYNC pulse period during the frame <NUM>, and then may switch to a normal or low speed mode using a larger HSYNC pulse period during the frame <NUM>. Blocks <NUM> denote status of touch scan operations. Blocks <NUM> and <NUM> correspond to when the touch scan operations are idle (i.e., no touch scan occurs during this period). Blocks <NUM> and <NUM> correspond to when the touch scan operations are active (i.e., touch scan are performed during this period). As shown in <FIG>, in the frame <NUM>, the touch scan operations <NUM> are deferred by a period <NUM> upon detection of the VSYNC pulse <NUM>. The period <NUM> is long enough so that the touch scan operations <NUM> do not conflict with the HSYNC pulses <NUM>. Thus, flicker issues may be avoided in the frame <NUM>. In the frame <NUM>, the same deferral period <NUM> is applied to the touch scan operations <NUM>. However, the touch scan operations <NUM> still conflict with the HSYNC pulses <NUM> because the HSYNC pulse period in this frame is larger. Thus, a conventional display may not eliminate the flicker issue simply by deferring touch scans in accordance with the VSYNC signal because such a method may not apply to situations with a variable rate HSYNC signal.

In various embodiments of the present disclosure, the timing of a touch scan is determined in accordance with an HSYNC signal. Specifically, the touch scan on a touch sensing panel of a display is performed after an ending pulse of the HSYNC signal within the frame.

<FIG> depicts a method <NUM> for operating a display according to some embodiments. The method <NUM> begins at step <NUM>, where a circuit receives an HSYNC signal from a display driver of the display, the HSYNC signal including a plurality of pulses. The method <NUM> proceeds to step <NUM>, where the circuit measures a parameter of the HSYNC signal within a frame. The method <NUM> then proceeds to step <NUM>, where the circuit initiates a touch scan on a touch sensing panel of the display based on the measured parameter. In an embodiment, the circuit may be a touch controller of the display. In another embodiment, the circuit may be located within the touch controller. In yet another embodiment, the circuit may be an external circuit coupled to the touch controller.

In various embodiments, the circuit initiates the touch scan after determining that an ending pulse of the HSYNC signal has occurred. <FIG> illustrates a timing diagram <NUM> of the proposed method according to some embodiments. The timing diagram <NUM> includes a VSYNC signal <NUM>, an HSYNC signal <NUM>, and touch scan status blocks <NUM>. The VSYNC signal <NUM> has two pulses <NUM> and <NUM>. A rising edge of the VSYNC pulse <NUM> represents beginning of a frame <NUM>, and a rising edge of the VSYNC pulse <NUM> represents beginning of a frame <NUM>. The HSYNC signal <NUM> has multiple pulses <NUM> within the frame <NUM> and multiple pulses <NUM> within the frame <NUM>. The multiple pulses <NUM> include a beginning pulse (the first HSYNC pulse in the frame <NUM>) <NUM> and an ending pulse (the last HSYNC pulse in the frame <NUM>) <NUM>. The multiple pulses <NUM> include a beginning pulse (the first HSYNC pulse in the frame <NUM>) <NUM> and an ending pulse (the last HSYNC pulse in the frame <NUM>) <NUM>. The HSYNC pulses <NUM> and the HSYNC pulses <NUM> have the same number of pulses but different pulse period. In other words, the HSYNC signal <NUM> is a variable rate HSYNC signal. A display that uses the HSYNC signal <NUM> may operate in a high speed mode using a smaller HSYNC pulse period during the frame <NUM>, and then may switch to a normal or low speed mode using a larger HSYNC pulse period during the frame <NUM>. Blocks <NUM> denote status of touch scan operations. Blocks <NUM> and <NUM> correspond to when the touch scan operations are idle (i.e., no touch scan occurs during this period). Blocks <NUM> and <NUM> correspond to when the touch scan operations are active (i.e., touch scan are performed during this period).

As shown in <FIG>, in the frame <NUM>, the touch scan operations <NUM> are performed after the ending HSYNC pulse <NUM> within this frame. Thus, flicker issues are avoided in the frame <NUM>. In the frame <NUM>, the touch scan operations <NUM> are performed after the ending HSYNC pulse <NUM> within this frame. Thus, flicker issues also are avoided in the frame <NUM>. Therefore, with knowledge of an HSYNC signal, the proposed method solves the flicker issue by deferring touch scans in a frame in accordance with the HSYNC signal so that a touch scan is performed after an ending HSYNC pulse during the frame.

In various embodiments, the parameter of the HSYNC signal to be measured at step <NUM> is a pulse period of the HSYNC signal within a frame. <FIG> is a method <NUM> for operating a display based on HSYNC pulse period measurement according to some embodiments. The method <NUM> begins at step <NUM>, where a circuit receives an HSYNC signal from a display driver of the display. The HSYNC signal may include a plurality of pulses.

At step <NUM>, the circuit measures the pulse period of the HSYNC signal within a frame. The pulse period of the HSYNC signal within the frame is an interval between either rising edges of two consecutive pulses of the HSYNC signal or falling edges of the two consecutive pulses of the HSYNC signal within the frame. In a non-limiting example, the circuit may detect two consecutive pulses of the HSYNC signal within the frame. The circuit may determine the pulse period of the HSYNC signal by measuring an interval between rising edges of the two consecutive pulses. In another non-limiting example, the circuit may detect multiple (more than two) consecutive pulses of the HSYNC signal within the frame. The circuit may determine the pulse period of the HSYNC signal by measuring an average interval using the multiple measurements of the consecutive pulses. In one embodiment, the circuit may determine the pulse period by measuring an interval between a rising edge of an HSYNC pulse and a rising edge of a subsequent HSYNC pulse. In another embodiment, the circuit may determine the pulse period by measuring an interval between a falling edge of an HSYNC pulse and a falling edge of a subsequent HSYNC pulse. In yet another embodiment, the circuit may determine the pulse period by first measuring a pulse width of an HSYNC pulse and then determine the pulse period based on the measured pulse width and a duty cycle. The circuit may determine the pulse width by measure an interval between the rising edge and the falling edge of the HSYNC pulse. Alternatively, timing measurement of the HSYNC signal may be made by measuring a time period between any two edges of any of the pulses of the HSYNC signal.

At step <NUM>, the circuit starts a timer upon detecting a beginning pulse of the HSYNC signal within the frame. At step <NUM>, the circuit sets a duration of the timer. The duration of the timer may be longer than the measured pulse period multiplied by a total number of pulses in the HSYNC signal within the frame. The total number of pulses may be a predetermined value. In one embodiment, the circuit may calculate the duration in real time based on the pulse period and the total number of pulses in the HSYNC signal within the frame. The total number of pulses in the HSYNC signal within a frame may depend on specifications of the display, such as a resolution of the display. The total number of pulses in the HSYNC signal within a frame may or may not change while the display is operating. The circuit may have knowledge of the total number of the pulses in the HSYNC signal according to a predetermined configuration. Alternatively, the circuit may receive information about the total number of pulses in the HSYNC signal within a frame from some other parts of the display such as an AP or a display driver. In another embodiment, the circuit may have a plurality of predetermined values stored in its memory. The circuit may select one of these stored values as the duration of the timer in accordance with the measured pulse period of the HSYNC signal. In various embodiments, the circuit may first determine an operation mode of the display based on the pulse period. For example, the operation mode may be a high speed mode or a normal speed mode, and each mode is associated with a predetermined value. Then the circuit may select one predetermined value associated with the operation mode as the duration of the timer.

At step <NUM>, the circuit initiates a touch scan on a touch sensing panel of the display upon detecting an expiration of the timer.

In various embodiments, the parameter of the HSYNC signal to be measured at step <NUM> is a number of pulses in the HSYNC signal within a frame. <FIG> is a method <NUM> for operating a display based on counting HSYNC pulses according to some embodiments. The method <NUM> begins at step <NUM>, where a circuit receives an HSYNC signal from a display driver of the display. The HSYNC signal may include a plurality of pulses. At step <NUM>, the circuit initializes a counter at a beginning of the frame. In one embodiment, the beginning of the frame may be determined based on detection of a pulse of a VSYNC signal. In another embodiment, the beginning of the frame may be determined based detection of a beginning pulse of the HSYNC signal.

At step <NUM>, the circuit increments the counter each time a pulse of the HSYNC signal is detected during the frame. At step <NUM>, the circuit starts a timer upon determining that the counter reaches a predetermined number. The predetermined number may be a total number of pulses of the HSYNC signal within the frame. The total number of pulses of the HSYNC signal within a frame may be associated with a resolution of the display. The total number of pulses of the HSYNC signal within a frame may be determined in ways similar to those discussed above. At step <NUM>, the circuit initiates a touch scan on a touch sensing panel of the display upon detecting an expiration of the timer.

In various embodiments, the parameter may be measured by a pulse measurement circuit. The pulse measurement circuit may include a counter and an edge detection circuit coupled together. The edge detection circuit may be further coupled to a high frequency clock. The pulse measurement circuit may be configured to detect a pulse in the HSYNC signal. The pulse measurement circuit may also be configured to measure a pulse period of the HSYNC signal or measure a pulse width of the HSYNC signal, or both. In various embodiments, the pulse measurement circuit may detect a pulse of the HSYNC signal in accordance with either a rising edge or a falling edge, or both. In various embodiments, persons skilled in the art may implement the pulse measurement circuit using any suitable circuits or any suitable signal processing techniques known in the art.

<FIG> is a block diagram of a touch controller <NUM> according to some embodiments. The touch controller may include a processor <NUM>, a memory <NUM>, and a pulse processing circuit <NUM>. The processor <NUM> may be a microcontroller, an application-specific integrated circuit (ASIC) device, a central processing unit (CPU), or any other processing unit known in the art. The memory <NUM> may be a non-transitory memory such as read-only memory (ROM) storing firmware or a random access memory (RAM). The memory <NUM> may be located within the touch controller <NUM>. Alternatively, the memory <NUM> may be located outside of the touch controller <NUM> and the touch controller <NUM> may share the memory <NUM> through an interface with one or more other processing units of the electronic device.

The pulse processing circuit <NUM> may be any circuit or hardware known in the art that is capable of pulse detection, pulse period measurement, and/or pulse width measurement. For example, in some embodiments, pulse processing circuit <NUM> may be implemented using a counter. The pulse processing circuit <NUM> may take inputs such as a VSYNC signal <NUM> or an HSYNC signal <NUM>, perform pulse processing tasks as described in the present disclosure, and the report the processing results to the processor <NUM> using a signal <NUM>. In one embodiment, the signal <NUM> may include the measured pulse period. In another embodiment, the signal <NUM> may be an interrupt service routine (ISR) or a service interrupt triggered by the pulse processing circuit <NUM>. In one embodiment, the pulse processing circuit <NUM> may measure a pulse period of the HSYNC signal and transmit a service interrupt to the processor <NUM>. The measured pulse period may be stored in a register of the pulse processing circuit <NUM>. The service interrupt may trigger the process <NUM> to read the measured pulse period from the register of the pulse processing circuit <NUM>. In another embodiment, the pulse processing circuit <NUM> may detect a pulse in the HSYNC signal <NUM>, and then transmit a service interrupt to the processor <NUM> to notify the processor <NUM> that an HSYNC pulse has been detected. The processor <NUM> may act in response to the received service interrupt accordingly as described in the present disclosure.

The touch controller <NUM> may have inputs <NUM> and outputs <NUM>. The inputs <NUM> may include signals the touch controller <NUM> receives from a host and a display. For example, the inputs <NUM> may include control signals from the host and touch sensing signal from the display. The outputs <NUM> may include signals the touch controller transmits to the host and the display. For example, the outputs <NUM> may include touch coordinates signals and touch driving signals.

In various embodiments, the touch controller <NUM> may include a clock circuit that is configured to generate a clock signal. The clock signal may be used to measure intervals between pulses of the HSYNC signal <NUM> and the VSYNC signal <NUM>. Alternatively, a clock circuit may not be located within the touch controller <NUM>, and the touch controller <NUM> may receive a clock signal from a host or AP or any other suitable part of the electronic device.

<FIG> is a block diagram of a circuit <NUM> for controlling a display according to some embodiments. The circuit <NUM> may include a processor <NUM>, a pulse measurement circuit <NUM>, and a timer <NUM>. The processor <NUM> may be a microcontroller coupled to the pulse measurement circuit <NUM>. The pulse measurement circuit <NUM> may include an edge detection circuit <NUM>, a counter <NUM>, and a register <NUM>. The edge detection circuit <NUM> may receive an HSYNC signal and may be configured to detection an edge of the HSYNC signal. The counter is coupled to an optional clock <NUM>. The clock <NUM> may be a high frequency clock. The clock <NUM> may be a clock located within the pulse measurement circuit <NUM> as shown in <FIG>. Alternatively, the clock <NUM> may be located outside of the pulse measurement circuit <NUM> or even outside of the circuit <NUM>.

The pulse measurement circuit may be configured to measure a pulse period of the HSYNC signal. For example, in one embodiment, the edge detection circuit <NUM> may detect a rising edge of the HSYNC signal and start the counter <NUM>. The counter <NUM> may be driven by the clock <NUM> and may increment per clock cycle. When the edge detection circuit <NUM> detects a subsequent rising edge of the HSYNC signal, it may stop the counter <NUM>. Any suitable measurement hardware and techniques known in the art may be implemented in the pulse measurement circuit <NUM>. The pulse measurement circuit may store the measured pulse period in the register <NUM> and transmit a service interrupt <NUM> to the processor <NUM>. Once receiving the service interrupt <NUM>, the processor <NUM> may read the measured pulse period from the register <NUM> and determine a duration for the timer <NUM> based on the measured pulse period and a predetermined number as described above. The processor <NUM> may write the duration into a register <NUM> of the timer <NUM>. The processor <NUM> may communicate with the register <NUM> and the register <NUM> via a communication bus <NUM>. The timer <NUM> may start at the beginning of a frame. The timer <NUM> may determine the beginning of the frame upon detection a beginning HSYNC pulse during the frame. When the timer <NUM> expires, it may transmit a signal <NUM> to initiate a touch scan on a touch sensing panel of the display.

In various embodiments, pulse measurement circuit <NUM> and timer <NUM> may be implemented using digital logic circuits known in the art. As non-limiting examples, edge detector <NUM> may be implemented using a register and state machine, counter <NUM> and timer <NUM> may be implemented using counter circuits known in the art, such as synchronous counters, clock circuit <NUM> may be implemented using an oscillator circuit, and registers <NUM> and <NUM> may be implemented using register circuits known in the art. Circuit <NUM> may also be physically implemented using digital circuit design techniques known in the art including digital synthesis techniques. The digital logic circuits of circuit <NUM> may include custom digital logic, standard cell digital, and programmable digital logic. In an embodiment, the circuit <NUM> may be a touch controller of the display. In another embodiment, the circuit <NUM> may be located within the touch controller.

In yet another embodiment, the circuit may be an external circuit coupled to the touch controller.

Claim 1:
A method (<NUM>) for operating a display (<NUM>), the method (<NUM>) comprising:
receiving a horizontal synchronization , HSYNC signal (<NUM>) from a display driver (<NUM>) of the display, the HSYNC signal (<NUM>, <NUM>, <NUM>) including a plurality of pulses;
measuring a parameter of the HSYNC signal (<NUM>, <NUM>, <NUM>) within a frame (<NUM>, <NUM>); and
initiating a touch scan on a touch sensing panel (<NUM>) of the display (<NUM>) based on the measured parameter,
characterized in that the method further comprises:
starting a timer (<NUM>) upon detecting a beginning pulse of the HSYNC signal (<NUM>, <NUM>, <NUM>) within the frame,
wherein the parameter is a pulse period (<NUM>) of the HSYNC signal (<NUM>, <NUM>, <NUM>) within the frame (<NUM>, <NUM>),
wherein a duration of the timer (<NUM>) is longer than the measured pulse period multiplied by a predetermined number associated with a resolution of the display (<NUM>), and
wherein the touch scan is initiated upon detecting an expiration of the timer (<NUM>).