1. Field of the Invention
The present invention relates to a coordinate calculating method and a touch device, and more particularly, to a coordinate calculating method and a touch device for a single-layer capacitive touch device with a plurality of sensing channels.
2. Description of the Prior Art
Recently, touch panels are widely used in the input interfaces of electronic devices due to the human-computer interaction characteristic of the touch panels. With the applications of consumer electronic products becoming broader, the spectrum of electronic products equipped with touch display panel, such as mobile phones, GPS navigator systems, tablets, PDAS, and laptops, continues to increase. According to different methods of sensing touch, the touch panels can be classified as resistive, capacitive, acoustic pulse and infrared. The resistive touch panels and the capacitive touch panels are commonly used in the industry. Since the capacitive touch panels have characteristics such as good tolerability and good user experience, the capacitive touch panels has become the mainstream in the industry.
Please refer to
Please refer to
If the number of sensing pad pairs corresponding to each sensing end (i.e. sensing ends A1-A8, B1-B8) increases, the touch resolution of the single-layer capacitive touch device 20 can be improved. Please refer to
Since the single-layer capacitive touch device only detects capacitance variation in a single direction (i.e. Y-axis), the single-layer capacitive touch device needs a special coordinate algorithm to acquire precise data of touch points, however. In other words, when using the thin low-cost single-layer capacitive touch device, a well-designed coordinate algorithm is needed for acquiring good touch resolution.
Therefore, the present invention discloses a coordinate calculating method and a touch module for a single-layer capacitive touch device.
The present invention discloses a coordinate calculating method for a single-layer capacitive touch device having a plurality of sensing channels, wherein each sensing channel corresponds to at least one sensing pad pairs, a first end and a second end. The coordinate calculating method comprises: acquiring a plurality of first end capacitances and a plurality of second end capacitances corresponding to the plurality of sensing channels; calculating differences between the plurality of first end capacitances and a plurality of first baselines for acquiring a plurality of first differences and calculating differences between the plurality of second end capacitances and a plurality of second baselines for acquiring a plurality of second differences; adding the first difference and the second difference corresponding to each sensing channel for acquiring a plurality of total capacitances; and determining whether the single-layer capacitive touch device is pressed according to the plurality of total capacitances and a threshold, and outputting a coordinate of at least one touch point when the single-layer capacitive touch device is pressed.
The present invention further discloses a touch module. The touch module comprises: a single-layer capacitive touch device; a processing unit; and a storage unit for storing a program code. The program code instructs the processing unit to perform the following steps: acquiring a plurality of first end capacitances and a plurality of second end capacitances corresponding to the plurality of sensing channels; calculating differences between the plurality of first end capacitances and a plurality of first baselines for acquiring a plurality of first differences and calculating differences between the plurality of second end capacitances and a plurality of second baselines for acquiring a plurality of second differences; adding the first difference and the second difference corresponding to each sensing channel for acquiring a plurality of total capacitances; determining whether the single-layer capacitive touch device is pressed according to the plurality of total capacitances and a threshold; and outputting coordinate of at least one touch point when the single-layer capacitive touch device is pressed
These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.
Please refer to
Please refer to
Step 500: Start.
Step 502: Acquire sensing capacitances C_A1-C_An, CB_1-C_Bn corresponding to the sensing ends A1-An, B1-Bn, respectively.
Step 504: Calculate differences between the sensing capacitances C_A1-C_An and baselines BC_A1-BC_An for acquiring capacitance differences DC_A1-DC_An, respectively, and calculate differences between the sensing capacitances CB13 1-C_Bn and baselines BC_B1-BC_Bn for acquiring capacitance differences DC_B1-DC_Bn.
Step 506: Add the capacitance differences DC_A1-DC_An, DC_B1-DC_Bn corresponding to each sensing channel, for acquiring total capacitances TC_S1-TC_Sn.
Step 508: Determine whether the single-layer capacitive touch device is pressed according to the total capacitances TC_S1-TC_Sn and a threshold TH, and output a first-axis coordinate and a second-axis coordinate of at least one touch point according to the capacitance differences DC_A1-DC_An, DC_B1-DC−Bn, the total capacitances TC_S1-TC_Sn, first-axis coordinates and second-axis coordinates of the sensing channels S1-Sn.
Step 510: End.
As to the details of the coordinate calculating method 50 please refer to the following. The capacitive touch module detects capacitance variations generated when the single-layer capacitive touch device is pressed or capacitance variations relative to the environmental capacitances to calculate the coordinate of the touch point on the single-layer capacitive touch device. Thus, the capacitive touch module 40 first acquires the sensing capacitances C_A1-C_An, C_B1-C_Bn corresponding to the sensing ends A1-An, B1-Bn, respectively, and calculates the differences between the sensing capacitances C_A1-C_An, CB_1-C_Bn and the baselines BC_A1-BC_An, BC_B1-BC_Bn, for acquiring the capacitance differences DC_A1-DC_An, DC_B1-DC_Bn (steps 502,504). The baselines BC_A1-BC_An, BC_B1-BC_Bn are acquired by detecting environmental capacitances (e.g. the environmental capacitances generated by the surface traces, metal line and Indium-Tin-Oxide traces of the capacitive touch module) when the capacitive touch module initializes. Next, the capacitive touch module adds the capacitance differences DC_A1-DC_An, DC_B1-DC_Bn corresponding to each sensing channel, for acquiring the total capacitances TC_S1-TC_Sn of the sensing channels S1-Sn, respectively. Since the sensing capacitances of the sensing channel will be much greater than the baseline of the sensing channel when the sensing channel is pressed, the capacitive touch module can determine whether the single-layer capacitive touch device is pressed according to whether the total capacitances TC_S1-TC_Sn are greater than the threshold TH. The capacitive touch module also learns the number of the touch points when determining the single-layer touch device is pressed. Further, when determining the single-layer touch device is pressed, the capacitive touch module acquires the coordinates of the touch points according to the capacitance differences DC_A1-DC_An, DC_B1-DC_Bn, the total capacitances TC_S1-TC_Sn, the first-axis coordinates and the second-axis coordinates of the sensing channels S1-Sn.
According to different applications, there are various methods for acquiring the coordinates of the touch points according to the capacitance differences DC_A1-DC_An, DC_B1-DC_Bn, the total capacitances TC_S1-TC_Sn, the first-axis coordinates and the second-axis coordinates of the sensing channels S1-Sn. Please refer to
Step 600: Start.
Step 602: Acquire sensing capacitances C_A1-C_An, C_B1-C_Bn corresponding to the sensing ends A1-An, B1-Bn, respectively.
Step 604: Calculate differences between the sensing capacitances C_A1-C_An and baselines BC_A1-BC_An for acquiring capacitance differences DC_A1-DC_An, respectively, and calculate differences between the sensing capacitances C_B1-C_Bn and baselines BC_B1-BC_Bn for acquiring capacitance differences DC_B1-DC_Bn.
Step 606: Add the capacitance differences DC_A1-DC_An, DC_B1-DC_Bn corresponding to each sensing channel, for acquiring total capacitances TC_S1-TC_Sn.
Step 608: Determine whether each total capacitances is greater than the threshold TH. When a first total capacitance is greater than the threshold TH, determine the sensing channel corresponding to the first total capacitance is a valid sensing channel and perform step 610; otherwise, determine the sensing channel corresponding to the first total capacitance is an invalid sensing channel and perform step 618.
Step 610: Determine whether the total capacitance differences of each valid sensing channel is greater than the total capacitance differences of the sensing channels adjacent to each valid sensing channel. If the total capacitance difference of a first valid sensing channel is greater than the total capacitance differences of the sensing channels adjacent to the first valid sensing channel, determine the first valid sensing channel is a center sensing channel.
Step 612: Adjust the total capacitances of the sensing channels located at edges of the single-layer capacitive touch device.
Step 614: Output the first-axis coordinates of the touch points according to the total capacitances and the first-axis coordinates of the center sensing channels and the sensing channels adjacent to the center sensing channels.
Step 616: Output the second-axis coordinates of the touch points according to the total capacitances, the capacitance differences and the second-axis coordinates of the center sensing channels and the sensing channels adjacent to the center sensing channels.
Step 618: Utilize the sensing capacitances of the invalid sensing channels to update the baselines of the invalid sensing channels.
Step 620: End.
As to the details of the coordinate calculating method 50 please refer to the following. The operations of steps 602-606 are similar to steps 502-506 of the coordinate calculating method 50 shown in
Since the structure of the single-layer capacitive touch device may be asymmetric, the total capacitances and the capacitance differences of the sensing channels located at the edges of the single-layer capacitive touch device need to be adjusted for acquiring accurate results (step 612). Next, the first-axis coordinates and the second-axis coordinates of the touch points can be obtained according to the total capacitances, the capacitance differences and the second-axis coordinates of the center sensing channels and the sensing channels adjacent to the center sensing channels (steps 614, 616). After acquiring information of the touch points, the capacitive touch module utilizes the sensing capacitances corresponding to the total capacitances smaller than the threshold TH (i.e. the sensing capacitances corresponding to the invalid sensing channels) to update the baselines of the invalid sensing channels (step 618). Please note that, if all the total capacitances TC_S1-TC_Sn are smaller than the threshold TH (i.e. there is zero valid sensing channel), the capacitive touch module can directly perform step 618.
Please refer to
The X-axis coordinates XP1, XP2 of the touch points P1, P2 can be obtained according to the total capacitances TC_S2, TC_S7 of the center sensing channels S2, S7 and the total capacitances TC_S1, TC_S3, TC_S6, TC_S8 of the sensing channels S1, S3, S6, S8 adjacent to the center sensing channels S2, S7. In this embodiment the X-axis coordinates XP1, XP2 of the touch points P1, P2 are acquired by interpolation, but are not limited herein. The formula of calculating the coordinate XP1 of the touch point P1 can be expressed as:
Similarly, the formula of calculating the coordinate XP2 of the touch point P2 can be expressed as:
The X-axis coordinates XP1, XP2 of the touch points P1, P2 are therefore obtained. Via the similar method, the formulas of calculating the Y-axis coordinates YP1, YP2 of the touch points P1, P2 can be expressed as:
Finally, the baselines BC_A3-BC_A6, BC_B3-BC_B6 of the sensing channels S3-S6 (i.e. the invalid sensing channels) are updated by the C_A3-C_A6, C_B3-C_B6, respectively.
Please note that, the main spirit of the present invention is calculating the coordinates of the touch points on the single layer capacitive touch device accurately according to the sensing capacitance of the single layer capacitive touch device. According to different applications, those skilled in the art may observe appropriate alternations and modifications. For example, the sensing capacitance C_A1-C_A8, C_B1-C_B8 may be affected by the environment noise. Thus, the sensing capacitance C_A1-C_A8, C_B1-C_B8 can be filtered via a low-pass filter while acquiring the sensing capacitance C_A1-C_A8, C_B1-C_B8. The low-pass filter can be realized in analog types or digital types. Besides, the low-pass filter may be an infinite impulse response (IIR) filter, a finite impulse response (FIR) filter or a median filter, and is not limited herein.
On the other hand, when multiple touch points locate on a same sensing channel, the capacitive touch module may midjudge the multiple touch points as one touch point. Thus, the coordinate calculating method of the above embodiment performs a virtual touch point algorithm when the number of the touch points currently outputted is smaller than that of the touch point previously outputted. The virtual touch point algorithm is utilized for determining whether the multiple touch points locate on a same sensing channel. When the multiple touch points locate on a same sensing channel, the virtual touch point algorithm further calculates the coordinates of the multiple touch points locating on a same sensing channel.
Noticeably, the abovementioned steps of the processes including suggested steps can be realized by means that could be hardware, firmware known as a combination of a hardware device and computer instructions and data that reside as read-only software on the hardware device, or an electronic system. Examples of hardware can include analog, digital and mixed circuits such as microcircuits, microchips, or silicon chips. Examples of the electronic system can include system on chip (SOC), system in package (Sip), computer on module (COM), and the capacitive touch module 40.
To sum up, the coordinate calculating method of the above embodiments can be utilized in the capacitive touch module with the single-layer capacitive device, for accurately calculating the coordinates of the touch points on the single-layer capacitive device. As a result, the designer can obtain precise touch resolution when implementing the thin low-cost single-layer capacitive device in the electronic product.
Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
102104225 | Feb 2013 | TW | national |