The present invention is related to touch screen controllers, and more particularly, a method for reducing the number of interrupts received by the touch screen controller.
In the prior art, when touch is detected or data is ready, a touch screen controller will issue an interrupt request to a host. In an interrupt event a processor needs to conduct overhead processes (such as context switching) before and after performing the real task at hand. If, in every data acquired, there are a large number of interrupt events, this will waste processor/host resources. In a situation where the processor is still handling higher priority processes, an interrupt from the touch screen controller might be ignored. Ignoring interrupts may cause some data points to be lost, since the touch screen controller is waiting for commands from the processor, while the touch location might have moved in the meantime. A method to reduce the number of interrupts and, at the same time, acquire point data even if the processor is busy is desired.
Referring now to
In the event of touch-detection, controller 110 issues an interrupt signal to host 112 and waits for the next command—whether to acquire data or ignore the touch. Once an “Acquire Data” command is given by host 112, controller 110 instructs data acquisition block 106 to acquire the data. When the data is ready, again controller 110 issues an interrupt signal to host 112 to read the data.
In other prior art systems, when touch is detected, controller 110 issues an interrupt signal as well as acquires the data at the same time. Once data is ready, another interrupt is issued. Touch detection interrupt (first interrupt) is to inform host 112 that touch is detected and to prepare the host to read the data when the second interrupt is coming.
In the prior art system shown in
What is desired, therefore, is a touch screen system in which interrupts to the controller are minimized while the ability to acquire all point data is preserved.
According to the present invention, integration of a FIFO memory, FIFO threshold and a timer, along with the other components of a touch screen system allows the number of interrupts to the touch screen controller to be reduced while allowing all point data to be acquired and preserved. In the first touch-detect event, an interrupt is issued to inform the host. The touch screen controller then automatically acquires data as long as touch is detected without host intervention. A FIFO threshold defines the minimum number of data points in FIFO memory before it issues an interrupt to inform the host that data is ready to be fetched. The timer is started once touch is detected. On every single data acquired, the timer is reset. In the event where touch is no longer detected (no more data acquisition), the timer keeps on counting until the time-up limit is reached. In this event, the touch screen controller will issue an interrupt informing the host the pen is lifted. The host then checks whether there is still data left in FIFO memory to be read.
It is an advantage of the present invention that the fewer number of interrupts issued, the more host resources can be preserved. In each interrupt event, the host needs to do overhead processes (context switching) before and after the real process is performed. In the case where the host is busy when an interrupt is issued (the interrupt is attended a bit late), the touch screen controller will still acquire new data, which is stored in FIFO memory. Hence, no data is missed. The foregoing and other objects, features and advantages of the invention will become more readily apparent from the following detailed description of a preferred embodiment of the invention, which proceeds with reference to the accompanying drawings.
Referring now to
The block diagram/schematic of timer 216 is shown in
When there is no touch, the RESET line is pulled LOW to reset timer 216. When a touch is detected, RESET is released HIGH to enable timer 216. In each data acquired, timer 216 is reset. If no more data is acquired, timer 216 continues running until a threshold is hit and an interrupt is issued to inform the system that the finger/pen has been lifted up.
A simplified block diagram of FIFO memory 214 is shown in
The proposed solution according to an embodiment of the invention is explained in further detail below. In a “Touch Detect” event, controller 210 issues a command for data acquisition block 208 to acquire data. At the same time controller 210 also activates timer 216, which is reset by data acquisition block 208 every time new data is acquired. During a “Touch Detect” event, controller 210 gives an interrupt to host 212. Once activated, data acquisition block 208 automatically acquires data at a predetermined rate. In every successful data acquisition, data acquisition block 208 resets timer 216. The data acquired is stored in FIFO memory 214. If the number of the data in FIFO has reach some predetermined value, controller 210 gives an interrupt to host 212 to read all the data available in a cycle of communication. In the case of a touch lifted up, no more valid data is acquired, hence timer 216 counts until the time-up level is reached. If the timer hits the time-up level, controller 210 issue an interrupt to inform host 212 that no more touch is detected and host 212 may read all the remaining data in the FIFO memory 214. During a “Touch Detect” event, therefore, an interrupt is issued to inform host 212 that a touch has been detected. Controller 210 starts the timer 216 to count and commands the data acquisition block 208 to start to acquire the data.
The FIFO memory 214 according to an embodiment of the present invention is described in further detail below. All acquired data is stored in FIFO memory 214 under the control of touch screen controller 210. The stored data can be read immediately or after some number of data available in the memory. An adjustable threshold value defines the minimum number of available data in FIFO memory before controller gives an interrupt output to inform host to read the data. If host 212 is busy when an interrupt is issued and not attending to the request immediately, controller 210 continues to collect the next data and stores it in FIFO memory 214, hence no data is lost. Once host 212 is free, it can start to read the data available in FIFO memory 214.
The timer 216 is explained in further detail below according to an embodiment of the present invention. The timer 216 is reset by the data acquisition block 208 every time there is new valid data acquired. In the situation where the pen/finger is lifted up, some data may be available in the FIFO memory. No more data is acquired, hence the timer is now running until hits the time-up threshold. In this case, controller 210 issues another interrupt to host 212 to inform that no more touch is detected and host 212 may read remaining data available in the FIFO memory 214.
The operation of the invention is shown in further detail in flow-chart format in
The operation of the invention is shown in further detail in flow-chart format in
The method of the present invention is further illustrated with reference to a timing diagram shown in
While there have been described above the principles of the present invention in conjunction with specific circuits implementing the system and method of the present invention, it is to be clearly understood that the foregoing description is made only by way of example and not as a limitation to the scope of the invention. Particularly, it is recognized that the teachings of the foregoing disclosure will suggest other modifications to those persons skilled in the relevant art. Such modifications may involve other features which are already known per se and which may be used instead of or in addition to features already described herein. Although claims have been formulated in this application to particular combinations of features, it should be understood that the scope of the disclosure herein also includes any novel feature or any novel combination of features disclosed either explicitly or implicitly or any generalization or modification thereof which would be apparent to persons skilled in the relevant art, whether or not such relates to the same invention as presently claimed in any claim and whether or not it mitigates any or all of the same technical problems as confronted by the present invention. The applicants hereby reserve the right to formulate new claims to such features and/or combinations of such features during the prosecution of the present application or of any further application derived therefrom.
The present application claims the benefit of U.S. Provisional Patent Application No. 61/002,122 filed on Nov. 6, 2007, which is hereby incorporated by reference in its entirety for all purposes as if fully set forth herein.
Number | Name | Date | Kind |
---|---|---|---|
4103252 | Bobick | Jul 1978 | A |
4300127 | Bernin | Nov 1981 | A |
5463386 | Wu | Oct 1995 | A |
5493648 | Murray et al. | Feb 1996 | A |
5648642 | Miller et al. | Jul 1997 | A |
5798750 | Ozaki | Aug 1998 | A |
5805085 | Hsu et al. | Sep 1998 | A |
5982302 | Ure | Nov 1999 | A |
6323445 | Yee | Nov 2001 | B1 |
6417787 | Hsu | Jul 2002 | B1 |
6961866 | Janin et al. | Nov 2005 | B2 |
6992601 | Chiu et al. | Jan 2006 | B2 |
7167107 | Patino et al. | Jan 2007 | B2 |
7330134 | Chen | Feb 2008 | B2 |
7888610 | Lim | Feb 2011 | B2 |
7986306 | Eich et al. | Jul 2011 | B2 |
8072429 | Grivna | Dec 2011 | B2 |
8223136 | Hu et al. | Jul 2012 | B2 |
8284080 | Ng et al. | Oct 2012 | B2 |
20020041270 | Chiu et al. | Apr 2002 | A1 |
20030132922 | Philipp | Jul 2003 | A1 |
20060227115 | Fry | Oct 2006 | A1 |
20070257899 | Ao et al. | Nov 2007 | A1 |
20070285440 | MacInnis et al. | Dec 2007 | A1 |
20080048990 | Cho et al. | Feb 2008 | A1 |
20080150906 | Grivna | Jun 2008 | A1 |
20080284738 | Hovden et al. | Nov 2008 | A1 |
20080309490 | Honkanen et al. | Dec 2008 | A1 |
20100019780 | Bulea | Jan 2010 | A1 |
Number | Date | Country |
---|---|---|
0195110 | Dec 2001 | WO |
Entry |
---|
Examination Report, Australian Patent Office, app. No. SG 200718899-8, Woden Act 2606, Australia, mailing date Jun. 16, 2011, pp. 5. |
2nd Written Opinion, Australian Patent Office, app. No. SG 200718899-8, Woden Act 2606, Australia, mailing date Oct. 6, 2010, pp. 5. |
Written Opinion, Australian Patent Office, Woden Act 2606, Australia, mailing date Dec. 8, 2009, pp. 5. |
Number | Date | Country | |
---|---|---|---|
20090115740 A1 | May 2009 | US |
Number | Date | Country | |
---|---|---|---|
61002122 | Nov 2007 | US |