[go: up one dir, main page]

HK1141101B - Single-chip multi-stimulus sensor controller - Google Patents

Single-chip multi-stimulus sensor controller Download PDF

Info

Publication number
HK1141101B
HK1141101B HK10107370.3A HK10107370A HK1141101B HK 1141101 B HK1141101 B HK 1141101B HK 10107370 A HK10107370 A HK 10107370A HK 1141101 B HK1141101 B HK 1141101B
Authority
HK
Hong Kong
Prior art keywords
signal
signals
matrix
drive
sense
Prior art date
Application number
HK10107370.3A
Other languages
Chinese (zh)
Other versions
HK1141101A1 (en
Inventor
S‧P‧霍泰玲
C‧H‧克拉
M‧尤斯弗波
T‧J‧威尔森
Original Assignee
苹果公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US12/283,423 external-priority patent/US8592697B2/en
Application filed by 苹果公司 filed Critical 苹果公司
Publication of HK1141101A1 publication Critical patent/HK1141101A1/en
Publication of HK1141101B publication Critical patent/HK1141101B/en

Links

Description

Single chip multi-stimulus sensor controller
Technical Field
The present invention relates generally to controllers for multi-stimulus sensors, and in particular to single chip controllers for multi-stimulus touch sensors.
Background
Many types of input devices are currently available for performing operations in computing systems, such as buttons or keys, mice, trackballs, joysticks, touch sensor panels, touch screens, and the like. In particular, touch screens are becoming increasingly popular due to their ease and versatility of operation and their declining price. A touch screen may include a touch sensor panel, which may be a clear panel with a touch-sensitive surface, and a display device, such as a Liquid Crystal Display (LCD), which may be positioned partially or completely behind the panel so that the touch-sensitive surface may cover at least a portion of the viewable area of the display device. Touch screens can allow a user to perform various functions by touching the touch sensor panel using a finger, stylus, or other object at a location dictated by a User Interface (UI) displayed by the display device. In general, a touch screen can recognize a touch event and the location of the touch event on the touch sensor panel, and the computing system can then interpret the touch event according to the display presented at the time of the touch event, and thereafter can perform one or more actions based on the touch event.
Mutual capacitance touch sensor panels can be formed from a matrix of drive and sense lines of a substantially transparent conductive material, such as Indium Tin Oxide (ITO), that are typically arranged in rows and columns in horizontal and vertical directions on a substantially transparent substrate. The drive signal may be transmitted through the drive lines, which results in a signal capacitance at the intersection of the drive lines and the sense lines (the sense pixel). The signal capacitance may be determined from a sense signal generated in the sense line due to the drive signal. In some touch sensor panel systems, multiple drive lines are stimulated simultaneously to produce a composite sense signal in the sense lines. While these systems provide certain advantages, conventional multi-incentive systems may be inflexible as they are typically limited to certain incentive scenarios for their operation. For example, a typical multi-stimulus system must use a particular combination of drive signals in order to produce a particular sense signal, and must extract the signal capacitance from the sense signal in a particular manner.
Disclosure of Invention
In view of the above, a multi-stimulus controller for a multi-touch sensor is formed on a single integrated circuit (single chip) so as to include a transmission oscillator, a transmission signal section that generates a plurality of drive signals based on a frequency of the transmission oscillator, a plurality of transmission channels that simultaneously transmit the drive signals so as to drive the multi-touch sensor, a reception channel that receives a sensing signal generated by driving the multi-touch sensor, a reception oscillator, and a demodulation section that demodulates the received sensing signal based on the frequency of the reception oscillator so as to obtain a sensing result, the demodulation section including a demodulator and a vector operator. Such an implementation may provide a more flexible system than conventional designs. For example, vector operations may allow for the selection and testing of arbitrary vectors, e.g., allowing a system designer to test and implement different excitation matrix/decoding matrix combinations without requiring extensive redesign of the sensing system.
Drawings
FIG. 1 illustrates an example computing system according to an embodiment of the invention.
FIG. 2A shows an exemplary mutual capacitance touch sensor panel according to one embodiment of this disclosure.
FIG. 2B is a side view of an example pixel in a steady-state (no-touch) condition, according to one embodiment of this disclosure.
FIG. 2C is a side view of an example pixel in a dynamic (touch) condition, according to one embodiment of this disclosure.
FIG. 3 illustrates an example Application Specific Integrated Circuit (ASIC) single chip multi-touch controller in accordance with embodiments of the present invention.
FIG. 4 illustrates an example transmission channel according to an embodiment of the invention.
FIG. 5 illustrates example stimulus for a touch sensor panel according to an embodiment of the invention.
FIG. 6 illustrates an example sense channel and a first stage of a multi-stage vector demodulation engine according to embodiments of the invention.
FIG. 7 illustrates an example second stage of a multi-stage vector demodulation engine according to an embodiment of this disclosure.
Fig. 8 shows an example receiving NCO according to an embodiment of the present invention.
FIG. 9A illustrates an example mobile phone with a touch sensor panel that includes a single chip multi-stimulus controller according to an embodiment of this disclosure.
FIG. 9B illustrates an example digital media player having a touch sensor panel that includes a single chip multi-stimulus controller according to embodiments of the invention.
FIG. 9C illustrates an example personal computer having a touch sensor panel (trackpad) and/or display including a single chip multi-stimulus controller according to embodiments of the invention.
Detailed Description
In the following description of the preferred embodiments, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the embodiments of the present invention.
The present invention relates to a multi-stimulus controller for a multi-touch sensor formed on a single integrated circuit (single chip). The controller includes a receiving portion, a multi-stage vector demodulation engine, a transmitting portion, and various peripherals such as memory, logic, interfaces, signal generators, processors, and the like. The multi-stimulus controller can drive a sensor, such as a touch sensor panel, using multiple simultaneous drive signals, and can receive sense signals from the sensor resulting from the multiple stimuli. The sense signal received by the multi-stimulus controller may be a composite signal formed by the superposition of a plurality of component sense signals, each component signal being generated from the drive signal and each component signal carrying measurement data. The multi-stimulus controller can demodulate and decode the multiple composite signals to extract the single measurement data carried by the component signals.
While embodiments of the invention may be described and illustrated herein as a mutual capacitance touch sensor panel, it should be understood that embodiments of the invention are not so limited, but rather that the invention can additionally be used with self-capacitance sensor panels, as well as both single-point or multi-point touch sensor panels, as well as other sensors that use multiple simultaneous stimulation signals in order to generate a composite sense signal. Additionally, although embodiments of the invention may be described and illustrated herein as a double-sided ITO (DITO) touch sensor panel, it should be understood that embodiments of the invention are also applicable to other touch sensor panel configurations, such as configurations in which the drive and sense lines are formed on different substrates or on the back of a cover glass, as well as configurations in which the drive and sense lines are formed on the same side of a single substrate.
FIG. 1 illustrates an example computing system 100 utilizing a single ASIC multi-touch controller 106 with an integrated drive system in accordance with embodiments of the invention. The touch controller 106 is a single Application Specific Integrated Circuit (ASIC) that may include one or more processor subsystems 102, which may include, for example, one or more main processors, such as an ARM968 processor or other processor with similar functionality and capabilities. However, in other embodiments, the processor functions may instead be implemented by dedicated logic, such as a state machine. Processor subsystem 102 may also include, for example, peripherals (not shown) such as Random Access Memory (RAM) or other types of memory or storage devices, watchdog timers and the like. The touch controller 106 may further include: for example, a receiving portion 107 for receiving signals, such as touch sensing signals 103 of one or more sensing channels (not shown), other signals from other sensors, such as sensor 111, and the like. The touch controller 106 may further include: for example, a demodulation section such as multi-stage vector demodulation engine 109, panel scan logic 110, and a drive system including, for example, a transmission section 114. Panel scan logic 110 can access RAM112, autonomously read data from the sense channels, and provide control for the sense channels. In addition, panel scan logic 110 can control transmit section 114 to generate stimulation signals 116 at various frequencies and phases that can be selectively applied to rows of touch sensor panel 124.
A charge pump 115 may be used to generate a supply voltage for the transmit section. By cascading transistors, stimulus signal 116(Vstim) can have a higher amplitude than the maximum voltage that can be tolerated by the ASIC process. Thus, the stimulus voltage may be higher (e.g., 6V) than the voltage level that a single transistor can handle (e.g., 3.6V). Although fig. 1 shows the charge pump 115 separate from the transfer portion 114, the charge pump may be part of the transfer portion.
Touch sensor panel 124 can include a capacitive sensing medium having a plurality of row traces (e.g., drive lines) and a plurality of column traces (e.g., sense lines), although other sensing media can also be used. The row and column traces can be formed from a transparent conductive medium such as Indium Tin Oxide (ITO) or Antimony Tin Oxide (ATO), although other transparent and non-transparent materials such as copper can also be used. In some embodiments, the row and column traces can be perpendicular to each other, although other non-Cartesian orientations are possible in other embodiments. For example, in a polar coordinate system, the sense lines may be concentric circles and the drive lines may be radially extending lines (or vice versa). Thus, it should be understood that the terms "rows" and "columns," "first dimension" and "second dimension" or "first axis" and "second axis" as used herein are intended to include not only orthogonal grids, but also intersecting traces of other geometric configurations having a first dimension and a second dimension (e.g., concentric circles and radial lines of a polar coordinate arrangement). The rows and columns can be formed on a single side of a substantially transparent substrate, on opposite sides of the substrate, on two separate substrates separated by a dielectric material, etc., separated by a substantially transparent dielectric material, for example.
At the "intersections" of the traces where the traces pass over (cross) each other (but do not make direct electrical contact with each other), the traces can essentially form two electrodes (although more than two traces can also intersect). Each intersection of row and column traces can present a capacitive sensing node and can be viewed as picture element (pixel) 126, which can be particularly useful when touch sensor panel 124 is viewed as capturing an "image" of touch. (in other words, after touch controller 106 has determined whether a touch event has been detected at each touch sensor in the touch sensor panel, the pattern of touch sensors in the multi-touch panel at which the touch event occurred can be considered an "image" of touch (e.g., a pattern of fingers touching the panel)). The capacitance between the row and column electrodes can appear as a parasitic capacitance when a given row is held at a Direct Current (DC) voltage level, and can appear as a mutual signal capacitance Csig when a given row is stimulated with an Alternating Current (AC) signal. The presence of a finger or other object near or on the touch sensor panel can be detected by measuring the signal change in the signal charge Qsig present at the pixel being touched, which is a function of Csig.
Computing system 100 may also include a host processor 128 for receiving output from processor subsystem 102 and performing actions based on the output, which actions may include, but are not limited to, moving an object such as a cursor or pointer, scrolling or panning (panning), adjusting control settings, opening a file or document, viewing a menu, making a selection, executing instructions, operating a peripheral device connected to the host device, answering a telephone call, making a telephone call, terminating a telephone call, changing volume or audio settings, storing information related to telephone communications such as addresses, frequently dialed numbers, received calls, missed calls, logging onto a computer or computer network, allowing authorized individuals to access restricted areas of the computer or computer network, loading a user profile associated with a user's preferred arrangement of the computer desktop, allowing access to Web content, initiate a specific procedure, encrypt or decode a message, and/or the like. Host processor 128 may also perform additional functions unrelated to panel processing and may be connected to program storage 132 and display device 130, such as an LCD display for providing a UI to a user of the device. In some embodiments, as shown, host processor 128 may be a separate component from touch controller 106. In other embodiments, host processor 128 can be included as part of touch controller 106. In other embodiments, the functions of host processor 128 may be performed by processor subsystem 102 and/or distributed among other components of touch controller 106. When positioned partially or completely under the touch sensor panel, the display device 130 can form the touch screen 118 with the touch sensor panel 124.
Note that one or more of the functions described above can be performed, for example, by firmware stored in memory (e.g., one of the peripherals) and executed by processor subsystem 102, or by firmware stored in program storage 132 and executed by host processor 128. Firmware can also be stored in and/or transmitted over any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a "computer-readable medium" can be any medium that can contain or store the program for use by or in connection with the instruction execution system, apparatus, or device. The computer readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus or device, a portable computer diskette (magnetic), a Random Access Memory (RAM) (magnetic), a read-only memory (ROM) (magnetic), an erasable programmable read-only memory (EPROM) (magnetic), a portable optical disk such as a CD, CD-R, CD-RW, DVD, DVD-R, or DVD-RW, or flash memory such as compact flash cards, secured digital cards, USB memory devices, memory sticks, and the like.
The firmware can also be transmitted over any transmission medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a "transmission medium" may be any medium that can communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The transport readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic or infrared wired or wireless transmission medium.
FIG. 2A is a partial view of an example touch sensor panel 124 showing more detail according to embodiments of the invention. FIG. 2A indicates the stray capacitance Cstray (C) at each pixel 202 located at the intersection of a row 204 and a column 206 traceParasitic element) Although Cstray for only one column is shown in fig. 2A for purposes of simplifying the illustration. In the example of fig. 2A, the driving signal transmitted by the transmitting part 114 may be applied to a row of the touch panel. For example, AC stimuli Vstim 214, Vstim 215 and Vstim 217 can be applied on several rows, while other rows can be connected to DC. As will be explained later, Vstim 214, Vstim 215, and Vstim 217 can be, for example, signals having different phases. Each stimulus signal on a row can cause a charge Qsig to be injected into the column through the mutual capacitance present at the affected pixel, where:
Qsig=Csigx Vstim (1)
when a finger, palm, or other object is present at one or more affected pixels, a change in injected charge (Qsig _ sense) may be detected. Vstim signals 214, 215 and 217 can include one or more pulse trains of sine waves, square waves, and the like. The Vstim signal may consist of a signal having one particular phase, amplitude and frequency, but may, for example, be essentially a composite of multiple signals each having a particular phase, amplitude and frequency, for example, may consist of multiple signals each having a particular phase, amplitude and frequency. The frequency, phase or amplitude of each signal component may be modulated. For example, amplitude modulation may be used for windowing purposes in order to provide an excitation signal that is narrowband and has little harmonic content, thereby preventing unwanted noise sources from entering the receive channel. For example, using an excitation signal having a square wave shape has higher harmonics. These higher harmonics may cause in-band noise components due to intermodulation between the external noise components and the excited higher harmonics. Note that while FIG. 2A shows rows 204 and columns 206 as being generally vertical, they need not be so arranged, as described above. For example, each column 206 may be connected to one sense channel.
FIG. 2B is a side view of an exemplary pixel 202 in a steady-state (no-touch) condition in accordance with an embodiment of the invention. In fig. 2B, the electric field of electric field lines 208 of the mutual capacitance between column 206 and row 204 traces or electrodes separated by a dielectric 210 is shown.
Fig. 2C is a side view of an example pixel 202 in a dynamic (touch) situation. In FIG. 2C, finger 212 has been placed near pixel 202. Finger 212 is a low impedance object at the signal frequency and has an AC capacitance C from column trace 206 to the human bodyFinger(s)(CFinger). The human body has a self-capacitance to ground C of about 200pFHuman body(Cbody) wherein CHuman bodyRatio CFinger(s)Much larger. If finger 212 blocks some of the electric field lines 208 between the row and column electrodes (fringing fields that exit the dielectric and pass through the air above the row electrode), these electric field lines are shunted to ground through the capacitance path inherent in the finger and the human body, and as a result, the steady-state signal capacitance Csig is reduced by Δ Csig. In other words, the equivalent human body and finger capacitance acts to reduce Csig by an amount Δ Csig (also referred to herein as Csig sense), and can act as a shunt or dynamic return path to ground that blocks certain electric fields resulting in a reduced net signal capacitance. The signal capacitance at the pixel becomes Csig- Δ Csig, where Csig represents the static (no touch) component and Δ Csig represents the dynamic (touch) component. Note that Csig- Δ Csig may always be non-zero due to the inability of a finger, palm or other object to block all electric fields, especially those electric fields that remain entirely within the dielectric material. Additionally, it should be understood that as the finger is pressed more forcefully or completely against the multi-touch panel, the finger may tend to flatten, blocking more and more of the electric field, and thus Δ Csig may be variable and represent how completely the finger is pressed against the panel (e.g., ranging from "no touch" to "full touch").
FIG. 3 is a more detailed block diagram of an exemplary single ASIC multi-touch controller 106 according to embodiments of the invention. The Receive (RX) portion 107 of the touch controller 106 includes a miscellaneous channel 305 (e.g., a channel for infrared sensors, temperature sensors, etc.) and a total of N receive channels, such as a sense channel 307. The sense channel 307 is connected to an offset compensator 309. The multistage vector demodulation engine 109 includes a digital demodulation section 313, a result memory 315, and a vector operator 317. The digital demodulation section 313 is connected to a Reception (RX) NCO319, and the vector operator 317 is connected to a decoding matrix RAM321 and to a result RAM 323. The Transmit (TX) section 114 includes transmit logic 327, a transmit DAC329, and a total of M transmit channels 333. The transmit NCO335 clocks the transmit logic and TX DAC and the charge pump 115 powers the transmit channel. The transmission channel 333 is connected to the excitation matrix RAM337 via an analog bus 339. The decode matrix RAM321, result RAM323, and stimulus matrix RAM337 may be, for example, part of RAM 112. Processor subsystem 102 can store and update, for example, the decode matrix in decode matrix RAM321 and the stimulation matrix in stimulation matrix RAM337, initialize the multi-touch subsystem, process data from the receive channels, and facilitate communication with a host processor.
FIG. 3 shows processor subsystem 102, panel scan logic 110, and host processor 128. Fig. 3 also shows a clock generator 343 and a processor interface 347. The various components of touch controller 106 are coupled together by a peripheral bus 349. Processor interface 347 is connected to host processor 128 through a Processor Interface (PI) connection 353.
An example drive signal transmission operation of the touch controller 106 according to an embodiment of the invention will now be described with reference to fig. 4, which is a block diagram showing more detail of the touch controller 106. Transmit logic 327, powered by charge pump 115, generates a digital signal based on TX NCO 335. TX DAC329 is a differential DAC and converts the digital signals from transmit logic 327 into stimulus signals Vstim + and Vstim-. Vstim + is a signal having a waveform at the same frequency as TX NCO335, and Vstim is a signal having a waveform of Vstim + that is flipped with respect to the common voltage Vcm. In this example, the common voltage Vcm is equal to 2.5V. Vstim + is a sine wave of frequency ω with a DC offset of 2.5V and a maximum amplitude of 4.75V:
Vstim+=2.5V+2.25V*sin(ωt)
vstim-is a sine wave with a 2.5V DC offset and a maximum amplitude of 4.75V, with a phase of ω 180 degrees different from Vstim +:
Vstim-=2.5V+2.25V*sin(ωt+180°)
of course, other excitation signals and signal generation methods may be used. For example, TX NCO335 may include a mixer to mix the sine wave Vstim + and Vstim signals above with the envelope waveform generated from an envelope look-up table (LUT). The envelope shaping/windowing capability may be beneficial because it allows control over the spectral properties of the excitation waveform, and also controls how much energy is placed within the multi-touch channel. Both of these properties control the amount of interference suppression. The more energy is placed into the channel, the more advantageous interference suppression is for external interfering signals. Examples of windowing functions are Gaussian, Chebychev or Rectangular. The use of, for example, a Chebychev window, as opposed to a Rectangular window, results in an excitation waveform that has reduced side-band ripple (sideband ripple) in the frequency domain and thus allows less noise to enter the receive channel after demodulation.
TX DAC329 provides Vstim + and Vstim to separate lines of analog bus 339. Bus 339 also includes a line carrying common voltage Vcm and a line gnd to ground. Each transmission channel 333 includes an analog MUX (multiplexer) 401 and a buffer 403. Analog MUX401 is connected to each line of bus 339 and may select one of the drive signals Vstim +, Vstim-, Vcm or gnd for provision to buffer 403. The use of a single TXDAC329 with an analog bus 339 and multiple MUXs 401 (one per transmission channel) may allow for a reduced footprint on chip relative to other designs. However, more than one TX DAC329 may be used. TX DAC329 may be, for example, a R2-R DAC, a temperature coded DAC, a sigma-delta DAC, or other type of DAC. As described in more detail below, MUX401 selects drive signals based on the stimulation matrix 407 stored within stimulation matrix RAM 337. The buffer 403 of the transmit channel 333 may have a gain of 1 (number 1) or a gain greater than 1, depending on the maximum stimulus voltage level at the output of the TX DAC. Thus, the buffer not only serves the purpose of gain amplifying the signal from the TX DAC, but also provides the driving capability to drive most of the capacitive load presented to it by the multi-touch sensor panel 124.
The output buffer 403 may provide the benefit of preventing noise present on the charge pump supply from propagating to the VSTM output. This is important to prevent any unwanted noise generated by the charge pump on the VSTM port to reduce the signal-to-noise ratio, as well as inadvertently affecting touch performance. In other words, since each buffer 403 has negative feedback, the buffers 403 are inherently self-adjusting. The supply ripple suppression of the output buffer 403 may be sufficient to suppress any supply ripple present on the charge pump supply. In some embodiments, the use of buffer 403 in transmit section 114 may provide sufficient power supply ripple rejection to allow the use of an unregulated charge pump. This may allow for a simpler and more efficient charge pump design. Additionally, the charge pump operating frequency may be selected as a function of the excitation frequency or outside of the excitation frequency range in order to prevent noise introduced by the charge pump from affecting touch performance.
In each step of the multi-step scan of the touch panel sensor 124, each MUX401 selects one of Vstim +, Vstim-, Vcm, or GND for transmission to a corresponding drive line of the touch panel sensor. GND may be used to place the corresponding output buffer in a low power state if the buffer is not being used in order to save power. The selection is made based on the excitation matrix 407. As shown in fig. 4, each row of excitation matrix 407 corresponds to a step in the scan, and the values in the rows indicate the drive signal selection for each TX channel 333. For each step in the scan, MUX401 selects the drive signal based on the values in the rows of stimulus matrix 407. For example, in the first STEP, STEP0 line in FIG. 4 indicates the signal select of MUX401 for the first TX channel (MUX0_ SEL), the signal select of MUX401 for the second TX channel (MUX1_ SEL), and so on. At each step, the MUX can select a different combination of signals to excite the panel differently than the other steps. The panel scan logic 110 may control the timing of these steps by incrementing the step addresses stored in the stimulus matrix RAM337 through a connection via the peripheral bus 349. Once the MUX selects a signal, the signal is sent to the buffer 403 of the TX channel to be transmitted to the panel sensor. Note that the panel scan logic may also modify the excitation matrix 407 via the peripheral bus 349, e.g., to adjust the values of the data items of the excitation matrix, to replace the excitation matrix with another excitation matrix, etc.
FIG. 5 illustrates example actuation of touch sensor panel 124 according to embodiments of the invention. In particular, FIG. 5 shows signal paths for drive signals through rows 204 of touch sensor panel 124 and sense signals through columns 206 of touch sensor panel 124. FIG. 5 shows touch controller 106 driving sensor panel 124 in one step of the sensor panel scan. In FIG. 5, touch controller 106 is shown with M transmission channels 333 and N sense channels 501 corresponding to M drive lines (rows) 204 and N sense lines (columns), respectively, of sensor panel 124. Transmission channel 333 transmits drive signals Vstim [0], Vstim [1],. Vstim [ M-1] over drive line 204, where Vstim is proportional to the signal capacitance Csig for the pixel. As described above, sense signals SenseSig [0], SenseSig [1],. SenseSig [ N-1] are generated as a result of signal charge Qsig injected into sense line 206 of each pixel driven at Vstim. Assuming a linear system, the total signal charge Qsig _ tot injected into the sense line 206 is the sum of the signal charges injected at each pixel of sense channel C:
Qsig_totC=QsigC(0)+QsigC(1)+...+QsigC(M-1) (2)
wherein QsigC(R) is for the sense channelC, the injected charge at the pixel of the drive line R. Thus, reference is made to equation (1) above:
Qsig_totC=Vstim(0)×CsigC(0)+Vstim(1)×CsigC(1)+...(3)
Vstim(M-1)×CsigC(M-1)
at each step in the scan of sensor panel 124, Qsig _ tot is generated in each sense channel when drive lines 204 are driven with a particular drive signal based on the MUX _ SEL value for that step in stimulation matrix 407C. A complete scan of the sensor panel 124 results in multiple Qsig _ totCMeasured values, i.e. one Qsig _ tot per channel per stepC. For a scan with P steps, equation (3) can be written as a series of equations, each for one step in the scan of sense channel C:
Qsig_totC(S)=Vstim×cos(Pz_stimC(0,S))×CsigC(0)+
Vstim×cos(Pz_stimC(1,S))×CsigC(1)+...(4)
Vstim×cos(Pz_stimC((M-1),S))×CsigC(M-1)
wherein: step index (from 0 to P-1)
Channel index (from 0 to N-1)
Qsig_totCQsig _ tot for sense channel C in step S
CsigC(R)Signal capacitance at the pixel corresponding to the drive line R of the sense channel C
Equation (4) can be written in matrix form:
wherein: mC(R,S)=cos(Pz_stimC(R,S))
Or written in simplified form:
wherein
Of equation (5)In part, the selection of drive signals in the excitation matrix 407 in view of the particular processing method of the system. In particular, a phase matrixThe items in (1) are the cosine of the phase of the stimulus signal (cos (0 °)) for Vstim + and cos (180 °) for Vstim-. This representation takes into account the particular demodulation process used in this exemplary embodiment, described in more detail below with reference to fig. 6. Although different sense channels have the same phase matrix in this example embodiment, in other embodiments, the phase matrix may vary from sense channel to sense channel.
Thus, by stimulating pixels of a channel with different combinations of Vstim signals, each combination of Vstim signals is defined by a row in stimulation matrix 407, and the total signal charge Qsig _ tot is obtained from the sense signals resulting from the different stimulation combinationsCFor example, the signal capacitance Csig at each pixel of the channel can be determinedc
Wherein
However, although the excitation matrix (and by extension,) Representing the drive signal selected for each drive line for each step in the scan, the excitation matrix cannot reflect how the system is actually excited once the drive signal is selected. In other words, the excitation matrix cannot capture pixel excitations and other factors in the measurement of the sense signal that may depend on the configuration and operation of the system. One example factor that is not considered in the excitation matrix is a change in signal delay. For example, fig. 5 shows that in this particular example, both the drive signal and the sense signal may have different signal path lengths.
For clarity, FIG. 5 shows only drive signals 511(Vstim [0]) and 513(Vstim [ M-1]) corresponding to drive lines 204a and 204b (the first and last drive lines), and resulting component signals 517 and 519 of sense signal SenseSig [0] produced on sense line 206a, and component signals 521 and 523 of sense signal SenseSig [1] produced on sense line 206b (the first and second sense lines). Fig. 5 shows that each sense signal is a composite signal formed by the superposition of multiple component signals generated at the pixels of the sense line.
FIG. 5 shows that the length of the signal path from the transmit channel to the sense channel can vary depending on the particular drive line and sense line pair. For example, the signal path lengths of the component signals from the pixels to the receive channels may be different. For example, in sense line 206a, the path length of component signal 517 is longer than the path length of component signal 519. Similarly, in sense line 206b, the path length of component signal 521 is longer than the path length of component signal 523. In addition, the signal path length of the driving signal may vary according to the channel. For example, from TransmitC [0]]The path length ratio to the pixel 512 of the drive line 204a with the sense line 206a is from TransmitC [0]]The path length to the pixel 525 of the drive line 204a with the sense line 206b is short. For an AC signal, for example, a change in signal delay may cause a difference in the phase of the component signals, which may be formed for obtaining Qsig _ totCIs reflected in the superposition of the component signals of the composite sense signal SenseSig. Thus, for example, since the excitation matrix does not account for signal delays in the system, the excitation matrix 407 (and thus,) It cannot accurately reflect how the sensing signal is actually formed. The total signal charge Qsig _ tot due to equation (4) is obtained from the sense signalCThe resulting phase matrix therefore cannot produce CsigCThe exact result of the value. However, the phase component of equation (4) may be modified to compensate for factors such as changes in phase delay associated with, for example, a particular drive/sense line pair.
For example, the phase delay associated with the excitation signal for each pixel in the channel may be added to the corresponding phase component of equation (4):
Qsig_totC(S)=Vstim×cos(Pz_stimC(0,S)+φC(0))×CsigC(0)+
Vstim×cos(Pz_stimC(1,S)+φC(1))×CsigC(1)+... (7)
Vstim×cos(Pz_stimC((M-1),S)+φC(M-1))×CsigC(M-1)
wherein: phi is aC(R) is the phase delay associated with the drive line R of the sense channel C. The modified phase component results in a compensated phase matrix for that channel:
wherein: mC_comp(R,S)=cos(Pz_stimC(R,S)+φC(R)) the inverse of the compensated phase matrix is used as the decoding matrix in equation (6):
decoding matrixQsig _ tot, which may be stored in decode matrix RAM321, and which is obtained from sense signals and stored in result memory 315CThe measurements are used together to determine Csig by calculating equation (9)CThe value is obtained.
Obtaining Csig from the sense signal according to embodiments of the invention will now be described with reference to FIGS. 6-7CExample processing of values. This example process implements multi-stage demodulation/decoding, where Qsig _ tot is obtained by signal demodulation in one stageCMeasures the values and performs a vector/matrix operation in a second stage to determine CsigCThe value is obtained. FIG. 6 shows details of one of sense channel 307 and digital demodulation portion 313 according to an embodiment of the present invention. As shown in FIG. 6, the sense channel 307 includes a charge amplifier 601, an anti-aliasing filter (AAF)603, and an analog-to-digital converter (ADC) 605. The digital demodulation section 313 includes a programmable delay 607, a mixer (signal multiplier) 609, and an integrator 611. In each step of the scan, the amplifier 601 of the sense channel 307 receives the resultant signal charge as described in equation (7) along with a programmable offset charge. The charge amplifier 307 then converts the offset compensated composite signal charge to a voltage VSIG through the feedback capacitor CFB so that the output of the preamplifier becomes: vsigC=(Qsig_totC-QoffC)/CfbkC
In some cases, the sense signal may be adjusted by the offset compensator 309 before being input to the amplifier 601. Adjusting the offset of the digital signal may reduce the dynamic range of certain excitation signals generated from the highly variable excitation matrix. In particular, certain highly variable stimulus matrices can result in a sense signal having a dynamic input range that is greater than the charge amplifier 601 dynamic input range, i.e., the dynamic range of the maximum signal magnitude that the amplifier can accept before the charge amplifier saturates. For example, where the excitation matrix is a Hadamard matrix, all channels are driven with excitation signals having the same phase in one step in the scan, and it is possible to accumulate all the resulting component sense signals to produce a composite sense signal having an amplitude that saturates amplifier 601. In this case, offset compensation may be used in order to subtract sufficient charge from the input charge in order to prevent the charge amplifier from saturating. The offset compensation during scanning may be performed during transmission (on-the-fly), i.e. different offset compensations may be applied during out of sync of the scan.
In another example embodiment, saturation of the amplifier 601 may be mitigated, for example, by adjusting the feedback capacitance of the amplifier. In this case, the individual sensing channels may be adjusted, but the adjustment will remain the same for each step in the scan. This approach is acceptable where the excitation matrix is used to cause the same or similar signal imbalance in the channel during the scan, and the amount of adjustment is not large, e.g., by a factor of 2 at most. For example, using a circulant matrix as the excitation matrix causes a fixed imbalance in all steps.
For clarity, the sense signal processing to obtain the value of Qsig _ total is described below with reference to processing a signal component of the sense signal for one sense channel (resulting from a stimulus to one of the channel pixels) to obtain a single Qsig component of Qsig _ total for that sense channel. However, it should be understood that the analysis applies to all component signals, and that the actual Qsig _ total result may be understood as simply a superposition of the individual Qsig results of the other component signals.
When stimulation signal Vstim is applied to a drive line of a pixel, the AC portion Vstim _ AC (t) of the stimulation signal is coupled through the sense line, producing signal charge Qsig (t) that tracks Vstim _ AC (t) with an amplitude proportional to the signal capacitance Csig of the pixel. From equation (1) above:
Qsig(t)=Csig x Vstim_AC(t) (10)
the feedback capacitance in the feedback path of the charge amplifier 601 converts the injected signal charge into an output voltage related to the reference voltage VREF of the charge amplifier:
using equation (10) instead of qsig (t) yields:
accordingly, the charge amplifier 601 outputs a signal having an amplitude Vamp _ out (t) that is scaled by the gain (Csig/Cf) of the charge amplifier. More generally, the sensor panel 124 adds amplitude modulation to the drive signal with information about what is being sensed, such as a finger, a level surface, etc.
The output of the charge amplifier 601 is fed into the AAF 603. The AAF603 may attenuate noise components above the nyquist sampling limit of the ADC sufficiently to prevent these components from being mixed back into the operating frequency range of the multi-touch controller. Additionally, the AAF603 may attenuate any noise outside of the operating frequency range of the multi-touch controller and thus help improve the signal-to-noise ratio. It may also be important to properly select the sampling clock FCLK _ DAC of the TX DAC. Generating a signal of frequency FSTM at the TXDAC clock rate will introduce an image in the frequency spectrum of the TX DAC output signal at N x FCLK _ DAC +/-FSTM, with N being 1, 2. The image will appear in the composite signal entering the receive channel. After the composite signal is sampled with the ADC in the receive channel, the images will fold around the sampling frequency FCLK _ ADC at which the ADC samples the composite touch signal. The output of the ADC therefore has the following frequency components: n (FCLK _ DAC +/-FCLK _ ADC) +/-FSTM. These images appear in the pass band if the DAC and ADC clock rates FCLK _ DAC and FCLK _ ADC, respectively, are the same frequency. In the above example, one possible frequency component is (FCLK _ DAC-FCLK _ ADC) + FSTM ═ FSTM, and thus will appear as an undesirable in-band component that results in reduced SNR, and thus reduced touch performance. Therefore, it is beneficial to choose a TX DAC sampling frequency FCLK _ DAC that is different from the ADC sampling rate. This may prevent the image from folding back into the passband. In one embodiment, FCLK _ DAC may be twice the ADC clock rate FCLK _ ADC. The two clock sources should be correlated, i.e. based on the same master clock. It may be beneficial to have the DAC sampling clock be higher in frequency than the ADC sampling clock, since the DAC may consume less power than all ADCs combined for the same increment of sampling clock frequency.
The output of the AAF603 may be converted by the ADC605 to a digital signal that is sent from the sensing channel 307 to the digital demodulation section 313. The digital demodulation section 313 demodulates the digital signal received from the sensing channel 307 using homodyne mixing processing in which the signal is multiplied by a demodulated signal of the same frequency. To increase the efficiency of the mixing process, it may be desirable to adjust the phase of the sense channel output signals to match the phase of the demodulated signal. Pixels of sensor panel 124 are stimulated at Vstim +, and the resulting sense signals processed as described above will result in the following outputs from sense channel 307:
wherein: v0Amplitude of AC part of 2.25V-Vstim
θ -relative phase delay between the signal output of the ADC605 and the demodulated signal for a given sense channel
For Vstim-stimulation, the output from ADC605 is:
the relative phase delay θ may be an aggregate of the delays caused by various system elements such as the geometry of the signal path, the operation of the output buffer, and so forth. In general, the various delays in a system can be divided into two categories, delays that apply equally to all of the drive lines of a sense channel, referred to herein as global delays, and delays that vary between the drive lines of a sense channel, referred to herein as individual line delays. In other words, the global delay affects all component signals of the composite sense signal equally, while the individual line delays result in different amounts of delay for different component signals. The relative phase delay can be expressed as:
θ=DCL+φ(R) (15)
wherein: DCL is the sum of all global delays affecting the sense channel (referred to herein as the synthetic global delay)
Phi (R) is the individual line delay associated with the drive line R of the sense channel
Substituting equation (15) into equations (13) and (14) yields:
since the global delay affects all component signals of the sense signal equally, once the composite global delay DCL is determined for the channel, the global portion of the phase delay of the sense channel output signal may be removed by the programmable delay 607, yielding:
as signals corresponding to Vstim + and Vstim-respectively, which are input to mixer 609.
Since the individual line delays are different for different signal components of the sense signal, it is not possible to sense simply by using a single phase adjustment to the composite sense signal, such as the phase adjustment made by the programmable delay 607Individual line delays are removed from the test signal. However, this can be achieved by a compensated phase matrix as described in more detail belowIndividual line delays are considered.
The phase adjusted signal is sent from programmable delay 607 to mixer 609. Mixer 609 combines the phase adjusted signal with a demodulated signal generated by RX NCO319 based on master oscillator 615
Vdemod=sin(ωt), (20)
Multiplication. Note that the mixing is performed using a digital signal. This may provide a higher resolution than some previous designs, which may result in improved noise suppression.
The resulting demodulated signal output by the mixer 609 is:
the mixer output is integrated by integrator 611, producing:
since the integrator has essentially a low pass response, the high frequency component cos (2 ω t +180 ° + Φ (R)) is eliminated, leaving only the DC component.
By 2CfThe result in the scaled integrator 611 results from the integrator611:
Vint_scaledV+=V0x cos (phi (R)). times Csig, if Vstim (R) ═ Vstim + (25)
Vint_scaledV-=V0X cos (180 ° + Φ (R)) × Csig, if Vstim (R) ═ Vstim- (26)
In each step S of the scan of sensor panel 124, drive line 204 is driven with either Vstim + or Vstim drive signals, based on the MUX _ SEL values for that step in stimulation matrix 407, each stimulation signal producing a component output (25) or (26) of integrator 611 for each sense channel. Thus, for channel C, the output of integrator 611 is a linear combination of the corresponding components (25) and (26):
Vint_scaled_tot_C(S)=V0×WC(0,S)×Csig(0)+
V0×WC(1,S)×Csig(1)+... (27)
V0×WC(M-1,S)×Csig(M-1)
wherein:
the right-hand side of equation (27) is the same as the right-hand side of equation (7), V0Is equal to the amplitude Vstim of the stimulus signal, and WC(R, S) equals the compensated phase matrixThe component (c). Thus, the output voltage V of the integrator 611int_scaled_tot_C(S) synthesizing only the signal charge Qsig _ tot at each stepC(S)。
Qsig _ tot output by integrator 611 of the channelCThe values are committed to the result store 315 for the decoding operation to determine the channelQsig _ tot for Csig value ofCVector:
an example vector decoding operation according to an embodiment of the present invention will now be described. Referring to FIG. 3, the vector operator 317 reads Qsig _ tot from the memory 315CVectors, and reads the decoding matrix from the decoding matrix RAM321The vector operator 317 then performs Qsig _ tot according to equation (9)CVector sum decoding matrixTo obtain the Csigc vector for channel C:
the Csig vector is committed to result memory RAM323, where other systems, such as processor subsystem 102, host processor 128, etc., can read the Csig vector to sense a touch, for example, by comparing the Csig vector component to a known static (no touch) value for Csig.
Fig. 7 shows the second stage of the multi-stage vector demodulation engine 109. After assertion of the signal START _ FRAME, the vector demodulation engine, the step counter, and the register are reset. After the first step, a multiplier 701 (one multiplier per drive line 0 to M-1) pairs Qsig _ tot available at the output of the integrator 611 and stored in the result memory 315CAnd the digital representation of (1) is stored in step0The respective decoding matrix coefficients in (b) are multiplied and after assertion of the signal LOAD _ STEP, the results are accumulated in accumulators 703(1 to 16), respectively. After the second step, multiplier 701(0 to M-1) pairs the Qsig _ tot available at the output of integrator 611CAnd the decoded matrix coefficients for step 1The multiplication and, after the assertion of the signal LOAD STEP, the results are accumulated in accumulators 703(1 to 16), respectively.This process is repeated until the data of the last step P has been processed, at which time the accumulated data in the accumulators 1 to 16 (which now represent the PIXEL data Csigc) are stored in the result register RAM323 after assertion of the signal LOAD _ PIXEL. Note that the signal LOAD STEP also resets the first stage of the multistage vector demodulation engine 109 at the end of a given STEP in preparation for processing the next STEP of synthesized data. The second stage of the multi-stage vector demodulation engine essentially performs the operation in equation (9). The multipliers 701(1-16) and the accumulators 703(1-16) need not be implemented as separate multipliers, but may be implemented as a single multiplier and accumulator that may be shared among multiple channels. An example of this is described in U.S. patent application No.12/208,303 (attorney docket No.106842023800) to thomas wilson, entitled "ADVANCED RECEIVE channelarthitecure", filed on even date herewith.
Performing multi-stage vector demodulation such as in the present example may provide a more flexible system than conventional designs. For example, vector operations may allow for the selection and testing of arbitrary vectors, allowing system designers to, for example, test and implement different excitation matrix/decoding matrix combinations without requiring extensive redesign of the sensing system. Similarly, using a vector operation stage may allow the sensing system to use a matrix that is not easily inverted. For example, a Hadamard excitation matrix containing only 0, 1 and-1 (so as to excite at a signal frequency of 0 or 180 in phase) has an inverse matrix containing only 0, 1 and-1. However, for example, the inverse of the circulant matrix contains decimals. Using matrix decoding, current implementations allow the use of matrices such as circulant matrices. In another potential benefit, scaling of the system may be more easily achieved. For example, in the case of drivers on a chip that are not uniform (e.g., in the case of a manufacturing process of a chip that does not produce uniform drivers), the channels may be more easily scaled to reduce or correct for mismatches.
With reference to fig. 3, exemplary optional features according to embodiments of the invention will now be described. In addition to receiving the sense signal from the sense channel 307, FIG. 3 shows that the digital demodulation portion 313 can also receive signals from other channels, such as the miscellaneous channel 305 (see FIG. 3), which may include signals from, for example, the sensor 111 (FIG. 1). The sensor 111 may be, for example, an infrared sensor, a temperature sensor, an ambient light sensor, a proximity sensor, and the like. These miscellaneous channel signals may be used, for example, to calibrate the system for far-field detection, for additional sensing, for example, during demodulation/decoding processes, to display information, and so forth. The miscellaneous channel signal may be demodulated and/or decoded similar to the sense signal described above.
Fig. 8 shows an exemplary receiving NCO 801 according to an embodiment of the present invention. The RX NCO consists of a sine phase accumulator 803, sine lookup table 805, mixer 807, amplitude phase accumulator 809, and amplitude lookup table 811. The programmable phase increment sine phase inc determines the frequency of the demodulation waveform. Phase accumulator 803 accumulates sinusoidal phase increments sine _ phase _ inc. The output of sine phase accumulator 803 represents an address in sine lookup table 805. The synthesized waveform in the sine lookup table 805 has a constant amplitude, which is envelope-shaped by multiplying the amplitude by an envelope. The envelope shape is stored in the amplitude table 811 and retrieved from the amplitude LUT at a rate set by the amplitude phase increment amp _ phase _ inc. Similar to the sinusoidal phase increment, the amplitude phase increment amp _ phase _ inc is accumulated by the amplitude phase accumulator 809. The output of the amplitude phase accumulator 809 represents the address in the amplitude RAM. For example, the sine lookup table 805 may store 2048 coefficients that accurately represent one sine wave period. The sinusoidal phase increment may be a 16 bit number, i.e., phase accumulator 809 is also 16 bits. Since sine lookup table 805 stores 2048 coefficients representing an 11-bit address space, only the upper 11 bits in sine phase accumulator 809 are fed into the address port of the sine lookup table. Assuming that the demodulation waveform is generated at the ADC clock rate FCLK _ ADC, the phase increment for a given excitation frequency FSTM may be phase _ inc ^ 2^16 ^ FSTM/FCLK _ ADC. The benefit of having envelope shaping is that the spectral characteristics of the demodulated passband can be precisely controlled. The demodulated frequency response is essentially a convolution of the time domain representation of the envelope and the sine wave in sine look-up table 805. For example, for a rectangular window, the demodulated frequency domain representation is a single frequency component (sinc function sin (x)/x) convolved with the time domain representation of the rectangular window. The passband response can be optimized to suit a given application by using an appropriate window function such as Chebychev or Gaussian window. The TX NCO may be constructed in a similar manner and may or may not have envelope shaping characteristics.
In addition to stimulating the scanning touch sensor panel 124 to detect touch events, the touch controller 106 can perform other functions. For example, the controller 106 may perform a spectrum analyzer function prior to actively scanning the panel 124 for touch detection. In the spectrum analyzer function, the controller 106 drives the panel 124 with drive signals of different frequencies to determine the frequency or frequencies with the lowest noise. The panel 124 may then be driven with a low noise frequency or frequencies during the active scan phase. Exemplary spectrum analyzer functions are disclosed in U.S. patent application No.12/208,334 (attorney docket No.106842007720) entitled "SINGLE-CHIP TOUCH controller with INTEGRATED DRIVE SYSTEM," to Christoph Horst Krah, Steve Porter holling, Marduke Yousefpor, and Tom Wilson, filed on even date herewith, and is a continuation of the part (CIP) application of U.S. patent application No.11/818,345, filed on 13.6.2007.
FIG. 9A illustrates an example mobile telephone 936 that can include a touch sensor panel 924 that includes a single chip multi-point excitation controller according to an embodiment of this invention and a display device 930.
FIG. 9B illustrates an example digital media player 940 that can include a touch sensor panel 924 including a single chip multi-point excitation controller according to an embodiment of this invention and a display device 930.
FIG. 9C illustrates an example personal computer 944 that can include a touch sensor panel (trackpad) 924 and a display 930, the touch sensor panel and/or display of which (in embodiments where the display is part of a touch screen) includes a single-chip multi-stimulus controller in accordance with embodiments of the invention.
Further, according to the present invention, there is also provided an apparatus for demodulating a plurality of sensing signals, the apparatus comprising: means for mixing each sense signal with the demodulated signal so as to obtain a composite set of measurements, each sense signal being formed from a plurality of component signals produced by driving the sensor with a combination of simultaneous drive signals; and means for performing vector operations on the synthesis result set to obtain measurement data carried by the component signals.
The apparatus for demodulating a plurality of sensing signals further comprises: means for forming the demodulated signal by generating a periodic waveform and mixing the periodic waveform with an envelope waveform.
In the apparatus for demodulating a plurality of sensing signals, the component signal is a signal charge injected into a sensing line by the driving signal.
In the apparatus for demodulating a plurality of sense signals, the set of combined measurements is a vector, and the vector operation comprises a matrix multiplication of the vector and a decoding matrix based on a plurality of combinations of drive signals. Wherein the decoding matrix is an inverse of an excitation matrix defining a plurality of different combinations of drive signals. Wherein an entry in the decoding matrix comprises an adjustment to a phase delay difference compensation between the component signals.
In the apparatus for demodulating a plurality of sensing signals, the driving signals include driving signals having the same frequency and being 180 degrees out of phase.
Although the embodiments of the present invention have been fully described with reference to the accompanying drawings, it is to be noted that various changes and modifications will be apparent to those skilled in the art. Such changes and modifications are to be understood as being included within the scope of the embodiments of the present invention as defined by the appended claims.

Claims (18)

1. A controller for a multi-touch sensor, the controller formed on a single integrated circuit, the controller comprising:
a transmit oscillator means for providing a transmit clock signal;
a transmission signal means for generating a plurality of driving signals based on a frequency of the transmission clock signal;
a plurality of transmission channel means for simultaneously transmitting the driving signals to drive the multi-touch sensor;
receiving channel means for receiving a plurality of sensing signals generated by driving the multi-touch sensor, each sensing signal being formed of a plurality of component signals;
receive oscillator means for providing a receive clock signal;
demodulation means for demodulating each received sense signal based on the frequency of the receive clock signal to obtain a set of composite measurements, the demodulation means comprising: demodulator means for performing a demodulation operation; and vector operator means for performing vector operations on the set of composite measurements to obtain measurement data carried by the component signals, wherein the set of composite measurements is a vector and the vector operations comprise matrix operations of the vector and a decoding matrix, the decoding matrix being based on an inverse of an excitation matrix and the excitation matrix defining a plurality of different combinations of drive signals.
2. The controller of claim 1, wherein the transmission signal means comprises:
digital-to-analog converter means for performing a digital-to-analog conversion, wherein the formation of each Alternating Current (AC) drive signal of the plurality of drive signals comprises a conversion of the respective digital signal by the digital-to-analog converter means.
3. The controller of claim 2, wherein the receive channel means comprises:
analog-to-digital converter means for performing an analog-to-digital conversion, wherein said analog-to-digital converter means processes the received sensing signal at an update rate lower than the sampling rate of the digital-to-analog converter means of said transmission channel means.
4. The controller of claim 1, further comprising:
drive signal selector means for selecting one drive signal from a plurality of drive signals from said transmission signal means for transmission by said transmission channel means.
5. The controller of claim 4, wherein the plurality of drive signals comprises:
a first excitation signal having a first waveform, the first waveform having the same frequency as the transmit oscillator means; and
a second excitation signal having a second waveform, the second waveform being the inverted first waveform.
6. The controller of claim 5, wherein the second waveform is 180 degrees out of phase with the first waveform.
7. The controller of claim 4, wherein the information stored in the stimulation matrix includes channel information that specifies a particular drive signal transmitted on the transmit channel device during each of a plurality of steps in the scan of the multi-touch sensor.
8. The controller of claim 1, further comprising:
offset compensator means for adjusting the amplitude of the received sense signal by different amounts for different specific combinations of drive signals driving the multi-touch sensor.
9. A method of demodulating a plurality of sensing signals, the method comprising:
mixing each sense signal with the demodulated signal so as to obtain a composite set of measurements, each sense signal being formed from a plurality of component signals produced by driving the sensor with a combination of simultaneous drive signals; and
performing a vector operation on a set of composite measurement values in order to obtain measurement data carried by the component signals, wherein the set of composite measurement values is a vector and the vector operation comprises a matrix operation of the vector and a decoding matrix, the decoding matrix being based on an inverse of an excitation matrix defining a plurality of different combinations of drive signals.
10. The method of claim 9, further comprising:
the demodulated signal is formed by generating a periodic waveform and mixing the periodic waveform with an envelope waveform.
11. The method of claim 9, wherein the component signal is a signal charge injected into a sense line by the drive signal.
12. The method of claim 9, wherein the entries in the decoding matrix include adjustments to phase delay difference compensation between the component signals.
13. The method of claim 9, wherein the drive signals comprise drive signals of the same frequency but 180 degrees out of phase.
14. An apparatus for demodulating a plurality of sensing signals, the apparatus comprising:
means for mixing each sense signal with the demodulated signal so as to obtain a composite set of measurements, each sense signal being formed from a plurality of component signals produced by driving the sensor with a combination of simultaneous drive signals; and
means for performing a vector operation on a set of composite measurement values in order to obtain measurement data carried by the component signals, wherein the set of composite measurement values is a vector and the vector operation comprises a matrix operation of the vector and a decoding matrix, the decoding matrix being based on an inverse of an excitation matrix defining a plurality of different combinations of drive signals.
15. The apparatus of claim 14, further comprising:
means for forming the demodulated signal by generating a periodic waveform and mixing the periodic waveform with an envelope waveform.
16. The apparatus of claim 14, wherein the component signal is a signal charge injected into a sense line by the drive signal.
17. The apparatus of claim 14, wherein the entries in the decoding matrix include adjustments to phase delay difference compensation between the component signals.
18. The apparatus of claim 14, wherein the drive signals comprise drive signals of the same frequency but 180 degrees out of phase.
HK10107370.3A 2008-09-10 2010-08-03 Single-chip multi-stimulus sensor controller HK1141101B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/283,423 US8592697B2 (en) 2008-09-10 2008-09-10 Single-chip multi-stimulus sensor controller
US12/283,423 2008-09-10

Publications (2)

Publication Number Publication Date
HK1141101A1 HK1141101A1 (en) 2010-10-29
HK1141101B true HK1141101B (en) 2013-04-26

Family

ID=

Similar Documents

Publication Publication Date Title
US9715306B2 (en) Single chip multi-stimulus sensor controller
EP2335139B1 (en) Phase compensation for multi-stimulus controller
US10156940B2 (en) Panel mismatch compensation for touch enabled displays
US8664548B2 (en) Touch controller with improved diagnostics calibration and communications support
US20090009483A1 (en) Single-chip touch controller with integrated drive system
US20110063154A1 (en) Touch controller with improved analog front end
HK1141101B (en) Single-chip multi-stimulus sensor controller