CAPACITANCE-VARIATION-SENSITIVE TOUCH SENSING ARRAY SYSTEM

Abstract: A capacitance-variation-sensitive touch sensing array system including an array of antenna lines; and an array of touch elements, with each touch element being coupled to at least one antenna line of the antenna line array to vary the capacitance between each of the coupled antenna lines and ground upon the touch element coupled thereto being touched by an operator. An array of drive lines are capac­ itively coupled to the antenna lines. An array of sense lines are capacitively coupled to the antenna lines to derive sense signals from the antenna lines when drive signals are applied to the drive lines to drive the antenna lines. The amplitudes of the respective sense signals are dependent upon whether the capacitance between the respective driven antenna line and circuit ground is varied by an opera­ tor touching the touch element coupled to the driven anten­ na line. A microprocessor processes values derived from the sense signals to provide information associated with any particular touch element that is touched by an operator. A sequence of drive signals having different predetermined characteristics is repetitively applied to the different drive lines to cause differently characterized sense signals asso­ ciated with different antenna lines to be derived on a sense line coupled to a plurality of different antenna lines. A first portion of the antenna array is supported by one side of a thin dielectric substrate and a second portion of the antenna array is supported by the opposite side of the thin dielectric substrate. The touch elements individually include a tab supported by the substrate and extending from an antenna line so that the capacitance between the antenna line and ground is varied when the tab is touched.

Description: CAPACITANCE-VARIATION-S NSITIVE TOUCH SENSING ARRAY SYSTEM BACKGROUND OF THE INVENTION The present invention pertains to improvements in capacitance-variation-sensitive touch sensing array systems. A touch sensing array system includes an array of touch elements which may be operated as keys on a keyboard or to provide an indication associated with a given position in the array. In a capacitance-variationsensitive touch sensing array system the touching of a touch element results in a variation of the capacitance between the touch element and circuit ground. This variation results in the variation of a sense signal produced on one or more sense lines coupled to the respective touch element. The sense signals are processed to provide information associated with any particular touch element that is touched by an operator. In a typical capacitance-variation-sensitive touch sensing array system each touch element is driven by an alternating current signal. Sense signals are produced on the respective sense lines coupled to the respective touch elements when the touch element is driven. When the touch element is touched by an operator, the capacitance between the touch element and circuit ground is varied which causes a variation in the sense signals. The sense signals are processed to determine whether the touch element has been touched by an operator. Prior art capacitance-variation-sensitive touch sensing array systems described in U. S. Letters Patents Nos. 4,290,052 to Eichelberger et al; 4,379,287 to Tyler et al; 4,305,135 to Dahl et al; 4,157,539 to Hunts et al; 3,691,555 to Looschen; 4,321,479 to Ledniczki et al; 4,288,786 to Ledniczki et al; 3,757,322 to Barken et al; 4,103,252 to Bobick; and 3,921,167 to Fox. Publication No. T904,008 by Crouse. Capacitanne-variation touch elements also are described in U. S. Patent No. 3,492,440 to Cerbone et al and in IBM Technical Disclosure Bulletin, Vol. 17, No. 1, June 1974, page 166-7, "Tollch-Sensing Circuit, n by J. A. Williams. SUMMARY OF THE INVENTION The present invention provides an improved capacitance-variation-sensitive touch sensing array system for which the array may be inexpensively fabricated in a monolithic construction that is easy to maintain. The nature of the basic combination of elements in the system provides the following advantages: (i) Only a small number of connections are needed between passive circuitry capacitively coupled to an array of touch elements and active circuitry used to detect touch. (ii) The array of touch elements may be configured as a touch-actuated keyboard with each of a plurality of touch elements serving as an individual key; or the array of touch elements may be configured so that finger touch position can be sensed and processed for use in control applications. (iii) Relatively few and simple parts are used to construct a large array of many more touch elements than ordinarily are associated with conventional keyboards. (iv) The touch elements may be legendized by overlays, which may be sheets of computer printout. (v) Sense signals produced in the system may be processed to accurately recognize whether a variation in a sense signal is the result of a valid touch of a touch element. (vi) Sense signals produced in the system may be processed in such a manner as to allow portions of the touch element array not in use to be covered with nonconducting materials such as papers or books. The capacitance-variation-sensitive touch sensing array system of the present invention includes an array of antenna lines; an array of touch elements, with each touch element being coupled to one or more antenna lines of the antenna line array to vary the capacitance between each of the coupled antenna lines and ground upon the touch element coupled thereto being touched by an operator; an array of drive lines coupled to the antenna lines; a drive signal generator for applying drive signals to the drive lines to drive the antenna lines coupled thereto; an array of sense lines coupled to the antenna lines to derive sense signals from the antenna lines when drive signals are applied to the drive lines; and means coupled to the sense lines for sensing the sense signals on the respective sense lines, with the amplitudes of the respective sense signals being dependent upon whether the capacitance between the respective driven antenna line and circuit ground is varied hy an operator touching tile touch element coupled Fo the driven antenna line; and a signal processing system coupled to the sensing means for processing the sense signals to provide information associated with any particular touch element that is touched by an operator. Preferably, each antenna line is coupled to only one drive line and to only one sense line; each of the drive lines is coupled to a plurality of antenna lines; each of the sense lines is coupled to a plurality of antenna lines; no given drive line and sense line pair is connected to more than one antenna line in common; and the drive signal generator is adapted for repetitively applying a sequence of drive signals having different predetermined characteristics to the different drive lines to cause differrritly characterized sense signals to bederived own a sense line coupled to a plurality of different antenna lines. It is also preferable that the drive signals are alternating signal packets that differ from each other by being nonsynchronous and/or by being of opposing polarities if synchronous with each other. Preferably, the different drive signals in combination include nonsynchronous sets of pulsed signal packet pairs, with the paired signal packets in each set being synchronous with each other, of approximately the same value, and of opposing polarities to thereby cause the amplitude of the sense signals derived in response to said synchronous pairs of drive signal packets to be low in relation to the variation in the amplitude of the sense signals resulting from the touch elements being touched by an operator. This feature enables the number of sense signals and related sense signal processing to be reduced by fifty percent. The touch sensing array is amenable to an inexpensive monolithic construction, wherein a first portion of the antenna array is supported by one side of a thin dielectric substrate and a second portion of the antenna array is supported by the opposite side of the thin dielectric substrate. Preferably, the touch elements individually include a first tab supported by the one side of the substrate and extending from an antenna line of the first portion of the array; and a second tab supported by the opposite side of the substrate and extending from an antenna line of the second portion of the array adjacent to the position underlying the first tab so that the capacitance between both antenna lines and ground is varied when the touch element is touched by an operator in the proximity of both tabs. In alternative embodiments, the drive lines and sense lines are supported by opposite sides of a second thin dielectric substrate that is separated by a third thin dielectric substrate from the first-mentioned dielectric substrate supporting the antenna arrays; or the drive lines and sense lines are supported on the same thin dielectric substrate as the antenna arrays. In the latter embodiment, a drive line or sense line on one side of the substrate is coupled to an antenna line on the opposite side of the substrate by a capacitor including a first plate supported by the one side of the substrate and extending from the coupled drive line or sense line; and a second plate supported by the opposite side of the substrate and extending from the coupled antenna line and underlying the first plate. The touch sensing array system of the present invention can he configured for use as a keyboard. In a preferred embodiment the antenna lines are arrayed in rows and columns and each touch element is coupled to one row antenna line and to one column antenna line. The touch elements function as keys of the keyboard. The sense signals derived from the row and column antenna lines are processed to provide signals associated with whichever key is touched by an operator. The touch sensing array system of the present invention also can be configured so that finger touch position can be sensed. In such embodiments individual touch elements are coupled to only one antenna line of the array and are dimensioned and disposed so that an operator firmly touching an interior touch element of the array with his finger necessarily touches a plurality of touch elements simultaneously; and the signal processing system processes the sense signals to provide information associated with the position in the array of any particular touch element that is touched by an operator. The processing system processes the relative magnitudes of the sense signal value variations resulting from a plurality of the touch elements being touched, and performs an interpolation routine using such relative magnitudes to provide an estimate of touch position. In another aspect of the present invention that is applicable to capacitance-variation-sensitive touch sensing array systems in general and not merely to the system of the present invention having arrays of drive lines and sense lines capacitively coupled to arrays of antenna lines, as described above, sense signal values are provided in accordance with the amplitudes of the respective sense signals and the processing system processes the sense signals iteratively to ascertain the values of variations in the sense signal values and for processing the variation values to determine whether any said variation resulted from a touch element being touched by an operator. The processing of variation values allows more powerful and versatile processing routines to be used to more accurately recognize a valid touch by an operator. In a further aspect of the present invention that likewise is applicable to capacitance-variation-sensitive touch sensing array systems in general, sense signal values are provided in accordance with the amplitudes of the respective sense signals and the processing system processes the sense signals iteratively to determine whether any of the touch elements has been touched by an operator by comparing the sense signal values with baseline values derived from sense signal values provided when the touch elements are untouched by an operator to determine whether a variation value derived from said comparison exceeds a predetermined threshold value; and revises the baseline values in response to sensed variations in the sense signal values over a predetermined numer of iterations occurring in the absence of valid touch by an operator. This feature allows portions of the touch element array not in use to be covered with nonconducting materials, such as books or papers, without rendering the array inoperative. Additional features of the present invention are described in relation to the description of the preferred embodiments. BRIEF DESCRIPTION OF THE DRAWING Figure 1 is a block diagram of the system of the present invention. Figure 2 is a partial schematic circuit diagram showing the interconnection between the touch element array and the capacitors in one preferred embodiment of the system of Figure 1. Figure 3 is a schematic circuit diagram illustrating the theory of operation of a touch element in the touch element array of the system of Figure 1. Figure 4 is a schematic exploded cross-sectional diagram illustrating the construction of a touch element in one preferred embodiment of the touch element array of the system of Figure 1. Figure 5 is a partial plan view illustrating the construction and interconnection of the antenna lines, capacitors and the touch elements in one preferred embodiment of the system of Figure 1. Figure 6 illustrates the timing and polarity of the different drive signal patterns applied to the drive lines by the drive signal generator in one preferred embodiment of the system of Figure 1. Figures 7 through 12 are flow charts of the program used by the microprocessor to process sense signal values in one preferred embodiment of the system of Figure 1. Figure 13 is a partial plan view illustrating the construction and relationship of the antenna array and touch elements in an alternative preferred embodiment of the system of Figure 1. Figure 14 is a schematic exploded cross-sectional view illustrating the construction of the antenna array in the alternative preferred embodiment of Figure 13. Figures 15A through 15D illustrate the relationship between layered arrays of antenna lines, drive lines and sense lines in the alternative preferred embodiment of Figures 13 and 14. Figure 16 is a flow chart of microprocessor programming applicable to the alternative preferred embodiment of Figure 13 that is used in addition to the programming illustrated by Figures 7-12. Figure 17 illustrates the timing and polarity of the different drive signal patterns applied to the drive lines by the drive signal generator in a further preferred embodiment of the system of Figure 1. Figures 18 and 19 are flow charts of microprocessor programming applicable to the further preferred embodiment of Figure 17 that is used in lieu of the programming illustrated in Figures 8-12. DESCRIPTION OF THE PREFERRED EMBODIMENTS Referring to Figure 1, a preferred embodiment of the capacitance-variation-sensitive touch sensing array system of the present invention includes a 32 x 32 touch element array 10, an antenna line array that includes thirty-two row antenna lines A1-32 and thirty-two column antenna lines A33-64, a drive line array that includes four row drive lines DL1-4 and four column drive lines DL5-8, an array of eight sense lines SL1-8, an array of sixty-four drive lineto-antenna capacitors DLAC1-64, an array of sixty-four antenna-to-sense line capacitors ASLCl-64, a multiplexer 11, an amplifier circuit 12, a synchronous demodulator 13, an analog-to-digital (A/D) converter 14, a microprocessor 15, a control logic circuit 16 and a drive signal generator 17. While only thirty-two row antenna lines and thirty-two column antenna lines are included in tis embodiment, it is to be understood that with a number "n" of drive lines DL and a number "m" of sense lines SL there may be n x m antenna lines; and if a number "k" of the antenna lines are row antenna lines, then there would be (n x m)-k column antenna lines and k[(n x m)-k] touch elements. Referring to Figure 2, it is seen that each of the touch elements TE is connected to one of the row antenna lines A1-32 and to one of the column antenna lines A33-64. Each of the antenna lines A1-64 is connected to thirty-two touch elements TE. The drive lines nl-8 are capacitively coupled to the antenna lines All64 by the drive line-toantenna capacitors DLAC1-64. The antenna lines A1-64 are capacitively coupled to the sense lines SLl-8 by the antenna-to-sense line capacitors ASLCl-64. Each antenna line A1-64 is capacitively coupled to only one drive line DL and to only one sense line SL. Each of the eight drive lines DL1-8 is capacitively coupled to eight of the sixty four antenna lines A1-64; and each of the eight sense lines SL1-8 is coupled to eight of the sixty-four antenna lines A1-64. In effect each antenna line A1-64 completes a Tbridge connection between a pair made up of a unique one of drive lines DL1-8 and a unique one of sense lines SL1-8. The principle of operation of each touch element TE is described with reference to Figure 3, wherein a touch element TE is shown as connected to an antenna line A. A drive line DL is capacitively coupled to the antenna line A by the drive-line-to-antenna capacitance DLAC; and the antenna line A is capacitively coupled to a sense line SL by an antenna-to-sense line capacitance ASLC. A drive signal is provided on the drive line DL by a drive signal source V to drive the antenna line A. The touch element TE provides a variable capacitance to ground (VCG) in accordance with the proximity to the touch element TE of an operator's finger F, as shown in the equivalent circuit 18. There also is a stray capacitance from the antenna line A to ground as represented by the capacitor SCG. When a drive signal (DS) consisting of an applied AC voltage is placed on the drive line DL to drive the antenna line A, a sense signal (SS) is provided on the sense line SL. The amplitude of the sense signal on the sense line SL is dependent upon whether the capacitance between the driven antenna line A and circuit ground is varied by an operator touching the touch element TE. When the operator touches the touch element TE (or even moves his finger F in close proximity to the touch element TE) the variable capacitance to ground VCG increases to thereby cause the amplitude of the sense signal on the sense line SL to decrease. By providing appropriate means for processing the sense signal provided on the line SL, it is possible to ascertain when the touch element TE has been touched by an operator. A preferred construction of each touch element in this embodiment is shown in Figure 4. Each touch element TE includes two conductive tabs 20 and 21 that are respectively connected to different antenna lines. One tab 20 is supported on one side of a thin (0.001 inch) dielectric Mylar film substrate 22 and the other tab 21 is supported on the other side of the thin dielectric substrate 22. Referring to Figure 5, it is seen that the touch element tabs 20 on the top side of the dielectric substrate 22 (as represented by solid lines) are connected to the row antenna lines Al-32 (represented by solid lines), which likewise are supported on the top side of the substrate 22; and that the touch element tabs 21 on the bottom side of the dielectric substrate 22 (as represented by broken lines) are connected to the column antenna lines A33-64 (represented by broken lines), which likewise are supported on the bottom side of the substrate 22. Each top-side tab 20 extends from a row antenna line; and each corresponding bottom-side tab 21 of the same touch element extends from a column antenna line adjacent to the position underlying the top-side tab 20 so that the capacitance between both antenna lines connected to the respective tabs 20 and 21 and ground is varied when the touch element is touched by an operator in the proximity of both tabs 20 and 21. Referring again to Figure 4, the dielectric substrate 22 is supported by a nonconductive mechanical support layer 23, which is covered on its bottom-side by a grounded thin conductive, electrically-shielding layer 24. The touch element further includes a protective 0.005 inch Lexan plastic film layer 25 covering the unsupported side of the substrate 22 and the tab 20. The protective film layer 25 is backprinted with indicia associated with each of the touch elements in order to identify the touch elements as keys in a keyboard. The dashed line 26 shows the dimension of an outline of the touch element that is backprinted on the protective film 25. Optionally, the touch element may also include a paper overlay layer 27 having different indicia than the backprinted indicia when it is desired to use the touch sensing array in an application in which the backprinted indicia are not appropriate. Figure 4 illustrates the relative placement of the constituents of the touch element only; and the thicknesses of the layers 22, 23, 24, 25, and 27 are not proportionate. In this preferred embodiment the mechanical supporting layer 23 is 0.25 inch thick. It will be readily appreciated that decreasing the thickness of this supporting layer 23 will increase the proximity of the grounded shielding layer 24 to each of antenna lines Al-64 thereby increasing the stray capacitances to ground SCG of each of All64. The entire touch element array 10 is part of a monolithic construction that also includes the drive line-to-antenna capacitors DLAC1-64 and the antenna-tosense line capacitors ASLCl-64. The width of each of the respective antenna lines Al 64 is very narrow (0.02 inch) in areas where a row antenna line Al-32 on one side of the substrate 22 crosses the position of a column antenna line A33-64 on the opposite side of the substrate 22 in order to minimize capacitive coupling between antenna lines on opposite sides of the substrate 22. Referring again to Figure 5, both the drive lines DL18 and the sense lines SL1-8 are supported by the same thin dielectric substrate 22 as supports the antenna lines A1-64 and the touch elements TE. The row drive lines DL1-4 (represented by broken lines) are supported on the bottom side of the substrate 22; and the column drive lines DL5-8 (represented by solid lines) are supported on the top side of the substrate 22. Drive lines DL1-8 on one side of the substrate 22 are coupled to antenna lines on the opposite side of the substrate 22 by the drive line-to-antenna capacitors DLAC164. Each capacitor includes a first plate supported by one side of the substrate 22 and extending from the drive line and a second plate supported by the other side of the substrate 22 and extending from the coupled antenna line and underlying the first plate. For example, consider drive line-to-antenna capacitor DLAC40 which includes a first plate 29 supported on the top side of the substrate 22 and extending from column drive line DL8 on the top side of the substrate 22 and a second plate 30 supported on the bottom side of the substrate 22 and extending from column antenna line A40 on the bottom side of the substrate 22 and underlying the first plate 29. The sense lines SL1-8 are supported on both sides of the substrate 22, as may be discerned from the representative respective solid and broken lines in Figure 5. The row antenna lines A1-32 on the top side of the substrate 22 are capacitively coupled to the portions of eight sense lines SL1-8 on the bottom side of the substrate 22 respectively by thirty-two of the antenna-to-sense line capacitors ASLC1-32. Each of the eight sense lines is capacitively coupled to four of the row antenna lines. The column antenna lines A33-64 on the bottom side of the substrate 22 are capacitively coupled to the portions of the eight sense lines SL1-8 on the top side of the substrate 22 respectively by the remaining thirty-two antenna-to-sense line capacitors ASLC33-64. Each such capacitor includes a first plate supported by one side of the substrate 22 and extending from the antenna line and a second plate supported by the other side of the substrate 22 and extending from the coupled sense line, such as shown for capacitors ASLC1-4. This condition is also satisfied by capacitors ASLC37-40 wherein a capacitor plate on one side of the substrate constitutes the first plate for several different capacitors that are defined by separate second plates on the opposite side of the substrate. In capacitors ASLC37-40, a first plate 34 supported on the top side of the substrate 22 and extending from the sense line SL2 supported on the top side of the substrate 22 is in common to each of these capacitors ASLC37-40, and separate second plates 37, 38, 39 and 40 are supported on the bottom side of the substrate 22 and respectively extend from the antenna lines A37, A38, A39 and A40 supported on the bottom side of the substrate 22. Table I shows which drive lines DL and which sense lines SL are respectively coupled to which antenna lines A1-64. TABLE 1 SL1 SL2 SL3 SL4 SL5 SL6 SL7 SL8 ROW DL1 1 5 9 13 17 21 25 29 DRIVE DL2 2 6 10 14 18 22 26 30 LINES DL3 3 7 11 15 19 23 27 31 DL4 4 8 12 16 20 24 28 32 COLUMN DL5 33 37 41 45 49 53 57 61 DRIVE DL6 34 38 42 46 50 54 58 62 LINES DL7 35 39 43 47 51 55 59 63 DL8 36 40 44 48 52 56 60 64 Antenna Line Number No given drive line and sense line pair is connected to more than one antenna line in common. Referring again to Figure 1, drive signals are applied to the drive lines DL1-8 by the drive signal generator 17. The drive signal generator 17 is adapted to respond to drive signal timing information provided on line 41 from the control logic circuit 16 and to drive signal pattern information provided on lines 42 from the microprocessor 15 by repetitively applying a sequence of drive signals having different predetermined characteristics to the different drive lines DL1-8 to cause differently characterized sense signals to be derived on sense lines SL1-8 coupled to a plurality of different antenna lines A1-64. The drive signals are alternating signal packets that differ from each other by being nonsynchronous and/or by being of opposing polarities if synchronous with each other. Referring to Figure 6, each signal packet contains sixteen cycles of an alternating signal that varies at a predetermined frequency. The different drive signals in combination include nonsynchronous sets of signal packet pairs, with the paired signal packets in each set being synchronous with each other, of approximately the same value, and of opposing polarities to thereby cause the amplitude of the sense signals derived in response to such synchronous pairs of drive signal packets to be low in relation to the variation in the amplitude of such sense signals resulting from the touch elements being touched by an operator. The signal packets of one polarity are referred to as drive signals DS; and the signal packets of the opposite polarity are referred to as inverted drive signals IDS. In the context of this Specification when no distinction is made between the drive signals DS and the inverted drive signals IDS, the term drive signal refers to whichever type of drive signal pattern (DS or IDS) is applied to the respective drive lines DL1-8. Referring again to Figure 6, the drive signals are provided on the drive lines DL1-8 by the drive signal generator 17 in a repeating sequence of four different drive signal patterns DSP1, DSP2, DSP3 and DSP4. During DSP1, a drive signal DS is provided on drive line DL1 and an inverted drive signal IDS is provided on drive line DL3. Table 2 shows the association of the drive signals DS and the inverted drive signals IDS on the respective drive lines DL during the four different drive signal patterns DSPl-4. TABLE 2 DSP1 DSP2 DSP3 DSP4 LINE RECEIVING DS DL1 DL2 DL5 DL6 LINE RECEIVING IDS DL3 DL4 DL7 DL8 Location of DS and IDS on DL1-8 during DSPl-4 During each drive signal pattern, the paired drive signal DS and inverted drive signal IDS are synchronous with each other, of approximately the same value and of opposing polarities. The drive signal pattern information on lines 42 indicates the sequence in which the drive signal packets are placed upon given drive lines. Each of the drive lines DL1-8 is dedicated to receiving either drive signals DS or inverted drive signals IDS exclusively, as shown in Figure 6. Referring again to Figure 1, the multiplexer 11 time-division multiplexes the eight different sense signals on sense lines SL1-8 to provide time-division multiplexed sense signals on line 43 to the amplifier 12. The amplifier 12 is a band pass amplifier centered at the predetermined frequency of the alternating signal within the signal packets of the drive signals. The synchronous demodulator frequency demodulates the signal on line 44 from the amplifier 12. The control logic circuit 16 controls the operation of the synchronous demodulator 13 by a signal on lines 45 to cause the demodulation of a signal packet on line 44 to be synchronous with the generation of the corresponding drive signal packet by the drive signal generator 17. The demodulated signals then are converted from analog signals to digital signals by the A/D converter 14 which provides a respective sense signal value (SSV) on lines 46 for the sense signal derived from one of the sense lines SL1-8 that is selected by the multiplexer 11 during one of drive patterns DSP1-4 (Figure 6). The multiplexing rate is such that a sense signal from only one of the sense lines SL1-8 is provided on line 43 and subsequently demodulated during each occurrence of a drive signal pattern DSP. The sense signal values indicate both the amplitude and the polarity of the sense signals. Because opposing polarity drive signal patterns are provided, the number of sense signal values that must be processed to scan completely the array of touch elements is one-half the number of antenna lines. Thus, for this embodiment, only thirty-two sense signal values need be processed during each complete scan of the touch sensing array. Table 3 shows a processing sequence identification number for each of the sense signal values (SSV), and the sign under an appropriate convention of the variation in the sense signal value derived from each of the sense lines SL1-8 during each of the respective drive signal patterns DSP1-4 whenever a touch element is touched by an operator with respect to the antenna lines A that are connected to the touch element that is touched by the operator. TABLE 3 ROW COLUMN DSP1 DSP2 DSP3 DSP4 SSV SIGN A SSV SIGN A SSV SIGN A SSV SIGN A SLI 1 + 1 9 + 2 17 + 33 25 + 34 - 3 - 4 - 35 - 36 SL2 2 + 5 10 + 6 18 + 37 26 + 38 - 7 - 8 - 39 - 40 SL3 3 + 9 11 + 10 19 + 41 27 + 42 - 11 - 12 - 43 - 44 SL4 4 + 13 12 + 14 20 + 45 28 + 46 - 15 - 16 - 47 - 48 SL5 5 + 17 13 + 18 21 + 49 29 + 50 - 19 - 20 - 51 - 52 SL6 6 + 21 14 + 22 22 + 53 30 + 54 - 23 - 24 - 55 - 56 SL7 7 + 25 15 + 26 23 + 57 31 + 58 - 27 - 28 - 59 - 60 SL8 8 + 29 16 + 30 24 + 61 32 + 62 - 31 - 32 - 63 - 64 For example, if the touch element connected to row antenna line Al and column antenna line A48 is touched by an operator, a positive variation in the sense signal value is derived from sense line SLI during DSP1 and a negative variation in the sense signal value is derived from sense line SL4 during DSP4. The microprocessor 15 processes the sense signal values on lines 46 to provide information on lines 47 associated with any particular touch element that is touched by an operator. In this embodiment the touch element array 10 is used as a keyboard for a data processor 48. Accordingly, the information provided by the microprocessor on lines 47 constitutes a keyboard output signal to the data processor 48. The operation of the multiplexer 11 is controlled by signals provided on lines 49 by the microprocessor 15. The microprocessor also provides an initialization signal on line 50 to the control logic circuit 16, which coordinates the operation of the synchronous demodulator 13, the A/D converter 14 and the drive signal generator 17. The operation of the microprocessor 15 is reset by the data processor 48 by a signal on line 51. The microprocessor 15 is programmed to process the sense signal values (SSV) on lines 46 iteratively to ascertain the signs and values of the variations (SSVV) in the sense signal values (SSV) and to process the sense signal variation values (SSVV) to determine whether any such variation resulted from a touch element being touched by an operator. The flow charts for this program are shown in Figures 7 through 12. The sense signal values are processed iteratively by comparing the sense signal values with baseline values derived from sense signal values provided when the touch element array is untouched by an operator to determine which one of three states is present. The first of the three states is an UNTOUCHED state. The second of the three states is a VALID TOUCH state in which a valid touch by an operator is present. The third of the three states is an INVALID RESPONSE state which occurs when neither the first state or the second state is present. Referring to Figure 7, step 0 represents a power on, reset operation; and in step 1, the variable values are initialized. In step 2, a scan of the touch element array 10 is carried out iteratively with the production of sense signal values SSV1-32 as program input. Initial processing is carried out. In step 3, a test is performed to determine if the sense signal variation values SSVVl-32 are all small. If so, the program branches to step 6 where the UNTOUCHED state is processed. If any of sense signal variation values SSVV1-32 is found not to be small in step 3, the program branches to step 4 where a test is performed to identify the presence or absence of the VALID TOUCH state. The VALID TOUCH state is processed in step 5. In the absence of the VALID TOUCH state the program branches from step 4 to step 7 where an INVALID RESPONSE is processed. Following each of steps 5, 6, or 7 there is a return to step 2. Expansions of steps 1 through 7 of Figure 7 are shown in Figures 8 through 12, with a stepnumbering system which agrees in the first digit with that of Figure 7. Referring to Figure 8, the initialization is shown in steps 1.1 and 1.2 to consist of inputting the sense signal values SSV1-32 and storing these values as baseline values BV1-32 and also as reserve values RV1-32. Next, a baseline drift compensation count (BDCC) and a baseline revision count (BRC) are each initialized to 0. In step 1.2 and in later steps, the "assign" symbol := is used in the usual way to indicate that the value to the right of said symbol is assigned to the variable to the left of said symbol. It is intended in operation that baseline values BV1-32 represent the sense signal values SSV1-32 that would be obtained in the absence of operator touch and thus that the touch element array 10 should be untouched during initialization. Referring to Figure 9, the microprocessor 15 is programmed to process the sense signal values (SSV) iteratively to determine whether any of the touch elements has been touched by an operator by comparing the sense signal values (SSV) with baseline values (BV) derived from sense signal values (SSV) provided when the touch elements are untouched by an operator to determine whether a sense signal variation value (SSVV) derived from such comparison exceeds a predetermined variation value bound (VVB); and to revise the baseline values (BV) in response to sensed variations in the sense signal values (SSV) over a predetermined number of iterations occurring in the absence of valid touch by an operator. The baseline values are revised in response to sensed variations in the sense signal values which are stable over a predetermined number of iterations and which indicate the INVALID RESPONSE state of the touch element array 10. In the course of revising the baseline values (by), the microprocessor 15 (a) stores a set of reserve values (RV) derived from a set including each of the respective sense signal values (SSV); (b) iteratively compares each sense signal value (SSV) to each corresponding reserve value (RV); (c) revises the stored set of reserve values (RV) to correspond to a current set of sense signal values SSV1-32 whenever the difference between any sense signal value (SSV) and the corresponding reserve value (RV) exceeds a predetermined reserve value bound (RVB); (d) processes the sense signal variation values (SSVV) derived from a current set of sense signal values SSV1-32 whenever any variation value (SSVV) derived from such set exceeds a variation value bound (VVB) to determine whether VVB was exceeded as a result of a touch element being touched by an operator; (e) increments a baseline revision count (BRC) in response to each current set of sense signal values SSV1-32 for which it is determined that the exceeding of the variation value bound VVB was not the result of a touch element being touched by an operator; (f) resets the baseline revision count (BRC) to zero each time the stored set of reserve values (RV) is revised; and (g) revises the baseline values (BV) to correspond to the reserve values (RV) when the baseline revision count (BRC) equals a predetermined revision count limit (BRCL). Step (d) is shown in the flow chart of Figure 10 and steps (e) and (g) are shown in the flow chart of Figure 12. Accordingly, it is seen that the baseline values are revised to correspond to the reserve values when the INVALID RESPONSE state is present for a predetermined number of iterations during which time no revision of the reserve values occurs, no revision of baseline values to correspond to reserve values occurs and the VALID TOUCH state is not present. It is also seen that the baseline values are updated by either incrementing or decrementing each of the respective baseline values in accordance with whether the baseline value is less or greater than the respective last-provided sense signal value when the UNTOUCHED state is present for a predetermined number of consecutive iterations during which time no updating of the baseline values occurs. Sense signal values SSV1-32 are input in step 2.1. Next, in step 2.2 a test is done on the baseline revision count BRC. At certain preselected and fixed values of BRC there is a branch to step 2.4 where each of the reserve values RV1-32 is altered as shown so as to become closer by 1 if possible to the respective value of SSV1-32. The SIGN function is employed in this step and in later steps in the usual way where the SIGN of a positive number is plus 1, the SIGN of 0 is 0, and the SIGN of a negative number is minus 1. This operation of step 2.4 is called reserve value drift compensation. Part of the significance of-this step 2.4 operation is shown by the test in step 2.3 where if any of the reserve values RV1-32 is found to depart by more than the reserve value bound RVB from : the corresponding one of SSV1-32 there is a branch to step 2.5 where all of RV1-32 are given the respective values of the current SSVl-32 and where the baseline revision count (BRC) is reset to 0. In step 2.6 the sense signal variation values SSVV1-32 are calculated as the respective differences of SSV1-32 and BV1-32. In step 3.1, if the magnitude of each of SSVV1-32 is found to be smaller than the variation value bound VVB, the touch element array 10 is judged to be in the UNTOUCHED state and there is a branch to step 6. Otherwise there is a branch to step 4. Referring next to Figure 10, in the course of processing the sense signal variation values (SSVV) the microprocessor 15 (a) determines whether the maximum variation value (ROW MAX) derived from the row antenna lines A1-32 exceeds a predetermined threshold value (TBR); (b) determines whether none of the other variation values (SSVV) derived from the row antenna lines A1-32 exceeds a tolerance value (TOL) that is a predetermined fraction of the maximum variation value (ROWMAX) derived from the row antenna lines A1-32; (c) determines whether the maximum variation value (COLMAX) derived from the column antenna lines A33-64 exceeds the predetermined threshold value (TBR); and (d) determines whether none of the other variation values (SSVV) derived from the column antenna lines A33-64 exceeds a tolerance value (TOL) that is a predetermined fraction of the maximum variation value (COLMAX) derived from the column antenna lines A33-64. All of the four immediately preceding recited determinations (a), (b), (c) and (d) being affirmative indicates that the maximum variation value (ROW MAX) derived from the row antenna lines and the maximum variation value (COLMAX) derived from the column antenna lines each resulted from only a single one of the touch elements being touched instantaneously by an operator. Tests for a valid touch response are carried out in steps 4.1 through 4.6. The variable ROWMAX is always assigned the value of the largest magnitude of the current set of sense signal variation values SSVV1-16 derived from the row antenna lines All32. In step 4.1 ROW MAX is compared to the predetermined threshold value THR. If ROWMAX exceeds TUR there is a branch to step 4.2 where the tolerance value TOL is set to some fixed fraction of the value of ROWMAX. Next, in step 4.3 each of the magnitudes of SSVV1-16 other than the one chosen as ROWMAX is compared to TOL. If none of these values exceeds TOL then a VALID ROW TOUCH response is judged to be present and the program branches to step 4.4 where the largest magnitude (COLMAX) of the current set of sense signal value variations SSVV1732 derived from the column antenna lines A33-64 is determined. COLMAX is compared to the threshold value TR. If COLMAX exceeds THR, then TOL is recalculated as a fixed fraction of COLMAX in step 4.5; and in step 4.6, each of the magnitudes of SSVV17-32 other than the one chosen as COLMAX is compared to TOL. If none of these values exceeds TOL, the tests for a VALID TOUCH have been passed and there is an exit to steps 5.1 and 5.2 where a VALID TOUCH is processed. Failing any of the tests of steps 4.1, 4.3, 4.4, or 4.6 causes a branch to step 7 where an INVALID RESPONSE is processed. In step 5.1 which begins the processing of a valid touch, the counts BDCC and BRC are each reset to 0. The significance of these resets will be appreciated when the program flow charts shown in Figures 11 and 12 are described. In step 5.2 further processing of a VALID TOUCH response is carried out including the appropriate encoding of the touched touch element by row number and by column number which numbers may be calculated using the information in Table 3. Referring to Figure 11, the microprocessor 15 is further programmed to compensate for drift in the sense signal values (SSV) that are provided when the touch elements are in the untouched state. To effect such compensation, the microprocessor 15 (a) increments the baseline drift compensation count (BDCC) in response to each current set of sense signal values SSV1-32 for which there is no sense signal variation value (SSVV) that exceeds the variation value bound (VVB); (b) revises the baseline value (BV) when the baseline drift compensation count (BDCC) equals a predetermined compensation count limit (BDCCL) by either incrementing or decrementing each of the respective baseline values (BV) in accordance with whether the baseline value is less or greater than the respective last-provided sense signal value (SSV); and (c) resets the baseline drift compensation count (BDCC) to zero upon the baseline values (BV) being revised. The processing of the UNTOUCHED state is shown in steps 6.1 through 6.4. In step 6.1 the baseline drift compensation count BDCC is incremented by two counts. Next, in step 6.2, BDCC is compared to the predetermined compensation count limit BDCCL. If BDCC has reached or exceeded BDCCL, there is a branch to step 6.3 where BDCC is reset to 0. Next, in step 6.4 each of the baseline values BV1-32 is altered as shown so as to become closer by 1 if possible to the respective value of the current sense signal values SSVI-32. Referring to Figure 12, the process of compensating for baseline value drift further includes decrementing the baseline drift compensation count (BDCC) to not less than zero in response to each current set of sense signal values SSVI-32 for which a sense signal variation value(SSVV) exceeds the predetermined variation value bound (VVB) except when it is determined that the exceeding of VVB was the result of a touch element being touched by an operator. When the INVALID RESPONSE state occurs only intermittently, the updating of the baseline values is delayed by degree. In step 7.1 the baseline revision count (BRC) is incremented. Next, the baseline drift compensation count BDCC is decremented if BDCC is greater than 0. Next, in step 7.2 BRC is compared to the predetermined revision count limit (BRCL) . If there is equality there is a branch to step 7.4 where the baseline values BV1-32 are assigned the respective reserve values RV1-32, as discussed above in relation to the description of the program flow chart shown in Figure 9. Further processing of the INVALID RESPONSE state is carried out in step 7.3 as needed. Referring again to the program flow chart of Figure 7, it is seen that baseline value drift compensation occurs in step 6, where the UNTOUCHED state is processed, when BDCC reaches BDCCL. BDCC is reset to 0 in step 5, incremented by 2 in step 6, and is decremented by 1 if positive in step 7. Since there is passage through only one of steps 5, 6, or 7 during each iteration (which corresponds to a sequence in which each of drive signal patterns DSP1-4 is repeated for each of the sense lines SL1-8), the condition which brings about baseline value drift compensation is apparent. Also it is seen that complete baseline revision with the resulting replacement of BV1-32 by RV1-32 occurs in step 7, where the INVALID RESPONSE state is processed, when BRC reaches BRCL. BRC is incremented in step 7, is reset to 0 in step 5, and is possibly reset to 0 in step 2. Thus the conditions needed for complete baseline value revision are apparent: first, sufficient stability of SSV1-32 so that the resetting of BRC is avoided in step 2, and second, passage through step 7 BRCL times before passing through step 5. Further processing of VALID TOUCH or INVALID RESPONSE beyond that indicated in the flow charts of Figures 7-12 may proceed according to well-established techniques in keyboard scanner design. All numbers are stored in the microprocessor 15 as 8 bit binary numbers and are interpreted in the usual way as signed binary numbers lying between decimal minus 128 and decimal 127. Carry and overflow bits are ignored in additions and subtractions. As an example, the result of subtracting decimal 127 from decimal minus 128 is plus 1. It is assumed that, in normal use, changes in each of SSV132 will not exceed decimal 127 in magnitude and thus that the sign of such changes will be given a correct interpretation in the microprocessor program. As an example of program parameter choices, suppose that sense signal variation values SSVV of over 16 units are reliably produced by operator touch under typical operating conditions. THR may be set equal to 8. RVB and VVE may be set equal to 4. BDCCL may be chosen so that baseline value drift compensation occurs at the rate of 1 per second when all SSVs are consistently less than or equal to VVB in magnitude. In the process of Figure 10 in step 4.2 TOL may be assigned the value of ROWMAX/4 and in step 4.5 TOL may be assigned the value of COLMAX/4. BRCL may be chosen so that a complete baseline value revision occurs after 2 seconds of stabilized SSVs in the INVALID RESPONSE state. The preselected values of BRC which lead to a branch to reserve value drift compensation from step 2.2 in the process of Figure 9 m8y be chosen as 1, 2, 4, 8, up up to BRCL. In an alternative preferred embodiment, the touch element array 10 is adapted so that instead of the touch elements respectively serving as keys of a keyboard, the touch elements are dimensioned and disposed so that an operator firmly touching an interior touch element of the array with his finger necessarily touches a plurality of touch elements simultaneously. In this alternative embodiment the microprocessor 15 is programmed to respond to the sense signal values produced upon a plurality of the touch elements being touched simultaneously so as to provide an output indication of the coordinate position on the touch element array 10 that is touched by the operator. The indication of the position of finger touch may be used in a variety of control situations, such as, for example, selecting the cursor position on a cathode ray tube constituting the display portion of a computer terminal. In other applications, transparent conductive material may be used for the antenna lines and the touch elements and the touch element array may overlay the cathode tube. The touch element array of this alternative embodiment is shown in Figure 13, where it is seen that each touch element TE is connected to only a single antenna line A. All of the row antenna lines Al, .., are supported on one side of a thin dielectric substrate, and all of the column antenna lines A33, ... are supported on the opposite side of said substrate. Each touch element TE includes only one conductive tab 53. The center line-to-center line distance D between the row antenna lines Al, ... is 0.25 inch. The column antenna lines A33, ... are separated by the same distance. The touch elements are square in shape and extend from their respective antenna lines which traverse the touch elements diagonally. Each square has a diagonal dimension of 0.2 inch. The touch elements on one side of the substrate do not underlie the touch elements on the opposite side of the substrate. Instead, as shown in Figure 13, the touch elements on one side of the substrate are disposed symmetrically between the positions of the touch elements on the opposite side of the substrate. The touch element array of this alternative embodiment has the same basic monolithic construction as described above for the touch elements shown in Figure 4, except that the tabs 20 and 21 on opposite sides of the substrate 22 constitute separate touch elements in the embodiment of Figure 13. Also the protective film 25 ordinarily would not be backprinted with indicia to show the outline of each touch element. The use of the optional overlay 27 would be appropriate with this embodiment when it is desired to specify portions of the array as having particular significance. As in the first described preferred embodiment the entire touch array 10 in this alternative preferred embodiment is a part of a monolithic construction that also includes the drive line-to-antenna capacitors DLAC1-64 and the antenna-to-sense line capacitors ASLCl-64 as described above with reference to Figure 5. An alternative monolithic construction of the touch element array of Figure 13 in combination with the drive line-to-antenna capacitors DLAC1-64 and the antenna-tosense line capacitors ASLC1-64 is shown in Figures 14 and 15. Referring to Figure 14, a row antenna line 54 of the array of row antenna lines A1-32 is supported by the top side of a first thin dielectric Mylar film substrate 55; and a column antenna line 56 of the array of column antenna lines A33-64 is supported by the bottom side of the first substrate 55. The drive lines and sense lines are supported by opposite sides of a second thin dielectric Mylar film substrate 57. In the representative crosssectional view of Figure 14, a line 58 of either the array of row drive lines DL1-4 or the array of sense lines SL1-8 is supported by the top side of the second substrate 57; and a line 59 of either the array of column drive lines DL5-8 or the array of sense lines SL1-8 is supported by the bottom side of the second substrate 57. A third thin dielectric Mylar film substrate 60 separates the first substrate 55 and the second substrate 57. Each of these three substrates is approximately 0.001 inch thick. Figures 15A, 15B, 15C and 15D show the respective layers of the arrays containing the lines 54, 56, 58 and 59 shown in Figure 14. The registration marks in these figures indicate the alignment of the respective layers. The top layer, shown in Figure 15A, contains the array of row antenna lines A1-32. The next layer, shown in Figure 15B, contains the array of column antenna lines A33-64. The following layer, shown in Figure 15C, contains the array of row drive lines DL1-4 and portions of the array of sense lines SL1-8. The bottom layer, shown in Figure 15D, contains the array of column drive lines DL5-8 and portions of the array of sense lines SL1-8. When these four layers are aligned as indicated by their registration marks, each of the row antenna lines A1-32 is capacitively coupled primarily to one of the row drive lines DL1-4 and to one of the sense lines SL1-8; and each of the column antenna lines A33-64 is capacitively coupled primarily to one of the column drive lines DL5-8 and to one of the sense lines sLl- 8. Referring again to Figure 14, the second substrate 57 is supported by a nonconductive mechanical support layer 61, which is covered on its bottom side by a grounded thin conductive, electrically shielding layer 62. The touch element array further includes a protective 0.005 inch Lexan plastic film layer 63 covering the top unsupported side of the first substrate 55. Optionally the touch element array may also include a paper overlay layer 64 having various indicia and/or patterns thereon to particularly indicate specific portions of the array. Referring again to Figure 10, the microprocessor program for this alternative embodiment necessarily is modified in steps 4.3 and 4.6 to accommodate the fact that more than one touch element connected to the row antenna lines A1-32 and more than one touch element connected to the column antenna lines A33-64 may be touched during a valid touch. The program can be modified to exempt from the tolerance test the sense signal value variations (SSVV) derived from the two antenna lines on either side of the respective antenna lines from which ROW MAX and COLMAX are derived. The principle modification of the microprocessor program is described with reference to Figure 16, which illustrates a flow chart for an interpolation process for calculating an x-coordinate and a y-coordinate for finger touch position. In this process it is convenient to redesignate each of the sense signal value variations SSVV1-32 as two parts, a positive part and a negative part. In this way 64 variables called antenna referred variation values and denoted ARVV1-64 are obtained from the 32 sense signal value variations SSVV1-32. The two of ARVV164 associated with each of SSVV1-32 are obtained by consulting TABLE 3 with the obvious interpretation in the present context. For example, the positive and negative parts of SSVV21 are assigned to ARVV49 and ARVVS1 respectively upon consulting TABLE 3. Referring to Figure 16, the interpolation routine for estimating the y coordinate of operator finger touch position from ARVV1-32 is set forth in step 5.2.1 through 5.2.3, and the interpolation process for estimating the x coordinate of operator touch position from ARVV33-64 is set forth in steps 5.2.4 through 5.2.6. These steps are to be considered as an expansion in this preferred embodiment of step 5.2 of the process covered by the flow chart of Figure 10 for the first described preferred embodiment. These interpolation processes produce x and y coordinates which indicate the position of operator finger touch. Each coordinate is a number between 1 and 125. In step 5.2.1 the variable k is assigned the number of the maximum of ARVV1-32; the variable j is assigned the value of k-l; and the variable m is assigned the value of k+l. For convenience, in step 5.2.2 a variable called ARVV0 is assigned the value 0 and ARVV33 is temporarily assigned the value 0. Next, variables PREMAX, MAX, and POSTMAX are assigned the respective values ARVVj, ARVVk, and ARVVm. Following this, the value of ARVV33 is restored to the value of the positive part of SSVV17. Next, in step 5.2.3 the variable Y-COORDINATE is calculated from the elementary interpolation formula: Y = 4 [k +f(POSTMAX - PREMAX) (MAX +ipOSTMAX - PREMAX())]-3 (Eq. 1) Y is rounded down to the nearest integer. It is evident that the term POSTMAX-PREMAX appearing in the interpolation formula is never greater than MAX and thus that the term (POSTMAX-PREMAX)/(MAX + |POSTMAX - PREMAX ) which is added to k always lies between minus 1/2 and plus 1/2. The correspondence of the calculated ycoordinate and the actual finger touch position will be clear on inspection of step 5.2.3. Next, in steps 5.2.4 through 5.2.6 the interpolation routine of steps 5.2.1 through 5.2.3 is repeated with obvious modifications to calculate the variable X-COORDINATE. In step 5.2.7 additional processing of VALID TOUCH by methods well known to those versed in the art are indicated. A further modification of the microprocessor program for this alternative embodiment is to exempt from the tolerance test of steps 4.3 and 4.6 described in relation to the flow chart of Figure 10, the antenna referred variation values (ARVV) derived from the two adjacent antenna lines on each side of the antenna line associated with the maximum ARVV. In this alternative embodiment the ARVVs correspond to the SSVVs in Figure 10. The remaining features of the embodiment of Figure 1 are likewise applicable to this alternative preferred embodiment. There are several changes that can be made in the foregoing described preferred embodiments within the scope of the present invention. For example, in the embodiment of Figure 2, there are eight drive lines DLl-8 and eight sense lines SL1-8 leading to the matrix of T-bridge connections formed at each touch element TE. It is apparent that by suitable analog switching, a line could serve as a drive line at one time and as a sense line at another time. In particular, a 2-of-N coding scheme for the antenna lines could be used in which there are N combined drive and sense lines and (N(N-1))/2 antenna lines with each antenna line forming a T-bridge connection between a unique pair of the combined drive and sense lines. This 2-of-N encoding scheme is well known to those versed in the art. As shown in Figure 5, each touch element includes conductive tabs 20 and 21 extending respectively from a row antenna line A1-32 and a column antenna line A33-64. This encoding principle clearly could be extended so that the antenna lines could be divided into three or more groups and that finger contact with a touch element would result in an increase in the variable capacitance to ground of an antenna line from each of the three or more groups. In Figure 4r a cross-sectional view of a touch element is shown. It is apparent that, in areas other than under the tabs 20 and 21, the thin film substrate 22 need not remain close to the surface of the touch element and could be covered by some of the supporting layer 23. In some applications this might be desired as a device to protect portions of the antenna lines not underlying the tabs 20, 21 from being affected by touch. The drive signal patterns shown in Figure 6 illustrate a technique of achieving a balancing of drive signals by the simultaneous use of drive signals DS and inverted drive signals IDS on a pair of drive lines. It is apparent that other means of balancing could be found which avoid placing a drive signal on more than one drive line at a time and thus avoid having a simultaneous increase in the variable capacitance to ground (VCG) of two antenna lines go undetected such as the simultaneous increase in the VCG of antenna lines Al and A3 as is apparent upon referring to Table 3. A technique for determining whether a sensed variation in the capacitance between an antenna line and circuit ground is due to the onset or the cessation of touching a touch element by an operator is described with reference to Figures 17-19. According to this technique the drive signals are provided on the drive lines DL1-8 by the drive signal generator 17 (Figure 1) in a repetitive sequence of six different drive signal patterns DSP1, DSP2, DSP3, DSP4, DSP5 and DSP6, as shown in Figure 17. During DSP1, a drive signal DS is provided on drive line DL1 and an inverted drive signal IDS is provided on drive line DL3. TABLE 4 shows the association of the drive signals DS, the inverted drive signals IDS and the drive lines DL during the six different drive signal patterns DSP. TABLE 4 DSP1 DSP2 DSP3 DSP4 DSP5 DSP6 LINE RECEIVING DS DL1 DL2 DL1 DL5 DL6 DL5 LINE RECEIVING IDS DL3 DL4 DL4 DL7 DL8 DL8 Location of DS and IDS on DL1-8 during DSP1-6 Referring again to Figure 17, it is seen that during each drive signal pattern, the paired drive signal DS and inverted drive signal IDS are synchronous with each other, of approximately the same value and of opposing polarities. During each cycle of drive signal patterns DSPl-6, a plurality of the drive signal packets, DS, IDS are applied sequentially on some of the drive lines and are paired synchronously with the drive signal packets of opposite polarity IDS, DS on different ones of the other drive lines. For example, drive signal packets DS are applied on drive line DL1 during sequential drive signal patterns DSP1 and DSP3 and are paired synchronously with inverted drive signals on drive lines DL3 and DL4 during drive signal patterns DSP1 and DSP3 respectively. Over the course of the six different drive signal patterns during each repetitive sequence, a total of fortyeight different sense signal values SSV are derived from the eight sense lines SLI-8 and provided on lines 46 to the microprocessor 15. Table 5 shows the sign under the sign convention of Table 3 of the variation of the respective sense signal values SSV associated with the different antenna lines A that is due to the onset of an operator touching a touch element connected to the respective antenna lines. The SSV number is a processing sequence identification number and not the value of the sense signal. TABLE 5 ROW COLUMN A SSV SIGN A SSV SIGN A SSV SIGN A SSV SIGN 1 1,17 + 17 5,21 + 33 25,41 + 49 29,45 + 2 9 + 18 13 + 34 33 + 50 37 + 3 1 - 19 5 - 35 25 - 51 29 4 9,17 - 20 13,21 - 36 33,41 - 52 37,45 5 2,18 + 21 6,22 + 37 26,42 + 53 30,46 + 6 10 + 22 14 + 38 34 + 54 38 + 7 2 - 23 6 - 39 26 - 55 30 8 10,18 - 24 14,22 - 40 34,42 - 56 38,46 9 3, 19 + 25 7,23 + 41 27,43 + 57 31,47 + 10 11 + 26 15 + 42 35 + 58 39 + 11 3 - 27 7 - 43 27 - 59 31 12 11,19 - 28 15,23 - 44 35,43 - 60 39,47 13 4,20 + 29 8,24 + 45 28,44 + 61 32,48 + 14 12 + 30 16 + 46 36 + 62 40 + 15 4 - 31 8 - 47 28 - 63 32 16 12,20 - 32 16,24 - 48 36,44 - 64 40,48 For example, at the onset of the touch element connected to row antenna line Al and column antenna line A48 being touched by an operator there is a positive change in both sense signal values SSV1 and SSV17 and there is a negative change in both sense signal values SSV36 and SSV44. It will be appreciated upon inspection of Table 5 that the change in sense signal values SSV1-48 brought about by the cessation of operator touch of a single touch element is distinct from the change brought about by the onset of operator touch. For example, the cessation of operator touch of a touch element associated with antenna line A5 produces opposite changes to those shown in Table 5. Thus there are significant negative changes produced in sense signal values SSV2 and SSV18. These negative changes are seen to uniquely indicate a cessation of operator touch of a touch element associated with antenna line A5. These changes are not those that occur with the onset of touch of a touch element associated with antenna line A8 because the required negative change in sense signal value SSV10 is not present. Also these changes are not those that occur with the onset of touch of a touch element associated with antenna line A7 since in that case a significant negative change in sense signal value SSV18 is not present. The microprocessor 15 is programmed to process the sense signal values SSV1-48 on line 43 iteratively to ascertain the signs and values of the variations (SSVV) in the sense signal values (SSV) and to process the sense signal variation values (SSVV) to determine whether such variation resulted from a touch element being touched by an operator. The flow charts for this program are shown in Figures 7, 18 and 19. The steps described above in relation to Figure 7 for the first-described embodiment are also applicable to this program except, that in step 2 a scan of the touch element array 10 is carried out iteratively with the production of sense signal values SSV1-48 as the program input. Significant program differences are shown in the flow charts of Figures 18 and 19. The step-numbering system in Figures 18 and 19 agrees in the first digit with that of Figure 7. In the flow chart of Figure 18, step 1.1 consists of initializing accumulated difference values AD1-48 to zero and a stability count SC to zero. Sense signal values SSV1-48 are input in step 2.1. Next, in step 2.2 the sense signal variation value (SSVV) is calculated for each 1 < k < 48 and is added to ADk. The previous sense signal value (SSVk) is then discarded and the current sense signal value of SSVk is saved. In step 2.3 a stability count SC is incremented if the magnitude of each SSVVk is found to be less than a predetermined stability bound SB for 1 µ k < 48. Next, in step 2.4 the stability count SC is compared to a predetermined count limit SCL. If there is equality there is a branch to step 2.5 where the accumulated difference values AD1-48 and the stability count SC are reset to zero. Otherwise there is a branch to step 3.1. In step 3.1, if the magnitude of each accumulated difference value AD1-48 is found to be smaller than a predetermined accumulated difference bound ADB, the touch element array is judged to be in the UNTOUCHED state and there is a branch to step 6, otherwise there is a branch to step 4. To summarize the function of the program shown in the flow chart of Figure 18, during each iteration (which corresponds to a sequence in which the drive signal pattern cycle DSP1-6 is repeated for each of the sense lines SL18), the current sense signal values SSV1-48 are compared with the respective sense signal values during the previous iteration to determine sense signal variation values SSVVl- 48. The sense signal variation values are added to the respective accumulated difference values AD1-48 for each sense signal; and each of the accumulated difference values AD1-48 is compared to a predetermined accumulated difference bound ADB to determine whether the UNTOUCHED state is present. The accumulated difference values AD1-48 are reset to an initial value of zero when each of the sense signal variation values SSVV1-48 remain less than a predetermined stability bound SB over a predetermined number of iterations SCL. Each of the sense signal variation values SSVVl-48 is compared to SB; and the stability count SC is incremented in response to each set of sense signal values SSV1-48 for which none of the sense signal variation values SSVV1-48 exceeds the predetermined stability bound SB. The accumulated difference values AD148 and the stability count SC are reset to an initial value of zero when the stability count SC reaches the predetermined count limit SCL. Referring next to Figure 19, in the course of processing the accumulated differences AD1-48 the microprocessor 15 determines (a) ROWMAX1, the maximum magnitude of the accumulated differences AD1-24 which are the differences derived from the row antenna lines All32; (b) ROWMAX2, the second largest magnitude of AD1-24; (c) TOLl, a tolerance value which is a predetermined fraction of ROWMAXI; and (d) THEIR2, a predetermined fraction of ROWMAX1 which serves as a threshold value for ROWMAX2. The microprocessor 15 further determines (e) COLMAX1, the maximum magnitude of the accumulated differences AD25-48 which are the differences derived from the column antenna lines A33-64; (f) COLMAX2, the second largest magnitude of AD25-48; (g) TOL2, a tolerance value which is a predetermined fraction of COLMAX1; and (h) THR4, a predetermined fraction of COLMAX1 which serves as a threshold value for COLMAX2. A valid touch onset is judged to be present when separate determinations relating to row antennas A1-32 and to column antennas A33-64 are affirmative. Determinations related to row antennas A1-32 are that (i) ROWMAX1 must exceed a predetermined threshold value THRl; (j) if ROWMAX1 is derived from a row antenna line to which two drive signal packets are applied during each repetitive sequence of drive signal patterns DSP1-6, then ROWMAX2 must exceed the threshold THR2; (k) all magnitudes of the accumulated differences AD1-24 other than ROWMAXl, and when applicable ROWMAX2, must be less than TOL1; and (1) the specific one of AD1-24 giving rise to ROWMAXl, and when applicable the specific one of AD1-24 giving rise to ROWMAX2, must indicate, on consulting Table 5 (which is stored in the memory of the microprocessor 15), an appropriate response as concerns row antennas to the onset of touch of a single touch element. Determinations related to column antennas A33-64 are that (m) COLMAX1 must exceed a predetermined threshold value THR3; (n) if COLMAX1 is derived from a column antenna line to which two drive signal packets are applied during each repetitive sequence of drive signal patterns DSP1-6, then COLMAX2 must exceed the threshold THR4; (o) all magnitudes of the accumulated differences AD25-48 other than COLMaX1, and when applicable COLMAX2, must be less than TOL2; and (p) the specific one of AD25-48 giving rise to COLMAXl, and when applicable the specific one of AD25-48 giving rise to COLMAX2, must indicate, on consulting Table 5, an appropriate response as concerns column antennas to the onset of touch of a single touch element. All of such of the eight immediately preceding recited determinations (i) - (p) that are applicable being affirmative indicates the onset of only a single one of the touch elements being touched instantaneously by an operator. Tests for a valid touch response are carried out in steps 4.1 through 4.14, as shown in the flow chart of Figure 19. In step 4.1 ROWMAX1 is compared to the first predetermined threshold value THR1. If ROWMAX1 exceeds THRI there is a branch to step 4.2 where the tolerance value TOLl is set to some fixed fraction of the value of ROWMAX1. Next, in step 4.3 if it is determined that ROWMAXI is derived from a row antenna line to which two drive signal packets are applied during each repetitive sequence of drive signal patterns DSPl-6, whereby a valid touch response requires that the second largest magnitude of the accumulated difference values ADl-24, ROWMAX2, be over the threshold value THR2, there is a branch to step 4.5. Otherwise there is a branch to step 4.4 where each of the accumulated difference values AD1-24 other than the one chosen as ROWMAX1 is compared to the tolerance value TOL1. If none of these values exceeds TOLl then the program branches to step 4.7. In step 4.5 ROWMAX2 is compared to the threshold value THR2. If ROWMAX2 is found to be greater than THR2 there is a branch to step 4.6 where each of the accumulated difference values AD1-24 other than the ones chosen as ROWMAX1 and ROWMAX2 is compared to TOL1. If none of these values exceeds TOL1 there is a branch to step 4.7 where the accumulated difference associated with ROWMAX1 and when applicable the accumulated difference associated with ROWMAX2 are checked using the information in Table 5. If the result is found to be valid, then a VALID ROW TOUCH is judged to be present and the program branches to step 4.8. In step 4.8, the variable COLMAX1 is compared to the threshold value THR3. If COLMAX1 exceeds THR3 then TOL2 is calculated as a fixed fraction of COLMAX1 in step 4.9. In step 4.10, if it is determined that COLMAX1 is derived from a column antenna line to which two drive signal packets are applied during each repetitive sequence of drive signal patterns DSP1-6, whereby a valid touch response requires that the second largest of the accumulated difference values AD25-48, COLMAX2, be over the threshold value THR2, there is a branch to step 4.12. Otherwise there is a branch to step 4.11 where each of the accumulated difference values AD25-48 other than the one chosen as COLMAX1 is compared to the tolerance value TOL2. If none of these values exceeds TOL2, then the program branches to step 4.14. In step 4.12, COLMAX2 is compared to the threshold value THR4. If COLMAX2 is found to be greater than THR4, there is a branch to step 4.13 where each of the accumulated difference values AD25-48 other than the ones chosen as COLMAX1 and COLMAX2 is compared to TOL2. If none of these values exceeds TOL2, there is a branch to step 4.14 where the accumulated difference associated with COLMAX1 and when applicable the accumulated difference associated with COLMAX2 are checked using the information in TableS. If the result is found to bevalid,then the tests for a VALID TOUCH have been passed and there is an exit to step 5.1. Failing any of the tests of steps 4.1, 4.4, 4.5, 4.6, 4.7, 4.8, 4.11, 4.12, 4.13, or 4.14 causes a branch to step 7 where an INVALID RESPONSE is processed. In step 5.1 processing of a VALID TOUCH response is carried out including the appropriate encoding of the touched touch element by row number and by column number which numbers may be calculated using the information in Table 5. As an example of program parameter choices, suppose that accumulated difference (AD) values of over 16 units are reliably produced by operator touch under typical operating conditions. THR1 and THR3 may be set equal to 8. SCL may be chosen so that the accumulated differences AD are reset to 0 after 0.5 seconds of stable operation. In step 4.2 TOL1 may be assigned the value of ROWMAX1/4 and step 4.9 TOL2 may be assigned the value of COLMAX1/4. In step 4.5 THR2 may be assigned the value of ROWMAX1/2 and in step 4.12 THR4 may be assigned the value of COLMAX1/2. It is thus a feature of this program that the accumulated difference values AD1-48 may be reset to zero when operator touch of a touch element is present for an extended dwell time without danger of misinterpretation of the subsequent accumulated difference values ADl-48 that occur when operator touch is removed from the touch element. This is in contrast to the situation described above in conjunction with the first-described preferred embodiment discussed in relation to Figures 6-12, where resetting baseline values (BV) during touch is prohibited since misinterpretation of the cessation of touch would then occur. Except for the differences discussed above in the description of the preferred embodiment of Figures 17-19, this preferred embodiment (Figures 17-19) is constructed and functions in the same manner as the preferred embodiment first described above in relation to Figures 112.

Claims: CLAIMS 1. A capacitance-variation-sellsitive touch sensing array system comprising an array of antenna lines; an array of touch elements, with each touch element being coupled to a plurality of antenna lines of the antenna line array to vary the capacitance between each of the coupled antenna lines and ground upon the touch element coupled thereto being touched by an operator; an array of drive lines coupled to the antenna lines; drive means for applying drive signals to the drive lines to drive the antenna lines coupled thereto; an array of sense lines coupled to the antenna lines to derive sense signals from the antenna lines when drive signals are applied to the drive lines; means coupled to the sense lines for sensing the sense signals on the respective sense lines; and means coupled to the sensing means for processing the sense signals to provide information associated with any particular touch element that is touched by an operator. 2. A system according to Claim 1, wherein each antenna line is coupled to only one drive line and to only one sense line; wherein each of the drive lines is coupled to a plurality of antenna lines; wherein each of the sense lines is coupled to a plurality of antenna lines; wherein no given drive line and sense line pair is connected to more than one antenna in common; and wherein the drive means are adapted for repetitively applying a sequence of drive signals having different predetermined characteristics to the different drive lines to cause differently characterized sense signals to be derived on a sense line coupled to a pluarlity of different antenna lines. 3. A system according to Claim 2, wherein the the drive signals are alternating signal packets that differ from each other by being nonsynchronous and/or by being of opposinq polarities if synchronous with each other. 4. A system according to Claim 3 wherein the different drive signals in combination include nonsynchronous sets of pulsed signal packet pairS, with the paired signal packets in each set being synchronous with each other, of approximately the same value, and of opposing polarities to thereby cause the amplitude of the sense signals derived in response to said synchronous pairs of drive signal packets to be low in relation to the variation in the amplitude of said sense signals resulting from the touch elements being touched by an operator. 5. A system according to Claim 1, wherein thf antenna lines s 'rraMed in rows aood columns; and wherein each touch element is coupled to one row antenna line and to one column antenna line. 6. A system according to Claim 1, wherein a first portion of the antenna array is supported by one side of a thin dielectric substrate and a secc,iid portion of the antenna array is supported by the opposite side of the thin dielectric substrate; and wherein the touch elements individually include a first tab supported by the one side of the substrate and extending from an antenna line of the first portion of the array; and a second tab supported by the opposite side of the substrate and extending from an antenna line of the second portion of the array adjacent to the position underlying the first tab so that the capacitance between both antenna lines and ground is varied when the touch element is touched by an operator in the proximity of both tabs. 7. A capacitance-variation-sensitive touch sensing array system comprising an array of antenna lines; an array of touch elements, with each touch element being coupled to an antenna line of the antenna line array to vary the capacitance between the coupled antenna line and ground upon the touch olement coupled thereto being touched by an operator, and with the touch elements being dimensioned and disposed so that an operator firmly touching an interior touch element of the array with his finger necessarily touches a plurality of touch elements simultaneously; an array of drive lines coupled to the antenna lines; drive means for applying drive signals to the drive lines to drive the antenna lines coupled thereto; ; an array of sense lines coupled to the antenna lines to derive sense signals from the antenna lines when drive signals are applied to the drive lines; means coupled to the sense lines for sensing sense signals on the respective sense lines; and means coupled to the sensing means for processing the sense signals to provide an estimate of the location of operator touch. 8. A capacitance-variation-actuated touch sensing array system comprising an array of touch elements; drive means for applying drive signals to the touch elements; an array of sense lines coupled to the touch elements to derive sense signals from the touch elements when drive signals are applied to the touch elements; means coupled to the sense lines for sensing the sense signals on the respective sense lines, with the amplitudes of the respective sense signals being dependent upon whether the capacitance between the respective driven to element and circuit ground is varied by an operator touching said touch element; and means coupled to the sensing means for processing the sense signals to provide inFormation associated with any particular touch element that- is touched by an opelatel-, wherein the processing means comprise means for providing sense signal values in accordance wit the amplitudes of the respective sense signals; means for processing the sense signal values iteratively to ascertain the values of variations in the sense signal values and for processing the variation values to determine whether any said variation resulted from a touch element being touched by an operator. 9. A system according to Claim 8, wherein the p?-'essing means are adapted for processing the variation values to determine whether any said variation resulted from only a single one of the touch elements being touched instantaneous- ]y by an operator. 10. A system according to Claim 8, wherein the processing means comprise means for processing the sense signal values iteratively by comparing the sense signal values with baseline values derived from sense signal values provided when the touch element array is untouched by an operator to determine which one of three states is present, the first of said three states being an untouched states, the second of said three states being a valid touch state in which a valid touch by an operator is present, and the third of said three states being an invalid response state which occurs when neit}ler said first state or said second state is present; and wherein the processing means are adapted to revise the baseline values in response to sensed variations in the sensed signal values which are stable over a predetermined number of iterations and which indicate the invalid response state of the touch element array.

Inventors: EVANS, JOHN W.
Applicants: INTEGRATED TOUCH ARRAYS, INC.
Application year: 1984
Main classification: H03K17
IPC codes: H03K17, G06F3