QUANTUM QT60326-AS-G

QT60326, QT60486
lQ
32 & 48 KEY QMATRIX™ ICs
Y4A
Y4B
Y5A
Y5B
Vdd
Vss
LED
DRDY
VREF
S_SYNC
/SS
MOSI
1
44 43 42 41 40 39 38 37 36 35 34
33
Y3B
MISO
SCK
/RST
2
3
4
32
31
30
Y2B
Y1B
Y0B
Vdd
Vss
XT2
5
6
7
29
28
27
Vdd
Vss
Vdd
XT1
8
26
X7
RX
9
25
X6
TX
10
24
11
23
19
13
15
16
18
20
21
14
17
22
12
X5
X4
WS
QT60326
QT60486
TQFP-44
X3
X2
X1
X0
Vss
Vdd
Y1A
Y2A
Y3A
SMP
Y0A
z Advanced second generation QMatrix™ controller
z Keys individually adjustable for sensitivity, response
time, and many other critical parameters
z Panel thicknesses to 50mm through any dielectric
z 32 and 48 key versions
z 100% autocal for life - no in-field adjustments
z SPI Slave and UART interfaces
z Sleep mode with wake pin
z Adjacent key suppression feature
z Synchronous noise suppression pin
z Spread-spectrum modulation: high noise immunity
z Mix and match key sizes & shapes in one panel
z Low overhead communications protocol
z FMEA compliant design features
z Negligible external component count
z Extremely low cost per key
z 44-pin Pb-free TQFP package
APPLICATIONS y Security keypanels
y Industrial keyboards
y Appliance controls
y Outdoor keypads
y ATM machines
y Touch-screens
y Automotive panels
y Machine tools
These digital charge-transfer (“QT”) QMatrix™ ICs are designed to detect human touch on up 48 keys when used with a scanned,
passive X-Y matrix. They will project touch keys through almost any dielectric, e.g. glass, plastic, stone, ceramic, and even wood, up to
thicknesses of 5 cm or more. The touch areas are defined as simple 2-part interdigitated electrodes of conductive material, like copper
or screened silver or carbon deposited on the rear of a control panel. Key sizes, shapes and placement are almost entirely arbitrary;
sizes and shapes of keys can be mixed within a single panel of keys and can vary by a factor of 20:1 in surface area. The sensitivity of
each key can be set individually via simple functions over the SPI or UART port, for example via Quantum’s QmBtn program, or from a
host microcontroller. Key setups are stored in an onboard eeprom and do not need to be reloaded with each powerup.
These devices are designed specifically for appliances, electronic kiosks, security panels, portable instruments, machine tools, or
similar products that are subject to environmental influences or even vandalism. It can permit the construction of 100% sealed,
watertight control panels that are immune to humidity, temperature, dirt accumulation, or the physical deterioration of the panel surface
from abrasion, chemicals, or abuse. To this end the device contains Quantum-pioneered adaptive auto self-calibration, drift
compensation, and digital filtering algorithms that make the sensing function robust and survivable.
The parts can scan matrix touch keys over LCD panels or other displays when used with clear ITO electrodes arranged in a matrix.
They do not require 'chip on glass' or other exotic fabrication techniques, thus allowing the OEM to source the matrix from multiple
vendors. Materials such as such common PCB materials or flex circuits can be used.
External circuitry consists of a resonator and a few passive parts, all of which can fit into a 6.5 sq cm footprint (1 sq inch). Control and
data transfer is via either an SPI or UART port.
These devices make use of an important new variant of charge-transfer sensing, transverse charge-transfer, in a matrix format that
minimizes the number of required scan lines. Unlike older methods, it does not require one IC per key.
AVAILABLE OPTIONS
TA
-400C to +1050C
-400C to +1050C
LQ
# Keys
32
48
Part Number
QT60326-AS-G
QT60486-AS-G
Copyright © 2003-2005 QRG Ltd
QT60486-AS R8.01/0105
Contents
..............................
.........................
1.2 Enabling / Disabling Keys . . . . . . . . . . . . . . . . . . . .
2 Hardware & Functional . . . . . . . . . . . . . . . . . . . . .
2.1 Matrix Scan Sequence . . . . . . . . . . . . . . . . . . . . . .
2.2 Burst Paring . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Response Time . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5 Sample Capacitors; Saturation Effects . . . . . . . . . . . . . .
2.6 Sample Resistors . . . . . . . . . . . . . . . . . . . . . . . .
2.7 Signal Levels . . . . . . . . . . . . . . . . . . . . . . . . . .
2.8 Matrix Series Resistors . . . . . . . . . . . . . . . . . . . . .
2.9 Key Design . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.10 PCB Layout, Construction . . . . . . . . . . . . . . . . . . .
2.10.1 LED Traces and Other Switching Signals
............
2.10.2 PCB Cleanliness
.......................
2.11 Power Supply Considerations
.................
2.12 Startup / Calibration Times . . . . . . . . . . . . . . . . . . .
Table 2-1 Calibration Timings
....................
2.13 Reset Input
..........................
2.14 Spread Spectrum Acquisitions . . . . . . . . . . . . . . . . .
2.15 Detection Integrators . . . . . . . . . . . . . . . . . . . . . .
2.16 FMEA Tests . . . . . . . . . . . . . . . . . . . . . . . . . .
2.17 Wiring . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 2.2 - Pin Listing
.......................
Figure 2.7 Wiring Diagram
......................
3 Serial Communications . . . . . . . . . . . . . . . . . . . . .
3.1 DRDY Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 SPI Communications
......................
3.3 UART Communications . . . . . . . . . . . . . . . . . . . . .
4 Control Commands . . . . . . . . . . . . . . . . . . . . . . .
4.1 Null Command - 0x00 . . . . . . . . . . . . . . . . . . . . . .
4.2 Enter Setups Mode - 0x01 . . . . . . . . . . . . . . . . . . . .
4.3 Cal All - 0x03 . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4 Force Reset - 0x04 . . . . . . . . . . . . . . . . . . . . . . .
4.5 General Status - 0x05 . . . . . . . . . . . . . . . . . . . . . .
4.6 Report 1st Key - 0x06 . . . . . . . . . . . . . . . . . . . . . .
4.7 Report Detections for All Keys - 0x07
..............
Table 4.1 Bit fields for multiple key reporting and key
numbering
............................
4.8 Report Signals for All Keys - 0x08 . . . . . . . . . . . . . . . .
4.9 Report References for All Keys - 0x09 . . . . . . . . . . . . . .
4.10 Report Deltas for All Keys - 0x0a . . . . . . . . . . . . . . . .
4.11 Report Error Flags for All Keys - 0x0b
.............
4.12 Report FMEA Status - 0x0c
..................
4.13 Dump Setups Block - 0x0d . . . . . . . . . . . . . . . . . . .
4.14 Eeprom CRC - 0x0e . . . . . . . . . . . . . . . . . . . . . .
1 Overview
1.1 Part differences
lQ
..................
......................
4.17 Internal Code - 0x11 . . . . . . . . . . . . . . . . . . . . . .
4.18 Internal Code - 0x12 . . . . . . . . . . . . . . . . . . . . . .
4.19 Sleep - 0x16 . . . . . . . . . . . . . . . . . . . . . . . . . .
4.20 Data Set for One Key - 0x4k . . . . . . . . . . . . . . . . . .
4.21 Status for Key ‘k’ - 0x8k
....................
4.22 Cal Key ‘k’ - 0xck . . . . . . . . . . . . . . . . . . . . . . . .
4.23 Command Sequencing . . . . . . . . . . . . . . . . . . . . .
Table 4.2 Command Summary
...................
5 Setups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1 Negative Threshold - NTHR . . . . . . . . . . . . . . . . . . .
5.2 Positive Threshold - PTHR
...................
5.3 Drift Compensation - NDRIFT, PDRIFT . . . . . . . . . . . . .
5.4 Detect Integrators - NDIL, FDIL . . . . . . . . . . . . . . . . .
5.5 Negative Recal Delay - NRD . . . . . . . . . . . . . . . . . . .
5.6 Positive Recalibration Delay - PRD
...............
5.7 Burst Length - BL . . . . . . . . . . . . . . . . . . . . . . . .
5.8 Adjacent Key Suppression - AKS
................
5.9 Oscilloscope Sync - SSYNC . . . . . . . . . . . . . . . . . . .
5.10 Negative Hysteresis - NHYST
.................
5.11 Dwell Time - DWELL . . . . . . . . . . . . . . . . . . . . . .
5.12 Mains Sync - MSYNC
.....................
5.13 Burst Spacing - BS . . . . . . . . . . . . . . . . . . . . . . .
5.14 Serial Rate - SR . . . . . . . . . . . . . . . . . . . . . . . .
5.15 Lower Signal Limit - LSL . . . . . . . . . . . . . . . . . . . .
5.16 LED / Alert Output - LED . . . . . . . . . . . . . . . . . . . .
5.17 Host CRC - HCRC . . . . . . . . . . . . . . . . . . . . . . .
Table 5.1 Setups Block
.......................
Table 5.2 LED Function Control Byte Bits
...............
Table 5.3 Key Mapping
.......................
Table 5.4 Setups Block Summary
..................
6 Specifications
..........................
6.1 Absolute Maximum Electrical Specifications . . . . . . . . . . .
6.2 Recommended operating conditions . . . . . . . . . . . . . . .
6.3 DC Specifications . . . . . . . . . . . . . . . . . . . . . . . .
6.4 Timing Specifications . . . . . . . . . . . . . . . . . . . . . .
6.5 Mechanical Dimensions . . . . . . . . . . . . . . . . . . . . .
6.6 Marking . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7 Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.1 8-Bit CRC Software C Algorithm . . . . . . . . . . . . . . . . .
7.2 16-Bit CRC Software C Algorithm . . . . . . . . . . . . . . . .
7.3 1-Sided Key Layout . . . . . . . . . . . . . . . . . . . . . . .
7.4 PCB Layout . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.15 Return Last Command - 0x0f
3
3
3
3
3
3
4
4
4
4
5
5
6
6
6
6
6
6
7
7
7
7
7
9
9
10
11
11
11
12
13
13
14
14
14
14
15
15
4.16 Internal Code - 0x10
15
15
15
15
15
15
15
15
2
16
16
16
16
16
16
16
16
16
18
20
20
20
20
21
21
21
22
22
22
22
22
22
23
23
23
23
23
24
25
25
26
27
27
27
27
27
27
28
29
29
29
30
30
QT60486-AS R8.01/0105
1 Overview
QmBtn software for the PC can be used to program the
operation of the IC as well as read back key status and signal
levels in real time.
QMatrix devices are digital burst mode charge-transfer (QT)
sensors designed specifically for matrix geometry touch
controls; they include all signal processing functions necessary
to provide stable sensing under a wide variety of changing
conditions. Only a few external parts are required for operation.
The entire circuit can be built within a few square centimeters of
single-sided PCB area. CEM-1 and FR1 punched, single-sided
materials can be used for possible lowest cost. The PCB’s rear
can be mounted flush on the back of a glass or plastic panel
using a conventional adhesive, such as 3M VHB 2-sided
adhesive acrylic film.
The parts are electrically identical with the exception of the
number of keys which may be sensed.
1.1 Part differences
Versions of the device are capable of a maximum of 32 or 48
keys (QT60326, QT60486 respectively).
These devices are identical in all respects, except that each is
capable of only the number of keys specified. These keys can
be located anywhere within the electrical grid of 8 X and 6 Y
scan lines.
QMatrix parts employ transverse charge-transfer ('QT') sensing,
a technology that senses changes in electrical charge forced
across an electrode by a pulse edge (Figure 1-1).
Unused keys are always pared from the burst sequence in
order to optimize speed. Similarly, in a given part a lesser
number of enabled keys will cause any unused acquisition burst
timeslots to be pared from the sampling sequence to optimize
acquire speed. Thus, if only 40 keys are actually enabled, only
40 timeslots are used for scanning.
Figure 1-1 Field flow between X and Y elements
overlying panel
X
element
1.2 Enabling / Disabling Keys
The NDIL parameter is used to enable and disable keys in the
matrix. Setting NDIL = 0 for a key disables it (Section 5.4). At
no time can the number of enabled keys exceed the maximum
specified for the device in the case of the QT60326.
Y
element
On the QT60326, only the first 4 Y lines (Y0..Y3) are
operational by default. On the QT60326, to use keys located on
lines Y4 and Y5, one or more of the pre-enabled keys must be
disabled simultaneously while enabling the desired new keys.
This can be done in one Setups block load operation.
cmos
driver
QMatrix devices allow for a wide range of key sizes and shapes
to be mixed together in a single touch panel. The approximate
design rules for these keys can be seen in Figure 2-6.
2 Hardware & Functional
The actual internal pattern style is not as important as is the
need to achieve regular X and Y widths and spacings of
sufficient size to cover the desired graphical key area or a little
bit more; 2mm overhand is acceptable in most cases, since the
fields drop off near the edges anyway. The overall key size can
range from 10mm x 10mm up to 100mm x 100mm. The keys
can be any shape including round, rectangular, square, etc.
The internal pattern can be as simple as a single bar of Y or as
complex as the interleaved structure shown in Figure 2-6.
2.1 Matrix Scan Sequence
For better surface moisture suppression, the outer perimeter of
X should be as wide as possible, and there should be no
ground planes near the keys. The variable ‘T’ in this drawing
represents the total thickness of all materials that the keys must
penetrate.
Each key is sampled in a burst of acquisition pulses whose
length is determined by the Setups parameter BL (page 22),
which can be set on a per-key basis. A burst is completed
entirely before the next key is sampled; at the end of each burst
the resulting signal is converted to digital form and processed.
The burst length directly impacts key gain; each key can have a
unique burst length in order to allow tailoring of key sensitivity
on a key by key basis.
The circuit operates by scanning each key sequentially, key by
key. Key scanning begins with location X=0 / Y=0 (key #0). X
axis keys are known as rows while Y axis keys are referred to
as columns. Keys are scanned sequentially by row, for example
the sequence X0Y0 X1Y0 .... X7Y0, X0Y1, X1Y1... etc. Keys are
also numbered from 0..47. Key 0 is located at X0Y0. A table of
key numbering is located on page 25.
A picture of an actual board made using similar key geometries
is shown on page 30.
The devices use both UART and SPI interfaces to allow key
data to be extracted and to permit individual key parameter
setup. The interface protocol uses simple single byte
commands and responds with single byte responses in most
cases. The command structure is designed to minimize the
amount of data traffic while maximizing the amount of
information conveyed.
2.2 Burst Paring
Keys that are disabled by setting NDIL =0 (page 21) have their
bursts pared from the scan sequence to save time. This has the
consequence of affecting the scan rate of the entire matrix as
well as the time required for initial matrix calibration. It does not
affect the time required to calibrate an individual key once the
matrix is initially calibrated after power-up or reset.
In addition to normal operating and setup functions the device
can also report back actual signal strengths and error codes.
lQ
3
QT60486-AS R8.01/0105
increasing BL to a high count and watching what the waveform
does as it descends towards and below -0.25V. The waveform
will appear deceptively straight, but it will start to flatten even
before the -0.25V level is reached.
2.3 Response Time
The response time of the device depends on the scan rate of
the keys (Section 5.13), the number of keys enabled (Section
5.4), the detect integrator settings (Section 5.4), and the serial
polling rate by the host microcontroller (or the use of the LED
pin as an interrupt to the host; Sections 5.16, and Table 5.2 on
page 25). An example timing:
A correct waveform is shown in Figure 2-3. Note that the
bottom edge of the bottom trace is substantially straight
(ignoring the downward spikes).
Keys enabled (KE) = 20
Burst spacing (BS) = 1ms
NDIL = 3
FDIL = 5
Host polling rate (PR) = 10ms
Unlike other QT circuits, the Cs capacitor values on QT60xx6
devices have no effect on conversion gain. However they do
affect conversion time.
Unused Y lines should be left open.
The worst case response time is computed as:
2.6 Sample Resistors
((KE + FDIL) x NDIL x BS) + PR = Worst case response
There are 6 sample resistors (Rs) used to perform single-slope
ADC conversion of the acquired charge on each Cs capacitor.
These resistors directly control acquisition gain: larger values of
Rs will proportionately increase signal gain. Values of Rs can
range from 220K✡ to 1M✡. 220K✡ is a reasonable value for
most purposes.
((20 + 5) x 3 x 1ms) + 10ms = 85ms
The use of the LED pin to trigger host sampling can reduce this
to ~75ms by saving the majority of the host polling time; see
Section 5.16.
Larger values for Rs will also increase conversion time and may
reduce the fastest possible key sampling rate, which can impact
response time especially with larger numbers of enabled keys.
2.4 Oscillator
The oscillator can use either a quartz crystal or a ceramic
resonator. In either case, the XT1 and XT2 must both be loaded
with 22pF capacitors to ground. 3-terminal resonators having
onboard ceramic capacitors are commonly available and are
recommended. An external TTL-compatible frequency source
can also be connected to XT1 in which case, XT2 should be left
unconnected.
Unused Y lines do not require an Rs resistor.
The frequency of oscillation should be 16MHz +/-1% for
accurate UART transmission timing.
Figure 2-1 VCs - Non-Linear During Burst
(Burst too long, or Cs too small, or X-Y capacitance too large)
2.5 Sample Capacitors; Saturation Effects
The charge sampler capacitors on the Y pins should be the
values shown. They should be X7R or NP0 ceramics or PPS
film. The value of these capacitors is not critical but 4.7nF is
recommended for most cases.
Cs voltage saturation is shown in Figure 2-1. This nonlinearity
is caused by excessively negative voltage on Cs inducing
conduction in the pin protection diodes. This badly saturated
signal destroys key gain and introduces a strong thermal
coefficient which can cause 'phantom' detection. The cause of
this is usually from the burst length being too long, the Cs value
being too small, or the X-Y coupling being too large. Solutions
include loosening up the interdigitation of key structures,
separating X and Y lines on the PCB more, increasing Cs, and
decreasing the burst length.
Figure 2-2 VCs - Poor Gain, Non-Linear During Burst
(Excess capacitance from Y line to Gnd)
Increasing Cs will make the part slower; decreasing burst
length will make it less sensitive. A better PCB layout and a
looser key structure (up to a point) have no negative effects.
Cs voltages should be observed on an oscilloscope with the
matrix layer bonded to the panel material; if the Rs side of any
Cs ramps more negative than -0.25 volts during any burst (not
counting overshoot spikes which are probe artifacts), there is a
potential saturation problem.
Figure 2-3 Vcs - Correct
Figure 2-2 shows a defective waveform similar to that of 2-1,
but in this case the distortion is caused by excessive stray
capacitance coupling from the Y line to AC ground, for example
from running too near and too far alongside a ground trace,
ground plane, or other traces. The excess coupling causes the
charge-transfer effect to dissipate a significant portion of the
received charge from a key into the stray capacitance. This
phenomenon is more subtle; it can be best detected by
lQ
4
QT60486-AS R8.01/0105
Figure 2-4 X-Drive Pulse Roll-off and Dwell Time
Figure 2-6 Recommended Key Structure
‘T’ should ideally be similar to the complete thickness the fields need to
penetrate to the touch surface. Smaller dimensions will also work but will give
less signal strength. If in doubt, make the pattern coarser.
X drive
Lost charge due to
inadequate settling
before end of dwell time
Dwell time
Y gate
Figure 2-5 Probing X-Drive Waveforms with a Coin
2.8 Matrix Series Resistors
The X and Y matrix scan lines should use series resistors
(referred to as Rx and Ry respectively) for improved EMI
performance.
X drive lines require them in most cases to reduce edge rates
and thus reduce RF emissions. Typical values range from 1K to
20K✡.
Y lines need them to reduce EMC susceptibility problems and in
some extreme cases, ESD. Typical Y values range around
1K✡. Y resistors act to reduce susceptibility problems by
forming a natural low-pass filter with the Cs capacitors.
It is essential that the Rx and Ry resistors and Cs capacitors be
placed very close to the chip. Placing these parts more than a
few millimeters away opens the circuit up for high frequency
interference problems (above 20MHz) as the trace lengths
between the components and the chip start to act as RF
antennae.
2.7 Signal Levels
The upper limits of Rx and Ry are reached when the signal
level and hence key sensitivity are clearly reduced. The limits of
Rx and Ry will depending on key geometry and stray
capacitance, and thus an oscilloscope is required to determine
optimum values of both.
Using Quantum’s QmBtn™ software it is easy to observe the
absolute level of signal received by the sensor on each key.
The signal values should normally be in the range from 250 to
750 counts with properly designed key shapes (see appropriate
Quantum app note on matrix key design). However, long
adjacent runs of X and Y lines can also artificially boost the
signal values, and induce signal saturation: this is to be
avoided. The X-to-Y coupling should come mostly from
intra-key electrode coupling, not from stray X-to-Y trace
coupling.
The upper limit of Rx can vary depending on key geometry and
stray capacitance, and some experimentation and an
oscilloscope are required to determine optimum values.
Dwell time (page 22) affects the duration in which charge
coupled from X to Y can be captured. Increasing the dwell will
increase the signal levels lost to higher values of Rx and Ry, as
shown in Figure 2-4. Too short a dwell time will cause charge to
be 'lost', if there is too much rising edge roll-off. Lengthening
the dwell time will cause this lost charge to be recaptured,
thereby restoring key sensitivity. In these devices, dwell time is
adjustable (see Section 5.11) to one of 3 values.
QmBtn software is available free of charge on Quantum’s web
site.
The signal swing from the smallest finger touch should
preferably exceed 10 counts, with 15 being a reasonable target.
The signal threshold setting (NTHR) should be set to a value
guaranteed to be less than the signal swing caused by the
smallest touch.
Dwell time problems can also be solved by either reducing the
stray capacitance on the X line(s) (by a layout change, for
example by reducing X line exposure to nearby ground planes
or traces), or, the Rx resistor needs to be reduced in value (or a
combination of both approaches).
Increasing the burst length (BL) parameter will increase the
signal strengths as will increasing the sampling resistor (Rs)
values.
One way to determine X settling time is to monitor the fields
using a patch of metal foil or a small coin over the key (Figure
lQ
5
QT60486-AS R8.01/0105
the device. Such signals should be routed away from the Y
lines, or the design should be such that these lines are not
switched during the course of signal acquisition (bursts).
2-5). Only one key along a particular X line needs to be
observed, as each of the keys along that X line will be identical.
The chosen dwell time should exceed the observed 95%
settling of the X-pulse by 25% or more.
LED terminals which are multiplexed or switched into a floating
state and which are within or physically very near a key
structure (even if on another nearby PCB) should be bypassed
to either Vss or Vdd with at least a 10nF capacitor of any type,
to suppress capacitive coupling effects which can induce false
signal shifts. Led terminals which are constantly connected to
Vss or Vdd do not need further bypassing.
In almost all case, Ry should be set equal to Rx, which will
ensure that the charge on the Y line is fully captured into the Cs
capacitor.
2.9 Key Design
Circuits can be constructed out of a variety of materials
including flex circuits, FR4, and even inexpensive single-sided
CEM-1.
2.10.2 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 transient losses of sensitivity or instability. Conformal
coatings will trap in existing amounts of moisture which will then
become highly temperature sensitive.
The actual internal pattern style is not as important as is the
need to achieve regular X and Y widths and spacings of
sufficient size to cover the desired graphical key area or a little
bit more; ~3mm oversize is acceptable in most cases, since the
key’s electric fields drop off near the edges anyway. The overall
key size can range from 10mm x 10mm up to 100mm x 100mm
but these are not hard limits. The keys can be any shape
including round, rectangular, square, etc. The internal pattern
can be as simple as a single bar of Y within a solid perimeter of
X, or (preferably) interdigitated as shown in Figure 2-6.
The designer should specify ultrasonic cleaning as part of the
manufacturing process, and in cases where a high level of
humidity is anticipated, the use of conformal coatings after
cleaning to keep out moisture.
For better surface moisture suppression, the outer perimeter of
X should be as wide as possible, and there should be no
ground planes near the keys. The variable ‘T’ in this drawing
represents the total thickness of all materials that the keys must
penetrate.
2.11 Power Supply Considerations
As these devices use the power supply itself as an analog
reference, the power should be very clean and come from a
separate regulator. A standard inexpensive LDO type regulator
should be used that is not also used to power other loads such
as LEDs, relays, or other high current devices. Load shifts on
the output of the LDO can cause Vdd to fluctuate enough to
cause false detection or sensitivity shifts.
See Figure 2-6 and page 30 for examples of key layouts.
2.10 PCB Layout, Construction
It is best to place the chip near the touch keys on the same
PCB so as to reduce X and Y trace lengths, thereby reducing
the chances for EMC problems. Long conn ection traces act as
RF antennae. The Y (receive) lines are much more susceptible
to noise pickup than the X (drive) lines.
Ceramic 0.1uF bypass capacitors should be placed very close
and routed with short traces to all power pins of the IC. There
should be at least 3 such capacitors around the part.
Even more importantly, all signal related discrete parts (R’s and
C’s) should be very close to the body of the chip. Wiring
between the chip and the various R’s and C’s should be as
short and direct as possible to suppress noise pickup.
2.12 Startup / Calibration Times
The devices require initialization times as follows:
Ground planes and traces should NOT be used around the
keys and the Y lines from the keys. Ground areas, traces, and
other adjacent signal conductors that act as AC ground (such
as Vdd and LED drive lines etc) will absorb the received key
signals and reduce signal-to-noise ratio (SNR) and thus will be
counterproductive. Ground planes around keys will also make
water film effects worse.
1. From very first powerup to ability to communicate:
2,083ms (one time event to initialize all of eeprom, or to
recover eeprom copy from FLASH in the event of
eeprom corruption)
2. From powerup to ability to communicate:
2,100 ms in the event the part is being forced to restore
the factory defaults.
Ground planes, if used, should be placed under or around the
QT chip itself and the associated R’s and C’s in the circuit,
under or around the power supply, and back to a connector, but
nowhere else.
3. From powerup to ability to communicate:
36 ms in the event the setups have been changed and
the part needs to backup the EEPROM to flash.
See page 30 for an example of a 1-sided PCB layout.
4. Normal cold start to ability to communicate:
3ms (Normal initialization from any reset)
2.10.1 LED Traces and Other Switching Signals
5. Calibration time per key vs. burst spacings for 32 and 48
enabled keys (Table below):
Digital switching signals near the Y lines will induce transients
into the acquired signals, deteriorating the SNR perfomance of
lQ
6
QT60486-AS R8.01/0105
QT60xx6 spread spectrum operates by using a frequency chirp
within each burst, in four different frequency bands.
Table 2-1 Calibration Timings
Burst Spacing,
ms
Cal Time, ms,
32 keys
Cal Time, ms,
48 keys
*Auto
0.50
0.75
1.00
1.25
1.50
1.75
2.00
2.25
2.50
2.75
3.00
see text
280
387
495
602
709
816
923
1031
1138
1245
1352
see text
384
543
702
862
1,021
1,180
1,339
1,500
1,658
1,817
1,976
This feature is hardwired into the device and cannot be
disabled or modified.
2.15 Detection Integrators
See also Section 5.4, page 21.
The devices feature a detection integration mechanism, which
acts to confirm a detection in a robust fashion. The basic idea is
to increment a per-key counter each time the key has crossed
its threshold. When this counter reaches a preset limit the key
is finally declared to be touched. Example: If the limit value is
10, then the device has to detect a threshold crossing 10 times
in succession without interruption, before the key is declared to
be touched. If on any sample the signal is not seen to cross the
threshold level, the counter is cleared and the process has to
start over from the beginning.
To the above, add 2,083ms, 36 ms, or 3ms from (1), (3),
or (4) for the total elapsed time from reset to ability to
report key detections.
The QT60xx6 uses a two-tier confirmation mechanism having
two such counters for each key. These can be thought of as
‘inner loop’ and ‘outer loop’ confirmation counters.
*Auto mode determination time: In Auto mode, burst
spacings are assigned just after a reset event in a process that
requires 30ms worst case per enabled key. Thus, if there are
32 keys enabled, the Auto mode calculation process requires
32 x 30ms = 960ms. Subsequent to the auto mode calculation
time, the keys enter calibration mode. Thus, the startup time of
the part is almost 1s longer than normal due to this
‘determination time’, and should be factored into the startup
delay time.
The ‘inner’ counter is referred to as the ‘fast-DI’; this acts to
attempt to confirm a detection via rapid successive acquisition
bursts, at the expense of delaying the sampling of the next key.
Each key has its own fast-DI counter and limit value; these
limits can be changed via the Setups block on a per-key basis.
The ‘outer’ counter is referred to as the ‘normal-DI’; this DI
counter increments whenever the fast-DI counter has reached
its limit value. If a fast-DI counter failed to reach its terminal
count, the corresponding normal-DI counter is also reset. The
normal-DI counter also has a limit value which is settable on a
per-key basis. If a normal-DI counter reaches its terminal count,
the corresponding key is declared to be touched and becomes
‘active’. Note that the normal-DI can only be incremented once
per complete keyscan cycle, i.e. more slowly, whereas the
fast-DI is incremented ‘on the spot’ without interruption (at the
same burst spacing timing).
Calibration time: The calibration time is shown in Table 2-1.
Disabled keys are subtracted from the burst sequence and thus
the cal time will be proportionately shorter than the numbers
shown for lower key counts. In auto burst spacing mode, the
burst spacing time should be measured on an oscilloscope and
used to look up the calibration time value in the table.
Keys that cannot calibrate for some reason require 5 full cal
cycles before they report as errors. However, the device can
report back during this interval that the key(s) affected are still
in calibration via status function bits. Keys in calibration also
report back as being in error (Section 4.11) since keys in
calibration are ‘blind’ to touch.
The net effect of this mechanism is a multiplication of the inner
and outer counters and hence a highly noise-resistant sensing
method. If the inner limit is set to 5, and the outer to 3, the net
effect is 5x3=15 successive threshold crossings to declare a
key as active.
2.13 Reset Input
2.16 FMEA Tests
The /RST pin can be used to reset the device to simulate a
power down cycle, in order to bring the part up into a known
state should communications with the part be lost. The pin is
active low, and a low pulse lasting at least 10µs must be
applied to this pin to cause a reset.
FMEA (Failure Modes and Effects Analysis) is a tool used to
determine critical failure problems in control systems. FMEA
analysis is being applied increasingly to a wide variety of
applications including domestic appliances. To survive FMEA
testing the control board must survive any single problem in a
way that the overall product can either continue to operate in a
safe way, or shut down.
To provide for proper operation during power transitions the
devices have an internal brownout detector set to 4 volts.
The reset pin has an internal 30K ~ 60K resistor. A 2.2µF
capacitor plus a diode to Vdd can be connected to this pin as a
traditional reset circuit, but this is overkill.
The most common FMEA requirements regard opens and
shorts analysis of adjacent pins on components and
connectors. However other criteria must usually be taken into
account, for example complete device failure, and the use of
redundant signaling paths.
A Force Reset command, 0x04 is also provided which
generates an equivalent hardware reset.
If an external hardware reset is not used, this pin may be
connected to Vdd or left floating.
QT60xx6 devices incorporate special self-test features which
allow products to pass such FMEA tests easily. These tests are
performed during a dummy timeslot after the last enabled key.
2.14 Spread Spectrum Acquisitions
The sequence of tests are performed repeatedly during normal
running once all initialization, include the burst spacing
optimization in auto mode, is complete. During initialization, all
QT60xx6 devices use spread-spectrum acquisition modulation.
This has the effect of drastically reducing EMI effects on the
signals, while reducing the level of detectable RF emissions.
lQ
7
QT60486-AS R8.01/0105
FMEA error flags are cleared. Any FMEA errors will be reported
as the tests are performed for the first time.
The FMEA testing is done on all enabled keys in the matrix, and
results are reported via the serial interface through a dedicated
status command (page 15). Disabled keys are not tested. The
existence of an error is also reported in normal key reporting
commands such as Report 1st Key, page 15.
Assuming no detect events occur, the real time that elapses
from the start of one sequence of FMEA tests to the start of the
next, i.e. the FMEA sequence time, never exceeds 2s.
ƒ
X drive signal deviation
ƒ
Y line shorts to Vdd and Vss
ƒ
Y line shorts to other pins
ƒ
X to Y line shorts
ƒ
Cs capacitor checks including shorts and opens
ƒ
Vref test
Other tests incorporated into the devices include:
Also, since the devices only communicate in slave mode, the
host can determine immediately if the QT has suffered a
catastrophic failure. The QT can also participate in
cross-checking the integrity of the host controller, and even
reset the host if no communications have been heard from it in
a short while (via the LED pin output, page 23).
ƒ
A test for signal levels against a preset min value (LSL
setup, see Section 5.15, page 23). If any signal level falls
below this level, an error flag is generated.
ƒ
CRC communications checks on all critical command and
data transmissions.
ƒ
‘Last-command’ command to verify that an instruction was
properly received.
ƒ
Loss of communications reset of the host controller.
The FMEA tests performed are:
ƒ
ƒ
X drive line shorts to Vdd and Vss
For those applications requiring it, Quantum can supply sample
FMEA test data on special request.
X drive line shorts to other pins
lQ
8
QT60486-AS R8.01/0105
2.17 Wiring
Table 2.2 - Pin Listing
Applies to all devices
Pin
Function
I/O
1
2
3
MOSI
MISO
SCK
I/O
O
I/O
4
/RST
I
5
6
7
8
9
Vdd
Vss
XT2
XT1
Rx
P
P
O
I
I
10
Tx
O
11
WS
I
12
SMP
I/O
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Y3A
Y2A
Y1A
Y0A
Vdd
Vss
X0
X1
X2
X3
X4
X5
X6
X7
Vdd
Vss
Vdd
Y0B
Y1B
Y2B
Y3B
Y4A
Y4B
Y5A
Y5B
Vdd
Vss
LED
I
I
I
I
P
P
O
O
O
O
O
O
O
O
P
P
P
I
I
I
I
I
I
I
I
P
P
O
41
DRDY
O
42
43
Vref
S_Sync
I
O
44
/SS
I
lQ
Comments
SPI data input
SPI data output
SPI clock input
Reset low;
has internal 30K ~ 60K pull-up
Power, +5V
Supply ground
16 MHz 3-terminal resonator
UART receive data input
UART transmit data;
has internal 20K ~ 50K pull-up
Wake-up from sleep input and/or sync input
Sample output. Also - When forced high before
reset, induces ‘factory defaults’ into all setups.
Y line connection
Y line connection
Y line connection
Y line connection
Power, +5V
Supply ground
X matrix drive line
X matrix drive line
X matrix drive line
X matrix drive line
X matrix drive line
X matrix drive line
X matrix drive line
X matrix drive line
Power, +5V
Supply ground
Power, +5V
Y line connection
Y line connection
Y line connection
Y line connection
Y line connection
Y line connection
Y line connection
Y line connection
Power, +5V
Supply ground
Status output / LED indicator drive
1= Comms ready;
has internal 20K ~ 50K pull-up
0.05V nominal +/-10% via external divider
Scope Sync: Synchronization test signal
SPI slave select;
has internal 20K ~ 50K pull-up
9
If Unused, Connect To..
Leave open
Leave open
Leave open
Vdd
Leave open
Vdd
Leave open
Vdd
Leave open
Leave open
Leave open
Leave open
Leave open
Leave open
Leave open
Leave open
Leave open
Leave open
Leave open
Leave open
Leave open
Leave open
Leave open
Leave open
Leave open
Leave open
Leave open
Leave open
Leave open
QT60486-AS R8.01/0105
Figure 2.7 Wiring Diagram
MISO
2
MISO
SCLK
3 SCK
10 Tx
38
29
Vdd
Y0B
DRDY
LED
Y2B
Y3B
39
28
VDD
Vss
Y4B
Vss
Y5A
Vss
Vss
10K
12 SMP
18
Y4A
Vref
6
XT2
42
7
16 MHz 3-TERM
RESONATOR
1K
X1
RX1
1K
X0
RX0
1K
Y0
RY0
1K
RY1
1K
RY2
1K
RY3
1K
RY4
1K
RY5
1K
30
CS0
4.7nF
Y1
31
CS1
4.7nF
Y2
32
CS2
4.7nF
Y3A 13
XT1
X3
X2
RX2
Y1A 15
Y1B
1K
1K
Y2A 14
4.7K
8
X4
Y0A 16
QT60326
QT60486
40
RX3
X1 20
X0 19
11 WS
41
1K
RX4
X3 22
X2 21
Y3
33
CS3
34 Note 1
4.7nF
Y4
35 Note 1
CS4
36 Note 1
4.7nF
Y5
37 Note 1
Y5B
CS5
220K
Tx
X5
RX5
220K
9 Rx
1K
23
220K
Rx
X6
RX6
24
MATRIX X-DRIVE
MOSI
X4
1K
MATRIX Y-SCAN
1
DRDY
VDD
43 S_SYNC
44 SS
MOSI
WAKE
SYNC
X5
X7
RX7
25
220K
UART
SPI
/SS
X6
26
220K
SCOPE
X7
RST
220K
4
Vdd
4.7uF
Vdd
4.7uF
5
+
100nF
27
100nF
100nF
Vdd
+
VDD
17
+5V VREG
Vdd
Vunreg
100
4.7nF
Note 1: Leave Y4A, Y4B, Y5A, Y5B
unconnected for QT60326
RS5 RS4 RS3 RS2 RS1 RS0
Note:
Use either UART or SPI comm port but not both. Device defaults to SPI communications but if it receives a UART byte at
any time, locks into UART mode instead. See Table 2.2 for connections when pins are unused.
lQ
10
QT60486-AS R8.01/0105
3 Serial Communications
These devices can use either SPI or UART communications
modes; it cannot use both at the same time. The part defaults to
SPI mode unless it receives a byte over the UART interface. If a
UART byte is received at any time, the UART interface is
enabled and the SPI interface is totally disabled until after the
next device reset.
The host device always initiates communications sequences;
the QT is incapable of chattering data back to the host. This is
intentional for FMEA purposes so that the host always has total
control over the communications with the QT60xx6. In SPI
mode the device is a slave, so that even return data following a
command is controlled by the host. In UART mode, the device
will still only respond back to the host after a command, but the
responses are not controlled by the host.
If the host desires to send a byte to the QT it should behave as
follows:
1. If DRDY is low, wait
2. If DRDY is high: send a command to QT
3. Wait 20µs (time S5 in Figure 3-3: DRDY is guaranteed to
go low before this 20µs expires)
4. Wait until DRDY is high (it may already be high again)
5. Send next command or a null byte 0x00 to QT
It takes up to 1ms for DRDY to go high again after a command,
except for a few commands listed in Section 4:
0x01 (Setups load):
0x0E (Get eeprom CRC):
0x16 (Sleep):
Other DRDY specs:
A command from the host always ends in a response of some
kind from the QT. Some transmission types from the host or the
QT employ a CRC check byte to provide for robust
communications.
Min time DRDY is low:
Min time DRDY is low after reset:
1µs
1ms
3.2 SPI Communications
SPI mode is selected by default after reset. There is no other
configuration required to make the device operate in SPI mode.
If a UART byte occurs before or even after SPI transmissions
have taken place, the device will switch to UART mode and
remain in that mode until the device is reset.
A DRDY line is provided that handshakes transmissions.
Generally this is needed by the host from the QT to ensure that
transmissions are not sent when the QT is busy or has not yet
processed a prior command. In UART mode this line is
bi-directional, and the QT can use it to suspend transmissions
back to the host if the host is busy.
Initiating or Resetting Communications: After a reset, or,
should communications be lost due to noise or out-of-sequence
reception, the host should send a 0x0f (return last command)
command repeatedly until the compliment of 0x0f, i.e. 0xf0, is
received back. Then, the host can resume normal run mode
communications from a clean start.
Figure 3-1 Basic SPI Connections
Host MCU
Poll rate: The typical poll rate in normal ‘run’ operation should
be no faster than once per 10ms; even 50ms is more than fast
enough to extract status data using the 0x06 command (report
first key: see page 15) in most situations. Streaming commands
like the 0x0d command (dump setups: see page 15) or
multi-byte response commands like 0x07 or 0x08 can and
should pace at the maximum possible rate.
Run Poll Sequence: In normal run mode the host should limit
traffic with a minimalist control structure (see also Section 4.23).
The host should just send a 0x06 command until something
requires a deeper state inspection. If there is more than one key
in detect, the host should use 0x07 to find which additional keys
are in detect. If there is an error, the host should ascertain the
error type based on commands 0x0b and 0x0c and take
appropriate action. Issuing a 0x07 command all the time is
wasteful of bandwidth, requires more host processor time, and
actually conveys less information (no error flags are sent via a
0x07 command).
DRDY
SS
SCK
MISO
MOSI
Figure 3-2 Filtered SPI Connections
Host MCU
QT60xx6 Circuit
P_IN
Ca
P_OUT1
MISO
MOSI
DRDY
Ra
SS
Ra
Ca
SCK
DRDY is an open-drain output (in SPI mode) or bidirectional pin
(in UART mode) with an internal 20K ~ 50K pull-up resistor.
Serial communications pacing is controlled by this pin. In either
UART or SPI mode, the host is permitted to send data only
when DRDY is high. In UART mode, the device additionally will
hold up responses to the host if DRDY is being held low by the
host. After a byte is received DRDY will always go low even if
only for a few microseconds; during this period the host should
not send data. Therefore, after each byte transmission the host
should first check that DRDY is high again.
QT60xx6
P_IN
P_OUT
SCK
MISO
MOSI
3.1 DRDY Pin
lQ
<20ms
<20ms
<5ms
Ra
Ca
Ca
Ra
Ca
P_OUT2
1K
Xn
Y Lines
(1 of 6
shown)
Yn
SCK
MISO
MOSI
Ra
X drives
(1 of 8
shown)
RESET
1nF
Recommended Values of Ra & Ca
SPI Clock Rate
4MHz
400kHz
100kHz
50kHz
11
Ra
680
1,000
2,200
2,200
Ca
33pF
270pF
470pF
1nF
QT60486-AS R8.01/0105
SPI communications operates in slave mode only, and obeys
DRDY control signaling. The clocking is as follows:
Clock idle:
Clock shift out edge:
Clock data in edge:
Max clock rate:
New commands attempted during intermediate byte transfers
are ignored.
High
Falling
Rising
4MHz
Wake operation: The device can be put into sleep mode with a
serial command, 0x16 (page 16) and then be awakened later
with a 10µs minimum low level on the WS pin. With the /SS line
tied to WS, the host can simply toggle /SS low for 10µs
minimum to wake the part; the host should not send an actual
SPI byte to prevent the device from seeing a byte it cannot
properly interpret due to timing errors during wakeup.
SPI mode requires 5 signals to operate:
MOSI - Master out / Slave in data pin; used as an input for data
from the host (master). This pin should be connected to the
MOSI (DO) pin of the host device.
The recommended method to reestablish communications after
Wake from Sleep is to send the QT device a 0x0F ('Get Last
Command' command) repeatedly until the correct response
comes back (the command's own compliment, i.e. 0xF0).
MISO - Master in / Slave out data pin; used as an output for
data to the host. This pin should be connected to the M ISO
(DI) pin of the host. MISO floats when /SS is high to allow
multi-drop communications along with other slave parts.
SPI Line Noise: In some designs it is necessary to run SPI
lines over ribbon cable across a lengthy distance on a PCB.
This can introduce ringing, ground bounce, and other noise
problems which can introduce false SPI clocking or false data.
Simple RC networks and slower data rates are helpful to
resolve these issues as shown in Figure 3-2.
SCK - SPI clock - input only clock from host. The host must shift
out data on the falling SCK edge; the QT60xx6 clocks data in
on the rising edge. The QT60xx6 likewise shifts data out on
the falling edge of SCK back to the host so that the host can
shift the data in on the rising edge. Important: SCK must
idle high; it should never float.
CRC checks have also been added to critical commands in
order to detect transmission errors to a high level of certainty.
/SS - Slave select - input only; acts as a framing signal to the
sensor from the host. /SS must be low before and during
reception of data from the host. It must not go high again
until the SCK line has returned high; /SS must idle high. This
pin includes an internal pull-up resistor of 20K ~ 50K. When
/SS is high, MISO floats.
3.3 UART Communications
See also SR setup parameter, page 23.
UART mode is selected as soon as the QT receives any data
on the UART Rx pin. There is no other configuration required to
make the device operate in UART mode. Once UART is
selected after a power-up, the device cannot switch to SPI
mode unless the device is reset.
DRDY - Data Ready - active-high - indicates to the host that the
QT is ready to send or receive data. This pin idles high. This
pin includes an internal pull-up resistor of 20K ~ 50K. In SPI
mode this pin is an output only (i.e. open drain with internal
pull-up).
UART mode communications functions in the same basic way
as SPI communications. The Baud rate is adjusted by means of
setup parameter ‘SR’ (page 23). Once a new Baud rate has
been set, the device must be reset for the new rate to take
effect.
The MISO pin on the QT floats in 3-state mode between bytes
when /SS is high. This facilitates multiple devices on one SPI
bus.
The major difference with SPI mode is that the UART mode is
asynchronous and so the host does not clock the QT. No
framing /SS or clock signal is required, simplifying the interface
greatly. Return data is sent from the QT back to the host when
the data is ready.
Null Bytes: When the QT responds to a command with one or
more response bytes, the host should issue a null commands
(0x00) to get the response bytes back. The host should not
send new commands until all the responses are accepted back
from the QT from the prior command via nulls.
Figure 3-3 SPI Slave-Only Mode Timing (Fosc = 16MHz)
S1: m125ns
S2: [20ns
S3: m25ns
S4: [20ns
S5: [20µs
S6: m1µs
S7: m125ns
S8: m125ns
S9: m250ns
S6
high via pullup-R
DRDY
(from QT)
S1
S5
/SS
(from Host)
S3
S9
CLK
(from Host)
S7
S8
Data shifts in to QT on rising edge
MOSI
(Data from Host)
?
7
6
5
4
3
2
1
7
0
{Command byte}
S2
6
5
4
3
2
1
0
{optional 2nd command byte}
S4
7
6
5
4
3
2
1
0
{null byte or next command to get QT response}
Data shifts out of QT on falling edge
MISO
(Data from QT)
3-state
? 7
6
5
4
3
2
1
0
3-state
? 7
6
5
4
3
2
1
0
? 7
6
5
4
3
2
1
0
data response
lQ
12
QT60486-AS R8.01/0105
Multi-drop capability: Tx floats within 10µs after each
transmitted byte. This line can thus be shared with other UART
based peripherals. Tx includes an internal 20K ~ 50K pull-up
resistor to Vdd to prevent the line from floating down.
Figure 3-5 UART Connections
Host MCU
Wake operation: The device can be put into sleep mode with a
serial command, 0x16 (page 16) and then be awaked with a
dummy byte from the host, if the Rx and WS pins are connected
together. The first received UART byte from the host after a
wake should be a 0xFF; any other byte value could create a
framing error. The start bit of the 0xFF forms a convenient
narrow wake pulse without being long enough to be interpreted
as a byte during the wake operation.
The recommended method to reestablish communications after
Wake from Sleep is to send a 0x0F ('Get Last Command'
command) repeatedly until the correct response comes back
(the command's own compliment, i.e. 0xF0).
Rx
Tx
P_IN
Tx - Transmit async data. Drives out when transmitting but
floats within 10µs of the end of the stop bit, to allow bussing
with several similar parts. Tx should idle high, and it includes
an internal 20K ~ 50K resistor to Vdd. Tx is push-pull when
transmitting data for good drive characteristics.
Simple RC networks and slower data rates are helpful to
resolve these issues. CRC checks have been added to critical
commands in order to detect transmission errors to a high level
of certainty.
4 Control Commands
Refer to Table 4.2, page 18 for further details.
Suggested command sequencing: See Section 4.23, page 16.
UART transmission parameters are:
Baud rate:
9600 ~ 115,200
Start bits:
1
Data bits:
8
Parity:
None
Stop bits:
1
The devices feature a set of commands which are used for
control and status reporting. The host device has to send the
command to the QT60xx6 and await a response.
SPI mode: While waiting the host should delay for 20 µs from
the end of the command, then start to check if DRDY is or goes
high. If it is high, then the host master can clock out the
resulting byte(s).
DRDY in UART mode: Section 3.1 applies.
DRDY is bi-directional in UART mode. DRDY can be pulled
down by either the QT or the host (wire-AND), so that either
device can be inhibited from sending data until the other is
ready. The host should obey this control line or transmission
errors can occur. The host should grant a 10µs grace period
after clamping DRDY low in which it can still accept the start bit
of a transmission from the QT.
UART mode: After the command is sent, the QT will send back
the response usually starting within 1ms. The host can clamp
DRDY low (wire-AND logic) to inhibit a response if the host is
not able to receive the transmission for a while.
As explained in Section 3.1, DRDY is not clamped low
immediately after the QT receives a byte; there can be up to a
20µs delay from the end of the stop bit before DRDY goes low.
Sampling of DRDY by the host should occur 20µs after the byte
has been fully sent; if DRDY is already high at this point, or
becomes high, then it is clear to send.
Null Bytes: Unlike SPI mode, there is no reason to send null
bytes to the QT in UART mode. The QT device will respond to
commands with data when ready, subject to the DRDY line
being high.
UART Noise: In some designs it is necessary to run Tx and Rx
over a lengthy distance. This can introduce ringing, ground
bounce, and other noise problems which can corrupt data.
Command timeouts: Where a command involves multi-byte
transfers in either direction, each byte must be transmitted
within 100ms of the prior byte or the command will timeout. No
error is reported for this condition; the command simply ceases.
Word return byte order: Where a word or long word is
returned (16 or 24 bit number or bit pattern) the low order byte
is sent or received first.
Response delays: The device requires processing time to
complete command requests and respond with an answer to
the host. These timings are the same for SPI and UART modes.
Most commands respond with data in 1ms maximum; timing
parameters U2 and U3 in Figure 3-4 will thus be 1ms maximum
for these commands. The exceptions are:
0x01 (Setups upload):
0x0E (Get eeprom CRC):
0x16 (Sleep):
<5ms
Figure 3-4 UART Timing
U2, U3: See text; U4: <10us
DRDY (handshake)
Rx (command from host)
*
Tx (response to host)
*
floats high
U3
U1
lQ
U2
Tx
Rx
DRDY
UART Timing Parameters: UART timings are as shown in
Figure 3-4. Delay timings for parameters U2 and U3 are
dependent on the specific command. See Section 4.
Rx - Receive async data. This pin is an input only.
U1: <=20us
QT60xx6
floats high
U4
<20ms
<20ms
4.1 Null Command - 0x00
Used to shift back data from the QT in SPI
mode. Since the host device is always the
master in SPI mode, and data is clocked in
both directions, the Null command is
required frequently to act as a placeholder
where the desire is to only get data back
from the QT, not to send a command.
* Stop bit
13
QT60486-AS R8.01/0105
In SPI communications, when the QT60xx6 responds to a
command with one or more response bytes, the host can issue
a new command instead of a null on the last byte shift
operation.
The host can monitor the progress of the recalibration by
checking the status byte, using command 0x05, during the
course of the calibration.
A key will show an error flag (using command 0x8k) indicating
the key has failed calibration if its signal is too noisy or if its
signal is below the low signal threshold. A key is deemed too
noisy if, at the end of calibration, the signal is no longer
between its computed negative hysteresis level and positive
thresholds.
New commands during intermediate byte shift-out operations
are ignored, and null bytes should always be used.
4.2 Enter Setups Mode - 0x01
This command is used to initiate the Setups block transfer from
Host to QT.
4.4 Force Reset - 0x04
The command must be repeated 2x within 100ms or the
command will fail; the repeating command must be sequential
without any intervening command. After the 2nd 0x01 from the
host, the QT will stop scanning keys and reply with the
character 0xFE. In SPI mode this character must be shifted out
by sending a null (0x00) from the host. This command
suspends normal sensing starting from the receipt of the
second 0x01. A failure of the command will cause a timeout.
The command must be repeated 2x within 100ms or the
command will fail; the repeating command must be sequential
without any intervening command. After the 2nd 0x04, the
device will reply with the character 0xFB just prior to executing
the reset operation.
After any reset, the device automatically performs a full key
calibration on all keys.
Each byte in the block must arrive at the QT no later than
100ms after the previous one or a timeout will occur. Any
timeout will cause the device to cancel the block load and go
back to normal operation.
The host can monitor the progress of the reset to see when the
chip is operating again by checking the status byte for
recalibration, by repeatedly issuing command 0x05 (see below).
If no response comes back, the command was not received and
the device should preferably be reset by the host just in case
there are any other problems.
4.5 General Status - 0x05
If 0xFE is received by the host from the QT, then the host
should begin to transmit the block of Setups to the QT. The
DRDY line handshakes the data. The delay between bytes can
be as short as 10µs but the host can make it longer than this if
required, but no more than 100ms. The last two bytes the host
should send is the CRC for the block of data only (ie the CRC
should not include the command in its calculation).
This command returns the general status bits. This command is
not as useful as the 0x06 command for routine use. The bits
returned from 0x05 are as follows:
BIT
7
6
5
4
3
2
After the block transfer the QT will check the CRC and respond
with 0x00 if there was an error. Regardless, it will program the
internal eeprom. If the CRC was correct it will reply with a
second 0xFE after the eeprom was programmed.
1
0
If there was an error in the block transfer the device will restore
the last known good Setups from Flash memory the next time
the device is reset. However until that point, the device will
attempt to operate using the new Setups block even if it is
corrupt. Note that some Setups do not take effect until the part
is reset (e.g. Baud rate).
Notes:
Bit 6: Set if a communications failure. This can be reset by
sending command 0x0f (“last command command”) repeatedly
until a response of 0xf0 is received.
Bit 5: Set if an FMEA error was detected during operation. See
Section 2.16. A further amplification of what the FMEA error
consisted of is described in Section 4.12.
At the end of the full block load sequence, the device restarts
sensing without recalibration. Most of the setups in the block
will take effect immediately, but it is important to reset the
device after a block load to make all the changes effective
and permanent. See Section 4.4.
Bit 4: Set if eeprom corruption was detected. If this happens, it
is recommended that the device be reset. If a reset does not
cure the problem, the Setups block should be reloaded (Section
4.2) and the device reset again.
Command response timing: Responses to the bytes in the
setups block (both DRDY and return byte at the end) by the
part can take as long as 20ms each.
Bit 3: Set if there was a mains sync error, for example there
was no Sync signal detected within the allotted 100ms amount
of time. See Section 5.12. This condition is not necessarily fatal
to operation, however the device will operate very slowly and
may suffer from noise problems if the sync feature was required
for noise reasons.
4.3 Cal All - 0x03
This command must be repeated 2x within 100ms or the
command will fail; the repeating command must be sequential
without any intervening command.
Bit 2: Reports either a cal failure (failed in 5 sequential
attempts) on any enabled key or, that an enabled key has a
very low signal reference value, lower than the user-settable
LSL value (Section 5.15).
After the 2nd 0x03 from the host, the QT will reply with the
character 0xFC. Shortly thereafter the device will recalibrate all
keys and restart operation.
Bit 1: Set if any key is in the process of calibrating.
If no 0xFC comes back, the command was not properly
received and the device should preferably be reset.
lQ
Description
Reserved
1= communications failure
1= FMEA failure detected
1= eeprom corrupt
1= Mains sync error
1= calibration has failed on an
enabled key or, an LSL failure
1= any key in calibration
1= any key in detect
Bit 0: Set if any key is in detection (touched).
14
QT60486-AS R8.01/0105
A CRC byte is appended to the response to the 0x05 command;
this CRC folds in the command value 0x05 itself initially.
4.6 Report 1st Key - 0x06
Reports the first or only key to be touched, plus indicates if
there are yet other keys that are also touched.
The return bits are as follows:
BIT
7
6
5
4
3
2
1
0
Description
1= more than 1 key is active
1= any error condition is present
Key bit 5
Key bit 4
Key bit 3
Key bit 2
Key bit 1
Key bit 0
4.10 Report Deltas for All Keys - 0x0a
Returns the delta signal values with respect to the reference
levels for all keys. Each value is an 8-bit unsigned number
representing {reference - signal}; negative results are truncated
to zero, i.e. those where the signal rises above the reference
value. This command returns 48 bytes. No CRC is appended to
the return, so the data should not be considered secure. The
byte for key 0 is returned first.
If the delta value attempts to exceed 255, the result is limited to
255.
4.11 Report Error Flags for All Keys - 0x0b
Returns six bytes which show error flags as a bitfield for all
keys. Key 0 reports in bit 0 of the first byte returned; key 47 is
reported in bit 7 of the last byte returned. See Table 4.1 and
Table 5.3, page 25.
One type of error reported with this command is the signal
being below its limit point (Section 5.15).
Bits 5..0 encode for the first detected key in range 0..47. If no
keys are active, these 6 bits are all 1’s (0x3F, 63 decimal when
bits 6, 7 are masked off).
A key that is in calibration also is reported as an error in the
response since it cannot operate as a key while it is calibrating.
This type of error flag is self-cleared once the key exits from
calibration. A calibration error flag due to an actual cal error can
be found thereafter using command 0x8k (Section 4.21).
If 2 or more keys in detection, bit 7 is set and the host should
interrogate the part via the 0x07 command to read out all the
key detections. This one command should be the dominant
interrogation command in the host interface; further commands
can be issued if the response to 0x06 warrants it. For example,
if there is an error flag, command 0x05 can be sent to find the
cause. If bit 7 is set, the command 0x07 can be sent to find
further keys in detection.
A CRC byte is appended to the response; this CRC folds in the
command 0x0b itself initially.
Note that these error bits exclude FMEA failure modes.
A CRC byte is appended to the response; this CRC folds in the
command 0x06 itself initially.
4.12 Report FMEA Status - 0x0c
4.7 Report Detections for All Keys - 0x07
Returns six bytes which indicate all keys in detection if any, as a
bitfield. Key 0 reports in bit 0 of the first byte returned; key 47 is
reported in bit 7 of the last byte returned. See Table 4.1 and
Table 5.3, page 25.
A CRC byte is appended to the response; this CRC folds in the
command 0x07 itself initially.
Returns one byte which shows the FMEA error status of the X
and/or Y matrix scan lines. If an X line is in error, the
corresponding bit (below) is set. If a Y line has an FMEA error,
the entire field is set to ones (0xFF).
Due to the physics of matrix wiring, a fault on any Y line will
cause faults to be reported on all X lines as well. It is not
possible to separate out these faults for reporting purposes.
b7
b6
b5
b4
b3
b2
b1
b0
X7
X6
X5
X4
X3
X2
X1
X0
A CRC byte is appended to the response; this CRC folds in the
command 0x0c itself initially.
Key #
For more information see Section 2.16.
Byte Number
Returned
(Y line #)
Table 4.1 Bit fields for multiple key reporting and
key numbering
0
1
2
3
4
5
7
7
15
23
31
39
47
6
6
14
22
30
38
46
Bit Number (X line #)
5
4
3
2
5
4
3
2
13
12
11
10
21
20
19
18
29
28
27
26
37
36
35
34
45
44
43
42
1
1
9
17
25
33
41
0
0
8
16
24
32
40
4.13 Dump Setups Block - 0x0d
This command causes the device to dump the entire internal
Setups block back to the host.
If the transfer is not paced faster than 100ms per byte the
transfer will be aborted and the device will time out. This can
happen if the host is also controlling DRDY.
4.8 Report Signals for All Keys - 0x08
Returns the raw signal values for all keys. Each value is a 16-bit
number, and there are 48 words returned. No CRC is appended
to the return, so the data should not be considered secure. The
low byte of key 0 is returned first.
A 16-bit CRC is appended to the response; this CRC is the
same as the Setups table CRC and is sent LSByte first.
4.14 Eeprom CRC - 0x0e
4.9 Report References for All Keys - 0x09
Returns the reference values for all keys. Each value is a 16-bit
number, and there are 48 words returned. No CRC is appended
to the return, so the data should not be considered secure. The
low byte of key 0 is returned first.
lQ
During the transfer, sensing is halted. Sensing is resumed after
the command has finished.
15
This command returns the 16-bit CRC calculated from the
eeprom contents. The CRC is sent back LSByte first. The CRC
sent back is the same CRC that is appended to the end of the
Setups block.
QT60486-AS R8.01/0105
This command requires substantial amounts of time to process
and return a result; it is not recommended to use this command
except perhaps on startup or very infrequently.
A recommended method to reestablish communications after
Wake from Sleep is to send the QT device a 0x0F ('Last
Command' command) repeatedly until the correct response
comes back (the command's own compliment, i.e. 0xF0).
Command response timing: The response to this command
can take as long as 20ms.
If Sync mode is also enabled, the part will assume the wakeup
pulse is also a sync signal, and resume scanning starting with
Key 0 (which is not necessarily where it left off scanning when it
went to sleep).
No CRC is appended to the response.
4.15 Return Last Command - 0x0f
This command returns the last received command character, in
1’s complement (inverted). If the command is repeated twice or
more, it will return the inversion of 0x0f, 0xf0.
WS Note: The device checks the WS pin and waits for it to
return high before the part actually begins sleep. There is a
timeout limit on this wait of ~2s; if the WS pin has not gone high
after this time, the part will reset itself.
If a prior command was not valid or was corrupted, it will return
the bad command as well. This command also will reset the
communications error flag (Section 4.5).
4.20 Data Set for One Key - 0x4k
Returns the data set for key k, where k = {0..47} To form this
command, the key number is logical-OR’d into the byte 0x40.
This command returns 5 bytes, in the sequence:
No CRC is appended to the response.
4.16 Internal Code - 0x10
This command returns an internal code, as a value from 0..255.
A CRC byte is appended to the response; this CRC folds in the
command 0x10 itself initially.
Signal (2 bytes)
Reference (2 bytes)
Normal Detect Integrator (1 byte)
Signal and Reference are returned LSByte first.
No CRC is appended.
4.17 Internal Code - 0x11
This command returns an internal code word (3 bytes) of the
part for factory diagnostic purposes.
4.21 Status for Key ‘k’ - 0x8k
Returns a bitfield for key ‘k’ where k is from {0..47}. The bitfield
indicates as follows:
A CRC byte is appended to the response; this CRC folds in the
command 0x11 itself initially.
BIT
7
6
5
4
3
2
1
0
4.18 Internal Code - 0x12
This command returns an internal code word (2 bytes) of the
part for factory diagnostic purposes.
No CRC is appended to the response.
4.19 Sleep - 0x16
Description
1= reserved
1= reserved
1= reserved
1= key is enabled
1= key is in detect
1= signal ref < LSL (low signal error)
1= key is undergoing calibration
1= cal on this key failed 5 times
The command must be repeated 2x within 100ms or the
command will fail. After the 2nd 0x16 from the host, the device
will reply with the character 0xE9, then sleep. On wake from
Sleep, the device will issue a 0x01 character back to the host.
Bit 2 - LSL notes: See page 23.
Communications response timing: Responses to this
command may take from a few microseconds up to 5ms,
depending on what the device was doing at the moment the
command arrived.
4.22 Cal Key ‘k’ - 0xck
A CRC byte is appended to the response; this CRC folds in the
command 0x8k itself initially.
After the response, the device will enter low power sleep mode
until awakened by a >10µs low level on the WS pin. When it
wakes, it will resume current operation in the state from which it
exited and attempt to send a 0x01 code back to the host to
signal that it is ready to communicate again.
During Sleep the DRDY pin is held low, and released once the
device awakes and is ready to return the 0x01 code.
The WS pin can be connected to Rx or /SS to provide a ‘free’
wakeup connection from the host controller. In SPI mode with
/SS tied to WS, a /SS toggle (any low pulse of at least 10µs)
under software control from the host controller without an actual
SPI transmission will wake the device.
In UART mode, with Rx tied to WS a 0xFF byte should be sent
to provide a pulse on WS. The start bit of the 0xFF forms a
convenient, narrow wake pulse without being long enough to be
interpreted as a byte during the wake operation.
lQ
16
This command must be repeated 2x within 100ms or the
command will fail; the repeating command must be sequential
without any intervening command.
This command functions the same as 0x03 CAL command
except this command only affects one key ‘k’ where ‘k’ is from 0
to 47.
The chosen key ‘k’ is recalibrated in its native timeslot; normal
running of the part is not interrupted and all other keys operate
correctly throughout. This command is for use only during
normal operation to try to recover a single key that has failed or
is not calibrated correctly.
Returns the 1’s compliment of 0xck just before the key is
recalibrated.
4.23 Command Sequencing
To interface the device with a host, the flow diagram of Figure
4-1, page 17, is suggested. The actual settings of the Setups
block used should normally just be the default settings except
QT60486-AS R8.01/0105
Figure 4-1 Suggested Communications Flow
Power On or Hardware Reset
0x0F
Get
'Last command'
0x0E
Setups CRC
Check
0xF0
returned
Setups CRC
failed 1x
0x01
Load Setups
Block
0x04
Force Reset
0xF0 not
returned
CRC is OK
No key,
no error
Setups CRC failed 2x
0x06
Report 1st Key
~10ms Delay
0x05
Get
General Status
m 2 Keys
Detected
Any Error Flag
(highest
precedence)
Only 1 Key
in Detect
Comms
Error
0x07
Report all
detections
Keys OK
eeprom corrupt, or
calibration fail, or
FMEA fail, or
multiple errors
Internal Host
Processes
Comms with
QT
Key Detection(s) Processing
Stuck Key
Detected
Note: CRC errors or incorrect
responses should cause
each transmission to retry
resolvable
error
Error Handling
FMEA
Error
Calibration
Error
Done
0xck
Cal Key 'k'
where changes are specifically required, such as for sensiti vity,
timing, or AKS changes.
The circles in this drawing are communications interchanges
between host and sensor. The rectangles are internal host
states or processing events. If any communications exchange
fails, either the device will fail to respond within the allotted time,
or the response CRC will be incorrect, or the response will be
out of context (the response is clearly not for the intended
command). In these cases the host should just repeat the
command.
The control flow will spend 99% of its time alternating between
the two states within the dashed rectangle. If a key is detected,
the control flow will enter ‘Key Detection Processing’.
Stuck Key Detection processing (0xck) is optional, since the
device contains the max on-duration timeout function and can
therefore recalibrate the stuck key automatically. However, the
host can recalibrate stuck keys with greater flexibility if the
recalibration timeouts are set to infinite and the host recalibrates
them under specific conditions.
lQ
0x0F
Get
'Last command'
(clear error)
17
0x0C
Get
FMEA Status
0x0B
Get
Errors for All
Keys
Error handling takes place whenever an error flag is detected,
or the device stops communicating (not shown). The error
handling procedure is up to the designer, however normally this
would entail shutting down the product if the error is serious
enough (for example, a key that will not calibrate, or a FMEA
class error).
Normally it is not required to reload the setups, since the device
itself stores a backup copy of these in Flash memory should the
eeprom become corrupt. However the host should reset the QT
so that the device will copy the Flash setups to eeprom, and
then the QT should check that the eeprom CRC code is correct.
Only if this fails should the eeprom be reloaded by the host.
One exception to this rule is just after powerup, since a CRC
error in the eeprom setups at this point is clearly a critical error
that would require reloading. This happens at the factory, during
the very first powerup cycle.
The ‘Last Command’ command can be used at any time to clear
comms error flags and to resynchronize failed communications,
for example due to timing errors etc.
QT60486-AS R8.01/0105
Table 4.2 Command Summary
Hex
Name
0x00 Null command
0x01
Enter Setups
mode
Description
Used to get data back in SPI mode
#/Cmd # rtnd
1
Enter Setups, stop sensing; followed by block
load of binary Setups of length ‘nn’. Command
must be repeated 2x consecutively without any
2 + nn
intervening command in 100ms to execute.
+2
Sensing auto-restarts, however, the device
should be reset after the block load to ensure
all new setups will take effect.
1
Rtn range
0..0xFF
CRC
Notes
Page
-
Flushes pending data from QT; one required to extract each response
byte.
13
16
First 0xFE issued when ready to get data, second 0xFE issued when
all loaded and burned; else timeout.
If 2 commands not received in 100ms, times out and no response is
issued. Part will timeout if each byte not received within 100ms of
previous byte.
If CRC failure, returns 0x00 instead of 0xFE
Data block length is ‘nn’ + 2 (CRC-16). LSL and CRC should be sent
low byte first. A CRC of 0x0000 is also acceptable in which case
the CRC is not checked.
Internal EEPROM will update regardless of CRC health, but, if the
CRC is bad, the EEPROM will be declared invalid and thus on
reset the EEPROM will be restored from flash backup, overwriting
the desired (but corrupt) new setups.
14
0xFE
+ 0xFE
2
OR
0xFE
+ 0x00 (err)
0x03 CAL all
Force device to recalibrate all keys; reenters
RUN mode afterwards automatically; 0x03
must be repeated 2x consecutively without any
intervening command in 100ms to execute
2
1
0xFC
-
Returns 1’s complement of command to acknowledge cmd once the
cal has been initiated.
If 2 commands not received in 100ms, times out and no response is
issued.
14
0x04 Force reset
Force device to reset. Command must be
repeated 2x consecutively without any
intervening command in 100ms to execute
2
1
0xFB
-
Returns 1’s complement of command to acknowledge command prior
to reset. If 2 commands not received in 100ms, times out and no
response is issued.
14
8
Bit 7: reserved
Bit 6: 1= comms error: unrecognized command received
This bit can be reset by 0x0F cmmd
Bit 5: 1= FMEA failure
Bit 4: 1= eeprom is corrupt
Bit 3: 1= line sync failure
Bit 2: 1= cal failed 5 times on an enabled key, or, an enabled key has
a low reference (Ref < lower sig lim)
Bit 1: 1= any key in calibration
Bit 0: 1= any key is in detect
Last return byte is CRC-8 of cmmd + return data
14
15
0x05 General status
Get general part status.
1
2
0..0xFF
0x06 Report 1st key
Get indication of first touched key + others
1
2
0..0xFF
8
Bit 7: 1= indicates 2 or more touches if set.
Bit 6: 1= any of the following prevail: calibrating, key(s) failed cal 5
times, sync fail, comms error, FMEA failure, EEPROM corrupt.
Bits 5..0: indicates key number (0..47) of first key touched; reads
0x3F (63 decimal) if no touch. 2nd return byte is CRC-8 of cmmd
+ return data
0x07 Report all keys
Sends back all key detect status bits (bitfield)
1
7
0..0xFF
6 bytes
8
Last return byte is CRC-8 of cmmd + return data
15
0x08 Signals for all
Sends back all key signal levels
1
96
0..0xFFFF
48 words
-
Returns block data for all keys’ signals
The low order byte is returned first.
15
lQ
18
QT60486-AS R8.01/0105
Hex
Name
Description
#/Cmd # rtnd
Rtn range
CRC
Notes
Page
0x09 References for all
Sends back all key reference levels
1
96
0..0xFFFF
48 words
-
Returns block data for all keys’ references.
The low order byte is returned first.
15
0x0a Deltas for all
Sends back all key delta signals from ref
1
48
0..0xFF
48 bytes
-
Returns block data for all keys’ signal deltas from refs,
{reference - signal}; Unsigned binary bytes, in range 0..255.
15
0x0b Error flags for all
Error bit fields
1
7
0..0xFF
6 bytes
8
Last return byte is CRC-8 of cmmd + return data
15
0x0c FMEA status
FMEA bitfield on X, Y lines
1
2
0..0xFF
8
Last return byte is CRC-8 of cmmd + return data
15
15
15
0x0d Dump Setups
Returns Setups block area followed by CRC.
Scanning is halted and then auto-restarted
after the cmd has completed.
1
nn+2
0..0xFF
nn+2 bytes
16
Dump of fixed length ‘nn’ followed by CRC-16
CRC is same as CRC at end of Setups block load.
LSL and CRC words are sent back to host low byte first.
Part will timeout if each byte not transmitted within 100ms of previous
byte. (This can happen if DRDY is driven by the host).
0x0e Eeprom CRC
Get eeprom CRC
1
2
0..0xFFFF
16
CRC-16 only on Setups array section of eeprom
This CRC is the same as the CRC at the end of Setups block load.
This word is returned low byte first.
0x0F Return last cmmd
Returns last command received
1
1
0..0xFF
-
Returns 1’s compliment of last command even if bad. Resets the
communications error flag.
16
0x10
Return internal
code
Diagnostic code for factory use.
1
2
0..0xFF
8
Returns internal code. 2nd byte is CRC-8 of cmmd + return data
16
0x11
Return internal
code
Diagnostic code for factory use.
1
4
0..0xFFFFFF
8
Returns internal code. Last byte is CRC-8 of cmmd + return data.
The low order byte is returned first.
16
0x12
Return internal
code
Diagnostic code for factory use.
1
2
0.0xFFFF
Diagnostic code for factory use. The low order byte is returned first.
16
16
0x16 Sleep
Enter sleep; Command must be repeated 2x
consecutively without any intervening
command in 100ms to execute.
2
1+1
0xE9 + 0x01
-
Returns 1’s complement of command to acknowledge; wakes on INT,
meanwhile sleeps in low power mode; 0x01 when restarted. If 2
commands not received in 100ms, times out and no response is
issued.
DRDY is held low while the part is asleep. DRDY is released high
once awake and ready to return the 0x01.
0x4k Data for 1 key
Get signal, ref, Norm DI for key k {0..47}
Signal: 2 bytes; Ref: 2 bytes; Norm DI: 1 byte
1
5
0..FF
Each byte
-
Diagnostic use only, not to be relied upon (no CRC). Signal and ref
are Tx as 2 bytes, LSB first.
16
8
Bits 7..5: reserved
Bit 4: 1= key is enabled
Bit 3: 1= key is in detect
Bit 2: 1= (Ref < LSL)
Bit 1: 1= key is in calibration
Bit 0: 1= calibration of this key failed 5 times
Second return byte is CRC-8 of cmmd + return data
16
-
Used in Run mode. Normal sensing of other keys not affected. CAL of
‘k’ only takes place in the key’s normal timeslot.
Returns the ones compliment of the cmd char, once the cal is
scheduled.
16
0x8k Status for key ‘k’
Get status byte for key ‘k’ {0..47}
1
2
0xck CAL key ‘k’
Force calibration of key # k where k= 0..47.
Command must be repeated 2x consecutively
without any intervening command in 100ms to
execute
2
1
lQ
0..FF
~0xck
19
QT60486-AS R8.01/0105
5 Setups
occurs only after a recalibration when an object is touching
the key and is subsequently removed. The desire is normally
to recover from these events quickly.
The devices calibrate and process all signals using a
number of algorithms specifically designed to provide for
high survivability in the face of adverse environmental
challenges. They provide a large number of processing
options which can be user-selected to implement very
flexible, robust keypanel solutions.
Positive hysteresis: PHYST is fixed at 12.5% of the positive
threshold value and cannot be altered.
Positive threshold levels are programmed in using the Setup
process on a per-key basis.
User-defined Setups are employed to alter these algorithms
to suit each application. These setups are loaded into the
device in a block load over one of the serial interfaces. The
Setups are stored in an onboard eeprom array. After a
setups block load, the device should be reset to allow the
new Setups block to be shadowed in internal Flash ROM
and to allow all the new parameters to take effect. This reset
can be either a hardware or software reset.
Typical values:
1 to 4
(5 to 8 counts of threshold; 4 is internally added to
PTHR to generate the threshold)
Refer to Table 5.1, page 24 for a list of all Setups.
Signals can drift because of changes in Cx and Cs over time
and temperature. It is crucial that such drift be compensated,
else false detections and sensitivity shifts can occur.
Default value:
(6 counts of threshold)
5.3 Drift Compensation - NDRIFT, PDRIFT
Block length issues: The setups block is 247 bytes long to
accommodate 48 keys. This can be a burden on smaller host
controllers with limited memory. In larger quantities the
devices can be procured with the setups block
preprogrammed from Quantum. If the application only
requires a small number of keys (such as 16) then the
setups table can be compressed in the host by filling large
stretches of the Setups area with nulls.
Drift compensation (Figure 5-1) is performed by making the
reference level track the raw signal at a slow rate, but only
while there is no detection in effect. The rate of adjustment
must be performed slowly, otherwise legitimate detections
could be ignored. The devices drift compensate using a
slew-rate limited change to the reference level; the threshold
and hysteresis values are slaved to this reference.
Many setups employ lookup-table value translation. The
Setups Block Summary on page 26 shows all translation
values.
When a finger is sensed, the signal falls since the human
body acts to absorb charge from the cross-coupling between
X and Y lines. An isolated, untouched foreign object (a coin,
or a water film) will cause the signal to rise very slightly due
to an enhancement of coupling. This is contrary to the way
most capacitive sensors operate.
Default Values shown are factory defaults.
5.1 Negative Threshold - NTHR
The negative threshold value is established relative to a
key’s signal reference value. The threshold is used to
determine key touch when crossed by a negative-going
signal swing after having been filtered by the detection
integrator. Larger absolute values of threshold desensitize
keys since the signal must travel farther in order to cross the
threshold level. Conversely, lower thresholds make keys
more sensitive.
Once a finger is sensed, the drift compensation mechanism
ceases since the signal is legitimately detecting an object.
Drift compensation only works when the signal in question
has not crossed the negative threshold level.
The drift compensation mechanism can be made asymmetric
if desired; the drift-compensation can be made to occur in
one direction faster than it does in the other simply by
changing the NDRIFT and PDRIFT Setups parameters. This
can be done on a per-key basis.
As Cx and Cs drift, the reference point drift-compensates for
these changes at a user-settable rate; the threshold level is
recomputed whenever the reference point moves, and thus it
also is drift compensated.
Specifically, drift compensation should be set to compensate
faster for increasing signals than for decreasing signals.
Decreasing signals should not be compensated quickly,
since an approaching finger could be compensated for
partially or entirely before even touching the touch pad.
However, an obstruction over the sense pad, for which the
The amount of NTHR required depends on the amount of
signal swing that occurs when a key is touched. Thicker
panels or smaller key geometries reduce ‘key gain’, i.e.
signal swing from touch, thus requiring smaller
NTHR values to detect touch.
The negative threshold is programmed on a
per-key basis using the Setup process. See table,
page 26.
Figure 5-1 Thresholds and Drift Compensation
Typical values:
3 to 8
(7 to 12 counts of threshold; 4 is internally
added to NTHR to generate the threshold).
Default value:
(10 counts of threshold)
6
2
Reference
Hysteresis
Threshold
5.2 Positive Threshold - PTHR
The positive threshold is used to provide a
mechanism for recalibration of the reference point
when a key's signal moves abruptly to the
positive. This condition is not normal, and usually
lQ
Signal
Output
20
QT60486-AS R8.01/0105
sensor has already made full allowance for, could suddenly
be removed leaving the sensor with an artificially suppressed
reference level and thus become insensitive to touch. In this
latter case, the sensor should compensate for the object's
removal by raising the reference level relatively quickly.
Drift compensation and the detection time-outs work together
to provide for robust, adaptive sensing. The time-outs
provide abrupt changes in reference calibration depending
on the duration of the signal 'event'.
NDRIFT Typical values:
9 to 11
(2 to 3.3 seconds per count of drift compensation)
NDRIFT Default value:
10
(2.5s / count of drift compensation)
PDRIFT Typical values:
3 to 5
(0.4 to 0.8 seconds per count of drift compensation;
translation via LUT, page 26)
PDRIFT Default value:
4
(0.6s / count of drift compensation)
5.4 Detect Integrators - NDIL, FDIL
NDIL is used to enable keys and to provide signal filtering.
To enable a key, its NDIL parameter should be non-zero (ie
NDIL=0 disables a key).
To suppress false detections caused by spurious events like
electrical noise, the device incorporates a 'detection
integrator' or DI counter mechanism that acts to confirm a
detection by consensus (all detections in sequence must
agree). The DI mechanism counts sequential detections of a
key that appears to be touched, after each burst for the key.
For a key to be declared touched, the DI mechanism must
count to completion without even one detection failure.
The DI mechanism uses two counters. The first is the ‘fast
DI’ counter FDIL. When a key’s signal is first noted to be
below the negative threshold, the key enters ‘fast burst’
mode. In this mode the burst is rapidly repeated for up to the
specified limit count of the fast DI counter. Each key has its
own counter and its own specified fast-DI limit (FDIL), which
can range from 1 to 15. When fast-burst is entered the QT
device locks onto the key and repeats the acquire burst until
the fast-DI counter reaches FDIL, or, the detection fails
beforehand. After this the device resumes normal key
scanning and goes on to the next key.
The ‘Normal DI’ counter counts the number of times the
fast-DI counter reached its FDIL value. The Normal DI
counter can only increment once per complete scan of all
keys. Only when the Normal DI counter reaches NDIL does
the key become formally ‘active’.
The net effect of this is that the sensor can rapidly lock onto
and confirm a detection with many confirmations, while still
scanning other keys. The ratio of ‘fast’ to ‘normal’ counts is
completely user-settable via the Setups process. The total
number of required confirmations is equal to FDIL times
NDIL.
If FDIL = 5 and NDIL = 2, the total detection confirmations
required is 10, even though the device only scanned through
all keys only twice.
The DI is extremely effective at reducing false detections at
the expense of slower reaction times. In some applications a
slow reaction time is desirable; the DI can be used to
intentionally slow down touch response in order to require
the user to touch longer to operate the key.
lQ
If FDIL = 1, the device functions conventionally; each
channel acquires only once in rotation, and the normal detect
integrator counter (NDIL) operates to confirm a detection.
Fast-DI is in essence not operational.
If FDIL m 2, then the fast-DI counter also operates in addition
to the NDIL counter.
If Signal [ NThr: The fast-DI counter is incremented towards
FDIL due to touch.
If Signal >NThr then the fast-DI counter is cleared due to
lack of touch.
Disabling a key: If NDIL =0, the key becomes disabled.
Keys disabled in this way are pared from the burst sequence
in order to improve sampling rates and thus response time.
NDIL Typical values:
NDIL Default value:
FDIL Typical values:
FDIL Default value:
2, 3
2
4 to 6
5
5.5 Negative Recal Delay - NRD
If an object unintentionally contacts a key resulting in a
detection for a prolonged interval it is usually desirable to
recalibrate the key in order to restore its function, perhaps
after a time delay of some seconds.
The Negative Recal Delay timer monitors such detections; if
a detection event exceeds the timer's setting, the key will be
automatically recalibrated. After a recalibration has taken
place, the affected key will once again function normally
even if it is still being contacted by the foreign object. This
feature is set on a per-key basis using the NRD setup
parameter.
NRD can be disabled by setting it to zero (infinite timeout) in
which case the key will never auto-recalibrate during a
continuous detection (but the host could still command it).
NRD is set using one byte per key, which can range in value
from 0..254. NRD above 0 is expressed in 0.5s increments.
Thus if NRD =120, the timeout value will actually be 60
seconds. 255 is not a legal number to use.
NRD Typical values:
NRD Default value:
NRD Range:
20 to 60 (10s to 30s)
20 (10s)
0..254 (∞, 0.5s .. 127s)
5.6 Positive Recalibration Delay - PRD
A recalibration can occur automatically if the signal swings
more positive than the positive threshold level. This condition
can occur if there is positive drift but insufficient positive drift
compensation, or, if the reference moved negative due to a
NRD auto-recalibration, and thereafter the signal rapidly
returned to normal (positive excursion).
As an example of the latter, if a foreign object or a finger
contacts a key for period longer than the Negative Recal
Delay (NRD), the key is by recalibrated to a new lower
reference level. Then, when the condition causing the
negative swing ceases to exist (e.g. the object is removed)
the signal can suddenly swing back positive to near its
normal reference.
It is almost always desirable in these cases to cause the key
to recalibrate quickly so as to restore normal touch
operation. The time required to do this is governed by PRD.
In order for this to work, the signal must rise through the
21
QT60486-AS R8.01/0105
positive threshold level PTHR continuously for the PRD
period.
larger keys can be altered to compensate for this without
causing problems with key suppression.
After the PRD interval has expired and the auto- recalibration
has taken place, the affected key will once again function
normally. PRD is set on a per-key basis.
Adjacent key suppression works to augment the natural
moisture suppression of narrow gated transfer switches
creating a more robust sensing method.
The functioning of the PRD setting is determined by an offset
to a lookup table, found on page 26. The values of time can
range from 0.1s to 25s. Setting the parameter to 0 will
disable the feature.
AKS Default value:
PRD Typical values:
PRD Default value:
PRD Range:
5 to 8 (0.7s to 2.0s)
6 (1 second)
0..15 (∞, 0.1 .. 25s)
5.7 Burst Length - BL
The signal gain for each key is controlled by circuit
parameters as well as the burst length.
The burst length is simply the number of times the
charge-transfer (‘QT’) process is performed on a given key.
Each QT process is simply the pulsing of an X line once, with
a corresponding Y line enabled to capture the resulting
charge passed through the key’s capacitance Cx.
QT60xx6 devices use a fixed number of QT cycles which are
executed in burst mode. There can be up to 64 QT cycles in
a burst, in accordance with the list of permitted values shown
in Table 5.4.
Increasing burst length directly affects key sensitivity. This
occurs because the accumulation of charge in the charge
integrator is directly linked to the burst length. The burst
length of each key can be set individually, allowing for direct
digital control over the signal gains of each key individually.
Apparent touch sensitivity is also controlled by the Negative
Threshold level (NTHR). Burst length and NTHR interact;
normally burst lengths should be kept as short as possible to
limit RF emissions, but NTHR should be kept above 6 to
reduce false detections due to external noise. The detection
integrator mechanism also helps to prevent false detections.
BL Typical values:
BL Default value:
BL possible values:
2, 3 (48, 64 pulses / burst)
2 (48 pulses / burst)
16, 32, 48, 64
5.8 Adjacent Key Suppression - AKS
0 (Off)
5.9 Oscilloscope Sync - SSYNC
Pin 43 (S_Sync) can output a positive pulse oscilloscope
sync that brackets the burst of a selected key. More than one
burst can output a sync pulse as determined by the Setups
parameter SSYNC for each key.
This feature is invaluable for diagnostics; without it,
observing signals clearly on an oscilloscope for a particular
burst is very difficult.
This function is supported in Quantum’s QmBtn PC software
via a checkbox.
SSYNC Default value:
0 (Off)
5.10 Negative Hysteresis - NHYST
The devices employ programmable hysteresis levels of
6.25%, 12.5%, 25%, or 50%. The hysteresis is a percentage
of the distance from the threshold level back towards the
reference, and defines the point at which a touch detection
will drop out. A 12.5% hysteresis point is closer to the
threshold level than to the signal reference level.
Hysteresis prevents chatter and works to make key detection
more robust. Hysteresis is used only once the key has been
declared to be in detection, in order to determined when the
key should drop out.
Excessive amounts of hysteresis can result in ‘sticking keys’
that do not release. Conversely, low amounts of hysteresis
can cause key chatter due to noise or minor amounts of
finger motion.
The hysteresis levels are set for all keys only; it is not
possible to set the hysteresis differently from key to key.
NHYST Typical values:
NHYST Default value:
0, 1 (6.25%, 12.5%)
1 (12.5%)
5.11 Dwell Time - DWELL
These devices incorporate adjacent key suppression (‘AKS’ patent pending) that can be selected on a per-key basis.
AKS permits the suppression of multiple key presses based
on relative signal strength. This feature assists in solving the
problem of surface moisture which can bridge a key touch to
an adjacent key, causing multiple key presses. This feature
is also useful for panels with tightly spaced keys, where a
fingertip might inadvertently activate an adjacent key.
The Dwell parameter in Setups causes the acquisition
pulses to have differing charge capture durations. Generally,
shorter durations provide for enhanced surface moisture
suppression, while longer durations are usually more
compatible with EMC requirements. Longer dwell times
permit the use of larger series resistors in the X and Y lines
to suppress RFI effects, without compromising key gain
(Section 2.8).
AKS works for keys that are AKS-enabled anywhere in the
matrix and is not restricted to physically adjacent keys; the
device has no knowledge of which keys are actually
physically adjacent. When enabled for a key, adjacent key
suppression causes detections on that key to be suppressed
if any other AKS-enabled key in the panel has a more
negative signal deviation from its reference.
This setup lets the designer trade off one requirement for
with the other.
This feature does not account for varying key gains (burst
length) but ignores the actual negative detection threshold
setting for the key. If AKS-enabled keys have different sizes,
it may be necessary to reduce the gains of larger keys to
equalize the effects of AKS. The signal threshold of the
lQ
DWELL typical value:
1 (187.5ns)
DWELL default value:
1 (187.5ns)
DWELL possible values: 0, 1, 2 (125, 187.5, 312.5ns )
5.12 Mains Sync - MSYNC
The MSync feature uses the WS pin. The Sleep and Sync
features can be used simultaneously; the part can be put into
Sleep mode, but awakened by a mains sync signal at the
desired time.
22
QT60486-AS R8.01/0105
External fields can cause interference leading to false
detections or sensitivity shifts. Most fields come from AC
power sources. RFI noise sources are heavily suppressed
by the low impedance nature of the QT circuitry itself.
The Baud rate can be adjusted to one of 5 values from 9600
to 115.2K baud.
Noise such as from 50Hz or 60Hz fields becomes a problem
if it is uncorrelated with acquisition signal sampling;
uncorrelated noise can cause aliasing effects in the key
signals. To suppress this problem the WS input allows bursts
to synchronize to the noise source. This same input can also
be used to wake the part from a low-power Sleep state.
5.15 Lower Signal Limit - LSL
The noise sync operating mode is set by parameter MSYNC
in Setups.
Testing is required to ensure that there are adequate
margins in this determination. Key size, shape, panel
material, burst length, and dwell time all factor into the
detected signal levels.
The sync occurs only at the burst for the lowest numbered
enabled key in the matrix; the device waits for the sync
signal for up to 100ms after the end of a preceding full matrix
scan, then when a negative sync edge is received, the matrix
is scanned in its entirety again.
The sync signal drive should be a buffered logic signal, or
perhaps a diode-clamped signal, but never a raw AC signal
from the mains. The device will sync to the falling edge.
Since Noise sync is highly effective and inexpensive to
implement, it is strongly advised to take advantage of it
anywhere there is a possibility of encountering low frequency
(i.e. 50/60Hz) electric fields. Quantum’s QmBtn software can
show such noise effects on signals, and will hence assist in
determining the need to make use of this feature.
If the sync feature is enabled but no sync signal exists, the
sensor will continue to operate but with a delay of 100ms
from the end of one scan to the start of the next, and hence
will have a slow response time. A failed Sync signal (one
exceeding a 100ms period) will cause an error flag (see
commands 0x05, 0x06).
MSYNC Default value:
MSYNC Possible range:
0 (Off)
0, 1 (Off, On)
5.13 Burst Spacing - BS
The interval of time from the start of one burst to the start of
the next is known as the burst spacing. This is an alterable
parameter which affects all keys. The burst spacing can be
viewed as a scheduled timeslot in which a burst occurs. This
approach results in an orderly and predictable sequencing of
key scanning with predictable response times.
Shorter spacings result in a faster response time to touch;
longer spacings permit higher burst lengths and longer
conversion times but slow down response time.
An automatic setting is also available that performs a ‘best
fit’ timeslot determination for each key’s acquisition burst.
The fit is determined on power-up each time and is fixed
thereafter until reset again.
See Table 5.4 (page 26) for possible values.
BS Default value:
BS Possible range:
0 (Automatic)
0..11 (Auto, 500µs .. 3ms)
SR Default value:
0 (9600 Baud)
This Setup determines the lowest acceptable value of signal
level for all keys. If any key’s reference level falls below this
value, the device declares an error condition in the key
status bits (Sections 4.5, 4.6, 4.8, 4.11).
This parameter occupies 2 bytes of the setups table. The low
order byte should be sent first.
LSL Default value:
LSL Possible range:
100 (recommended value)
0..2047
5.16 LED / Alert Output - LED
Refer also to Table 5.2 page 25 for details.
Pin 40 is designed to drive a low-current LED or to be used
as a status and error signaling mechanism for the host
controller, primarily for FMEA purposes.
One use for this pin is to alert the host that there is key
activity, in order to limit the amount of communication
between the device and the host. The LED pin should ideally
be connected to an interrupt pin on the host that can detect
an edge, following which the host can proceed to poll the
device for key activations.
Note that LED polarity can be reversed in the setups byte.
Table 5.2, on page 25 shows the possible internal conditions
that can cause the LED pin to go active. The various items in
the table are logical-OR’d together.
The LED pin can even be used as a watchdog for the host,
to reset it should the host fail to send regular transmissions
to the QT (bit 0 of LED byte). The comms timeout required to
generate the ‘reset’ signal is about 2 seconds of inactivity. If
this feature is enabled, it does not become effective until the
first command is received from the host; therefore, it is
assumed that there is at least some initial host activity for
this feature to work.
Note that the LED state will be preserved during sleep.
LED Default value:
0x6c
(see Table 5.2, page 25 for details)
5.17 Host CRC - HCRC
The setups block terminates with a 16-bit CRC, HCRC, of
the entire block. The formulae for calculating this CRC and
the 8-bit CRC also used in the device are shown in Section
7. The low order byte should be sent first.
5.14 Serial Rate - SR
The possible Baud rates are shown in Table 5.4. The rate
chosen by this parameter only affects UART mode. SPI
mode is slave-only and can clock at any rate from DC up to
4Mhz.
lQ
23
QT60486-AS R8.01/0105
Table 5.1 Setups Block
Setups data is sent from the host to the QT in a block of hex data. The block can only be loaded in Setups mode following two 0x 01 commands (page 14). The devices this
datasheet pertain to have the same block length. Refer also to Table 5.4, page 26 for further details, and all of Section 5.
Item
#
Byte Parameter
Symbol Bytes
Neg thresh
Pos Thresh
Neg Drift Comp
Pos Drift Comp
Normal DI Limit
Fast DI Limit
NTHR
PTHR
NDRIFT
PDRIFT
NDIL
FDIL
Neg recal delay
NRD
Pos recal delay
Burst Length
AKS
Scope Sync
Neg Hysteresis
Dwell Time
Mains Sync
Burst spacing
Serial rate
PRD
BL
AKS
SSYNC
NHYST
DWELL
MSYNC
BS
SR
Key
Bits Scope
Default
Value Description
NTHR = 0..15
PTHR = 0..15
NDRIFT = 0..15
PDRIFT = 0..15
NDIL = 0..15
FDIL = 0..15
4
4
4
4
4
4
1
1
1
1
1
1
6
2
10
4
2
5
0..254
8
1
20
PRD = 0..15
BL = 0..3
AKS = 0, 1
SSYNC = 0, 1
NHYST = 0..3
DWELL = 0..2
MSYNC = 0, 1
BS = 0..11
SR = 0..4
4
2
1
1
4
2
1
4
4
1
1
1
1
48
48
48
48
device
6
2
0
0
1
1
0
0
0
1
0
2
48
3
96
4
144
5
192
6
240
7
241
8
242
Lower signal Limit
LSL
2
0..2047
16
48
100
9
244
LED Function
LED
1
0..255
8
device
0x6c
10
245
Host CRC
2
0..65K
16
device
-
Block length
HCRC
48
Valid range
48
48
48
48
1
1
Lower nibble = Neg Threshold - take operand and add 4 to get value
Upper nibble = Pos Threshold - take operand and add 4 to get value
Lower nibble = Neg Drift comp - Via LUT
Upper nibble = Pos Drift comp - Via LUT
Lower nibble = Normal DI Limit, values same as operand (0 = disabled burst)
Upper nibble = Fast DI Limit, values same as operand (0 does not work)
Range is in 0.5 sec increments; 0 = infinite; default = 10s (operand = 20)
Range is { infinite, 0.5...127s }; 255 is illegal to use
Lower nibble = PRD, via LUT, default = 6 (1 sec)
Bits 5, 4: = BL, via LUT, default = 48 (setting =2)
Bit 6 = AKS, 1 - enabled
Bit 7 = Scope sync, 1 = enabled
Lower nibble = Neg hysteresis, all keys; default = 12.5%
Bits 5, 4 = Dwell time, 3 values via LUT, default = 187.5ns
Bits 6 = Mains sync, negative edge, 1 = enabled; default = 0 (off)
Lower nibble = burst spacing; default = 0 (automatic)
Upper nibble = serial rate via LUT - 9600, 19.2K, 38.4K, 57.6K, 115.2K (UART)
Lower limit of acceptable signal; below this value, device declares an error.
The low order byte should be sent first.
Controls what the LED does; see table, below.
CRC-16 of above setups, does NOT include CRC of command itself. The low
order byte should be sent first. See also CRC notes, page 29.
Page
20
20
20
21
21
21
22
22
22
22
22
22
23
23
23
23
23
247
CRC Note: A CRC calculator for Windows is available free of charge from Quantum Research on request.
lQ
24
QT60486-AS R8.01/0105
Table 5.2 LED Function Control Byte Bits
See also page 23. The LED pin can be used to indicate a variety of things in combination. The LED control byte controls which states make the LED pin active. The active state can
also be set either high or low by changing bit 7 in this byte. One purpose for these functions is to provide an FMEA-compliant mechanism for fault detection via an alternative path to
the serial comms path. Another is to provide an interrupt signal to a host controller to reduce the amount of required comms traffic. Another reason is to simply light an LED on a
sensing fault, a keypress, or a comms failure for diagnostic purposes.
Bit
1=
0=
Default
7
LED pin is active high polarity
LED pin is active low polarity
0
6
Active on any key error: (cal, cal failed, low sig)
Key errors have no effect
1
5
Active on any keypress
Not active on any keypress
1
4
Active while in sleep
Inactive on Sleep
0
3
Active on eeprom error
Inactive on eeprom error
1
2
Active on Mains sync error
Inactive on Mains sync error
1
1
Active on comms error (unrecognized command): LED pin is set active on error,
inactive again when ‘get last cmd’ is called, or part is reset.
Inactive on comms error
0
0
Host watchdog. Active if no host comms within any 2s period. Host reset pulse
length is 150ms. The host watchdog is not enabled until the first valid cmd
is received from the host.
Communications unmonitored
0
Table 5.3 Key Mapping
Some commands return bit fields related to keys. For example, command 0x07 (report all keys) returns 6 bytes containing flag bits, one per key, to indicate which keys are reporting
touches. The following table shows the byte and bit order of the keys. The table contains the key number reported in each bit.
The key number is related to the X and Y scan lines which address each particular key. Each byte in the return stream represents one set of keys along a Y line, i.e. up to 8 keys.
Thus, key 0 is at location X0,Y0 and key 29 is at location X5,Y3. .
Bit (X line)
Byte
(Y line)
0
1
2
3
4
5
7
6
5
4
3
2
1
0
7
15
23
31
39
47
6
14
22
30
38
46
5
13
21
29
37
45
4
12
20
28
36
44
3
11
19
27
35
43
2
10
18
26
34
42
1
9
17
25
33
41
0
8
16
24
32
40
Note: Byte 0 is returned first.
lQ
25
QT60486-AS R8.01/0105
Table 5.4 Setups Block Summary
Typical values: For most touch applications, use the values shown in the outlined cells. Bold text items indicate default settings. The number to send to the QT is the number in
the leftmost column (0..15), not numbers from the table. The QT uses a lookup table internally to translate 0..15 to the parameters for each function.
NRD is an exception: It can range from 0..254 which is translated from 1= 0.5s to 254= 127s with zero = infinity.
Parameter
Index
NTHR
Number counts
PTHR
counts
NDRIFT PDRIFT
secs
secs
NDIL
counts
FDIL
counts
NRD
secs
PRD
secs
BL
pulses
AKS
Scope
Sync
NHYST
DWELL
MSYNC
BS
UART
Per key
Per key
Per key
Per key
Per key
Per key
Per key
Per key
Per key
Per key
Per key
Global
Global
Global
Global
Global
0
1
4
5
4
5
0.1
0.2
0.1
0.2
Key off
1
unused
1
0 (Infinite)
0.5 .. 127s
0 (Infinite)
0.1
16
32
- Off On
- Off On
6.25%
-12.5%-
125ns
-187.5ns-
- Off On
- Auto 500µs
-9,60019,200
2
6
-6-
0.3
0.3
-2-
2
0.2
- 48 -
25%
312.5ns
750µs
38,400
3
7
7
0.4
0.4
3
3
Default=
10s
0.3
64
50%
1,000µs
57,600
4
8
8
0.6
- 0.6 -
4
4
1,250µs
115,200
0.5
5
9
9
0.8
0.8
5
-5-
0.7
1,500µs
6
- 10 -
10
1
1
6
6
-1-
1,750µs
7
11
11
1.2
1.2
7
7
1.5
2,000µs
8
12
12
1.5
1.5
8
8
2
2,250µs
9
13
13
2
2
9
9
3.2
2,500µs
10
14
14
- 2.5 -
2.5
10
10
4.5
2,750µs
11
15
15
3.3
3.3
11
11
6
3,000µs
12
16
16
4.5
4.5
12
12
9
13
17
17
6
6
13
13
12.3
14
18
18
7.5
7.5
14
14
17.5
15
19
19
10
10
15
15
25
lQ
26
QT60486-AS R8.01/0105
6 Specifications
6.1 Absolute Maximum Electrical Specifications
Operating temp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -40OC ~ +105OC
Storage temp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -55OC ~ +125OC
VDD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.5 ~ +5.5V
Max continuous pin current, any control or drive pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ±10mA
Short circuit duration to ground, any pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . infinite
Short circuit duration to V DD, any pin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . infinite
Voltage forced onto any pin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.6V ~ (Vdd + 0.6) Volts
Frequency of operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17MHz
Eeprom setups maximum writes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100,000 write cycles
6.2 Recommended operating conditions
VDD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +4.75 ~ 5.25V
Supply ripple+noise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5mV p-p max
Cx transverse load capacitance per key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0 ~ 20pF
Fosc oscillator frequency. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16MHz +/-2%
6.3 DC Specifications
Vdd = 5.0V, Cs = 4.7nF, Freq = 16MHz, Ta = recommended range, unless otherwise noted
Parameter
Description
Min
Typ
Max
Units
Iddr
Supply current, running
Idds
25
Supply current, sleep
20
Vr
Vdd internal reset voltage
4
Vil
Low input logic level
Vhl
High input logic level
Vol
Low output voltage
Voh
High output voltage
Iil
Input leakage current
Ar
Acquisition resolution
Rp
Internal pullup resistors
Rrst
Internal /RST pullup resistor
Notes
mA
µA
V
0.8
V
0.6
V
4mA sink
V
1mA source
2.2
V
Vdd-0.7
±1
µA
11
bits
20
50
kW
30
60
kW
9
DRDY, /SS, TX pins
6.4 Timing Specifications
Vdd = 5.0V, Cs = 4.7nF, Freq = 16MHz, Ta = recommended range, unless otherwise noted
Parameter
Description
Min
Typ
Max
Units
µs
Notes
TBS
Burst spacing
500
3,000
Tpc
Pulse spacing, average
@ dwell = 125ns
@ dwell = 187.5ns
@ dwell = 312.5ns
1.80
1.90
2.00
2.75
2.80
2.92
Fqt
Burst frequency range
@ dwell = 125ns
@ dwell = 187.5ns
@ dwell = 312.5ns
364
357
342
556
526
500
S1
È /SS to first È CLK edge
125
S2
È CLK to valid MISO
S3
Last Ç CLK to Ç /SS
S4
Ç /SS to 3-state MISO
20
S5
Ç /SS to falling DRDY
20
µs
SPI parameter controlled by QT
S6
DRDY low pulse width
µs
SPI parameter controlled by QT
20
25
1
Adjustable parameter via Setups
µs
kHz
Spread spectrum range
ns
SPI parameter controlled by host
ns
SPI parameter controlled by QT
ns
SPI parameter controlled by host
ns
SPI parameter controlled by QT
S7
CLK low pulse width
125
ns
SPI parameter controlled by host
S8
CLK high pulse width
125
ns
SPI parameter controlled by host
S9
CLK period
250
ns
SPI parameter controlled by host
Fck
SPI Clock rate
MHz
SPI parameter controlled by host
lQ
4
27
QT60486-AS R8.01/0105
6.5 Mechanical Dimensions
A
44 43 42 41 40 39 38 37 36 35 34
1
33
2
32
3
31
4
30
29
5
6
28
27
7
26
8
9
25
10
24
11 13
23
12
14 15 16 17 18 19 20 21 22
p
P
L
a
e
o
H
h
E
SYMBOL
a
A
e
E
h
H
L
p
P
o
Min
9.90
11.75
0.09
0.45
0.05
0.30
0.80
8.00
0
Package Type: 44 Pin TQFP
Millimeters
Max
Notes
Min
10.10
12.21
0.20
0.75
0.15
1.20
0.45
0.80
8.00
7
SQ
SQ
BSC
BSC
0.386
0.458
0.003
0.018
0.002
0.012
0.031
0.315
0
Inches
Max
0.394
0.478
0.008
0.030
0.006
0.047
0.018
0.031
0.315
7
Notes
SQ
SQ
BSC
BSC
6.6 Marking
TA
-400C to +1050C
-400C to +1050C
lQ
TQFP Part
Number
QT60326-AS-G
QT60486-AS-G
28
Keys
32
48
Marking
QT60326-AG
QT60486-AG
QT60486-AS R8.01/0105
7 Appendix
7.1 8-Bit CRC Software C Algorithm
//
//
//
//
//
8 bits crc calculation. Initial crc entry value must be 0.
polynomial = X8 + X5 + X4 + 1
data is an 8 bit number; crc is an unsigned 8 bit number
repeat this function for each data block byte, folding the result
back into the call parameter crc
unsigned char eight_bit_crc(unsigned char crc, unsigned char data)
{ unsigned char index; // shift counter
unsigned char fb;
// intermediate test bit
index = 8;
// initialize the shift counter
do
// loop 8 times
{ fb = (crc ^ data) & 0x01;
data >>= 1;
crc >>= 1;
if(fb)
{ crc ^= 0x8c;
}
} while(--index);
return crc;
}
7.2 16-Bit CRC Software C Algorithm
//
//
//
//
//
//
//
16 bits crc calculation. Initial crc entry value must be 0.
The message is not augmented with 'zero' bits.
polynomial = X16 + X12 + X5 + 1
data is an 8 bit number, unsigned
crc is a 16 bit number, unsigned
repeat this function for each data block byte, folding the result
back into the call parameter crc
unsigned long sixteen_bit_crc(unsigned long crc, unsigned char data)
{ unsigned char index; // shift counter
}
crc ^= (unsigned long)(data) << 8;
index = 8;
do
// loop 8 times
{ if(crc & 0x8000)
{ crc= (crc << 1) ^ 0x1021;
}
else
{ crc= crc << 1;
}
} while(--index);
return crc;
A CRC calculator for Windows is available free of charge from Quantum Research.
lQ
29
QT60486-AS R8.01/0105
7.3 1-Sided Key Layout
Y
0-ohm SMT Jumper
This key design can be made on a 1-sided SMT PCB. A single 0-ohm jumper
allows the wiring to be done on a single side with full pass-through of X and Y
traces to allow matrix connections to be made across a large number of keys.
Key size, shape, and number of interleavings can be varied substantially from
this drawing. The below drawing shows 6 interleave white spaces; only a
double interleave is required in the case of smaller keys.
The PCB is bonded to a panel on its underside, and the fields fire through the
PCB, adhesive, and panel in that sequence. This results in a very low cost
design.
X
X
Y
7.4 PCB Layout
Shown is an example 32-key PCB layout using inexpensive 1-sided CEM-1 or FR-1 PCB laminate. The key layouts follow the
design rules of Figure 2-6 (page 5) and as shown above.
lQ
30
QT60486-AS R8.01/0105
NOTES
lQ
31
QT60486-AS R8.01/0105
lQ
Copyright © 2003-2005 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 8045 3939
[email protected]
www.qprox.com
North America
651 Holiday Drive Bldg. 5 / 300
Pittsburgh, PA 15220 USA
Tel: 412-391-7367 Fax: 412-291-1015
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 acknowledgement. QProx, QTouch, QMatrix, QLevel, 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: Dr. Tim Ingersoll, Samuel Brunet, Hal Philipp