Patent Publication Number: US-7591165-B2

Title: Control circuit for sensor array and related methods

Description:
FIELD 
     Aspects of the invention relate to pressure or force sensors formed from an array of pressure or force responsive sensor elements and more particularly to a circuit for scanning such an array. 
     BACKGROUND 
     Pressure or force sensors formed of an array of pressure or force responsive sensor elements can be used to acquire pressure or force measurements in response to an applied load. Such arrays may, for example, be used as a contact sensor for dental occlusion, to detect foot pressure in a shoe, to detect pressure or force distribution on a gasket, and in numerous other applications where information on pressure or force distribution over an area is desired. Such arrays typically utilize two layers, each of which has a parallel set of electrodes formed thereon with the electrodes for at least one of the set of electrodes being covered with a variable resistance pressure or force sensitive material (e.g., an ink) or other pressure or force sensitive material (e.g., a variable capacitance material). These arrays may be secured together with the electrodes of one layer crossing the electrodes of the other layer to form sensor elements. By sensing the current passing through each sensor element, the pressure or force at the element may be determined. 
     SUMMARY 
     In various embodiments, a circuit and related methods are provided for scanning an array of pressure or force responsive sensor elements, wherein the circuit and/or the methods can provide for higher accuracy and/or a faster scan rate as compared to conventional circuits used for scanning arrays of pressure or force responsive sensor elements. In some embodiments, the higher accuracy comprises measuring more accurate values of the pressure or force applied to the pressure or force responsive sensor elements, as compared to measurements obtained with conventional circuits used for scanning arrays of pressure or force responsive sensor elements. 
     In one illustrative embodiment, a circuit is provided for scanning an array of pressure or force responsive sensor elements. The circuit comprises a control circuit for controlling the scanning of the pressure or force responsive sensor elements, wherein the control circuit comprises a plurality of modules configured to operate in parallel for faster processing of signals obtained from the scanning of the pressure or force responsive sensor elements. 
     In another illustrative embodiment, a circuit is provided for scanning an array of pressure or force responsive sensor elements. The circuit comprises a control circuit for controlling the scanning of the pressure or force responsive sensor elements, wherein the control circuit is configured to scan a user definable subset or subsets of the array of pressure or force responsive sensor elements. 
     In still another illustrative embodiment, a method is provided for scanning an array of pressure or force responsive sensor elements. The method comprises selecting one or more pressure or force responsive elements based on a user definable subset or subsets of the array of pressure or force responsive sensor elements, and obtaining signals indicative of the pressure or force applied to the one or more pressure or force responsive elements selected based on the user definable subset or subsets of the array of pressure or force responsive sensor elements. 
     In still another illustrative embodiment, a method is provided for calibrating a sensor array of pressure or force responsive sensor elements. Each of the sensor elements are connected by one of one or more first electrodes and one of one or more second electrodes. The sensor elements having signals generated therethrough, wherein the signals are characteristic of a pressure or force applied to the sensor array. The method comprises selecting one of the sensor elements of the sensor array, providing a drive voltage on a first electrode so as to drive the selected sensor element, and determining a path resistance associated with the selected sensor element, wherein the path resistance associated with the selected sensor element comprises at least a resistance of the first electrode and a second electrode that connect to the selected sensor element. 
     In yet another illustrative embodiment, a method is provided for scanning a sensor array of pressure or force responsive sensor elements. Each of the sensor elements are connected by one of one or more first electrodes and one of one or more second electrodes. The method comprises obtaining a path resistance of a selected sensor element, wherein the path resistance comprises at least a resistance of a first and a second electrode that connect to the selected sensor element, obtaining a current flowing through the path resistance associated with the selected sensor element, determining a voltage drop across the path resistance of the selected sensor element at least partially based on the obtained path resistance and the obtained current, and modifying a drive voltage applied to the first electrode that connects to the selected sensor element at least partially based on the obtained voltage drop. 
     In a further illustrative embodiment, a method is provided for automatically adjusting gain when scanning an array of pressure or force responsive sensor elements. The method comprises detecting received signals corresponding to one or more sensor elements being scanned, determining a signal strength value at least partially based on at least some of the received signals corresponding to the one or more sensor elements being scanned, and adjusting a gain applied to at least some of the received signals based at least partially on the signal strength value. 
     In yet another illustrative embodiment, a method is provided for calibrating a sensitivity of a sensor array of pressure or force responsive sensor elements. Each of the sensor elements are connected by one of one or more first electrodes and one of one or more second electrodes. The sensor elements having signals generated therethrough, wherein the signals are characteristic of a pressure or force applied to the sensor array. The one or more second electrodes having received signals thereon associated with the sensor elements, wherein the received signals are modified by a gain value. The method comprises obtaining received signals associated with at least some of the sensor elements, and determining the gain value that modifies the received signals associated with the at least some of the sensor elements so that at least some of the received signals associated with the at least some of the sensor elements lie within a desired range. 
     In a further illustrative embodiment, a method is provided for adjusting a sensitivity of an array of pressure or force responsive sensor elements. Each of the sensor elements are connected by one of one or more first electrodes and one of one or more second electrodes. The sensor elements having signals generated therethrough, wherein the signals are characteristic of a pressure or force applied to the sensor array. The one or more second electrodes having received signals thereon associated with the sensor elements. The method comprises obtaining a gain value associated with the desired sensitivity of the sensor elements, and modifying the received signals at least partially based on the gain value associated with the desired sensitivity. 
     Various embodiments of the present invention provide certain advantages. Not all embodiments of the invention share the same advantages and those that do may not share them under all circumstances. 
     Further features and advantages of the present invention, as well as the structure of various embodiments of the present invention are described in detail below with reference to the accompanying drawings. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
       The accompanying drawings are not intended to be drawn to scale. In the drawings, each identical or nearly identical component that is illustrated in various figures is represented by a like numeral. For purposes of clarity, not every component may be labeled in every drawing. In the drawings: 
         FIG. 1  is a representation of a sensor system according to one embodiment; 
         FIG. 2  is a schematic diagram of a sensor array coupled to a handle circuit according to one embodiment; 
         FIG. 3   a  is a flow diagram for defining a subset or subsets of sensor elements of a sensor array according to one embodiment; 
         FIG. 3   b  is a flow diagram for using a scan table to scan a sensor array according to one embodiment; 
         FIG. 4  is a representation of a sensor array enabling the definition of a subset or subsets of sensor elements of the sensor array according to one embodiment; 
         FIG. 5  is a flow diagram for performing a calibration of sensor elements of a sensor array according to one embodiment; 
         FIG. 6  is a flow diagram for using sensor element calibration data for a sensor array during a scan operation according to one embodiment; 
         FIG. 7  is a flow diagram for automatic gain compensation according to one embodiment; 
         FIG. 8  is a flow diagram for performing a sensitivity calibration of a sensor array according to one embodiment; 
         FIG. 9  is a flow diagram for adjusting the sensitivity of a sensor array based on a sensitivity calibration of the sensor array according to one embodiment; 
         FIG. 10  is a functional block diagram of a control circuit for use with a sensor array according to one embodiment; 
         FIG. 11  is a flow diagram for scan control using a scan table according to one embodiment; and 
         FIG. 12  is an example of a scan table according to one embodiment. 
     
    
    
     DETAILED DESCRIPTION 
     Sensor systems can include various components that can be interfaced to enable the collection of data from sensor arrays. In some sensor systems, a sensor array may be selected from a variety of different available sensor arrays that may potentially have different shapes, sizes, number of sensor elements, and/or types of sensors. The sensor array may be inserted into an interface, also referred to as a handle or handle interface, that can include circuitry for controlling the scanning of sensor elements and the collection of force or pressure data. The handle may be coupled to a computing device, which may enable the viewing, storage, and/or analysis of the collected data. In various embodiments presented herein, a control circuit within a handle interface is provided which can implement one or more methods that transfer data to a communication link at an enhanced rate as compared to conventional control circuits, enable the utilization of user definable scan subset or subsets, compensate for variations between sensor elements, and/or adjust the sensitivity of a sensor array. 
       FIG. 1  illustrates an embodiment of a sensor system  100  including a sensor array  110 , a handle interface  120 , a computing device  140 , and a communication link  130  between the computing device and the handle interface. A typical sensor array  110  may include resistive elements, which respond to changes in pressure or force with changes in resistance, although other types of sensors are also possible, including, but not limited to capacitive sensors. The sensor array may be configured in a row/column format, although other configurations are possible, as the invention is not limited in this respect. For example, a typical sensor may be formed of an array of  52  drive electrodes and  44  receive electrodes, where each cross-point between the drive and receive electrodes can correspond to a sensor element. As used herein, a sensor element can have any suitable size and/or shape, as the invention is not limited in this respect. In one embodiment, a sensor element may be a sensor point that may be formed by the intersection of a drive electrode and a receive electrode. 
     The handle interface  120  may include circuitry that can be coupled to the sensor array  110  and that can control the scanning of the sensor elements, compensation for sensor element variations, and/or sensitivity adjustments. The communication link  130  between the handle interface  120  and the computing device  140  may include any suitable type of communication pathway, including wired or wireless communication links. Some types of wired communication links may include, but are not limited to, parallel, USB, and PCI interfaces. Some types of wireless communication links can include, but are not limited to, Bluetooth and 802.11 wireless interfaces. The computing device  140  may include, but is not limited to, a device that enables a user to view pressure or force data corresponding to scanned sensor elements and/or to control the operation of the handle interface  120 . Computing device  140  may include, but is not limited to, a personal computer, a personal digital assistant, and/or a server. The computing device  140  may include software to enable viewing, analysis, and/or storage of the collected sensor data and/or control of the handle interface  120 . 
     Since the handle interface may serve as a scanning control and an interface to the computing device, the performance of the handle interface may be a factor in determining the overall performance, robustness, and flexibility of the sensor system. Conventional interfaces can include data acquisition electronics that acquire sensor data at a rate of about 50 μs per sensor element. Since a typical array can be formed of about 52×44=2288 sensor elements, a sensor element sampling rate of 50 μs results in a total array (or frame) data acquisition time of over 100 ms, and therefore, an acquisition of about 10 total frames per second. This implies that each of the 2288 sensor elements is acquired about 10 times per second, or about a total of 2288×8=18,304 sensor element acquisitions per second. Each acquired sensor element voltage can undergo an analog to digital conversion, hence the acquisition rate may be expressed in terms of digital bits (or bytes) acquired per second. For an 8-bit analog-to-digital converter (ADC) the acquisition data rate for a conventional interface may be given by about 18,304×8 bits/s=18.3 Kbytes/s or about 0.15 Mbits/s. 
     In such conventional systems, before transferring sensor data to the computing device interface, the mechanics of measuring the pressure or force information, converting the data to a digital format, and transferring the digital data to the communication interface, can be limiting factors. For example, a USB 1.1 communication link can enable the transfer of data to the computing device at a maximum rate of 12 Mbits/s, although in practice, typical rates are about 9 Mbits/s due to overhead limitations. Thus, when data is made available by the handle interface, it can be transferred to the computing device at a rate of about 9 Mbits/s. However, the rate at which the handle interface makes data available for transfer can be significantly lower than the achievable data transfer speed of the communication link, as illustrated by the conventional 0.15 Mbits/s data acquisition rate described previously. 
     In some embodiments presented herein, a handle interface is provided that couples a sensor array to a computing device and which transfers data to a communication link buffer at a faster rate as compared to conventional handle interfaces. The handle interface may output data at a rate that is greater than about an order of magnitude (e.g., about two orders of magnitude) than the data transfer rate of conventional handle interfaces. In one embodiment, the handle interface may acquire and send data to a communication link buffer (e.g., a USB buffer) at a rate of about 3 Mbits/s. In some embodiments, such rates may be achieved by implementing control circuitry that comprises parallel modules. In one embodiment, a control circuit comprises a field-programmable gate array (FPGA). The parallel nature of FPGA architecture, along with the ability to configure variable register lengths and faster clock rates may allow data acquisition rates to approach USB maximum transfer rates. The FPGA control circuitry may control a high speed ADC and high bandwidth operational amplifiers within the handle, further enhancing data acquisition rates. In some embodiments, the handle interface can enable data acquisition and transfer rates for large sensor arrays, so as to enable real time pressure or force mapping. In one embodiment, a handle interface may enable the sampling of about 2288 sensor elements about 100 times per second, and in one embodiment, up to about 500 times per second. 
     In various embodiments presented herein, a handle interface that couples a sensor array to a computing device is provided which enables the scanning of user definable sensor elements belonging to a subset or subsets of the entire sensor array. In some such embodiments, the user can define a subset or subsets of sensor elements of the entire sensor array, for example, one sensor element, some sensor elements, some of the rows, some of the columns, and/or some of the rows and columns. In some embodiments, the user can define a subset or subsets of sensor elements by specifying one or more shapes in a visual representation of the sensor array displayed on a computing device. Once a subset or subsets of the entire sensor array is defined, the handle interface need only collect and transfer data from sensor elements belonged to the defined subset or subsets, thereby enabling faster frame sampling rates. As such, some handle interfaces presented herein can allow a user to focus on a definable subset or subsets of a larger pressure or force map, and optionally, collect data for the definable subset or subsets at a faster frame sampling rate. 
     In various embodiments presented herein, a sensor array calibration method is provided that can account for differences in collected data due to sensor element variations. In some embodiments presented herein, gain adjustment methods are also provided. 
       FIG. 2  illustrates an embodiment wherein a sensor array is coupled to a circuit which may reside within a handle interface. The sensor matrix array  10  is formed from a plurality of first or input (i.e., drive) electrodes  12 - 1  to  12 - 4  and a plurality of second or output (i.e., sense or receive) electrodes  14 - 1  to  14 - 4 . These electrodes may be formed on a thin substrate of a plastic material such as Mylar or on another substrate material, with the substrates being separated by a layer of pressure or force sensitive ink or other pressure or force sensitive material. The pressure or force sensitive material (e.g., ink) may comprise a pressure or force sensitive variable resistance material and/or a variable capacitance material. 
     The intersection of each first electrode with each second electrode forms sensor elements P 1 -P 16 . Each sensor element can have a resistance R 1 -R 16  which varies with the pressure or force applied to the sensor element, being very high, in the order of megaohms, when no pressure or force is applied to the element, and being as little as 1,000 ohms when pressure or force is applied to the element. While not specifically designed into the circuit, there can also be a trace capacitance C 1 -C 16  at each of the sensor elements, where the capacitance may be in the order of 3 to 8 picofarads. The capacitance is formed by the electrodes as plates with the thin variable resistance layer therebetween serving as the dielectric. It should be appreciated that although only 16 sensor elements are illustrated in the embodiment of  FIG. 1 , any number of sensor elements may be utilized, as the invention is not limited in this respect. 
     A drive signal or voltage Vdrive on line  18  is applied to each of the first electrodes  12  through a first multiplexer or switch  16 . Each of the electrodes  12 - 1  to  12 - 4  has an inherent trace resistance which is illustrated in  FIG. 2  by lumped resistors R 23 , R 24 , R 25  and R 26 , respectively, through which the drive voltage passes. A parallel path to ground can also be provided for each input electrode  12  through bleed-off resistors R 27 , R 28 , R 29  and R 30 , respectively, through which the trace capacitance for a sensor element may rapidly discharge, thereby reducing the settling time for the circuit between scans of sensor elements to as little as one microsecond. The value of each of these resistors may be relatively low, for example in the range of two to ten kohms. 
     In one embodiment, the drive voltage (Vdrive) is applied to each switch S 1 -S 4  of multiplexer  16 , with each switch having a corresponding inherent resistance, which is illustrated in the figure as a lumped resistor R 36 , R 37 , R 38  and R 39 , respectively. These resistances are typically in the 50 to 100 ohm range. The signal on Vdrive line  18  may be obtained from operational amplifier  20  through a resistor R 31 . The voltage on the side of R 31  adjacent amplifier  20  is connected through a resistor R 32  to the negative input of an operational amplifier  22  and is also connected through a resistor R 34  to the voltage input of an A/D converter  24 . The voltage on the other side of resistor R 31  is applied through R 21  as a feedback to operational amplifier  20 , with the signal passing through resistor R 21  also being applied through resistor R 22  to ground. In addition, the signal on the other side of resistor R 31  is applied through resistor R 33 , both to the positive input of operational amplifier  22  and through resistor R 35  to ground. 
     In the embodiment described in  FIG. 2 , the output from operational amplifier  22 , which is indicative of the load current passing through resistor R 31  on Vdrive line  18 , is connected to the Vin input of A/D converter  24 . The other input to converter  24  is a voltage reference input for the converter and is obtained from a fixed voltage source  26  over line  28 . The signal on line  28  is also applied to the reference inputs on D/A converters  30  and  32 . The digital inputs to converters  30  and  32  are obtained on lines  35  from a control circuit  34 . 
     In some embodiments, control circuit  34  may comprise a field-programmable gate array (FPGA), which includes programmable logic components and programmable interconnects that can perform one or more of the various functions described herein. In other embodiments, control circuit  34  can include a standard microprocessor or other processor programmed to perform the various functions. In some embodiments, control circuit  34  may be a special purpose piece of hardware for performing these functions, may be some type of hybrid circuit which performs some of the functions itself and serves as an interface with other processing circuitry which performs the other functions, or may be other suitable control circuitry. Features of control circuit  34  in various embodiments shall be described further below. 
     Converter  30  develops a reference voltage on line  36  which is applied to the reference input of output A/D converter  38 , while the input to D/A converter  32  is indicative of a drive voltage. The drive voltage output from D/A converter  32  is applied through line  40  to the positive input of operational amplifier  20 . While the voltage on line  40  could be used directly as Vdrive without passing through amplifier  20 , it may be preferable to include amplifier  20  and the related circuit to compensate for voltage drops across R 31 . The Vin input for A/D converter  38  is output line  42  from output multiplexer  44 . 
     Output multiplexer  44 , also referred to as a receive multiplexer, receives each of its inputs from an output of an operational amplifier  46 - 1  to  46 - 4 . Each operational amplifier receives signals on a corresponding electrode  14 - 1  to  14 - 4  at its negative input. Resistors R 40 , R 41 , R 42 , R 43  represent the trace resistances for the corresponding output electrodes. The output of each operational amplifier is also fed back through a corresponding resistor R 18 , R 19 , R 20  and R 21 , respectively. The positive input to each operational amplifier  46  is connected to ground. The effect of the feedback signal for each of the operational amplifiers  46  is to maintain the output end of the corresponding electrode at substantially the ground potential. The outputs of amplifiers  46  reflect the signal/current of the electrodes  14 . 
     Output line  42  from multiplexer  44  is also connected to the positive input of comparator  48 . The negative input to comparator  48  is a threshold voltage on line  50 . Thus, comparator  48  generates an output on line  52  to control circuit  34  only if the signal detected at array  10  exceeds some predetermined threshold. The digital output from converter  38  is connected to control circuit  34  which may process the received output from converter  38  and generate an output signal on digital output line  54 . 
     The output on digital output line  54  may be coupled to a computing device (not shown) via any suitable interface, including, but not limited to a wired interface, such as a USB interface, or a wireless interface, such as a Bluetooth or 802.11 interface. Communication from the computing device (not shown) to the control circuit  34  may be achieved via a digital input line  55  via any suitable interface, such as those described for the digital output line  54 . 
     The circuit of  FIG. 2  is similar to the circuit presented in U.S. Pat. No. 5,505,072 (No. &#39;072) and U.S. Pat. No. 4,856,993 (No. &#39;993), which are assigned to the assignee of the current application, both of which are incorporated herein by reference. In operation, the circuit of  FIG. 2  can perform a scan of the sensor array in a similar manner as the scanning operation presented in patents No. &#39;072 and No. &#39;993, and may incorporate some of the features of the circuit in patent No. &#39;072 and/or patent No. &#39;993. Additionally, or alternatively, the circuit of  FIG. 2  and other embodiments presented herein may incorporate control circuit features that shall be further described below. 
     It should be appreciated that the control circuit features presented herein may also be incorporated into other circuit configurations for controlling the scanning of a sensor array and/or collecting data from a sensor array, and the invention is not limited to the embodiments presented herein. For example, an alternative embodiment of a sensor system including a sensor array coupled to a control circuit is presented in U.S. Pat. No. 5,905,209 (No. &#39;209), which is assigned to the assignee of the current application and is incorporated herein by reference. 
     As described above, in some embodiments, a user may define a subset or subsets of sensor elements of the sensor array. During scanning of the sensor array, the subset or subsets of sensor elements need be scanned.  FIG. 3   a  is an embodiment of a method, illustrated by flow diagram  300   a , for enabling the definition of a subset or subsets of sensor elements of a sensor array. In step  310 , a user interface may be provided so that a user may define a subset or subsets of a sensor array. The user interface may be presented on a computing device that is coupled to a handle interface of the sensor array, as illustrated in the sensor system of  FIG. 1 . The user interface may include a visual representation of the sensor array, and may enable the user to define a subset or subsets of sensor elements by defining one or more desired shapes and/or boundaries within the representation of the sensor array, as illustrated in  FIG. 4 , by selecting individual sensor elements, and/or by any other means, as the invention is not limited in this respect. 
     In representation  400 , the sensor elements of the sensor array  410  are located at the intersection of drive electrodes  412  and receive electrodes  414 . For illustration purposes, a rectangular sensor array  410  is presented, but it should be appreciated that any other sensor array configuration is possible. In representation  400 , a user may have defined (e.g., via drawing using a pointer) various shapes and/or boundaries, including a rectangle  440 , a circle or ellipse  430 , and/or an irregular shape  450 , so as to define the boundaries surrounding the subset or subsets of sensor elements for which data should be collected. Additionally, or alternatively, other methods of defining a subset of sensor elements for which scan data should be collected may also be used, including but not limited to, defining a subset or subsets of sensor elements by selecting one or more sensor elements, as illustrated for sensor elements  460  and  470 , one or more rows (not shown), and/or one or more columns (not shown). 
     Additionally, or alternatively, a subset or subsets of sensor elements may be defined by a pattern superimposed on the representation of the sensor array. For example, a rectangular checkerboard pattern superimposed on the representation of the sensor array may define a subset or subsets of sensor elements in regions where the pattern is solid (e.g., solid rectangles of the checkerboard pattern). Such patterns may allow for the specification of the spatial resolution of sensor elements to be scanned based on the size of the solid regions of the pattern. For example, if pressure or force data having a certain spatial resolution is desired, and the sensor array includes sensor elements with a higher than desired spatial resolution, a pattern (e.g., a checkerboard pattern) may be used to define a subset of sensor elements to be scanned. In this way, data need only be collected for sensor elements that yield the desired resolution and/or focus in on the desired region(s) of the sensor array. Furthermore, it should be appreciated that the definition of the subset or subsets of sensor elements need not necessarily be performed graphically, and other methods, such as coordinate input of a subset or subsets may also be used. 
     In step  320 , the computing device presenting the user interface can receive the defined subset or subsets of sensor elements. In step  330 , the defined subset or subsets of sensor elements can be used to generate a scan table indicating the sensor elements which lie within the subset or subsets of sensor elements of the sensor array. The scan table may include any suitable representation for the sensor elements within the defined subset or subsets. In some embodiments, the sensor elements may be specified by reference to one or more drive lines and one or more receive lines for each of the drive lines, thereby providing a two-dimensional coordinate representation of the subset or subsets of sensor elements. 
     For example, as illustrated in  FIG. 12 , a scan table  1200  can include a list of 7-bit values, wherein the first bit of each value can be used to indicate a new drive line. In scan table  1200 , a first bit of “1” indicates a new drive line and the other six bits define the specific drive line being referenced. Conversely, a first bit value of “0” indicates a specific sensor element on the most recently referenced drive line and the other six bits specify the specific receive line being referenced. For example, value  1211  in the table has a first bit of “1” which implies that a new drive line is specified by this value, where the drive line is defined by the following six bits “010010”. The next value  1212  indicates a specific sensor element on the most recently referenced drive line defined by value  1211 . Similarly, values  1213 - 16 , all having a first bit of “0”, indicate specific sensor elements via the specification of receive lines intersecting the most recently referenced drive line given by value  1211 . Value  1221 , having a first bit of “1”, indicates that a new drive line is specified by the following six bits of the value. Values  1222 - 24  define specific sensor elements via the specification of receive lines intersecting the most recently referenced drive line given by value  1221 . 
     The scan table  1200  may have any number of such 7-bit values, specifying drive lines and corresponding receives lines for each sensor element in a subset or subsets of the entire sensor array. In the scan table  1200 , a 7-bit value of “1111111” (value  1720 ) indicates the end of the table, although it should be appreciated that any other value may be used to indicate the end of the table. It should be appreciated that this is just one example of a scan table, and various modifications are possible. For example, one modification may include using any desired number of bits (e.g., 6-bits, 7-bits, 8-bits, 9-bits, etc.) for the values of the table, which need not necessarily be limited to the 7-bit illustrative embodiment described above. A desired number of bits for the values in the scan table may be chosen based on the number of drive and receive lines of the sensor array, so as to uniquely identify the sensor elements of the sensor array. 
     Returning to  FIG. 3   a , upon the generation of the scan table  330 , the scan table corresponding to the defined scan area may be used in a scan and/or may be saved to a storage device (e.g., on the computing device), as indicated in step  340 . Any number of such scan tables may be saved for further use, as desired by the user. 
       FIG. 3   b  is an embodiment of a method, illustrated by flow diagram  300   b , for using a desired scan table to scan a sensor array. In step  350 , a desired scan table corresponding to a defined subset or subsets of the sensor array is transferred from a computing device to a handle interface via a communication link. The handle interface can receive the scan table via the communication link (step  360 ), and the scan table can be stored in a scan table memory in the handle (step  370 ). In some embodiments, steps  360  and  370  may be performed by a control circuit within the handle interface, and the scan table memory may reside within the control circuit. In an illustrative embodiment, the scan table memory may include a register in an FPGA control circuit. During a scan of the sensor array, the handle interface may use the scan table in the scan table memory to select the sensor elements for which data should be collected and transferred to the computing device. 
     In some embodiments, sensor elements of a sensor array can be calibrated to account for path resistance variations amongst the sensor elements of the sensor array. The path resistance variations amongst sensor elements may be due to variations of trace resistance of drive and receive electrodes amongst the sensor elements (e.g., due to different electrode lengths for different sensor elements), variations in sensor element resistance (e.g., due to variations in the distance between the intersecting electrodes and/or in the resistivity of material between the electrodes), and/or any other resistance variations amongst the sensor elements.  FIG. 5  is an embodiment of a method, illustrated by flow diagram  500 , that enables calibration of sensor elements of a sensor array. 
     Such calibration may be used to compensate for any variations of path resistance amongst sensor elements on a sensor array. Such calibration may be particularly useful for large sensor arrays, where due to significant voltage drops across long electrodes, it may be significantly beneficial to modify drive voltages applied for each sensor element so as to compensate for path resistance variations amongst sensor elements. During scanning, such compensation may be performed by circuitry within the handle, for example, by measuring the drive current when a given sensor element is selected for scanning and compensating the drive voltage (or reference voltage) accordingly. The drive voltage may be compensated based on the drive current times a path resistance for a selected sensor element, wherein the path resistance for the selected sensor element may have been determined during a previous sensor array calibration procedure. 
     In one embodiment, the sensor array calibration procedure  500  may be performed when a sensor array is coupled to a handle. The sensor array calibration procedure may be performed by a control circuit within the handle. The sensor array calibration may involve the application of a pressure or force to sensor elements in the sensor array, so as to obtain an average desired output of the receive line A/D converter across all the sensor elements of the sensor array (step  510 ). The applied pressure or force can be a substantially uniform pressure or force over the entire sensor array. For example, the sensor array may be placed in a bladder, and enough pressure or force may be applied so as to produce an average desired receive line AID output per sensor element. For example, the average desired receive line A/D output may be about 190 per sensor element out of a maximum reading of 255 for an 8-bit A/D converter. It also should be appreciated that obtaining a desired output of the receive line A/D converter across the sensor elements may be accomplished with other suitable approaches, and need not necessarily be achieved via the application of pressure or force to the sensor elements. 
     For each sensor element (step  520 ), the drive voltage on the handle can be set to a default value (step  530 ). For example, the default value may be about 0.3 volt. Also, an assumed path resistance for the selected sensor element may be set to a default value (step  540 ). For example, the default value may be 128 ohms for large sensor arrays. 
     A determination may be made as to whether the receive line A/D converter output for the selected sensor element is at the desired level (step  550 ), for example a reading of  190  as described above. If this is the case, the method can proceed to step  590 , where the assumed path resistance is stored for the selected sensor element. If this is not the case, the method can proceed with a variation of the drive voltage until the output from the receive line A/D attains the desired level. In method  500 , such a process can involve reading the drive current (step  560 ), varying the assumed path resistance (step  570 ), for example, by incrementally increasing and/or decreasing the assumed path resistance, and modifying the drive voltage by adding the drive current times the difference between the assumed and default path resistance (step  580 ). The process continues to step  550  and, once again, a determination is made as to whether the receive line A/D has attained the desired level for the selected sensor element. 
     The process is repeated until the test in step  550  determines that the desired level has been achieved, and then steps  530 - 590  are repeated for each sensor element of the sensor array. Upon completion of process  500 , a sensor array calibration file can be generated which can include path resistances for each sensor element on the sensor array. It should be appreciated that specific sensor arrays of the same type may have slightly different calibration files due to tolerance variations amongst the sensor arrays. The sensor array calibration file may be transferred from the handle to a coupled computing device, and stored with an identification number corresponding to the specific sensor array. It should also be understood that the path resistances generated via the illustrated process need not necessarily correspond to actual path resistances for each sensor element, but rather may be indicative of relative differences amongst path resistances. Therefore, as used herein, the path resistance of a sensor element is meant to also encompass values that are indicative of relative differences amongst path resistances. 
       FIG. 6  is an embodiment of a method, illustrated by flow diagram  600 , for using sensor array calibration data (such as the calibration data generated by the method of  FIG. 5 ) during a scan operation of a corresponding sensor array. Such a process may be performed by a control circuit within the handle (e.g., control circuit  34 ). During scanning, for each selected sensor element (step  610 ), the drive current is read within the handle (step  620 ). For example, the drive current may be determined based on the output of A/D converter  24  in  FIG. 2 . The selected sensor element&#39;s stored path resistance calibration data may be retrieved to enable drive voltage compensation that accounts for variations amongst sensor elements of the sensor array. In particular, the path resistance for the selected sensor element may be retrieved (e.g., from within a register in the control circuit  34 ) (step  630 ). Based on the path resistance of the selected sensor element and the drive current reading, a calculation of the voltage drop across the path resistance for the selected sensor element may be performed (step  640 ), for example using Ohm&#39;s law, namely by multiplying the current by the path resistance. The drive voltage may be compensated by adding the calculated voltage drop to the drive voltage (step  650 ). Such a process can be performed for each selected sensor element, thereby compensating for path resistance variations amongst sensor elements of a sensor array. As previously described, such a compensation process may be significantly beneficial for large sensor arrays having long electrodes. 
     In various embodiments, a gain applied to the received signals from the sensor elements of a sensor array may be compensated automatically. In some embodiments, an adjustment of the gain may be performed for each frame of collected sensor data.  FIG. 7  is an embodiment of an automatic gain compensation method, illustrated by flow diagram  700 , that may be performed within a handle. In one embodiment, a control circuit within the handle can adjust the gain of the receive line A/D converter on every frame based on received values from the previous frame. For each frame ( 710 ), a count of the number of receive line A/D converter outputs that are above a threshold can be determined (step  720 ). An example of the threshold value may be 220 for an 8-bit A/D converter. The count may serve as an indication of the signal strength of the frame as a whole. It should be appreciated that other types of signal strength values may be used, including, but not limited to, an integrated or average signal value over all the scanned sensor elements. The count, or more generally, any signal strength value used to gauge the signal strength over the scanned frame, may be stored within a register in the control circuit. 
     At the end of a frame, a determination can be made as to whether the count is greater than an upper limit (step  730 ). For example, an upper limit value may be 10% of the total number of scanned sensor elements. If the count is greater than the upper limit, the gain of the receive line A/D converter may be decreased (step  740 ). The gain of the receive line A/D converter may be decreased by varying the reference voltage and/or the drive voltage. If the count is not greater than the upper limit, a determination may be made as to whether the count is less than a lower limit (step  750 ). If yes, the gain of the receive line A/D converter can be increased (step  760 ). If not, the process continues without a variation in the gain of the receive line A/D converter. The gain value of the receive line A/D converter may be sent to the computing device receiving the scanned sensor data (step  770 ) so that received scan data for each frame may be properly normalized based on the gain applied for the given frame. It should be appreciated that the threshold value, the upper count limit, and/or the lower count limit may be set by a user, may assume default values, and/or may be set via any other suitable means. 
     In various embodiments, the sensitivity of a sensor array may be adjusted based on a typical pressure or force for which the sensor array is desired to operate in. In one embodiment, the sensitivity of the sensor array may be adjusted by setting a gain applied to signals received from the sensor elements. For a given pressure or force of operation, the gain value to be used to adjust the sensitivity of the sensor array may be determined using a sensitivity calibration procedure.  FIG. 8  is an embodiment of a method, illustrated by flow diagram  800 , for performing a sensitivity calibration for a sensor array. The method can involve the application of pressure to all sensor elements in the sensor array (step  810 ), for example, via the placement of the sensor array in a bladder assembly. Examples of applied pressures may include about 10 psi, 50 psi, 100 psi, 1000 psi, and/or any other suitable pressure. In step  820 , a determination may be made as to the receive line A/D converter gain for which the averaged receive line A/D converter output (averaged over the sensor elements of the sensor array) attains a desired level. For example, the desired level for the averaged receive line A/D output may correspond to the initiation of a saturation condition for the applied pressure. Such a determination may be made by using any suitable algorithm, including, but not limited to, an incremental search over possible receive line A/D converter gain values, so as to place the averaged receive line A/D output in saturation for gain values above the target gain value and in non-saturation for gain values below the target gain value. The receive line A/D converter gain that results in the average receive line A/D converter output attaining the desired level may be stored in a sensor array sensitivity calibration file corresponding to the specific sensor array (step  830 ). In addition, if desired, as determined in step  840 , steps  810 - 830  of the process may be repeated for other pressures or forces applied to the sensor array, thereby generating gain values to be used to adjust the sensitivity of the sensor array for use with different applied pressures of forces. 
     Some potential advantages of using a sensor array sensitivity calibration may include the possibility that the same sensor array can be used to measure pressures or forces that are within a range of +/−20 times the nominal sensor array&#39;s pressure or force saturation value. The improvement in range can improve production yield. Also, any changes in a sensor array&#39;s sensitivity due to wear can be compensated for via a sensor array sensitivity recalibration, which can prolong the sensor array&#39;s useful life. 
       FIG. 9  is an embodiment of a method, illustrated by flow diagram  900 , for using a sensor array&#39;s sensitivity calibration data for a scanning operation at a desired typical pressure. The method may be performed in part or in whole by a control circuit (e.g., control circuit  34 ) that controls the scanning of the sensor array. In one embodiment, the sensor array&#39;s sensitivity calibration value may be generated using the method illustrated in  FIG. 8 . In step  910 , a stored gain value may be retrieved from the previously generated sensor array sensitivity calibration data. In some embodiments, the retrieved gain value may depend on the typical pressure at which the sensor array is operated at. The typical pressure may be characteristic of the specific sensor array and the gain value that yields the desired sensitivity may be supplied by a manufacturer of the sensor array. The gain of the receive line A/D converter may be set according to the retrieved gain value (step  920 ), thereby adjusting the sensitivity of the sensor array consistent with the desired typical pressure of operation. It should be appreciated that the sensitivity adjustment of the sensor array may also be combined with one or more other gain adjustment processes, including, but not limited to the automatic gain adjustment process described in connection with  FIG. 7 . 
     In some embodiments, one or more of the methods described herein may be implemented by a control circuit that controls the scanning of a sensor array.  FIG. 10  is an illustrative embodiment of a functional block diagram  1000  of a control circuit that may be used in a handle that couples to a sensor array. In one embodiment, the control circuit implementing part or all of functional block diagram  1000  may be a field-programmable gate array (FPGA). In other embodiments, the control circuit implementing part or all of functional block diagram  1000  can be a standard microprocessor or other processor programmed to perform the various functions. In some embodiments, control circuit implementing functional block diagram  1000  may be a special purpose piece of hardware for performing these functions, may be some type of hybrid circuit which performs some of the functions itself and serves as an interface with other processing circuitry which performs the other functions, or may be other suitable control circuitry. 
     The control circuit can include an input interface  1010  with a communication link (not shown) that can allow for input of instructions from a computing device. Input interface  1010  can send instructions to a command validator and interpreter  1015  that can validate and interpret the incoming instructions. The interpreted instructions, which can include calibration data for sensor elements, automatic gain adjustment parameters, calibration data for sensor array sensitivity adjustment, and/or scan options, can be sent to and stored in a register  1020 . The calibration data can include one or more of the previously described calibration data stored in calibration files on the computing device. The scan options may include user definable scan subset or subsets that may be represented in a scan table, and other options, such as a frame sample rate for scan recording. Register  1020  can transfer relevant instructions and/or calibration data to one or more other modules. For example, the frame sample rate may be transferred to a timing module  1025 , which can generate various pulses having different periods which can synchronize the operation of one or more modules of the control circuit. In the functional illustration of  FIG. 10 , the timing module  1025  can send timing pulses to a scanning control module  1030 . 
     Scanning control module  1030  can receive scan instructions from the register  1020 . When a scan table is provided as a means for controlling the scanning of a subset or subsets of sensor elements of the sensor array, the scanning control module  1030  can access and/or receive the scan table from the register  1020 . In other embodiments, the scanning control module need not necessarily receive a scan table, and may scan all of the sensor elements on the sensor array, for example, by incrementing row and column values corresponding to the sensor elements of the sensor array. For each frame of data collection, scan control module  1030  can step through the sensor elements to be scanned, and can generate signals that may be sent to one or more modules and that can indicate the drive and receive line of a selected sensor element. In particular, the scanning control module can communicate with a sensor element compensation module  1040 , a drive and receive line multiplexer control module  1035  and an A/D interface module  1055 . 
     The ADC interface enables the reading of the output from one or more A/D converters (e.g., A/D converter  24  and  38  in  FIG. 2 ). In particular, the ADC interface allows for the reading of receive line signals (e.g., output of A/D converter  38 ) and a drive current signal (e.g., output of A/D converter  24 ). The drive current signal read by the ADC interface  1055  can be sent to the sensor element compensation module  1040  which can determine drive voltage compensation based on the sensor element calibration data (which can be retrieved from the register  1020 ), as previously described in method  600 . Compensated drive voltage values may be sent to the drive and receive line multiplexer control module  1035 . 
     The drive and receive line multiplexer control module  1035  can control the selection of the drive line and receive line which may be selected via communication with drive and receive line multiplexer interface  1050 . Also, module  1035  may control a DAC interface  1045  which can set the drive voltage via interface with one or more D/A converters (e.g., D/A converter  32  and  36 ). 
     The ADC interface  1055  may send the receive line A/D converter output values to storage control module  1065  which can store received signals for sensor elements in a frame. Once the sensor elements to be scanned for each frame have been received by storage control module  1065 , a complete frame of data and any other corresponding data (e.g., automatic gain values used) may be sent to transfer protocol module  1070 , which can encode the data using a suitable protocol. The encoded data may be sent to transfer interface  1075  which can transfer the data to the communication link (not shown). It should be appreciated that the simplified block diagram only shows some of the interactions between modules, as will be readily understood by those of ordinary skill in the art. In some embodiments, at least some of the modules of the control circuit may be configured to operate in parallel. In one embodiment, the scanning control module may be configured to operate in parallel with the ADC interface. Such parallel operation can be used to enhance data processing, including data acquisition and/or transfer rates. 
       FIG. 11  illustrates an embodiment of method  1100  that can be implemented by a scanning control module (e.g., scanning control module  1030 ) within a control circuit. The method  1100  can be used to implement scanning of a subset or subsets of sensor elements of a sensor array using a scan table, for example, the scan table  1200  illustrated in  FIG. 12 . The method includes a determination of whether a start acquisition pulse is triggering (step  1110 ). The start acquisition pulse may have been triggered upon the initiation of a new frame in a recording of multiple frames, or via a request for a snapshot of a single frame. The drive line number may be read from the scan table (step  1115 ). For example, value  1211  may be read from the scan table  1200 , and the drive line number may be extracted from the value. A pulse that indicates that the drive line is being changed is generated and may be sent to one or more modules within the control circuit (step  1115 ). The next value in the scan table may be read (e.g., value  1212 ), and the receive line number may be extracted from the value (step  1120 ). The method  1100  may include waiting for a settling time (e.g., about 15 μs) (step  1125 ), which may be specified in the register. 
     In step  1130 , the drive and receive line multiplexer values may be set via interface with the drive line and receive line multiplexer control module (e.g., module  1035 ). In parallel, other modules in the control circuit may acquire, compensate, and process the acquired sensor element data. In the meanwhile, method  1100  can proceed to determine if a new drive line value in the scan table has been read (step  1135 ) and if the end of the scanning table had been encountered (step  1140 ). In the first pass though the method for the first receive line value (e.g., value  1212 ) neither condition will be true and the method may include waiting a specified time for the measurement of the receive line to be completed (step  1145 ). Once the waiting time elapse, a pulse that indicates that a valid data measurement had been made may be generated and may be sent to one or more modules in the control circuit (step  1145 ). The next value in the scan table may be read (e.g., value  1213 ) (step  1150 ). After another wait delay (step  1155 ), the method loops back and continues with step  1130  where the drive and receive multiplexers are set. A determination may be made as to whether a new drive line has been encountered (step  1135 ), and if so, the method continues with step  1115 . Similarly, in step  1140 , a determination is made as to whether the end of the scanning table had been encountered, and if so, the method returns to a state of waiting for a start acquisition pulse. 
     It should be appreciated that various combinations of the above-described embodiments can be employed together, but several aspects of the invention are not limited in this respect. Therefore, although the specific embodiments disclosed in the figures and described in detail employ particular combinations of features, it should be appreciated that the present invention is not limited in this respect, as the various aspects of the present invention can be employed separately, or in different combinations. Thus, the particular embodiments described in detail are provided for illustrative purposes only. 
     It should also be appreciated that a variety of features employed in the art of processors may be used in combination with or to modify the above-described features and embodiments. 
     The foregoing written specification is to be considered to be sufficient to enable one skilled in the art to practice the invention. While the best mode for carrying out the invention has been described in detail, those skilled in the art to which this invention relates will recognize various alternative embodiments including those mentioned above as defined by the following claims. The examples disclosed herein are not to be construed as limiting of the invention as they are intended merely as illustrative of particular embodiments of the invention as enabled herein. Therefore, systems and methods that are functionally equivalent to those described herein are within the spirit and scope of the claims appended hereto. Indeed, various modifications of the invention in addition to those shown and described herein will become apparent to those skilled in the art from the foregoing description and fall within the scope of the appended claims.