ATMXT1664S1-CU031 [MICROCHIP]

Analog Circuit, 1 Func, PBGA128;
ATMXT1664S1-CU031
型号: ATMXT1664S1-CU031
厂家: MICROCHIP    MICROCHIP
描述:

Analog Circuit, 1 Func, PBGA128

文件: 总92页 (文件大小:2260K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
Features  
maXTouch® Touchscreen  
– Two touchscreens with true 12-bit multiple touch reporting and real-time XY  
tracking for up to 16 concurrent touches per touchscreen  
– Screen sizes 8 – 12.1 inches diagonal supported at 5 mm electrode pitch.  
Number of Channels  
– Electrode grid configurations of up to 32 X and 52 Y lines supported  
– Touchscreens up to 1664 channels (subject to other configurations)  
– Up to 32 channels can be allocated as fixed keys (subject to other configurations)  
Signal Processing  
maXTouch®  
1664-channel  
Touchscreen  
Controller  
– Advanced digital filtering using both hardware engine and firmware  
– Self-calibration  
– Auto drift compensation  
– Adjacent Key Suppression® (AKS®) technology  
– Noise cancellation algorithms for display noise suppression  
– Grip suppression and suppression of unintentional touches  
– Down-scaling and clipping support to match LCD resolution  
– Ultra-fast start-up and calibration for best user experience  
– Supports axis flipping and axis switch-over for portrait and landscape modes  
– Fast and powerful 32-bit processor core  
mXT1664S1  
Revision 2.0  
– Supports baseline reference data for better calibration  
– Supports lens bending algorithms to restore signal distortions  
Scan Speed  
– Maximum single touch >250Hz, subject to configuration  
– Maximum 16 touches >100Hz, subject to configuration  
– Configurable to allow power/speed optimization  
– Programmable timeout for automatic transition from active to idle states  
Response Times  
– Initial latency <15 ms for first touch from idle, subject to configuration  
Sensors  
– Works with PET or glass sensors, including curved profiles  
– Works with all proprietary sensor patterns recommended by Atmel®  
Stylus Support  
– Supports passive stylus with 2 mm contact diameter, subject to configuration  
– Supports Atmel maXStylus, subject to configuration  
Environmental Conditions  
– Operating temperature –40°C to +85°C  
– Moisture tolerance good  
Panel Thickness  
– Glass up to 2.5 mm, screen size dependent  
– Plastic up to 1.2 mm, screen size dependent  
Interfaces  
– I2C-compatible slave mode; Standard/Fast Mode: up to 400 kHz, High speed mode:  
up to 1.7 MHz  
– USB 2.0-compliant composite device, full speed (12 Mbps)  
– HID-I2C interface for Microsoft® Windows® 8  
9871EX–AT42–12/13  
Power  
– Digital 1.8 V (I2C-compatible mode only) or 2.7 V to 3.3 V nominal  
– Analog 2.7 V to 3.3V nominal  
– High voltage X line drive 2.7 V to 10.0 V nominal  
Packages  
– 128-ball VFBGA 7 × 7 × 1 mm, 0.5 mm ball pitch  
2
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
1. Overview of the mXT1664S1  
1.1  
Introduction  
The Atmel maXTouch family of touch controllers has set a new industry benchmark for  
capacitive touchscreens with their low current consumption, fast response time and high levels  
of accuracy. The mXT1664S1 single-chip solution offers the benefits of the maXTouch  
enhanced architecture on devices with touchscreens up to 14 in. diagonal:  
Patented capacitive sensing method – The mXT1664S1 uses a unique charge-transfer  
acquisition engine to implement the Atmel-patented QMatrix® capacitive sensing method.  
This allows the measurement of up to 1664 mutual capacitance nodes. Coupled with a  
state-of-the-art CPU, the entire touchscreen sensing solution can measure, classify and  
track individual finger touches with a high degree of accuracy.  
Capacitive Touch Engine (CTE) – The mXT1664S1 features an acquisition engine, which  
uses an optimal measurement approach to ensure almost complete immunity from  
parasitic capacitance on the receiver inputs (Y lines). The engine includes sufficient  
dynamic range to cope with anticipated touchscreen mutual capacitances, which allows  
great flexibility for use with the Atmel proprietary ITO pattern designs. One and two layer  
ITO sensors are possible using glass or PET substrates.  
Noise filtering – Hardware noise processing in the capacitive touch engine provides  
enhanced autonomous filtering and allows a broad range of noise profiles to be handled.  
The result is good performance in the presence of charger and LCD noise.  
Processing power – The main CPU has two powerful, yet low power, microsequencer  
coprocessors under its control. These combine to allow the signal acquisition,  
preprocessing, postprocessing and housekeeping to be partitioned in an efficient and  
flexible way. This gives ample scope for sensing algorithms, touch tracking or advanced  
shape-based filtering. An in-circuit reflash can be performed over the chip’s hardware-  
driven interface.  
Interpreting user intention – The Atmel mutual capacitance method provides  
unambiguous multitouch performance. Algorithms in the mXT1664S1 provide optimized  
touchscreen position filtering for the smooth tracking of touches. Stylus support allows  
stylus touches to be detected and distinguished from other touches, such as finger  
touches. The suppression of unintentional touches from the user’s gripping fingers, resting  
palm or touching cheek or ear also help ensure that the user’s intentions are correctly  
interpreted.  
1.2  
Understanding Unfamiliar Concepts  
If some of the concepts mentioned in this datasheet are unfamiliar, see the following sections  
for more information:  
Appendix C on page 81 for a glossary of terms  
Appendix D on page 82 for QMatrix technology  
3
9871EX–AT42–12/13  
1.3  
Resources  
The following datasheet provide essential information on configuring the device:  
mXT1664S 2v0 Protocol Guide  
The following documents may also be useful (available by contacting Atmel’s Touch  
Technology Division):  
• Configuring the device:  
– Application Note: QTAN0058 – Rejecting Unintentional Touches with the  
maXTouch Touchscreen Controllers  
– Application Note: QTAN0078 – maXTouch Stylus Tuning  
• Miscellaneous:  
– Application Note QTAN0050 – Using the maXTouch Debug Port  
– Application Note QTAN0061 – maXTouchSensitivity Effects for Mobile Devices  
– Application Note QTAN0086 – Touchscreen Design for Gloved Operation  
• Touchscreen design and PCB/FPCB layout guidelines:  
– Application Note QTAN0054 – Getting Started with maXTouch Touchscreen  
Designs  
– Application Note QTAN0094 – mXT1664S PCB/FPCB Layout Guidelines  
– Application Note QTAN0080 – Touchscreens Sensor Design Guide  
Other documents – The device uses the same core technology as the mXT768E, so the  
following documents may also be useful (available by contacting the Atmel Touch  
Technology division):  
– Application Note: QTAN0083 – mXT768E Power and Speed Considerations  
– Application Note QTAN0052 – mXT224 Passive Stylus Support  
4
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
2. Pinout and Schematic  
2.1  
Pinout Configuration  
N
X31  
X28  
X26  
VDDUSB  
GND  
RESET  
SDA  
VDD  
I2CMODE  
VDD  
NC  
VDDCORE  
GND  
GPIO1  
GPIO0  
X15  
X14  
M
L
X29  
X30  
X27  
GND  
VDD  
SCL  
XOUT  
XIN  
GND  
CHG  
Reserved CHRG_IN  
X13  
X10  
X12  
XVDD  
USBDM VDD_INPUT  
DBG_DATA  
X11  
XVDD  
USBDP  
DBG_CLK  
COMMSEL  
K
J
GND  
X22  
X24  
X21  
X23  
X9  
X7  
X8  
X6  
GND  
X5  
GND  
H
G
F
X20  
X17  
X19  
X18  
X16  
SYNC(TDI) INDICATION ADDSEL  
X4  
X1  
X3  
X2  
X0  
XVDD  
X25  
Y44  
GND  
Y23  
XVDD  
Y41  
Y38  
Y40  
Y37  
Y39  
Y36  
Y43  
Y10  
Y13  
Y9  
Y8  
E
D
C
Y12  
Y11  
GND  
Y35  
Y31  
Y34  
Y28  
Y15  
Y5  
AVDD  
GND  
Y14  
Y0  
AVDD  
Y51  
Y50  
GND  
Y47  
Y46  
Y42  
Y20  
Y21  
Y18  
Y16  
B
A
Y33  
Y30  
Y27  
AVDD  
Y24  
GND  
AVDD  
Y6  
Y3  
Y1  
Y32  
Y29  
Y26  
Y49  
Y48  
Y45  
Y25  
Y22  
Y19  
Y17  
Y7  
Y4  
Y2  
1
2
3
4
5
6
7
8
9
10  
11  
12  
13  
Bottom View  
5
9871EX–AT42–12/13  
2.2  
Pinout Descriptions  
Table 2-1.  
Ball  
A1  
Pin Listing  
Name  
Y32  
Y29  
Y26  
Y49  
Y48  
Y45  
Y25  
Y22  
Y19  
Y17  
Y7  
Type  
Comments  
If Unused, Connect To...  
Leave open  
Leave open  
Leave open  
Leave open  
Leave open  
Leave open  
Leave open  
Leave open  
Leave open  
Leave open  
Leave open  
Leave open  
Leave open  
Leave open  
Leave open  
Leave open  
Leave open  
I
I
Y line connection  
Y line connection  
Y line connection  
Y line connection  
Y line connection  
Y line connection  
Y line connection  
Y line connection  
Y line connection  
Y line connection  
Y line connection  
Y line connection  
Y line connection  
Y line connection  
Y line connection  
Y line connection  
Y line connection  
Analog power  
A2  
A3  
I
A4  
I
A5  
I
A6  
I
A7  
I
A8  
I
A9  
I
A10  
A11  
A12  
A13  
B1  
I
I
Y4  
I
Y2  
I
Y33  
Y30  
Y27  
Y50  
AVDD  
Y46  
Y24  
Y21  
GND  
AVDD  
Y6  
I
B2  
I
B3  
I
B4  
I
B5  
P
I
B6  
Y line connection  
Y line connection  
Y line connection  
Ground  
Leave open  
Leave open  
Leave open  
B7  
I
B8  
I
B9  
P
P
I
B10  
B11  
B12  
B13  
C1  
Analog power  
Y line connection  
Y line connection  
Y line connection  
Analog power  
Leave open  
Leave open  
Leave open  
Y3  
I
Y1  
I
AVDD  
Y31  
Y28  
Y51  
GND  
Y47  
Y42  
Y20  
Y18  
P
I
C2  
Y line connection  
Y line connection  
Y line connection  
Ground  
Leave open  
Leave open  
Leave open  
C3  
I
C4  
I
C5  
P
I
C6  
Y line connection  
Y line connection  
Y line connection  
Y line connection  
Leave open  
Leave open  
Leave open  
Leave open  
C7  
I
C8  
I
C9  
I
6
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
Table 2-1.  
Ball  
C10  
C11  
C12  
C13  
D1  
Pin Listing  
Name  
Y16  
Type  
Comments  
If Unused, Connect To...  
I
I
Y line connection  
Y line connection  
Ground  
Leave open  
Leave open  
Y5  
GND  
Y0  
P
I
Y line connection  
Ground  
Leave open  
GND  
Y35  
P
I
D2  
Y line connection  
Y line connection  
Leave open  
Leave open  
D3  
Y34  
I
D11  
D12  
D13  
E1  
Y15  
AVDD  
Y14  
I
P
I
Y line connection  
Analog power  
Leave open  
Y line connection  
Y line connection  
Y line connection  
Y line connection  
Leave open  
Leave open  
Leave open  
Leave open  
Y38  
I
E2  
Y37  
I
E3  
Y36  
I
E11  
E12  
E13  
F1  
Y13  
Y12  
Y11  
Y41  
Y40  
Y39  
I
I
I
I
I
I
Y line connection  
Y line connection  
Y line connection  
Y line connection  
Y line connection  
Y line connection  
Leave open  
Leave open  
Leave open  
Leave open  
Leave open  
Leave open  
F2  
F3  
F6  
F7  
F8  
Y44  
Y43  
Y23  
I
I
I
Y line connection  
Y line connection  
Y line connection  
Leave open  
Leave open  
Leave open  
F11  
F12  
F13  
G1  
Y10  
Y9  
I
I
Y line connection  
Y line connection  
Y line connection  
X matrix drive line  
Leave open  
Leave open  
Leave open  
Leave open  
Y8  
I
X17  
O
X line drive voltage – see schematics in Section 2.3  
on page 11  
G2  
G3  
XVDD  
X16  
P
O
X matrix drive line  
Leave open  
G6  
X25  
O
X matrix drive line  
Leave open  
7
9871EX–AT42–12/13  
Table 2-1.  
Ball  
Pin Listing  
Name  
Type  
Comments  
If Unused, Connect To...  
G8  
GND  
P
Ground  
G11  
G12  
X1  
O
P
X matrix drive line  
Leave open  
X line drive voltage – see schematics in Section 2.3  
on page 11  
XVDD  
G13  
H1  
X0  
O
O
O
O
X matrix drive line  
X matrix drive line  
X matrix drive line  
X matrix drive line  
Leave open  
Leave open  
Leave open  
Leave open  
X20  
X19  
X18  
H2  
H3  
H6  
H7  
H8  
SYNC  
I
O
I
External synchronization  
Leave open  
Leave open  
Indicates a touch detected in a particular area of  
INDICATION  
ADDSEL (1)  
the touchscreen. Refer to the mXT1664S 2v0  
Protocol Guide for more information.  
I2C-compatible address select  
Leave open (USB mode)  
H11  
H12  
H13  
J1  
X4  
X3  
O
O
O
O
O
P
X matrix drive line  
X matrix drive line  
X matrix drive line  
X matrix drive line  
X matrix drive line  
Ground  
Leave open  
Leave open  
Leave open  
Leave open  
Leave open  
X2  
X22  
X21  
GND  
J2  
J3  
J11  
J12  
J13  
K1  
X7  
X6  
O
O
O
P
X matrix drive line  
X matrix drive line  
X matrix drive line  
Ground  
Leave open  
Leave open  
Leave open  
X5  
GND  
X24  
X23  
K2  
O
O
X matrix drive line  
X matrix drive line  
Leave open  
Leave open  
K3  
K11  
K12  
K13  
L1  
X9  
X8  
O
O
P
X matrix drive line  
X matrix drive line  
Ground  
Leave open  
Leave open  
GND  
X26  
O
X matrix drive line  
Leave open  
X line drive voltage – see schematics in Section 2.3  
on page 11  
L2  
L3  
XVDD  
X27  
P
Leave open  
Leave open  
O
X matrix drive line  
8
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
Table 2-1.  
Ball  
Pin Listing  
Name  
Type  
P
Comments  
If Unused, Connect To...  
L4  
VDD  
Digital power  
USBDP (1)  
USB  
USB device port data +  
GND  
L5  
L6  
Input: GND  
Output: leave open  
DBG_CLK  
USBDM (1)  
DBG_DATA  
VDD_INPUT  
XIN  
I/O  
USB  
I/O  
Debug clock  
USB device port data -  
Debug data  
GND  
Input: GND  
Output: leave open  
L7  
L8  
L9  
For factory use only  
VDD  
External 16 MHz oscillator – only needed in USB  
mode  
I
Leave open  
CHG (2)  
OD  
State change interrupt  
Leave open (USB mode)  
Selects communications interface:  
I2C-compatible – connect to GND  
USB (3) – connect to Vdd  
L10  
COMMSEL  
I
L11  
L12  
X11  
X10  
O
O
X matrix drive line  
X matrix drive line  
Leave open  
Leave open  
X line drive voltage – see schematics in Section 2.3  
on page 11  
L13  
XVDD  
P
Leave open  
M1  
M2  
M3  
M4  
M5  
M6  
M7  
X28  
X29  
O
O
X matrix drive line  
X matrix drive line  
X matrix drive line  
Ground  
Leave open  
Leave open  
X30  
O
Leave open  
GND  
VDD  
VDD  
SCL (1)  
P
P
Digital power  
P
Digital power  
OD  
Serial Interface Clock  
Connect to VDD (USB mode)  
External 16 MHz oscillator – only needed in USB  
mode  
M8  
XOUT  
O
Leave open  
M9  
M10  
M11  
M12  
M13  
N1  
GND  
Reserved  
CHRG_IN  
X13  
P
Ground  
Reserved for future use  
Charger detect pin  
X matrix drive line  
X matrix drive line  
X matrix drive line  
Digital USB power  
Ground  
GND via 10 kΩ  
Leave open  
Leave open  
Leave open  
I
O
O
O
P
P
X12  
X31  
N2  
VDDUSB  
GND  
N3  
Reset low; has internal 20 kΩ to 60 kΩ pull-up  
resistor  
N4  
RESET  
I
Vdd (4)  
N5  
N6  
SDA (1)  
OD  
I
Serial Interface Data  
Connect to VDD (USB mode)  
Leave open  
I2CMODE  
I2C-compatible protocol select (5)  
9
9871EX–AT42–12/13  
Table 2-1.  
Ball  
Pin Listing  
Name  
Type  
Comments  
If Unused, Connect To...  
N7  
Reserved  
Reserved for future use  
Digital core power. Must be connected as in  
schematics (see Section 2.3 on page 11)  
N8  
VDDCORE  
P
N9  
GND  
GPIO1  
GPIO0  
X15  
P
I/O  
I/O  
O
Ground  
N10  
N11  
N12  
N13  
General purpose IO  
General purpose IO  
X matrix drive line  
X matrix drive line  
Leave open  
Leave open  
Leave open  
Leave open  
X14  
O
1. Either I2C-compatible or USB interface can be used, but only one interface should be used in any one design.  
2. CHG is momentarily set (approximately 100 ms) as an input after power-up or reset for diagnostic purposes.  
3. If using the self-powered USB configuration (rare), this pin must be connected to VBUS via potential divider of a suitable value for the supply level.  
For example, with a 5V VBUS and 3.3V Vdd line, a 170 kΩ and 330 kΩ pair will typically be used.  
4. It is recommend that RESET is connected to the host system.  
5. Leave open for standard Atmel object protocol, or connect to GND to select the HID-I2C mode.  
I
Input only  
OD  
P
Open drain output  
Ground or power  
O
Output only, push-pull  
USB USB communications  
10  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
2.3  
Schematics  
2.3.1  
I2C-compatible Mode – Digital Supply 2.7 – 3.3V  
AVDD  
VDD  
C1  
C2  
2.2uF  
100nF  
GND  
XVDD  
GND  
GND  
VDD  
VDD  
VDD  
L11  
M13  
M12  
N13  
N12  
G3  
X11  
X12  
X13  
X14  
X15  
X16  
X17  
X18  
X19  
X20  
X21  
X22  
X23  
X24  
X25  
X26  
X27  
X28  
X29  
X30  
X31  
X11  
X12  
X13  
X14  
X15  
X16  
X17  
X18  
X19  
X20  
X21  
X22  
X23  
X24  
X25  
X26  
X27  
X28  
X29  
X30  
X31  
GND  
RESET  
N4  
Rc  
Rp  
Rp  
RESET  
G1  
SDA  
SCL  
CHG  
N5  
M7  
L9  
H3  
H2  
H1  
J2  
SDA  
SCL  
CHG  
J1  
K3  
K2  
ADDSEL  
H8  
ADDSEL  
G6  
L1  
L3  
M1  
M2  
M3  
N1  
L10  
COMMSEL  
CHRG_IN  
M11  
GND  
Notes  
1. Capacitors C1 to C14 must be  
X7R or X5R and placed <5 mm  
N10  
N11  
GPIO1  
GPIO0  
C4  
B4  
A4  
A5  
C6  
B6  
A6  
F6  
Y51  
Y50  
Y49  
Y48  
Y47  
Y46  
Y45  
Y44  
Y43  
Y42  
Y41  
Y40  
Y39  
Y38  
Y37  
Y36  
Y35  
Y34  
Y33  
Y32  
Y31  
Y30  
Y29  
Y28  
Y27  
Y26  
Y25  
Y24  
Y23  
Y22  
Y21  
Y20  
Y19  
Y18  
Y17  
Y16  
Y15  
Y14  
Y13  
Y12  
Y11  
mXT1664S1  
Y51  
Y50  
Y49  
Y48  
Y47  
Y46  
Y45  
Y44  
Y43  
Y42  
Y41  
Y40  
Y39  
Y38  
Y37  
Y36  
Y35  
Y34  
Y33  
Y32  
Y31  
Y30  
Y29  
Y28  
Y27  
Y26  
Y25  
Y24  
Y23  
Y22  
Y21  
Y20  
Y19  
Y18  
Y17  
Y16  
Y15  
Y14  
Y13  
Y12  
Y11  
N/C  
L8  
XIN  
away from the pins for which they  
act as bypass capacitors  
N/C  
M8  
F7  
XOUT  
2. Pin L7 (VDD_INPUT) should be  
connected to VDD.  
C7  
F1  
F2  
DBG_DATA  
DBG_CLK  
L6  
L5  
F3  
3. Pin N2 (VDDUSB) should be  
connected to VDD.  
USBDM/DBG_DATA  
USBDP/DBG_CLK  
E1  
E2  
E3  
D2  
D3  
B1  
A1  
C2  
B2  
A2  
C3  
B3  
A3  
A7  
B7  
F8  
4. Pin N8 (VDDCORE) should  
be decoupled to GND  
VDD  
through capacitors.  
L7  
VDD_INPUT  
I2CMODE  
5. Either I2C-compatible or USB  
interface can be used, but only  
one interface should be used in  
any one design. Pin L10  
I2CMODE  
N6  
H6  
SYNC  
A8  
B8  
C8  
A9  
C9  
A10  
C10  
D11  
D13  
E11  
E12  
E13  
(COMMSEL) should be  
SYNC(TDI)  
INDICATION H7  
connected accordingly. (GND in  
I2C-compatible mode or VDD in  
USB mode).  
INDICATION  
N7  
6. The device incorporates an  
internal regulator that derives the  
1.8V VDDCORE supply from  
VDD. For stability of this  
M10  
regulator, a 10 µF input capacitor  
(C7) and a 2.2 µF output  
capacitor (C1) are required.  
Capacitor C1 should have an  
ESR of 0.5 Ω to 10 Ω.  
GND  
Reserved for  
future use  
7. Connect the I2CMODE pin to  
GND to select the HID-I2C mode,  
leave NC to select normal Object  
based protocol mode.  
11  
9871EX–AT42–12/13  
2.3.2  
I2C-compatible Mode – Digital Supply 1.8V  
AVDD  
VDD  
XVDD  
GND  
GND  
VDD  
VDD  
VDD  
L11  
X11  
X12  
X13  
X14  
X15  
X16  
X17  
X18  
X19  
X20  
X21  
X22  
X23  
X24  
X25  
X26  
X27  
X28  
X29  
X30  
X31  
X11  
X12  
X13  
X14  
X15  
X16  
X17  
X18  
X19  
X20  
X21  
X22  
X23  
X24  
X25  
X26  
X27  
X28  
X29  
X30  
X31  
M13  
M12  
N13  
N12  
G3  
G1  
H3  
H2  
H1  
J2  
GND  
RESET  
N4  
Rc  
Rp  
Rp  
RESET  
SDA  
N5  
M7  
L9  
SDA  
SCL  
CHG  
SCL  
CHG  
J1  
K3  
K2  
G6  
L1  
ADDSEL  
H8  
ADDSEL  
L3  
M1  
M2  
M3  
N1  
L10  
COMMSEL  
CHRG_IN  
GND  
M11  
C4  
B4  
A4  
A5  
C6  
B6  
A6  
F6  
Y51  
Y50  
Y49  
Y48  
Y47  
Y46  
Y45  
Y44  
Y43  
Y42  
Y41  
Y40  
Y39  
Y38  
Y37  
Y36  
Y35  
Y34  
Y33  
Y32  
Y31  
Y30  
Y29  
Y28  
Y27  
Y26  
Y25  
Y24  
Y23  
Y22  
Y21  
Y20  
Y19  
Y18  
Y17  
Y16  
Y15  
Y14  
Y13  
Y12  
Y11  
Y51  
Y50  
Y49  
Y48  
Y47  
Y46  
Y45  
Y44  
Y43  
Y42  
Y41  
Y40  
Y39  
Y38  
Y37  
Y36  
Y35  
Y34  
Y33  
Y32  
Y31  
Y30  
Y29  
Y28  
Y27  
Y26  
Y25  
Y24  
Y23  
Y22  
Y21  
Y20  
Y19  
Y18  
Y17  
Y16  
Y15  
Y14  
Y13  
Y12  
Y11  
mXT1664S1  
N/C  
L8  
XIN  
N/C  
M8  
F7  
XOUT  
C7  
F1  
F2  
DBG_DATA  
DBG_CLK  
L6  
L5  
F3  
USBDM/DBG_DATA  
USBDP/DBG_CLK  
E1  
E2  
E3  
D2  
D3  
B1  
A1  
C2  
B2  
A2  
C3  
B3  
A3  
A7  
B7  
F8  
N10  
N11  
GPIO1  
GPIO0  
VDD  
L7  
Notes  
VDD_INPUT  
I2CMODE  
1. Capacitors C1 to C13 must be  
X7R or X5R and placed <5 mm  
away from the pins for which  
they act as bypass capacitors.  
2. Pin L7 (VDD_INPUT) should  
be connected to VDD.  
3. Pin N2 (VDDUSB) should be  
connected to VDD.  
4. Pin N8 (VDDCORE) should be  
connected to VDD.  
I2CMODE  
N6  
H6  
SYNC  
A8  
B8  
C8  
A9  
C9  
A10  
C10  
D11  
D13  
E11  
E12  
E13  
SYNC  
INDICATION H7  
INDICATION  
M10  
N7  
5. Pin L10 (COMMSEL) should  
be connected to GND.  
6. No internal regulators used so  
C7 can be 1 µF.  
GND  
7. Connect the I2CMODE pin to  
GND to select the HID-I2C  
mode, leave NC to select  
normal Object based protocol  
mode.  
Reserved for  
future use  
12  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
2.3.3  
USB Mode – Digital Supply 3.3V  
AVDD  
C1  
C2  
2.2uF  
VDD  
VDD_3V3  
100nF  
GND  
XVDD  
GND  
GND  
L11  
X11  
X12  
X13  
X14  
X15  
X16  
X17  
X18  
X19  
X20  
X21  
X22  
X23  
X24  
X25  
X26  
X27  
X28  
X29  
X30  
X31  
X11  
X12  
X13  
X14  
X15  
X16  
X17  
X18  
X19  
X20  
X21  
X22  
X23  
X24  
X25  
X26  
X27  
X28  
X29  
X30  
X31  
M13  
M12  
N13  
N12  
G3  
G1  
H3  
H2  
H1  
J2  
GND  
RESET  
N4  
RESET  
VDD  
N5  
M7  
L9  
SDA  
10K  
SCL  
J1  
CHG  
K3  
K2  
G6  
L1  
N/C  
H8  
ADDSEL  
L3  
VDD  
See note 4  
M1  
M2  
M3  
N1  
L10  
COMMSEL  
mXT1664S1  
M11  
CHRG_IN  
XIN  
C4  
B4  
A4  
A5  
C6  
B6  
A6  
F6  
Y51  
Y50  
Y49  
Y48  
Y47  
Y46  
Y45  
Y44  
Y43  
Y42  
Y41  
Y40  
Y39  
Y38  
Y37  
Y36  
Y35  
Y34  
Y33  
Y32  
Y31  
Y30  
Y29  
Y28  
Y27  
Y26  
Y25  
Y24  
Y23  
Y22  
Y21  
Y20  
Y19  
Y18  
Y17  
Y16  
Y15  
Y14  
Y13  
Y12  
Y11  
Y51  
Y50  
Y49  
Y48  
Y47  
Y46  
Y45  
Y44  
Y43  
Y42  
Y41  
Y40  
Y39  
Y38  
Y37  
Y36  
Y35  
Y34  
Y33  
Y32  
Y31  
Y30  
Y29  
Y28  
Y27  
Y26  
Y25  
Y24  
Y23  
Y22  
Y21  
Y20  
Y19  
Y18  
Y17  
Y16  
Y15  
Y14  
Y13  
Y12  
Y11  
C16  
XT2  
XIN L8  
GND  
16MHz  
XOUT M8  
F7  
XOUT  
C7  
F1  
C15  
F2  
USBDM  
USBDP  
L6  
L5  
F3  
USBDM/DBG_DATA  
USBDP/DBG_CLK  
E1  
E2  
E3  
D2  
D3  
B1  
A1  
C2  
B2  
A2  
C3  
B3  
A3  
A7  
B7  
F8  
NOTES  
1. Capacitors C1 to C16 must  
N10  
N11  
GPIO1  
GPIO0  
be X7R or X5R and placed  
<5 mm away from the pins  
for which they act as bypass  
capacitors.  
VDD  
L7  
VDD_INPUT  
INDICATION H7  
INDICATION  
I2CMODE  
N/C  
N6  
H6  
2. Pin L7 (VDD_INPUT) should  
be connected to VDD.  
3. Pin N8 (VDDCORE) should  
be decoupled to GND via  
capacitors.  
4. Pin L10 (COMMSEL) should  
be connected to VDD to  
select the USB mode. If a  
USB application is self-  
powered (that is, one or  
more touch controller power  
rails not derived from  
SYNC  
A8  
B8  
C8  
A9  
C9  
A10  
C10  
D11  
D13  
E11  
E12  
E13  
SYNC(TDI)  
M10  
N7  
V_USB), then COMMSEL  
must be connected to a  
divided down version of  
V_USB, such that the  
GND  
Reserved for  
future use  
voltage on COMMSEL does  
not exceed VDD.  
5. Capacitors C15 and C16  
should be 15 pF  
13  
9871EX–AT42–12/13  
3. Touchscreen Basics  
3.1  
Sensor Construction  
A touchscreen is usually constructed from a number of transparent electrodes. These are typically on  
a glass or plastic substrate. They can also be made using non-transparent electrodes, such as  
copper or carbon. Electrodes are normally formed by etching a material called Indium Tin Oxide  
(ITO). This is a brittle ceramic material, of high optical clarity and varying sheet resistance. Thicker  
ITO yields lower levels of resistance (perhaps tens to hundreds of Ω/square) at the expense of  
reduced optical clarity. Lower levels of resistance are generally more compatible with capacitive  
sensing. Thinner ITO leads to higher levels of resistance (perhaps hundreds to thousands of  
Ω/square) with some of the best optical characteristics.  
Interconnecting tracks formed in ITO can cause problems. The excessive RC time constants  
formed between the resistance of the track and the capacitance of the electrode to ground can  
inhibit the capacitive sensing function. In such cases, ITO tracks should be replaced by screen  
printed conductive inks (non-transparent) outside the touchscreen’s viewing area.  
A range of trade-offs also exist with regard to the number of layers used for construction. Atmel has  
pioneered single-layer ITO capacitive touchscreens. For many applications these offer a near-  
optimum cost/performance balance. With a single layer screen, the electrodes are all connected  
using ITO out to the edges of the sensor. From there the connection is picked up with printed silver  
tracks. Sometimes two overprinted silver tracking layers are used to reduce the margins between  
the edge of the substrate and the active area of the sensor.  
Two-layer designs can have a strong technical appeal where ultra-narrow edge margins are  
required. They are also an advantage where the capacitive sensing function needs to have a very  
precise cut-off as a touch is moved to just off the active sensor area. With a two-layer design the  
QMatrix transmitter electrodes are normally placed nearest the bottom and the receiver electrodes  
nearest the top. The separation between layers can range from hundreds of nanometers to  
hundreds of microns, with the right electrode design and considerations of the sensing environment.  
3.2  
Electrode Configuration  
The specific electrode designs used in Atmel touchscreens are the subject of various patents  
and patent applications. Further information is available on request.  
The device supports various configurations of electrodes as summarized below:  
Touchscreens:  
2 Touchscreens allowed  
3X x 3Y minimum (depends on screen resolution)  
32X x 52Y maximum (subject to other configurations)  
1 Key Array allowed  
Keys:  
Up to 32 keys (subject to other configurations)  
14  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
3.3  
Scanning Sequence  
All channels are scanned in sequence by the device. There is a full parallelism in the scanning  
sequence to improve overall response time. The channels are scanned by measuring capacitive  
changes at the intersections formed between the first X line and all the Y lines. Then the  
intersections between the next X line and all the Y lines are scanned, and so on, until all X and Y  
combinations have been measured.  
The device can be configured in various ways. It is possible to disable some channels so that they  
are not scanned at all. This can be used to improve overall scanning time.  
3.4  
Touchscreen Sensitivity  
3.4.1  
Adjustment  
Sensitivity of touchscreens can vary across the extents of the electrode pattern due to natural  
differences in the parasitics of the interconnections, control chip, and so on. An important  
factor in the uniformity of sensitivity is the electrode design itself. It is a natural consequence of  
a touchscreen pattern that the edges form a discontinuity and hence tend to have a different  
sensitivity. The electrodes at the far edges do not have a neighboring electrode on one side  
and this affects the electric field distribution in that region.  
A sensitivity adjustment is available for the whole touchscreen. This adjustment is a basic  
algorithmic threshold that defines when a channel is considered to have enough signal change  
to qualify as being in detect.  
3.4.2  
Mechanical Stackup  
The mechanical stackup refers to the arrangement of material layers that exist above and  
below a touchscreen. The arrangement of the touchscreen in relation to other parts of the  
mechanical stackup has an effect on the overall sensitivity of the screen. QMatrix technology  
has an excellent ability to operate in the presence of ground planes close to the sensor.  
QMatrix sensitivity is attributed more to the interaction of the electric fields between the  
transmitting (X) and receiving (Y) electrodes than to the surface area of these electrodes. For  
this reason, stray capacitance on the X or Y electrodes does not strongly reduce sensitivity  
Front panel dielectric material has a direct bearing on sensitivity. Plastic front panels are  
usually suitable up to about 1.2 mm, and glass up to about 2.5 mm (dependent upon the  
screen size and layout). The thicker the front panel, the lower the signal-to-noise ratio of the  
measured capacitive changes and hence the lower the resolution of the touchscreen. In  
general, glass front panels are near optimal because they conduct electric fields almost twice  
as easily as plastic panels.  
Note: Care should be taken using ultra-thin glass panels as retransmission effects can  
occur.  
15  
9871EX–AT42–12/13  
4. Detailed Operation  
4.1  
Power-up/Reset  
There is an internal Power-on Reset (POR) in the device.  
The device must be held in RESET (active low) while the power supplies (Vdd and AVdd) are  
powering up. If a slope or slew is applied to the digital or analog supplies (Vdd, AVdd and  
XVdd) must reach their nominal values before the RESET signal is de-asserted (that is, goes  
high). This is shown in Figure 4-1. See Section 9.2 on page 58 for nominal values for Vdd,  
AVdd and XVdd. Please note that the XVdd rail has a maximum rate of rise specification  
(see Section 9.3.3 on page 59), that is, a soft-start XVdd supply must be used.  
Figure 4-1. Power Sequencing on the mXT1664S1  
AVdd  
XVdd  
> 0 ns  
Vdd  
(Vdd)  
RESET  
> 90 ns  
Note:  
1) Vdd and AVdd can be powered up in any order  
2) XVdd must not be powered up until after Vdd and  
must obey the rate-of-rise specification  
The digital or analog (AVdd) supplies can be applied independently and in any order on the  
mXT1664S1 during power-up. Vdd must be applied to the device before XVdd to ensure that  
the different power domains in the device are initialized correctly. Typically this can be done by  
connecting the enable pin of the Switched Mode Power Supply (SMPS) supplying XVdd to a  
10 kΩ pull-up resistor connected to the Vdd, but the XVdd can be controlled separately by the  
host, if required.  
After power-up, the device takes 65 ms before it is ready to start communications. Vdd must  
drop to below 1.45 V in order to effect a proper POR. See Section 9 on page 58 for further  
specifications.  
16  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
If the RESET line is released before the AVDD and /or XVDD supplies have reached their  
nominal voltage (see Figure 4-2), then some additional operations need to be carried out by  
the host. There are two options open to the host controller:  
• Start the part in deep sleep mode and then send the command sequence to set the cycle  
time to wake the part and allow it to run normally. Note that in this case a calibration  
command is also needed.  
• Send a reset command.  
Figure 4-2. Power Sequencing on the mXT1664S1 – Late rise on AVDD  
RESET disasserted before AVdd/X  
at nominal level  
(Nom)  
Avdd or  
XVdd  
(Nom)  
Vdd  
(Vdd)  
RESET  
The RESET pin can be used to reset the device whenever necessary. The RESET pin must  
be asserted low for at least 90 ns to cause a reset. After releasing the RESET pin the device  
takes ~65 ms before it is ready to start communications. It is recommended to connect the  
RESET pin to a host controller to allow it to initiate a full hardware reset without requiring a  
power-down.  
Note that the voltage level on the RESET pin of the device must never exceed Vdd (digital  
supply voltage).  
A software reset command can be used to reset the chip (refer to the Command Processor  
object in the mXT1664S 2v0 Protocol Guide). A software reset takes a maximum of  
280 ms. After the chip has finished it asserts the CHG line to signal to the host that a message  
is available. The reset flag is set in the Message Processor object to indicate to the host that it  
has just completed a reset cycle. This bit can be used by the host to detect any unexpected  
brownout events. This allows the host to take any necessary corrective actions, such as  
reconfiguration.  
A checksum check is performed on the configuration settings held in the nonvolatile memory.  
If the checksum does not match a stored copy of the last checksum, then this indicates that  
the settings have become corrupted. This is signaled to the host by setting the configuration  
error bit in the message data for the Command Processor object (refer to the mXT1664S 2v0  
Protocol Guide for more information).  
17  
9871EX–AT42–12/13  
Note that the CHG line is momentarily set (approximately 100 ms) as an input after power-up  
or reset for diagnostic purposes. It is therefore particularly important that the line should be  
allowed to float high via the CHG line pull-up resistor during this period. It should not be driven  
by the host.  
At power-on, the device performs a self-test routine to check for shorts which might cause  
damage to the device. Refer to the Self Test T25 section of the mXT1664S 2v0 Protocol Guide  
for more details about this process.  
4.2  
Calibration  
Calibration is the process by which a sensor chip assesses the background capacitance on  
each channel. Channels are only calibrated on power-up and when:  
• The channel is enabled (that is, activated).  
OR  
• The channel is already enabled and one of the following applies:  
– The channel is held in detect for longer than the Touch Automatic Calibration  
setting (refer to the mXT1664S 2v0 Protocol Guide for more information on  
TCHAUTOCAL setting in the Acquisition Configuration object).  
– The signal delta on a channel is at least the touch threshold (TCHTHR) in the  
anti-touch direction, while no other touches are present on the channel matrix  
(refer to the mXT1664S 2v0 Protocol Guide for more information on the TCHTHR  
field in the Multiple Touch Touchscreen and Key Array objects).  
– The host issues a recalibrate command.  
– Certain configuration settings are changed.  
A status message is generated on the start and completion of a calibration.  
Note that the device performs a global calibration; that is, all the channels are calibrated  
together.  
4.3  
Operational Modes  
The device operates in two modes: active (touch detected) and idle (no touches detected).  
Both modes operate as a series of burst cycles. Each cycle consists of a short burst (during  
which measurements are taken) followed by an inactive sleep period. The difference between  
these modes is the length of the cycles. Those in idle mode typically have longer sleep  
periods. The cycle length is configured using the IDLEACQINT and ACTVACQINT settings in  
the Power Configuration object. In addition, an Active to Idle timeout (ACTV2IDLETO) setting  
is provided.  
Refer to the mXT1664S 2v0 Protocol Guide for full information on how these modes operate,  
and how to use the settings provided.  
4.4  
Touchscreen Layout  
The physical matrix can be configured to have one or more touch objects. These are  
configured using the appropriate touch objects (Multiple Touch Touchscreen and Key  
Array Key Array). It is not mandatory to have all the allowable touch objects present. The  
objects are disabled by default so only those that you wish to use need to be enabled. Refer to  
the mXT1664S 2v0 Protocol Guide for more information on configuring the touch objects.  
18  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
When designing the physical layout of the touch panel, obey the following rules:  
– Each touch object should be a regular rectangular shape in terms of the lines it  
uses.  
Touch objects can share X and Y lines, as necessary. Note, however, that the first  
instance (instance 0) of the Multiple Touch Touchscreen T9 object cannot share Y  
lines if the SlimSensor T56 object is enabled.  
– The design of the touch objects does not physically need to be on a strict XY grid  
pattern.  
4.5  
Signal Processing  
4.5.1  
Adjacent Key Suppression Technology  
Adjacent Key Suppression (AKS) technology is a patented method used to detect which touch  
object is touched when objects are located close together. A touch in a group of AKS objects  
is only indicated on the object in that group that is touched first. This is assumed to be the  
intended object. Once an object in an AKS group is in detect, there can be no further  
detections within that group until the object is released. Objects can be in more than one AKS  
group.  
Note that AKS technology works best when it operates in conjunction with a detect integration  
setting of several acquisition cycles.  
The device has two levels of AKS. The first level works between the touch objects (Multiple  
Touch Touchscreen T9 and Key Array T15). The touch objects are assigned to AKS groups. If  
a touch occurs within one of the touch objects in a group, then touches within other objects  
inside that group are suppressed. For example, if a Touchscreen and a Key Array are placed  
in the same AKS group, then a touch in the Touchscreen will suppress touches in the Key  
Array, and vice versa.  
The second level of AKS is internal AKS within an individual Key Array object (note that  
internal AKS is not present on other types of touch objects, only a Key Array). If internal AKS is  
enabled, then when one key is touched, touches on all the other keys within the Key Array are  
suppressed.  
AKS is configured using the touch objects (Multiple Touch Touchscreen T9 or Key Array T15).  
Refer to the mXT1664S 2v0 Protocol Guide for more information.  
Note: If a touch is in detect and then AKS is enabled, that touch will not be forced out of  
detect. It will not go out of detect until the touch is released. AKS will then operate  
normally. This applies to both levels of AKS.  
4.5.2  
Detection Integrator  
The device features a touch detection integration mechanism. This acts to confirm a detection  
in a robust fashion. A counter is incremented each time a touch has exceeded its threshold  
and has remained above the threshold for the current acquisition. When this counter reaches  
a preset limit the sensor is finally declared to be touched. If, on any acquisition, the signal is  
not seen to exceed the threshold level, the counter is cleared and the process has to start from  
the beginning.  
The detection integrator is configured using the appropriate touch objects (Multiple Touch  
Touchscreen T9, Key Array T15). Refer to the mXT1664S 2v0 Protocol Guide for more  
information.  
19  
9871EX–AT42–12/13  
4.5.3  
Digital Filtering and Noise Suppression  
The mXT1664S1 supports the on-chip filtering of the acquisition data received from the  
sensor. Specifically, the maXCharger T62 object provides an algorithm to suppress the effects  
of noise (for example, from a noisy charger plugged into the user’s product). This algorithm  
can automatically adjust some of the acquisition parameters on-the-fly to filter the analog-to-  
digital conversions (ADCs) received from the sensor. The algorithm can make use of a Grass  
Cutter (which rejects any samples outside a predetermined limit).  
Noise suppression is triggered when a noise source is detected (typically when a charger is  
turned on). A hardware trigger can be implemented using the CHRG_IN pin. Alternatively, the  
host’s driver code can indicate when a noise source is present.  
An alternative burst mode on the X lines, known as Dual X Drive, is provided. This improves  
the signal-to-noise ratio (SNR) on a closely spaced X sensor matrix (when finger touches are  
likely to cover more than one X line).  
Refer to the mXT1664S 2v0 Protocol Guide for more information on the maXCharger T62  
object.  
4.5.4  
4.5.5  
GPIO Pins  
The mXT1664S1 has two GPIO pins. The pins can be set to be either an input or an output, as  
required. The GPIO pins are configured using the GPIO/PWM Configuration T19 object.  
Grip Suppression  
The device has a grip suppression mechanism to suppress false detections when the user  
grips a handheld device.  
Grip suppression works by specifying a boundary around a touchscreen, within which touches  
can be suppressed whilst still allowing touches in the center of the touchscreen. This ensures  
that a “rolling” hand touch (such as when a user grips a mobile device) is suppressed. A “real”  
(finger) touch towards the center of the screen is allowed.  
Grip suppression is configured using the Grip Suppression T40 object. There is one instance  
of the Grip Suppression T40 object for each Multiple Touch Touchscreen T9 object present on  
the device. Refer to the mXT1664S 2v0 Protocol Guide for more information.  
4.5.6  
Baseline Reference  
The device supports using a set of known-good baseline references to eliminate problems  
associated with calibrating in the presence of touches, moisture or foreign objects.  
The maXStartup T66 object enables baseline references to be generated and stored in a  
controlled environment on the production line. These values can then be restored on  
calibration instead of relying on current state of the screen which may be in contact with a  
touch, moisture or foreign objects such as keys or coins. Supporting algorithms are used to  
compensate the references for variations in different environments. Refer to the mXT1664S  
2v0 Protocol Guide for more information.  
4.5.7  
Lens Bending  
The device supports algorithms to eliminate disturbances from the measured signal and also  
to measure the bend component.  
20  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
When the sensor suffers from the screen deformation (lens bending) the signal values  
acquired by normal procedure are corrupted by the disturbance component (bend). The  
amount of bend depends on:  
• the mechanical and electrical characteristics of the sensor  
• the amount and location of the force applied by the user touch to the sensor  
The Lens Bending T65 object measures the bend component and compensates for any distortion  
caused by the bend. As the bend component is primarily influenced by the user touch force, it  
can be used as a secondary source to identify the presence of a touch. The additional benefit  
of the Lens Bending T65 object is that it will eliminate LCD noise as well. Refer to the mXT1664S  
2v0 Protocol Guide for more information.  
4.5.8  
Shieldless Support  
The device can support shieldless sensor design even with a noisy LCD. The SlimSensor T56  
object provides a number of algorithms to suppress the effect of noise emitted by the display.  
The SlimSensor T56 display noise suppression operates on a completely different mechanism  
to the maXCharger T62 object. This allows the device to overcome display noise  
simultaneously with charger noise.  
The device can make use of the following mechanisms to overcome display noise:  
• Optimal Integration is not filtering as such, instead it is a feature that enables the user to  
use a shorter integration window. The integration window optimizes the amount of charge  
collected against the amount of noise collected, to ensure an optimal SNR. This feature  
also benefits the system in the presence of an external noise source such as charger.  
Refer to the mXT1664S 2v0 Protocol Guide for more information on the SlimSensor T56  
object.  
4.5.9  
Stylus Support  
The mXT1664S1 allows for the particular characteristics of stylus touches, whilst still allowing  
conventional finger touches to be detected. Stylus touches are configured by the Stylus T47  
object. There is one instance of the Stylus T47 object for each Multiple Touch Touchscreen T9  
object present on the device.  
The device supports the active stylus through the Active Stylus T63 object.  
For example, stylus support ensures that the small touch area of a stylus registers as a touch,  
as this would otherwise by considered too small for the touchscreen. Additionally, there are  
controls to distinguish a stylus touch from an unwanted approaching finger (such as on the  
hand holding the stylus).  
The touch sensitivity and threshold controls for stylus touches are configured separately from  
those for conventional finger touches so that both types of touches can be accommodated.  
4.5.10  
Unintentional Touch Suppression  
The Touch Suppression T42 object provides a mechanism to suppress false detections from  
unintentional touches from a large body area, such as from a face, ear or palm. The Touch  
Suppression T42 object also provides Maximum Touch Suppression to suppress all touches if  
more than a specified number of touches has been detected. There is one instance of the  
Touch Suppression T42 object for each Multiple Touch Touchscreen T9 object present on the  
device. Refer to the mXT1664S 2v0 Protocol Guide for more information.  
21  
9871EX–AT42–12/13  
4.5.11  
Zone Indication  
The mXT1664S1 allows the host to define a Zone on the touchscreen and touches detected in  
the defined zone. The zone can be configured using the Zone Indication T73 object. Note that  
only finger touches can be detected in the defined zone, refer to the mXT1664S 2v0 Protocol  
Guide for more information on the Zone Indication T73 object.  
4.6  
Circuit Components  
4.6.1  
XVdd Power Supply  
The X line driver power supply XVdd can be used in two different modes:  
• XVdd connected to AVdd. This mode limits the range of XVdd to 2.7 – 3.3V.  
• XVdd connected to an external supply. In this configuration the external supply should be in  
the range 2.7 – 10.0V. The higher voltages improve the SNR of the system.  
• If XVdd < 4.75 V, please note restriction on minimum Cx in Section 9.2 on page 58.  
4.6.2  
Bypass Capacitors  
Each power supply (Vdd, XVdd and AVdd) requires a 1 µF bypass capacitor. If the internal  
1.8V VDDCORE regulator is used, the Vdd 1 µF should be replaced with a 10 µF capacitor  
and a 2.2 µF capacitor should be added on the VDDCORE pin. In addition, there should be a  
100 nF bypass capacitor on each power trace. The capacitors should be ceramic X7R or X5R.  
See the schematics in Section 2.3 on page 11 for more details.  
The PCB traces connecting the bypass capacitors to the pins of the device must not exceed  
5 mm in length. This limits any stray inductance that would reduce filtering effectiveness. See  
also Section 9.11 on page 68.  
4.6.3  
4.6.4  
Supply Quality  
While the device has good Power Supply Rejection Ratio properties, poorly regulated and/or  
noisy power can significantly reduce performance. See Section 9.11 on page 68.  
Always operate the device with a well-regulated and clean AVdd (and XVdd, if used) supply. It  
supplies the sensitive analog stages in the device. See Figure 9-1 on page 74 for an example  
XVdd supply.  
Supply Sequencing  
Vdd and AVdd can be powered independently of each other without damage to the device.  
Vdd must be applied to the device before XVdd to ensure proper initialization of the device. All  
voltage ranges should be used with in the limits specified in Section 9.2 on page 58.  
Make sure that any lines connected to the device are below or equal to Vdd during power-up.  
For example, if RESET is supplied from a different power domain to the VDD pin, make sure  
that it is held low when Vdd is off. If this is not done, the RESET signal could parasitically  
couple power via the RESET pin into the Vdd supply.  
4.6.5  
Oscillator  
A 16 MHz crystal oscillator must be connected to the device when the device is operating in  
USB mode. A crystal oscillator with a minimum accuracy of 100 ppm must be used.  
An external oscillator is not needed in I2C-compatible mode.  
22  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
4.6.6  
Decoupling Requirements  
Certain pins have specific decoupling requirements:  
• Pin L7 (VDD_INPUT) should be connected to VDD.  
• Pin N8 (VDDCORE) is a decoupling connection for an internal LDO (Low Drop-Out  
regulator) circuit and should not be powered by an external supply unless in 1.8 V I2C-  
compatible mode.  
See also the schematics in Section 2.3 on page 11.  
4.6.7  
PCB Cleanliness  
Modern no-clean-flux is generally compatible with capacitive sensing circuits.  
CAUTION: If a PCB is reworked to correct soldering faults relating to any of  
the device devices, or to any associated traces or components, be sure that you  
fully understand the nature of the flux used during the rework process. Leakage  
currents from hygroscopic ionic residues can stop capacitive sensors from  
functioning. If you have any doubts, a thorough cleaning after rework may be the  
only safe option.  
4.7  
4.8  
PCB Layout  
Debugging  
See Appendix A on page 72 for general advice on PCB layout.  
The device provides a mechanism for obtaining raw data for development and testing  
purposes by reading data from the Diagnostic Debug T37 object. Refer to the mXT1664S 2v0  
Protocol Guide for more information on this object.  
A second mechanism is provided that allows the host to read the real-time raw data using the  
low-level debug port. This can be accessed via the SPI interface or the USB interface. Note  
that if both the I2C-compatible and USB interfaces are used for normal communications, the  
debug data is output on the USB interface. Refer to QTAN0050, Using the maXTouch Debug  
Port, for more information on the debug port.  
There is also a Self Test T25 object that runs self-test routines in the device to find hardware  
faults on the sense lines and the electrodes. This object also performs an initial pin fault test  
on power-up to ensure that there is no X-to-Y short before the high-voltage supply is enabled  
inside the chip. A high-voltage short into the analog circuitry would break the device.  
Refer to the mXT1664S 2v0 Protocol Guide and QTAN0059, Using the maXTouch Self Test  
Feature, for more information on the Self Test T25 object.  
4.9  
Communications  
Communication with the host is achieved using either the I2C-compatible interface (see  
Section 5 on page 25), the HID-I2C-compatible interface (see Section 7 on page 45), or the  
USB interface (see Section 6 on page 32). Any interface can be used, depending on the  
needs of the user’s project, but only one interface should be used in any one design. The  
selection of the I2C-compatible or the HID-I2C-compatible interface is determined by the  
I2CMODE pin.  
The interface is selected using the COMMSEL pin. Connect COMMSEL to Vdd to select the  
USB interface, or to GND to select one of the two I2C-compatible interfaces.  
23  
9871EX–AT42–12/13  
Note that you only need to connect those pins that are actually required for use with the  
chosen communications interface. This ensures optimal power consumption and correct  
functioning. See Section 2.2 on page 6 for details on what should be done with the  
unconnected pins.  
4.10 Configuring the Device  
The device has an object-based protocol that organizes the features of the device into objects  
that can be controlled individually. This is configured using the Object Protocol common to  
many of Atmel’s touch sensor devices. For more information on the Object Protocol and its  
implementation on the device, refer to the mXT1664S 2v0 Protocol Guide.  
24  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
5. I2C-compatible Communications  
5.1  
Communications Protocol  
The device can use an I2C-compatible interface for communication. See Appendix E on  
page 84 for details of the I2C-compatible protocol.  
The I2C-compatible interface is used in conjunction with the CHG line. The CHG line going  
active signifies that a new data packet is available. This provides an interrupt-style interface  
and allows the device to present data packets when internal changes have occurred.  
5.2  
I2C-compatible Addresses  
5.2.1  
I2C-compatible Addresses  
The device supports two I2C-compatible device addresses that are selected using the  
ADDSEL line at start-up. The two internal I2C-compatible device addresses are 0x4A  
(ADDSEL low) and 0x4B (ADDSEL floating or high). These are shifted left to form the SLA+W  
or SLA+R address when transmitted over the I2C-compatible interface, as shown in  
Figure 5-1.  
Bit 7  
Bit 6  
Bit 5  
Bit 4  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
Read/wri  
te  
Address: 0x4A or 0x4B  
5.3  
Writing To the Device  
A WRITE cycle to the device consists of a START condition followed by the I2C-compatible  
address of the device (SLA+W). The next two bytes are the address of the location into which  
the writing starts. The first byte is the Least Significant Byte (LSByte) of the address, and the  
second byte is the Most Significant Byte (MSByte). This address is then stored as the address  
pointer.  
Subsequent bytes in a multi-byte transfer form the actual data. These are written to the  
location of the address pointer, location of the address pointer +1, location of the address  
pointer + 2, and so on. The address pointer returns to its starting value when the WRITE  
cycle’s STOP condition is detected.  
Figure 5-1 shows an example of writing four bytes of data to contiguous addresses starting at  
0x1234.  
Figure 5-1. Example of a Four-byte Write Starting at Address 0x1234  
START SLA+W  
0x34  
0x12  
0x96  
0x9B  
0xA0  
0xA5  
STOP  
Write Address  
(LSB, MSB)  
Write Data  
25  
9871EX–AT42–12/13  
5.4  
I2C-compatible Writes in Checksum Mode  
In I2C-compatible checksum mode an 8-bit CRC is added to all I2C-compatible writes. The  
CRC is sent at the end of the data write as the last byte before the STOP condition. All the  
bytes sent are included in the CRC, including the two address bytes. Any command or data  
sent to the device is processed even if the CRC fails.  
To indicate that a checksum is to be sent in the write, the most significant bit of the MSByte of  
the address is set to 1. For example, the I2C-compatible command shown in Figure 5-2 writes  
a value of 150 (0x96) to address 0x1234 with a checksum. The address is changed to 0x9234  
to indicate checksum mode.  
Figure 5-2. Example of a Write To Address 0x1234 With a Checksum  
Checksum  
START SLA+W  
0x34  
0x92  
0x96  
STOP  
Write Address  
(LSB, MSB)  
Write Data  
5.5  
Reading From the Device  
Two I2C-compatible bus activities must take place to read from the device. The first activity is  
an I2C-compatible write to set the address pointer (LSByte then MSByte). The second activity  
is the actual I2C-compatible read to receive the data. The address pointer returns to its starting  
value when the read cycle’s NACK is detected.  
It is not necessary to set the address pointer before every read. The address pointer is  
updated automatically after every read operation. The address pointer will be correct if the  
reads occur in order. In particular, when reading multiple messages from the Message  
Processor T5 object, the address pointer is automatically reset to allow continuous reads (see  
Section 5.6).  
The WRITE and READ cycles consist of a START condition followed by the I2C-compatible  
address of the device (SLA+W or SLA+R respectively).  
Figure 6-10 shows the I2C-compatible commands to read four bytes starting at address  
0x1234.  
Figure 5-3. Example of a Four-byte Read Starting at Address 0x1234  
Set Address Pointer  
START SLA+W  
0x34  
0x12  
STOP  
Read Address  
(LSB, MSB)  
Read Data  
START SLA+R  
0x96  
0x9B  
0xA0  
0xA5  
STOP  
Read Data  
26  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
5.6  
Reading Status Messages with DMA  
The device facilitates the easy reading of multiple messages using a single continuous read  
operation. This allows the host hardware to use a direct memory access (DMA) controller for  
the fast reading of messages, as follows:  
1. The host uses a write operation to set the address pointer to the start of the Message  
Count T44 object, if necessary. (1) If a checksum is required on each message, the  
most significant bit of the MSByte of the read address must be set to 1.  
2. The host starts the read operation of the message by sending a START condition.  
3. The host reads the Message Count T44 object (one byte) to retrieve a count of the  
pending messages (refer to the mXT1664S 2v0 Protocol Guide for details).  
4. The host calculates the number of bytes to read by multiplying the message count by  
the size of the Message Processor T5 object. (2)  
Note that the size of the Message Processor T5 object as recorded in the Object  
Table includes a checksum byte. If a checksum has not been requested, one byte  
should be deducted from the size of the object. That is: number of bytes = count x  
(size-1).  
5. The host reads the calculated number of message bytes. It is important that the host  
does not send a STOP condition during the message reads, as this will terminate the  
continuous read operation and reset the address pointer. No START and STOP  
conditions must be sent between the messages.  
6. The host sends a STOP condition at the end of the read operation after the last  
message has been read. The NACK condition immediately before the STOP  
condition resets the address pointer to the start of Message Count T44 object.  
Figure 5-4 on page 28 shows an example of using a continuous read operation to read three  
messages from the device without a checksum. Figure 5-5 on page 29 shows the same  
example with a checksum.  
1. The STOP condition at the end of the read resets the address pointer to its initial location, so it may already be  
pointing at the Message Count T44 object following a previous message read.  
2. The host should have already read the size of the Message Processor T5 object in its initialization code.  
27  
9871EX–AT42–12/13  
Figure 5-4. Continuous Message Read Example – No Checksum  
Set Address Pointer  
START SLA+W  
LSB  
MSB  
STOP  
Start Address of  
Message Count Object  
Read Message Count  
Continuous  
Read  
START SLA+R Count = 3  
Message Count Object  
Read Message Data  
(size 1) bytes  
Report ID  
Data  
Data  
Message Processor Object Message # 1  
Report ID  
Data  
Data  
Message Processor Object Message # 2  
Report ID  
Data  
Data  
STOP  
Message Processor Object Message # 3  
28  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
Figure 5-5. Continuous Message Read Example – I2C-compatible Checksum Mode  
Set Address Pointer  
MSB |  
0x80  
Checksum  
START SLA+W  
LSB  
STOP  
Start Address of  
Message Count Object  
Read Message Count  
START SLA+R Count = 3  
Continuous  
Read  
Message Count Object  
Read Message Data  
size bytes  
Report ID  
Checksum  
Data  
Data  
Message Processor Object Message # 1  
Report ID  
Checksum  
Data  
Data  
Message Processor Object Message # 2  
Report ID  
Checksum  
Data  
Data  
STOP  
Message Processor Object Message # 3  
There are no checksums added on any other I2C-compatible reads. An 8-bit CRC can be  
added, however, to all I2C-compatible writes, as described in Section 5.4 on page 26.  
An alternative method of reading messages using the CHG line is given in Section 5.7.  
5.7  
CHG Line  
The CHG line is an active-low, open-drain output that is used to alert the host that a new  
message is available in the Message Processor T5 object. This provides the host with an  
interrupt-style interface with the potential for fast response times. It reduces the need for  
wasteful I2C-compatible communications.  
The CHG line remains low as long as there are messages to be read. The host should be  
configured so that the CHG line is connected to an interrupt line that is level-triggered. The  
host should not use an edge-triggered interrupt as this means adding extra software  
precautions.  
29  
9871EX–AT42–12/13  
The CHG line should be allowed to float during normal usage. This is particularly important  
after power-up or reset (see Section 4.1 on page 16).  
A pull-up resistor is required, typically 10 kΩ to Vdd.  
The CHG line operates in two modes, as defined by the Communications Configuration T18  
object (refer to the mXT1664S 2v0 Protocol Guide).  
Mode 0  
NA  
CK  
ACK  
I2C-compatible Interface  
.
.
.
.
.
.
.
.
.
.
.
.
STA  
RT  
SLA-  
R
B
0
B
1
B
n
B
0
B
1
B
n
B
0
B
1
B
n
STO  
P
Message  
Message #1  
Message #2  
#m  
CHG Line  
.
.
.
CHG line high or low; see text  
Mode 1  
I2C-compatible Interface  
ACK  
.
.
.
.
.
.
.
.
.
.
.
.
STA  
RT  
SLA-  
R
B
0
B
1
B
n
B
0
B
1
B
n
B
0
B
1
B
n
STO  
P
Message  
Message #1  
Message #2  
#m  
CHG Line  
.
.
.
CHG line high or low; see text  
In Mode 0:  
1. The CHG line goes low to indicate that a message is present.  
2. The CHG line goes high when the first byte of the first message (that is, its report ID)  
has been sent and acknowledged (ACK sent) and the next byte has been prepared in  
the buffer.  
3. The STOP condition at the end of an I2C-compatible transfer causes the CHG line to  
stay high if there are no more messages. Otherwise the CHG line goes low to  
indicate a further message.  
Mode 0 allows the host to continually read messages. Messaging reading ends when a report  
ID of 255 (“invalid message”) is received. Alternatively the host ends the transfer by sending a  
NACK after receiving the last byte of a message, followed by a STOP condition. If and when  
there is another message present, the CHG line goes low, as in step 1. In this mode the state  
of the CHG line does not need to be checked during the I2C-compatible read.  
30  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
In Mode 1:  
1. The CHG line goes low to indicate that a message is present.  
2. The CHG line remains low while there are further messages to be sent after the  
current message.  
3. The CHG line goes high again only once the first byte of the last message (that is, its  
report ID) has been sent and acknowledged (ACK sent) and the next byte has been  
prepared in the output buffer.  
Mode 1 allows the host to continually read the messages until the CHG line goes high, and the  
state of the CHG line determines whether or not the host should continue receiving messages  
from the device.  
Note: The state of the CHG line should be checked only between messages and not  
between the bytes of a message. The precise point at which the CHG line changes  
state cannot be predicted and so the state of the CHG line cannot be guaranteed  
between bytes.  
The Communications Configuration T18 object can be used to configure the behavior of the  
CHG line. In addition to the CHG line operation modes described above, this object allows the  
use of edge-based interrupts, as well as direct control over the state of the CHG line. Refer to  
the mXT1664S 2v0 Protocol Guide for more information.  
5.8  
5.9  
SDA, SCL  
The I2C-compatible bus transmits data and clock with SDA and SCL, respectively. These are  
open-drain. The device can only drive these lines low or leave them open. The termination  
resistors (Rp) pull the line up to Vdd if no I2C-compatible device is pulling it down.  
The termination resistors should be chosen so that the rise times on SDA and SCL meet the  
I2C-compatible specifications for the interface speed being used, bearing in mind other loads  
on the bus, (see Section 9.7 on page 67).  
Clock Stretching  
The device supports clock stretching in accordance with the I2C specification. It may also  
instigate a clock stretch if a communications event happens during a period when the device is  
busy internally. The maximum clock stretch is approximately 10 – 15 ms.  
The device has an internal bus monitor that can reset the internal I2C-compatible hardware if  
SDA or SCL is stuck low for more than 200 ms. This means that if a prolonged clock stretch of  
more than 200 ms is seen by the device, then any ongoing transfers with the device may be  
corrupted. The bus monitor is enabled or disabled using the Communications Configuration  
T18 object. Refer to the mXT1664S 2v0 Protocol Guide for more information.  
31  
9871EX–AT42–12/13  
6. USB Communications  
6.1  
Communications Protocol  
The device is a composite USB device with two Human Interface Device (HID) interfaces:  
Interface 0 – This interface provides a Digitizer HID that supplies touch information to the  
Host for passing on to a PC’s operating system. This interface is supported by Microsoft®  
Windows® 8 without the need for additional software. The HID identifier string is  
“Atmel maXTouch Digitizer”.  
Interface 1 – This interface provides a Generic HID that allows the host to communicate  
with the device using the Object Protocol. The HID identifier string is  
“Atmel maXTouch Control”.  
The topography of the USB device is shown in Figure 6-1.  
Figure 6-1. USB Topography  
Endpoint 0  
(Control)  
Composite Device  
Interface 0  
“Atmel maXTouch Digitizer”  
(Digitizer HID)  
Interface 1  
“Atmel maXTouch Control”  
(Generic HID)  
Endpoint 3  
Endpoint 1  
(In)  
Endpoint 2  
(Out)  
(In)  
Communication takes place using Full-speed USB at 12 Mbps.  
For more information on the USB HID specifications visit www.usb.org.  
6.2  
Endpoint Addresses  
The endpoint addresses are listed in Table 6-1.  
Table 6-1.  
Endpoint  
Endpoint 0  
Endpoint 1  
Endpoint 2  
Endpoint 3  
Endpoint Addresses  
Direction  
Address  
Bidirectional (control)  
In  
0x81  
0x02  
0x83  
Out  
In  
32  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
6.3  
Composite Device  
The composite device is a USB 2.0-compliant USB composite device running at full speed  
(12 Mbps). It has the following specification:  
Vendor ID:  
Product ID:  
Version:  
0x03EB (Atmel)  
0x212C (mXT1664S1)  
16-bit Version & Build Identifier in the form 0xVVBB, where:  
VV = Version Major (Upper 4 bits) / Minor (Lower 4 bits)  
BB = Build number in BCD format  
The composite device has one bidirectional endpoint: the Control Endpoint (Endpoint 0). It is  
used by the USB Host to interrogate the USB device for details on its configurations,  
interfaces and report structures. It is also used to apply general device settings relating to USB  
Implementation.  
6.4  
Interface 0 (Digitizer HID)  
6.4.1  
Normal Touch Report  
Interface 0 is a Digitizer-class HID, compliant with HID specification 1.11 with amendments. (1)  
This interface consists of a single interrupt-In endpoint (Endpoint 3).  
The format of an input report is shown in Figure 6-3. Each input report start with a USB Report  
ID (2) (value 0x01). This is followed by 6 sets of data (11 bytes each) that describe the status of  
up to 5 active touches. The input report is terminated by a single byte that contains the number  
of active touches.  
Figure 6-2. Input Report Packet  
Touch 1  
(11bytes)  
Touch 2  
(11bytes)  
Touch 3  
(11bytes)  
Touch 4  
(11bytes)  
Touch 5  
(11bytes)  
Scan  
Time  
Count  
0x01  
USB  
Active Touch Status Data  
Report ID  
Any unused touch data bytes are set to zero (for example, the data for one active touch would  
be followed by 56 zeroed bytes). If there are more than five active touches to be reported, a  
further input report is sent with the remaining touch data. In this case, the count (for all  
touches) is sent in the last count byte and the count byte in the first report is zero. An example  
of the input report packets for 7 active touches is shown in Figure 6-3 on page 34.  
1. This is an implementation of Microsoft’s USB HID specification for Multitouch digitizers.  
2. The term USB Report ID should not be confused with the term Report Id as used in the Object Protocol; the two are  
entirely different concepts.  
33  
9871EX–AT42–12/13  
Figure 6-3. Example Input Report Packets for 7 Active Touches  
Touch 1  
(11bytes)  
Touch 2  
(11bytes)  
Touch 3  
(11bytes)  
Touch 4  
(11bytes)  
Touch 5  
(11bytes)  
Scan  
Time  
Count=7  
0
0x01  
0x01  
Touch 6  
(11bytes)  
Touch 7  
(11bytes)  
0
0
0
Scan  
Time  
(11bytes)  
(11bytes)  
(11bytes)  
USB  
Active Touch Status Data  
Report ID  
The input report format depends on the geometry calculation field (TCHGEOMEN) of the  
Digitizer HID Configuration T43 object. Table 6-3 and Table 6-3 gives the detailed format of an  
input report packet..  
Table 6-2.  
Input Report Format when TCHGEOMEN is Enabled  
Byte  
Bit 7  
Bit 6  
Bit 5  
Bit 4  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
0
USB Report ID  
1
Touch ID (first touch)  
Reserved  
Status  
2
X Position LSByte (first touch)  
X Position MSBits (first touch)  
X Position LSByte (first touch)  
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
0
X Position MSBits (first touch)  
6
7
Y Position LSByte (first touch)  
0
Y Position MSBits (first touch)  
8
Y Position LSByte (first touch)  
9
0
Y Position MSBits (first touch)  
10  
Touch width  
Touch height  
11  
12 – 22  
23 – 33  
34 – 44  
45 – 55  
56 – 57  
58  
Touch data for second touch – same format as bytes 1 – 11  
Touch data for third touch – same format as bytes 1 – 11  
Touch data for fourth touch – same format as bytes 1 – 11  
Touch data for fifth touch – same format as bytes 1 – 11  
Scan time  
Contact count  
Table 6-3.  
Input Report Format when TCHGEOMEN is Disabled  
Byte  
Bit 7  
Bit 6  
Bit 5  
Bit 4  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
0
1
USB Report ID  
Touch ID (first touch)  
Reserved  
Status  
2
X Position LSByte (first touch)  
X Position MSBits (first touch)  
3
0
0
0
0
4 – 5  
Reserved  
34  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
Table 6-3.  
Byte  
Input Report Format when TCHGEOMEN is Disabled  
Bit 7  
Bit 6  
Bit 5  
Bit 4  
Y Position LSByte (first touch)  
Y Position MSBits (first touch)  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
6
7
0
0
0
0
8 – 9  
Reserved  
Reserved  
10 –11  
12 – 22  
23 – 33  
34 – 44  
45 – 55  
56 – 57  
58  
Touch data for second touch – same format as bytes 1 – 11  
Touch data for third touch – same format as bytes 1 – 11  
Touch data for fourth touch – same format as bytes 1 – 11  
Touch data for fifth touch – same format as bytes 1 – 11  
Scan time  
Contact count  
In Table 6-3:  
• Byte 1:  
Status: 1 = In detect, 0 = Not in detect.  
Touch ID: Identifies the touch for which this is a status report (starting from 1).  
• Bytes 2 to 9:  
X and Y positions: These are scaled to 12-bit resolution. This means that the  
upper four bits of the MSByte will always be zero.  
Bytes 4, 5, 8, 9, 10 and 11 are Reserved when TCHGEOMEN field is set to 0.  
• Byte 10:  
Touch Width: Reports the width of the detected touch.  
• Byte 11:  
Touch Height: Reports the height of the detected touch.  
• Byte 56 to 57:  
Scan Time: Timestamp associated with the current report frame with a 10 kHz  
resolution.  
Note that the scan time for each report packet of a single frame is same.  
• Byte 58:  
Contact Count: Non-zero value in the first report packet of a frame indicating the  
total number of report packets in the frame. Zeros in the subsequent report  
packets within the frame.  
6.4.2  
Active maXStylus Report  
The format of an active maXStylus report is shown in Figure 6-4. Each input report start with a  
USB Report ID (1) (value 0x03).  
1. The term USB Report ID should not be confused with the term Report Id as used in the Object Protocol; the two are  
entirely different concepts.  
35  
9871EX–AT42–12/13  
Figure 6-4. Active maXStylus Report Packet  
Touch 1  
(10 bytes)  
0x03  
USB  
Report ID  
Active  
maXStylus  
Data  
Table 6-4 gives the detailed format of an active stylus report packet  
Table 6-4.  
Active maXStylus Report Format  
Byte  
0
Bit 7  
Bit 6  
Bit 5  
Bit 4  
USB Report ID  
In Range Reserved  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
1
Reserved  
Eraser  
Barrel  
Tip  
2
X Position  
X Center Position  
Y Position  
3
4
5
6
7
8
Y Center Position  
Tip Pressure  
9
10  
• Byte 1:  
Tip: 1 = Contact of the stylus with the touch screen surface, 0 = No contact  
Barrel: 1 = Barrel button on, 0 = Barrel button off  
Eraser: 1 = Eraser function on, 0 = Eraser function off  
In Range: 1 = Stylus approaching the touchscreen detected, 0 = No stylus  
approaching the touchscreen detected.  
• Byte 2 to 3:  
X position  
Byte 4 to 5:  
X center position  
• Byte 6 to 7:  
Y position  
Byte 8 to 9:  
Y center position  
• Byte 10:  
Tip Pressure: Force exerted against the touch screen surface by the stylus.  
36  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
6.5  
Interface 1 (Generic HID)  
Interface 1 is a Generic Human Interface Device, compliant with HID specification 1.11 with  
amendments. (1)  
It consists of two endpoints: an interrupt-In endpoint (Endpoint 1) and an interrupt-out endpoint  
(Endpoint 2). The data packet in each case contains a 1-byte USB Report ID followed by 63  
bytes of data, totalling 64 bytes (see Figure 6-5).  
Figure 6-5. Data Packet for Interface 1  
0x01  
Data 0  
Data 1  
Data 62  
USB  
Packet Data  
Report ID  
Commands are sent by the application software over the Interrupt-out endpoint, Endpoint 2.  
The command is sent as the first data byte of the packet data (data byte 0), followed by  
conditions and/or data.  
The supported commands are as follows:  
• Read/write Memory Map  
• Send Auto-return messages  
• Start debug monitoring  
• End debug monitoring  
Responses from the device are sent via the interrupt-In endpoint, Endpoint 1.  
6.5.1  
Read/Write Memory Map  
Introduction  
6.5.1.1  
This command is used to carry out a write/read operation on the memory map of the device.  
The USB Report ID is 0x01.  
The command packet has the generic format given in Figure 6-6. The following sections give  
examples on using the command to write to the memory map and to read from the memory  
map.  
Figure 6-6. Generic Command Packet Form  
0x51  
Addr0  
NumWx  
NumRx  
Addr1  
Data 0  
Data 57  
0x01  
USB  
Report ID  
Command  
ID  
Number of Bytes  
to Write / Read  
Address Pointer  
(LSB, MSB)  
Write Data  
In Figure 6-6:  
NumWx is the number of data bytes to write to the memory map (may be zero). If the  
address pointer is being sent, this must include the size of the address pointer.  
1. This is an implementation of Microsoft’s USB HID specification for Multitouch digitizers.  
37  
9871EX–AT42–12/13  
NumRx is the number of data bytes to read from the memory map (may be zero).  
Addr 0 and Addr 1 form the address pointer to the memory map (where necessary; may  
be zero if not needed).  
Data 0 to Data 57 are the bytes of data to be written (in the case of a write). Note that data  
locations beyond the number specified by NumWx will be ignored.  
The response packet has the generic format given in Figure 6-7.  
Figure 6-7. Response Packet Format  
NumRx  
0x01  
Status  
Data 0  
Data 60  
USB  
Report ID  
Result Number of  
Bytes Read  
Read Data  
In Figure 6-7:  
Status indicates the result of the command:  
0x00 = read and write completed; read data returned  
0x04 = write completed; no read data requested  
NumRx is the number of bytes following that have been read from the memory map (in the  
case of a read). This will be the same value as NumRx in the command packet.  
Data 0 to Data 60 are the data bytes read from the memory map.  
6.5.1.2  
Writing To the Device  
A write operation cycle to the device consists of sending a packet that contains six header  
bytes. These specify the USB report ID, the Command ID, the number of bytes to read, the  
number of bytes to write, and the 16-bit address pointer.  
Subsequent bytes in a multibyte transfer form the actual data. These are written to the location  
of the address pointer, location of the address pointer +1, location of the address pointer + 2,  
and so on.  
Figure 6-8 shows an example command packet to write four bytes of data to contiguous  
addresses starting at 0x1234.  
Figure 6-8. Example of a Four-byte Write Starting at Address 0x1234  
0x01  
0x06  
0x00  
0x34  
0x12  
0x96  
0x9B  
0xA0  
0xA5  
0x51  
USB  
Report ID  
Number Number  
of Bytes of Bytes  
to Write to Read  
Address Pointer  
(LSB, MSB)  
Write Data  
Command  
ID  
In Figure 6-8:  
• The number of bytes to read is set to zero as this is a write-only operation.  
• The number of bytes to write is six: that is, four data bytes plus the two address pointer  
bytes.  
38  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
Figure 6-9 shows the response to this command. Note that the result status returned is 0x04  
(that is, the write operation was completed but no read data was requested).  
Figure 6-9. Response to Example Four-byte Write  
0x01  
0x04  
USB  
Result  
Report ID  
6.5.1.3  
Reading From the Device  
A read operation consists of sending a packet that contains the six header bytes only and no  
write data.  
Figure 6-10 shows an example command packet to read four bytes starting at address  
0x1234. Note that the address pointer is included in the number of bytes to write, so the  
number of bytes to write is set to 2 as there are no other data bytes to be written.  
Figure 6-10. Example of a Four-byte Read Starting at Address 0x1234  
0x01  
0x51  
0x02  
0x04  
0x34  
0x12  
USB Command  
Number Number  
of Bytes of Bytes  
to Write to Read  
Address Pointer  
(LSB, MSB)  
Report ID  
ID  
It is not necessary to set the address pointer before every read. The address pointer is  
updated automatically after every read operation, so the address pointer will be correct if the  
reads occur in order.  
Figure 6-11 shows the response to this command. The result status returned is 0x00 (that is  
the write operation was completed and the data was returned). The number of bytes returned  
will be the same as the number requested (4 in this case).  
Figure 6-11. Response to Example Four-byte Read  
0x01  
0x00  
0x04  
0x96  
0x9B  
0xA0  
0xA5  
USB  
Report ID  
Result  
Number  
of Bytes  
Read  
Read Data  
6.5.2  
Send Auto-return Messages  
6.5.2.1  
Introduction  
With this command the device can be configured to return new messages from the Message  
Processor T5 object autonomously. The packet sequence to do this is shown in Figure 6-12.  
39  
9871EX–AT42–12/13  
Figure 6-12. Packet Sequence for “Send Auto-return” Command.  
Host Device  
“Send Auto-return” Command Packet  
Response Packet  
Message Data Packet  
Message Data Packet  
:
:
Message Data Packet  
Null Packet to Terminate  
The USB Report ID is 0x01.  
The command packet has the format given in Figure 6-13.  
Figure 6-13. Command Packet Format  
0x01  
0x88  
Res 0  
Res 1  
Res 2  
Res 3  
Res 4  
Res 5  
Command  
ID  
USB  
Report ID  
Reserved Bytes  
(=0x00)  
In Figure 6-13:  
Res 0 to Res 5 are reserved bytes with a value of 0x00.  
The response packet has the format given in Figure 6-14. Note that with this command, the  
command packet does not include an address pointer as the device already knows the  
address of the Message Processor T5 object.  
Figure 6-14. Response Packet Format  
0x88  
0x00  
0x01  
Command  
Received  
USB  
Report ID  
Once the device has responded to the command, it starts sending message data. Each time a  
message is generated in the Message Processor T5 object, the device automatically sends a  
message packet to the host with the data. The message packets have the format given in  
Figure 6-15.  
40  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
Figure 6-15. Message Packet Format  
0xFA  
0x00  
Rpt ID  
Data 0  
Data n  
0x01  
USB  
Report ID  
ID Bytes  
Message  
Report ID  
Message Data  
In Figure 6-15:  
• ID Bytes identify the packet as an auto-return message packet.  
Rpt ID is the Report ID returned by the Message Processor T5 object. (1)  
Message Data bytes are the bytes of data returned by the Message Processor. The size of  
the data depends on the source object for which this is the message data. Refer to the  
mXT1664S 2v0 Protocol Guide for more information.  
To stop the sending of the messages, the host can send a null command packet. This consists  
of two bytes: a report ID of 0x01 and a command byte of 0x00 (see Figure 6-16).  
Figure 6-16. Null Command Packet Format  
0x01  
0x00  
Null  
USB  
Report Command  
ID ID  
Note that the “Start Debug Monitoring” command may also terminate any currently enabled  
auto-return mode (see Section 6.5.3).  
6.5.2.2  
Reading Status Messages  
Figure 6-10 shows an example sequence of packets to receive messages from the Message  
Processor T5 object using the “Send Auto-return” command.  
1. This is the Report ID used in the Object Protocol and should not be confused with the USB Report ID. Refer to the  
mXT1664S 2v0 Protocol Guide for more information on the use of Report IDs in the Object Protocol.  
41  
9871EX–AT42–12/13  
Figure 6-17. Example Auto-return Command Packet  
Send Auto-return Command  
0x88  
0x00  
0x00  
0x00  
0x00  
0x00  
0x01  
Message Data  
USB Command  
Report  
ID  
ID  
Response From Chip Set  
0x01  
0x88  
0x00  
Command  
Received  
Read Message Data  
0x01  
0xFA  
0xFA  
0x00  
0x00  
0x02  
0x11  
0xC0  
0x03  
0x1A  
0x1A  
0x1E  
0x06  
0x00  
0x4F  
0x00  
0x1C  
0x1C  
0x10  
0x01  
0x1C  
ID Bytes  
Message  
Report ID  
Message Data  
Send Null Command To Terminate  
0x01  
0x00  
Null  
6.5.3  
Start Debug Monitoring  
This command instructs the device to return debug-monitoring data packets using the debug  
port, if this feature has been enabled in the Command Processor T6 object.  
The USB Report ID can be either 0x01 or 0x02. This allows the source of the request to be  
identified. The main difference is that a USB Report ID of 0x01 will terminate any currently  
enabled auto-return mode (see Section 6.5.2 on page 39).  
The command packet has the format given in Figure 6-18.  
Figure 6-18. Command Packet Format  
0x01or  
0xE1  
0x02  
USB  
Report  
ID  
Command  
ID  
The response packet has the format given in Figure 6-19. Note that the USB Report ID will be  
the same as that used in the command packet.  
42  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
Figure 6-19. Response Packet Format  
0x01 or  
0x02  
0xE1  
USB  
Report  
ID  
Command  
Received  
The debug data packet has the format given in Figure 6-20.  
Figure 6-20. Debug Data Packet Format  
Packet  
Num  
Num  
Packets  
Frame  
Num  
Data 0  
Data 59  
0x02  
USB  
Debug Data  
Report ID  
In Figure 6-20:  
PacketNum is the number of this USB packet in the debug data frame (full set of debug  
data). Refer to QTAN0050, Using the maXTouch Debug Port, for more information on the  
format of the debug data.  
NumPackets is the total number of USB packets that make up a debug data frame.  
FrameNum is the ID number of this frame.  
Data 0 to Data 59 are 59 bytes of debug data.  
6.5.4  
Stop Debug monitoring  
This command instructs the device to cease returning debug-monitoring data packets.  
The command packet has the following format:  
The USB Report ID is either 0x01 or 0x02.  
The command packet has the format given in Figure 6-21.  
Figure 6-21. Command Packet Format  
0x01 or  
0x02  
0xE2  
USB  
Report  
ID  
Command  
ID  
The response packet has the format given in Figure 6-22.  
43  
9871EX–AT42–12/13  
Figure 6-22. Response Packet Format  
0x01 or  
0x02  
0xE2  
USB  
Report  
ID  
Command  
Received  
6.6  
USB Suspend Mode  
When the device is used in USB configuration, the USB “System Suspend” event can be used  
to minimize current consumption. Note that it is possible to put the device into deep sleep  
mode without also sending a “System Suspend” event on the USB bus, but the current  
consumption is not as low. The USB controller must send a USB “System Wake Up” event on  
the bus to bring the device out of suspend mode.  
The device can also be configured to respond to USB “Remote Wakeup” requests. In this  
case, if the operating system enables remote wakeup and the device is suspended, the device  
will continue to scan at a preset sensor refresh rate. Use of the remote wake up feature and  
the sensor refresh rate are configured using the Digitizer HID Configuration T43 object (refer  
to the mXT1664S 2v0 Protocol Guide for more information).  
44  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
7. HID-I2C-compatible Communications  
7.1  
Communications Protocol  
The device is an HID-I2C DEVICE presenting two top-level collections (TLCs):  
Interface 0 (Digitizer HID-I2C) – supplies touch information to the host. This interface is  
supported by Microsoft Windows 8 without the need for additional software.  
Interface 1 (Generic HID-I2C) – This interface provides a generic HID-I2C interface that allows  
the host to communicate with the chipset using the object protocol.  
To use the device in HID-I2C mode, the I2CMODE pin should be pulled low. Other features are  
identical to standard I2C-compatible communication described in Section 5.2 on page 25.  
7.2  
7.3  
I2C-compatible Addresses  
See Section 5.2 on page 25.  
Device  
The device is compliant with HID-I2C specification V0.9. It has the following specification:  
Vendor ID:  
Product ID:  
Version:  
0x03EB (Atmel)  
0x212C  
16-bit Version & Build Identifier in the form 0xVVBB, where:  
VV = Version Major (Upper 4 bits) / Minor (Lower 4 bits)  
BB = Build number in BCD format  
HID descriptor address:  
0x0000.  
7.4  
Interface 0 (Digitizer HID-I2C)  
Interface 0 is a digitizer class HID.  
7.4.1  
Normal Touch Report  
The format of an input report is shown in Figure 7-1. Each input report starts with a report ID  
and each input report message report contains data of one touch.  
Figure 7-1. Input Report Packet  
Touch 1  
(14 bytes)  
Scan Time  
(2 bytes)  
Count  
0x01  
HID-I2C  
Report ID  
Touch  
Status  
Data  
An example of the input report packets for 3 active touches is shown in Figure 6-3 on page 34.  
45  
9871EX–AT42–12/13  
Figure 7-2. Example Input Report Packets for 3 Active Touches  
Touch 1  
(14 bytes)  
Scan Time  
(2 bytes)  
Count = 3  
Count = 0  
Count = 0  
0x01  
0x01  
0x01  
Touch 2  
(14 bytes)  
Scan Time  
(2 bytes)  
Touch 3  
(14 bytes)  
Scan Time  
(2 bytes)  
HID-I2C  
Report ID  
Touch  
Status  
Data  
Each input report consists of a HID-I2C report ID followed by 17 bytes of that describe the  
status of one active touch. The input report format depends on the geometry calculation field  
(TCHGEOMEN) of the Digitizer HID Configuration T43 object. Table 7-2 and Table 7-2  
explains the detailed format of an input report packet.  
Table 7-1.  
Input Report Format when TCHGEOMEN = 1  
Byte  
0
Bit 7  
Bit 6  
Bit 5  
Bit 4  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
HID-I2C Report ID  
Reserved  
1
Status  
2
Touch ID  
3 – 4  
5 – 6  
7 – 8  
9 – 10  
11  
X Position  
X’ Position  
Y Position  
Y’ Position  
Touch Width  
Reserved  
12  
13  
Touch Height  
Reserved  
14  
15 – 16  
17  
Scan Time  
Number of active touches to be sent in one package  
46  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
Table 7-2.  
Input Report Format when TCHGEOMEN = 0  
Byte  
0
Bit 7  
Bit 6  
Bit 5  
Bit 4  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
HID-I2C Report ID  
Reserved  
1
Status  
2
Touch ID  
3 – 4  
5 – 6  
7 – 8  
9 – 10  
11  
X Position  
Reserved  
Y Position  
Reserved  
Reserved  
12  
Reserved  
13  
Reserved  
14  
Reserved  
15 – 16  
17  
Scan Time  
Number of active touches to be sent in one package  
Byte 2:  
Touch ID: Identifies the touch for which this is a status report (starting from 0).  
• Bytes 3 to 10:  
X and Y positions: These are scaled to 12-bit resolution. This means that the  
upper four bits of the MSByte will always be zero.  
Bytes 5,6, 9, 10 are Reserved when TCHGEOMEN is set to 0.  
• Byte 11:  
Touch Width: Reports the width of the detected touch when TCHGEOMEN is set  
to 1.  
• Byte 13:  
Touch Height: Reports the height of the detected touch when TCHGEOMEN is  
set to 1.  
• Byte 15 to 16:  
Scan Time: Timestamp associated with the current report packet with a 10 kHz  
resolution.  
7.4.2  
Active maXStylus Report  
The format of an active maXStylus report packet is shown in Figure 7-3.  
Figure 7-3. Example Active maXStylus Report  
Touch 1  
0x07  
(10 bytes)  
HID-I2C  
Report ID  
Active  
maXStylus  
Data  
47  
9871EX–AT42–12/13  
Each active maXStylus report start with a HID-I2C Report ID (value 0x06). Table 7-3 gives the  
detailed format of an active stylus report packet.  
Table 7-3.  
Active maXStylus Report  
Byte  
0
Bit 7  
Bit 6  
Bit 5  
Bit 4  
HID-I2C Report ID = 0x07  
In Range Reserved  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
1
Reserved  
Eraser  
Barrel  
Tip  
2
X Position  
3
4
X Center Position  
Y Position  
5
6
7
8
Y Center Position  
Tip Pressure  
9
10  
• Byte 1:  
Tip: 1 = Contact of the stylus with the touch screen surface, 0 = No contact.  
Barrel: 1 = Barrel button on, 0 = Barrel button off  
Eraser: 1 = Eraser function on, 0 = Eraser function off.  
In Range: 1 = Stylus approaching the touchscreen detected, 0 = No stylus  
approaching the touchscreen detected.  
Byte 2 to 3:  
X position  
• Byte 4 to 5:  
X center position  
Byte 6 t o7:  
Y position  
• Byte 8 to 9:  
Y center position  
• Byte 10:  
Tip Pressure: Force exerted against the touch screen surface by the stylus.  
48  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
7.5  
Interface 1 (Generic HID-I2C)  
Interface 1 is a generic human interface device. It supports an input report for receiving data  
from the device and an output report for sending data to the device.  
Commands are sent by the host using the output reports. Responses from the device are sent  
using input reports.  
Supported commands are:  
• Read/Write Memory Map  
• Send Auto-return Messages  
7.5.1  
Read/Write Memory Map  
Introduction  
7.5.1.1  
This command is used to carry out a write/read operation on the memory map of the device.  
The HID-I2C Report ID is 0x06.  
Note: This value may change.  
The command packet has the generic format given in Figure 7-4. The following sections give  
examples on using the command to write to the memory map and to read from the memory  
map.  
Figure 7-4. Generic Command Packet Format  
...  
0x06  
NumWx NumRx  
Addr 0  
Addr 1  
Data 0  
Data 11  
0x51  
HID-I2C Command  
Number of Bytes  
to Read/Write  
Address Pointer  
(LSB, MSB)  
Write Data  
Report ID  
ID  
In Figure 7-4:  
NumWx is the number of data bytes to write to the memory map (may be zero). If the  
address pointer is being sent, this must include the size of the address pointer.  
NumRx is the number of data bytes to read from the memory map (may be zero).  
Addr 0 and Addr 1 form the address pointer to the memory map (where necessary; may  
be zero if not needed).  
Data 0 to Data 11 are the bytes of data to be written (in the case of a write). Note that data  
locations beyond the number specified by NumWx will be ignored.  
The response packet has the generic format given in Figure 7-5.  
Figure 7-5. Response Packet Format  
...  
0x06  
NumRx  
Data 0  
Data 14  
Status  
HID-I2C  
Report ID  
Success/ Number of  
Bytes Read  
Read Data  
Failure  
In Figure 7-5 on page 49:  
Status indicates the result of the command:  
49  
9871EX–AT42–12/13  
0x00 = read and write completed; read data returned  
0x04 = write completed; no read data requested  
NumRx is the number of bytes following that have been read from the memory map (in the  
case of a read). This will be the same value as NumRx in the command packet.  
Data 0 to Data 14 are the data bytes read from the memory map.  
7.5.1.2  
Writing To the Device  
A write operation cycle to the device consists of sending a packet that contains six header  
bytes. These specify the HID-I2C report ID, the Command ID, the number of bytes to read, the  
number of bytes to write, and the 16-bit address pointer.  
Subsequent bytes in a multibyte transfer form the actual data. These are written to the location  
of the address pointer, location o  
If the address pointer +1, location of the address pointer + 2, and so on.  
Figure 7-6 shows an example command packet to write four bytes of data to contiguous  
addresses starting at 0x1234.  
Figure 7-6. Example of a Four-byte Write Starting at Address 0x1234  
0x06  
0x06  
0x00  
0x34  
0x12  
0x96  
0x9B  
0xA0  
0xA5  
0x51  
2
HID-I C  
Number Number  
of Bytes of Bytes  
to Write to Read  
Address Pointer  
(LSB, MSB)  
Write Data  
Command  
ID  
Report ID  
In Figure 7-6:  
• The number of bytes to read is set to zero as this is a write-only operation.  
• The number of bytes to write is six: that is, four data bytes plus the two address pointer  
bytes.  
Figure 7-7 shows the response to this command. Note that the result status returned is 0x04  
(that is, the write operation was completed but no read data was requested).  
Figure 7-7. Response to Example Four-byte Write  
0x06  
0x04  
HID-I2C  
Result  
Report ID  
7.5.1.3  
Reading From the Device  
A read operation consists of sending a packet that contains the six header bytes only and no  
write data.  
Figure 7-8 shows an example command packet to read four bytes starting at address 0x1234.  
Note that the address pointer is included in the number of bytes to write, so the number of  
bytes to write is set to 2 as there are no other data bytes to be written.  
50  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
Figure 7-8. Example of a Four-byte Read Starting at Address 0x1234  
0x06 0x51 0x02 0x04 0x34 0x12  
HID-I2C Command  
Number Number  
of Bytes of Bytes  
to Write to Read  
Address Pointer  
(LSB, MSB)  
Report ID  
ID  
It is not necessary to set the address pointer before every read. The address pointer is  
updated automatically after every read operation, so the address pointer will be correct if the  
reads occur in order.  
Figure 7-9 shows the response to this command. The result status returned is 0x00 (that is the  
write operation was completed and the data was returned). The number of bytes returned will  
be the same as the number requested (4 in this case).  
Figure 7-9. Response to Example Four-byte Read  
0x06  
0x00  
0x04  
0x96  
0x9B  
0xA0  
0xA5  
HID-I2C  
Report ID  
Result  
Number  
of Bytes  
Read  
Read Data  
7.5.2  
Send Auto-return Messages  
7.5.2.1  
Introduction  
With this command the device can be configured to return new messages from the Message  
Processor object autonomously. The packet sequence to do this is shown in Figure 7-10.  
Figure 7-10. Packet Sequence for “Send Auto-return” Command.  
Host  
Device  
“Send Auto-return” Command Packet  
Response Packet  
Message Data Packet  
Message Data Packet  
:
:
Message Data Packet  
Null Packet to Terminate  
51  
9871EX–AT42–12/13  
The HID-I2C Report ID is 0x06.  
The command packet has the format given in Figure 7-11 on page 52.  
Figure 7-11. Command Packet Format  
0x06  
Res 0  
Res 1  
Res 2  
Res 3  
Res 4  
Res 5  
0x88  
HID-I2C Command  
Reserved Bytes  
(=0x00)  
Report ID  
ID  
In Figure 7-11:  
Res 0 to Res 5 are reserved bytes with a value of 0x00.  
The response packet has the format given in Figure 7-12. Note that with this command, the  
command packet does not include an address pointer as the device already knows the  
address of the Message Processor object.  
Figure 7-12. Response Packet Format  
0x06  
0x00  
0x88  
HID-I2C  
Report ID  
Command  
Received  
Once the device has responded to the command, it starts sending message data. Each time a  
message is generated in the Message Processor object, the device automatically sends a  
message packet to the host with the data. The message packets have the format given in  
Figure 7-13.  
Figure 7-13. Message Packet Format  
...  
0x06  
0x00  
Rpt ID  
Data 0  
Data n  
0xFA  
HID-I2C  
Report ID  
ID Bytes  
Message  
Report ID  
Message Data  
In Figure 7-13:  
• ID Bytes identify the packet as an auto-return message packet.  
Rpt ID is the Report ID returned by the Message Processor object. (1)  
Message Data bytes are the bytes of data returned by the Message Processor. The size of  
the data depends on the source object for which this is the message data. Refer to the  
mXT1664S 2v0 Protocol Guide for more information.  
To stop the sending of the messages, the host can send a null command packet. This consists  
of two bytes: a report ID of 0x01 and a command byte of 0x00 (see Figure 7-13).  
1. This is the Report ID used in the Object Protocol and should not be confused with the USB Report ID. Refer to the  
mXT1664S 2v0 Protocol Guide for more information on the use of Report IDs in the Object Protocol.  
52  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
Figure 7-14. Null Command Packet Format  
0x06  
0x00  
HID-I2C  
Report ID  
Null  
Command  
ID  
Note that any read or write will also terminate any currently enabled auto-return mode (see  
“Start Debug Monitoring” on page 42).  
7.5.2.2  
Reading Status Messages  
Figure 7-15 shows an example sequence of packets to receive messages from the Message  
Processor object using the “Send Auto-return” command.  
Figure 7-15. Example Auto-return Command Packet  
Send Auto-return Command  
0x06  
0x88  
0x00  
0x00  
0x00  
0x00  
0x00  
HID-I2C Command  
Reserved  
Report  
ID  
ID  
Response From Chip Set  
0x06 0x00  
0x88  
0x00  
0x00  
0x00  
0x00  
Command  
Received  
Reserved  
Read Message Data  
0x06  
0xFA  
0xFA  
0x00  
0x00  
0x02  
0x11  
0xC0  
0x03  
0x1C  
0x1C  
0x1A  
0x1A  
0x1E  
0x1C  
0x06  
0x00  
0x4F  
0x00  
0x10  
0x06  
ID Bytes  
Message  
Report ID  
Message Data  
Send Null Command To Terminate  
0x06  
0x00  
Null  
53  
9871EX–AT42–12/13  
7.6  
CHG Line  
SDA, SCL  
The CHG line is an active-low, open-drain output that is used to alert the host that a new  
message is available in the Input Buffer. This provides the host with an interrupt-style interface  
with the potential for fast response times. It reduces the need for wasteful I2C-compatible  
communications.  
Further information on the CHG line is given in Section 5.7 on page 29.  
7.7  
7.8  
7.9  
Identical to standard I2C-compatible operation. Refer to Section 5.8 on page 31.  
Clock Stretching  
Identical to standard I2C-compatible operation. Refer to Section 5.9 on page 31.  
Power Control  
The mXT1664S1 supports the use of the HID-I2C “SET POWER” commands to put the device  
into a low power state analogous to the USB “SUSPEND” command.  
7.10 Microsoft Windows 8 Compliance  
The mXT1664S1 has algorithms within the Digitizer HID Configuration T43 and Multiple Touch  
Touchscreen T9 specifically to ensure Microsoft Windows 8 compliance.  
The device also supports Microsoft Touch Hardware Quality Assurance (THQA) in the Serial  
Data Command T68 object. Refer to the Microsoft whitepaper How to Design and Test  
Multitouch Hardware Solutions for Windows 8.  
These, and other device features, may need specific tuning.  
54  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
8. Getting Started with mXT1664S1  
8.1  
Establishing Contact  
8.1.1  
Communication with the Host  
The host can use either the I2C-compatible interface (see Section 5.1 on page 25), USB  
interface (see Section 6.1 on page 32) or the HID-I2C interface ( see Section 7 on page 45) to  
communicate with the device.  
8.1.2  
I2C-compatible Interface  
On power-up, the CHG line goes low to indicate that there is new data to be read from the  
Message Processor T5 object. If the CHG line does not go low, there is a problem with the  
device.  
The host should attempt to read any available messages to establish that the device is present  
and running following power-up or a reset. Examples of messages include reset or calibration  
messages. The host should also check that there are no configuration errors reported.  
8.1.3  
USB Interface  
The host can establish contact with the device as specified in the USB 2.0 specification and  
the USB HID specification (both available from www.usb.org).  
8.1.4  
HID-I2C Interface  
The host can use the HID-I2C interface by connecting the I2CMODE pin to GND.  
8.2  
Using the Object Protocol  
The device has an object-based protocol that is used to communicate with the device. Typical  
communication includes configuring the device, sending commands to the device, and  
receiving messages from the device. Refer to the mXT1664S 2v0 Protocol Guide for more  
information.  
The host must perform the following initialization so that it can communicate with the device:  
1. Read the start positions of all the objects in the device from the Object Table and  
build up a list of these addresses.  
2. Use the Object Table to calculate the report IDs so that messages from the device  
can be correctly interpreted.  
8.3  
Writing to the Device  
There are three mechanisms for writing to the device:  
• Using an I2C-compatible write operation (see Section 5.3 on page 25).  
• Using the USB Generic HID write operation (see Section 6.5.1.2 on page 38).  
• Using the Generic HID-I2C write operation (see Section 7.5.1.2 on page 50).  
To communicate with the device, you write to the appropriate object:  
To send a command to the device, you write the appropriate command to the Command  
Processor T6 object (refer to the mXT1664S 2v0 Protocol Guide).  
To configure the device, you write to an object. For example, to configure the device’s  
power consumption you write to the global Power Configuration T7 object, and to set up a  
55  
9871EX–AT42–12/13  
touchscreen you write to a Multiple Touch Touchscreen T9 object. Some objects are  
optional and need to be enabled before use. Refer to the mXT1664S 2v0 Protocol Guide  
for more information on the objects.  
8.4  
Reading from the Device  
Status information is stored in the Message Processor T5 object. This object can be read to  
receive any status information from the device. There are two mechanisms that provide an  
interrupt-style interface for reading messages in the Message Processor T5 object:  
• When using the I2C-compatible interface, the CHG line is asserted whenever a new  
message is available in the Message Processor T5 object (see Section 5.7 on page 29).  
See Section 6.5.1.3 on page 39 for information on the format of the I2C-compatible read  
operation.  
• When using the USB interface, the Generic HID interface provides an interrupt-driven  
interface that sends the messages automatically (see Section 6.5.2 on page 39).  
• When using the HID-I2C interface, the Generic HID-I2C interface provides an interrupt-  
driven interface that sends the messages automatically (see Section 7.5.1.3 on page 50)  
Note that in both cases the host should always wait to be notified of messages. The host  
should not poll the device for messages.  
The USB Digitizer HID provides a third alternative interrupt-style mechanism for reading a  
subset of the touch data. See Section 6.4 on page 33 for more information.  
8.5  
Configuring the Device  
The objects are designed such that a default value of zero in their fields is a “safe” value that  
typically disables functionality. The objects must be configured before use and the settings  
written to the nonvolatile memory using the Command Processor T6 object.  
Perform the following actions for each object:  
1. Enable the object, if the object requires it.  
2. Configure the fields in the object, as required.  
3. Enable reporting, if the object supports messages, to receive messages from the  
object.  
Refer to the mXT1664S 2v0 Protocol Guide for more information on configuring the objects.  
The following objects are read-only and require no configuration:  
• Debug Objects  
– Diagnostic Debug T37  
• General objects:  
– Message Processor T5  
• Support objects:  
– User Data T38  
– Message Count T44  
The following objects must be configured before use:  
• General objects  
– Power Configuration T7  
– Acquisition Configuration T8  
56  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
The following objects should be checked and configured as necessary:  
• General objects:  
– Command Processor T6  
• Support objects:  
– Communications Configuration T18  
– GPIO/PWM Configuration T19  
– CTE Configuration T46  
The following objects should also be enabled and configured, as required:  
Touch objects:  
– Multiple Touch Touchscreen T9  
– Key Array T15  
• Signal processing objects:  
– Grip Suppression T40  
– Stylus T47  
– One-touch Gesture Processor T24  
Two-touch Gesture Processor T27  
Touch Suppression T42  
– Adaptive Threshold T55  
– SlimSensor T56  
– Extra Touchscreen Data T57  
– maXCharger T62  
– Active Stylus T63  
– Lens Bending T65  
– Zone Indication T73  
• Support objects:  
– Digitizer HID Configuration T43  
– Self Test T25  
– Timer T61  
– maXStartup T66  
– Serial Data Command T68  
– Dynamic Configuration Controller T70  
– Dynamic Configuration Container T71  
– CTE_SCAN Configuration T77  
Touch Event Trigger T79  
57  
9871EX–AT42–12/13  
9. Specifications  
See Appendix B on page 76 for the reference configuration.  
9.1  
Absolute Maximum Specifications  
Vdd  
3.6 V  
12 V  
3.6 V  
XVdd  
AVdd  
Vdd Core (for 1.8V I2C-compatible mode only)  
Max continuous pin current, any control or drive pin  
Voltage forced onto any pin  
1.98 V  
20 mA  
–0.3 V to (Vdd or AVdd) + 0.3 V  
10,000  
Configuration parameters maximum writes  
CAUTION: Stresses beyond those listed under Absolute Maximum Specifications may cause permanent damage to the  
device. This is a stress rating only and functional operation of the device at these or other conditions beyond those indicated  
in the operational sections of this specification is not implied. Exposure to absolute maximum specification conditions for  
extended periods may affect device reliability.  
9.2  
Recommended Operating Conditions  
Operating temp  
Storage temp  
–40°C to +85°C  
–60°C to +150°C  
1.8 V –5% +10% (I2C-compatible 1.8 V mode)  
2.7 V to 3.3 V 10% (I2C-compatible mode)  
3.0 V to 3.3 V 10% (USB mode)  
2.7 to 3.3 V 10%  
Vdd External  
AVdd  
XVdd  
2.7 to 10.0 V 5%  
Vdd vs AVdd power sequencing  
Vdd vs XVdd power sequencing  
Vdd supply ripple  
XVdd supply ripple  
AVdd supply ripple  
No sequencing required  
XVdd must not be powered before Vdd  
50 mV 1 Hz to 1 MHz  
25 mV 1 Hz to 1MHz  
25 mV 1 Hz to 1 MHz  
0.95 pF to 4.8 pF, when XVdd = 2.5 V to 4.75 V  
0.5 pF to 4.8 pF, when XVdd = 4.75 V to 10 V  
Cx transverse load capacitance per channel  
Temperature slew rate  
10°C/min  
58  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
9.3  
DC Characteristics  
9.3.1  
Digital Voltage Supply  
Parameter  
Description  
Min  
1.71  
2.43  
2.7  
Typ  
Max  
3.6  
3.6  
3.6  
2.5  
Units  
V
Notes  
I2C-compatible 1.8 V mode  
I2C-compatible mode  
USB mode  
Vdd  
Operating limits  
V
V
Rate of rise  
Rate of rise  
0.002  
V/µs  
9.3.2 Analog Voltage Supply  
Parameter  
AVdd  
Rate of rise  
Description  
Operating limits  
Rate of rise  
Min  
2.5  
Typ  
Max  
3.6  
Units  
V
Notes  
Section 4.6.3 on page 22  
0.002  
2.5  
V/µs  
9.3.3  
XVdd Supply  
Parameter  
XVdd  
Description  
Min  
2.5  
2
Typ  
Max  
10.5  
30  
Units  
V
Notes  
Operating limits  
Rate of rise  
10.0  
Rate of rise  
V/ms  
Note: The rate of rise values must be followed to avoid permanent damage to the  
device.  
9.3.4  
Parameter  
Input (RESET, SDA, SCL)  
Input/Output Characteristics  
Description  
Min  
Typ  
Max  
Units  
Notes  
Vil  
Low input logic level  
–0.3  
0.3 × Vdd  
Vdd + 0.3  
1
V
V
Vdd = 1.8 V to 3.3 V  
Vdd = 1.8 V to 3.3 V  
Pull-up resistors disabled  
Vih  
Iil  
High input logic level  
Input leakage current  
0.7 × Vdd  
µA  
Output (CHG)  
Vdd = 3 V, IOL = 2.7 mA, High  
Drive Enabled  
Vdd = 3 V, IOL = 1.35 mA  
Vol  
Low output voltage  
High output voltage  
0.2 × Vdd  
V
V
Vdd = 3 V, IOH = 2.7 mA, High  
Drive Enabled  
Voh  
0.8 × Vdd  
Vdd = 3 V, IOH = 1.35 mA  
9.4  
ESD Information  
Parameter  
Value  
2000 V  
Reference standard  
MIL– STD883 Method 3015.7  
Electrostatic Discharge HBM  
59  
9871EX–AT42–12/13  
9.5  
Supply Current  
AVdd = 2.75 V, Vdd = 2.69 V, XVdd = 6 V, SlimSensor T56: Optimal integration enabled, Lens Bending T65 enabled  
9.5.1  
Analog Supply – I2C-compatible Interface  
Parameter  
Description  
Min  
Typ  
Max  
Max  
Max  
Units  
Notes  
33.65  
mA  
100 Hz, 1 Touch  
Active average supply current  
100 Hz, 1 Touch  
CTE_SCAN Configuration T77=On  
22.28  
4.45  
mA  
mA  
mA  
mA  
mA  
16 Hz, no touches  
AIdd  
Idle average supply current  
16 Hz, no touches  
CTE_SCAN Configuration T77=On  
1.02  
0.002  
0.004  
Sleep average supply current  
CTE_SCAN Configuration  
T77=On  
9.5.2  
Analog Supply – USB Bus  
Parameter  
Description  
Min  
Typ  
Units  
Notes  
30.22  
mA  
100 Hz, 1 Touch  
Active average supply current  
100 Hz, 1 Touch  
CTE_SCAN Configuration T77=On  
21.61  
4.13  
mA  
mA  
mA  
mA  
mA  
16 Hz, no touches  
AIdd  
Idle average supply current  
Sleep average supply current  
16 Hz, no touches  
CTE_SCAN Configuration T77=On  
0.91  
0.002  
0.004  
CTE_SCAN Configuration  
T77=On  
9.5.3  
Digital Supply – I2C-compatible Interface  
Parameter  
Description  
Min  
Typ  
Units  
Notes  
15.08  
mA  
100 Hz, 1 Touch  
Active average supply current  
100 Hz, 1 Touch  
CTE_SCAN Configuration T77=On  
14.08  
2.19  
1.06  
0.15  
0.15  
mA  
mA  
mA  
mA  
mA  
16 Hz, no touches  
DIdd  
Idle average supply current  
Sleep average supply current  
16 Hz, no touches  
CTE_SCAN Configuration T77=On  
CTE_SCAN Configuration  
T77=On  
60  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
9.5.4  
Digital Supply – USB Bus  
Parameter  
Description  
Min  
Typ  
Max  
Max  
Max  
Units  
Notes  
17.88  
mA  
100 Hz, 1 Touch  
Active average supply current  
100 Hz, 1 Touch  
CTE_SCAN Configuration T77=On  
16.97  
11.52  
12.19  
11.46  
12.69  
mA  
mA  
mA  
mA  
mA  
16 Hz, no touches  
DIdd  
Idle average supply current  
Sleep  
16 Hz, no touches  
CTE_SCAN Configuration T77=On  
CTE_SCAN Configuration  
T77=On  
9.5.5  
X Drive Supply – I2C-compatible Interface  
Parameter  
Description  
Min  
Typ  
Units  
Notes  
0.97  
mA  
100 Hz, 1 Touch  
Active average supply current  
100 Hz, 1 Touch  
CTE_SCAN Configuration T77=On  
0.82  
0.68  
mA  
mA  
mA  
mA  
mA  
16 Hz, no touches  
XIdd  
Idle average supply current  
Sleep average supply current  
16 Hz, no touches  
CTE_SCAN Configuration T77=On  
0.66  
0.001  
0.0005  
CTE_SCAN Configuration  
T77=On  
9.5.6  
X Drive Supply – USB Bus  
Parameter  
Description  
Min  
Typ  
Units  
Notes  
0.93  
mA  
100 Hz, 1 Touch  
Active average supply current  
100 Hz, 1 Touch  
CTE_SCAN Configuration T77=On  
0.85  
0.69  
0.66  
mA  
mA  
mA  
16 Hz, no touches,  
XIdd  
Idle average supply current  
Sleep  
16 Hz, no touches  
CTE_SCAN Configuration T77=On  
0.0002  
0.0006  
mA  
mA  
CTE_SCAN Configuration T77=On  
61  
9871EX–AT42–12/13  
9.5.7  
Analog Current– Lens Bending T65 Disabled  
XSIZE = 30, YSIZE = 18, CHRGTIME = 132, IDLESYNCSPERX = ACTVSYNCSPERX = 16, SlimSensor T56 : Optimal integration enabled,  
Pipelining enabled, Lens Bending T65 disabled  
I2C-compatible  
USB  
70.0000  
70.0000  
60.0000  
50.0000  
40.0000  
30.0000  
20.0000  
10.0000  
0.0000  
AIdd No Touch  
AIdd 1 Touch  
AIdd No Touch  
AIdd 1 Touch  
60.0000  
50.0000  
40.0000  
30.0000  
20.0000  
10.0000  
0.0000  
AIdd 5 Touches  
AIdd 10 Touches  
AIdd 5 Touches  
AIdd 10 Touches  
Acquisition Interval (ms)  
Acquisition Interval (ms)  
9.5.8  
Analog Current – Lens Bending T65 Enabled  
XSIZE = 30, YSIZE = 18, CHRGTIME = 132, IDLESYNCSPERX = ACTVSYNCSPERX = 16, SlimSensor T56 : Optimal integration enabled,  
Pipelining enabled, Lens Bending T65 enabled  
I2C-compatible  
USB  
70.0000  
70.0000  
60.0000  
50.0000  
40.0000  
30.0000  
20.0000  
10.0000  
0.0000  
AIdd No Touch  
AIdd 1 Touch  
AIdd No Touch  
AIdd 1 Touch  
60.0000  
50.0000  
40.0000  
30.0000  
20.0000  
10.0000  
0.0000  
AIdd 5 Touches  
AIdd 10 Touches  
AIdd 5 Touches  
AIdd 10 Touches  
Acquisition Interval (ms)  
Acquisition Interval (ms)  
62  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
9.5.9  
Analog Current – CTE_SCAN Configuration T77 (XZoom and Precision Scan) Enabled  
XSIZE = 30, YSIZE = 18, CHRGTIME = 132, IDLESYNCSPERX = ACTVSYNCSPERX = 16, SlimSensor T56 : Optimal integration enabled,  
Pipelining enabled, Lens Bending T65 enabled  
I2C-compatible  
USB  
70.0000  
70.0000  
60.0000  
50.0000  
40.0000  
30.0000  
20.0000  
10.0000  
0.0000  
AIdd No Touch  
AIdd 1 Touch  
AIdd No Touch  
AIdd 1 Touch  
60.0000  
50.0000  
40.0000  
30.0000  
20.0000  
10.0000  
0.0000  
AIdd 5 Touches  
AIdd 10 Touches  
AIdd 5 Touches  
AIdd 10 Touches  
Acquisition Interval (ms)  
Acquisition Interval (ms)  
9.5.10  
Digital Current – Lens Bending T65 Disabled  
XSIZE = 30, YSIZE = 18, CHRGTIME = 132, IDLESYNCSPERX = ACTVSYNCSPERX = 16, SlimSensor T56 : Optimal integration enabled,  
Pipelining enabled, Lens Bending T65 disabled  
I2C-compatible  
USB  
30.0000  
25.0000  
20.0000  
15.0000  
10.0000  
5.0000  
30.0000  
25.0000  
20.0000  
15.0000  
10.0000  
5.0000  
DIdd No Touch  
DIdd 1 Touch  
DIdd No Touch  
DIdd 1 Touch  
DIdd 5 Touches  
DIdd 10 Touches  
DIdd 5 Touches  
DIdd 10 Touches  
0.0000  
0.0000  
Acquisition Interval (ms)  
Acquisition Interval (ms)  
63  
9871EX–AT42–12/13  
9.5.11  
Digital Current – Lens Bending T65 Enabled  
XSIZE = 30, YSIZE = 18, CHRGTIME = 132, IDLESYNCSPERX = ACTVSYNCSPERX = 16, SlimSensor T56 : Optimal integration enabled,  
Pipelining enabled, Lens Bending T65 enabled  
I2C-compatible  
USB  
30.0000  
25.0000  
20.0000  
15.0000  
10.0000  
5.0000  
30.0000  
25.0000  
20.0000  
15.0000  
10.0000  
5.0000  
DIdd No Touch  
DIdd 1 Touch  
DIdd No Touch  
DIdd 1 Touch  
DIdd 5 Touches  
DIdd 10 Touches  
DIdd 5 Touches  
DIdd 10 Touches  
0.0000  
0.0000  
Acquisition Interval (ms)  
Acquisition Interval (ms)  
9.5.12  
Digital Current – CTE_SCAN Configuration T77 (XZoom and Precision Scan) Enabled  
XSIZE = 30, YSIZE = 18, CHRGTIME = 132, IDLESYNCSPERX = ACTVSYNCSPERX = 16, SlimSensor T56 : Optimal integration enabled,  
Pipelining enabled, Lens Bending T65 enabled  
I2C-compatible  
USB  
30.0000  
25.0000  
20.0000  
15.0000  
10.0000  
5.0000  
30.0000  
25.0000  
20.0000  
15.0000  
10.0000  
5.0000  
DIdd No Touch  
DIdd 1 Touch  
DIdd No Touch  
DIdd 1 Touch  
DIdd 5 Touches  
DIdd 10 Touches  
DIdd 5 Touches  
DIdd 10 Touches  
0.0000  
0.0000  
Acquisition Interval (ms)  
Acquisition Interval (ms)  
64  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
9.5.13  
XIdd – Lens Bending T65 Disabled  
XSIZE = 30, YSIZE = 18, CHRGTIME = 132, IDLESYNCSPERX = ACTVSYNCSPERX = 16, SlimSensor T56 : Optimal integration enabled,  
Pipelining enabled, Lens Bending T65 disabled  
I2C-compatible  
USB  
1.4000  
1.2000  
1.0000  
0.8000  
0.6000  
0.4000  
0.2000  
0.0000  
1.4000  
1.2000  
1.0000  
0.8000  
0.6000  
0.4000  
0.2000  
0.0000  
XIdd No Touch  
XIdd 1 Touch  
XIdd No Touch  
XIdd 1 Touch  
XIdd 5 Touches  
XIdd 10 Touches  
XIdd 5 Touches  
XIdd 10 Touches  
Acquisition Interval (ms)  
Acquisition Interval (ms)  
9.5.14  
XIdd – Lens Bending T65 Enabled  
XSIZE = 30, YSIZE = 18, CHRGTIME = 132, IDLESYNCSPERX = ACTVSYNCSPERX = 16, SlimSensor T56 : Optimal integration enabled,  
Pipelining enabled, Lens Bending T65 enabled  
I2C-compatible  
USB  
1.4000  
1.2000  
1.0000  
0.8000  
0.6000  
0.4000  
0.2000  
0.0000  
1.4000  
1.2000  
1.0000  
0.8000  
0.6000  
0.4000  
0.2000  
0.0000  
XIdd No Touch  
XIdd 1 Touch  
XIdd No Touch  
XIdd 1 Touch  
XIdd 5 Touches  
XIdd 10 Touches  
XIdd 5 Touches  
XIdd 10 Touches  
Acquisition Interval (ms)  
Acquisition Interval (ms)  
65  
9871EX–AT42–12/13  
9.5.15  
XIdd – CTE_SCAN Configuration T77 (XZoom and Precision Scan) Enabled  
XSIZE = 30, YSIZE = 18, CHRGTIME = 132, IDLESYNCSPERX = ACTVSYNCSPERX = 16, SlimSensor T56 : Optimal integration enabled,  
Pipelining enabled, Lens Bending T65 enabled  
I2C-compatible  
USB  
1.4000  
1.2000  
1.0000  
0.8000  
0.6000  
0.4000  
0.2000  
0.0000  
1.4000  
1.2000  
1.0000  
0.8000  
0.6000  
0.4000  
0.2000  
0.0000  
XIdd No Touch  
XIdd 1 Touch  
XIdd 5 Touches  
XIdd 10 Touches  
XIdd No Touch  
XIdd 1 Touch  
XIdd 5 Touches  
XIdd 10 Touches  
Acquisition Interval (ms)  
Acquisition Interval (ms)  
9.6  
Timing Specifications  
9.6.1  
Touch Latency  
Description  
Min  
4.0  
4.0  
4.0  
Typ  
9.8  
8.7  
5.2  
Max  
Units  
ms  
Notes  
80 Hz  
15.7  
13.4  
6.4  
TCHDI = 0  
IDLESYNCSPERX/  
ACTSYNCSPERX = 8  
100 Hz  
200 Hz  
ms  
ms  
66  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
9.6.2  
Speed  
XSIZE = 32, YSIZE = 52, CHRGTIME = 120 (2.5 µs), IDLESYNCSPERX = ACTVSYNCSPERX = 8,  
SlimSensor T56 = Off, maXCharger T62 = off, Lens Bending T65 = Off  
350  
300  
250  
200  
150  
100  
50  
Pipelining = Off  
Pipelining = On  
0
1
2
3
4
5
6
7
8
9
10  
Number of Moving Touches  
9.7  
I2C-compatible Specifications  
(1)  
Parameter  
Value  
Addresses  
0x4A or 0x4B  
1.7 MHz  
Maximum bus speed (SCL)  
I2C specification  
Version 2.1  
1 kΩ to 10 kΩ  
1 kΩ to 3 kΩ  
Required pull-up resistance for standard mode (100 kHz)  
Required pull-up resistance for fast mode (400 kHz)  
Required pull-up resistance for high-speed mode (1.7 MHz) 0.5 kΩ to 0.75 kΩ  
1. Refer to mXT1664S 2v0 Protocol Guide for bootloader specific information.  
67  
9871EX–AT42–12/13  
9.8  
USB Specification  
Parameter  
Operation  
0x81 (Endpoint 1)  
0x02 (Endpoint 2)  
0x83 (Endpoint 3)  
Endpoint Addresses  
Maximum bus speed  
Vendor ID  
12 Mbps  
0x03EB (Atmel)  
0x212C (mXT1664S1)  
Product ID  
USB 2.0  
USB specification  
HID specification 1.11 with amendments for multitouch digitizers  
9.9  
HID-I2C Specification  
Parameter  
Operation  
Vendor ID  
0x03EB (Atmel)  
0x212C (mXT1664S1)  
0.9  
Product ID  
HID-I2C specification  
9.10 Touch Accuracy and Repeatability  
Parameter  
Linearity  
Min  
Typ  
0.5  
1
Max  
Units  
mm  
mm  
mm  
%
Notes  
Accuracy  
Accuracy at edge  
Repeatability  
2
0.25  
X axis with 12-bit resolution  
9.11 Power Supply and Ripple Noise  
Parameter  
Min  
Typ  
Max  
Units  
Notes  
Across frequency range  
1 Hz to 1 MHz  
Vdd  
50  
mV  
Across frequency range  
1 Hz to 1 MHz  
XVdd and AVdd  
XVdd and AVdd  
25  
40  
mV  
mV  
Across frequency range  
1 Hz to 1 MHz, with Noise  
Suppression enabled  
68  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
9.12 Thermal Packaging  
9.12.1  
Thermal Data  
Parameter  
Typ  
33.7  
5.0  
Unit  
°C/W  
°C/W  
Condition  
Package  
Junction to ambient thermal resistance  
Junction to case thermal resistance  
Still air  
VFBGA 128, 7 X 7 mm  
VFBGA 128, 7 X 7 mm  
9.12.2  
Junction Temperature  
The average chip junction temperature, TJ in °C can be obtained from the following:  
T
= T + (P × θ  
)
JA  
J
A
D
If a cooling device is required, use this equation:  
= T + (P × (θ + θ ))  
T
J
A
D
HEATSINK  
JC  
where:  
θJA= package thermal resistance, Junction to ambient (°C/W).  
θJC = package thermal resistance, Junction to case thermal resistance (°C/W).  
θHEATSINK = cooling device thermal resistance (°C/W), provided in the cooling device  
datasheet.  
• PD = device power consumption (W).  
• TA is the ambient temperature (°C).  
9.13 Soldering Profile  
Profile Feature  
Green Package  
Average Ramp-up Rate (217°C to Peak)  
Preheat Temperature 175°C 25°C  
Time Maintained Above 217°C  
Time within 5°C of Actual Peak Temperature  
Peak Temperature Range  
3°C/s max  
150 – 200°C  
60 – 150 s  
30 s  
260°C  
Ramp down Rate  
6°C/s max  
8 minutes max  
Time 25°C to Peak Temperature  
69  
9871EX–AT42–12/13  
9.14 Mechanical Dimensions  
9.14.1  
128-ball 7 x 7 x 1 mm  
Package Drawing Contact:  
packagedrawings@atmel.com  
70  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
9.15 Part Marking  
Ball A1 ID  
ATMEL  
Abbreviation of  
Part Number  
MXT1664S1  
-CU  
Date  
(year and week)  
Country Code  
Die Revision  
YYWWV CC  
LOTCODE  
Lot Code  
(variable text)  
9.16 Part Numbers  
Part Number  
QS Number  
Description  
ATMXT1664S1-CUR  
(supplied in tape and reels)  
128-ball 7 x 7 mm VFBGA RoHS  
compliant  
QS777  
ATMXT1664S1-CU  
(supplied in trays)  
128-ball 7 x 7 mm VFBGA RoHS  
compliant  
QS777  
9.17 Silicon Revision Identification  
Silicon Revision  
REVID  
Notes  
E
F
4
5
6
Refer to the mXT1664S 2v0 Protocol  
Guide for more information on how to read  
data from the Diagnostic Debug T37  
object.  
G
9.18 Moisture Sensitivity Level (MSL)  
MSL Rating  
Peak Body Temperature  
Specifications  
MSL3  
260oC  
IPC/JEDEC J-STD-020  
71  
9871EX–AT42–12/13  
Appendix A. PCB Design Considerations  
A.1 Introduction  
The following sections give the design considerations that should be adhered to when  
designing a PCB layout for use with the mXT1664S1. Of these, power supply and ground  
tracking considerations are the most critical.  
By observing the following design rules, and with careful preparation for the PCB layout  
exercise, designers will be assured of a far better chance of success and a correctly  
functioning product.  
A.2 Printed Circuit Board  
Atmel recommends the use of a four layer printed circuit board for mXT1664S1 applications.  
This, together with careful layout, will ensure that the board meets relevant EMC requirements  
for both noise radiation and susceptibility, as laid down by the various national and  
international standards agencies.  
A.3 Supply Rails and Ground Tracking  
Power supply and clock distribution are the most critical parts of any board layout. Because of  
this, it is advisable that these be completed before any other tracking is undertaken. After  
these, supply decoupling, and analog and high speed digital signals should be addressed.  
Track widths for all signals, especially power rails should be kept as wide as possible in order  
to reduce inductance.  
The Power and Ground planes themselves can form a useful capacitor. Flood filling for either  
or both of these supply rails, therefore, should be used where possible. It is important to  
ensure that there are no floating copper areas remaining on the board: all such areas should  
be connected to the 0 V plane. The flood filling should be done on the outside layers of the  
board.  
In applications where the USB bus supplies power to the board, care should be taken to  
ensure that suitable capacitive decoupling is provided close to the USB connector. The  
tracking to the on-board regulators should also be kept as short as possible.  
It should also be remembered that the screen of the USB cable is not intended to be  
connected to the ground or 0V supply of a remote device. It should either be left open circuit  
(being connected only at the host computer end) or decoupled with a suitable high voltage  
capacitor (typically 4.7 nF – 250 V) and a parallel resistor (typically 1 MΩ). Note that these  
components may not be required when the USB cabling is internal and permanently wired,  
and is routed away from the noisier parts of the system.  
A.4 Power Supply Decoupling  
As a rule, a suitable decoupling capacitor should be placed on each and every supply pin on  
all digital devices. It is important that these capacitors are placed as close to the chip’s supply  
pins as possible (less than 5mm away). The ground connection of these capacitors should be  
tracked to 0V by the shortest, heaviest traces possible.  
Capacitors with a Type II dielectric, such as X5R or X7R and with a value of at least 100nF,  
should be used for this purpose.  
72  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
In addition, at least one ‘bulk’ tantalum decoupling capacitor, with a minimum value of 4.7 µF  
should be placed on each power rail, close to where the supply enters the board.  
Surface mounting capacitors are preferred to wire leaded types due to their lower ESR and  
ESL. It is often possible to fit these decoupling capacitors underneath and on the opposite side  
of the PCB to the digital ICs. This will provide the shortest tracking, and most effective  
decoupling possible.  
Refer to the application note Selecting Decoupling Capacitors for Atmel’s PLDs (doc0484.pdf;  
available on Atmel’s website) for further general information on decoupling capacitors.  
Refer to the application note QTAN0094: mXT1664S PCB/FPCB Layout Guidelines for more  
information on PCB/FPCB layout.  
A.5 Suggested Voltage Regulator Manufacturers  
The AVdd supply stability is critical for the device because this supply interacts directly with  
the analog front end. Atmel therefore recommends that the supply for the analog section of the  
board be supplied by a regulator that is separate from the logic supply regulator. This reduces  
the amount of noise injected into the sensitive, low signal level parts of the design.  
A single low value series resistor (around 1Ω) is required from the regulator output to the  
analog supply input on the device. This, together with the regulator output capacitor, and the  
capacitors at the DC input to the device, forms a simple filter on the supply rail.  
A low noise device should be chosen for the regulator. If possible this should have provision  
for adding a capacitor across the internal reference for further noise reduction. Reference  
should be made to the manufacturer’s datasheet.  
The voltage regulators listed in Table 9-1 have been tested and found to work well with the  
mXT1664S1. They have compatible footprints and pin-out specifications, and are available in  
the SOT-23 package.  
Table 9-1.  
Recommended Voltage Regulators  
Manufacturer  
Pin  
Part Number  
TLV70028  
LT1761  
Texas Instruments  
Linear Technology  
Micrel  
AVdd  
Vdd  
Vdd  
MIC5255  
LP2981  
National Semiconductor  
Torex  
Vdd  
Vdd  
XC6204  
AS1340  
AMS  
XVdd  
XVdd  
GMMT  
G5126  
Note some manufacturers claim that minimal or no capacitance is required for correct  
regulator operation. However, in all cases, a minimum of a 1.0 µF ceramic, low ESR capacitor  
at the input and output of these devices should be used. The manufacturers’ datasheets  
should always be referred to when selecting capacitors for these devices and the typical  
recommended values, types and dielectrics adhered to.  
73  
9871EX–AT42–12/13  
Figure 9-1. Example Regulator Circuit  
ELL4LG100MA  
Vdd  
Vbatt  
XVdd  
IN  
LX  
4µ7  
2n2  
10µF  
OVP  
G5126  
EN  
FB  
GND  
Note that a “soft-start” regulator with excellent noise and load step regulation will be needed to  
satisfy the XVdd supply requirements. 1% resistors should be used to define the nominal  
output voltage. If 5% resistors are used, the nominal XVdd voltage must be reduced  
accordingly to ensure that the recommended voltage range is adhered to. Figure 9-1 provides  
an example circuit for the XVdd supply.  
A.6 Crystal Oscillator  
If a crystal oscillator is used, its placement is critical to the performance of the design. The  
connecting leads between the device and the crystal should be as short as possible. These  
tracks, together with the crystal itself, should be placed above a suitable ground plane. It is  
also important that no other signal tracks are placed close to, or under, these tracks. The  
crystal input pins are at a relatively high impedance and cross-talk from other signals will  
seriously affect oscillator stability and accuracy. The crystal’s case should also be connected  
to ground if possible.  
If an oscillator module is used, care still needs to be taken when tracking to the device. The  
clock signal should be kept as short as possible, with a solid ground return underneath the  
clock output.  
A.7 Analog I/O  
In general, tracking for the analog I/O signals from the device should be kept as short as  
possible. These normally go to a connector which interfaces directly to the touchscreen.  
Ensure that adequate ground-planes are used. An analog ground plane should be used in  
addition to a digital one. Care should be taken to ensure that both ground planes are kept  
separate and are connected together only at the point of entry for the power to the PCB. This  
is usually at the input connector.  
74  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
A.8 Component Placement  
It is important to orient all devices so that the tracking for important signals (such as power and  
clocks) are kept as short as possible. This simple point is often overlooked when initially  
planning a PCB layout and can save hours of work at a later stage.  
A.9 Digital Signals  
In general, when tracking digital signals, it is advisable to avoid sharp directional changes,  
sensitive signal tracks (such as analog I/O) and any clock or crystal tracking.  
A good ground return path for all signals should be provided, where possible, to ensure that  
there are no discontinuities in the ground return path.  
A.10 EMC and Other Observations  
The following recommendations are not mandatory, but may help in situations where  
particularly difficult EMC or other problems are present:  
• A small common mode choke is recommended on the differential USB data pair. This  
should be placed directly at the USB connector, between the connector and the relevant  
pins. Tracking lengths for the USB data pair should be kept as short as possible.  
Try to keep as many signals as possible on the inside layers of the board. If suitable ground  
flood fills are used on the top and bottom layers, these will provide a good level of  
screening for noisy signals, both into and out of the PCB.  
• Ensure that the on-board regulators have sufficient tracking around and underneath the  
devices to act as a heatsink. This heatsink will normally be connected to the 0V or ground  
supply pin. Increasing the width of the copper tracking to any of the device pins will aid in  
removing heat. There should be no solder mask over the copper track underneath the body  
of the regulators.  
• Ensure that the decoupling capacitors, especially tantalum, or high capacity ceramic types,  
have the requisite low ESR, ESL and good stability/temperature properties. Refer to the  
regulator manufacturer’s datasheet for more information.  
75  
9871EX–AT42–12/13  
Appendix B. Reference Configuration  
The values listed below are used in the reference unit to validate the interfaces and derive the  
characterization data provided in Section 9. The fields that are not listed have their values set  
to 0 (which is replaced by a default value).  
See mXT1664S 2v0 Protocol Guide for information about the individual objects and their  
fields.  
The values for the user’s application will depend on the circumstances of that particular project  
and will vary from those listed here. Further tuning will be required to achieve an optimal  
performance..  
Field  
Value  
Power Configuration T7 – GEN_POWERCONFIG_T7 (Instance 0)  
IDLEACQINT  
10  
10  
10  
ACTVACQINT  
ACTV2IDLETO  
Acquisition Configuration T8 – GEN_ACQUISITIONCONFIG_T8 (Instance 0)  
CHRGTIME  
TCHDRIFT  
DRIFTST  
132  
20  
20  
ATCHCALST  
255  
Multiple Touch Touchscreen T9 – TOUCH_MULTITOUCHSCREEN_T9 (Instance 0)  
CTRL  
142  
XSIZE  
32  
52  
130  
80  
2
YSIZE  
BLEN  
TCHTHR  
TCHDI  
ORIENT  
1
MRGTIMEOUT  
MOVHYSTI  
MOVHYSTN  
MOVFILTER  
NUMTOUCH  
MRGHYST  
MRGTHR  
AMPHYST  
XRANGE  
YRANGE  
XLOCLIP  
10  
20  
5
48  
10  
20  
20  
20  
3071  
3071  
10  
76  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
Field  
Value  
14  
XHICLIP  
YLOCLIP  
13  
YHICLIP  
8
XEDGECTRL  
202  
35  
XEDGEDIST  
YEDGECTRL  
140  
20  
YEDGEDIST  
JUMPLIMIT  
39  
TCHHYST  
20  
XPITCH  
41  
YPITCH  
44  
Self Test T25 – SPT_SELFTEST_T25 (Instance 0)  
PINDWELLUS  
200  
Grip Suppression T40 – PROCI_GRIPSUPPRESSION_T40 (Instance 0)  
XLOGRIP  
XHIGRIP  
YLOGRIP  
YHIGRIP  
20  
20  
20  
20  
Touch Suppression T42 – PROCI_TOUCHSUPPRESSION_T42 (Instance 0)  
APPRTHR  
32  
30  
30  
127  
5
MAXAPPRAREA  
MAXTCHAREA  
SUPSTRENGTH  
SUPDIST  
DISTHYST  
5
Digitizer HID Configuration T43 – SPT_DIGITIZER_T43 (Instance 0)  
CTRL  
136  
125  
224  
XLENGTH  
YLENGTH  
Stylus T47 – PROCI_STYLUS_T47 (Instance 0)  
CONTMIN  
20  
45  
5
CONTMAX  
STABILITY  
MAXTCHAREA  
AMPLTHR  
3
60  
10  
2
STYSHAPE  
CONFTHR  
77  
9871EX–AT42–12/13  
Field  
Value  
32  
SYNCSPERX  
CFG  
15  
Stylus T47 – PROCI_STYLUS_T47 (Instance 1)  
CFG  
80  
Adaptive Threshold T55 – PROCI_ADAPTIVETHRESHOLD_T55 (Instance 0)  
TARGETTHR  
24  
40  
1
THRADJLIM  
RESETSTEPTIME  
FORCECHGDIST  
SlimSensor T56 – PROCI_SHIELDLESS_T56 (Instance 0)  
CTRL  
2
3
OPTINT  
1
INTTIME  
48  
21  
20  
21  
21  
21  
21  
21  
22  
22  
22  
22  
23  
22  
22  
22  
22  
23  
23  
23  
23  
22  
23  
22  
22  
INTDELAY[0]  
INTDELAY[1]  
INTDELAY[2]  
INTDELAY[3]  
INTDELAY[4]  
INTDELAY[5]  
INTDELAY[6]  
INTDELAY[7]  
INTDELAY[8]  
INTDELAY[9]  
INTDELAY[10]  
INTDELAY[11]  
INTDELAY[12]  
INTDELAY[13]  
INTDELAY[14]  
INTDELAY[15]  
INTDELAY[16]  
INTDELAY[17]  
INTDELAY[18]  
INTDELAY[19]  
INTDELAY[20]  
INTDELAY[21]  
INTDELAY[22]  
INTDELAY[23]  
78  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
Field  
Value  
22  
22  
22  
22  
21  
21  
21  
21  
25  
2
INTDELAY[24]  
INTDELAY[25]  
INTDELAY[26]  
INTDELAY[27]  
INTDELAY[28]  
INTDELAY[29]  
INTDELAY[30]  
INTDELAY[31]  
GCLIMIT  
TOUCHBIAS  
BASESCALE  
9
SHIFTLIMIT  
5
maXCharger T62 – PROCG_NOISESUPPRESSION_T62 (Instance 0)  
CALCFG1  
2
2
CALCFG3  
MAXSELFREQ  
25  
5
HOPCNT  
HOPCNTPER  
10  
5
HOPEVALTO  
HOPST  
5
NLGAIN  
90  
45  
45  
48  
15  
63  
6
MINNLTHR  
INCNLTHR  
ADCSPERXTHR  
NLTHRMARGIN  
MAXADCSPERX  
ACTVADCSVLDNOD  
IDLEADCSVLDNOD  
6
MINGCLIMIT  
4
MAXGCLIMIT  
64  
maXStartup T66 – SPT_GOLDENREFERENCES_T66 (Instance 0)  
FCALFAILTHR  
60  
60  
FCALDRIFTCNT  
CTE_SCAN Configuration T77 – SPT_CTESCANCONFIG_T77 (Instance 0)  
CTRL  
13  
79  
9871EX–AT42–12/13  
Field  
Value  
2
ACTVPRCSSCNEXT  
XZOOMGAIN  
XZOOMTCHTHR  
40  
50  
80  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
Appendix C. Glossary of Terms  
Channel  
One of the capacitive measurement points at which the sensor controller can detect  
capacitive change.  
Jitter  
The peak-to-peak variance in the reported location for an axis when a fixed touch is  
applied. Typically jitter is random in nature and has a Gaussian (1) distribution, therefore  
measurement of peak-to-peak jitter must be conducted over some period of time, typically  
a few seconds. Jitter is typically measured as a percentage of the axis in question.  
For example a 100 x 100 mm touchscreen that shows 0.5% jitter in X and 1% jitter in Y  
would show a peak deviation from the average reported coordinate of 0.5 mm in X and  
1 mm in Y. Note that by defining the jitter relative to the average reported coordinate, the  
effects of linearity are ignored.  
Linearity  
The measurement of the peak-to-peak deviation of the reported touch coordinate in one  
axis relative to the absolute position of touch on that axis. This is often referred to as the  
nonlinearity. Non-linearities in either X or Y axes manifest themselves as regions where the  
perceived touch motion along that axis (alone) is not reflected correctly in the reported  
coordinate giving the sense of moving too fast or too slow. Linearity is measured as a  
percentage of the axis in question.  
For each axis, a plot of the true coordinate versus the reported coordinate should be a  
perfect straight line at 45°. A non-linearity makes this plot deviate from this ideal line. It is  
possible to correct modest non-linearities using on-chip linearization tables, but this  
correction trades linearity for resolution in regions where stronger corrections are needed  
(because there is a stretching or compressing effect to correct the nonlinearity, so altering  
the resolution in these regions). Linearity is typically measured using data that has been  
sufficiently filtered to remove the effects of jitter. For example, a 100 mm slider with a  
nonlinearity of 1% reports a position that is, at most, 1 mm away in either direction from  
the true position.  
Resolution  
The measure of the smallest movement on a slider or touchscreen in an axis that causes a  
change in the reported coordinate for that axis. Resolution is normally expressed in bits  
and tends to refer to resolution across the whole axis in question. For example, a resolution  
of 10 bits can resolve a movement of 0.0977 mm on a slider 100 mm long. Jitter in the  
reported position degrades usable resolution.  
Touchscreen  
A two-dimensional arrangement of electrodes whose capacitance changes when touched,  
allowing the location of touch to be computed in both X and Y axes. The output from the XY  
computation is a pair of numbers, typically 12-bits each, ranging from 0 to 4095,  
representing the extents of the touchscreen active region.  
1. Sometimes called Bell-shaped or Normal distribution.  
81  
9871EX–AT42–12/13  
Appendix D. QMatrix Primer  
D.1 Acquisition Technique  
QMatrix capacitive acquisition uses a series of pulses to deposit charge into a sampling capacitor,  
Cs. The pulses are driven on X lines from the controller. The rising edge of the pulse causes  
current to flow in the mutual capacitance, Cx, formed between the X line and a neighboring receiver  
electrode or Y line. While one X line is being pulsed, all others are grounded. This leads to excellent  
isolation of the particular mutual capacitances being measured (1), a feature that makes for good  
inherent touchscreen performance.  
After a fixed number of pulses (known as the burst length) the sampling capacitor's voltage is  
measured to determine how much charge has accumulated. This charge is directly proportional to  
Cx and therefore changes if Cx (2) changes. The transmit-receive charge transfer process between  
the X lines and Y lines causes an electric field to form that loops from X to Y. The field itself  
emanates from X and terminates on Y. If the X and Y electrodes are fixed directly (3) to a dielectric  
material like plastic or glass, then this field tends to channel through the dielectric with very little  
leakage of the field out into free-space (that is, above the panel). Some proportion of the field does  
escape the surface of the dielectric, however, and so can be influenced during a touch.  
When a finger is placed in close proximity (a few millimeters) or directly onto the dielectric's surface,  
some of this stray field and some of the field that would otherwise have propagated via the dielectric  
and terminated onto the Y electrode, is diverted into the finger and is conducted back to the  
controller chip via the human body rather than via the Y line.  
This means that less charge is accumulated in Cs, and hence the terminal voltage present on Cs,  
after all the charge transfer pulses are complete, becomes less. In this way, the controller can  
measure changes in Cx during touch. This means that the measured capacitance Cx goes down  
during touch, because the coupled field is partly diverted by the touching object.  
The spatial separation between the X and Y electrodes is significant to make the electric field to  
propagate well in relation to the thickness of the dielectric panel.  
D.2 Moisture Resistance  
A useful side effect of the QMatrix acquisition method is that placing a floating conductive element  
between the X and Y lines tends to increase the field coupling and so increases the capacitance  
Cx. This is the opposite change direction to normal touch, and so can be quite easily ignored or  
compensated for by the controller. An example of such floating conductive elements is the water  
droplets caused by condensation.  
As a result, QMatrix-based touchscreens tend not to go into false detect when they are covered in  
small non-coalesced water droplets. Once the droplets start to merge, however, they can become  
large enough to bridge the field across to nearby ground return paths (for example, other X lines  
not currently driven, or ground paths in mechanical chassis components). When this happens, the  
screen's behavior can become erratic.  
1. A common problem with other types of capacitive acquisition technique when used for touchscreens, is that this  
isolation is not so pronounced. This means that when touching one region of the screen, the capacitive signals also  
tend to change slightly in nearby channels too, causing small but often significant errors in the reported touch  
position.  
2. To a first approximation.  
3. Air gaps in front of QMatrix sensors massively reduce this field propagation and kill sensitivity. Normal optically clear  
adhesives work well to attach QMatrix touchscreens to their dielectric front panel.  
82  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
There are some measures used in these controllers to help with this situation, but in general there  
comes a point where the screen is so contaminated by moisture that false detections become  
inevitable. It should also be noted that uniform condensation soon becomes non-uniform once a  
finger has spread it around. Finger grease renders the water highly conductive, making the situation  
worse overall.  
In general, QMatrix has industry-leading moisture tolerance but there comes a point when even the  
best capacitive touchscreen suffers due to moisture on the dielectric surface.  
D.3 Interference Sources  
D.3.1  
Power Supply  
The device can tolerate short-term power supply fluctuations. If the power supply fluctuates  
slowly with temperature, the device tracks and compensate for these changes automatically  
with only minor changes in sensitivity. If the supply voltage drifts or shifts quickly, the drift  
compensation mechanism is not able to keep up, causing sensitivity anomalies or false  
detections.  
The device itself uses the AVdd power supply as an analog reference, so the power should be  
very clean and come from a separate regulator. A standard inexpensive Low Dropout (LDO)  
type regulator should be used that is not also used to power other loads, such as LEDs,  
relays, or other high current devices. Load shifts on the output of the LDO can cause AVdd to  
fluctuate enough to cause false detection or sensitivity shifts. The digital Vdd supply is far  
more tolerant to noise.  
CAUTION: A regulator IC shared with other logic can result in erratic  
operation and is not advised.  
Noise on AVdd can appear directly in the measurement results. Vdd should be checked to  
ensure that it stays within specification in terms of noise, across a whole range of product  
operating conditions.  
Ceramic bypass capacitors on AVdd and Vdd, placed very close (<5 mm) to the chip are  
recommended. A bulk capacitor of at least 1 µF and a higher frequency capacitor of around  
10 nF to 100 nF in parallel are recommended; both must be X7R or X5R dielectric capacitors.  
D.3.2  
Other Noise Sources  
Refer to QTAN0079, Buttons, Sliders and Wheels Sensor Design Guide, for information  
(downloadable from the Touch Technology area of the Atmel website).  
83  
9871EX–AT42–12/13  
Appendix E. I2C Basics (I2C-compatible Operation)  
9.19 Interface Bus  
The device communicates with the host over an I2C-compatible bus. The following sections  
give an overview of the bus; more detailed information is available from www.i2C-bus.org.  
Devices are connected to the I2C-compatible bus as shown in Figure E-1. Both bus lines are  
connected to Vdd via pull-up resistors. The bus drivers of all I2C-compatible devices must be  
open-drain type. This implements a wired AND function that allows any and all devices to drive  
the bus, one at a time. A low level on the bus is generated when a device outputs a zero.  
Figure E-1. I2C-compatible Interface Bus  
Vdd  
Device 1  
Device 2  
Device 3  
Device n  
R1  
R2  
SDA  
SCL  
E.1 Transferring Data Bits  
Each data bit transferred on the bus is accompanied by a pulse on the clock line. The level of  
the data line must be stable when the clock line is high; the only exception to this rule is for  
generating START and STOP conditions.  
Figure E-2. Data Transfer  
SDA  
SCL  
Data Stable  
Data Stable  
Data Change  
84  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
E.2 START and STOP Conditions  
The host initiates and terminates a data transmission. The transmission is initiated when the  
host issues a START condition on the bus, and is terminated when the host issues a STOP  
condition. Between the START and STOP conditions, the bus is considered busy. As shown in  
Figure E-3, START and STOP conditions are signaled by changing the level of the SDA line  
when the SCL line is high.  
Figure E-3. START and STOP Conditions  
SDA  
SCL  
START  
STOP  
E.3 Address Byte Format  
All address bytes are 9 bits long, consisting of 7 address bits, one READ/WRITE control bit  
and an acknowledge bit. If the READ/WRITE bit is set, a read operation is performed,  
otherwise a write operation is performed. When the device recognizes that it is being  
addressed, it will acknowledge by pulling SDA low in the ninth SCL (ACK) cycle. An address  
byte consisting of a slave address and a READ or a WRITE bit is called SLA+R or SLA+W,  
respectively.  
The most significant bit of the address byte is transmitted first. The address sent by the host  
must be consistent with that selected with the option jumpers.  
Figure E-4. Address Byte Format  
Addr MSB  
Addr LSB  
ACK  
R/W  
SDA  
SCL  
1
2
7
8
9
START  
E.4 Data Byte Format  
All data bytes are 9 bits long, consisting of 8 data bits and an acknowledge bit. During a data  
transfer, the host generates the clock and the START and STOP conditions, while the receiver  
is responsible for acknowledging the reception. An acknowledge (ACK) is signaled by the  
receiver pulling the SDA line low during the ninth SCL cycle. If the receiver leaves the SDA  
line high, a NACK is signaled.  
85  
9871EX–AT42–12/13  
Figure E-5. Data Byte Format  
Data LSB  
Data MSB  
ACK  
Aggregate  
SDA  
SDA from  
Transmitter  
SDA from  
Receiver  
SCL from  
Master  
1
2
7
8
9
SLA+R/W  
Data Byte  
Stop or Next  
Data Byte  
E.5 Combining Address and Data Bytes into a Transmission  
A transmission consists of a START condition, an SLA+R/W, one or more data bytes and a  
STOP condition. The wired “ANDing” of the SCL line is used to implement handshaking  
between the host and the device. The device extends the SCL low period by pulling the SCL  
line low whenever it needs extra time for processing between the data transmissions.  
Note: Each write or read cycle must end with a stop condition. The device may not respond  
correctly if a cycle is terminated by a new start condition.  
Figure E-6 shows a typical data transmission. Note that several data bytes can be transmitted  
between the SLA+R/W and the STOP.  
Figure E-6. Byte Transmission  
Addr MSB  
Addr LSB  
Data MSB  
Data LSB  
ACK  
ACK  
R/W  
SDA  
SCL  
1
2
7
8
9
1
2
7
8
9
START  
SLA+RW  
Data Byte  
STOP  
86  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
Table of Contents  
Features ................................................................................................. 1  
Overview of the mXT1664S1 ............................................................... 3  
1
2
3
1.1  
1.2  
1.3  
Introduction ...................................................................................................3  
Understanding Unfamiliar Concepts ..............................................................3  
Resources .....................................................................................................4  
Pinout and Schematic .......................................................................... 5  
2.1  
2.2  
2.3  
Pinout Configuration ......................................................................................5  
Pinout Descriptions .......................................................................................6  
Schematics ..................................................................................................11  
Touchscreen Basics .......................................................................... 14  
3.1  
3.2  
3.3  
3.4  
Sensor Construction ....................................................................................14  
Electrode Configuration ...............................................................................14  
Scanning Sequence ....................................................................................15  
Touchscreen Sensitivity ..............................................................................15  
4
Detailed Operation ............................................................................. 16  
4.1  
4.2  
4.3  
4.4  
4.5  
4.6  
4.7  
4.8  
4.9  
4.10  
Power-up/Reset ..........................................................................................16  
Calibration ...................................................................................................18  
Operational Modes ......................................................................................18  
Touchscreen Layout ....................................................................................18  
Signal Processing .......................................................................................19  
Circuit Components .....................................................................................22  
PCB Layout .................................................................................................23  
Debugging ...................................................................................................23  
Communications .........................................................................................23  
Configuring the Device ................................................................................24  
5
I2C-compatible Communications ..................................................... 25  
5.1  
5.2  
5.3  
5.4  
5.5  
5.6  
5.7  
Communications Protocol ...........................................................................25  
I2C-compatible Addresses ..........................................................................25  
Writing To the Device ..................................................................................25  
I2C-compatible Writes in Checksum Mode ..................................................26  
Reading From the Device ...........................................................................26  
Reading Status Messages with DMA ..........................................................27  
CHG Line ....................................................................................................29  
87  
9871EX–AT42–12/13  
5.8  
5.9  
SDA, SCL ....................................................................................................31  
Clock Stretching ..........................................................................................31  
6
USB Communications ........................................................................ 32  
6.1  
6.2  
6.3  
6.4  
6.5  
6.6  
Communications Protocol ...........................................................................32  
Endpoint Addresses ....................................................................................32  
Composite Device .......................................................................................33  
Interface 0 (Digitizer HID) ............................................................................33  
Interface 1 (Generic HID) ............................................................................37  
USB Suspend Mode ....................................................................................44  
7
HID-I2C-compatible Communications .............................................. 45  
7.1  
7.2  
7.3  
7.4  
7.5  
7.6  
7.7  
7.8  
7.9  
7.10  
Communications Protocol ...........................................................................45  
I2C-compatible Addresses ...........................................................................45  
Device .........................................................................................................45  
Interface 0 (Digitizer HID-I2C) ......................................................................45  
Interface 1 (Generic HID-I2C) ......................................................................49  
CHG Line ....................................................................................................53  
SDA, SCL ....................................................................................................54  
Clock Stretching ..........................................................................................54  
Power Control .............................................................................................54  
Microsoft Windows 8 Compliance ...............................................................54  
8
9
Getting Started with mXT1664S1 ...................................................... 55  
8.1  
8.2  
8.3  
8.4  
8.5  
Establishing Contact ...................................................................................55  
Using the Object Protocol ...........................................................................55  
Writing to the Device ...................................................................................55  
Reading from the Device .............................................................................56  
Configuring the Device ................................................................................56  
Specifications ..................................................................................... 58  
9.1  
9.2  
9.3  
9.4  
9.5  
9.6  
9.7  
9.8  
Absolute Maximum Specifications ...............................................................58  
Recommended Operating Conditions .........................................................58  
DC Characteristics ......................................................................................58  
ESD Information ..........................................................................................59  
Supply Current ............................................................................................60  
Current Consumption ..................................................................................62  
Timing Specifications ..................................................................................66  
I2C-compatible Specifications .....................................................................67  
88  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
9.9  
USB Specification .......................................................................................67  
HID-I2C Specification ..................................................................................68  
Touch Accuracy and Repeatability ..............................................................68  
Power Supply and Ripple Noise ..................................................................68  
Thermal Packaging .....................................................................................68  
Soldering Profile ..........................................................................................69  
Mechanical Dimensions ..............................................................................70  
Part Marking ................................................................................................71  
Part Numbers ..............................................................................................71  
Silicon Revision Identification ......................................................................71  
Moisture Sensitivity Level (MSL) .................................................................71  
9.10  
9.11  
9.12  
9.13  
9.14  
9.15  
9.16  
9.17  
9.18  
9.19  
Appendix A  
PCB Design Considerations ........................................ 72  
Introduction .................................................................................................72  
Printed Circuit Board ...................................................................................72  
Supply Rails and Ground Tracking ..............................................................72  
Power Supply Decoupling ...........................................................................72  
Suggested Voltage Regulator Manufacturers .............................................73  
Crystal Oscillator .........................................................................................74  
Analog I/O ...................................................................................................74  
Component Placement ................................................................................75  
Digital Signals .............................................................................................75  
EMC and Other Observations .....................................................................75  
A.1  
A.2  
A.3  
A.4  
A.5  
A.6  
A.7  
A.8  
A.9  
A.10  
Appendix B  
Appendix C  
Reference Configuration .............................................. 76  
Glossary of Terms ........................................................ 81  
Appendix D  
QMatrix Primer .............................................................. 82  
Acquisition Technique .................................................................................82  
Moisture Resistance ....................................................................................82  
Interference Sources ...................................................................................83  
D.1  
D.2  
D.3  
Appendix E  
I2C Basics (I2C-compatible Operation) ...................... 84  
Interface Bus ...............................................................................................84  
Transferring Data Bits .................................................................................84  
START and STOP Conditions .....................................................................85  
Address Byte Format ..................................................................................85  
Data Byte Format ........................................................................................85  
9.20  
E.1  
E.2  
E.3  
E.4  
89  
9871EX–AT42–12/13  
E.5  
Combining Address and Data Bytes into a Transmission ...........................86  
Table of Contents................................................................................ 87  
Revision History.................................................................................. 91  
90  
mXT1664S1  
9871EX–AT42–12/13  
mXT1664S1  
Revision History  
Revision Number  
History  
Revision AX – April 2013  
Revision BX – April 2013  
Revision CX – June 2013  
Revision DX – October 2013  
Revision EX – December 2013  
Initial release for firmware revision 2.0  
Corrected the part number  
Updated Vdd specifications  
Corrected the QSS number  
Added CU parts to part numbers  
91  
9871EX–AT42–12/13  
Headquarters  
International  
Atmel Corporation  
1600 Technology Drive  
San Jose, CA 95110  
USA  
Tel: (+1) (408) 441-0311  
Fax: (+1) (408) 436-4314  
Atmel Asia  
Atmel Munich GmbH  
Business Campus  
Parkring 4  
D- 85748 Garching b.  
MUNICH  
Atmel Japan  
16F Shin-Osaki Kangyo Building  
1-6-4 Osaki  
Shinagawa-ku, Tokyo 141-0032  
JAPAN  
Tel: (+81) (3) 6417-0300  
Fax: (+81) (3) 6417-0370  
Unit 01-05 & 16, 19F  
BEA Tower, Millennium City 5  
418 Kwun Tong Road  
Kwun Tong  
Kowloon  
HONG KONG  
Tel: (+49) 89-31970-111  
Fax: (+49) 89-3194621  
Tel: (+852) 2245-6100  
Fax: (+852) 2722-1369  
Touch Technology Division  
1560 Parkway  
Solent Business Park  
Whiteley  
Fareham  
Hampshire  
PO15 7AG  
UNITED KINGDOM  
Tel: (+44) (0) 844 894 1920  
Fax: (+44) (0) 1489 557 066  
Product Contact  
Web Site  
Technical Support  
Sales Contact  
www.atmel.com  
touch@atmel.com  
www.atmel.com/contacts  
Disclaimer: The information in this document is provided in connection with Atmel products. No license, express or implied, by estoppel or otherwise, to any  
intellectual property right is granted by this document or in connection with the sale of Atmel products. EXCEPT AS SET FORTH IN ATMELS TERMS AND  
CONDITIONS OF SALE LOCATED ON ATMELS WEB SITE, ATMEL ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR  
STATUTORY WARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS  
FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL,  
PUNITIVE, SPECIAL OR INCIDENTAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, BUSINESS INTERRUPTION, OR  
LOSS OF INFORMATION) ARISING OUT OF THE USE OR INABILITY TO USE THIS DOCUMENT, EVEN IF ATMEL HAS BEEN ADVISED OF THE POSSIBILITY  
OF SUCH DAMAGES. Atmel makes no representations or warranties with respect to the accuracy or completeness of the contents of this document and reserves the  
right to make changes to specifications and product descriptions at any time without notice. Atmel does not make any commitment to update the information  
contained herein. Unless specifically provided otherwise, Atmel products are not suitable for, and shall not be used in, automotive applications. Atmel’s products are  
not intended, authorized, or warranted for use as components in applications intended to support or sustain life.  
© 2013 Atmel Corporation. All rights reserved. Atmel®, Atmel logo and combinations thereof, QMatrix®, QTouch®, maXTouch® and others are  
registered trademarks or trademarks of Atmel Corporation or its subsidiaries. Microsoft® and Windows® are registered trademarks of Microsoft  
Corporation in the United States and other countries. Other terms and product names may be registered trademarks or trademarks of others.  
9871EX–AT42–12/13  

相关型号:

ATMXT1664T2-C2U

SPECIALTY ANALOG CIRCUIT
MICROCHIP

ATMXT1664T2-C2UR

Analog Circuit
MICROCHIP

ATMXT3432S-M-CCU023

Analog Circuit, 1 Func, PBGA64
MICROCHIP

ATMXT3432S-M-CCU025

Analog Circuit, 1 Func, PBGA64
MICROCHIP

ATMXT3432S-M-CCU026

Analog Circuit, 1 Func, PBGA64
MICROCHIP

ATMXT3432S-M-CCU034

Analog Circuit, 1 Func, PBGA64
MICROCHIP

ATMXT3432S-M-CCUR023

Analog Circuit, 1 Func, PBGA64
MICROCHIP

ATMXT3432S-M-CCUR025

Analog Circuit, 1 Func, PBGA64
MICROCHIP

ATMXT3432S-M-CCUR026

Analog Circuit, 1 Func, PBGA64
MICROCHIP

ATMXT3432S-M-CCUR034

Analog Circuit, 1 Func, PBGA64
MICROCHIP

ATMXT3432S-S-CUR022

Analog Circuit, 1 Func, PBGA128
MICROCHIP

ATMXT3432S-S-CUR034

Analog Circuit, 1 Func, PBGA128
MICROCHIP