QT401 lQ QSLIDETM TOUCH SLIDER IC z 1-dimensional finger-touch slider z Extremely simple circuit - no external active components VDD 1 14 GND z Completely passive sensing strip: no moving parts SDO 2 13 DRDY /SS 3 QT401 12 SCLK 4 11 PROX SDI 5 10 N/A SNS1A 6 9 SNS2A SNS1B 7 8 SNS2B z Compatible with clear ITO over LCD construction z SPI slave-mode interface z Self-calibration and drift compensation modes z Proximity mode for wake up of a product z Spread-spectrum operation for optimal EMC compliance z 2.5 - 5.5V single supply operation; very low power z 14-pin SOIC, TSSOP lead-free packages DETECT z Inexpensive, simple 1-sided PCB construction possible z E401 reference design board available APPLICATIONS y Lighting controls y Appliance controls y Touch-screens y Automotive controls The QT401 QSlideTM IC is a 1-dimensional position sensor IC designed for human interfaces. This unique IC allows designers to create speed or volume controls, menu bars, and other more exotic forms of human interface on the panel of an appliance or over an LCD display. The device uses a simple, inexpensive resistive sensing strip between two connection end points. The strip element can be an arc or a semicircle or simply linear. The strip can also be used as a proximity sensor out to several centimeters, to wake up an appliance or display from a sleep mode in a dramatic fashion. The QT401 can report a single rapid touch anywhere along the slider element, or, it can track a finger moving laterally along the slider strip in real time. The device self-calibrates under command from a host controller in one of two modes. The QT401 is a new type of capacitive sensor based on Quantum's patented charge-transfer methods. This device uses two channels of simultaneous sensing across a resistive element to determine finger position, using mathematical analysis. The accuracy of QSlideTM is theoretically the same as a conventional potentiometer. A positional accuracy of 5% (or better) is relatively easy to achieve. The acquisitions are performed in a burst mode which uses proprietary spread-spectrum modulation for superior noise immunity and low emissions. The output of the QT401 can also be used to create discrete controls on a strip, by interpreting sets of number ranges as buttons. For example, the number range 0..19 can be button A, 30..49 button B, 60..79 button C etc. Continuous slider action and discrete controls can be mixed on a single strip, or, the strip can be reinterpreted differently at different times, for example when used below or on top of an LCD to act as a menu input device that dynamically changes function in context. In this fashion the QT401 can be used to create ultra-simple, extremely inexpensive `touch screens'. The device is compatible with ITO (Indium Tin Oxide) overlays on top of various displays. TA AVAILABLE OPTIONS SO-14 TSSOP-14 -400C ~ +850C QT401-ISG QT401-ISSG LQ Copyright (c) 2004 QRG Ltd QT401 R10.04/0505 1 Operation Figure 1-1 QT401 Wiring Diagram The QT401 uses a SPI slave mode interface for control and data communications with a host controller. Acquisition timings and operating parameters are under host control; there are no option jumpers and the device cannot operate in a stand-alone mode. Regulator VIN VIN C1 VOUT C2 GND R1 22k 2.2uF 2.2uF R2 100k 13 2 3 4 5 The positional output data is a 7-bit binary integer (0...127) indicating position from left (0) to right (127). Like all QProxTM devices, the QT401 operates using bursts of charge-transfer pulses; burst mode permits an unusually high level of control over spectral modulation, power consumption, and response time. The QT401 modulates its bursts in a spread-spectrum fashion in order to heavily suppress the effects of external noise, and to suppress RF emissions. R3 1K SPI BUS Proximity SNS2A 9 DRDY SDO /SS SCLK SDI 11 PROX Touch Detect Cs2 100nF 127 Slider Element 60K~150K ohms total resistance SNS1A 6 SNS1B 7 Cs1 100nF 0 12 DETECT VSS 14 C4 1nF C3 1nF 1.1 Synchronized Mode 1 QT401 VDD 8 SNS2B Refer also to Figure 3-1, page 6. Mains Sync: Sync mode can be used to sync to mains frequency via the host controller, if mains interference is possible (ie, running as a lamp dimmer control). The host should issue SPI commands synchronously with the mains frequency. This form of operation will heavily suppress interference from low frequency sources (e.g. 50/60Hz), which are not easily suppressed using spread-spectrum burst modulation. Sync mode allows the host device to control the rep etition rate of the acquisition bursts, which in turn govern response time and power consumption. The maximum spacing from the end of one burst to the start of the next in this mode is 1 second. In sync mode, the device will wait for the SPI slave select line /SS to fall and rise and will then do an acquisition burst; actual SPI clocks and data are optional. The /SS pin thus becomes a `sync' input in addition to acting as the SPI framing control. Cross-talk suppression: If two more QT401's are used in close proximity, or there are other QTouchTM type device(s) close by, the devices can interfere strongly with one another to create position jitter or false triggering. This can be suppressed by making sure that the devices do not perform acquisition bursts at overlapping times. The host controller can make sure that all such devices operate in distinctly different timeslots, by using a separate /SS line or Sync signal for each part. Within 35s of the last rising edge of CLK, the device will enter a low power sleep mode. The rising edge of /SS must occur after this time; when /SS rises, the device wakes from sleep, and shortly thereafter does an acquisition burst. If a more substantial sleep time is desired, /SS should be made to rise some delay period later. By increasing the amount of time spent in sleep mode, the host can decrease the average current drain at the expense of response time. Since a burst typically requires 31ms (at 3.3V, reference circuit), and an acceptable response time might be ~100ms, the power duty cycle will be 31/100 or 31% of peak current. 1.2 Free-Run Mode If /SS stays high, the device will acquire on its own repetitively approximately every 60ms (Figure 1-2). This mode can be used to allow the part to function as a prox or touch detector first, perhaps to wake a host controller. Either the PROX or DETECT can be used as a wakeup. If power is not an issue the device can run constantly under host control, by always raising /SS after 35s from the last rising edge of CLK. Constant burst operation can be used by the host to gather more data to filter the position data further to suppress noise effects , if required. In free-run mode, the device does not sleep between acquire bursts. In this mode the QT401 performs automatic drift compensation at the maximum rate of one count per 180 acquisition burst cycles, or about one count every 3 seconds without host intervention. It is not possible to change this Figure 1-2 Free-Run Timing Diagram ( /SS = high ) ~31ms ~31ms Acquire Bur ~3.8ms ~30us DRDY from QT ~25ms lQ 2 QT401 R10.04/0505 Table 1-1 Pin Descriptions PIN NAME TYPE DESCRIPTION 1 2 3 4 5 6 7 8 9 10 11 12 13 14 VDD SDO /SS SCLK SDI SNS1A SNS1B SNS2B SNS2A N/A PROX DETECT DRDY VSS Power O I I I I/O I/O I/O I/O O O O O Ground Positive power pin (+2.5 .. +5V) Serial data output Slave Select pin. Active low input to enable serial clocking. 1K ohms in series recommended. Serial clock input. Clock idles high Serial data input Sense pin (to Cs1) Sense pin (to Cs1, Rs1); connects to `0' end of slider element Sense pin (to Cs2, Rs2); connects to `127' end of slider element Sense pin (to Cs2) Leave open Active high when a hand is near the slider. May be left unconnected. Note (1) Active high when slider is touched. May be left unconnected. Note (1) Data ready output. Goes high to indicate it is possible to communicate with the QT401. Note (1) Negative power pin Note (1): Pin floats briefly after wake from Sleep mode. setting of drift compensation in Free-Run mode. See also Section 3.3.4. 1.5 Position Data The position value is internally calculated and can be accessed only when the slider is touched (Detect pin is high). 1.3 Sleep Mode The position data is a 7-bit number (0..127) that is computed in real time; the end numbers (0, left; 127, right) map to the physical ends by one of two possible calibration methods (see Section 1.6). The position data will update either with a single rapid touch or will track if the finger is moved lengthwise along the surface of the slider element. The position data ceases to be reported when touch detection is no longer sensed. After an SPI transmission, the device will enter a low power sleep state; see Figure 3-1, page 6, and Section 3.2.4, page 7 for details. This sleep state can be extended in order to lower average power, by simply delaying the rise of /SS. Coming out of sleep state when /SS rises, the PROX, DETECT, and DRDY pins will float for ~400s; it is recommended that these pins be pulled low to Vss to avoid false signalling if they being monitored during this time . 1.6 Calibration Note: Pin /SS clamps to Vss for 250ns after coming out of sleep state as a diagnostic pulse. To prevent a possible pin drive conflict, /SS should either be driven by the host as an open-drain pull-high drive (e.g. with a 100K pullup resistor), or there should be a ~1K resistor placed in series with the /SS pin. See Figure 1-1, R3. Calibration is possible via two methods: 1) Power up or power cycling (there is no reset input). 2) On command from host via SPI (Command 0x01: see Section 3.3.2). The calibration period requires 10 burst cycles, which are executed automatically without the need for additional SPI commands from the host. The spacing between each Cal burst is 2ms, and the bursts average about 23ms each when Cs1, Cs2 are 100nF, ie the Cal command requires ~220ms to execute. Lower values of Cs will result in shorter bursts and hence shorter cal times. 1.4 PROX, DETECT Outputs There are two active-high output pins for detection of hand proximity and slider position: PROX output: This pin goes high when a hand is detected in free space near the slider. This condition is also found as bit 0 in the standard response when there is no touch detection (Section 3.3). In addition to the basic calibration, it is also possible to request that the QT401 adjust its reported data to achieve physically calibrated end points (0, 127) via a serial command (command 0x02: Section 3.3.3). This requires an immediately preceding reference calibration command (command 0x01: see Section 3.3.2) in order to work correctly. DETECT output: This pin goes high when the signal is large enough to allow computation of finger position. This condition is also found as bit 7 in the standard response (Section 3.3). Calibration should be performed when there is no hand proximity to the element, or the results may be in error. Should this happen, the error flag (bit 1 of the standard response, see Section 3.3) will activate when the hand is withdrawn again. In most cases this condition will self-correct if drift compensation is used, and it can thus be ignored. See also Section 1.8 below. The sensitivities of these functions can be set using serial commands (Sections 3.3.5 and 3.3.6). These outputs will float for ~400s after wake from Sleep mode (see Section 1.3). If Sleep mode is used, it is recommended that PROX and DETECT (if used) be shunted to ground with 1nF capacitors to hold their states during the 400s float interval when emerging from Sleep. lQ 3 QT401 R10.04/0505 Figure 1-3 E401 PCB Layout (1-sided, 144 x 20 x 0.6mm) glass. The worst panel is thick plastic. Granularity due to poor coupling can be compensated for by the use of larger values of Cs1 and Cs2. 1.7 Drift Compensation The device features an ability to compensate for slow drift due to environmental factors such as temperature changes or humidity. Drift compensation is performed completely under host control via a special drift command. See Section 3.3.4 for further details. A table of suggested values for Cs1 and Cs2 for no missing position values is shown in Table 1-2. Values of Cs smaller than those shown in the table can cause skipping of position codes. Code skipping may be acceptable in many applications where fine position data is not required. Smaller Cs capacitors have the advantage of requiring shorter acquisition bursts and hence lower power drain. 1.8 Error Flag An error flag bit (bit 1) is provided in the standard response byte but only when there is no touch detection present (Section 3.3); if the Error bit is high, it means the signal has fallen significantly below the calibration level when not touched. If this happens the device could report somewhat inaccurate position values when touched. Larger values of Cs1 and Cs2 improve granularity at the expense of longer burst lengths and hence more average power. Conversely where power is more important than granularity, Cs1 and Cs2 can be reduced to save power at the expense of resolution. Optimal values depends on the user application, and some experimentation is necessary. This condition can self-correct via the drift compensation process after some time under host control (Section 3.3.4). Alternatively, the host controller can cause the device to recalibrate immediately by issuing a calibration command (Section 3.3.2), perhaps also followed by an end-calibrate command (Section 3.3.3) if desired. Cs1 and Cs2 should be matched to within 10% of each other (ie, 5% tolerance, X7R dielectric) for best left-right end zone balance, using the E401 reference layout (Figure 1-3). See also Section 2.3. Linearity is not greatly affected by Cs mismatching. If the error is too extreme, one of the end locations could attempt to exceed the physical limits of the slider. At or below this 10% guideline, the device will correctly calibrate the end locations to within 1 or 2 millimeters for a 100mm slider. 2 Wiring & Parts The device should be wired according to Figure 1-1. An example PCB layout (of the E401 eval board) is shown in Figure 1-3. In critical applications, the capacitors should be sort-matched, or, the host device should store end location calibration correction data based on a one-time factory calibration procedure. Alternatively the Rs end resistors can be factory adjusted to determine end locations more precisely. 2.1 Slider Strip Construction The slider should be a resistive strip of about 100K ohms +/-50%, from end to end, of a suitable length and width. Arcs and semicircles are also possible. There are no known length restrictions. 2.3 Rs End Resistors In auto end-cal mode, Rs1 and Rs2 are used only for EMC and ESD protection; they should be no more than ~1K ohms. However they are optional, and in the E401 eval board they are set to 0. The slider can be made of a series chain of discrete resistors with copper pads on a PCB, or from ITO (Indium Tin Oxide, a clear conductor used in LCD panels and touch screens) over a display. Carbon thick-film paste can also be used, however linearity might be a problem as these films are notoriously difficult to control without laser trimming or scribing. In fixed cal mode, Rs1 and Rs2 can be varied to adjust the ends of the slider outwards. Typically they will range from 10K to 20K each. In fixed cal mode, the end resistors should be selected to achieve a reasonable 0..127 position correspondence with the desired mechanical range; in particular, they should be adjusted so that the reported The linearity of the slider is governed largely by the linearity and consistency of the resistive slider element. Positional accuracy to within 5% is routinely achievable with good grade resistors and a uniform construction method. Table 1-2 Recommended Cs vs. Materials 2.2 Cs Sample Capacitors Thickness, mm 0.4 0.8 1.5 2.5 3.0 4.0 Cs1 and Cs2 are the charge sensing capacitors , of type X7R. The optimal values of Cs1 and Cs2 depend on the thickness of the panel and its dielectric constant. Lower coupling to a finger caused by a low dielectric constant and/or thicker panel will cause the position result to become granular and more subject to position errors. The ideal panel is made of thin lQ 4 Acrylic (R =2.8) 10nF 22nF 47nF 100nF - Borosilicate glass (R =4.8) 5.6nF 10nF 22nF 39nF 47nF 100nF QT401 R10.04/0505 Other geometries are possible, for example arcs and semicircles over a small scale (50mm radius max recommended semicircle, or any radius as a shallow arc). The strip can be made longer or shorter and with a different width. The electrode strip should be about 10mm wide or more, as a rule. Other features of the PCB layout are: values 0 and 127 can be easily achieved by both large and small fingers at the ends. Increasing the Rs values will move the reported ends `outwards'. If they are too large, the values 0 and/or 127 will not be reportable. The Rs resistors can have differing values. Having well-defined ends is important in most applications, so that the user can select the absolute minimum and maximum values (ie OFF, MAX etc) reliably. If the numerical ends cannot be achieved the user can have difficulty in controlling the product. The components are oriented perpendicular to the strip length so that they do not fracture easily when the PCB is flexed during bonding to the panel. The slider end connections should have a symmetrical layout; note the dummy end trace connected to Rs1 just below the slider element, to replicate the upper end trace connected to Rs2. Without this the slider will be unbalanced and will tend to skew its result to one side. The end zones should be defined to be physically large enough so that over a wide range of values of Cs, Rslider etc a usable set of ends are always preserved. End zone tolerances can be affected by Cs1 / Cs2 capacitance matching and the values of Rs1 and Rs2 if fixed end-cal is used. See also Section 2.2. The ground ring around the slider measures 2mm thick and is spaced 1mm from the long end traces. The end traces should be placed as close as possible to the slider element and be of the thinnest possible trace thickness. 2.4 Power Supply 0-ohm 0805 jumpers are used to connect the ground ring back to circuit ground. These bridge over the two end traces. The usual power supply considerations with QT parts applies also to the QT401. The power should be very clean and come from a separate regulator if possible. This is particularly critical with the QT401 which reports continuous position as opposed to just an on/off output. Additional ground area or a ground plane on the PCB's rear will compromise signal strength and is to be avoided. The slider should normally be used in a substantially horizontal orientation to reduce tracking accuracy problems due to capacitive `hand shadow' effects. Thinner panels and an electrode strip on the back of the PCB (so it has less material to penetrate) will reduce these effects. A ceramic 0.1uF bypass capacitor should be placed very close to the power pins of the IC. Regulator stability: Most low power LDO regulators have very poor transient stability, especially when the load transitions from zero current to full operating current in a few microseconds. With the QT401 this happens when the device comes out of sleep mode. The regulator output can suffer from hundreds of microseconds of instability at this time, which will have a deleterious effect on acquisition accuracy. `Handshadow' effects: With thicker or wider panels an effect known as `handshadow' can become noticeable. If the capacitive coupling from finger to electrode strip is weak, for example due to a narrow electrode strip or a thick, low dielectric constant panel, the remaining portion of the human hand can contribute a significant portion of the total detectable capacitive load. This will induce an offset error, which will depend on the proximity and orientation of the hand to the remainder of the strip. Thinner panels will reduce this effect since the finger contact surface will strongly domina te the total signal and the remaining handshadow capacitance will not contribute significantly to create an error offset. To assist with this problem, the QT401 waits 500s after coming out of sleep mode before acquiring to allow power to fully stabilize. This delay is not present before an acquisition burst if there is no preceding sleep state. Use an oscilloscope to verify that Vdd has stabilized to within 5mV or better of final settled voltage before a burst begins. 2.5 PCB Layout and Mounting Slider strips placed in a vertical position are more prone to handshadow problems than those that are horizontal. The E401 PCB layout (Figure 1-3) should be followed if possible. This is a 1-sided, 144 x 20 x 0.6mm board; the blank side is simply adhered to the inside of a 2mm thick (or less) control panel. Thicker panels can be tolerated with additional positional error due to capacitive `hand shadow' effects and will also have poorer EMC performance. PCB Cleanliness: All capacitive sensors should be treated as highly sensitive circuits which can be influenced by stray conductive leakage paths. QT devices have a basic resolution in the femtofarad range; in this region, there is no such thing as `no clean flux'. Flux absorbs moisture and becomes conductive between solder joints, causing signal drift and resultant false detections or temporary loss of sensitivity. Conformal coatings will trap in existing amounts of moisture which will then become highly temperature sensitive. This layout uses 18 copper pads connected with 17 intervening series resistors in a chain. The end pads are larger to ensure a more robust reading of 0 (left) and 127 (right). The finger interpolates between the copper pads (if the pads are narrow enough) to make a smooth, 0..127 step output with no apparent stair-casing. A wide ground border helps to suppress the sense field outside of the strip area, which would otherwise affect position accuracy. The designer should specify ultrasonic cleaning as part of the manufacturing process, and in extreme cases, the use of conformal coatings after cleaning. The small electrodes of this PCB measure about 12.5 x 5.2mm. The lateral (eg 5.2mm) dimension of these electrodes should be no wider than the expected smallest diameter of finger touch, to prevent stair-casing of the position response. lQ 2.6 ESD Protection Since the electrode is always placed behind a dielectric panel, the IC will be protected from direct static discharge. However even with a panel transients can still flow into the 5 QT401 R10.04/0505 FR = electrode via induction, or in extreme cases via dielectric breakdown. Porous materials may allow a spark to tunnel right through the material. Testing is required to reveal any problems. The device has diode protection on its terminals which will absorb and protect the device from most ESD events; the usefulness of the internal clamping will depending on the panel's dielectric properties and thickness. 1 2R S C S If for example Cs = 22nF, and Rs = 1K, the EMI rolloff frequency is ~7.2kHz, which is vastly lower than most noise sources (except for mains frequencies i.e. 50 / 60 Hz). The resistance from the sensing strip itself is actually much higher on average, since the strip is typically 100K ohms from end to end. A more credible value for Rs is about 10K. One method to enhance ESD suppression is to insert resistors Rs1, Rs2 in series with the strip as shown in Figure 1-1; these can be as high as 1K ohms. Normally these are not required, and in the E401 eval board they are 0 ohms. Rs and Cs must both be placed very close to the body of the IC so that the lead lengths between them and the IC do not form an unfiltered antenna at very high frequencies. Diodes or semiconductor transient protection devices or MOV's on the electrode trace are not advised; these devices have extremely large amounts of nonlinear parasitic capacitance which will swamp the capacitance of the electrode and cause false detections and other forms of instability. Diodes also act as RF detectors and will cause serious RF immunity problems. PCB layout, grounding, and the structure of the input circuitry have a great bearing on the success of a design to withstand electromagnetic fields and be relatively noise-free. These design rules should be adhered to for best ESD and EMC results: See also Section 2.7, below 2.7 EMC and Related Noise Issues External AC fields (EMI) due to RF transmitters or electrical noise sources can cause false detections or unexplained shifts in sensitivity. The influence of external fields on the sensor can be reduced by means of the 1K series end resistors described in Section 2.6. The Cs capacitor and Rs1, Rs2 (Figure 1-1) form a natural low-pass filter for incoming RF signals; the roll-off frequency of this network is defined by - 1. Use only SMT components. 2. Keep all Cs, Rs, and the Vdd bypass cap close to the IC. 3. Do not place the electrode or its connecting trace near other traces, or near a ground plane. 4. Do use a ground plane under and around the QT401 itself, back to the regulator and power connector (but not beyond the Cs capacitor). 5. Do not place an electrode (or its wiring) of one QT401 device near the electrode or wiring of another device, to prevent cross interference. 6. Keep the electrode (and its wiring) away from other traces carrying AC or switched signals. Figure 3-1 SPI Timing Diagram ~31ms Acquire Burst <1ms, ~920s typ awake Sleep State sleep state: 1s max awake 400s typ 3-state DRDY from QT >13s, <100s >12s, <100s >12s, <100s <30s /SS from host >35s Data sampled on rising edge CLK from Host Data shifts out on falling edge Host Data Output (Slave Input - MOSI) ? 7 6 5 4 3 data hold >12s after last clock 2 1 0 2 1 0 command byte response byte QT Data Output (Slave Out - MISO) 3-state ? 7 6 5 4 3 3-state output driven <11s after /SS goes low lQ output floats before DRDY goes low 6 QT401 R10.04/0505 7. If there are LEDs or LED wiring near the electrode or its wiring (ie for backlighting of the key), bypass the LED wiring to ground on both its ends. 8. Use a voltage regulator just for the QT401 to eliminate noise coupling from other switching sources via Vdd. Make sure the regulator's transient load stability provides for a stable voltage just before each burst commences. 9. If Mains noise (50/60 Hz noise) is present, use the Sync feature to suppress it if possible (see Section 1.1). If /SS is held high all the time, the device will burst in a free-running mode at a ~17Hz rate. In this mode a valid position result can be obtained quickly on demand, and/or one of the two OUT pins can be used to wake the host. This rate depends on the burst length which in turn depends on the value of each Cs and load capacitance Cx. Smaller values of Cs or higher values of Cx will make this rate faster. Dummy /SS Burst Triggers: In order to force a single burst, a dummy `command' can be sent to the device by pulsing /SS low for 10s to 10ms; this will trigger a burst on the rising edge of /SS without requiring an actual SPI transmission. DRDY will fall within 56s of /SS rising again, and then a burst will occur 1mS later (while DRDY stays low). For further tips on construction, PCB design, and EMC issues browse the application notes and faq at www.qprox.com After the burst completes, DRDY will rise again to indicate that the host can get the results. 3 Serial Communications Note: Pin /SS clamps to Vss for 250ns after coming out of sleep state as a diagnostic pulse. To prevent a possible pin drive conflict, /SS should either be driven by the host as an open-drain pull-high drive (e.g. with a 100K pullup resistor), or there should be a ~1K resistor placed in series with the /SS pin. The serial interface is a SPI slave-only mode type which is compatible with multi-drop operation, ie the MISO pin will float after a shift operation to allow other SPI devices (master or slave) to talk over the same bus. There should be one dedicated /SS line for each QT401 from the host controller. A DRDY (`data ready') line is used to indicate to the host controller when it is possible to talk to the QT401. 3.2.2 DRDY Line The DRDY line acts primarily as a way to inhibit the host from clocking to the QT401 when the QT401 is busy. It also acts to signal to the host when fresh data is available after a burst. The host should not attempt to clock data to the QT401 when DRDY is low, or the data will be ignored or cause a framing error. 3.1 Power-up Timing Delay Immediately after power-up, DRDY floats for approximately 20ms, then goes low. The device requires ~525ms thereafter before DRDY goes high again, indicating that the device has calibrated and is able to communicate. On power-up, DRDY will first float for about 20ms, then pull low for ~525ms until the initial calibration cycle has completed, then drive high to indicate completion of calibration. The device will be ready to communicate in typically under 600ms (with Cs1 = Cs2 = 100nF). 3.2 SPI Timing The SPI interface is a five-wire slave-only type; timing is found in Figure 3-1, page 6. The phase clocking is as follows: Clock idle: Data out changes on: Input data read on: Slave Select /SS: Data Ready DRDY: Bit length & order: Clock rate: While DRDY is a push-pull output, it does float for ~400s after power-up and after wake from Sleep mode. It is desirable to use a pulldown resistor on DRDY to prevent false signalling back to the host controller; see Figure 1-1 and Section 1.3. High Falling edge of CLK from host Rising edge of CLK from host Negative level frame from host Low from QT inhibits host 8 bits, MSB shifts first 5kHz min, 40kHz max 3.2.3 MISO / MOSI Data Lines MISO and MOSI shift on the falling edge of each CLK pulse. The data should be clocked in on the rising edge of CLK. This applies to both the host and the QT401. The data path follows a circular buffer, with data being mutually transferred from host to QT, and QT to host, at the same time. However the return data from the QT is always the standard response byte regardless of the command. The host can shift data to and from the QT on the same cycle (overlapping commands). Due to the nature of SPI, the return data from a command or action is always one SPI cycle behind. An acquisition burst always happens about 920s after /SS goes high after coming out of Sleep mode . The setup and hold times should be observed per Figure 3-1. 3.2.4 Sleep Mode 3.2.1 /SS Line Please refer to Figure 3-1, page 6. /SS acts as a framing signal for SPI data clocking under host control. See Figure 3-1. The device always enters low-power sleep mode after an SPI transmission (Figure 3-1), at or before about 35s after the last rising edge of CLK. Coincident with the sleep mode, the device will lower DRDY. If another immediate acquisition burst is desired, /SS should be raised again at least 35 s after the last rising edge of CLK. To prolong the sleep state, it is only necessary to raise /SS after an even longer duration. After a shift operation /SS must go high again, a minimum of 35s after the last clock edge on CLK. The device automatically goes into sleep state during this interval, and wakes again after /SS rises. If /SS is simply held low after a shift operation, the device will remain in sleep state up to the maximum time shown in Figure 3-1. When /SS is raised, another acquisition burst is triggered. lQ In sleep mode, the device consumes only a few microamps of current. The average current can be controlled by the host, by 7 QT401 R10.04/0505 adjusting the percentage of time that the device spends in sleep. 3.3.2 0x01 - Calibrate The delay between the rising edge of /SS and the following burst is <1ms to allow Vdd to stabilize. If the maximum spec on /SS low (1s) is exceeded, the device will eventually come out of sleep and calibrate again on its own. The 1s is a minimum design guide, not a precise number; the actual time can vary considerably from device to device and should not be relied upon. This command takes ~525ms to complete with the circuit shown in Figure 1-1. This time can be reduced by using smaller Cs capacitors. Smaller Cs capacitors may result in loss of resolution unless the panel thickness is also reduced. 0 0 0 0 0 0 0 1 0x01 causes the sensor to do a basic recalibration. After the command is given the device will execute 10 acquisition bursts in a row in order to perform the recalibration, without the need for /SS to trigger each of the bursts. The host should wait for DRDY to rise again after the calibration has completed before shifting commands again. The DETECT, PROX, and DRDY lines will float for ~400s after wake from Sleep mode; see Section 1.3 for details. After each acquisition burst, DRDY will rise again to indicate that the host can do another SPI transmission. Commands are summarized in Table 3-1. Commands can be overlapped, i.e. a new command can be used to shift out the results from a prior command. This command should be given if there is an error flag (bit 1 of the response byte when no touch detection is present ). Note that this command cancels the 0x02 `End Calibrate' command if 0x02 was previously issued to the part; if end calibration is desired, the 0x02 command must be reissued again after the 0x01 command. All commands cause a new acquisition burst to occur when /SS is raised again after the command byte is fully clocked. On power-up the device calibrates itself automatically and so a 0x01 command is not required on startup. 3.3 Commands The response to this command is the Standard Response byte. Standard Response: All SPI shifts return a `standard response' byte which depends on the touch detection state: No touch detection: Bit 7 = 0 (0= not touched) Bits 6, 5, 4, 3, 2: unused Bit 1 = 1 if signal polarity error Bit 0 = 1 if prox detection only Is touch detection: 3.3.3 0x02 - End Calibrate 7 0 4 0 3 0 2 0 1 0 3 0 2 0 1 1 0 0 0x02 causes the sensor to relocate the reported endpoints of the slider to automatically correspond to the physical ends, using a special calibration process. After the command is given the device will execute 20 acquisition bursts in a row in order to perform the calibration, without the need for /SS cycles to trigger each of the bursts. 3.3.1 0x00 - Null Command 5 0 4 0 The 0x02 command should preferably only be performed after the basic calibration (0x01) is done. If it is done at another time, the end calibration may be inaccurate. There are 6 commands as follows. 6 0 5 0 The command takes ~500ms to complete. Bit 7 = 1 (1= is touched) Bits 0..6: Contain calculated position Note that touch detection calculated position is based on the results of the prior burst, which is triggered by the prior /SS rising edge (usually, from the prior command, or, from a dummy /SS trigger - see Section 3.2.1). 7 0 6 0 0 0 The host should remain quiet during this period and obey DRDY which will remain low until the process is done before shifting the next command. The Null command will trigger a new acquisition (if /SS rises), otherwise, it does nothing. The response to this command is the Standard Response byte. This command is optional, however if it is not used, two Rs resistors should be used to set the end zones of the slider (See Section 2.3). This command is predominant once the device has been calibrated and is running normally. Executing a calibrate command (0x01) cancels the End Calibrate mode, and therefore the End Calibrate command has to be performed again if desired. However, once the 0x01 / 0x02 command sequence is performed, it should TABLE 3-1 - Command Summary Hex Command 0x00 Null 0x01 Calibrate 0x02 End Calibrate 0x03 Drift Comp 0x4P Prox Thresh 0x8T Touch Thresh What it does Shift out data; cause acquire burst (if /SS rises again) Force recalibration of reference using fixed slider ends; cause 10 sequential bursts Power up default value = calibrated Auto-find slider end points; cause 20 sequential bursts. Power up default value = disabled Drift compensation request; causes acquire burst. Max drift rate is 1 count per ten 0x03's. Set prox threshold; causes acquire burst. Bottom 6 bits (`P') are the prox threshold value. (01PP PPPP) Power up default value = 10 Set touch threshold; causes acquire burst. Bottom 6 bits (`T') are the touch threshold value. (10TT TTTT) Power up default value = 10 lQ 8 QT401 R10.04/0505 P is normally in the range from 6 to 10. The prox threshold has no hysteresis and should only be used for non-critical applications where occasional detection bounce is not a problem, like power activation (i.e. to turn on an appliance or a display). normally not be necessary to ever repeat the sequence unless an error flag is found or the part is powered down and back up again. 3.3.4 0x03 - Drift Compensate 7 0 6 0 5 0 4 0 3 0 2 0 1 1 0 1 Both the prox bit in the standard response and the PROX pin will go high if the signal exceeds this threshold. The PROX pin can be used to wake an appliance or display as a hand approaches the slider, however the /SS line must remain high so that the device acquires continuously, or /SS has to be at least pulsed regularly (see Section 3.2.1) for this to work. 0x03 causes the sensor to perform incremental drift compensation. This command must be given periodically in order to allow the sensor to compensate for drift. The more 0x03 commands issued as a percentage of all commands, the faster the drift compensation will be. 0x4P power-up default setting: 10 The 0x03 command must be given 10 times in order for the device to do one count of drift compensation in either direction. The 0x03 command should be used in substitution of the Null command periodically. 3.3.6 0x8T - Set Touch Threshold 7 1 6 0 5 T5 4 T4 3 T3 2 T2 1 T1 0 T0 Example: The host causes a burst to occur by sending a 0x00 Null command every 50ms (20 per second). Every 6th command the host sends is a 0x03 (drift) command. The lower 6 bits of this command (T5..T0) are used to set the touch threshold level. Higher numbers are less sensitive (ie the signal has to travel further to cross the threshold). The maximum drift compensation slew rate in the reference level is - Operand `T' can range from 0 to 63. Internally the number is multiplied by 4 to achieve a wider range. 0 should never be used. 50ms x 6 x 10 = 3.0 seconds This number is normally set to 10, more or less depending on the desired sensitivity to touch and the panel thickness. Touch detection uses a hysteresis equal to 12.5% of the threshold setting. The actual rate of change of the reference level depends on whether there is an offset in the signal with respect to the reference level, and whether this offset is continuous or not. It is possible to modulate the drift compensation rate dynamically depending on circumstances, for example a significant rate of change in temperature, by varying the mix of Drift and Null commands. Both the touch bit (bit 7) in the standard response and the DETECT pin will go high if this threshold is crossed. The DETECT pin can be used to indicate to the host that the device has detected a finger, without the need for SPI polling. However the /SS line must remain high constantly so that the device continues to acquire continuously, or /SS has to be at least pulsed regularly (see Section 3.2.1) for this to work. If the Drift command is issued while the device is in touch detection (ie bit 7 of the Standard Response byte =1), the drift function is ignored. Drift compensation during Free-Run mode is fixed at 6, which results in a maximum rate of drift compensation rate of about 3secs / count; see Section 1.2. 0x8T power-up default setting: 10 The drift compensation rate should be made slow, so that it does not interfere with finger detection. A drift compensation rate of 3s ~ 5s is suitable for almost all applications. If the setting is too fast, the device can become u nnecessarily desensitized when a hand lingers near the strip. Most environmental drift rates are of the order of 10's or 100's of seconds per count. The host should execute the following commands after powerup self-cal cycle has completed: (assuming a 50ms SPI repetition rate): 3.4 SPI - What to Send 1. 0x01 - Basic calibration (optional as this is done automatically on power-up) 2. 0x02 - End calibration (optional) 3. 0x4P - Set prox threshold (optional) 3.3.5 0x4P - Set Proximity Threshold 7 0 6 1 5 P5 4 P4 3 P3 2 P2 1 P1 4. 0x8T - Set touch threshold (optional) 0 P0 5. An endlessly repeating mixture of: a. 0x00 (Null) - all commands except: b. 0x03 (Drift compensate) - replace every nth Null command where typically, n = 6 c. If there is ever an error bit set, send a 0x01 and optionally, a 0x02. This command is optional, but if it is not given, the proximity detection function will work at a default setting of 10. The lower 6 bits of this command (P5..P0) are used to set the proximity threshold level. Higher numbers are less sensitive (ie the signal has to travel further to cross the threshold). If the error occurs frequently, then perhaps the ratio of drift compensation to Nulls should be increased. Operand `P' can range in value from 0 to 63. Zero (0) should never be used. Very low settings can cause excessive flicker in the proximity result due to low level noise and drift. Note: the Null can be replaced by an empty /SS pulse if there is no need for fast updates. The host device can require that the Proximity output be active many times in a row to confirm a detection, to make prox detection more robust. lQ 9 QT401 R10.04/0505 4.1 Absolute Maximum Specifications Operating temperature range, Ta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -40OC to +85OC Storage temperature range, Ts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -55OC to +125OC VDD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.5 to +7.0V Max continuous pin current, any control or drive pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20mA Short circuit duration to ground, any pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . infinite Short circuit duration to V DD, any pin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . infinite Voltage forced onto any pin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.6V to (Vdd + 0.6) Volts 4.2 Recommended Operating Conditions VDD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +2.5 to 5.0V Supply ripple+noise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5mV p-p max Cs1, Cs2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22nF to 100nF Cs1, Cs2 relative matching. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10% Output load, max. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0.5mA 4.3 DC Specifications Vdd = 5.0V, Cs1 = Cs2 = 100nF, 100ms rep rate, Ta = recommended range, all unless otherwise noted Parameter Typ Max Units IDD5P Peak supply current Description 0.75 1.5 mA @ 5V IDD3P Peak supply current 0.45 0.6 mA @ 3V IDD5A Average supply current 180 A @ 5V IDD3A Average supply current 110 A @ 3V VDDS Supply turn-on slope V/s Required for proper startup and calibration VIL Low input logic level VHL High input logic level VOL Low output voltage VOH High output voltage Min 100 Notes 0.8 V 0.6 V 4mA sink V 1mA source 2.2 V Vdd-0.7 IIL Input leakage current 1 A AR Acquisition resolution 7 bits 4.4 AC Specifications Vdd = 5.0V, Cs1 = Cs2 = 100nF, Ta = recommended range, unless otherwise noted Parameter Description Min Typ Tr Response time Sp Prox Sensitivity Ss Slide Sensitivity Fqt Sample frequency 75 87 Tqt QT Pulse width 1.8 2 Tbs QT Burst spacing 500 Td Power-up delay to operate Fspi SPI clock rate Max - Units Notes ms Under host control 0.15 pF Variable parameter under host control 0.6 pF Variable parameter under host control 100 kHz Modulated spread-spectrum (chirp) 2.4 s Modulated spread-spectrum s 500 ms 5 40 kHz Max Units 4.5 Signal Processing and Output Parameter Description Min Typ DI Detection integrator counts Tp Threshold, prox 1 63 Tt Threshold, slider touch 1 63 Hp Hysteresis, prox sensing 0 % Ht Hysteresis, touch sensing 12.5 % % of threshold setting Dr Drift compensation rate % % of bursts; host controlled L Position linearity % Depends on element linearity, layout lQ 1 counts Notes 10 3 10 Both prox and touch detection Host controlled variable Host controlled variable % of threshold setting QT401 R10.04/0505 4.6 Typical Position Response - Raw Cal (0x01) Only 120 REPORTED POSITION 100 80 60 40 20 0 10 20 30 40 50 60 70 80 90 100 90 100 DISTANCE FROM END (mm) 4.7 Typical Position Response - After Auto End Cal (0x01 + 0x02) 120 REPORTED POSITION 100 80 60 40 20 0 10 20 30 40 50 60 70 80 DISTANCE FROM END (mm) lQ 11 QT401 R10.04/0505 4.8 Small Outline (SO) Package D L x45 e 2a W o E M Base level Seating level h H SYMBOL Package Type: 14 Pin SOIC Millimeters Max Notes Min Min M W 2a H h D L E e B o 8.56 5.79 3.81 1.35 0.10 1.27 0.36 0.41 0.20 0.25 0 8.81 6.20 3.99 1.75 0.25 1.27 0.51 1.27 0.25 0.51 8 BSC Inches Max 0.337 0.228 0.150 0.31 0.004 0.050 0.014 0.016 0.008 0.014 0 Notes 0.347 0.244 0.157 0.33 0.010 0.050 0.020 0.050 0.010 0.020 8 BSC 4.9 TSSOP Package E E1 D 2 B n a 1 A c Units Dimension Limits Number of Pins Pitch Overall Height Standoff Overall W idth Moulded Package W idth Moulded Package Length Foot Length Foot Angle Lead Thickness Lead W idth Mould Draft Angle Top Mould Draft Angle Bottom lQ A1 L MIN n p A A1 E E1 D L c B a INCHES NOM 14 0.026 0.002 0.246 0.169 0.193 0.020 0 0.004 0.007 0 0 0.004 0.251 0.173 0.197 0.024 4 0.006 0.010 5 5 12 MAX MIN 0.043 0.006 0.256 0.177 0.201 0.028 8 0.008 0.012 10 10 0.05 6.25 4.30 4.90 0.50 0 0.09 0.19 0 0 MILLIMETERS NOM MAX 14 0.65 1.10 0.10 0.15 6.38 6.50 4.40 4.50 5.00 5.10 0.60 0.70 4 8 0.15 0.20 0.25 0.30 5 10 5 10 QT401 R10.04/0505 4.10 Ordering Information PART NO. TEMP RANGE PACKAGE MARKING QT401-ISG QT401-ISSG -400C ~ +850C -400C ~ +850C SO-14 TSSOP-14 QT401 QT401 lQ 13 QT401 R10.04/0505 5 Product Pictures Figure 5.1 - E401 Eval Product (front, back, pcb rear) Figure 5.2 - A Clear ITO Slider Sensing Strip (Courtesy Click-Touch NV, Belgium) lQ 14 QT401 R10.04/0505 NOTES lQ 15 QT401 R10.04/0505 lQ Copyright (c)2004 QRG Ltd. All rights reserved. Patented and patents pending Corporate Headquarters 1 Mitchell Point Ensign Way, Hamble SO31 4RF Great Britain Tel: +44 (0)23 8056 5600 Fax: +44 (0)23 80565600 www.qprox.com North America 651 Holiday Drive Bldg. 5 / 300 Pittsburgh, PA 15220 USA Tel: 412-391-7367 Fax: 412-291-1015 This device covered under one or more of the following United States and international patents: 5,730,165, 6,288,707, 6,377,009, 6,452,514, 6,457,355, 6,466,036, 6,535,200. Numerous further patents are pending which may apply to this device or the applications thereof. The specifications set out in this document are subject to change without notice. All products sold and services supplied by QRG are subject to our Terms and Conditions of sale and supply of services which are available online at www.qprox.com and are supplied with every order acknowledgment. QProx, QTouch, QMatrix, QLevel, QWheel, QView, QScreen, and QSlide are trademarks of QRG. QRG products are not suitable for medical (including lifesaving equipment), safety or mission critical applications or other similar purposes. Except as expressly set out in QRG's Terms and Conditions, no licenses to patents or other intellectual property of QRG (express or implied) are granted by QRG in connection with the sale of QRG products or provision of QRG services. QRG will not be liable for customer product design and customers are entirely responsible for their products and applications which incorporate QRG's products. Development Team: Martin Simmons, Samuel Brunet, Luben Hristov