Digitizer input device

Abstract: A handwriting capture system includes a segmented digitizer and circuitry which processes handwriting information entered into the segmented digitizer, a controller (14) which determines position coordinates associated with the handwriting information, a memory (16) coupled to the controller which stores position coordinates, and circuitry (13) coupled between the controller (14) and the segmented digitizer (12) which drives and calibrates the segmented digitizer (12). The system also includes a host computer system (24) coupled to the controller (14) through an interface (22) so that the controller (14) can upload positional coordinates to the host system (24).

Description: This invention relates to digitizer input services. The invention also relates to a method of operating a digitizer input device. An example of a commercially available digitizer is the Bradytouch four-wire membrane digitizer panel from Dynapro Thin Films Division of Milwaukee, Wisconson. Another example of a commercially available digitizer is the AccuTouch five-wire membrane digitizer panel from Elographics of Oak Ridge, Tennessee. Such membrane digitizers are ideal in applications that require sensitivity to both stylus and finger, low cost, and a passive stylus. "Passive stylus" is the one which has no electronics or moving parts. Unfortunately, conventional membrane digitizers also have several drawbacks. Chief among them is its lack of "hand rejection", which is the ability to ignore a user's hand while the user is writing with a stylus. Touching the digitizer with a finger while writing with a stylus yields unpredictable digitizer data. US-A-4 638 118, which represents the basis for the preambles of claims 1 and 6, discloses a digitizer where the different segments of the touch surface are scanned simultaneously to allow rapid determination of the co-ordinates of writing stimuli. Patent Abstracts of Japan vol. 016, no. 532 (P-1448), 30 October 1992 & JP 04 199416 A (SHARP CORP), 20 July 1992 and Patent Abstracts Of Japan vol. 016, no. 268 (P-1372), 17 June 1992 & JP 04 068392 A (TOSHIBA CORP), 4 March 1992, disclose image display devices where a touch pen input is distinguished from a finger input by detecting the size of the touch area and the pressure applied at the touch position respectively. It is an object of the present invention to provide a digitizer input device and method of operating such a device which are largely immune finger or hand contact. Therefore according to one aspect of the present invention, there is provided a digitizer input device comprising: a plurality of segments for entering handwritten information and position determining means for determining the positional co-ordinates of actuation of one of said segments, characterized by resistance measurement means for determining the contact resistance Rc at the point of actuation; and means for determining an operation actuating status of said digitizer input device. According to another aspect of the present invention, there is provided a method of operating a digitizer input device including a plurality of segments comprising the steps of determining the positional co-ordinates of actuation of one of said segments, characterized by measuring the contact resistance Rc at the point of actuation; and determining an actuating status of operation of said digitizer input device. Two embodiments of the invention will now be described by way of example with reference to the accompanying drawings, in which:- Fig. 1 is a block diagram of the handwriting capture system of the present invention; Figs 2A and 2B are a schematic diagram of the system of Fig. 1; Fig. 3 is a cross-sectional view of the segmented digitizer of Figs. 2A, 2B, 11A, and 11B; Fig. 4 is a bottom view of the top layer of the segmented digitizer of Fig. 2; Fig. 5 is a top view of the bottom layer of the segmented digitizer of Fig. 2; Fig. 6 is a flow diagram of a method for determining the co-ordinates of a point of contact on the surface of the segmented digitizer; Fig. 7 is a flow diagram of a method for initializing and calibrating the segmented digitizer; Fig. 8 is a flow diagram of a method for determining contact position; Fig. 9 is a flow diagram of a method for determining contact resistance; Fig. 10 is a flow diagram of a method for determining pen status; Figs. 11A and 11B are a schematic diagram of a second embodiment of the system of Fig. 1; Fig. 12 is a bottom view of the top layer of the segmented digitizer of Fig. 11A and 11B; Fig. 13 is a top view of the bottom layer of the segmented digitizer of Figs. 11A and 11B; Fig. 14 is a flow diagram of a method for determining the coordinates of a point of contact on the surface of the segmented digitizer in Figs. 11A and 11B; Fig. 15 is a flow diagram of a method for initializing and calibrating the segmented digitizer in Figs. 11A and 11B; Fig. 16 is a flow diagram of a method for determining contact position in Figs. 11A and 11B; Fig. 17 is a flow diagram of a method for determining contact resistance in Figs. 11A and 11B; Fig. 18 is a flow diagram of a method for determining pen status in Figs. 11A and 11B; and Fig. 19 is a schematic diagram illustrating how contact resistance is measured in the second embodiment of the system of Fig. 1. Referring now to Fig. 1, handwriting capture system 10 primarily includes segmented digitizer 12, analog processing circuitry 13, controller 14, and memory 16. System 10 may also include drive circuitry 20, interface 22, and host system 24. Segmented digitizer 12 provides a writing surface for producing analog signals in response to pressure applied by a stylus or other writing instrument. Preferably, segmented digitizer 12 is a four-wire resistive membrane digitizer having six segments, although other types of digitizers and numbers of segments are also envisioned by the present invention. Analog processing circuitry 13 converts analog signals from each of the segments of segmented digitizer 12 into digital numbers. Controller 14 converts the digital numbers into digital coordinates representative of the points on segmented digitizer 12 at which pressure has been applied. Memory 16 stores several predetermined variables in a memory while controller 14 is determining digitized position. Drive circuitry 20 energizes digitizer 12 and provides a mapping function between real and digitized position coordinates to minimize differences caused by offset, scale, skew, and distortion. System 10 may also include drive circuitry 20, interface 22, and host system 24. Interface 22 provides a link between host system 24 and controller 14 for downloading handwriting information, such as signature information, and for uploading information, such as verification information. Preferably, interface 22 is an RS232 standard interface. Host system 24 may be any personal computer, retail terminal, or network. Turning now to Figs. 2A and 2B, the system of Fig. 1 is shown in more detail. Analog processing circuitry 13 preferably includes multiplexer 26 and analog-to-digital (A/D) converter 28. Multiplexer 26 multiplexes signals from each of the segments 27a-f of segmented digitizer 12 so that a single A/D converter 28 may be employed to reduce cost. Multiplexer 26 is preferably a standard digitally controlled, single pole, ten throw analog switch. A/D converter 28 converts the analog signals from each of the segments into digital numbers. A/D converter 28 may be part of the same integrated circuit chip containing controller 14. Controller 14 also provides a switching function for multiplexer 26 and controls operation of A/D converter 28 and drive circuitry 20. Controller 14 may be a 80198 microcontroller available from the Intel Corporation of Santa Clara, California. Drive circuitry 20 includes analog switches 32-54, which apply either a voltage source 56, constant current source 58, or electrical ground 60 to various combinations of digitizer segments 27a-f in accordance with instructions from controller 14. Analog switches 32-54 are standard single pole, single throw, digitally controlled analog switches. Controller 14 reads the voltages at voltage sense points 74 through 92 through multiplexer 26 and A/D converter 28. Voltage sense points 74-92 provide an accurate reading of the voltages on segments 27a-f directly below their respective electrodes so that touch positions may be more accurately determined. Conventional four wire membrane systems measure the voltage at each electrode. However, there is typically a substantial resistance along the electrode itself as well as between the electrode and the ITO coating. This resistance creates a voltage drop whenever the measured electrode carries current. This voltage drop introduces errors. The dedicated voltage sense points 74-92 bypass this voltage drop by reading the voltage directly at the ITO coating. The conventional method of measuring the voltage at each electrode could also be employed with decreased accuracy. Analog processing circuitry 13 also includes filters 94-112, which remove any electrical noise that might be present at voltage sense points 74-92 and multiplexer 26. Filters 94-112 may be standard first order filters. Turning now to Figs. 3-5, segmented digitizer 12 is shown as a segmented four wire membrane digitizer, although other geometries are also envisioned by the present invention. Digitizer 12 includes several layers of polyester and adhesive attached to a rigid substrate. Conductors are silk-screened with silver ink, while the various surfaces of digitizer 12 is are coated with indium tin oxide (ITO), a transparent conductor. Digitizer 12 connects to other components of circuit 10 via a flat flex connector tail 114 (Figs. 4 and 5). With reference to Fig. 3, polyester top layer 116 includes an ITO coating on bottom surface 118. Top surface 120 of bottom layer 122 also includes an ITO coating. Spacer dots 124 keep the ITO coatings on surfaces 118 and 120 from making electrical contact with each other until a user writes on or touches top layer 116. The amount of pressure required to make electrical contact increases as the distance between spacer dots 124 decreases. Spacer dots 124 are typically silk-screened epoxy paint. Adhesive layer 126 connects bottom layer 122 to substrate 128. Substrate 128 is typically glass. With reference to Fig. 4, top layer 116 includes vertical ITO strips 130-134. Electrode pair 136 and 138 and voltage sense points 140 and 142 couple to ITO strip 130. Electrode pair 144 and 146 and voltage sense points 148 and 150 couple to ITO strip 132. Finally, electrode pair 152 and 160 and voltage sense points 156 and 158 couple to ITO strip 134. With reference to Fig. 5, bottom layer 122 is shown in more detail. Bottom layer 122 includes horizontal ITO strips 160 and 162 and associated electrode pairs 164 and 166, and 168 and 170. Voltage sense points 172 and 174 couple to ITO strip 160, while sense points 176 and 178 couple to ITO strip 162. With reference again to Figs. 4 and 5, placement of top layer 116 over bottom layer 122 effectively creates six separate writing areas corresponding to segments 27a-f. In general, segmented digitizer 12 may include m vertical ITO strips and n horizontal ITO strips to yield a digitizer having the product m times n segments. Each of segments 27a-f of segmented digitizer 12 are individually decoded. They operate independently of each other. This enhancement over conventional unsegmented digitizers improves the digitizer's ability to detect handwritten data at the same time the user is touching with a hand or finger. It improves hand rejection and allows the digitizer to individually determine the positions of two or more objects touching the digitizer at the same time. Turning now to Fig. 6, a method for determining touch position is disclosed, beginning with START 180. In order to illustrate the general case of an m by n digitizer, the vertical ITO strips are labeled Y0, Y1, Y2,..., Ym, starting from the left side of digitizer 12. The horizontal ITO strips are labeled X0, X1,..., Xn, starting from the bottom side of digitizer 12. The left and bottom sides of each ITO strip are referred to as the "-" or "negative" sides, while the top and right sides of each ITO strip are referred to as the "+" or "positive" sides. Thus, in block 182 controller 14 performs a calibration and initialization step. Controller 14 then steps through each segment intersection of the digitizer and determines position, contact resistance, and pen status. It does this by first initializing count variable j to 0 in step 184. In step 186, controller 14 determines whether count variable j is less than horizontal constant n. If count variable j is not less than horizontal constant n, the procedure returns to step 184. Otherwise, the procedure continues to step 188 where controller 14 sets count variable i to zero. Controller 14 then determines whether count variable i is less than vertical constant m in step 190. If count variable i is not less than vertical constant m, then the procedure branches to step 202, where count variable j is incremented by one and the procedure continues at step 186. Otherwise, operation continues to step 192. In step 192, controller 14 measures position. In step 194, controller 14 measures contact resistance Rc at the point of actuation. Using contact resistance Rc and the positional data, controller 14 determines whether the writing instrument is up, down, or in a multipoint condition in step 196. In step 198, controller 14 outputs contact resistance Rc, pen status, and position to host system 24 via interface 22. Finally, controller 14 increments count variable i in step 200 and returns to step 190. Turning now to Fig. 7, the calibration and initialization step 182 from Fig. 6 is shown in more detail, beginning with START 204. Briefly, calibration means creating a mapping function between real world and digitized positional coordinates. Real world coordinates represent actual physical locations, while digitizer coordinates represent real world coordinates as measured by the digitizer. The calibration mapping function ideally corrects for four types of differences between real world and digitizer coordinate systems: offset, scale, skew, and distortion. Offset is caused by a misalignment of absolute origins between real world and digitizer coordinate systems, while scale is caused by different distances per coordinate count between the two coordinate systems. Skew is caused by an apparent rotation between the two coordinate systems, and distortion is caused by nonlinearities in the digitizer sampling function. Many different factors can cause these differences between coordinate systems: misalignment of the digitizer sensing elements with respect to their mechanical mounts, imperfections in the digitizer electronics, and nonlinearities in the digitizer panel ITO conductive coatings. Calibration is especially important in a segmented digitizer. Controller 14 individually calibrates each segment. If the calibration mapping function is not accurate from segment to segment, there will be an apparent discontinuity in the digitized positional coordinates when a stylus or finger crosses from one segment to another. Conventional calibration methods require manual intervention, either touching the digitizer at several calibration points or adjusting one or more potentiometers. This is labor intensive and subject to human error. Such methods often require nonvolatile memory to save factory calibration settings, and this adds cost and complexity. Also, digitizer characteristics can change with age, requiring periodic recalibration. The calibration mapping functions for the segmented four wire membrane digitizer are of the form: (1) x = m_x x' + b_x (2) y = m_y y' + b_y where x, y are corrected digitizer coordinates in real world coordinate units, x',y' are uncorrected digitizer coordinates, m_x, m_y are scale constants, and b_x, b_y are offset constants. Mapping functions (1) and (2) above are simplified forms of the equations presented in U.S. Patent No. 5,115,107. These simplified forms only correct for scale and offset errors. For the remainder of the calculations, the following definitions apply: x_max is the real world x-location of the positive end of ITO strip Xj, x_max' is the digitized x-location of the positive end of ITO strip Xj, y_max is the real world y-location of the positive end of ITO strip Yi, y_max' is the digitized y-location of the positive end of ITO strip Yi, x_min is the real world x-location of the negative end of ITO strip Xj, x_min' is the digitized x-location of the negative end of ITO strip Xj, y_min is the real world y-location of the negative end of ITO strip Yi, and y_min' is the digitized y-location of the negative end of ITO strip Yi. Substituting these quantities into the mapping equations, one obtains two sets of two simultaneous equations: (3) x_max = m_x x_max' + b_x (4) x_min = m_x x_min' + b_x (5) y_max = m_y y_max' + b_y (6) y_min = m_y y_min' + b_y Simultaneously solving equations 3, 4, 5, and 6, one can show that: (7) m_x = (x_max - x_min)/(x_max' - x_min') (8) b_x = x_max - m_x x_max' (9) m_y = (y_max - y_min)/(y_max' - y_min') (10) b_y = y_max - m_y y_max' Controller 14 uses equations 7, 8, 9, and 10 to calculate constants m_x, m_y, b_x, and b_y. The actual values of x_max, x_min, y_max, and y_min depend on the digitizer geometry and application. As an example, assume the distance between the positive and negative end electrodes of ITO strip Xj is 5" while the distance between the positive and negative end electrodes of ITO strip Yj is 4". Also assume the resulting coordinate values need to be in units of .005" starting at zero in the lower left hand corner of the digitizer. x_min and y_min would then be zero, while x_max would be 5"÷.005" = 1000 and y_max would be 4"÷.005" = 800. In the calibration procedure of Fig. 7, controller 14 automatically calibrates digitizer 12 for accuracy and also takes several baseline readings required to calculate contact resistance Rc in later steps of Fig. 6. Returning to Figure 7, controller 14 initializes the index variable j to zero in step 206. In step 208, controller 14 determines whether count variable j is less than horizontal constant n. If count variable j is less than horizontal constant n, controller 14 continues to step 210 where it energizes ITO strip Xj. This means applying voltage source 56 to the positive end of the segment and ground 60 to the negative end of the segment. For ITO strip X0 (ITO strip 162), controller 14 would do this by closing analog switches 48, 40, and 52 while leaving all other switches open. If count variable j is not less than horizontal constant n, then the method proceeds to step 224. In step 212, controller 14 measures the quantities x_max' and x_min' at the positive and negative ends of the energized ITO strip Xj. As an example, for ITO strip X0 (ITO strip 162), controller 14 selects voltage sense point 82 through multiplexer 26, reads x_max' from A/D converter 28, selects voltage sense point 90 through multiplexer 26, and then reads x_min' from A/D converter 28. In step 214, controller 14 calculates the scalar constant m_x[j] using equation (7) above. Scalar matrix m_x[] is an n-long array for storing the m_x scalar constants for each Xj elect:rode. Similarly, controller 14 calculates the offset constant b_x[j] in step 216 using equation (8) above. In step 218, controller 14 sets up to read voltage Vx[j] and then takes the actual reading in step 220. Controller 14 requires voltage Vx to calculate contact resistance Rc. To measure voltage Vx[j], controller 14 measures the voltage required to inject a constant current into the positive end of the segment Xj while grounding the negative end. For ITO strip X0 (ITO strip 162), controller 14 closes analog switches 40, 48, and 54 while leaving all other switches open. Controller 14 then selects voltage sense point 82 through multiplexer 26 and measures voltage Vx[0] at A/D converter 28. In step 222, controller 14 increments count variable j by one and then returns to step 208. Returning to step 208, if count variable j is not less than horizontal constant n, operation continues to step 224 where controller 14 sets count variable i to 0. In step 226, controller 14 determines whether count variable i is less than vertical constant m. If count variable i is less than vertical constant m, the procedure continues to step 230 where controller 14 energizes ITO strip Yi. For ITO strip Y0 (ITO strip 130) controller 14 closes analog switches 32, 46, and 52 while leaving all other switches open. In step 232, controller 14 measures the quantities y_max and y_min at the positive and negative ends respectively of the energized ITO strip Yi. For ITO strip Y0 (ITO strip 130), controller 14 selects voltage sense point 74 through multiplexer 26, reads y_max from A/D converter 28, selects voltage sense point 88 through multiplexer 26, and reads y_min from A/D converter 28. In step 234, controller 14 calculates the scalar constant m_y[i] using equation (9) above. Similarly, controller 14 calculates the offset constant b_y[i] in step 236 using equation (10) above. Controller 14 sets up to read voltage Vy[i] in step 238 and makes the actual reading in step 240. Controller 14 requires voltage Vy to calculate contact resistance Rc. To measure voltage Vy[i], controller 14 measures the voltage required to inject a constant current into the positive end of the segment Yi while grounding the negative end. For ITO strip Y0 (ITO strip 130), controller 14 closes analog switches 32, 46, and 54 while leaving all other switches open. Controller 14 then selects voltage sense point 74 through multiplexer 26 and measures voltage Vy[0] at A/D converter 28. In step 242, controller 14 increments count variable i by one and returns to step 226. At step 226 , if count variable i is not less than vertical constant m, controller 14 is finished initializing and calibrating and proceeds to step 184 of Fig. 6 via step 228. Turning now to Fig. 8, the "Measure X, Y" step 192 of Fig. 6 is explained in more detail, beginning with START 250. In step 252, controller 14 charges the ITO strip Yi by charging the digitizer as well as the low pass filters for segment Yi to voltage source 56. For Y0 (ITO strip 130), controller 14 closes switches 32 and 52 for a short period of time while leaving all other switches open. In step 254, controller 14 energizes segment Xj. In step 256, controller 14 waits for the opposite layer segment Yi to discharge to the positional voltage at the point of actuation. In step 258, controller 14 measures the temporary quantity x_pos at segment Yi. For Y0 (ITO strip 130), controller 14 selects voltage sense point 74 and measure x_pos at A/D converter 28. In step 260, controller 14 discharges segment Yi by discharging the digitizer as well as the low pass filter for ITO strip Yi. For Y0 (ITO strip 130), controller 14 closes switch 46 for a short period of time while leaving all other switches open. In step 262, controller 14 energizes ITO strip Xj. In step 264, controller 14 waits, just as in the previous step 256. In step 266, controller 14 measures x_neg in exactly the same way it measured x_pos in step 258. In step 268, controller 14 calculates position by applying the calibration mapping function (equation (1) above) to the average of x_pos and x_neg. The exact equation is x = m_x[j](x_pos + x_neg) ÷ 2 + b_x[j]. In step 270, controller 14 charges ITO strip Xj by connecting ITO strip Xj and associated low pass filters to voltage source 56. For ITO strip X0 (ITO strip 14), controller 14 closes switches 40 and 52 for a short period of time while leaving all other switches open. In step 272, controller 14 energizes segment Yi just as in step 230 of Fig. 7. Controller 14 waits for the opposite layer segment Xj to discharge to the positional voltage at the point of actuation in step 274. In step 276, controller 14 measures the temporary quantity y_pos at segment Xj. For ITO strip X0 (ITO strip 130), controller 14 selects voltage sense point 82 through multiplexer 26 and measures y_pos at A/D converter 28. In step 278, controller 14 discharges segment Xj to ground 60. For ITO strip X0 (ITO strip 68), controller 14 closes switch 48 for a short period of time while leaving all other switches open. Controller 14 then energizes segment Yi in step 280 and waits in step 282, just as in the previous steps 272 and 274. Controller 14 measures y_neg in step 284 in exactly the same way it measured y_pos in step 276. In step 286, controller 14 calculates position by applying the calibration mapping function (equation (2)) to the average of y_pos and y_neg using the equation y = m_y[i](y_pos + y_neg) ÷ 2 + b_y[i]. Finally, in step 288, the procedure ends by returning to step 194 of Fig. 6. Turning now to Fig. 9, the method of determining contact resistance Rc is discussed in detail, beginning with START 290. Contact resistance Rc is the resistance between the two conductive layers 118 and 120 at the point of actuation exclusive of the resistance of the layers themselves. In step 292, controller 14 sets up to measure V1 for the segment pair Xj, Yi. Controller 14 measures the voltage V1 required to drive a constant current into segment Xj, through the contact resistance Rc at the point of actuation, into ITO strip Yi, and back to ground 60. For the segment pair X0 (ITO strip 14), Y0 (ITO strip 130), controller 14 closes switches 32, 48, and 54 while leaving all other switches open. In step 294, controller 14 reads voltage V1 at the positive end of segment Xj. For segment pair X0 (ITO strip 14), Y0 (ITO strip 130), controller 14 reads voltage point 74 through multiplexer 26 and A/D converter 28. In step 296, controller 14 sets up to read voltage V2 for the segment pair Xj, Yi. Controller 14 measures the voltage required to drive a constant current into segment Yi, through the contact resistance Rc at the point of actuation, into segment Xj, and then into ground 60. For segment pair X0 (ITO strip 14), Y0 (ITO strip 130), controller 14 closes switches 40, 46, and 54 while leaving all other switches open. In step 298, controller 14 reads voltage V2 at the positive end of segment Yi. For segment pair X0 (ITO strip 14), Y0 (ITO strip 130), controller 14 selects voltage sense point 82 through multiplexer 26 and A/D converter 28. In step 300, controller 14 calculates contact resistance from the equation: Rc = V1 + V2 - Vx[j] - Vy[i]. In step 302, the procedure returns to step 196 of Fig. 6. Turning now to Fig. 10, the method of determining pen status is explained in detail, beginning with START 304. Controller 14 determines pen status according to a combination of Rc, x_pos, x_neg, y_pos, and y_neg. In step 306, controller 14 determines whether the absolute value of the difference between x_pos and x_neg is less than x_thresh, where x_thresh is a threshold constant typically on the order of four counts for a 10-bit A/D converter 28. If decision step 306 is not true, then the x coordinate is not stable and operation continues to step 308 where controller 14 sets the pen status to UP, meaning a stylus or finger is not contacting digitizer 12. After step 308, operation returns in step 310 to step 198 of Fig. 6. Returning to step 306, if the absolute value of x_pos minus x_neg is less than x_thresh, the procedure continues to step 312 where controller 14 determines whether the absolute value of y_pos minus y_neg is less than y_thresh. Again, y_thresh is a threshold constant typically on the order of four counts for a 10-bit A/D converter 28. If this is not true, the y coordinate is not stable and execution continues at step 308. Otherwise, execution continues to step 314 where controller 14 determines whether contact resistance Rc is less than threshold constant Rc_down. Threshold constant Rc_down is typically on the order of 90% of the full scale contact resistance Rc reading. If contact resistance Rc is not less than threshold constant Rc_down, then execution continues to step 308. Otherwise, execution continues to step 316 where controller 14 determines whether contact resistance Rc is less than threshold constant Rc_multipoint. Rc_multipoint is typically on the order of 10% of the full scale contact resistance Rc reading. If contact resistance Rc is less than threshold constant Rc_multipoint, then execution continues to step 318 where controller 14 sets the pen status to MULTIPOINT. This means that the user is touching digitizer 12 with a finger. Returning to step 316, if contact resistance Rc is not less than threshold constant Rc_multipoint, controller 14 sets the pen status to DOWN in step 320. This means that only the stylus is actuating digitizer 12. In either case 318 or 320, execution continues to step 310 where the procedure returns to step 198 of Fig. 6. Advantageously, system 10 and segmented digitizer 12 of the present invention solve the problems associated with conventional four wire membrane digitizers while adding the extra feature of multipoint detection. Multipoint detection means that segmented digitizer 12 can not only track a writing instrument, such as a stylus, while the user is touching with a finger, but can individually determine the positions of two or more objects touching digitizer 12 at the same time. This feature could be used to emulate a mouse button function in one area of the digitizer 12 while emulating a mouse position function in another area. Another benefit of segmented digitizer 12 is decreased power consumption. Dividing the digitizer into segments increases its effective resistance. The higher the resistance, the lower the current required to drive it, and the less power it consumes. Decreased power consumption is important in today's battery powered handwriting capture devices. Turning now to Figs. 11A and 1B, the second embodiment of the system of Fig. 1 is shown in more detail. The second embodiment is based upon a five-wire segmented digitizer. Differences between the four-wire system and the five-wire system are discussed below. Analog processing circuitry 13 preferably includes multiplexer 26, analog switches 402, 404, and 406, filter 400, and analog-to-digital (A/D) converter 28. Controller 14 reads the voltages at segments 408a-f through A/D converter 28. Multiplexer 26 multiplexes signals from segments 408a-f. A/D converter 28 converts the analog signals from each of segments 408a-f into digital numbers. Analog processing circuitry 13 also includes filter 400, which removes any electrical noise that might be present from segmented digitizer 12. Filter 400 may be a standard first order filter. Controller 14 may preset the initial conditions for filter 400 using analog switches 402-406. Drive circuitry 20 includes analog switches 410-424, which apply either voltage source 50, or electrical ground 60 to the corners 414-436 of electrode ring 438, in accordance with instructions from controller 14. Drive circuitry 20 also includes current source 427 and analog switch 425 for selectively applying current I to a given segment 408a-f through multiplexer 26. Analog switches 410-425 are standard single pole, single throw, digitally controlled analog switches. Referring now to now to Figs. 12 and 13, segmented digitizer 12 is shown as a segmented five wire membrane digitizer. Digitizer 12 includes several layers of polyester and adhesive attached to a rigid substrate. Conductors are silk-screened with silver ink, while various surfaces of digitizer 12 are coated with indium tin oxide (ITO), a transparent conductor. Digitizer 12 connects to other components of circuit 10 via a flat flex connector tail 114. The cross sectional view in Fig. 3 also applies to the segmented five-wire membrane digitizer of Figs. 12 and 13. With reference to Fig. 12, top layer 116 is shown in more detail. Top layer 116 includes ITO strips 457-462. Electrodes 463-468 make electrical contact with ITO strips 457-462, respectively. With reference to Fig. 13, bottom layer 122 is shown in more detail. Bottom layer 122 consists primarily of ITO area 440 surrounded by electrode pattern 438. Electrode pattern 438 is typically a special silk-screened pattern of silver ink, as described in U.S. Patent No. 4,371,746 to Pepper. Alternatively, it can be a ring of discrete resistors, discrete diodes, spot electrodes, bar electrodes, or a solid band of moderate resistance conductive ink. Silver ink traces 442-448 contact the electrode pattern 438 at its corners. Calibration sense points 454-456 detect the actual voltage along the edges of ITO area 440. U.S. Patent No. 4,435,616 by Kley details one way of constructing calibration sense points 450-456. Alternatively, calibration sense points 450-456 could simply contact the midpoints of the electrode pattern detailed in the above mentioned U.S. Patent No. 4,371,746. Placement of top layer 116 over bottom layer 122 effectively creates six separate writing areas corresponding to segments 408a-f. Turning now to Fig. 14, a method for determining touch position is disclosed, beginning with START 470. In order to illustrate the general case of an m by n digitizer, ITO strips 457-462 are numbered 0, 1, 2, ..., m•n, starting from the lower left hand corner of the segmented digitizer 12 and moving bottom to top, left to right. Thus, in the digitizer of Figs. 12-13, ITO strips 457-462 are numbered 0, 1, 2, 3, 4, and 5, respectively. In step 472, controller 14 performs a calibration and initialization step. Controller 14 then steps through each segment of the digitizer 12 and determines position, contact resistance Rc, and pen status. It does this by first initializing count variable k to 0 in step 474. In step 476, controller 14 determines whether count variable k is less than the number of segments, m•n. If count variable k is not less than horizontal constant m• n, the procedure returns to step 474. Otherwise, the procedure continues to step 478. In step 478, controller 14 measures position. In step 480, controller 14 measures contact resistance Rc at the point of actuation. Using contact resistance Rc and the positional data, controller 14 determines whether the writing instrument is up, down, or in a multipoint condition in step 482. In step 484, controller 14 outputs contact resistance Rc, pen status, and position to host system 24 via interface 22. Finally, controller 14 increments count variable k in step 486 and returns to step 476. Turning now to Fig. 15, the calibration and initialization step 472 from Fig. 13 is shown in more detail. The calibration procedure and equations are similar to those of the first embodiment. Good calibration is not as important in the second embodiment because unlike the first embodiment there is no inherent problem with segment mismatch. The calibration and initialization procedure begins at START 490 In step 492, controller 14 drives segmented digitizer 12 in the x-direction. Controller 14 closes switches 406, 424, 410, 416, and 420 while leaving all other switches open. This creates a voltage gradient along back layer 122 of digitizer 12 that increases from left to right. Next, in step 494, controller 14 measures x_max' and x_min' at calibration sense points 454 and 450 respectively. Controller 14 selects each calibration sense point in turn through multiplexer 26 and reads the resulting value from A/D converter 28. In step 496, controller 14 calculates the scalar constant m_x using equation (7) from above. Similarly, controller 14 calculates the offset constant b_x in step 498 using equation (8) from above. In step 500, controller 14 drives segmented digitizer 12 in the y-direction. Controller 14 closes switches 406, 422, 420, 410, and 413 while leaving all other switches open. This creates a voltage gradient along back layer 122 of digitizer 12 that increases from bottom to top. Next, in step 502 controller 14 measures y_max' and y_min' at calibration sense points 452 and 456 respectively. Controller 14 selects each calibration sense point in turn through multiplexer 26 and reads the resulting value from A/D converter 28. In step 504, controller 14 calculates the scalar constant m_y using equation (9) from above. similarly, controller 14 calculates the offset constant b_y in step 506 using equation (10) from above. Finally, controller 14 returns to step 474 of Fig. 14 in step 508. Turning now to Fig. 16, the "Measure X, Y" step 478 of Fig. 14 is explained in more detail, beginning with START 510. In step 512, controller 14 charges ITO strip Sk by applying voltage source 50 to digitizer 12 and low pass filter 400. Controller 14 selects ITO strip Sk (ITO strip 457) through multiplexer 26 and closes switches 402 and 406 for a short period of time while leaving all other switches open. In step 514, controller 14 drives the segmented digitizer 12 in the x-direction just as in step 492 from Fig. 15. In step 516, controller 14 waits for ITO strip Sk to discharge to the positional voltage at the point of actuation. In step 518, controller 14 measures the temporary quantity x_pos at segment Sk. Controller 14 selects ITO strip Sk (ITO strip 457) through multiplexer 26 and measure x_pos at A/D converter 28. In step 520, controller 14 discharges ITO strip Sk by discharging digitizer 12 andlow pass filter 400. Controller 14 selects ITO strip Sk (ITO strip 457) through multiplexer 26 and closes switches 404 and 406 for a short period of time while leaving all other switches open. In step 522, controller 14 drives segmented digitizer 12 in the x-direction just as in step 492 from Fig. 15. In step 524, controller 14 waits, just as in the previous step 516. In step 526, controller 14 measures x_neg in exactly the same way it measured x_pos in step 518. In step 528, controller 14 calculates position by applying the calibration mapping function (equation (1) above) to the average of x_pos and x_neg. The exact equation is x = m_x(x_pos + x_neg)÷2 + b_x. In step 514, controller 14 charges ITO strip Sk just as in previous step 512. In step 532, controller 14 drives the segmented digitizer 12 in the y-direction just as in step 500 from Fig. 15. In step 534, controller 14 waits, just as in the previous step 516. In step 536, controller 14 measures the temporary quantity y_pos at ITO strip Sk using the same procedure as in the previous step 518. In step 538, controller 14 charges ITO strip Sk just as in previous step 512. In step 540, controller 14 drives the segmented digitizer 12 in the y-direction just as in step 500 from Fig. 15. In step 542, controller 14 waits, just as in the previous step 516. In step 544, controller 14 measures the temporary quantity y_neg at ITO strip Sk using the same procedure as in the previous step 526. In step 546, controller 14 calculates position by applying the calibration mapping function (equation (2) above) to the average of y_pos and y_neg using the equation y = m_y(y_pos + y_neg) + b_y. Finally, in step 548, the procedure ends by returning to step 480 of Fig. 14. Turning now to Fig. 17, the method of determining contact resistance Rc is discussed in detail, beginning with START 550. In step 552, controller 14 selects ITO strip Sk through multiplexer 26 and closes switches 406, 425, 410, 424, 418, and 414 while leaving all other switches open. This grounds all corners of the electrode pattern 438 through silver ink traces 442-448 and injects a constant current I from current source 427 into ITO strip Sk through multiplexer 26. In step 554, controller 14 actually measures the resulting contact resistance Rc for segment Sk at A/D converter 28. In step 556, controller 14 returns to step 482 in Fig. 14. Turning now to Fig. 19, a schematic representation of digitizer 22 is shown, depicting the digitizer drive circuitry 20 as it is set in step 552 of Fig. 17. Resistors 588-594 represent the resistances from the point of actuation on bottom digitizer layer 122 to each corner 414-436 of electrode pattern 438 respectively. Resistance 584 represents the resistance from the point of actuation on ITO strip Sk to the corresponding segment Sk electrode. Voltage V1 is the voltage at the output of multiplexer 26. If the parallel combination of resistances R1-R4 is much less than contact resistance Rc, and if resistance R5 is much less than contact resistance Rc, then V1 is approximately equal to the product I•Rc. If current I is constant, voltage V1 is directly proportional to contact resistance Rc. Because controller 14 is not concerned with the absolute resistance, it can treat voltage V1 as if it were contact resistance Rc, even though it is only proportional to contact resistance Rc. Turning now to Fig. 18, the method of determining pen status is explained in detail, beginning with START 560. Controller 14 determines pen status according to a combination of contact resistance Rc, x_pos, x_neg, y_pos, and y_neg. In step 562, controller 14 determines whether the absolute value of the difference between x_pos and x_neg is less than x_thresh, where x_thresh is a threshold constant typically on the order of four counts for a 10-bit A/D converter. If decision step 562 is not true, then the x coordinate is not stable and operation continues to step 574 where controller 14 sets the pen status to UP, meaning a stylus or finger is not contacting digitizer 12. After step 574, operation returns in step 576 to step 484 of Fig. 14. Returning to step 562, if the absolute value of x_pos minus x_neg is less than x_thresh, the procedure continues to step 564 where controller 14 determines whether the absolute value of y_pos minus y_neg is less than y_thresh. Again, y_thresh is a threshold constant typically on the order of four counts for a 10-bit A/D converter. If this is not true, the y-coordinate is not stable and execution continues at step 574. Otherwise, execution continues to step 566 where controller 14 determines whether contact resistance Rc is less than threshold constant Rc_down. Threshold constant Rc_down is typically on the order of 90% of the full scale contact resistance Rc reading. If contact resistance Rc is not less than threshold constant Rc_down, then execution continues to step 574. Otherwise, execution continues to step 568 where controller 14 determines whether contact resistance Rc is less than threshold constant Rc_multipoint. Rc_multipoint is typically on the order of 10% of the full scale contact resistance Rc reading. If contact resistance Rc is less than threshold constant Rc_multipoint, then execution continues to step 570 where controller 14 sets the pen status to MULTIPOINT. Therefore, a user is touching digitizer 12 with a finger. Returning to step 568, if contact resistance Rc is not less than threshold constant Rc_multipoint, controller 14 sets the pen status to DOWN in step 572. Therefore, only a stylus is actuating digitizer 12. In either case 570 or 572, execution continues to step 576 where the procedure returns to step 484 of Fig. 14.

Claims: A digitizer input device (12) comprising: a plurality of segments (27a-f, 408a-f) for entering handwritten information and position determining means (14) for determining the positional co-ordinates of actuation of one of said segments (27a-f, 408a-f), characterized by resistance measurement means (14) for determining the contact resistance Rc at the point of actuation; and means (14) for determining an operation actuating status of said digitizer input device. A digitizer input device according to claim 1, characterized in that the means for determining an operation actuating status distinguishes the actuating status as a single point contact with one of said segments (27a-f, 408a-f) or a multipoint contact with one of said segments (27a-f, 408a-f) A digitizer input device according to claim 2, characterized in that the actuating status is determined as a multipoint contact with one of the segments (27a-f, 408a-f) if the contact resistance Rc at the point of actuation is less than a predetermined threshold. A digitizer input device according to claim 3, characterized in the predetermined threshold is of the order of 10% of the full scale contact resistance reading. A digitizer input device further comprising calibration means (14) for calibrating said digitizer input device (12) A method of operating a digitizer input device including a plurality of segments (27a-f, 408a-f) comprising the steps of determining the positional co-ordinates of actuation of one of said segments (27a-f, 408a-f), characterized by measuring the contact resistance Rc at the point of actuation; and determining an actuating status of operation of said digitizer input device. A method according to claim 6, characterized in that said step of determining an operation actuating status includes the step of distinguishing the actuating status as a single point contact with one of said segments (27a-f, 408a-f) or a multipoint contact with one of said segments (27a-f, 408a-f). A method according to claim 6, characterized in that said step of determining an actuating status includes the step of comparing the contact resistance Rc at the point of actuation with a predetermined threshold value. A method according to claim 8, characterized in that the status is determined as multipoint if the contact resistance Rc at the point of actuation is less than 10% of the full scale contact resistance reading. A method according to claim 6, characterized by the initial step of calibrating said digitizer input device. A method according to claim 10, characterized in that said step of calibrating includes the steps of: energizing a first strip on a first layer by applying a source and a ground to electrodes associated with the strip; measuring the maximum and minimum coordinates in a first direction on the energized strip; calculating a scalar constant for each electrode of the strip; and calculating an offset constant for each electrode.

Inventors: CROOKS JOHN FREDERICK, PROTHEROE ROBERT LLEWELLYN, CROOKS, JOHN FREDERICK, PROTHEROE, ROBERT LLEWELLYN
Applicants: NCR INT INC, NCR INTERNATIONAL, INC.
Application year: 1994
Main classification: G06K11
IPC codes: G06F3