找货询价

一对一服务 找料无忧

专属客服

服务时间

周一 - 周六 9:00-18:00

QQ咨询

一对一服务 找料无忧

专属客服

服务时间

周一 - 周六 9:00-18:00

技术支持

一对一服务 找料无忧

专属客服

服务时间

周一 - 周六 9:00-18:00

售后咨询

一对一服务 找料无忧

专属客服

服务时间

周一 - 周六 9:00-18:00

QT60161B

型号:

QT60161B

描述:

16个重点QMATRIX KEYPANEL传感器IC[ 16 KEY QMATRIX KEYPANEL SENSOR IC ]

品牌:

QUANTUM[ QUANTUM RESEARCH GROUP ]

页数:

36 页

PDF大小:

674 K

LQ  
QT60161B  
16 KEY QMatrixKEYPANEL  
S
ENSOR IC  
Advanced second generation QMatrix controller  
16 touch keys through any dielectric  
100% autocal for life - no adjustments required  
SPI Slave or Master/Slave interface to a host controller  
Parallel scan interface for electromechanical compatibility  
Keys individually adjustable for sensitivity, response time,  
and many other critical parameters  
34  
33  
44 43 42 41 40 39 38 37 36 35  
MOSI  
MISO  
SCK  
RST  
Vdd  
Vss  
XTO  
XTI  
1
2
3
4
5
6
7
8
9
CS2A  
CS2B  
CS3A  
CS3B  
Aref  
32  
31  
30  
29  
28  
27  
26  
25  
24  
23  
QT60161B  
TQFP-44  
AGnd  
AVdd  
YS3  
Sleep mode with wake pin  
Synchronous noise suppression  
RX  
YS2  
Mix and match key sizes & shapes in one panel  
Adjacent key suppression feature  
Panel thicknesses to 5 cm or more  
TX  
10  
11  
YS1  
WS  
YS0  
13 14 15 16 17 18 19 20 21 22  
12  
Low overhead communications protocol  
44-pin TQFP package  
APPLICATIONS -  
Security keypanels  
Industrial keyboards  
Appliance controls  
Outdoor keypads  
ATM machines  
Touch-screens  
Automotive panels  
Machine tools  
The QT60161B digital charge-transfer (“QT”) QMatrix™ IC is designed to detect human touch on up 16 keys when used in  
conjunction with a scanned, passive X-Y matrix. It will project the 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.  
The device is 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 part can scan matrix touch keys over LCD panels or other displays when used with clear ITO electrodes arranged in a matrix.  
It does 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 capacitors and resistors, all of which can fit into a footprint of less than 6 sq. cm  
(1 sq. in). Control and data transfer is via either a SPI or UART port; a parallel scan port provides backwards compatibility with  
scanned electromechanical keys.  
The QT60161B makes 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 some older technologies it does not require one sensing IC per key.  
The QT60161B is identical to earlier QT60161 in all respects except that the device exhibits lower signal noise. This  
device replaces QT60161 parts directly. After December 2003 the QT60161 will no longer be sold.  
AVAILABLE OPTIONS  
TA  
-400C to +1050C  
TQFP Part Number  
QT60161B-AS  
lQ  
Copyright © 2001 Quantum Research Group Ltd  
Pat Pend. R1.03/04.03  
©Quantum Research Group Ltd.  
Contents  
5.3 Status Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18  
0x30 - Signal for Single Key  
1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
1.1 Field Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
1.2 Circuit Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
1.3 Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
2 Signal Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
2.1 Negative Threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
2.2 Positive Threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
2.3 Hysteresis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
2.4 Drift Compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
2.5 Negative Recalibration Delay . . . . . . . . . . . . . . . . . . . . . . . .  
2.6 Detection Integrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
2.7 Positive Recalibration Delay . . . . . . . . . . . . . . . . . . . . . . . . .  
2.8 Reference Guardbanding . . . . . . . . . . . . . . . . . . . . . . . . . . .  
2.9 Adjacent Key Suppression (‘AKS’) . . . . . . . . . . . . . . . . . . . .  
2.10 Full Recalibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
2.11 Device Status & Reporting . . . . . . . . . . . . . . . . . . . . . . . . .  
3 Circuit Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
3.1 Matrix Scan Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
3.2 Signal Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
3.3 'X' Electrode Drives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
4
4
4
4
5
5
5
5
5
6
6
6
6
6
7
7
7
7
7
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
0
. . . . . . . . . . . . . . . . . . . . . . . . . . 18  
1
0x31 - Delta Signal for Single Key  
. . . . . . . . . . . . . . . . . . . . . . . 18  
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18  
2
5
6
0x32 - Reference Value  
0x35 - Detection Integrator Counts  
. . . . . . . . . . . . . . . . . . . . . . 18  
. . . . . . . . . . . . . . . . . . . . . . . . . . . 18  
. . . . . . . . . . . . . . . . . . . . . . . . . . 19  
0x36 - Eeprom Checksum  
7
0x37 - General Device Status  
<sp> 0x20 - Signal Levels for Group  
. . . . . . . . . . . . . . . . . . . . . . . 19  
. . . . . . . . . . . . . . . . . . . . . . . . . 19  
. . . . . . . . . . . . . . . . . . . . . . 19  
!
0x21 - Delta Signals for Group  
0x22 - Reference Levels for Group  
"
%
e
E
k
0x25 - Detect Integrator Counts for Group  
0x65 - Error Code for Selected Key  
. . . . . . . . . . . . . . . . . 19  
. . . . . . . . . . . . . . . . . . . . . . 19  
0x45 - Error Codes for Group  
. . . . . . . . . . . . . . . . . . . . . . . . . 20  
. . . . . . . . . . . . . . . . . . . . 20  
0x6B - Reporting of First Touched Key  
5.4 Setup Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21  
^A 0x01 - Negative Detect Threshold  
. . . . . . . . . . . . . . . . . . . . . . . 21  
^B 0x02 - Positive Detect Threshold  
. . . . . . . . . . . . . . . . . . . . . . . 21  
. . . . . . . . . . . . . . . . . . . . 21  
. . . . . . . . . . . . . . . . . . . . . 21  
^C 0x03 - Negative Threshold Hysteresis  
^D 0x04 - Positive Threshold Hysteresis  
^F 0x06 - Burst Length  
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21  
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22  
^G 0x07 - Burst Spacing  
3.3.1 RFI From X Lines  
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
^H 0x08 - Negative Drift Compensation Rate5  
3.3.2 Noise Coupling Into X lines  
. . . . . . . . . . . . . . . . . 22  
. . . . . . . . . . . . . . . . . . 22  
. . . . . . . . . . . . . . . . . . . 22  
. . . . . . . . . . . . . . . . . . . . . 23  
. . . . . . . . . . . . . . . . . . . . . 23  
. . . . . . . . . . . . . . . . . . . . . . . 23  
. . . . . . . . . . . . . . . . . . . . . . . . . . . .  
3.4 'Y' Gate Drives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
^I 0x09 - Positive Drift Compensation Rate  
^J 0x0A - Negative Detect Integrator Limit  
3.4.1 RFI From Y Lines  
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
. . . . . . . . . . . . . . . . . . . . . . . . . . . .  
^K 0x0B - Positive Recalibration Delay  
3.4.2 Noise Coupling Into Y Lines  
^L 0x0C - Negative Recalibration Delay  
3.5 Burst Length & Sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . .  
3.6 Burst Acquisition Duration . . . . . . . . . . . . . . . . . . . . . . . . . .  
3.7 Intra-Burst Spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
3.8 Burst Spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
3.9 Sample Capacitors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
3.10 Water Film Suppression . . . . . . . . . . . . . . . . . . . . . . . . . . .  
3.11 Reset Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
3.12 Oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
3.13 Startup / Calibration Times . . . . . . . . . . . . . . . . . . . . . . . . .  
3.14 Sleep_Wake / Noise Sync Pin (WS) . . . . . . . . . . . . . . . . .  
^M 0x0D - Intra-Burst Pulse Spacing  
^N 0x0E - Positive Reference Error Band  
. . . . . . . . . . . . . . . . . . . . 23  
. . . . . . . . . . . . . . . . . . . 23  
. . . . . . . . . . . . . . . . . . 24  
^O 0x0F - Negative Reference Error Band  
^P 0x10 - Adjacent Key Suppression (‘AKS’)  
5.5 Supervisory / System Functions . . . . . . . . . . . . . . . . . . . . 24  
6
L
b
l
0x36 - Eeprom Checksum  
0x4C - Lock Reference Levels  
0x62 - Recalibrate Keys  
. . . . . . . . . . . . . . . . . . . . . . . . . . . 24  
. . . . . . . . . . . . . . . . . . . . . . . . . 24  
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24  
0x6C - Return Last Command Character  
. . . . . . . . . . . . . . . . . . . 25  
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25  
r
0x72 - Reset Device  
3.15 LED / Alert Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10  
3.16 Oscilloscope Sync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11  
3.17 Power Supply & PCB Layout . . . . . . . . . . . . . . . . . . . . . 11  
3.18 ESD / Noise Considerations . . . . . . . . . . . . . . . . . . . . . . 11  
4 Communications Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . 11  
4.1 Serial Protocol Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 11  
4.2 SPI Port Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . 12  
4.3 SPI Slave-Only Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12  
4.4 SPI Master-Slave Mode . . . . . . . . . . . . . . . . . . . . . . . . . . 13  
4.5 UART Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14  
4.6 Sensor Echo and Data Response . . . . . . . . . . . . . . . . . . 15  
4.7 Parallel Scan Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15  
4.8 Eeprom Corruption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16  
5 Commands & Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17  
5.1 Put / Get Direction Commands . . . . . . . . . . . . . . . . . . . . . 17  
V
W
Z
0x56 - Return Part Version  
0x57 - Return Part Signature  
0x5A - Enter Sleep  
. . . . . . . . . . . . . . . . . . . . . . . . . . . 25  
. . . . . . . . . . . . . . . . . . . . . . . . . 25  
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25  
^Q 0x11 - Data Rate Selection  
^R 0x12 - Oscilloscope Sync  
^W 0x17 - Noise Sync  
. . . . . . . . . . . . . . . . . . . . . . . . . . 25  
. . . . . . . . . . . . . . . . . . . . . . . . . . . 26  
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26  
5.6 Function Summary Table . . . . . . . . . . . . . . . . . . . . . . . . . 27  
5.7 Timing Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  
5.8 Erratta / Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  
6 Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  
6.1 Absolute Maximum Specifications . . . . . . . . . . . . . . . . . . 31  
6.2 Recommended operating conditions . . . . . . . . . . . . . . . . 31  
6.3 DC Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  
6.4 Protocol Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  
6.5 Maximum Drdy Response Delays . . . . . . . . . . . . . . . . . . 32  
7 Mechanical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  
7.1 Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  
7.2 Marking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  
8 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34  
g
0x67 - Get Command  
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17  
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17  
5.2 Scope Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18  
p
0x70 - Put Command  
s
0x73 - Specific Key Scope  
. . . . . . . . . . . . . . . . . . . . . . . . . . . 18  
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18  
S
0x53 - All Keys Scope  
x
0x78 - Row Keys Scope  
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18  
0x79 - Column Keys Scope  
. . . . . . . . . . . . . . . . . . . . . . . . . . . 18  
y
lQ  
ii  
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
Table 1.1 Device Pin List  
Pin  
Name  
Type Description  
Master-Out / Slave In SPI line. In Master/Slave SPI mode is used for both communication directions.  
1
MOSI  
I/O PP  
In Slave SPI mode is the data input (in only).  
Master-In / Slave Out SPI line. Not used in Master/Slave SPI mode.  
In Slave mode outputs data to host (out only).  
SPI Clock. In Master mode is an output; in Slave mode is an input  
Reset input, active low reset  
+5V supply  
2
MISO  
I/O PP  
3
SCK  
RST  
Vdd  
I/O PP  
I
Pwr  
4
5
6
Vss  
Pwr  
O PP  
I
Ground  
7
XTO  
XTI  
Oscillator drive output. Connect to resonator or crystal.ply  
Oscillator drive input. Connect to resonator or crystal, or external clock source.  
UART receive input  
8
9
RX  
TX  
I
10  
11  
12  
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  
41  
42  
43  
44  
O PP  
I
UART transmit output  
Wake from Sleep / Sync to noise source  
Sample output control  
WS  
SMP  
X0OPA  
X1OPB  
X2  
O PP  
I/O PP  
I/O PP  
O PP  
O PP  
Pwr  
X0 Drive matrix scan / Communications option A input  
X1 Drive matrix scan / Communications option B input  
X2 Drive matrix scan  
X3  
Vdd  
X3 Drive matrix scan  
+5V supply  
Vss  
XS0  
Pwr  
I
Ground  
XS0 Scan input line  
XS1  
XS2  
I
XS1 Scan input line  
XS2 Scan input line  
I
XS3  
I
XS3 Scan input line  
YS0 Scan output line  
YS0  
YS1  
YS2  
YS3  
AVdd  
AGnd  
Aref  
O PP  
O PP  
O PP  
O PP  
Pwr  
YS1 Scan output line  
YS2 Scan output line  
YS3 Scan output line  
+5 supply for analog sections  
Analog ground  
Pwr  
Pwr  
+5 supply for analog sections  
Cs3 control B  
Cs3 control A  
CS3B  
CS3A  
CS2B  
CS2A  
CS1B  
CS1A  
CS0B  
CS0A  
Vdd  
I/O PP  
I/O PP  
I/O PP  
I/O PP  
I/O PP  
I/O PP  
I/O PP  
I/O PP  
Pwr  
Cs2 control B  
Cs2 control A  
Cs1 control B  
Cs1 control A  
Cs0 control B  
Cs0 control A  
+5 supply  
Ground  
Vss  
Pwr  
LED  
DRDY  
Vref  
O PP  
O OD  
I
Active low LED status drive / Activity indicator  
Data ready output for Slave SPI mode; active low  
Vref input for conversion reference  
Oscilloscope sync output  
SO  
SS  
O PP  
I/O OD  
Slave select for SPI direction control; active low  
I/O: I = Input  
O = Output  
Pwr = Power pin  
I/O = Bidirectional line  
PP = Push Pull output drive  
OD = Open drain output drive  
lQ  
iii  
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
Figure 1-4 Sample Electrode Geometries  
1 Overview  
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 low cost external parts are  
required for operation. The entire circuit can be built in under  
6 square centimeters of PCB area.  
PARALLEL LINES  
SERPENTINE  
SPIRAL  
Figure 1-1 Field flow between X and Y elements  
charge driven by the X electrode is partly received onto the  
corresponding Y electrode which is then processed. The part  
uses 4 'X' edge-driven rows and 4 'Y' sense columns to sense  
up to 16 keys.  
overlying panel  
The charge flows are absorbed by the touch of a human  
finger (Figure 1-1) resulting in a decrease in coupling from X  
to Y. Thus, received signals decrease or go negative with  
respect to the reference level during a touch.  
X
Y
element  
element  
As shown in Figure 1-3, water films cause the coupled fields  
to increase slightly, making them easy to distinguish from  
touch.  
The device has a wide dynamic range that allows for a wide  
variety of key sizes and shapes to be mixed together in a  
single touch panel. These features permit new types of  
keypad features such as touch-sliders, back-illuminated keys,  
and complex warped panels.  
1.2 Circuit Overview  
A basic circuit diagram is shown in Figure 1-5. The Xdrives  
are sequentially pulsed in groupings of bursts. At the  
intersection of each Xand Yline in the matrix itself, where  
a key is desired, should be an interdigitated electrode set  
similar to those shown in Figure 1-4. See Quantum App Note  
AN-KD01, or consult Quantum for application assistance.  
The devices use an SPI interface running at up to 3MHz rates  
to allow key data to be extracted and to permit individual key  
parameter setup, or, a UART port which can run at rates to  
57.6 Kbaud. The serial interface protocol uses simple  
commands; the command structure is designed to minimize  
the amount of data traffic while maximizing the amount of  
information conveyed.  
The device uses fixed external capacitors to acquire charge  
from the matrix during a burst of charge-transfer cycles; the  
burst length can be varied to permit digitally variable key  
signal gains. The charge is converted to digital using a  
single-slope conversion process.  
In addition to normal operating and  
Burst mode operation permits the  
use of a passive matrix, reduces RF  
emissions, and provides excellent  
response times.  
Figure 1-2 Field Flows When Touched  
setup functions the device can also  
report back actual signal strengths  
and error codes over the serial  
interfaces.  
Refer to Section 3 for more details  
on circuit operation.  
QmBtn software for the PC can be  
used to program the IC as well as  
read back key status and signal  
levels in real time.  
1.3 Communications  
The device uses two variants of SPI  
A parallel scan port is also provided  
that can be used to directly replace  
membrane type keypads.  
overlying panel  
communications, Slave-only and  
Master-Slave, a UART interface,  
plus a parallel scan interface. Over  
the serial interfaces are used a  
command and data transfer  
structure designed for high levels of  
flexibility using minimal numbers of  
bytes. For more information see  
Sections 4 and 5.  
X
Y
QMatrix technology employs  
transverse charge-transfer ('QT')  
sensing, a new technology that  
senses the changes in an electrical  
charge forced across an electrode  
set.  
element  
element  
The parallel scan port permits the  
replacement of electromechanical  
keypads that would be scanned by  
a microcontroller; the scan interface  
mimics an electromechanical  
keyboards response.  
Figure 1-3 Fields With a Conductive Film  
1.1 Field Flows  
Figure 1-1 shows how charge is  
transferred across an electrode set  
to permeate the overlying panel  
material; this charge flow exhibits a  
high dQ/dt during the edge  
transitions of the X drive pulse. The  
lQ  
4
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
The threshold is user-programmed using the setup process  
Figure 1-5 Circuit Block Diagram  
described in Section 5 on a per-key basis.  
Vcc  
Opt A  
Opt B  
2.3 Hysteresis  
See also command ^C and ^D, page 21  
QT60161  
Y0 Y1 Y2 Y3  
Refer to Figure 1-6. The QT60161B employs programmable  
hysteresis levels of 12.5%, 25%, or 50% of the delta between  
the reference and threshold levels. There are different  
hysteresis settings for positive and negative thresholds which  
can be set by the user. The percentage refers to the distance  
between the reference level and the threshold at which the  
detection will drop out. A percentage of 12.5% is less  
hysteresis than 25%, and the 12.5% hysteresis point is closer  
to the threshold level than to the reference level.  
X0  
X1  
X2  
X3  
LED  
X0  
X1  
X2  
X3  
Scope  
Sync  
Reset  
Wake /  
Sync  
Sample caps  
CS0  
CS0A  
CS0B  
CS1A  
CS1B  
CS2A  
CS2B  
SPI  
to Host  
UART  
to Host  
The hysteresis levels are set for all keys only; it is not  
possible to set the hysteresis differently from key to key on  
either the positive or negative hysteresis levels.  
CS1  
CS2  
2.4 Drift Compensation  
See also commands ^H, ^I, page 22  
CS3A  
CS3B  
CS3  
Signal levels can drift because of changes in Cx and Cs over  
time. It is crucial that such drift be compensated, else false  
detections, non- detections, and sensitivity shifts will follow.  
The QT60161B can compensate for drift using two setups, ^H  
and ^I.  
VREF  
Sample  
Drift compensation 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.  
2 Signal Processing  
The device calibrates and processes signals using a number  
of algorithms specifically designed to provide for high  
survivability in the face of adverse environmental challenges.  
The QT60161B provides a large number of processing  
options which can be user-selected to implement very  
flexible, robust keypanel solutions.  
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  
the enhanced coupling thus created. These effects are  
2.1 Negative Threshold  
See also command ^A, page 21  
The negative threshold value is established relative to a keys contrary to the way most capacitive sensors operate.  
signal reference value. The threshold is used to determine  
Once a finger is sensed, the drift compensation mechanism  
key touch when crossed by a negative-going signal swing  
ceases since the signal is legitimately detecting an object.  
after having been filtered by the detection integrator (Section  
Drift compensation only works when the key signal in  
2.6). Larger absolute values of threshold desensitize keys  
question has not crossed the negative threshold level  
since the signal must travel farther in order to cross the  
(Section 2.1).  
threshold level. Conversely, lower thresholds make keys  
more sensitive.  
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 setting  
^H and ^I to different settings.  
As Cx and Cs drift, the reference point drift-compensates for  
these changes at a user-settable rate (Section 2.4); the  
threshold level is recomputed whenever the  
reference point moves, and thus it also is drift  
compensated.  
Figure 1-6 Detection and Drift Compensation  
The threshold is user-programmed on a per-key  
basis using the setup process (Section 5).  
Reference  
Hysteresis  
Threshold  
2.2 Positive Threshold  
See also command ^B, page 21  
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.  
These transitions are described more fully in  
Section 2.7.  
Signal  
Output  
lQ  
5
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
Drift compensation should usually be set to compensate  
2.7 Positive Recalibration Delay  
See also command ^K, page 23  
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 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 case, the  
sensor should compensate for the object's removal by raising  
the reference level quickly.  
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  
recalibration, and thereafter the signal returned to normal.  
As an example of the latter, if a foreign object or a finger  
contacts a key for period longer than the Negative Recal  
Delay, the key is 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.  
The drift compensation rate can be set for each key  
individually, and can also be disabled completely if desired on  
a per-key basis.  
It is almost always desirable in these cases to cause the key  
to recalibrate to the new signal level so as to restore normal  
touch operation. The device accomplishes this by simply  
setting Reference = Signal.  
Drift compensation and the detection time-outs (Section 2.5)  
work together to provide for robust, adaptive sensing. The  
time-outs provide abrupt changes in reference location  
depending on the duration of the signal 'event'.  
The time required to detect this condition before recalibrating  
is governed by the Positive Recalibration Delay command. In  
order for this feature to operate, the signal must rise through  
the positive threshold level (Section 2.2) for the proscribed  
interval determined by Setup ^K.  
2.5 Negative Recalibration Delay  
See also command ^L, page 23  
If a foreign object contacts a key the key's signal may change  
enough in the negative direction, the same as a normal  
touch, to create an unintended detection. When this happens  
it is usually desirable to cause the key to be recalibrated in  
order to restore its function after a time delay of some  
seconds.  
After the Positive Recal Delay interval has expired and the  
fast-recalibration has taken place, the affected key will once  
again function normally. This interval can be set on a per-key  
basis; it can also be disabled by setting ^K to zero.  
The Negative Recal Delay timer monitors this detection  
duration; if a detection event exceeds the timer's setting, the  
key will be recalibrated so that it can function thereafter. The  
^L function can be altered on a key by key basis. It can be  
disabled if desired by setting the ^L parameter to zero, so that  
it will never recalibrate automatically.  
2.8 Reference Guardbanding  
See also commands ^N, ^O, page 23; ‘L’, page 24  
The QT60161B provides for a method of self-checking that  
allows the host to ascertain whether one or more key  
reference levels are 'out of spec'. This feature can be used to  
determine if an X or Y line has broken, the matrix panel has  
delaminated from the control panel, or there is a circuit fault.  
2.6 Detection Integrator  
See also command ^J, page 22  
Reference guardbanding alerts the host when the reference  
level of a key falls outside of user-defined levels. The  
reference guardband is determined as a percent deviation  
from the 'locked' reference level for each individual key.  
These reference levels can be stored into internal eeprom via  
the Lock command 'L' during production; deviations in  
reference levels that fall outside the guardbands centered on  
these locked reference levels are then reported as key errors.  
To suppress false detections caused by spurious events like  
electrical noise, the QT60161B incorporates a 'detection  
integrator' counter that increments with each detection  
sample until a user-defined limit is reached, at which point a  
detection is confirmed. If no detection is sensed on any of the  
samples prior to the final count, the counter is reset  
immediately to zero, forcing the process to restart.  
The amount of guardbanding can be set differently for each  
signal direction relative to the stored and locked levels. The  
possible settings are from 0.1% to 25.5% of signal reference  
in steps of 0.1% as set by commands ^N (positive swings)  
and ^O (negative swings). A setting of 0 (zero) disables the  
corresponding guardband direction.  
When an active key is released, the counter must count down  
to zero before the key state is set to 'off'. Setting a keys  
detection integrator target value to zero disables that key  
although the bursts for that key continue normally.  
The detection integrator is extremely effective at reducing  
false detections at the expense of slower reaction times. In  
some applications a slow reaction time is desirable; the  
detection integrator can be used to intentionally slow down  
touch response in order to require the user to touch longer to  
operate the key.  
Once the L command has recorded all values of signal  
reference into eeprom, and if guardbanding is enabled, the  
part will compare the actual reference level of each key to its  
corresponding guardbands to see if it falls outside of these  
limits. If so, either of bits 2 and 3 of command 'e' will be set  
for that key. The error will also appear in a bitfield reported  
via command 'E'.  
There are 16 possible values for this function.  
2.9 Adjacent Key Suppression (‘AKS’)  
See also command ^P, page 24  
The QT60161B incorporates adjacent key suppression  
(AKS) that can be enabled on a per-key basis. AKS permits  
lQ  
6
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
the suppression of multiple key presses based on relative flow using minimal data transfers and low host software  
signal strengths. AKS assists in solving the problem of  
surface water which can bridge a key touch to an adjacent  
key, causing multiple key presses, causing multiple key  
presses even though only one key was touched. This feature  
is also useful for panels with tightly spaced keys, where a  
fingertip can partially overlap an adjacent key.  
overhead.  
3 Circuit Operation  
A QT60161B reference circuit is shown in Figure 2-1.  
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 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.  
3.1 Matrix Scan Sequence  
The circuit operates by scanning each key sequentially, key  
by key. Key scanning begins with location X=0 / Y=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 Y0X0 Y0X1 Y0X2 Y0X3 Y1X0 etc.  
Each key is sampled from 1 to 64 times in a burst whose  
length is determined by Setup ^F. A burst is completed  
entirely before the next key is sampled; at the end of each  
burst the resulting analog signal is converted to digital using a  
single-slope conversion process. The length of the burst  
directly impacts on the gain of the key; each key can have a  
unique burst length in order to allow tailoring of key sensitivity  
on a key by key basis.  
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 in a panel have  
different sizes, it may be necessary to reduce the gains of  
larger keys relative to smaller ones to equalize the effects of  
AKS. The signal threshold of the larger keys can be altered to  
compensate for this without causing problems with key  
suppression.  
AKS works to augment the natural moisture suppression  
capabilities of the device (Section 3.10), creating a more  
robust touch panel.  
3.2 Signal Path  
Refer to Figures 1-5, 3-1, and 3-2.  
X-Drives. The X drives are push-pull CMOS lines which drive  
charge through the matrix keys on the positive and negative  
edges of X. Only the positive edge of X is used for signal  
purposes, however the negative edge must cause the charge  
across the keys to neutralize prior to the next positive edge,  
else the sampling mechanism will cease after one pulse. The  
part accomplishes this by holding all Y lines to ground during  
the falling edge of X.  
2.10 Full Recalibration  
See also command b, page 24  
The part fully recalibrates one or more keys after the b’  
command has been issued to it, depending on the current  
scope of the bcommand. The device recalibrates all keys on  
powerup, after a hard reset via the RST pin or on power up,  
or via a reset using the rcommand. Since the circuit  
tolerates a very wide dynamic signal range, it is capable of  
adapting to a wide mix of key sizes and shapes having widely  
varying Cx coupling capacitances.  
Charge gate. Only one X row is pulsed during a burst.  
Charge is coupled across a key's Cx capacitance from the X  
row to all Y columns. A particular key is chosen by gating the  
charge from a single Y column into a single one of four  
possible sampler capacitors. The other three X and three Y  
lines are clamped to ground during this process.  
If a false calibration occurs due to a key touch or foreign  
object on the keys during powerup, the affected key will  
recalibrate again when the object is removed depending on  
the settings of Positive Threshold and Positive Recal Delay  
(Sections 2.2 and 2.7).  
Dwell time. The dwell time is determined internally and is  
the same as one oscillator period, i.e. 83.3ns with a 12MHz  
resonator. The dwell time is set via internal switching action  
Calibration requires 9 full burst cycles to complete, and so the  
time it takes is dependent on the burst spacing parameter  
(Section 3.8 also, ^G, page 22.  
Figure 3-1 QT60161B Circuit Model  
2.11 Device Status & Reporting  
See also commands 7, page 19; e, page 19; E, page 20;  
k, page 20, K, page 20  
X drive  
(1 of 4)  
Cx  
X
The device can report on the general device status or specific  
key states including touches and error conditions, depending  
on the command used.  
X
Y
electrode  
electrode  
Usually it is most efficient to periodically request the general  
device status using command 7first, as the response to this  
command is a single byte which reports back on behalf of all  
keys. 7indicates if there are any keys detecting, calibrating,  
or in error.  
Result  
Y line (1 of 4)  
Cs (1 of 4)  
CSA  
Start  
CSB  
SMP  
Done  
If command 7reports a condition requiring further  
Rs (1 of 4)  
investigation, the host device can then use commands e, E,  
kor Kto provide further details of the event(s) in progress.  
This hierarchical approach provides for a concise information  
lQ  
7
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
which limits the interval during which charge can be accepted interference in extreme cases. Such noise can be readily  
suppressed by adding a 22pF capacitor from each Y line to  
ground near the QT60161B.  
by a Cs capacitor after the rise of an X drive line.  
Dwell time has a dramatic effect on the suppression of  
moisture films as described in Section 3.10.  
3.5 Burst Length & Sensitivity  
See also Command ^F, page 21  
Cs Charge Integrator capacitor. The Cs capacitors  
integrate charge arriving through the matrix keys' Cx  
capacitances, correspondent with the rise of X; to do this a  
switching arrangement on the Cs control pins permits the  
charge to accumulate so that the B side of the Cs capacitors  
becomes negative when the A side is clamped to ground.  
The signal gain in volts / pF of Cx 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 gated so as to capture the resulting  
charge passed through the keys capacitance Cx.  
Charge conversion. At the end of each burst the voltage on  
Cs is converted to digital by means of a single-slope  
conversion process, using one of the external resistors to  
ramp up the capacitor towards a reference voltage. The  
elapsed time required to reach the comparison voltage is the  
digital result. The time required to perform the conversion  
depends on Cs, Cx, Rs, Aref, and the burst length.  
QT60161B devices use a finite number of QT cycles which  
are executed in a short burst. There can be from 1 to 64 QT  
cycles in a burst, in accordance with the list of permissible  
values shown on page 21. If a key's burst length is set to  
zero, that burst is disabled but its time slot in the scanning  
sequence of all keys is preserved so as to maintain scan  
timing.  
3.3 'X' Electrode Drives  
The 'X' lines are directly connected to the matrix without  
buffering. The positive edges of these signals are used to  
create the transient field flows used to scan the keys. Only  
one X line is actively driving the matrix for scanning purposes  
at a time, and it will pulse repetitively for a burst lengthfor  
each key as determined by the 'Burst Length' Setups  
parameter (see command ^F, page 21 and Section 3.5).  
Increasing burst length directly affects key sensitivity. This  
occurs because the accumulation of charge on Cs 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, indivudally.  
3.3.1 RFI FROM X LINES  
Apparent touch sensitivity is also controlled by the Negative  
Threshold setting (Section 2.1). Burst length and negative  
threshold interact; normally burst lengths should be kept as  
short as possible to limit RF emissions, but the threshold  
setting should normally be kept above a setting of 6 to limit  
false detections. The detection integrator can also prevent  
false detections at the expense of slower reaction times  
(Section 2.6).  
X drive lines will radiate a small amount of RFI. This can be  
attenuated if required by using series resistor in-line with  
each X trace; the resistor should be placed near to the  
QT60161B. Typical values can range from 100 to 500 ohms.  
Excessive amounts of R will cause a counterproductive drop  
in signal strength. RC networks can also be used as shown in  
Figure 4-6.  
Resistance in the X lines also have the positive effect of  
limiting ESD discharge currents (Section 3.18).  
The value of Rs also affects sensitivity. Higher values of Rs  
will lead to larger values of ADC result and higher conversion  
gains. The side effect of this is that the conversion will take  
longer and timing conflicts can occur (Section 3.6).  
3.3.2 NOISE  
C
OUPLING  
I
NTO  
X
LINES  
External noise, sometimes caused by ground bounce due to  
injected line noise, can couple into the X lines and cause  
signal interference in extreme cases. Such noise can be  
readily suppressed by the use of series resistors as  
described above. Adding a small capacitor to the matrix line  
on the QT60161B side of the R, for example 100pF to ground  
near the QT60161B, will greatly help to reduce such effects.  
Cs does not significantly affect gain. Smaller values of Cs will  
have higher delta signal voltages but this gain increase is  
offset by the decrease in gain caused by a steeper ADC  
conversion slope. However smaller values of Cs lead to faster  
conversion times for a given value of Rs, which in turn allows  
for more relaxed burst timings. Smaller values of Cs also  
reduce the dynamic range of the system, meaning that the  
acquisition becomes less tolerant of high values of Cx, due to  
earlier saturation of the voltage across Cs.  
3.4 'Y' Gate Drives  
There are 4 'Y' gate drive pairs (CS0A,B..CS3A,B); only one  
pair of these lines is used during a burst for a particular key.  
The magnitude of the voltages accumulated on the Cs  
capacitors should never exceed 0.25V.  
3.6 Burst Acquisition Duration  
The total time required to acquire a key's signal depends on  
the burst length for that key plus the time required to convert  
the voltage on the corresponding Cs capacitor to digital. The  
conversion is performed via a single-slope ADC process  
using one of the external Rs resistors.  
3.4.1 RFI FROM Y LINES  
Y lines are nearly 'virtual grounds' and are negligible radiators  
of RFI; in fact, they act as sinksfor RFI emitted by the X  
lines. Resistors are not required in the Y lines for RFI  
suppression, and in fact can introduce cross-talk among keys  
if large enough. However, small resistance values can be  
beneficial to limit ESD transients and make the circuit more  
resistant to external RF fields (Section 3.18).  
If the total time required for the acquisition, i.e. the burst  
length plus ADC times plus the signal processing and serial  
interface command handler times exceed the burst spacing  
setup parameter (Section 3.8), significant timing errors and  
communications problems can occur.  
3.4.2 NOISE  
C
OUPLING  
INTO Y LINES  
The time taken by the burst itself is straightforward to  
quantify, but the time required to do the ADC step is not. The  
ADC step depends on the value of Vref (pin 42), Cs, Rs, and  
External noise, sometimes caused by ground bounce due to  
power line noise, can couple into the Y lines and cause signal  
lQ  
8
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
Cx. Therefore it is vital that the circuit be checked with an (Section 3.18), a short dwell time can seriously affect signal  
oscilloscope to make sure that burst spacings are unaffected gain.  
during normal operation.  
Mechanical measures can also be used to suppress key  
cross-coupling, for example one can use raised plastic  
barriers between keys, or placing keys in shallow wells to  
lengthen the electrical path from key to key.  
3.7 Intra-Burst Spacing  
See also Command ^M, page 23  
The time between X drive pulses during a burst is the  
intra-burst pulse QT spacing. This timing has no noticeable  
effect on performance of the circuit, but can have an impact  
3.11 Reset Input  
The RSTpin can be used to reset the device to simulate a  
on the nature of RF spectral emissions from the matrix panel. power down cycle, in order to bring the part up into a known  
The setting of this function can be from 1µs to 10µs, loosely  
corresponding to fundamental emission frequencies of from  
1MHz to 100kHz respectively.  
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.  
Longer spacings require more time to execute and can limit  
the operational settings of burst length and/or burst spacing  
(Section 5.7).  
To provide for proper operation during power transitions the  
devices have an internal brown-out detector set to 4 volts.  
A reset command, r, is also provided which generates an  
equivalent hardware reset (page 25).  
The intra-burst QT spacing has no effect on sensitivity or  
water film suppression and is not particularly important to the  
sensing function other than described above.  
3.12 Oscillator  
The oscillator can use either a quartz crystal or a ceramic  
resonator. In either case, the XTI and XTO 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 XTI; XTO should  
be left unconnected.  
3.8 Burst Spacing  
See also Command ^G, page 22  
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.  
Shorter spacings result in faster response time, but due to  
increasing timing restrictions at shorter spacings burst  
lengths or the conversion resolution may be restricted,  
limiting the amount of gain that can be obtained; see Sections  
3.6 and 5.7. Conversely longer spacings permit higher burst  
lengths but slow down response time.  
The frequency of oscillation should be 12MHz +/-2%.  
3.13 Startup / Calibration Times  
The QT60161B requires initialization times as follows:  
1. From very first powerup to ability to communicate:  
2,000ms (One time event to initialize all of eeprom)  
Three settings of burst spacing are possible: 500µs, 1ms, and  
2ms.  
2. Normal cold start to ability to communicate:  
70ms (Normal initialization from any reset)  
3.9 Sample Capacitors  
Charge sampler capacitors Cs should be either ceramic NPO,  
X7R 5%, or PPS film for stability reasons.  
3. Calibration time per key vs. burst spacings:  
spacing = 500µs: 100ms  
spacing = 1ms:  
spacing = 2ms:  
150ms  
300ms  
The values of capacitance should not be altered from that  
shown in the schematic of Figure 3-2 without good reason.  
To the above, add 2,000ms or 70ms from (1) or (2) for  
the total elapsed time from reset to ability to report key  
detections.  
Changes in Cs have only a limited effect on signal gain.  
Keys that cannot calibrate for some reason require 5  
calibration 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.  
3.10 Water Film Suppression  
Water films on the user surface can cause problems with  
false detection under certain conditions. Water films on their  
own will not normally cause false detections. The most  
common problem occurs when surface water bridges over 2  
or more keys, and a user touches one of the keys and the  
water film causing an adjacent key to also trigger. Essentially,  
the water film transports the touch contact to adjacent keys.  
3.14 Sleep_Wake / Noise Sync Pin (WS)  
The Sleep_wake and Noise sync features use input pin WS.  
The Sleep and Sync features can be used simultaneously;  
the part can be put into Sleep mode, but awakened by a  
noise sync signal which is gated in at the time desired.  
The circuit suppresses water coupling by having a short dwell  
time, equal to one oscillator period or 83ns. A short dwell time  
reduces the amount of charge collected via resistive water  
films, i.e. it suppresses charge from areas adjacent to the  
scanned key. This effect has nothing to do with the frequency  
of the burst itself.  
Sleep mode: See also command Z, page 25. The device  
can be put into an ultra low-power sleep mode using the ‘Z’  
command. When this command is received, the WS pin must  
be placed immediately thereafter into a logic-high state. The  
part will complete an ongoing burst before entering Sleep.  
The part can be awakened by a low transition on the WS pin  
lasting at least 5µs. One convenient way to wake the part is  
to connect WS to MOSI, and have the host send a null  
Very short dwell times can cause excess suppression of  
human touch as well. If series resistors are used in line with  
the X and Y matrix lines for noise and ESD suppression  
lQ  
9
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
Noise sync: See also command ^W,  
page 26. External fields can cause  
interference leading to false  
Figure 3-2 Recommended Circuit Diagram  
detections or sensitivity shifts. The  
strongest external fields usually  
come from AC power. RF noise  
sources are heavily suppressed by  
the low impedance nature of the QT  
circuitry itself.  
External noise only becomes a  
problem if the noise is uncorrelated  
with signal sampling; uncorrelated  
noise can cause aliasing and beat  
effects in the key signals. To  
suppress this problem the devices  
feature a noise sync input which  
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.  
The devices bursts can be  
synchronized to an external source  
of repetitive electrical signal, such as  
50Hz or 60Hz, or possibly a video  
display vertical sync line, using the  
Sleep_wake / Noise sync line. The  
noise sync operating mode is set by  
command ^W. This feature allows  
dominant external noise signals to  
be heavily suppressed, since the  
system and the noise become  
synchronized and no longer beat or  
alias with respect to each other. The  
sync occurs only at the burst for key  
0 (X0Y0); the device waits for the  
sync signal for up to 100ms after the  
end of a preceding full matrix scan  
(after key #15), 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.  
Since Noise sync is highly effective  
yet simple and inexpensive to implement, it is strongly  
advised to take advantage of it anywhere there is a possibility  
of encountering electric fields. Quantums QmBtn software  
can show signal noise caused by nearby AC electric fields  
and will hence assist in determining the need to make use of  
this feature.  
command to the device. The part will wake and the null  
command will not be processed. The MOSI line in turn  
requires a pullup resistor to prevent the line from floating low  
and causing an unintentional wake from sleep.  
During Sleep the oscillator is shut down, and the part  
hibernates with microamp levels of current drain. When the  
part wakes, the part resumes normal functionality from the  
point where it left off. It will not recalibrate keys or engage in  
other unwarranted behavior.  
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.  
Just before going to sleep the part will respond with a  
response of 'Z'. In slave-only SPI mode (see Section 4.3), the  
SS line must be floated high by the host as soon as it  
3.15 LED / Alert Output  
receives this response; if SS does not float high, sleep will fail Pin 40 is designed to drive a low-current LED, 5mA  
and the device will instead completely reset after about 2  
seconds. Upon waking the part will issue another 'Z' byte  
back to the host.  
maximum, in an active-low configuration. Higher currents can  
cause significant level shifts on the die and are not advised.  
The LED will glow brightly (i.e. pin 40 will be solid low) during  
calibration of one or more keys, for example at startup. When  
a key is detected, the LED will pulse low for the duration of  
lQ  
10  
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
the burst during which the key is being sensed, i.e. with a  
3.18 ESD / Noise Considerations  
very low duty cycle. Each additional key being detected will  
also create a low pulse for that keys burst. During all other  
times, the LED pin will be off (high).  
In general the QT60161B will be well protected from static  
discharge during use by the overlying panel. However, even  
with a dielectric panel transients currents can still flow into  
scan lines via induction or in extreme cases, dielectric  
breakdown. Porous or cracked materials may allow a spark to  
tunnel through the panel. In all cases, testing is required to  
reveal any potential problems. The IC has diode protected  
pins which can absorb and protect the device from most  
induced discharges, up to 5mA.  
This pin can be used to alert the host that there is key activity,  
in order to further limit the amount of communication between  
the device and the host. The LED / Alert line should ideally be  
connected to an interrupt pin on the host that can detect a  
negative edge, following which the host can proceed to poll  
the device for keys.  
The X lines are not usually at risk during operation, since they  
are low-resistance output drives. Diode clamps can be used  
on the X and Y matrix lines if desired. The diodes should be  
high speed / high current types such as BAV99 dual diodes,  
connected from Vdd to Vss with the diode junction connected  
to the matrix pin. Diode arrays can also be used.  
This line also pulls low if there is a key error of any kind.  
Note that in sleep mode if the LED was on prior to sleep, it  
will remain on during sleep.  
3.16 Oscilloscope Sync  
See also Command ^R, page 26  
Capacitors placed on the X and Y matrix lines can also help  
to a limited degree by absorbing ESD transients and lowering  
induced voltages. Values up to 100pF on the X lines and  
22pF on the Y lines can be used.  
The SOpin can output an oscilloscope sync signal which is  
a positive pulse that brackets the burst of a selected key. This  
feature is controlled by the ^R command. More than one burst  
can output a sync pulse, for example if the scope of the  
command when set is a row or column, or is all keys. The ^R  
command is volatile and does not survive a reset or power  
down.  
The circuit can be further protected by inserting series  
resistors into the X and/or Y lines to limit peak transient  
current. RC networks as shown in Figures 4-6 and 4-7 can  
provide enhanced protection against ESD while also limiting  
the effects of external EMI should this be a problem.  
This feature is invaluable for diagnostics; without it, observing  
signals clearly on an oscilloscope for a particular burst is  
nearly impossible.  
External field interference can occur in some cases; these  
problems are highly dependent on the interfering frequency  
and the manner of coupling into the circuit. PCB layout  
(Section 3.17) and external wiring should be carefully  
designed to reduce the probability of these effects occurring.  
This function is supported in QmBtn PC software via a  
checkbox.  
3.17 Power Supply & PCB Layout  
SPI / UART data noise: In some applications it is necessary  
to have the host MCU at a distance from the sensor, perhaps  
with the interface coupled via ribbon cable. The SPI link is  
particularly vulnerable to noise injection on these lines;  
corrupted or false commands can be induced from transients  
on the power supply or ground wiring. Bypass capacitors and  
series resistors can be used to prevent these effects as  
shown in Figures 4-6 and 4-7.  
Vdd should be 5.0 volts +/- 5%. This can be provided by a  
common 78L05 3-terminal regulator. LDO type regulators are  
often fine but can suffer from poor transient load response  
which may cause erratic signal behavior.  
If the power supply is shared with another electronic system,  
care should be taken to assure that the supply is free of  
low-level spikes, sags, and surges which can adversely affect  
the circuit. The devices can track slow changes in Vcc  
depending on the settings of drift compensation, but signals  
can be adversely affected by rapid voltage steps and impulse  
noise on the supply rail.  
4 Communications Interfaces  
The QT60161B uses parallel, UART, and SPI interfaces to  
communicate with a host MCU. The serial interfaces use a  
protocol described in Section 5. Only one interface can be  
used at a time; the interface type is selected by  
Supply bypass capacitors of 0.1uF to a ground plane should  
be used near every supply pin of every active component in  
the circuit.  
resistor-coupled jumpers connected to pins X0OPA (pin 13)  
and X0OPB (pin 14) shown in Table 4-1. See also Figure 3-2.  
PCB layout: The PCB layout should incorporate a ground  
plane under the entire circuit; this is easily possible with a  
2-layer design. The ground plane should be broken up as  
little as possible. Internal nodes of the circuit can be quite  
sensitive to external noise and the circuit should be kept  
away from stray magnetic and electric fields, for example  
those emanating from mains power components such as  
transformers and power capacitors. If proximity to such  
components is unavoidable, an electrostatic shield may be  
required.  
Further specific information on each interface type is  
contained in the following sections:  
SPI Slave-Only Mode:  
SPI Master-Slave Mode:  
UART Interface:  
Section 4.3  
Section 4.4  
Section 4.5  
Section 4.7  
Parallel Interface:  
4.1 Serial Protocol Overview  
The use of the Sync feature (Section 3.14) can be invaluable  
in reducing these types of noise sources, but only up to a  
point.  
The SPI and UART interface protocols are based entirely on  
polled data transmission, that is, the part will not send data to  
the host of its own volition but will do so only in response to  
specific commands from a host.  
lQ  
11  
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
Run-time data responses, such as key detection or error  
just before and during reception of data from the host. It  
must not go high again until the SCK line has returned low;  
during data or echo response it must not go high until after  
the host has sensed that DRDYhas gone high from the  
device. This pin must idle high. The SSpin has an internal  
pullup resistor inside.  
information, requires simple single-byte functions to evoke a  
response from the part.  
Setup mode interactions mostly use 2-byte functions from the  
host to cause the part to alter its behavior; these functions  
also cause writes to the internal eeprom.  
DRDY’ - Data Ready - active-low - indicates to the host that  
the part is ready to send data back subsequent to a  
command from the host. This pin idles high. The DRDY’  
pin has an internal pullup resistor inside.  
The concept of 'scope' is used to allow functions to operate  
on individual keys or groupings of keys. The scope of  
subsequent functions can be altered by short initial scope  
instructions.  
Internal pullup resistors note: The internal pullup resistors  
can range from 35k to 120k ohms. If RC filtering is used on  
the SPI lines per Figure 4-6, this resistance may not be low  
enough to ensure adequate signal risetime and may need to  
be augmented with external 10k pullups.  
See Section 5 for protocol details.  
4.2 SPI Port Specifications  
The part has an SPI synchronous serial interface with the  
following specifications at 12MHz oscillator frequency:  
The host must wait until DRDYgoes low before an SPI  
transfer to retrieve data. For multi-byte responses, the host  
must observe DRDY' to see when it goes high again after  
each data byte, then low again, before executing another  
transfer to get the next data byte. The host should send null  
bytes (0x00) to retrieve data.  
Max clock rate, Fck  
Data length  
Host command space, Tcm  
Response delay to host, Tdr1  
Drdy delay from response, Tdr2  
Multi-byte return spacing, Tdr3  
3MHz  
8 bits  
m 50µs  
Table 4-1, also, Sec. 6  
1µs to 1ms  
10µs to 2ms  
If the DRDYline does not go low after a command, the  
command was not properly received or it was inappropriate.  
The delay to DRDYlow depends on the command and how  
many bytes of data are being stored into eeprom; Table 4-1  
shows the maximum delays encountered in most cases.  
Absolute worst case delays are found in Section 6-5; these  
timings occur only rarely, for example if the device happens  
to be busy with adjacent key suppression calculations, which  
occurs only at the moment when a key is first detected.  
The host can clock the SPI with the part in Slave mode at any  
rate up to and including the maximum clock rate Fck. The  
maximum clock rate of the part in Master mode is determined  
by Setup ^Q (page 25).  
The part can operate in either master-slave mode or  
slave-only mode, and is thus compatible with virtually all  
SPI-capable microcontrollers.  
The SPI interface should not be used over long distances due  
to problems with signal ringing and introduced noise etc.  
unless suitably buffered or filtered with RC networks as  
shown in Figures 4-6 and 4-7. Slower data rates with longer  
RC timeconstants will provide enhanced resistance to noise  
and ringing problems.  
A typical Slave-only function sequence is as follows:  
1) The host pulls SSlow, then transfers a command to the  
sensor. The host then releases SSto float high. DRDYis  
unaffected in this step.  
2) For 2-byte functions, (1) is repeated with a m50us delay.  
3) When the sensor has the command echo or requested  
data ready to send back to the host, it loads it into its SPI  
register and pulls DRDYlow.  
4.3 SPI Slave-Only Mode  
Refer to Figures 4-1, 4-3 and 4-2. In Slave-only mode the  
host must always be in Master mode, as it controls all SPI  
activity including the clocking of the interface in both  
directions. Unlike hardware SPI slaves, the QT60161B needs  
processing time to respond to functions. DRDYis used to let  
the host know when data is ready for collection; it indicates to  
the host when data is ready in response to a command so  
that the host can clock over the data.  
4) The host detects that the sensor has pulled DRDYlow  
and in turn the host pulls SSlow.  
5) The host obtains the byte from the sensor by transmitting  
a dummy byte (0x00) to the sensor.  
6) The sensor releases DRDYto float high.  
This mode requires 5 signals to operate:  
7) After the host detects that DRDY' has floated high the  
host must allow SSto also float high.  
MOSI - Master out / Slave in data pin; used as an input for  
data from the host at all times. This pin should be  
connected to the MOSI pin of the host device.  
8) For multi-byte responses, steps (3) through (7) are  
repeated until the return data is completely sent.  
MISO - Master in / Slave out data pin; used as an output for  
data to the host at all times. This pin should be connected  
to the MISO pin of the host device.  
Note that the host must release the SSline in step (7) even  
between multiple byte responses because the QT60161B  
waits for the SSline to return high before signalling that the  
next byte is ready for collection.  
SCK - SPI clock - input only clock pin from host. The host  
must shift out data on the falling edge of SCK; the  
QT60161B clocks data in on the rising edge of SCK.  
Important note: SCK must idle low just before and after  
SStransitions either up or down, or the transmission will  
fail; between bytes SCK should idle low.  
Note also that the host should check the DRDYline and wait  
for it to go high before transmitting another byte. Until the  
DRDYline is released the sensor is still processing a data  
return, even if the complete response data has been fully  
transferred; the sensor may still be busy when the host  
finishes the byte transfer and may not be able to digest a new  
command immediately.  
SS’ - Slave select - input only; this pin acts as a framing  
signal to the sensor from the host. This line must go low  
lQ  
12  
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
See Section 3.15, page 10, for a description of the Alert pin  
which can be used to reduce communication traffic.  
Figure 4-1 Communications Option Jumpers  
Vcc  
Opt A  
Opt B  
4.4 SPI Master-Slave Mode  
L
H
H
L
Refer to Figures 4-1, 4-2, and 4-4. In Master-Slave mode the  
host and the sensor take turns being Master, with the host  
always leading off in Master mode during an exchange. The  
current Master always controls all 3 signal lines. The sensor  
takes a variable amount of time to respond to the host,  
depending on the nature of the function and its current and  
pending tasks. The host, like the sensor, must idle in slave  
mode when not sending a command.  
10K  
10K  
13  
14  
X0  
X1  
To Matrix  
X0OPA (Pin 13)  
X0OPB (Pin 14)  
Interface Type  
Low  
Low  
High  
High  
Low  
High  
Low  
High  
SPI, Slave only  
UART  
Master/Slave requires 3 signals to operate:  
MOSI - Master out / Slave in data pin - bidirectional - an input  
pin while the host is transmitting data; an output when the  
sensor is transmitting data. The MOSI of the host and  
slave should be tied together. The MISO lines are not used  
on either part and should be left open.  
SPI, Master/Slave  
Parallel  
2) The host pulls SSlow, then transfers one byte of  
command to the sensor via MOSI, then releases SSto  
float high again.  
SCK - SPI clock - bidirectional - an input pin when receiving  
data; an output pin when sending. The host must shift out  
data on the falling edge of SCK; the QT60161B clocks data  
in on the rising edge of SCK. Important note: SCK from  
the host must be low before asserting SSlow or high at  
either end of a byte or the transmission will fail. SCK  
should idle low; if in doubt, a 10K pulldown resistor should  
be used. When the sensor returns data it becomes the  
Master; data is shifted out by it on the falling edge of SCK  
and should be clocked in by the host on the rising edge.  
3) For 2-byte functions, (2) is repeated with m50us spacings  
between bytes.  
4) The host immediately places its SPI port into Slave mode,  
floating SCK and MOSI; SSstays floating.  
5) When the sensor has a command echo or data to send  
back, it puts its SPI register in Master mode, taking control  
over MOSI and SCK. SS' remains floating.  
SS- Slave select - bidirectional framing control. When the  
sensor is in slave mode, this pin accepts the SScontrol  
signal from the host. In either data direction, SS' must go  
low before and any during data transfer; it should not go  
high again until SCK has returned low at the end of a byte.  
In Master mode the sensor asserts control over this line, to  
make the host a slave and to frame the data. This line  
must idle high; the part includes an internal pullup resistor  
and should be floated during idle times.  
6) The sensor pulls SSlow, then clocks out its response  
byte to the host, then floats SShigh again.  
7) The sensor repeats (6) as necessary for multiple byte  
responses.  
8) The sensor returns to slave mode.  
After the transmission sequence, the SPI lines float high or  
are left to float in an indeterminate state (MOSI) until the next  
transmission sequence is initiated by the host. The host  
should wait for >1ms after a sequence before initiating  
another transmission sequence.  
Internal pullup resistor note: The internal pullup resistor on  
SScan range from 35k to 120k ohms. If RC filtering is used  
on the SPI lines per Figure 4-7, this pullup resistance may not  
be low enough to ensure adequate signal risetime and may  
need to be augmented with external 10k pullups.  
See Section 3.15, page 10, for a description of the Alert pin  
which can be used to reduce communication traffic.  
A command may consist of one or two bytes with a m50us  
delay between command bytes. At the end of a full command,  
the Master must go into Slave mode to await a response from  
the sensor.  
The sensor may take some time to process the host  
command and respond. When it does so, it asserts SSlow  
and begins clocking its data. For multi-byte responses, the  
bytes will be sent at intervals which may be somewhat  
irregular depending on the request and the processing  
load of the sensor. The host must be prepared to accept  
the sensor data as it comes or there can be a data  
overrun in the host. If the data returns too fast for the host  
to accept it, the SPI clock rate should be lowered.  
Figure 4-2 SPI Connections  
Slave-Only  
Master-Slave  
Host MCU  
QT60xx5  
Host MCU  
QT60xx5  
DRDY  
SS  
P_IN  
P_OUT  
SCK  
DRDY  
SS  
A typical Master-Slave function sequence is as follows:  
SS  
SCK  
1) Host enters Master mode. The sensor is already in  
Slave mode.  
SCK  
SCK  
MISO  
MOSI  
SS  
MISO  
MOSI  
MISO  
MOSI  
MISO  
MOSI  
Vdd  
lQ  
13  
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
Figure 4-3 SPI Slave-Only Mode Timing  
T
dr3  
T
cm  
T
T
dr1  
dr2  
DRDY  
{from sensor}  
SS  
{from host}  
SCK  
{from host}  
MOSI  
{from host}  
7 6 5 4 3 2 1 0  
7 6 5 4 3 2 1 0  
Optional Byte 2  
Host Command Byte 1  
Null Dummy Data  
7 6 5 4 3 2 1 0  
Null Dummy Data  
7 6 5 4 3 2 1 0  
MISO  
{from sensor}  
7 6 5 4 3 2 1 0  
Invalid Data  
7 6 5 4 3 2 1 0  
Invalid Data  
Response Data or Echo  
Nth Response Data  
{N = command dependent}  
Figure 4-4 SPI Master/Slave Mode Timing  
T
T
T
cm  
dr1  
dr3  
SS  
SCK  
MOSI  
7 6 5 4 3 2 1 0  
7 6 5 4 3 2 1 0  
7 6 5 4 3 2 1 0  
7 6 5 4 3 2 1 0  
Command Byte 1  
from Host to sensor  
Optional Byte 2  
from host to sensor  
Response Byte or Echo  
from sensor to host  
Nth Byte from sensor  
{N = command dependent}  
SS, SCK, MOSI originate from Host  
Floating  
SS, SCK, MOSI originate from sensor  
Figure 4-5 UART Timing  
T
cm  
T
T
dr1  
dr3  
RX  
{from host}  
S 0 1 2 3 4 5 6 7  
S 0 1 2 3 4 5 6 7  
TX  
{from sensor}  
S 0 1 2 3 4 5 6 7  
S 0 1 2 3 4 5 6 7  
Command Byte 1  
from host to sensor  
Optional Byte 2  
from host to sensor  
Response Byte or Echo  
from sensor to host  
Nth Byte from sensor  
{N = command dependent}  
initiated by the host. The baud rate is determined by Setup  
^Q (page 25); the maximum baud rate with a 12MHz oscillator  
is 57.6K. UART communications uses the following settings:  
4.5 UART Interface  
Refer to Figures 4-1 and 4-5.  
UART communications requires only 2 wires, TX and RX to  
communicate with a host device. All communications must be  
Table 4-1 Typical Tdr1 Response Delays (100µs sample ramp)  
Burst Spacing  
Function Type  
Setup - Put (affect 1 key)  
Setup - Put (affect 8 keys)  
Setup - Put (affect 16 keys)  
Lock reference Level (L)  
Calibrate command (all keys)  
Get key errors (E)  
500µs  
10ms  
20ms  
65ms  
65ms  
500µs  
450µs  
350µs  
350µs  
1ms  
10ms  
20ms  
65ms  
65ms  
500µs  
450µs  
350µs  
350µs  
2ms  
10ms  
20ms  
65ms  
65ms  
500µs  
450µs  
350µs  
350µs  
Get keys pushed (K)  
All other commands  
lQ  
14  
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
Baud rate  
Data length  
Parity  
Stop bits  
Host command space, Tcm  
Response delay to host, Tdr1  
9,600 - 57,600  
8 bits  
None  
1
m 50µs  
Table 4-1,  
also, Sec. 6  
The host should not transmit a new command until the  
last command has been processed and responded to  
completion, plus 1ms.  
Commands that are not recognized are ignored, and the host  
should monitor for timeouts to detect these conditions. If this  
occurs a new command should not be sent until the specified  
timeout condition has expired.  
Multi-byte return spacing, Tdr3 10µs to 2ms  
The maximum timings shown in Table 4-1 and Section 6-5  
are guaranteed provided that the part is operating within its  
burst timing limitations described in Section 5.7. If the burst  
timing is in violation, the response time to a command may  
take considerably longer.  
The actual baud rate is determined by Setup ^Q (page 25).  
A UART command may consist of one or two bytes with a  
m50us delay between command bytes. At the end of a full  
command, the host must await a response from the sensor.  
4.7 Parallel Scan Port  
The sensor may take some time to process the host  
command and respond. When it does so, it sends back its  
data. For multi-byte responses, the bytes will be sent at  
intervals which may be somewhat irregular depending on the  
request and the processing load of the sensor. The host must  
be prepared to accept the sensor data as it comes or there  
can be a data overrun in the host. If the data returns  
too quickly for the host to accept it, the baud rate  
should be lowered.  
The parallel port can be used to directly replace an electro-  
mechanical or membrane keyboard. The port is electrically  
equivalent to a 4x4 switch matrix with the exception that the  
response to a host scan requires up to 100µs. The XS inputs  
(pins 19..22) are active high; only one XS line should ever be  
driven high at a time (except for error scan, noted below); the  
Figure 4-6 Filtering; SPI Slave-Only Connections  
+5  
+5  
A typical UART communication sequence is as follows:  
QT60161 Circuit  
10K 10K  
Host MCU  
P_IN  
1) Host sends a byte to the sensor.  
X drives  
(1 of 4  
shown)  
DRDY  
SS  
Xn  
Ra  
2) For 2-byte functions, a m50us delay is inserted by  
the host and then the second byte is sent.  
Ca  
220  
P_OUT1  
SCK  
47pF  
Ra  
Ra  
Ra  
Ra  
3) If the sensor has a command echo or data to send  
back, it does so. The delay from step 2 to step 3 is  
shown in Table 4-1. The delay between successive  
response bytes (if they occur) is parameter Tdr3  
noted above.  
Ca  
Ca  
SCK  
MISO  
MISO  
Ca  
Y Lines  
(1 of 4  
shown)  
Yn  
MOSI  
MOSI  
100  
22pF  
4) The sensor repeats (3) as necessary for multiple  
byte responses.  
Ca  
P_OUT2  
RESET  
1K  
(MS not  
shown)  
1nF  
5) The sensor waits for the next command.  
The host should wait for >1ms after a sequence before  
initiating another transmission sequence to be sure  
that the sensor has completed any residual activities  
from the prior command. Commands that are sent to  
the host prematurely will be ignored.  
Figure 4-7 Filtering; SPI Master-Slave Connections  
+5  
QT60161 Circuit  
10K  
Host MCU  
SS  
X drives  
(1 of 4  
shown)  
DRDY  
SS  
Xn  
4.6 Sensor Echo and Data Response  
The devices respond to each and every valid  
command from the host with at least one return byte.  
In the case of functions that do not send data back to  
the host, the part returns the command itself as an  
echo, but only after the function has been processed to  
completion; this also holds for 2-byte functions where  
the second byte is an operand: in these cases the  
return byte is an echo of the command, not the  
operand.  
220  
47pF  
Ra  
Ra  
Ca  
Ca  
Ca  
SCK  
SCK  
Ca  
MISO  
MISO  
Y Lines  
(1 of 4  
shown)  
Yn  
MOSI  
MOSI  
100  
22pF  
Ra  
1K  
Ca  
Ca  
P_OUT  
RESET  
(MS not  
shown)  
One important exception to this is the recalibration  
command bwhich returns an acknowledgment  
immediately rather than prior to the actual  
recalibration.  
1nF  
Recommended Values of Ra & Ca for Figures 4-6 and 4-7  
SPI Clock Rate  
3MHz  
750kHz  
Ra  
680  
Ca  
47pF  
Commands that return data do not send back a  
command echo. If desired, the command byte can be  
verified via the 'l' (lowercase L) function; see page 25.  
1,000  
1,000  
2,200  
120pF  
270pF  
470pF  
187.5kHz  
93.75kHz  
lQ  
15  
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
output response is found on the YS lines (pins 23..26), and  
eeprom. As intentional writes in Put mode should only occur  
during manufacture, it is normally safe to assume that  
eeprom changes during normal run mode are errors.  
these are also active high. The bit pattern found on the YS  
lines indicates any keys that are touched; like a real matrix,  
the device can set multiple bits on the YS lines.  
The host can also periodically test the checksum of the  
The host should scan to individual lines XS0..XS3. XS0 maps eeprom as a backup mechanism to the bit 4 error flag.  
to matrix drive line X0 (pin 13). The response on YS0 maps to  
The uppercase Lcommand, Lock Reference Levels, also  
matrix line Y0. Thus, the scan port logic exactly mimics the  
writes data to eeprom, and this data also has the potential to  
wiring and scanning of the matrix keys.  
become corrupted. This data is also backed up in Flash so  
The parallel scan port operates on a continuous basis, but is that it can be recovered, and an error in this data will also set  
slower to react when either serial port is in operation. If either bit 4 and also alter the checksum. Also, the Lcommand only  
serial port is operational, the scan port updates with every  
acquisition burst, i.e. 16 times during a complete scan of the  
matrix.  
operates if the device is in Put mode as a further protection.  
Flash memory has a limit of 1,000 write cycles, so  
copy-to-Flash should not be used often.  
For a full-time higher speed scan port response, it should be  
enabled as the sole interface via the option jumper settings  
shown in Figure 4-1. The port itself is found on pins 19  
through 26 (Figure 3-2). In this dedicated mode, the scan port  
outputs within 100µs of receiving a scan input from the host.  
Error scan: The host can extract error information from the  
scan port by setting all XS lines to logical '1' simultaneously.  
The part then returns a high level on any YS lines  
corresponding to Y matrix lines having key errors. Thus a  
single YS bit, if high, could indicate errors on any or all of 4  
keys. Errors are reported for the following conditions:  
a. Key(s) are currently recalibrating  
b. Key(s) tried to calibrate 5 times and failed each time  
c. Key(s) signal references are under- or over- limit  
It is not possible to determine the cause of the error or  
specific key(s) in error via the parallel scan port.  
4.8 Eeprom Corruption  
The device stores its Setup data in an internal eeprom which  
can be readily altered via Put mode commands. Sometimes  
noise on Vdd, the SPI lines or Reset pin can cause eeprom  
corruption which can be difficult or inconvenient to correct.  
The device should always be left in Get mode to prevent  
spurious commands from corrupting the eeprom. The Get  
command should ideally be repeated every second or so to  
ensure that if noise on the SPI lines causes a false Put mode  
command that it does not last long. Preferably, the l’  
command (lowercase L) should be used to verify that the Put  
command has succeeded.  
Flash backup: The part backs up the entire eeprom array  
into onboard Flash rom after one or more Setup write  
commands have been issued and the part is then reset.  
During normal operation the part constantly compares the  
Flash area with the eeprom array to ensure the two sections  
match. If an eeprom error is detected, the device sets an  
error flag (bit 4) in the general device status byte (Command  
7, page 19) which can be read by the host device. The LED  
output also becomes active. If the bit 4 error flag is set, the  
host should immediately induce a device reset.  
Bit 4 is also set if an intentional write has been made to  
eeprom, but not yet copied into Flash via the reset process. It  
is perfectly acceptable to continue altering any number of  
Setup parameters prior to doing the reset, ignoring this bit.  
During power up or after a reset, the device compares the  
Flash area with eeprom, and if there is a discrepancy the  
eeprom is refreshed from Flash, unless an intentional write  
was detected in which case the Flash is updated from the  
lQ  
16  
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
5.1 Put / Get Direction Commands  
5 Commands & Functions  
Setup commands can be used to either send control  
information to the part for programming into its internal  
eeprom, or to extract the current setting of this information.  
The same Setup function can do either. To accomplish this  
the device relies on direction control via the Get and Put  
commands. In Get mode, a Setup command will return  
information. In Put mode, the behavior of the device is  
altered, and often a second operand byte must be sent.  
The command structure is designed to minimize control and  
data traffic. All repetitive data and status commands from the  
host are single-byte, and most commands result in single-  
byte device responses. Behavioral setup commands involve  
multiple bytes but these are infrequently used.  
Special 'scope' commands exist to restrict subsequent  
commands to a specific key or range of keys. This control  
structure permits most matrix keys, which are usually  
identical in shape and size, to be programmed 'in bulk' using  
a 'global' scope command, followed by a scope restriction to  
specific key(s), followed by more key programming, to  
prevent the need for tedious key-by-key programming across  
an entire matrix.  
The powerup or reset default mode is Get. The current  
Get/Put mode persists until countermanded by a different  
Get/Put command or until the device is reset or powered off.  
It is advisable to use Put mode only when actually writing  
Setups to the device, which will happen infrequently; the part  
should normally be left in Get mode. Get mode acts as a lock  
to prevent accidental changes to the internal eeprom.  
There are four types of commands:  
Direction - Determine whether subsequent commands are  
used to get data from or put data to the part;  
Multiple direction commands of the same type (g, g, g, g ...)  
are harmless and can be used to insure that the part does not  
accidentally enter Put mode for a prolonged period, for  
example due to noise glitches on the SPI lines. The 'g'  
command can be repeated every few seconds.  
Scope - Restrict the range of effect of subsequent  
commands to a specific set of keys;  
Status - Cause the part to respond with key information,  
such as detections, signals, error codes, and the like;  
g
0
X
67 - GET  
Scope  
n/a  
C
OMMAND  
Setup - Modify functionality such as burst length, threshold  
levels, drift compensation characteristics, etc.  
Bytes / Cmd 2nd Byte Range  
Returns  
0x67  
n/a  
Put  
Get  
1
n/a  
n/a  
n/a  
Supervisory - Special functions such as diagnostics,  
calibration, etc. which affect the part as a whole.  
n/a  
Lowercase 'G'. The 'g' command causes the device to treat all  
subsequent Setup commands as 'Gets'; after, when a Setup  
command is received from the host the part will respond by  
sending back the current status of that Setup parameter.  
All command types can be intermixed. Even during normal  
device operation it is possible to use Setup and Supervisory  
functions to alter key behavior on the fly. There is no special  
'setup mode'.  
The 'g' command is always single-byte and echoes back  
itself.  
Get/Put, Scope, and many Supervisory functions are volatile  
and do not persist after a power down or reset cycle. Some  
Supervisory commands require that the part be reset in order  
for the new settings to take effect.  
p
0
X
70 - PUT  
Scope  
n/a  
C
OMMAND  
Bytes / Cmd 2nd Byte Range  
Returns  
0x70  
n/a  
Note that the Setup functions write to eeprom and require  
extra time for a response back to the host. Also note that as  
with all eeprom memories there is a recommended lifetime  
limit to the number of writes; this limit is 100,000 cycles.  
Put  
Get  
1
n/a  
n/a  
n/a  
n/a  
Lower case 'p'. The 'p' command causes the device to treat  
all subsequent Setup commands as 'Puts'; after, when a  
2-byte Setup command is received from the host the part will  
respond by programming in the desired parameter for the  
key(s) which are affected.  
Command functions are summarized in Section 5-6.  
It is highly advised to test the device checksum  
(command ‘6’, page 18) or individual settings or the  
general device status (‘7’) once Setups have been  
programmed into the part, each time the part is powered  
up and periodically while running.  
The 'p' command is always single-byte and echoes back  
itself.  
The part backs up all eeprom locations into Flash, from  
which data is restored automatically following a reset if  
eeprom corruption is detected. The part should also be  
reset after any Put command(s) in order to force the copy  
of eeprom data into Flash. See Section 4.8.  
lQ  
17  
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
5.2 Scope Commands  
5.3 Status Commands  
Status commands cause the sensor to report back  
information related to keys and their signals.  
The host should always set the scope parameter when  
initializing the part during normal operation as well as during  
setup. Scope commands are persistent and apply to all  
subsequent functions that are affected by scope, until a  
different scope command is issued. On powerup or after reset  
the device defaults to scope = 'all keys'.  
It is not necessary to set the part to Get mode with these  
commands, although it is advised to leave the part in Get  
mode as a normal precaution (see Section 5.1)  
Many functions only address one key regardless of the  
current scope; in these cases the key being addressed is  
always the key last set by the sor xand ycommands. If  
the scommand was last set to key 9, then even though the  
Scommand was issued afterwards the one-key scope will  
remain key 9. Similarly if xwas set to 2 and yto 3, then  
the one-key scope will remain key x=2 / y=3 (key #14). This  
rule operates for either Put or Get commands.  
0
0
X
30 - SIGNAL FOR  
S
Bytes / Cmd # Bytes Rtnd  
INGLE  
K
EY  
Scope  
n/a  
Returns  
n/a  
0..0xFFFF  
Put  
Get  
n/a  
1
n/a  
2
1
Numeric '0'. Returns the signal level in 16-bit unsigned binary  
for one key whose location is determined by scope. The least  
significant byte is returned first.  
Key numbering convention: The numbering of keys goes by  
row then column. For example, the key in row X=3, column  
Y=1 (X3Y1) is key 7. The formula for conversion of an X-Y  
location to a key number is:  
Note that the signal direction is inverted: decreasing values  
correspond to more touch due to the physics of key detection  
described in Section 1.1.  
key number = X_row + (Y_column x 4)  
1
0
X
31 - DELTA  
S
IGNAL FOR  
S
Bytes / Cmd # Bytes Rtnd  
INGLE  
K
EY  
Scope  
n/a  
Returns  
n/a  
0x00..0xFF  
Row and column numbers are per Fig. 1-5. Keys are acquired  
in this same burst sequence, i.e. X0Y0, X1Y0, X2Y0 etc.  
Put  
Get  
n/a  
1
n/a  
1
1
s
0
X
73 - SPECIFIC  
K
Bytes / Cmd 2nd Byte Range  
EY  
S
COPE  
Numeric '1'. Returns the value {Reference - Signal} in  
unsigned 8-bit binary for one key whose location is  
determined by scope. If Signal > Reference, the result is  
truncated to zero. The return value is also limited to 255  
(0xFF).  
Scope  
n/a  
n/a  
Returns  
0x73  
n/a  
Put  
Get  
2
n/a  
0x00..0x0F  
n/a  
Lowercase 'S'. Targets a specific individual key for all further  
functions that are affected by scope. The second byte must  
contain a binary key number from 0..15.  
Increasing amounts of this value correspond to increasing  
amounts of touch as the sign of signal is inverted (see 0x30  
above).  
S
0
X
53 - ALL  
Scope  
n/a  
K
EYS  
S
Bytes / Cmd 2nd Byte Range  
COPE  
Returns  
0x53  
n/a  
2
0
X
32 - REFERENCE  
V
Bytes / Cmd # Bytes Rtnd  
ALUE  
Put  
Get  
1
n/a  
n/a  
n/a  
Scope  
n/a  
Returns  
n/a  
0..0xFFFF  
n/a  
Put  
Get  
n/a  
1
n/a  
2
1
Uppercase 'S'. Addresses all keys in the matrix for all further  
functions that can target a group of keys.  
Numeric '2'. Returns the Reference value in unsigned 16-bit  
binary for one key whose location is determined by scope.  
The least significant byte is returned first.  
x
0
X
78 - ROW  
Scope  
n/a  
K
EYS  
S
Bytes / Cmd 2nd Byte Range  
COPE  
Returns  
0x78  
n/a  
Put  
Get  
2
n/a  
0x00..0x03  
n/a  
5
0
X
35 - DETECTION  
I
Bytes / Cmd # Bytes Rtnd  
NTEGRATOR  
C
OUNTS  
n/a  
Scope  
n/a  
Returns  
n/a  
0x00..0xFF  
Put  
Get  
n/a  
1
n/a  
1
Lowercase 'X'. Targets keys in a specific row for functions  
that can address key groups. The second byte must contain a  
row number from 0..3.  
1
Numeric '5'. Returns the Detection Integrator counter value  
for one key whose location is determined by scope. This  
function is useful primarily for circuit diagnostics.  
y
0
X
79 - COLUMN  
K
Bytes / Cmd 2nd Byte Range  
EYS  
S
COPE  
Scope  
n/a  
n/a  
Returns  
0x79  
n/a  
Put  
Get  
2
n/a  
0x00..0x03  
n/a  
6
0
X
36 - EEPROM  
CHECKSUM  
Bytes / Cmd # Bytes Rtnd  
Scope  
n/a  
n/a  
Returns  
n/a  
0x00..0xFF  
Put  
Get  
n/a  
1
n/a  
1
Lowercase 'Y'. Targets keys in a specific column for functions  
that can address key groups. The second byte is a binary  
column number from 0..3.  
Numeric '6'. Returns the entire eeprom checksum. This  
function is useful primarily for diagnostics and should  
periodically be used to check for valid eeprom contents.  
The checksum should be computed when the entire device's  
settings, including the locked reference levels ('L' command)  
are known. The host can then periodically test the checksum  
to validate eeprom integrity. If needed, the eeprom can then  
lQ  
18  
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
be reprogrammed by the host or the device can be reset to  
allow the eeprom to be updated from Flash memory (see  
Section 4.8).  
"
0
X
22 - REFERENCE  
L
Bytes / Cmd # Bytes Rtnd  
EVELS FOR  
G
ROUP  
Scope  
n/a  
4, 16  
Returns  
n/a  
0..0xFFFF  
Put  
Get  
n/a  
1
n/a  
8 or 32  
The checksum is a simple 8-bit carry fold-back type. Changes  
to multiple Setups can generate identical checksums.  
Changes to one location only will always produce a different  
checksum. An identical change to 2, 4, 8, or all 16 keys is  
more prone to generating an identical checksum. A unique  
checksum can be obtained again by altering any Setup for  
another key (i.e. an unused key) to be different.  
Double quote character. Same function as 0x32 above except  
returns a group response for 4 or 16 keys depending on  
scope. If no group scope has been selected, returns data for  
all 16 keys (32 bytes).  
%
0
X
25 - DETECT  
I
NTEGRATOR  
C
Bytes / Cmd # Bytes Rtnd  
OUNTS FOR  
G
ROUP  
After any Setups change, the checksum will not be valid until  
after the device has been reset.  
Scope  
n/a  
4, 16  
Returns  
n/a  
0x00..0xFF  
Put  
Get  
n/a  
1
n/a  
4 or 16  
Note that the status byte returned by the 7command  
contains a bit that is set if there is an error in eeprom data;  
this feature operates independently of the checksum  
command.  
Percent character. Same function as 0x35 above except  
returns a group response of 4 bytes (Scope = row or column)  
or 16 bytes (Scope = 'All keys'). If no group scope has been  
selected, returns data for all 16 keys.  
There is no put version of the command.  
7
0
X
37 - GENERAL  
D
Bytes / Cmd # Bytes Rtnd  
EVICE  
S
TATUS  
e
0
X
65 - ERROR  
C
ODE FOR  
S
Bytes / Cmd # Bytes Rtnd  
ELECTED  
K
EY  
Scope  
n/a  
n/a  
Returns  
n/a  
0x00..0x1F  
Scope  
n/a  
Returns  
n/a  
0x00..0x0F  
Put  
Get  
n/a  
1
n/a  
1
Put  
Get  
n/a  
1
n/a  
1
1
Section 2.11, p. 7  
Section 2.11, p. 7  
Numeric '7'. Returns the part's general status byte which is a  
4-bit pattern as follows:  
Lowercase 'E'. Returns the error byte for a selected key  
defined by the 's' command. A 4-bit pattern is returned:  
Bit 0: 1= one or more keys are in detection  
Bit 1: 1= one or more keys are recalibrating  
Bit 2: 1= one or more keys are reporting errors  
Bit 3: 1= sync fail; the part is not synchronized to an  
external source (if in that mode; see Section 3.14).  
Bit 4: 1 = Eeprom / Flash contents discrepancy  
b7  
u
b6  
u
b5  
u
b4  
u
b3  
L
b2  
H
b1  
R
b0  
F
F: 1= failed last full recalibration attempt  
R: 1= key is in process of full recalibration  
H: 1= key reference is high (above normal bounds)  
L: 1= key reference is low (below normal bounds)  
u: undefined  
Higher bits report as 0's and are not used.  
This command can be used as a general 1-byte status  
response; if one or more bits are set, the host can take  
further relevant action to narrow down the specific issue, such  
as which key is being touched or in error, via other  
commands.  
Refer also to Section 2.10.  
F, Bit 0 is set if it failed to calibrate properly during a forced  
recalibration. The sensor will automatically make 5 sequential  
attempts at recalibration before setting this flag.  
R, Bit 1 is set if the key is in the process of a full  
recalibration. When bit 1 is set, bits 2 and 3 are cleared.  
<
SP> 0  
X
20 - SIGNAL  
L
Bytes / Cmd # Bytes Rtnd  
EVELS FOR  
G
ROUP  
Scope  
n/a  
4, 16  
Returns  
n/a  
0..0xFFFF  
H, Bit 2 when set indicates that the key's reference level has  
exceeded the upper boundary described in Section 2.8 and  
as defined by Command ^N (page 23).  
Put  
Get  
n/a  
1
n/a  
8 or 32  
Space character. Same function as 0x30 above except  
returns a group response for 4 keys (if Scope = row or  
column) or 16 keys (if Scope = 'all keys'). If no group scope  
has been selected, returns data for all keys (32 bytes).  
L, Bit 3 when set indicates that the key's reference level falls  
below the lower boundary described in Section 2.8 and as  
defined by Command ^O (page 23).  
If either H or L are set, it means that the key is probably  
defective.  
Two bytes are returned for each key; the least significant byte  
is always returned first.  
!
0
X
21 - DELTA  
Scope  
n/a  
S
IGNALS FOR  
G
Bytes / Cmd # Bytes Rtnd  
ROUP  
Returns  
n/a  
0x00..0xFF  
Put  
Get  
n/a  
1
n/a  
4 or 16  
4, 16  
Exclamation character. Same function as 0x31 above except  
returns a group response for 4 or 16 keys depending on  
scope. If no group scope has been selected, returns data for  
all 16 keys (16 bytes). The values returned are limited to the  
range 0..255.  
lQ  
19  
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
0x4B - Key Touch Reporting for Group  
E
0
X
45 - ERROR  
C
ODES FOR  
G
Bytes / Cmd # Bytes Rtnd  
ROUP  
K
Scope  
n/a  
1, 4, 16  
Bytes / Cmd # Bytes Rtnd  
Returns  
n/a  
0x00..0xFF  
Scope  
n/a  
1, 4, 16  
Returns  
n/a  
0x00..0xFF  
Put  
Get  
n/a  
1
n/a  
1 or 4  
Put  
Get  
n/a  
1
n/a  
1 or 4  
Section 2.11, p. 7  
Section 2.11, p. 7  
Uppercase 'K'. Returns 1 or 4 bytes depending on the current  
scope. The byte(s) returned contain a bit pattern which  
indicates touched keys. A scope of a single key, a row or a  
column will return one byte. A scope of all keys will return 4  
bytes.  
Uppercase 'E'. Returns general error codes for a range of  
keys defined by scope. Returns either 1 or 4 bytes depending  
on whether a single key, row, column, or entire matrix are  
selected.  
The bitfields for single key scope are the same as for 'e'  
above.  
The bitfields for a single key are:  
b7  
-
b6  
-
b5  
-
b4  
-
b3  
-
b2  
-
b1  
-
b0  
key  
The bitfields for a single row (X) are:  
b7  
-
b6  
-
b5  
-
b4  
-
b3  
Y3  
b2  
Y2  
b1  
Y1  
b0  
Y0  
The bitfields for a single row (scope is X) are:  
b7  
-
b6  
-
b5  
-
b4  
-
b3  
Y3  
b2  
Y2  
b1  
Y1  
b0  
Y0  
The bitfields for a single column (Y) are:  
b7  
-
b6  
-
b5  
-
b4  
-
b3  
X3  
b2  
X2  
b1  
X1  
b0  
X0  
The bitfields for a single column (scope is Y) are:  
b7  
-
b6  
-
b5  
-
b4  
-
b3  
X3  
b2  
X2  
b1  
X1  
b0  
X0  
The bitfields for a global response are:  
b7  
-
b6  
-
b5  
-
b4  
-
b3  
b2  
X3Y0 X2Y0 X1Y0 X0Y0  
b1  
b0  
The bitfields for a global report are:  
byte1  
byte2  
byte3  
byte4  
3
2
1
0
b7  
-
b6  
-
b5  
-
b4  
-
b3  
b2  
X3Y0 X2Y0 X1Y0 X0Y0  
b1  
b0  
X3Y1 X2Y1 X1Y1 X0Y1  
-
-
-
-
-
-
-
-
-
-
-
-
byte1  
byte2  
byte3  
byte4  
7
6
5
4
3
2
1
0
X3Y2 X2Y2 X1Y2 X0Y2  
11 10  
X3Y3 X2Y3 X1Y3 X0Y3  
15 14 13 12  
X3Y1 X2Y1 X1Y1 X0Y1  
-
-
-
-
-
-
-
-
-
-
-
-
9
8
7
6
5
4
X3Y2 X2Y2 X1Y2 X0Y2  
11 10  
X3Y3 X2Y3 X1Y3 X0Y3  
15 14 13 12  
9
8
Byte 1 is the first returned byte in the sequence.  
In all the above examples a '1' in a bit position indicates that  
there is some type of error associated with the key. The use  
of the 'e' command (or 'E' with scope set to a specific key) will  
specify the nature of the error.  
Byte 1 is the first returned byte in the sequence.  
In all the above examples a '1' in a bit position indicates that  
the key is touched; a '0' indicates no touch.  
k
0
X
6B - REPORTING OF  
F
Bytes / Cmd  
IRST  
T
OUCHED  
K
#Bytes Rtnd  
EY  
Scope  
n/a  
n/a  
Returns  
n/a  
0x00..0xFF  
Put  
Get  
n/a  
1
n/a  
1
Section 2.11, p. 7  
Lowercase 'K'. Returns a byte that indicates which (if any) key  
has been touched. The byte is structured as follows:  
b7  
m
b6  
-
b5  
-
b4  
-
b3  
k3  
b2  
k2  
b1  
k1  
b0  
k0  
Bits are used as follows:  
m - if '1', indicates that yet another key is active  
k0..k3 - indicates the key number of a first detected key,  
in the range 0..15 (0x00..0x0F).  
If a reported key drops out while other keys are active, 'k' will  
report one of the other active keys, but there is no rule for  
which of the next keys gets reported in k0..k5.  
If the byte returned has a value of 255 (0xFF), then no key  
has been detected.  
lQ  
20  
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
high, the key will still recover by means of the drift  
compensation process, albeit more slowly.  
5.4 Setup Commands  
Setup functions are those that alter the behavior a key or a  
group of keys. The setups are programmed into eeprom  
locations in the part and ordinarily do not need to be  
reprogrammed once set. However it is possible to change a  
setup while the device is in normal operation without  
interrupting the sensing function of the part.24  
^C 0  
X
03 - NEGATIVE  
T
HRESHOLD  
H
Bytes / Cmd Byte 2 Range  
YSTERESIS  
Scope  
16  
16  
Returns  
0x03  
0x01..0x03  
Put  
Get  
2
1
0x01..0x03  
n/a  
Section 2.3, p. 5  
Setup functions alter the internal eeprom, and this requires a  
much longer time to complete than other commands; see  
Table 4-1.  
Ctrl-C. In Put mode, the command followed by a setting is  
programmed into eeprom for all keys only. The value should  
be from 0 to 3, representing hysteresis as follows:  
Setup 'put' commands become effective immediately after the  
echo response of the command byte unless otherwise noted;  
some setups require that the key(s) being altered be  
recalibrated with the 'b' command (page 24) before they take  
effect.  
0: 50%  
1: 25%  
2: 12.5%  
3: 0% (no hysteresis)  
Values other than the above will be rounded down.  
^A 0  
X
01 - NEGATIVE  
D
ETECT  
T
Bytes / Cmd Byte 2 Range  
HRESHOLD  
The percentage is the distance from the threshold level to the  
reference level. The hysteresis level is always closer to the  
threshold point than to the reference point. 25% is a  
reasonable value under most conditions.  
Scope  
1, 4, 16  
1
Returns  
0x01  
0x04..0x40  
Put  
Get  
2
1
0x04..0x40  
n/a  
Section 2.1, p. 5  
As this parameter is common to all keys, Put and Get  
operations send or return only one byte.  
Ctrl-A. In Put mode, the command followed by a setting is  
programmed into eeprom for the key(s) affected by scope.  
^D 0  
X
04 - POSITIVE  
T
HRESHOLD  
H
Bytes / Cmd Byte 2 Range  
YSTERESIS  
1, 4, or 16 keys may be affected. Valid decimal values are:  
Scope  
16  
16  
Returns  
0x04  
0x01..0x03  
4
5
6
17 20 25 30 35 45 55 64  
7
8
10 12 15  
Put  
Get  
2
1
0x01..0x03  
n/a  
Values other than the above will be rounded down.  
Section 2.3, p. 5  
In Get mode, the command will return a single byte according  
to the current scope rules (Section 5.2).  
Ctrl-D. Identical in operation to ^C above except this applies  
to positive 'detections' used to recalibrate the sensor (see ^B  
above for details). Uses same hysteresis values as ^C above.  
This controls key sensitivity by setting the counts of signal  
delta needed to cause a detect. Higher = less sensitive.  
Numbers should be 6 or greater under most conditions to  
reduce the probability of noise detection. Numbers greater  
than 20 indicate that the burst length is probably too high.  
This setup interacts with Burst Length (^F).  
^F 0  
X
06 - BURST  
Scope  
1, 4, 16  
1
L
ENGTH  
Bytes / Cmd Byte 2 Range  
Returns  
0x06  
0x00..0x40  
Put  
Get  
2
1
0x00..0x40  
n/a  
^B 0  
X
02 - POSITIVE  
D
ETECT  
T
Bytes / Cmd Byte 2 Range  
HRESHOLD  
Section 3.5, p. 8  
Scope  
1, 4, 16  
1
Returns  
0x02  
0x04..0x40  
Ctrl-F. In Put mode the command sets the burst length of one  
or more keys, according to the current scope. Valid decimal  
values are:  
Put  
Get  
2
1
0x04..0x40  
n/a  
Section 2.2, p. 5  
0
1
2
3
4
5
12 15 20 25 30 40 50 64  
7
10  
Ctrl-B. In Put mode, the command followed by a setting is  
programmed into eeprom for the key(s) affected by scope. 1,  
4, or 16 keys may be affected. Valid decimal values are:  
Values other than the above will be rounded down.  
In Get mode, the command will return a single byte according  
to the current scope rules (Section 5.2).  
4
5
6
7
17 20 25 30 35 45 55 64  
8
10 12 15  
^F sets the length of the acquisition burst on a key by key  
basis. This setting is directly proportional to signal gain. This  
setup interacts with Negative and Positive Threshold (^A and  
^B). Increasing ^F can allow for higher threshold levels and  
more robust signals, at the expense of increased radiated  
emissions and reduced Cx load capacity.  
Values other than the above will be rounded down.  
In Get mode, the command will return a single byte according  
to the current scope rules (Section 5.2).  
This setup controls the ability of a key to recalibrate quickly  
should the signal transition positive quickly, as when a touch  
is prolonged enough to cause a recalibration, and when the  
key is then 'untouched'. This condition can also be caused by  
a foreign object being removed from a key. The value should  
normally be set between 6 and 10 counts. If the value is very  
Special condition: If the value for ^F for a key is set to zero  
the burst disabled and the key will not function; the key will  
report back with an error code. The timing for the 'phantom  
burst' will be preserved so that overall key scan timing will  
remain unchanged.  
lQ  
21  
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
^G 0  
X
07 - BURST  
SPACING  
Bytes / Cmd Byte 2 Range  
^I 0  
X
09 - POSITIVE  
D
Bytes / Cmd Byte 2 Range  
RIFT  
C
OMPENSATION  
R
ATE  
Scope  
16  
16  
Returns  
0x07  
0x00..0x02  
Scope  
1, 4, 16  
1
Returns  
0x09  
0x01..0x64  
Put  
Get  
2
1
0x00..0x02  
n/a  
Put  
Get  
2
1
0x01..0x64  
n/a  
Section 3.8, p. 9  
Section 2.4, p. 5  
Ctrl-G. In Put mode, sets the spacing between successive  
acquire bursts for the entire matrix.  
Ctrl-I. Same as ^H above in all respects, except operates  
only when the signal is positive with respect to the reference  
level, i.e. in an abnormal direction. It is usually desirable to  
set this rate much faster than for ^H, i.e. to a lower number.  
Valid decimal values are:  
The second byte indicates the spacing to be set according to  
the following table:  
0: 500µs (0.5ms)  
1: 1000µs (1ms)  
2: 2000µs (2ms)  
1
15  
2
20  
3
25  
4
33  
6
45  
8
60  
10 12  
75 100  
Values higher than 2 will be truncated to 2.  
Values other than the above will be rounded down.  
Values of 4 to 10 (0.4 to 1.0 secs/count) are considered  
Longer delay times equate to slower matrix scanning. At  
lower delay times (faster rep rates) there can be conflicts with suitable for most systems.  
long burst lengths and long conversion times which will  
Positive drift compensation continues to operate even if the  
signal has exceeded the positive threshold.  
prevent proper operation; see also Section 3.6, and Section  
5.7.  
Burst spacing also affects recalibration time; see Section  
2.10.  
^J 0x0A - NEGATIVE  
D
ETECT  
I
NTEGRATOR  
L
Bytes / Cmd Byte 2 Range  
IMIT  
Scope  
1, 4, 16  
1
Returns  
0x0A  
0x00..0xFF  
Put  
Get  
2
1
0x00..0xFF  
n/a  
The scope for this function is always 'all keys'.  
^H 0  
X
08 - NEGATIVE  
D
RIFT  
C
Bytes / Cmd Byte 2 Range  
OMPENSATION  
R
ATE  
5
Section 2.6, p. 6  
Scope  
1, 4, 16  
1
Returns  
0x08  
0x01..0x64  
Ctrl-J. In Put mode, sets the detection integration limit for  
one or more keys according to scope.  
Put  
Get  
2
1
0x01..0x64  
n/a  
The unit of measure is a burst, i.e. a setting of 5 means that a  
detection must be sensed 5 bursts in sequence. A burst for a  
Ctrl-H. In Put mode, sets the rate of drift compensation used key occurs once every complete matrix scan. The second  
Section 2.4, p. 5  
during periods of non-detection, in the negative signal  
direction. Valid decimal values are:  
byte must be one of the following values (shown in decimal):  
0
1
2
3
5
20 32 45 60 90 123 175 255  
7
10 15  
1
15  
2
20  
3
25  
4
33  
6
45  
8
60  
10 12  
75 100  
Values other than the above will be rounded down.  
Values other than the above will be rounded down.  
In Get mode, the command will return a single byte according  
to the current scope rules (Section 5.2).  
These numbers correspond to the amount of drift  
compensation applied, in 100ms/count of reference change,  
for signals which are negative with respect to the reference  
level, i.e. in the same direction as legitimate detections.  
Higher numbers equate to slower drift compensation.  
Overcompensation (too fast) can result in the suppression of  
legitimate detections. Under-compensation can result in  
inadequate compensation for rapid environmental changes.  
Values of 15 to 45 (1.5 to 4.5 secs/count) are considered  
normal under most conditions.  
This setup can be used as a noise filter, or as a mechanism  
to intentionally slow down key reaction time in order to require  
a long user touch.  
Special condition: If the value for ^J is set to zero the key is  
disabled, but the burst for the key is still generated.  
Drift compensation does not occur while the signal has  
passed below the negative threshold level or subsequently  
remained below the negative hysteresis level.  
In Get mode, the command will return a single byte according  
to the current scope rules (Section 5.2).  
The scope in Put mode can be one key, a row or column, or  
all keys.  
lQ  
22  
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
Intra-burst pulse spacing controls the fundamental frequency  
ELAY  
^K 0x0B - POSITIVE  
R
ECALIBRATION  
D
of the burst and can have a strong effect on radiated  
emissions from the matrix control panel. It can also have an  
effect on susceptibility to external EMI if the external fields are  
close in periodicity to the burst spacing.  
Scope  
1, 4, 16  
1
Bytes / Cmd Byte 2 Range  
Returns  
0x0B  
0x00..0xFF  
Put  
Get  
2
1
0x00..0xFF  
n/a  
Section 2.7, p. 6  
^N 0x0E - POSITIVE  
R
EFERENCE  
E
RROR  
B
Bytes / Cmd Byte 2 Range  
AND  
Ctrl-K. In Put mode, sets the delay until recalibration, timed  
from when the signal first crosses the positive threshold.  
Scope  
16  
16  
Returns  
0x0E  
0x00..0xFF  
Put  
Get  
2
1
0x00..0xFF  
n/a  
The second byte controls the delay in 100ms increments, and  
must be one of the following valid values:  
Section 2.8, p. 6  
0
1
2
3
5
20 32 45 60 90 123 175 255  
7
10 15  
Ctrl-N. In Put mode, sets the amount of tolerable positive  
deviation in the reference level for all keys, in tenths of a  
percent, with regard to the 'locked' reference value for each  
key. The setup is global in nature and affects all keys equally.  
Values other than the above will be rounded down. As an  
example, a value of 60 will cause a 6-second delay.  
In Get mode, the command will return a single byte according  
to the current scope rules (Section 5.2).  
Valid values are from 0 to 255 decimal. The percentage  
applied is one tenth the operand's decimal value.  
Special condition: If ^K is set to zero this feature is disabled  
and the key will never auto-recalibrate on positive transitions;  
however drift compensation will still operate.  
In Get mode the function returns the current setting of ^N.  
This setup is used to define the limit of possible positive  
reference deviation with respect to a factory setting, which is  
used in turn to set an error flag for key(s) whose reference  
level rises above the designated error band. If for example  
this setting is set to 50, and the device is calibrated and  
reference levels are locked (see command 'L', Lock  
Reference Levels, page 24) into the part by the OEM, then in  
the future if the reference level of a key should rise 5% over  
its Locked reference level then the key will report back an  
error flag via commands 'e' or 'E'.  
^L 0x0C - NEGATIVE  
R
ECALIBRATION  
D
Bytes / Cmd Byte 2 Range  
ELAY  
Scope  
1, 4, 16  
1
Returns  
0x0C  
0x00..0xFF  
Put  
Get  
2
1
0x00..0xFF  
n/a  
Section 2.5, p. 6  
Ctrl-L. In Put mode, sets the delay until recalibration, timed  
from when the signal first crosses below the negative  
threshold as defined by ^A.2.5  
Guardbands can be used to detect circuit faults as well as  
extremes of temperature or moisture on the circuitry.  
The second byte represents the delay in 100ms increments,  
and must be one of the following valid values:  
Special condition: If the value is set to zero, this feature is  
disabled.  
0
1
2
3
5
20 32 45 60 90 123 175 255  
7
10 15  
^O 0x0F - NEGATIVE  
R
EFERENCE  
E
RROR  
B
Bytes / Cmd Byte 2 Range  
AND  
Scope  
16  
16  
Returns  
0x0F  
0x00..0xFF  
Values other than the above will be rounded down. As an  
example, a setting of 85 will cause delays of 6 seconds.  
Put  
Get  
2
1
0x00..0xFF  
n/a  
In Get mode the function returns a single value only; if scope  
is set to row, column, or all, only the value for the lowest  
ranking key in the group will be returned.  
Section 2.8, p. 6  
Ctrl-O. In Put mode, sets the amount of tolerable negative  
deviation in the reference level for all keys, in tenths of a  
percent, with regard to the 'locked' reference value for each  
key. The setup is global in nature and affects all keys equally.  
Special condition: If the value for ^L is set to zero this  
feature is disabled and the key will never auto-recalibrate  
after a prolonged touch.  
Valid values are from 0 to 255 decimal. The percentage  
applied is equal to the decimal value divided by 10, thus, a  
value of 20 equates to a 2% decrease (i.e. the lower  
boundary becomes 98% of the locked reference level).  
^M 0x0D - INTRA-BURST  
P
ULSE  
S
Bytes / Cmd Byte 2 Range  
PACING  
Scope  
16  
16  
Returns  
0x0D  
0x01..0x0A  
Put  
Get  
2
1
0x01..0x0A  
n/a  
In Get mode the function returns the current setting of ^M.  
Section 3.7, p. 9  
This setup is identical in nature to ^N except that it governs  
negative reference deviations.  
Ctrl-M. In Put mode, sets the amount of time between  
individual pulses in a burst.  
Special condition: If the value is set to 0, this feature is  
disabled.  
The second byte must be in the range of 1 to 10 decimal;  
other values will be ignored. The setting applies to all keys.  
The value corresponds to the timing between pulses within a  
burst, in microseconds. For example, a setting of 5 will set the  
pulse spacing to 5 microseconds.  
In Get mode the function returns the current value of ^M.  
lQ  
23  
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
^P 0x10 - ADJACENT  
K
EY  
S
Bytes / Cmd Byte 2 Range  
UPPRESSION (‘AKS’)  
5.5 Supervisory / System Functions  
Scope  
1, 4, 16  
1
Returns  
0x10  
0x00, 0x01  
Supervisory functions report or control miscellaneous  
functions that affect overall chip control, testing, or  
diagnostics. All supervisory functions ignore scope except  
where noted.  
Put  
Get  
2
1
0x00, 0x01  
n/a  
Section 2.9, p. 6  
Ctrl-P. In Put mode, instructs logic for the keys specified by  
the current scope to suppress a pending touch detection  
under certain signal conditions.  
6
0
X
36 - EEPROM  
CHECKSUM  
Bytes / Cmd # Bytes Rtnd  
Scope  
n/a  
n/a  
Returns  
n/a  
0x00..0xFF  
Put  
Get  
n/a  
1
n/a  
1
Valid 2nd byte values for this function are:  
0: AKS off {default}  
1: AKS on  
See page 18.  
0x4C - LOCK  
L
R
EFERENCE  
L
EVELS  
In Get mode, the command will return a single byte according  
to the current scope rules (Section 5.2).  
Scope  
16  
n/a  
Bytes / Cmd  
2nd Byte  
0x00  
n/a  
Returns  
0x4C  
n/a  
Put  
Get  
2
n/a  
AKS functions to suppress detections from water films which  
can 'spread' a touch signal from the touched key to adjacent  
keys.  
Section 2.8, p. 6  
AKS is also useful for panels with tightly spaced keys, where  
a fingertip can partially overlap an adjacent key. This feature  
will act to suppress the signals from the unintended key(s).  
Uppercase 'L'. This is a put-only command that locks the  
reference levels of the device into eeprom for all keys, for  
boundary checking purposes over the product's life.  
AKS only operates across keys that have been AKS-enabled;  
signal strength comparisons are not made with non-  
AKS-enabled keys.  
The whole command 'L' followed by a null (0x00) - must be  
received within 100ms without any intervening byte, or the  
command will fail. The part must be in Put mode for this  
command to work.  
Unused keys with burst lengths of zero are also ignored for  
purposes of AKS.  
The scope of this command is always 'all keys'.  
This function records to eeprom the signal reference for all  
keys. The locked reference levels are used to compute  
boundary checks immediately after the command has  
finished. The results of this command to not take effect until  
the part has been reset.  
Due to the large number of bytes written to eeprom by this  
command, there is a significant delay from the second byte  
until the return echo is sent back to the host.  
This command should be used only during production. There  
is no get version of the command.  
b
0x62 - RECALIBRATE  
K
Bytes / Cmd  
EYS  
Scope  
1, 4, 16  
n/a  
2nd Byte  
n/a  
n/a  
Returns  
0x62  
n/a  
Put  
Get  
1
n/a  
Section 2.10, p. 7; Section 3.13.  
Lowercase 'B'. This is a put-only command that causes the  
keys selected by scope to recalibrate. The part must be in Put  
mode for this command to work.  
The return byte is sent before the keys have calibrated. While  
keys are in recalibration, status of the keys can be  
determined using the 'e' or 'E' commands.  
If 'b' is sent while key(s) are already in the middle of  
recalibration, the affected key(s) will abandon the old  
calibration cycle and start a new one.  
There is no get version of the command.  
lQ  
24  
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
null (0x00) within 100ms or the command will fail. The part  
HARACTER  
l
0x6C - RETURN  
Scope  
L
AST  
C
Bytes / Cmd  
OMMAND  
C
must be in Put mode for this command to work.  
# Bytes Rtnd  
Returns  
n/a  
0x00..0xFF  
Put  
Get  
n/a  
n/a  
n/a  
1
n/a  
1
The command returns 0x5A immediately before going to  
sleep, and a second 0x5A upon waking up.  
If for some reason the device is unable to transmit the first  
return ‘Z’ character back to the host, for example due to the  
host not releasing the SS line, the part will completely reset  
after about 2 seconds.  
Lowercase 'L'. This get-only command reports back with the  
value of the prior command received by the part. The  
command also reports back any erroneous commands,  
allowing the host device to verify that a command was  
correctly received.  
The part will reawaken after a logic low is detected for 10µs  
on pin 11 (RSTpin, see Section 3.11). The device then  
sends a second ‘Z’ back to the host, and resumes from its  
prior state before it went to sleep without the need for  
recalibration. The device resumes in Get mode only.  
If this command is repeated, the second and subsequent  
instances of 'l' will report back with 0x6C.  
There is no put version of the command.  
There is no get version of the command.  
r
0x72 - RESET  
Scope  
D
EVICE  
Bytes / Cmd  
2nd Byte  
0x00  
n/a  
Returns  
0x72  
n/a  
^Q 0x11 - DATA  
Scope  
R
ATE  
S
Bytes / Cmd 2nd Byte Range  
ELECTION  
Put  
Get  
n/a  
n/a  
2
n/a  
Returns  
0x11  
0x00..0x04  
Put  
Get  
n/a  
n/a  
2
1
0x00..0x04  
n/a  
Section 3.11, p. 9  
Lowercase 'R'. This put-only command hard-resets the part.  
The command 0x72 must be followed by a null (0x00) within  
100ms or the command will fail. The part must be in Put  
mode for this command to work.  
Section 4, p. 11  
Ctrl-Q. This is a put-only command that sets the UART baud  
rate and the SPI clock rate. All timings assume a 12MHz  
oscillator. The part must be in Put mode for this command to  
work.  
A reset occurs about 16ms after the echo byte 0x72 is  
transmitted back to the host. The part will resume  
communication and sensing in accordance with the timing  
shown in Section 3.13.  
SPI Settings -  
The acceptable values of the operand for SPI use are:  
If for some reason the part is unable to send back the echo  
character 0x72, the command will fail.  
0: 93.75 kHz  
1: 187.5 kHz  
2: 750 kHz  
3: 3 MHz  
There is no get version of the command.  
V
0x56 - RETURN  
P
ART  
V
Bytes / Cmd  
ERSION  
These values define the maximum SPI clock rate in Master  
mode (part originates the clock).  
Scope  
# Bytes Rtnd  
Returns  
n/a  
0x00..0xFF  
Put  
Get  
n/a  
n/a  
n/a  
1
n/a  
1
Note that when the part is receiving data, the host can send  
to the device at rates up to 3MHz even if the rate setting of ^Q  
is slower.  
Uppercase 'V'. This get-only command returns the part  
version number.  
Refer to Sections 4.3 and 4.4 for SPI timing details.  
There is no put version of the command.  
New settings do not become effective until the device has  
been powered off and back on again or after the reset (r)  
command.  
W
0x57 - RETURN  
P
ART  
S
Scope Bytes / Cmd # Bytes Rtnd  
IGNATURE  
Returns  
n/a  
0x10  
Put  
Get  
n/a  
n/a  
n/a  
1
n/a  
1
UART Settings -  
The acceptable values of the operand for UART use are:  
Uppercase 'W'. This get-only command returns the part  
signature as follows:  
0: 9600 baud  
1: 14400 baud  
2: 19200 baud  
3: 38400 baud  
4: 57600 baud  
0x10  
(16 decimal)  
There is no put version of this command.  
There is no get version of this function.  
Refer to Section 4.5for UART details.  
Z
0x5A - ENTER  
Scope  
SLEEP  
Bytes / Cmd  
2nd Byte  
0x00  
n/a  
Returns  
*0x5A, 0x5A  
n/a  
Put  
Get  
n/a  
n/a  
2
n/a  
New settings do not become effective until the device has  
been powered off and back on again or after the reset (r)  
command.  
Section 3.14, p. 9  
Uppercase 'Z'. This put-only command forces the device to  
enter sleep mode. The command 0x5A must be followed by a  
lQ  
25  
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
^R 0x12 - OSCILLOSCOPE  
S
Bytes / Cmd 2nd Byte Range  
YNC  
Scope  
1, 4, 16  
1, 4, 16  
Returns  
0x12  
0x00, 0x01  
Put  
Get  
2
1
0x00, 0x01  
n/a  
Section 3.16, p. 11  
Ctrl-R. In Put mode, controls the oscilloscope sync function  
of Pin 43. The settings of this function are:  
0: off {factory default}  
1: on  
When on, Pin 43 outputs a pulse that brackets the acquire  
burst(s) for the keys targeted by scope. Without this it is  
virtually impossible to view signals on an oscilloscope  
corresponding to a specific key.  
Pin 43 idles low and pulses high during a sync pulse.  
^R is volatile, that is, it does not persist after a power down.  
^W 0x17 - NOISE  
Scope  
SYNC  
Bytes / Cmd Byte 2 Range  
Returns  
0x17  
0x00, 0x01  
Put  
Get  
-
-
2
1
0x00, 0x01  
n/a  
Section 3.14, p. 9  
Ctrl-W. In Put mode, sets whether the noise sync feature is  
enabled or disabled. The part must be in Put mode for this  
command to work.  
The settings are:  
0: off {factory default}  
1: on  
This function has global scope. The default value is 0 (off).  
In Get mode this function returns the current setting of ^W.  
The setting of ^W does not become effective until the device  
has been powered off and back on again or after the reset  
(r) command has been issued.  
lQ  
26  
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
5.6 Function Summary Table  
Put Mode  
Get Mode  
Operand  
Range  
Bytes  
Scope returned  
Return  
range  
Default  
setting  
Char Hex  
Name  
Description  
P/G Scope Bytes/Put  
Returns  
Page  
Direction Commands  
all subsequent Setup commands become 'Gets'  
all subsequent Setup commands become 'Puts’  
17  
17  
g
p
0x67  
0x70  
Get  
Put  
P
P
-
-
1
1
0x67  
0x70  
Get  
Get  
Scope Commands  
s
S
x
0x73  
0x53  
0x78  
0x79  
Set one key scope  
Set all keys scope  
targets a specific key in range 0..15  
targets all keys in the matrix  
P
P
P
P
-
-
-
-
2
1
2
2
0x00..0x0F  
0x73  
0x53  
0x78  
0x79  
18  
18  
18  
18  
undefined  
undefined  
undefined  
undefined  
Set row keys scope  
Set column keys scope  
targets keys in a designated row, range 0..3  
targets keys in a designated column, range 0..3  
0x00..0x03  
0x00..0x03  
y
Status Commands  
0
0x30  
0x31  
0x32  
0x35  
0x36  
0x37  
0x20  
0x21  
0x22  
0x25  
0x65  
0x45  
0x6B  
signal for 1 key  
delta signal for 1 key  
reference for 1 key  
Det Integrator for 1 key  
eeprom checksum  
general device status  
signals for group  
get signal strength for 1 key  
get Reference-Signal for 1 key  
get Reference level for 1 key  
get detect integrator for 1 key  
get eeprom checksum of entire eeprom  
get device status of entire device  
get signal for group  
G
G
G
G
G
G
G
G
G
G
G
G
G
G
1
2
1
0..0xFFFF  
0..0xFF  
0..0xFFFF  
0..0xFF  
0..0xFF  
0..0x1F  
18  
18  
18  
18  
18  
19  
19  
19  
19  
19  
19  
20  
20  
20  
-
-
-
-
-
-
-
-
-
-
-
-
-
-
1
1
2
1
2
0
1
-
1
6
1
7
-
1
<sp>  
4, 16  
4, 16  
4, 16  
4, 16  
1
8, 32  
4, 16  
8, 32  
4, 16  
1
0..0xFFFF  
0..0xFF  
0..0xFFFF  
0..0xFF  
0..0x0F  
!
delta signals for group  
references for group  
Det integrator for group  
error code for 1 key  
error codes for group  
report 1st key  
get Reference-Signal for group  
get References levels for group  
get detection integrators for group  
get error code for 1 key  
%
e
E
k
get error bits for group  
1, 4, 16  
-
1, 4  
-
0..0x0F  
get indication of first touched key  
get indication of all touched keys  
0..0xFF  
0..0x0F  
K
0x4B report touches for group  
1, 4, 16  
1, 4  
©Quantum Research Group Ltd.  
Put Mode  
Get Mode  
Operand  
Range  
Bytes  
Scope returned  
Return  
range  
Default  
setting  
Char Hex  
Name  
Description  
P/G Scope Bytes/Put  
Returns  
Page  
Setup Commands  
Signal threshold; fewer counts = more sensitive  
4, 5, 6, 7, 8, 10, 12, 15, 17, 20, 25, 30, 35, 45, 55, 64  
P/G  
P/G  
P/G  
P/G  
P/G  
P/G  
^A  
^B  
^C  
^D  
^F  
^G  
0x01  
0x02  
0x03  
0x04  
0x06  
0x07  
Negative threshold  
Positive threshold  
Negative hysteresis  
Positive hysteresis  
Burst length  
1, 4, 16  
1, 4, 16  
16  
2
2
2
2
2
2
0x04..0x40  
0x04..0x40  
0x00..0x03  
0x00..0x03  
0x00..0x40  
0x00..0x02  
0x01  
0x02  
0x03  
0x04  
0x06  
0x07  
1
1
1
1
1
1
1
1
0x04..0x40  
0x04..0x40  
0x0C  
0x08  
21  
21  
21  
21  
21  
22  
sensitivity to positive signals for recalibration  
4, 5, 6, 7, 8, 10, 12, 15, 17, 20, 25, 30, 35, 45, 55, 64  
hysteresis for negative threshold  
50%, 25%, 12.5%, 0%  
16  
16  
1
0x00..0x03 0x01 (25%)  
0x00..0x03 0x01 (25%)  
hysteresis for positive threshold  
50%, 25%, 12.5%, 0%  
16  
sets number of QT cycles / burst; zero disables burst  
0, 1, 2, 3, 4, 5, 7, 10, 12, 15, 20, 25, 30, 40, 50, 64  
1, 4, 16  
16  
0x01..0x40  
0x00..0x02  
0x0C  
time from start of one burst to start of next burst  
500us, 1ms, 2ms  
Burst spacing  
16  
0 (500us)  
rate of drift compensation for negative signal swings  
0.1, 0.2, 0.3, 0.4, 0.6, 0.8, 1.0, 1.2, 1.5,  
2.0, 2.5, 3.3, 4.5, 6.0, 7.5, 10 secs  
P/G  
P/G  
^H  
^I  
0x08  
0x09  
Neg drift comp rate  
Pos drift comp rate  
1, 4, 16  
1, 4, 16  
2
2
0x01..0x64  
0x01..0x64  
0x08  
0x09  
1
1
1
1
0x01..0x64  
0x01..0x64  
0x1E (3s)  
0x0A (1s)  
22  
22  
rate of drift compensation for positive signal swings  
0.1, 0.2, 0.3, 0.4, 0.6, 0.8, 1.0, 1.2, 1.5,  
2.0, 2.5, 3.3, 4.5, 6.0, 7.5, 10 secs  
number of detections required to register a touch,  
counted in bursts of detection; zero disables a key.  
0, 1, 2, 3, 5, 7, 10, 15, 20, 32,  
P/G  
P/G  
P/G  
^J  
^K  
^L  
0x0A  
0x0B  
0x0C  
Neg det int limit  
Pos recal delay  
Neg recal delay  
1, 4, 16  
1, 4, 16  
1, 8, 64  
2
2
2
0x00..0xFF  
0x00..0xFF  
0x00..0xFF  
0x0A  
0x0B  
0x0C  
1
1
1
1
1
1
0x00..0xFF  
0x00..0xFF  
0x00..0xFF  
0x03  
22  
23  
23  
45, 60, 90, 123, 175, 255 counts  
time required to trigger a recal from a positive signal  
excursion in 0.1s increments; zero disables recal.  
0, 0.1, 0.2, 0.3, 0.5, 0.7, 1.0, 1.5, 2.0, 3.2,  
4.5, 6, 9, 12.3, 17.5, 25.5 secs  
0x0A (1s)  
0x3C (9s)  
time required to trigger a recal from a detection, in 0.1s  
increments. Zero disables recal.  
0, 0.1, 0.2, 0.3, 0.5, 0.7, 1.0, 1.5, 2.0, 3.2,  
4.5, 6, 9, 12.3, 17.5, 25.5 secs  
period of QT pulses, in microseconds  
1, 2, 3, 4, 5, 6, 7, 8, 9, 10us  
P/G  
P/G  
^M  
^N  
0x0D  
0x0E  
Intra-burst spacing  
Pos error band  
16  
16  
2
2
0x01..0x0A  
0x00..0xFF  
0x0D  
0x0E  
64  
16  
1
1
0x02..0x0A  
0x00..0xFF  
0x02  
23  
23  
tolerable positive reference deviation with respect to  
Locked reference values, step 0.1%. Zero disables.  
0 (off)  
tolerable negative reference deviation with respect to  
Locked reference values, step 0.1%. Zero disables.  
^O  
^P  
0x0F  
0x10  
Neg error band  
Key suppression  
P/G  
P/G  
16  
2
2
0x00..0xFF  
0x00, 0x01  
0x0F  
0x10  
16  
1
1
1
0x00..0xFF  
0x00, 0x01  
0 (off)  
0 (off)  
23  
24  
adjacent key suppression feature; 1 = on  
1, 4, 16  
©Quantum Research Group Ltd.  
Put Mode  
Get Mode  
Operand  
Range  
Bytes  
Scope returned  
Return  
range  
Default  
setting  
Char Hex  
Name  
Description  
P/G Scope Bytes/Put  
Returns  
Page  
Supervisory Commands  
6
L
0x36  
0x4C  
Eeprom checksum  
Lock references  
returns checksum of internal eeprom  
G
-
1
0x00..0xFF  
18  
24  
-
-
locks reference levels into eeprom for future boundary  
checks. Lmust be followed by 0x00 (null) 100ms after  
the command byte  
P
16  
2
1
0x00  
0x00  
0x4C  
0x62  
fully recalibrate keys;  
b
l
0x62  
0x6C  
0x72  
Recal keys  
Return last command  
Reset device  
P
G
P
1, 4, 16  
24  
25  
25  
-
-
-
return byte is sent prior to calibration  
send back last command byte received  
-
1
0x00..0xFF  
hard reset the device. rmust be followed by a null within  
r
-
2
0x72  
100ms.  
V
0x56  
0x57  
Version  
returns part version number  
returns part signature number  
G
G
-
-
1
1
0x00..0xFF  
0x10  
25  
25  
-
-
W
Signature  
force device into Sleep mode. Zmust be followed by a  
null within 100ms. 0x5A returned before and after  
entering Sleep  
0x5A,  
0x5A  
Z
0x5A  
Sleep  
P
-
-
2
2
0x00  
25  
-
sets the Master mode SPI clock rate and UART rate;  
reset via rcommand or hard reset to take effect  
SPI: 93.75kHz, 187.5kHz, 750kHz, 3MHz  
UART: 9.6k, 14.4k, 19.2k, 38.4k, 57.6k  
0 (93.75k,  
9600)  
^Q  
0x11  
Data rate  
P/G  
0x00..0x04  
0x11  
-
1
0x00..0x04  
25  
oscilloscope sync control. 1 = on.  
^R  
0x12  
0x17  
Scope sync  
Noise sync  
P/G 1, 4, 64  
G/P  
2
2
0x00, 0x01  
0x00, 0x01  
0x12  
0x17  
-
-
1
1
0x00, 0x01  
0x00, 0x01  
0 (off)  
0 (off)  
26  
26  
feature is volatile - does not survive reset  
noise sync enable; 1 = on  
^W  
-
device must be reset to take effect  
©Quantum Research Group Ltd.  
It is important that burst spacings be verified on an  
5.7 Timing Limitations  
oscilloscope with an actual keymatrix during development to  
be certain that the device timings are preserved and are  
constant. If not, the burst length and/or pulse spacing should  
be reduced.  
The device requires processing time between bursts, as well  
as time to handle communications with the host. With short  
burst spacings, long burst lengths, and long intra-burst pulse  
spacings, the device can simply run out of available  
processing time. When this happens, burst timing and host  
communications slow down and become erratic.  
Table 5-2 Permissible Burst Lengths (BL’s)  
Cs = 4.7nF, Cx = 5pF, Rs = 180K; 100µs ramp time  
Pulse Spacing = 2µs  
Pulse Spacing = 3µs  
Pulse Spacing = 4µs  
Pulse Spacing = 5µs  
Pulse Spacing = 6µs  
Burst  
Burst  
Spacing  
500  
Burst  
Burst  
Spacing  
500  
Burst  
Max BL  
Spacing  
Max BL  
Max BL  
Spacing  
Max BL  
Max BL  
Spacing  
500  
1,000  
2,000  
64  
64  
64  
64  
64  
64  
500  
1,000  
2,000  
50  
64  
64  
40  
64  
64  
500  
1,000  
2,000  
30  
64  
64  
1,000  
2,000  
1,000  
2,000  
Pulse Spacing = 7µs  
Pulse Spacing = 8µs  
Pulse Spacing = 9µs  
Pulse Spacing = 10µs  
Burst  
Burst  
Burst  
Burst  
Max BL  
Spacing  
Max BL  
Spacing  
Max BL  
Spacing  
Max BL  
Spacing  
500  
30  
50  
64  
500  
25  
50  
64  
500  
20  
40  
64  
500  
20  
40  
64  
1,000  
2,000  
1,000  
2,000  
1,000  
2,000  
1,000  
2,000  
5.8 Erratta / Notes  
4 April 2003 - The QT60xx5 version 1.05 datasheet erroneously showed negative recalibration timeouts in the range from  
1..255 seconds. The correct range is 0.1..25.5 seconds. From datasheet version 1.06 on, this document change has been  
made. The devices themselves are not affected.  
lQ  
30  
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
6 Electrical Specifications  
6.1 Absolute Maximum Specifications  
Operating temp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -40OC to +105OC  
Storage temp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -55OC to +125OC  
V
DD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.5 to +5.5V  
Max continuous pin current, any control or drive pin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10mꢀ  
Short circuit duration to ground, any pin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . infinite  
Short circuit duration to VDD, any pin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . infinite  
Voltage forced onto any pin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.6V to (Vdd + 0.6) Volts  
Frequency of operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16MHz  
Eeprom maximum writes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100,000 write cycles  
6.2 Recommended operating conditions  
VDD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +4.75 to 5.25V  
Supply ripple+noise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5mV p-p max  
Cx transverse load capacitance per key. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0 to 20pF  
Fosc oscillator frequency. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12MHz +/-2%  
6.3 DC Specifications  
Vdd = 5.0V, Cs = 4.7nF, Freq = 12MHz, Ta = recommended range, unless otherwise noted  
Parameter  
Notes  
Description  
Min  
Typ  
Max  
Units  
I
DDR  
Supply current, running  
Supply current, sleep  
Low input logic level  
High input logic level  
Low output voltage  
High output voltage  
Input leakage current  
Acquisition resolution  
Pullup resistors  
25  
mA  
µA  
V
Not including external components  
Not including external components  
I
DDS  
20  
V
IL  
0.8  
0.6  
1
V
HL  
OL  
2.2  
V
V
V
4mA sink  
V
OH  
Vdd-0.7  
V
1mA source  
IIL  
µA  
bits  
kohms  
A
R
10  
16  
RP  
35  
120  
Drdy, SS’ pins  
6.4 Protocol Timing  
Parameter  
Notes  
Description  
Min  
Typ  
Max  
Units  
T
PR  
Parallel port response delay  
Tdr delay from response  
Multi-byte return spacing  
100  
µS  
µS  
µS  
T
DR  
2
3
1
1,000  
2,000  
TDR  
15  
lQ  
31  
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
6.5 Maximum Drdy Response Delays  
... with adjacent key suppression disabled:  
Burst Spacing  
Function Type  
Setup - put (affect 1 key)  
Setup - put (affect 4 keys)  
Setup - put (affect 16 keys)  
Lock reference Level (L)  
Calibrate command (all keys)  
500µs  
10ms  
20ms  
65ms  
65ms  
2ms  
1ms  
10ms  
20ms  
65ms  
65ms  
2ms  
2ms  
10ms  
20ms  
65ms  
65ms  
1.1ms  
1ms  
1.5ms  
1.5ms  
2ms  
Get key errors (E), Get keys pushed (K)  
1ms  
1ms  
All other commands  
... with adjacent key suppression enabled:  
Burst Spacing  
Function Type  
500µs  
10ms  
20ms  
65ms  
65ms  
2.5ms  
2ms  
1ms  
10ms  
20ms  
65ms  
65ms  
2ms  
2ms  
10ms  
20ms  
65ms  
65ms  
1.2ms  
1.1ms  
1.1ms  
Setup - put (affect 1 key)  
Setup - put (affect 4 keys)  
Setup - put (affect 16 keys)  
Lock reference Level (L)  
Calibrate command (all keys)  
Get key errors (E), Get keys pushed (K)  
All other commands  
2ms  
1.5ms  
2ms  
Preliminary Data: All specifications subject to change.  
lQ  
32  
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
7 Mechanical  
7.1 Dimensions  
A
44  
42  
40  
38  
36  
34  
35  
43  
41  
39  
37  
1
2
3
4
5
6
7
8
9
33  
32  
31  
30  
29  
28  
27  
26  
25  
24  
23  
p
P
L
10  
11  
13  
15  
17  
19  
21  
20 22  
12  
14  
16  
18  
a
e
o
H
h
E
Package Type: 44 Pin TQFP  
Millimeters  
Inches  
Max  
SYMBOL  
Min  
Max  
Notes  
Min  
Notes  
a
A
e
E
h
H
L
p
P
o
9.90  
10.10  
12.21  
0.20  
0.75  
0.15  
1.20  
0.45  
0.80  
8.00  
7
SQ  
SQ  
0.386  
0.458  
0.003  
0.018  
0.002  
-
0.012  
0.031  
0.315  
0
0.394  
0.478  
0.008  
0.030  
0.006  
0.047  
0.018  
0.031  
0.315  
7
SQ  
SQ  
11.75  
0.09  
0.45  
0.05  
-
0.30  
0.80  
8.00  
0
BSC  
BSC  
BSC  
BSC  
7.2 Marking  
TA  
-400C to +1050C  
TQFP Part Number  
Marking  
QT60161B-A  
QT60161B-AS  
lQ  
33  
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
8 Index  
A
adc, 8  
adjacent key suppression, 6, 7, 12, 24, 28, 32  
alert output  
led, 10, 11  
I
intra-burst pulse spacing, 9, 23  
K
key design, 4  
key numbering convention, 18  
key reporting, 20  
application assistance, 4  
L
led  
alert output, 10, 11  
lock reference levels, 6, 14, 23, 24  
B
block diagram, 5  
boundary limits, 19, 23, 29  
burst length, 4, 7, 8, 9, 17, 21, 28, 30  
burst spacing, 8, 9, 14, 22, 28, 30, 32  
burst timing, 15, 30  
M
master mode, 12, 13  
master-slave mode, 4, 12, 13  
miso, 12, 13  
mosi, 9, 12, 13  
C
calibration  
recalibration, 5, 6, 7, 9, 10, 17, 19, 21, 23, 24, 29  
N
circuit model, 7  
cs, 5, 8, 9  
negative detect integrator, 22  
negative detect threshold, 21  
negative drift compensation, 22  
negative hysteresis, 5  
negative recalibration delay, 6, 23  
negative reference error band, 23  
negative threshold, 5, 7, 8, 21, 22, 23  
noise, 11, 12  
D
delta signals, 19, 27  
detection integrator, 5, 6, 8, 18  
direction commands, 17  
drdy’, 12  
noise filter, 22. see also emi  
drift compensation, 5, 6, 11, 17, 21, 22, 23  
dwell, 7, 9  
O
oscillator, 7, 9, 10, 12, 14, 25  
oscilloscope sync, 11, 26  
E
echo, 12, 13, 15, 21, 24  
eeprom checksum, 18, 24  
electrostatic shield, 11  
emi, 11, 23  
P
pcb layout, 4, 11  
rfi, 8, 9, 21  
positive detect threshold, 21  
positive recalibration delay, 6, 7, 23  
positive reference error band, 23  
positive threshold, 5, 6, 7, 21, 23  
power supply, 11  
error code, 4, 11, 16, 17, 19, 20, 21, 23  
error guardbanding, 23  
esd protection, 8, 9, 11  
F
field flow, 4, 8  
function summary table, 27  
pulse spacing, 9, 23  
put command, 17  
Q
qmbtn, 4, 10, 11  
G
get command, 17  
ground plane, 11  
R
recalibrate keys (command), 24  
recalibration  
calibration, 5, 6, 7, 9, 10, 17, 19, 21, 23, 24, 29  
reset, 7, 9, 10, 11, 17, 25, 26  
resonator, 7, 9. see also oscillator  
return last command, 25  
H
hysteresis, 5, 21, 22  
lQ  
34  
www.qprox.com QT60161B / R1.03  
©Quantum Research Group Ltd.  
return part signature, 25  
rfi  
emi, 8, 9, 21  
T
tcm, 12, 15  
W
water films, 24  
S
slave mode, 13  
sleep mode, 10  
spi, 12, 15  
X
x-drives, 7, 8  
spi noise problems, 11  
lQ  
35  
www.qprox.com QT60161B / R1.03  
lQ  
Copyright © 2002 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  
admin@qprox.com  
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.  
厂商 型号 描述 页数 下载

QUANTUM

QT60040 4 - KEY电荷转移IC[ 4-KEY CHARGE-TRANSFER IC ] 10 页

QUANTUM

QT60040-D 4 - KEY电荷转移IC[ 4-KEY CHARGE-TRANSFER IC ] 10 页

QUANTUM

QT60040-IS 4 - KEY电荷转移IC[ 4-KEY CHARGE-TRANSFER IC ] 10 页

ETC

QT60040-S IC- SMD- QPROX矩阵传感器\n[ IC-SMD-QPROX MATRIX SENSOR ] 10 页

FOXCONN

QT600406-2121 [ Board Connector, 40 Contact(s), 2 Row(s), Female, Straight, 0.025 inch Pitch, Surface Mount Terminal, Locking, Ivory Insulator, Plug ] 1 页

FOXCONN

QT600406-3121 [ Board Connector, 40 Contact(s), 2 Row(s), Female, Straight, 0.025 inch Pitch, Surface Mount Terminal, Locking, Ivory Insulator, Plug ] 1 页

FOXCONN

QT601406-2121 [ Board Connector, 140 Contact(s), 2 Row(s), Female, Straight, 0.025 inch Pitch, Surface Mount Terminal, Locking, Ivory Insulator, Plug ] 1 页

QT

QT60160 デコーダIC[ 触摸传感ic ] 24 页

QUANTUM

QT60160 16和24个重点QMATRIX触摸传感器IC[ 16 AND 24 KEY QMATRIX TOUCH SENSOR ICs ] 26 页

ATMEL

QT60160-ATG [ Micro Peripheral IC ] 26 页

PDF索引:

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

0

1

2

3

4

5

6

7

8

9

IC型号索引:

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

0

1

2

3

4

5

6

7

8

9

Copyright 2024 gkzhan.com Al Rights Reserved 京ICP备06008810号-21 京

0.237444s