SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
KEY PRODUCT FEATURES
GENERAL DESCRIPTION
•
The SX8657 and SX8658 belong to a family of high
performance haptics enabled 4/5-wire resistive touch
screen controller with proximity detection, optimized
for hand held applications such as mobile phones,
portable music players, game machines, point-ofsales terminal and other consumer and industrial
applications. They feature a wide input supply range
from 2.3V to 3.6V.
•
The controller computes touch screen X-Y
coordinates and touch pressure with a precision, low
power 12-bit analog-digital converter. On-chip data
averaging processing algorithms can be activated to
reduce host activity and suppress system noise. The
processing core features low power modes which
intelligently minimize current in operation as well as in
automatic shut-down.
•
•
A capacitive proximity detection circuit has been
integrated into the SX8657 to enable host controlled
power management for battery applications. Proximity
detection above 5 cm is possible using either the
resistive touch screen as the sensor or with a single
conductive plate, with communication to the host via
the serial interface.
•
The SX8657 and SX8658 also integrate a haptics
motor driver for Linear Resonant Actuator (LRA) and
Eccentric Rotating Mass (ERM) micro motors with up
to 250mA drive current. Haptics control can be
performed using either an external PWM signal or the
I2C serial interface, providing simple host interfacing
and minimizing its I/O requirement. The SX8657/58
supports Immersion
TouchSense® 3000 haptic
control software for high quality touch feedback.
•
•
Integrated very high ESD protection, of up to ±15kV
on display inputs not only saves cost and board area,
but also increases application reliability.
The three devices have an ambient operating
temperature range of -40°C to +85°C, and are offere d
in both a 4mm x 4mm, 20-lead QFN package and
2.07mm x 2.07mm 19-lead CSP package for spaceconscious applications.
•
•
•
•
•
TYPICAL APPLICATIONS
•
•
•
•
•
Game Machines, Portable Music Players
Mobile Phones
DSC, DVR, Phones
POS/POI Terminals
Touch-Screen Monitors
Low Voltage Operation
2.3V to 3.6V Supply
Integrated Low Drop Out (LDO) Regulator
Low Power Consumption
30uA@2.3V 8ksps (ESR)
0.4uA Shut-Down Current
4/5-Wire Touchscreen Interface
Precision, Ratiometric 12-bit ADC
Up to 5000 (X-Y) coordinates/second (c/s)
Programmable Digital Filtering/Averaging
Touch Pressure Measurement (4-Wire)
Programmable Operating Mode (Manual,
Pen Detect, Pen Trigger)
Capacitive Proximity Sensing (SX8657)
No Additional Components Required
Uses Resistive Touchscreen or a Simple
Conductive Area as the Sensor
>5 cm Detection Distance
8uA @ 200ms Scan Period
Fully Programmable (Sensitivity, etc)
Haptics Driver for LRA and ERM (SX8657/58)
Supports Immersion TouchSense® 3000
haptic control software
Haptics Waveform Generation Control (I2C
or PWM Input)
Short Circuit Protection
Early Warning and Over-Temperature
Monitoring and Protection
400kHz I2C Serial Interface
Several Host Operating Modes Available
Maskable Interrupt Output (NIRQ)
Real-time Events Monitoring (AUX1-3)
Polling (I2C)
Hardware, Software, and Power-On Reset
-40°C to +85°C Operating Temperature Range
15kV HBM & IEC ESD Protection
Small Footprint Packages
Pb & Halogen Free, RoHS/WEEE compliant
M
HAPTICS DRIVER
ORDERING INFORMATION
Part Number
SX8657IWLTRT
SX8657ICSTRT
SX8658IWLTRT
SX8658ICSTRT
SX8654EVK
Package
QFN-20
WLCSP-19
QFN-20
WLCSP-19
Evaluation Kit
NRST
SX8657
Marking
I2C
NIRQ
RD2C
Host
Controller
TOUCHSCREEN
CONTROL
RC4B
PROXIMITY SENSING
th
Rev 1 – 25 July 2011
1
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
Table of Contents
GENERAL DESCRIPTION ..................................................................................................................... 1
TYPICAL APPLICATIONS ..................................................................................................................... 1
ORDERING INFORMATION................................................................................................................... 1
KEY PRODUCT FEATURES.................................................................................................................. 1
1
GENERAL DESCRIPTION ............................................................................................................ 4
1.1
Marking Information
1.1.1
SX8657
1.1.2
SX8658
1.2
Pin Diagrams
1.2.1
QFN Package
1.2.2
CSP Package
1.3
Pin Description
1.4
Block Diagram
2
4
4
4
5
5
5
6
6
ELECTRICAL CHARACTERISTICS ............................................................................................... 8
2.1
2.2
2.3
Absolute Maximum Ratings
Thermal Characteristics
Electrical Specifications
8
8
8
3
TYPICAL OPERATING CHARACTERISTICS ............................................................................... 11
4
TOUCHSCREEN INTERFACE..................................................................................................... 12
4.1
4.2
Introduction
Coordinates Measurement
4.2.1
4-wire Touchscreen
4.2.2
5-wire Touchscreen
4.3
Pressure Measurement (4-wire only)
4.3.1
Bias Time (POWDLY)
4.4
Pen Detection
4.5
Digital Processing
4.6
Host Operation
4.6.1
Overview
4.6.2
Manual Mode (MAN)
4.6.3
Pen Detect Mode (PENDET)
4.6.4
Pen Trigger Mode (PENTRG)
4.6.5
Maximum Throughput vs. TOUCHRATE setting
5
12
13
13
14
14
15
15
16
18
18
18
19
19
20
PROXIMITY SENSING INTERFACE (SX8657) ............................................................................ 22
5.1
5.2
Introduction
Analog Front-End (AFE)
5.2.1
Capacitive Sensing Basics
5.2.2
AFE Block Diagram
5.2.3
Capacitance-to-Voltage Conversion (C-to-V)
5.2.4
Shield Control
5.2.5
Offset Compensation
5.2.6
Analog-to-Digital Conversion (ADC)
5.3
Digital Processing
5.3.1
Overview
5.3.2
PROXRAW Update
5.3.3
PROXUSEFUL Update
5.3.4
PROXAVG Update
5.3.5
PROXDIFF Update
th
Rev 1 – 25 July 2011
2
22
23
23
24
25
25
25
26
26
26
27
28
29
31
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
5.4
6
5.3.6
PROXSTAT Update
Host Operation
5.4.1
General Description
5.4.2
Proximity Sensing vs Touch Operations
5.4.3
Minimum Scan Period (i.e. PROXSCANPERIOD)
31
32
32
32
34
HAPTICS INTERFACE (SX8657/58) .......................................................................................... 35
6.1
6.2
Introduction
ERM Load
6.2.1
Introduction
6.2.2
PWM Mode
6.2.3
I2C Mode
6.3
LRA Load
6.3.1
Introduction
6.3.2
PWM Mode
6.3.3
I2C Mode
6.4
Short-Circuit Protection
35
35
35
36
36
36
36
37
37
37
7
TEMPERATURE SENSOR.......................................................................................................... 38
8
INTERRUPT (NIRQ) .................................................................................................................. 39
8.1
8.2
Introduction
Registers Overview
8.2.1
RegIrqMsk
8.2.2
RegIrqSrc
8.2.3
RegStat
8.3
Host Procedure
39
39
39
39
39
39
9
AUXILIARY PINS (AUX1/AUX2/AUX3)...................................................................................... 40
10
RESET ...................................................................................................................................... 41
10.1
10.2
10.3
11
Hardware (POR and NRST)
Software (RegReset)
ESD Event (RESETSTAT)
41
41
41
I2C INTERFACE ........................................................................................................................ 42
11.1
11.2
11.3
11.4
11.5
11.6
Introduction
I2C Address
Write Register
Read Register
Write Command (Touchscreen Interface)
Read Channel (Touchscreen Interface)
42
42
42
43
43
44
12
REGISTERS DETAILED DESCRIPTION ...................................................................................... 46
13
APPLICATION INFORMATION ................................................................................................... 58
13.1
13.2
14
Typical Application Circuit
External Components Recommended Values
58
58
PACKAGING INFORMATION ..................................................................................................... 59
14.1
14.2
QFN Package
CSP Package
th
Rev 1 – 25 July 2011
59
60
3
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
1
GENERAL DESCRIPTION
1.1
1.1.1
Marking Information
SX8657
Figure 1 – Marking Information – QFN(left) – CSP(right)
1.1.2
SX8658
Figure 2 – Marking Information – QFN(left) – CSP(right)
th
Rev 1 – 25 July 2011
4
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
1.2
1.2.1
Pin Diagrams
QFN Package
Figure 3 – Pin Diagram – QFN
1.2.2
CSP Package
Figure 4 – Pin Diagram - CSP
th
Rev 1 – 25 July 2011
5
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
1.3
Pin Description
Name
VDD
GND
VREG
MVDD
MGND
MOUTP
MOUTN
MIN
Type
P
P
P
P
P
AO
AO
DI
X+/BR
A
Y+/TR
A
X-/TL
A
Y-/BL
A
AUX1/WIPER
D/A
AUX2
AUX3
ADDR
SCL
SDA
NIRQ
NRST
D/A
D/A
DI
DI
DIO
DO
DI
Description
Main Power Supply
Main Ground
Internal Regulator Output (must be connected to an external capacitor; see §13)
Haptics Motor Power Supply
Haptics Motor Ground (must be electrically connected to GND)
Haptics Motor Positive Drive
Haptics Motor Negative Drive
Haptics Motor PWM/Clock Input
• 4-wire Touchscreen : X+ Electrode
• 5-wire Touchscreen : Bottom Right (BR) Electrode
• 4-wire Touchscreen : Y+ Electrode
• 5-wire Touchscreen : Top Right (TR) Electrode
• 4-wire Touchscreen : X- Electrode
• 5-wire Touchscreen : Top Left (TL) Electrode
• 4-wire Touchscreen : Y- Electrode
• 5-wire Touchscreen : Bottom Left (BL) Electrode
• 4-wire Touchscreen : First Programmable Auxiliary Function (see §9)
• 5-wire Touchscreen : WIPER Electrode
Second Programmable Auxiliary Function (see §9)
Third Programmable Auxiliary Function (see §9)
I2C Address Selection (QFN only, internally connected to GND on CSP)
I2C Clock Input
I2C Data Input/Output
Interrupt Output (active low)
Reset Input (active low)
A/D/I/O/P: Analog/Digital/Power/Input/Output
Table 1 – Pin Description
1.4
Block Diagram
Figure 5 – SX8657 Block Diagram
th
Rev 1 – 25 July 2011
6
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
Figure 6 – SX8658 Block Diagram
th
Rev 1 – 25 July 2011
7
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
2
ELECTRICAL CHARACTERISTICS
2.1
Absolute Maximum Ratings
Stress above the limits listed in the following table may cause permanent failure. Exposure to absolute ratings for
extended time periods may affect device reliability. The limiting values are in accordance with the Absolute
Maximum Rating System (IEC 134). All voltages are referenced to ground (GND).
Conditions
Symbol
Description
Min
Max
Unit
VABS
Voltage applied on any pin
VESDHBM
Electrostatic handling
Human Body Model (HBM)
VESDCDM
VESDMM
VESDCD
TAMB
TJUN
TSTOR
ILAT
- 0.5
Electrostatic handling
Charged Device Model (CDM)
Electrostatic handling
Machine Model (MM)
Electrostatic handling
Contact Discharge (CD)
Operating ambient temperature
Operating junction temperature
Storage temperature
(3)
Latch-up current
X+/BR, Y+/TR, X-/TL,
Y-/BL, VDD, MVDD
Other pins
X+/BR, Y+/TR, X-/TL,
Y-/BL, VDD, MVDD
Other pins
X+/BR, Y+/TR, X-/TL,
Y-/BL, VDD, MVDD
Other pins
X+/BR, Y+/TR, X-/TL,
Y-/BL, VDD, MVDD
3.9
(1)
V
(2)
+/-15 , +/-8
kV
(2)
+/-8
+/-1
kV
+/-1
+/-250
V
+/-250
+/-15
kV
-40
+85
-40
+125
-55
+150
+/-100
°C
°C
°C
mA
(1) Tested to TLP (10A)
(2) Tested to JEDEC standard JESD22-A114
(3) Tested to JEDEC standard JESD78
Table 2 - Absolute Maximum Ratings
2.2
Thermal Characteristics
Conditions
Description
Thermal Resistance Junction – Ambient
QFN package
Thermal Resistance Junction – Ambient
WLCSP package
Table 3 – Thermal Characteristics
Symbol
θJAQ
θJAW
Min
Max
Unit
-
30.5
°C/W
-
29
°C/W
2.3
Electrical Specifications
Table below applies to full supply voltage and temperature range, unless otherwise specified. Typical values are
given for TA = +25°C, VDD=VDDM=3.3V.
Symbol Description
Conditions
Min
Typ.
Max
Unit
Supply
VDD
Main supply voltage
2.3
3.6
V
OFF
uA
IDD
Main supply current
0.4
0.75
(MAN mode, no command,
HAPT OFF)
WAIT
(PENDET/TRG mode, pen up,
PROX OFF, HAPT OFF)
-
1.7
-
-
30
-
-
120
160
TOUCH1
(PENTRG mode, pen down, X+Y,
RATE=4kcps, Nfilt=1,
POWDLY=0.5us, touchscreen
current excluded, HAPT OFF,
VDD=2.3V)
TOUCH2
(PENTRG mode, pen down, X+Y,
RATE=3kcps, Nfilt=7,
POWDLY=0.5us, touchscreen
current excluded, HAPT OFF)
th
Rev 1 – 25 July 2011
8
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
Symbol
Description
Conditions
PROX
(PENDET/TRG mode, pen up,
TOUCHRATE=80cps, PROX ON,
SCANPERIOD=200ms,
HIGHIM=ON,
SENSITIVITY=Max,
FREQ=150kHz, BOOST=OFF,
HAPT OFF)
Min
Typ.
Max
Unit
-
8
20
-
115
145
VDD
-
0.01
3.6
1
V
µA
-
6
10
µA
HAPT
(MAN mode, no command,
LRA-PWM mode,
MIN= 44.8kHz/50%, GAIN = Max,
BW = 100, MOUTP/N floating,
Squelch=011)
MVDD
Haptics supply voltage
OFF
SQUELCH
MIDD
Haptics supply current
(LRA-PWM mode,
MIN= 44.8kHz/50%, GAIN = Max,
BW = 100, MOUTP/N floating,
Squelch=011)
Digital I/Os (ADDR, SCL, SDA, NRST, NIRQ, AUX1, AUX2, AUX3, MIN)
SCL, SDA, NRST
0.8*VDD
VIH
High level input voltage
Other pins
0.8*VDD
VIL
Low level input voltage
-0.3
ILEAK Input leakage current
-1
CI
Input capacitance
VOH
High level output voltage
IOH = 4mA
0.8*VDD
VOL
Low level output voltage
IOL = 4mA
VPULL External pull-up voltage
SCL, SDA, NRST, NIRQ
Haptics Interface
Maximum drive current
IDRV
MVDD = 3.6V
(MOUTP/MOUTN)
VOFF
Output squelch differential error
(from 0V ideal)
VERR
Output differential error
(from 1.135V ideal)
VDRV
Drive voltage (MOUTP/MOUTN)
VDROP
Drop voltage (MOUTP/MOUTN)
ISHORT
Short-circuit detection current
Motor input (MIN) frequency in
I2C mode
FMINC
Motor input (MIN) frequency in
PWM mode
FMINP
Motor input (MIN) duty cycle in
PWM mode
TWRNG Warning temperature
TALRM Alarm temperature
Touchscreen Interface
ARES
ADC resolution
AOFF
ADC offset
AGE
ADC gain error
ADNL
ADC differential non-linearity
AINL
ADC integral non-linearity
RBIAS Biasing resistance
Proximity Sensing Interface
External capacitance to be
CDC
compensated
tPROX
Scan period (reaction time)
LRA or ERM, PWM or I2C,
AmplitudeCode within squelch
range, GAIN = Max, BW = 100,
MOUTP/N floating, Squelch=011
LRA or ERM, I2C,
AmplitudeCode = +127 (Max)
GAIN = Min, BW = 100,
MOUTP/N floating
th
250
3.6
V
VDD+0.2
0.8
V
1
µA
pF
V
0.4
V
3.6
V
-
mA
(1)
mV
0
0
125
0
125
(2)
(2)
mV
From MVDD/MGND,
@250mA
Measured @MIDD
-
-
VDDM
V
-
-
150
mV
-
300
-
mA
40-60% duty cycle
-
-
50
MHz
HAPTRANGE = 0
12.8
-
25.6
kHz
HAPTRANGE = 1
25.6
-
51.2
kHz
2
-
98
%
-
120
155
-
°C
12
-
±1
0.5
±1
± 1.5
5
-
LSB
-
-
-
300
pF
Programmable
-
200
-
ms
DCMIN
Rev 1 – 25 July 2011
(1)
0
5
-
Junction temperature
At full scale
9
bits
Ω
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
Symbol Description
Reset
VPOR Power-On-Reset voltage
tRESET
Reset time after POR
tPULSE
Reset pulse from host uC
I2C Interface
fSCL
Cb
SCL clock frequency
Hold time (repeated) START
condition
LOW period of the SCL clock
HIGH period of the SCL clock
Set-up time for a repeated
START condition
Data hold time
Data set-up time
Rise time of both SDA and SCL
Fall time of both SDA and SCL
Set-up time for STOP condition
Bus free time between a STOP
and START condition
Capacitive load for each bus line
tSP
Pulse width of spikes
suppressed by the input filter
tHD;STA
tLOW
tHIGH
tSU;STA
tHD;DAT
tSU;DAT
tr
tf
tSU;STO
tBUF
Conditions
Min
Typ.
Max
Unit
Cf. §10
Cf. §10
Cf. §10
1
1.3
-
1
-
V
ms
us
-
-
-
400
kHz
-
0.6
-
-
µs
-
1.3
0.6
-
-
µs
µs
-
0.6
-
-
µs
-
0
100
20+0.1Cb
20+0.1Cb
0.6
-
300
300
-
µs
ns
ns
ns
µs
-
1.3
-
-
µs
Up to 0.3xVDD from
GND, down to 0.7xVDD
from VDD
-
-
400
pF
50
-
-
ns
-
32
1.8
-
kHz
MHz
Miscellaneous
FOSCL Low frequency internal oscillator
FOSCH High frequency internal oscillator
(1)
(2)
-
Guaranteed by design.
PWM mode can introduce an additional error of 2.5% of full scale.
Table 4 – Electrical Specifications
th
Rev 1 – 25 July 2011
10
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
3
TYPICAL OPERATING CHARACTERISTICS
Conditions as defined in §2.3, TA = +25°C, VDD=VDDM=3.3V unless otherwise specified.
IDD_WAIT vs VDD vs TOUCHRATE
IDD_OFF vs VDD vs TEMP
4.00E-07
8
3.80E-07
7
3.60E-07
6
3.40E-07
5
10cps
IDD(uA)
IDD(A)
3.20E-07
25°C
3.00E-07
85°C
-40°C
80cps
4
2000cps
5000cps
2.80E-07
3
2.60E-07
2
2.40E-07
1
2.20E-07
0
2.00E-07
2.3
2.3
2.5
2.7
2.9
3.1
3.3
2.4
2.5
2.6
2.7
2.8
2.9
3.0
3.1
3.2
3.3
3.4
3.5
3.6
3.5
VDD(V)
VDD(V)
IDD_HAPT vs VDD vs TEMP
IDD_PROX vs SCANPERIOD vs SENSITIVITY
0.0002
80
0.00019
70
0.00018
60
0.00017
0.00016
0(Min)
40
IDD(A)
IDD_PROX(uA)
50
5
7(Max)
25°C
0.00015
85°C
-40°C
0.00014
30
0.00013
20
0.00012
10
0.00011
0
0.0001
0
100
200
300
400
500
600
700
800
2.3
2.5
2.7
SCANPERIOD(m s)
2.9
3.1
3.3
3.5
VDD(V)
MIDD_SQUELCH vs MVDD vs TEMP
MIDD_OFF vs MVDD vs TEMP
1.00E-05
5.00E-08
4.50E-08
9.00E-06
4.00E-08
3.50E-08
8.00E-06
25°C
2.50E-08
25°C
IDD(A)
MIDD(A)
3.00E-08
85°C
-40°C
85°C
-40°C
7.00E-06
2.00E-08
1.50E-08
6.00E-06
1.00E-08
5.00E-09
5.00E-06
0.00E+00
2.3
2.5
2.7
2.9
3.1
3.3
2.3
3.5
2.5
2.7
2.9
3.1
3.3
3.5
MVDD(V)
MVDD(V)
VERR vs GAIN vs MVDD
0.08
0.07
0.06
VOFF(V)
2.3V
3.3V
0.05
3.6V
0.04
0.03
0.02
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
GAIN
th
Rev 1 – 25 July 2011
11
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
4
4.1
TOUCHSCREEN INTERFACE
Introduction
The purpose of the touchscreen interface is to measure and extract touch information like coordinates and
pressure. This is done in two steps, first an ADC measures the analog signal coming from the screen, and then
digital processing is performed to consolidate the data.
As illustrated below the chip’s touchscreen interface is compatible with both 4-wire and 5-wire touchscreens.
Touchscreen type is defined by parameter TSTYPE.
Figure 7 – Touchscreen Interface Overview
A 4-wire resistive touch screen consists in two (resistive) conductive sheets separated by an insulator when not
pressed. Each sheet is connected through 2 electrodes at the border of the sheet. When a pressure is applied
on the top sheet, a connection with the lower sheet is established.
Figure 8 – 4-wire Touchscreen
A 5-wire resistive touch screen consists in two (resistive) conductive sheets separated by an insulator when not
pressed. 4 electrodes are connected on the 4 corners of the bottom conductive sheet. They are referred as Top
Left (TL), Top Right (TR), Bottom Left (BL) and Bottom Right (BR).
The fifth wire (WIPER) is used for sensing the top sheet voltage. When a pressure is applied on the top sheet, a
connection with the lower sheet is established.
th
Rev 1 – 25 July 2011
12
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
Higher reliability and better endurance are the advantages of 5-wire touchscreens but they do not allow pressure
measurement
Figure 9 – 5-wire Touchscreen
4.2
Coordinates Measurement
4-wire Touchscreen
4.2.1
The electrode plates are internally connected through terminals X+, X- and Y+, Y- to an analog to digital
converter (ADC) and a reference voltage (Vref). The resistance between the terminals X+ and X- is defined by
Rxtot. Rxtot will be split in 2 resistors, R1 and R2, in case the screen is touched. Similarly, the resistance
between the terminals Y+ and Y- is represented by R3 and R4. The connection between the top and bottom
sheet is represented by the touch resistance (RT).
In order to measure the Y coordinate, the top resistive sheet (Y) is biased with a voltage source (Vref). Resistors
R3 and R4 determine a voltage divider proportional to the Y position of the contact point. Since the converter has
a high input impedance, no current flows through R1 (and RT) so that the voltage X+ at the converter input is
given by the voltage divider created by R3 and R4.
The X coordinate is measured in a similar fashion with the bottom resistive sheet (X) biased to create a voltage
divider by R1 and R2, while the voltage on the top sheet is measured through R3.
The resistance RT is the resistance obtained when a pressure is applied on the screen. RT is created by the
contact area of the X and Y resistive sheet and varies with the applied pressure.
Figure 10 – 4-wire Touchscreen Coordinates Measurement
The X and Y positions output by the ADC correspond to the formulas below:
R2
Xpos = 4095 ⋅ --------------------R1 + R2
R4 Y pos = 4095 ⋅ -------------------R3 + R4
12
4095 corresponds to the max output value of the ADC (12 bits => 2 – 1).
For example, a touch in the center of the screen will output (Xpos, Ypos) = ~(2048, 2048)
th
Rev 1 – 25 July 2011
13
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
4.2.2
5-wire Touchscreen
5-wire touchscreen coordinates measurement is performed similarly by biasing opposite corner pairs in either X
or Y directions on the lower panel, and converting the voltage appearing on the wiper panel with the ADC.
Figure 11 – 5-wire Touchscreen Coordinates Measurement
The X and Y positions output by the ADC correspond to the formulas below:
R2
Xpos = 4095 ⋅ --------------------R1 + R2
R4 Y pos = 4095 ⋅ -------------------R3 + R4
12
4095 corresponds to the max output value of the ADC (12 bits => 2 – 1).
For example, a touch in the center of the screen will output (Xpos, Ypos) = ~(2048, 2048)
4.3
Pressure Measurement (4-wire only)
The pressure measurement consists in extracting the touch resistance RT via two additional setups z1 and z2
illustrated below. The smaller RT, the more common touched surface there is between top and bottom plates
and hence the more “pressure” there is by the user.
Figure 12 – Pressure Measurement
The z1 and z2 values output by the ADC correspond to the formulas below:
R4
z1 = 4095 ⋅ --------------------------------R1 + R4 + R T
R4 +---------------Rt z2 = 4095 ⋅ ----------------R1 + R4 + R T
The X and Y total sheet resistance (Rxtot = R1+R2, Rytot = R3+R4) are known from the touch screen supplier.
R4 is proportional to the Y coordinate and its value is given by the total Y plate resistance Rytot multiplied by the
fraction of the Y position over the full coordinate range.
th
Rev 1 – 25 July 2011
14
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
Re-arranging z1 and z2 gives:
Rxtot = R1 + R2
Rytot = R3 + R4
Ypos
R4 = Rytot ⋅ ------------4095
z2
z2
R T = R4 ⋅ ------ – 1
z1
This finally results in:
z2- – 1
R T = Rytot ⋅ Ypos
------------- ⋅ ----4095
z1
The touch resistance calculation above hence requires three channel measurements (Ypos, z2 and z1) and one
specification data (Rytot).
An alternative calculation method is using Xpos, Ypos, one z channel and both Rxtot and Rytot as shown in the
next calculations.
R1 is inversely proportional to the X coordinate:
Xpos
R1 = Rxtot ⋅ 1 – ------------4095
Substituting R1 and R4 into z1 and rearranging terms gives:
Rytot ⋅ Ypos 4095
Xpos
RT = -------------------------------- ⋅ ------------ – 1 – Rxtot ⋅ 1 – ------------4095
z1
4095
Please note that the chip only outputs z1, z2, etc. The calculation of RT itself with the formulas above must be
performed by the host.
4.3.1 Bias Time (POWDLY)
In order to perform correct measurements, some time must be given for the touch screen to reach a proper Vref
bias level before the conversion is actually performed. It is a function of the PCB trace resistance connecting the
chip to the touchscreen and also the capacitance of the touchscreen. If tau is this RC time constant, then
POWDLY duration must be programmed to 10 tau to reach 12 bits accuracy.
Adding a capacitor from the touch screen electrodes to ground may also be used to minimize external noise (if
the touchscreen is used as the proximity sensor, make sure you do not exceed the maximum capacitive load for
required for proper proximity sensing operation). The low-pass filter created with the capacitor may increase
settling time requirement. Therefore, POWDLY can be used to stretch the acquisition period and delay
conversion appropriately.
POWDLY can be estimated by the following formula:
PowD ly = 10 × Rtouch × Ctouch
4.4
Pen Detection
The pen detection circuitry is used both to detect a user action and generate an interrupt or start an acquisition in
PENDET and PENTRG mode respectively. Doing pen detection prior to conversion avoids feeding the host with
dummy data and saves power. Pen detection is also used to disable and resume proximity sensing. For more
details on pen detection usage please refer to §4.6.
A 4-wire touchscreen will be powered between X+ and Y- through a resistor RPNDT so no current will flow as
long as no pressure is applied to the surface (see figure below). When a touch occurs, a current path is created
bringing X+ to the level defined by the resistive divider determined by RPNDT and the sum of R1, RT and R4.
th
Rev 1 – 25 July 2011
15
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
Figure 13 – 4-wire Touchscreen Pen Detection
When using a 5-wire touchscreen, the pen detection pull-up resistor RPNDT and digital comparator continue to
monitor the X+/BR pin as in 4-wire mode. The top panel is grounded via the WIPER pin to provide the grounding
path for a screen touch event. When a touch occurs, a current path is created and will bring BR to the level
defined by the resistive divider determined by RPNDT and the sum of R1, RT and RW.
Figure 14 – 5-wire Touchscreen Pen Detection
RPNDT can be configured to 4 different values to accommodate different screen resistive values.
RPNDT should be set to a value greater than 7x(Rxtot + Rytot), it is recommended to set it to max value.
Pen detection uses a bias time of POWDLY/8 (digital comparator => less precision required vs analog
conversion). Increasing POWDLY can improve the detection on panels with high resistance.
A pen touch will set the PENSTAT bit of the RegStat register which will generate an interrupt if enabled in
RegIrqMsk.
A pen release will reset PENSTAT bit of the RegStat register which will generate an interrupt if enabled in
RegIrqMsk.
4.5
Digital Processing
The chip offers 4 types of data processing which allows the user to make trade-offs between data throughput,
power consumption and noise rejection.
The parameter FILT is used to select the filter order Nfilt. The noise rejection will be improved with a high order
to the detriment of power consumption. Each channel can be sampled up to 7 times and then processed to get a
single consolidated coordinate.
th
Rev 1 – 25 July 2011
16
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
cn ≈
1
⋅
N
N −1
∑
i= 0
sn−i
Figure 15 – Digital Processing Block Diagram
FILT
Nfilt
0
1
Function
c
n
= s
n
No average.
c
1
3
1 4079
- ----------- s + s
+s
n = -3 ⋅ 4095 ( n n – 1 n – 2 )
3 ADC samples are averaged.
c
2
5
n
1 4079
= --- ⋅ ----------- ( s + s
+s
+s
+s
n– 1 n –2
n – 3 n – 4)
5 4095 n
5 ADC samples are averaged.
s
3
7
c
s
s
s
s
s
s
max 1 ≥ m ax2 ≥ a ≥ b ≥ c ≥ min 1 ≥ m in 2
1 4079
----------- s
s
s
n = --3- ⋅ 4095 ( a + b + c)
7 ADC samples are sorted and the 3 center samples are averaged.
Table 5 – Digital Processing Functions
The parameter SETDLY sets the settling time between the consecutive conversions of the same channel.
Figure 16 – POWDLY and SETDLY (FILT=2)
In most applications, SETDLY can be set to minimum (0.5us). However, in some particular applications where
an accuracy of 1LSB is required SETDLY may need to be increased.
th
Rev 1 – 25 July 2011
17
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
4.6
Host Operation
4.6.1 Overview
The chip has three operating modes that are configured using the I2C as defined in §11 :
Manual (command ‘MAN’ and TOUCHRATE = 0).
Pen detect (command ‘PENDET’ and TOUCHRATE > 0).
Pen trigger (command ‘PENTRG’ and TOUCHRATE > 0).
At power-up the chip is set in manual mode.
4.6.2
Manual Mode (MAN)
In manual mode (MAN) the touchscreen interface is stopped and conversions must be manually triggered by the
host using SELECT and CONVERT command.
When a command is received, the chip executes the associated tasks listed in table below and waits for the next
command. It is up to the host to sequence all actions.
Pen detection is performed after each CONVERT command and if pen is not detected, no touch operation is
performed. Following figures assume pen down. PENSTAT is not updated in MAN mode.
To enter MAN mode the host must send the MAN command and then set TOUCHRATE = 0.
Command
Actions
CONVERT(CHAN)
Select and bias CHAN
Wait for the programmed settling time (POWDLY)
Convert CHAN
SELECT(CHAN)
Select and bias CHAN
Table 6 – Manual Mode Commands
As illustrated in figure below the CONVERT command will bias the channel, wait for the programmed settling
time (POWDLY), and run the conversion.
READ CHANNEL
CONVERT(Y)
I2C
Y
Channel Bias
POWDLY
Y
Channel Conversion
CONVSTAT
NIRQ (RegIrqMsk[3]=1)
Figure 17 – Manual Mode – CONVERT Command (CHAN = Y; PROXSCANPERIOD = 0)
When the CONVERT command is used with CHAN=SEQ, multiple channels as defined in RegChnMsk are
sampled. In this case, each channel will be sequentially biased during POWDLY before a conversion is started.
At the end of each channel conversion the bias is automatically removed.
READ CHANNEL
CONVERT(SEQ)
I2C
X
Channel Bias
Y
POWDLY
POWDLY
X
Channel Conversion
Y
CONVSTAT
NIRQ (RegIrqMsk[3]=1)
Figure 18 – Manual Mode – CONVERT Command (CHAN = SEQ = [X;Y]; PROXSCANPERIOD = 0)
th
Rev 1 – 25 July 2011
18
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
In case the range of POWDLY settings available is not enough to cover the required settling time, one can use
the SELECT command first to bias the channel, and then send the CONVERT command hence extending bias
time. SELECT command cannot be used with CHAN=SEQ.
SELECT(Y)
I2C
CONVERT(Y)
READ CHANNEL
Y
Channel Bias
POWDLY
Actual bias time
Channel Conversion
Y
CONVSTAT
NIRQ (RegIrqMsk[3]=1)
Figure 19 – Manual Mode – SELECT command (CHAN = Y; PROXSCANPERIOD = 0)
At the end of the conversion(s) bit CONVSTAT will be reset which will trigger NIRQ falling edge (if enabled in
RegIrqMsk). Host can then read channel data which will release NIRQ.
Please note that when the SELECT command is used, the channel is converted whatever the pen status (no pen
detection performed).
4.6.3
Pen Detect Mode (PENDET)
In pen detect mode (PENDET) the chip will only run pen detection (continuously when pen is up, regularly as
defined by TOUCHRATE when pen is down) and update PENSTAT bit in RegStat to be able to generate an
interrupt (NIRQ) upon pen detection and/or release. No (touch) conversion is performed in this mode.
To enter PENDET mode the host must set TOUCHRATE > 0 and then send PENDET command.
To quit PENDET mode and stop the touchscreen interface the host must enter MAN mode.
Pen Touch
Pen Release
TOUCHRATE
tick
PENSTAT
CONVSTAT
NIRQ
I2C Read RegIrqSrc
Idle
Pen Detection
Figure 20 – Pen Detect Mode (RegIrqMsk[3:2] = 11 ; PROXSCANPERIOD = 0)
Please note that the next pen detection is not performed as long as NIRQ is low. If the host is too slow and
doesn’t read IrqSrc before next TOUCHRATE tick, no operation is performed and this TOUCHRATE tick is
simply ignored until next one.
4.6.4
Pen Trigger Mode (PENTRG)
In pen trigger mode (PENTRG) the chip will perform pen detection (continuously when pen is up, regularly as
defined by TOUCHRATE when pen is down) and if pen is down, will be followed by a conversion as defined in
RegChanMsk. The chip will update CONVSTAT bit in RegStat and will be able to generate an interrupt (NIRQ)
upon conversion completion. The chip will also update PENSTAT bit in RegStat and will be able to generate an
interrupt (NIRQ) upon pen detection and/or release.
The PENTRG mode offers the best compromise between power consumption and coordinate throughput. To
enter PENTRG mode the host must set TOUCHRATE > 0 and then send PENTRG command. To quit PENTRG
mode and stop the touchscreen interface the host must enter MAN mode.
th
Rev 1 – 25 July 2011
19
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
Pen Touch
Pen Release
TOUCHRATE
tick
PENSTAT
CONVSTAT
NIRQ
I2C Read Channel
Idle
Touch Conversion
Pen Detection
Figure 21 – Pen Trigger Mode (RegIrqMsk[3:2] = 10 ; PROXSCANPERIOD = 0)
Please note that to prevent data loss, the next pen detection and conversion are not performed as long as all
current channel data (i.e. channels selected in RegChanMsk) have not been read. If the host is too slow and
doesn’t read all channel data before next TOUCHRATE tick, no operation is performed and this TOUCHRATE
tick is simply ignored until next one.
4.6.5
Maximum Throughput vs. TOUCHRATE setting
In PENTRG mode the TOUCHRATE parameter is used to define the required coordinate’s throughput/rate.
However, as previously mentioned, in order for a new conversion to be performed the current conversion must
be completed and all relevant channel data must have been read by the host. If this condition is not met when
the next TOUCHRATE tick occurs, the tick is ignored and the condition checked again at the next one. This will
result in reduced actual rate vs what has been programmed in the TOUCHRATE parameter.
This is illustrated in figures below.
TOUCHRATE
tick
NIRQ
I2C Read Channel
Tconv
Tcom
Tconv+Tcom < Trate
Trate
Idle
Pen Detection
=
=> Actual rate = TOUCHRATE
Touch Conversion
Figure 22 – Correct TOUCHRATE setting
th
Rev 1 – 25 July 2011
20
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
Not ready, tick ignored
TOUCHRATE
tick
NIRQ
Trate < Tconv+Tcom < n.Trate
I2C Read Channel
Tconv
Tcom
Trate
Idle
Pen Detection
=> Actual rate = TOUCHRATE/n
=
Touch Conversion
Figure 23 – Incorrect (too high) TOUCHRATE setting
In order to prevent this, one can estimate the maximum throughput achievable and set TOUCHRATE parameter
accordingly.
MaxThroughput = 1 / (Tconv+Tcom)
Tcom is the time between the end of conversion (ie NIRQ falling edge) and the end of channel data reading (i.e.
NIRQ rising edge). Maximum throughput implies that the host reacts “instantaneously” to NIRQ falling edge:
Tc om = (8 + 16 × Ncha n ) × T I 2C
Tconv is the total conversion time:
Tconv ( us ) = 47 ⋅ Tos c + Nc han ⋅ ( P OWD LY + ( Nf ilt – 1 ) ⋅ SETD LY + ( 21Nfilt + 1 ) ⋅ Tos c )
- TI2C is the period of the I2C clock SCL
- Nfilt = {1,3,5,7} based on the order defined for the filter FILT
- Nchan = {1,2,3,4,5} based on the number of channels defined in RegChanMsk
- POWDLY = 0.5us to 18.19ms, settling time as defined in RegTS0
- SETDLY = 0.5us to 18.19ms, settling time when filtering as defined in RegTS2
- Tosc is the period of the internal oscillator FOSCH
Some examples of maximum throughputs achievable with an I2C running at 400kHz are given below.
Nchan
Nfilt
POWDLY
[us]
SETDLY
[us]
Tconv
[us]
Tcom
[us]
Total
[us]
CR
[kcps]
ECR
[kcps]
SR
[ksps]
ESR
[ksps]
2
1
0.5
0.5
51.7
100
151.7
6.6
13.2
6.6
13.2
2
3
35.5
0.5
170.6
100
270.6
3.7
7.4
11.1
22.2
2
5
2.2
0.5
152.8
100
252.8
4
8
20
40
4
3
35.5
0.5
315.0
200
515
1.9
7.6
5.7
22.8
Table 7 – Maximum Throughputs Examples
- CR = Coordinate Rate
- ECR = Equivalent Coordinate Rate = CR x Nchan
- SR = Sampling Rate = CR x Nfilt
- ESR = Equivalent Sampling Rate = SR x Nchan = CR x Nfilt x Nchan
For proper operation, the TOUCHRATE parameter should not exceed the theoretical maximum throughput CR.
th
Rev 1 – 25 July 2011
21
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
5
PROXIMITY SENSING INTERFACE (SX8657)
5.1
Introduction
The purpose of the proximity sensing interface is to detect when a conductive object (usually a body part i.e.
finger, palm, face, etc) is in the proximity of the system. This is commonly used in power-sensitive mobile
applications to turn the screen’s LCD ON/OFF depending on user’s finger/palm/face proximity.
The chip’s proximity sensing interface is based on capacitive sensing technology and shares the ADC with the
touchscreen interface (Cf §5.4.2). An overview is given in figure below.
Finger, palm,
face, etc
Sensor
Shield
Analog
Front-End
(AFE)
PROXSTAT
Digital
0
1
0
Processing
SX8657
Figure 24 – Proximity Sensing Interface Overview
The sensor can be the top layer of the touchscreen or a simple copper area on the PCB (programmable
in PROXSENSORCON). Its capacitance (to ground) will vary when a conductive object is moving in its
proximity.
The optional shield can be the bottom layer of the touchscreen or a simple copper area on the PCB
(programmable in PROXSHIELDCON) below/under/around the sensor. It is used to protect the sensor
against potential surrounding noise sources and improve its global performance. It also brings directivity
to the sensing, for example sensing objects approaching from top only.
The analog front-end (AFE) performs the raw sensor’s capacitance measurement and converts it into a
12 bit digital code. It also controls the shield. See §5.2 for more details.
The digital processing block computes the raw capacitance measurement from the AFE and extracts a
binary information PROXSTAT corresponding to the proximity status, i.e. object is “Far” or “Close”. It
also triggers AFE operations (compensation, etc). See §5.3 for more details.
To save power since the proximity event is slow by nature, the block will be waken-up regularly at every
programmed scan period (PROXSCANPERIOD) to sense and then process a new proximity sample. The block
will be in idle mode most of the time. This is illustrated in figure below
Figure 25 – Proximity Sensing Sequencing
th
Rev 1 – 25 July 2011
22
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
5.2
Analog Front-End (AFE)
5.2.1
Capacitive Sensing Basics
Capacitive sensing is the art of measuring a small variation of capacitance in a noisy environment. As
mentioned above, the chip’s proximity sensing interface is based on capacitive sensing technology. In order to
illustrate some of the user choices and compromises required when using this technology it is useful to
understand its basic principles.
To illustrate the principle of capacitive sensing we will use the simplest implementation where the sensor is a
copper plate on a PCB but the exact same principles apply if the sensor is the touchscreen’s top plate.
The figure below shows a cross-section and top view of a typical capacitive sensing implementation. The sensor
connected to the chip is a simple copper area on top layer of the PCB. It is usually surrounded (shielded) by
ground for noise immunity (shield function) but also indirectly couples via the grounds areas of the rest of the
system (PCB ground traces/planes, housing, etc). For obvious reasons (design, isolation, robustness …) the
sensor is stacked behind an overlay which is usually integrated in the housing of the complete system. When the
touchscreen is used for sensing the overlay corresponds to the thin and flexible protection film covering the top
panel.
PCB copper
Overlay
PCB dielectric
Sensor
Cut view
Top view
Ground
Figure 26 – Typical Capacitive Sensing Implementation
When the conductive object to be detected (finger/palm/face, etc) is not present, the sensor only sees an
inherent capacitance value CEnv created by its electrical field’s interaction with the environment, in particular
with ground areas.
When the conductive object (finger/palm/face, etc) approaches, the electrical field around the sensor will be
modified and the total capacitance seen by the sensor increased by the user capacitance CUser. This
phenomenon is illustrated in the figure below.
Figure 27 – Proximity Effect on Electrical Field and Sensor Capacitance
th
Rev 1 – 25 July 2011
23
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
The challenge of capacitive sensing is to detect this relatively small variation of CSensor (CUser usually contributes
for a few percents only) and differentiate it from environmental noise (CEnv also slowly varies together with the
environment characteristics like temperature, etc). For this purpose, the chip integrates an auto offset
compensation mechanism which dynamically monitors and removes the CEnv component to extract and process
CUser only. See §5.2.5 for more details.
In first order, CUser can be estimated by the formula below:
CUser =
ε 0 ⋅ εr ⋅ A
d
A is the common area between the two electrodes hence the common area between the user’s finger/palm/face
and the sensor.
d is the distance between the two electrodes hence the proximity distance between the user and the system.
ε 0 is the free space permittivity and is equal to 8.85 10e-12 F/m (constant)
ε r is the dielectric relative permittivity.
When performing proximity sensing the dielectric relative permittivity is roughly equal to that of the air as the
overlay is relatively thin compared to the detection distance targeted. Typical permittivity of some common
materials is given in the table below.
Material
Glass
FR4
Acrylic Glass
Wood
Air
Typical
8
5
3
2
1
εr
From the discussions above we can conclude that the most robust and efficient design will be the one that
minimizes CEnv value and variations while improving CUser.
5.2.2
AFE Block Diagram
Figure 28 – Analog Front-End Block Diagram
th
Rev 1 – 25 July 2011
24
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
5.2.3
Capacitance-to-Voltage Conversion (C-to-V)
PROXSENSORCON defines which pin will act as the sensor during proximity sensing operations. In the typical
case, the touchscreen top layer is used as the sensor (exact pin/electrode depends on screen type/structure).
Else, the sensor can also be “external”, i.e. connected to AUX2.
The sensitivity of the interface is defined by PROXSENSITIVITY; for obvious power consumption reasons it is
recommended to set it as low as possible.
As a last resort and only if the sensor is “external”, PROXBOOST can be set to allow higher sensitivity if needed.
PROXFREQ defines the operating frequency of the interface and should be set as high as possible for power
consumption reasons.
If needed, PROXHIGHIM enables a high noise immunity mode at the expense of increased power consumption.
5.2.4
Shield Control
PROXSHIELDCON defines which pin will act as the shield during proximity sensing operations. In the typical
case, the shield will usually be the touchscreen bottom layer (exact pin/electrode depends on screen
type/structure). Else, the shield can also be “external”, ie a simple copper area on the PCB connected to AUX3.
5.2.5
Offset Compensation
Offset compensation consists in performing a one time measurement of CEnv and subtracting it to the total
capacitance CSensor in order to feed the ADC with the closest contribution of CUser only.
Figure 29 – Offset Compensation Block Diagram
The ADC input CUser is the total capacitance CSensor to which CEnv is subtracted.
There are five possible compensation sources which are illustrated in the figure below. When set to 1 by any of
these sources, PROXCOMPSTAT will only be reset once the compensation is completed.
Figure 30 – Compensation Request Sources
th
Rev 1 – 25 July 2011
25
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
Block startup: a compensation is automatically requested when the proximity sensing is enabled via
PROXSCANPERIOD.
I2C: a compensation can be manually requested anytime by the host through I2C interface.
PROXAVG update: a compensation can be automatically requested if it is detected that CEnv has drifted
beyond a set level since the last compensation.
PROXCOMPPRD: a compensation can be automatically requested at a predefined rate programmed by
the host.
PROXSTUCK: a compensation can be automatically requested if it is detected that the proximity “Close”
state is lasting abnormally long.
Please note that the compensation request flag can be set anytime but the compensation itself is always done at
the beginning of a scan period to keep all parameters coherent (PROXRAW, PROXAVG, PROXDIFF), see
§5.3.2.
5.2.6 Analog-to-Digital Conversion (ADC)
A 12-bit ADC is used to convert the capacitance information into a digital 12-bit word PROXRAW.
The ADC is shared with the touchscreen interface using time multiplexing (see §5.4.2 for more details).
5.3
Digital Processing
5.3.1 Overview
The main purpose of the digital processing block is to convert the raw capacitance information coming from the
AFE (PROXRAW) into a robust and reliable digital flag (PROXSTAT) indicating if the user’s finger/hand/head is
close to the proximity sensor.
The offset compensation performed in the AFE is a one time measurement. However, the environment
capacitance CEnv may vary with time (temperature, nearby objects, etc). Hence, in order to get the best
estimation of CUser (PROXDIFF) it is needed to dynamically track and subtract CEnv variations. This is performed
by filtering PROXUSEFUL to extract its slow variations (PROXAVG).
PROXDIFF is then compared to user programmable threshold to extract PROXSTAT flag.
Figure 31 – Digital Processing Block Diagram
Digital processing sequencing is illustrated in figure below. At every scan period wake-up (defined by
PROXSCANPERIOD), the block updates sequentially PROXRAW, PROXUSEFUL, PROXAVG, PROXDIFF and
PROXSTAT before going back to Idle mode.
th
Rev 1 – 25 July 2011
26
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
Figure 32 – Digital Processing Sequencing
Digital processing block also updates CONVSTAT (set during proximity operations) and PROXCOMPSTAT (set
when compensation is currently pending execution or competition)
5.3.2 PROXRAW Update
PROXRAW update consists mainly in starting the AFE and waiting for the new PROXRAW value to be ready. If
a compensation was pending it is performed first.
th
Rev 1 – 25 July 2011
27
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
Figure 33 – ProxRaw Update
5.3.3 PROXUSEFUL Update
PROXUSEFUL update consists in filtering PROXRAW upfront to remove its potential high frequencies
components(system noise, interferer, etc) and extract only user activity (few Hz max) and slow environment
changes.
Figure 34 – PROXUSEFUL Update
F(PROXRAW ; PROXUSEFUL[n-1] ; PROXRAWFILT) = (1 - PROXRAWFILT).PROXRAW + PROXRAWFILT.PROXUSEFUL[n-1]
th
Rev 1 – 25 July 2011
28
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
5.3.4
PROXAVG Update
PROXAVG update consists in averaging PROXUSEFUL to ignore its “fast” variations (i.e. user finger/palm/hand)
and extract only the very slow variations of environment capacitance CEnv.
One can program positive and negative debounced thresholds (PROXAVGPOSTHRESH/PROXAVGPOSDEB
and PROXAVGNEGTHRESH/PROXAVGNEGDEB) within which PROXAVG can vary without triggering
compensation (ie small acceptable environment drift).
Large positive values of PROXUSEFUL are considered as normal (user finger/hand/head) but large negative
values are considered abnormal and should be compensated quickly. For this purpose, the averaging filter
coefficient can be set independently for positive and negative variations via PROXAVGPOSFILT and
PROXAVGNEGFILT. Typically we have PROXAVGPOSFILT > PROXAVGNEGFILT to filter out (abnormal)
negative events faster.
To prevent PROXAVG to be “corrupted” by user activity (should only reflect environmental changes) it is freezes
when proximity is detected.
Figure 35 – ProxAvg vs Proximity Event
th
Rev 1 – 25 July 2011
29
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
Figure 36 – ProxAvg Update
F(PROXUSEFUL ; PROXAVG[n-1] ; PROXAVGxxxFILT) = (1 - PROXAVGxxxFILT).PROXUSEFUL + PROXAVGxxxFILT.PROXAVG[n-1]
xxx = POS or NEG
th
Rev 1 – 25 July 2011
30
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
5.3.5 PROXDIFF Update
PROXDIFF update consists in the complementary operation i.e. subtracting PROXAVG to PROXUSEFUL to
ignore slow capacitances variations (CEnv) and extract only the user related variations i.e. CUser.
Figure 37 – ProxDiff Update
5.3.6 PROXSTAT Update
PROXSTAT update consists in taking PROXDIFF information (CUser), comparing it with a user programmable
threshold PROXTHRESH and finally updating PROXSTAT accordingly. When PROXSTAT=1, PROXAVG is
frozen to prevent the user proximity signal averaging and hence absorbed into CEnv.
Figure 38 – PROXSTAT Update
th
Rev 1 – 25 July 2011
31
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
5.4
Host Operation
5.4.1
General Description
If PROXIRQSEL = 0, an interrupt can be triggered when the user is detected to be close, detected to be far, or
both (PROXCLOSEIRQEN, PROXFARIRQEN).
User in range
User out of range
PROXSCANPERIOD
tick
PROXSTAT
CONVSTAT
NIRQ
I2C Read RegIrqSrc
Pen Detection
Proximity Sensing (Analog + Digital)
Figure 39 – Proximity Sensing Host Operation (Pen Trigger Mode ; RegIrqMsk[6:4] = 110 ; PROXIRQSEL = 0)
If PROXIRQSEL = 1, instead of the proximity “Far” state, an interrupt can be triggered at the end of each
proximity sensing operation indicating to the host when the proximity sensing block is running
(PROXCONVDONEIRQEN). This may be used by the host to synchronize noisy system operations or to read
PROXRAW, PROXUSEFUL, PROXAVG, PROXDIFF synchronously for monitoring purposes.
User in range
User out of range
PROXSCANPERIOD
tick
PROXSTAT
CONVSTAT
NIRQ
I2C Read RegIrqSrc
Pen Detection
Proximity Sensing (Analog + Digital)
Figure 40 – Proximity Sensing Host Operation (Pen Trigger Mode ; RegIrqMsk[6:4] = 010 ; PROXIRQSEL = 1)
In both cases above, an interrupt can also be triggered at the end of compensation (PROXCOMPDONEEN).
5.4.2
Proximity Sensing vs Touch Operations
As previously mentioned, touch and proximity operations share the same ADC and hence the chip implements
time multiplexing between these two types of operations. Also, proximity sensing doesn’t need to be performed
while pen is down (not needed as host knows already something touches the screen).
In all operating modes, if PROXSCANPERIOD = 0, no proximity operation is performed (i.e. §4.6). The following
hence assumes PROXSCANPERIOD != 0. For simplicity we also assume that NIRQ is only used for reporting
touch operations i.e. RegIrqMsk[6:4] = 000 (PROXSTAT mapped to AUX pin, or polled via I2C).
In MAN mode, a CONVERT command (if not preceded by a SELECT command) will perform a proximity
sensing operation before the touchscreen operation, whatever the pen status. Hence please note that if the
th
Rev 1 – 25 July 2011
32
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
touchscreen is used as the proximity sensor and is being touched when the conversion is performed, the
proximity measurement result may be incorrect.
READ CHANNEL
CONVERT Y
I2C
Y
Channel Bias
POWDLY
PROX
Channel Conversion
Y
CONVSTAT
NIRQ (RegIrqMsk[6:3]=0001)
Figure 41 – Manual Mode – CONVERT Command (CHAN = Y ; PROXSCANPERIOD != 0; Pen down)
If the screen is not touched, only the proximity sensing operation is performed.
READ CHANNEL
CONVERT Y
I2C
Channel Bias
PROX
Channel Conversion
CONVSTAT
NIRQ (RegIrqMsk[6:3]=0001)
Figure 42 – Manual Mode – CONVERT Command (CHAN = Y ; PROXSCANPERIOD != 0, Pen up)
In PENDET and PENTRG mode, a proximity sensing operation will be performed regularly as defined in
PROXSCANPERIOD, but only if pen is not detected.
Pen Touch
Pen Release
TOUCHRATE
tick
PENSTAT
CONVSTAT
NIRQ
I2C Read RegIrqSrc
Idle
Touch Conversion
Pen Detection
Proximity Sensing
Figure 43 – Pen Detect Mode (RegIrqMsk[6:2] = 00011 ; PROXSCANPERIOD = 001 ie 1/TOUCHRATE)
th
Rev 1 – 25 July 2011
33
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
Pen Touch
Pen Release
TOUCHRATE
tick
PENSTAT
CONVSTAT
NIRQ
I2C Read Channel
Idle
Touch Conversion
Pen Detection
Proximity Sensing
Figure 44 – Pen Trigger Mode (RegIrqMsk[6:2] = 00010 ; PROXSCANPERIOD = 001 ie 1/TOUCHRATE)
5.4.3 Minimum Scan Period (i.e. PROXSCANPERIOD)
Similarly to touch operations (Cf. §4.6.5), if PROXSCANPERIOD is too short for proximity sensing operations to
be completed, the rate tick(s) affected are ignored until operations are completed and the following tick is taken
into account for the next planned operation.
Please note that compensation lasts about ~16 times longer than a normal proximity sensing operation.
th
Rev 1 – 25 July 2011
34
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
6
HAPTICS INTERFACE (SX8657/58)
6.1
Introduction
Haptics technology is commonly used in systems which include a touchscreen interface. Its purpose is to provide
tactile feedback to the user to acknowledge a touch event hence improving greatly the robustness of the system
and user comfort and perception.
The on-chip haptics interface is designed to drive two common actuator types: Eccentric Rotating Mass (ERM)
and Linear Resonant Actuator (LRA). This is performed without any external component due to fully embedded
analog processing and with very limited host interaction due to the embedded digital processing block.
Figure 45 – Haptics Interface Overview
The host configures drive parameters from the I2C port according to the particular haptics load to be used. The
haptics drive level is then controlled in real time by either of two methods: by a dedicated digital pin, MIN, which
accepts a pulse-width-modulated (PWM) digital signal; or by writing the desired output level directly to a register
via the I2C interface.
This digital information is filtered to prevent fast transitions and hence high current spikes (HAPTBW), converted
into the analog domain by an 8-bit DAC, and finally amplified (HAPTGAIN) to provide a differential signal
between MOUTP and MOUTN pins which can be directly connected to the motor thanks to their high drive
current capability.
For better isolation from the rest of the chip, the haptics interface analog block has its own power supply pins
MVDD and MGND.
The haptics interface is enabled when HAPTTYPEEN != 0.
6.2
ERM Load
6.2.1 Introduction
An ERM is a DC motor with an off-balance load to create a vibration. Speed and direction are controlled by the
applied voltage. The ERM load is selected when HAPTTYPEEN = 10.
th
Rev 1 – 25 July 2011
35
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
Ac
l
ce
in
at
er
g
Figure 46 – ERM Drive Signal Example
If AmplitudeCode is within HAPTSQUELCH range (for more than 512/MIN_Freq in PWM mode, for more than
512/FOSCL in I2C mode):
VMOUT = 0V
Else:
VMOUT(V) = (AmplitudeCode / 127) x 1.135 * HAPTGAIN
AmplitudeCode (signed) is defined differently depending on the mode selected (PWM or I2C), see below.
Please note that whatever setting, VMOUT is physically limited to [MVDD;-MVDD], i.e. saturation effect.
6.2.2 PWM Mode
PWM mode is selected when HAPTMODE = 0.
In this mode, AmplitudeCode is extracted/updated at each MIN period from MIN_DutyCycle:
•
•
•
•
•
•
•
MIN_DutyCycle ≈ 0% => AmplitudeCode = -127
…
MIN_DutyCycle = 49.6% => AmplitudeCode = -1
MIN_DutyCycle = 50% => AmplitudeCode = 0
MIN_DutyCycle = 50.4% => AmplitudeCode = +1
…
MIN_DutyCycle ≈ 100% => AmplitudeCode = +127
6.2.3 I2C Mode
I2C mode is selected when HAPTMODE = 1.
In this mode, AmplitudeCode = HAPTAMP (signed, internally sampled at FOSCL). MIN is not used and should
be grounded. HAPTRANGE must be set to 1.
6.3
LRA Load
6.3.1 Introduction
An LRA is a spring and mass with an electro-magnetic coil to move the mass. It is operated by applying an AC
signal at its resonant frequency (typ. ~175 Hz). Like pushing a swing at its resonance, it doesn’t need much
energy to keep it going, so drive current requirements are much lower than for ERMs. LRAs have moderately
high Q factors so that the drive frequency must match the resonant frequency within a few Hz to get optimum
amplitude.
LRA load is selected when HAPTTYPEEN = 01.
th
Rev 1 – 25 July 2011
36
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
Figure 47 – LRA Drive Signal Example
The carrier frequency of VMOUT_Freq is defined as following:
VMOUT_Freq(Hz) = (MIN_Freq / HAPTRANGE)
(PWM mode)
OR
VMOUT_Freq(Hz) = (MIN_Freq / HAPTRANGE) / (HAPTTIMER +1)
(I2C mode)
If AmplitudeCode is within HAPTSQUELCH range (for more than 512/VMOUT_Freq):
VMOUT_Envelope = 0V
Else:
VMOUT_Envelope(V) = (AmplitudeCode / 127) x 1.135 * HAPTGAIN
AmplitudeCode (signed) is defined differently depending on the mode selected (PWM or I2C), see below.
Please note that whatever setting, VMOUT is physically limited to [MVDD;-MVDD], ie saturation effect.
6.3.2 PWM Mode
PWM mode is selected when HAPTMODE = 0.
In this mode, AmplitudeCode is extracted/updated at each MIN period from MIN_DutyCycle:
•
•
•
•
•
•
•
MIN_DutyCycle ≈ 0% => AmplitudeCode = -127
…
MIN_DutyCycle = 49.6% => AmplitudeCode = -1
MIN_DutyCycle = 50% => AmplitudeCode = 0
MIN_DutyCycle = 50.4% => AmplitudeCode = +1
…
MIN_DutyCycle ≈ 100% => AmplitudeCode = +127
6.3.3 I2C Mode
I2C mode is selected when HAPTMODE = 1.
In this mode, AmplitudeCode = HAPTAMP (signed, internally sampled at MIN_Freq). MIN is still used to extract
VMOUT carrier frequency.
6.4
Short-Circuit Protection
The haptics interface integrates a short-circuit protection circuit which detects when MIDD is abnormally high i.e.
above ISHORT. Under a short-circuit event (HAPTSHORTSTAT=1) the haptics block will stop operation
(MOUTN & MOUTP grounded). When the short-circuit is removed the haptics operations will resume normally.
th
Rev 1 – 25 July 2011
37
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
7
TEMPERATURE SENSOR
The chip includes a temperature sensor which monitors the chip’s junction temperature. Its purpose is to provide
over-temperature information to the host and if needed automatically shutdown chip operation for thermal
protection.
Figure 48 – Temperature Sensor Overview
If TEMPALWAYSON = 0 (default), the temperature sensor will perform measurements only if the chip is active
i.e. touchscreen interface running (Op. Mode != MAN), proximity sensing interface enabled
(PROXSCANPERIOD != 0) or haptics interface enabled (HAPTTYPEEN != 00). The temperature sensor will
perform a measurement every ~32 ms (1024/FOSCL) but not during ADC conversions (temperature sensing
delayed accordingly).
If TEMPALWAYSON = 1, the temperature sensor will always perform a measurement every ~32 ms
independently from chip activity (i.e. also when the chip is inactive and during ADC conversions).
Each measurement is compared with two internally hard-coded thresholds:
Warning level: typ. 120°C (TWRNG).
Alarm level: typ. 155°C (TALRM)
Each of these thresholds is associated to a status flag (TEMPWARNINGSTAT, TEMPALARMSTAT) which
edges can be mapped to generate an interrupt to the host.
Additionally, during an alarm situation (i.e. temperature > alarm level) all chip operations (i.e. touchscreen,
proximity, haptics) are automatically shutdown until the temperature goes below the alarm level.
After a shutdown event all stored conversion data are thrown away. Cycling operations (TOUCHRATE > 0) will
rd
resume from the start (i.e. if a 4 channel conversion is stopped during the 3 channel conversion, when
resuming, the 4 channels will be converted again). If the user was running some manual operation (SELECT,
CONVERT), the corresponding command will have to be re-issued. The haptics operations will resume directly.
th
Rev 1 – 25 July 2011
38
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
8
INTERRUPT (NIRQ)
8.1
Introduction
The purpose of the NIRQ pin is to indicate to the host (via a falling edge) when any of the events considered
being time-critical has occurred. Non time-critical events can be monitored via I2C by reading regularly the
relevant status bits.
8.2
Registers Overview
8.2.1 RegIrqMsk
This register allows the host to decide which interrupt sources he wants to monitor via the NIRQ signal. Please
note that a reset event will always trigger NIRQ falling edge whatever RegIrqMsk (Cf §10)
8.2.2 RegIrqSrc
This register indicates to the host which of the interrupt sources triggered the NIRQ signal. More than one bit
can be set if several events occurred before host reads the register.
If bit 3 is OFF, reading the register will clear it together with releasing NIRQ signal. Else, if bit 3 is ON and we are
in MAN or PENTRG mode, both register and NIRQ will be cleared only once all channel data have been read. All
ADC related operations (touch conversion, proximity conversion, pen detection) are stopped as long as all
channel data have not been read.
Bits which RegIrqMsk corresponding bits are set to 0 (ie source not monitored) will always read 0 even if the
event actually occurred.
8.2.3 RegStat
This register regroups all status information of the chip and is used by all interrupt sources to detect the relevant
events. For each bit, if the relevant block is ON its value is constantly updated, else it is set to 0. This register
update is completely independent from RegIrqMsk.
8.3
-
Host Procedure
Configure the different blocks parameters(TS, Proximity, etc)
Program RegIrqMsk to start monitoring what is considered to be “time-critical” events
Enable the blocks to start RegStat update and hence NIRQ process.
Each time NIRQ falling edge occurs, read RegIrqSrc to know which “time-critical” event occurred (+ read
channel data if relevant)
In addition, RegStat can be read anytime to get the whole picture including also what is considered to be
“non time-critical” information.
th
Rev 1 – 25 July 2011
39
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
9
AUXILIARY PINS (AUX1/AUX2/AUX3)
The chip has three auxiliary pins which can be used:
1. By the touchscreen interface when using a 5-wire touchscreen (WIPER=AUX1)
2. By the proximity sensing interface (PROXSENSORCON and PROXSHIELDCON) to use an external
sensor and/or shield instead of the touchscreen’s plates
3. By the host (RegAux0-1) to monitor any RegStat and/or RegIrqSrc bits in real time without having to use
NIRQ or perform I2C polling.
th
Rev 1 – 25 July 2011
40
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
10 RESET
10.1 Hardware (POR and NRST)
The chip generates its own power on reset (POR) signal after a power supply is connected to the VDD pin.
NRST input pin can be used to reset the chip anytime, it must be connected to VDD (or greater) either directly (if
not used), or via a resistor.
1
2
3
VDD
VPOR
Reset
Signal
Undefined
tRESET
NIRQ
tPULSE
Undefined
Figure 49 – Hardware Reset Conditions
1. Device behavior is undefined until VDD rises above VPOR, at which point internal reset procedure is
started and NIRQ is kept low.
2. After tRESET, the reset procedure is completed and NIRQ is released high.
3. In operation, the chip may be reset at anytime by an external device driving NRST low for tPULSE or
longer. NIRQ will go low during the reset phase and chip can be accessed normally again after NIRQ
rising edge. Additionally bit RESETSTAT will be set (cleared when reading RegStat)
10.2 Software (RegReset)
Writing 0xDE to RegReset register will reset the chip and all registers to their default values. NIRQ will go low
during the reset phase and chip can be accessed normally again after NIRQ rising edge. Additionally bit
RESETSTAT will be set (cleared when reading RegStat).
10.3 ESD Event (RESETSTAT)
In case of ESD event, the chip can reset to protect its internal circuitry. NIRQ will go low during the reset phase
and chip can be accessed normally again after NIRQ rising edge. Additionally bit RESETSTAT will be set
(cleared when reading RegStat).
th
Rev 1 – 25 July 2011
41
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
11 I2C INTERFACE
11.1 Introduction
The chip is a read-write slave-mode I2C device and complies with the Philips I2C standard Version 2.1 dated
January, 2000. The chip has a few user-accessible internal 8-bits registers to set the various parameters of
operation (Cf. §12 for detailed configuration registers description). The I2C interface has been designed for
program flexibility, in that once the slave address has been sent to the chip enabling it to be a slave
transmitter/receiver, any register can be written or read independently of each other. The start and stop
commands frame the data-packet and the repeat start condition is allowed if necessary.
2 lines are used to exchange data between an external master host and the slave device:
• SCL : Serial CLock
• SDA : Serial DAta
Seven bit addressing is used and ten bit addressing is not allowed. Any general call address will be ignored by
the chip. The chip is not CBUS compatible and can operate in standard mode (100kbit/s) or fast mode
(400kbit/s).
11.2 I2C Address
On the QFN package an ADDR pin is made available to select between the two pre-programmed I2C addresses
of the device. On the CSP package ADDR is internally connected to ground.
This is illustrated in table below.
Package
QFN
CSP
ADDR
0
1
0
Address
Description
First I2C address
0x48 (1001000)
Second I2C address
0x49 (1001001)
0x48 (1001000)
First (and unique) I2C address
Table 8 – I2C Address
Please note that upon request, a custom I2C Address can be pre-programmed by Semtech.
11.3 Write Register
The I2C write register sequence is given in figure below. After the start condition [S], the chip slave address
(SA) is sent, followed by an eighth bit (W=‘0’) indicating a write. The chip then acknowledges [A] that it is being
addressed, and the host sends a CR byte consisting in ‘00’ followed by the chip register address (RA). The chip
acknowledges [A] and the host sends the appropriate data byte (WD0) to be written. Again the chip
acknowledges [A]. In case the host needs to write more data, a succeeding data byte will follow (WD1),
acknowledged by the slave [A]. This sequence will be repeated until the host terminates the transfer with the
stop condition [P].
Figure 50 – I2C Write Register
The register address increments automatically when successive data bytes (WD1...WDn) are supplied by the
host.
th
Rev 1 – 25 July 2011
42
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
The correct sampling of the screen by the chip and the host I2C bus traffic are events that might occur
simultaneously. The chip will synchronize these events by the use of clock stretching if that is required. The
stretching occurs directly after the last received command bit (see figure above).
11.4 Read Register
The I2C read register sequence is given in figure below. After the start condition [S], the chip slave address (SA)
is sent, followed by an eighth bit (W=‘0’) indicating a write. The chip then acknowledges [A] that it is being
addressed, and the host responds with a CR byte consisting in ‘01’ followed by the register address (RA). The
chip acknowledges [A] and the host sends the repeated start Condition [Sr]. Once again, the chip slave address
(SA) is sent, followed by an eighth bit (R=‘1’) indicating a read. The chip responds with an acknowledge [A] and
the data byte (RD0). If the host needs to read more data it will acknowledge [A] and the chip will send the next
data byte (RD1). This sequence will be repeated until the host terminates the transfer with a NACK [N] followed
by a stop condition [P].
Figure 51 – I2C Read Register
The register address increments automatically when successive data bytes (RD1...RDn) are read by the host.
The correct sampling of the screen by the chip and the host I2C bus traffic are events that might occur
simultaneously. The chip will synchronize these events by the use of clock stretching if that is required. The
stretching occurs directly after the last received command bit (see figure above).
11.5 Write Command (Touchscreen Interface)
The I2C write command sequence is given in figure below. After the start condition [S], the chip slave address
(SA) is sent, followed by an eighth bit (W=‘0’) indicating a write. The chip then acknowledges [A] that it is being
addressed, and the host responds with a CR byte consisting in Command(7:0) (see table below). The chip
acknowledges [A] and the host sends a stop [P].
Figure 52 – I2C Write Command
The sampling of the screen by the chip and the host I2C bus traffic are events that might occur simultaneously.
The chip will synchronize these events by the use of clock stretching if that is required. The stretching occurs
directly after the last received command bit (see figure above).
th
Rev 1 – 25 July 2011
43
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
Command
SELECT
CONVERT
MAN
PENDET
PENTRG
Command(7:0)
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
Channel
X
Y
Z1
Z2
SEQ
Function
Chan(2:0)
Select and bias channel.
Chan(2:0)
Convert channel.
X
X
X
Enter manual mode.
X
X
X
Enter pen detect mode.
X
X
X
Enter pen trigger mode.
Table 9 : Command Codes
X
X
X
X
X
Chan(2:0)
Description
0
0
0 X channel
0
0
1 Y channel
0
1
0 First channel for pressure measurement
0
1
1 Second channel for pressure measurement
1
1
1 Channels enabled in RegChanMsk register
Table 10 : Channel Codes
11.6 Read Channel (Touchscreen Interface)
The I2C read channel sequence is given in figure below. After the start condition [S], the chip slave address
(SA) is sent, followed by an eighth bit (R=‘1’) indicating a read. The chip responds with an acknowledge [A] and
the first data byte (RD0). The host sends an acknowledge [A] and the chip responds with the second data byte
(RD1). If the host needs to read more channels, it will acknowledge [A] and the chip will send the next data
bytes. This sequence will be repeated until the host terminates with a NACK [N] followed immediately by a stop
[P].
The channel data that can be read is defined by RegChanMsk, or the last convert command in manual mode. A
maximum number of 8 data bytes can be read when all channels (X, Y, Z1, Z2) are activated in RegChanMsk.
The STOP [P] (if following the last valid data) releases high the NIRQ line. All ADC related operations (touch
conversion, proximity conversion, pen detection) are stopped as long as all valid channel data have not been
read (ie as long as NIRQ is low).
Figure 53 – I2C Read Channel
The sampling of the screen by the chip and the host I2C bus traffic are events that might occur simultaneously.
The chip will synchronize these events by the use of clock stretching if that is required. The stretching occurs
directly after the address and read bit have been sent for the I2C read channels command (see figure above).
The channel data is sent with the following order: X, Y, Z1, Z2. It is coded as described in figure below
Typical applications require only X and Y coordinates, thus only 4 bytes of data will be read in this case.
0 CHAN(2:0)
D(7:0)
D(11:8)
RD1
RD0
Figure 54 – Channel Data Format
th
Rev 1 – 25 July 2011
44
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
The 3 bits CHAN(2:0) are defined in the previous table and show which channel data is referenced. The channel
data D(11:0) is of unsigned format and corresponds to a value between 0 and 4095.
The chip will return 0xFFFF in case of invalid data; this occurs when:
•
•
host tries to read channels which have not been converted. For example if the chip converts X and Y
and the host tries to read X, Y, Z1 and Z2.
a conversion has been done while the screen wasn’t touched , i.e. pen up (not detected).
th
Rev 1 – 25 July 2011
45
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
12 REGISTERS DETAILED DESCRIPTION
Address
0x00
0x01
0x02
0x03
0x04
0x05
0x06
0x07
0x08
0x09
0x0A
0x0B
0x0C
0x0D
0x0E
0x0F
0x10
0x11
0x12
0x13
0x14
0x15
0x16
0x17
0x18
0x19
0x1A
0x1B
0x1C
0x1D
0x1E
0x1F
0x20
0x21
0x22
0x23
0x24
0x25
0x26
0x3F
Name
RegTouch0
RegTouch1
RegTouch2
RegTouch3
RegChanMsk
RegHapt0
RegHapt1
RegHapt2
RegHapt3
RegHapt4
RegHapt5
RegProx0
RegProx1
RegProx2
RegProx3
RegProx4
RegProx5
RegProx6
RegProx7
RegProx8
RegProx9
RegProx10
RegProx11
RegProx12
RegProx13
RegProx14
RegProx15
RegProx16
RegProx17
RegProx18
RegProx19
RegProx20
RegProx21
RegProx22
RegIrqMsk
RegIrqSrc
RegStat
RegAux0
RegAux1
RegReset
Default
0x00
0x20
0x00
0x00
0xC0
0x00
0x00
0x00
0x80
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x01
0x00
0x08
0x00
0x00
0x00
0x00
0x00
Description
Touchscreen Interface
Haptics Interface and Temperature Sensor
Proximity Sensing Interface
Interrupt and Chip Status
Auxiliary Functions
Software Reset
Table 11 : Registers Overview
NOTES:
1) Addresses not listed above are reserved and should not be written.
2) Reserved bits should be left to their default value unless otherwise specified.
3) Proximity related registers/bits do not apply to SX8658.
th
Rev 1 – 25 July 2011
46
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
Bits
7:4
Variable
TOUCHRATE
Default
0000
Description
Defines the touch coordinates acquisition rate:
0000 : OFF.
0001 : 10 cps
0010 : 20 cps
0011 : 40 cps
0100 : 60 cps
0101 : 80 cps
0110 : 100 cps
0111 : 200 cps
1000 : 300 cps
1001 : 400 cps
1010 : 500 cps
1011 : 1 kcps
1100 : 2 kcps
1101 : 3 kcps
1110 : 4 kcps
1111 : 5 kcps
3:0
POWDLY
0000
Values above assume typical FOSCL, else vary accordingly.
Defines the bias settling time for each channel’s first conversion:
0000 : 0.5 us
0001 : 1.1 us
0010 : 2.2 us
0011 : 4.4 us
0100 : 8.9 us
0101 : 17.8 us
0110 : 35.5 us
0111 : 71.0 us
1000 : 142 us
1001 : 284 us
1010 : 568 us
1011 : 1.14 ms
1100 : 2.27 ms
1101 : 4.55 ms
1110 : 9.09 ms
1111 : 18.19 ms
Values above assume typical FOSCH, else vary accordingly.
Table 12 : RegTouch0 (Addr 0x00)
Bits
7:5
4
3:2
Variable
Reserved
TSTYPE
RPNDT
Default
001
0
00
Description
Defines the type of touchscreen:
0 : 4-wire
1 : 5-wire
Defines the pen detection circuit’s pull-up resistor value:
00 : 114 kOhms
01 : 228 kOhms
10 : 57 kOhms
11 : 28 kOhms
th
Rev 1 – 25 July 2011
47
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
1:0
FILT
00
Defines the channel filtering algorithm:
00 : OFF (Nfilt = 1)
01 : 3 sample averaging (Nfilt = 3)
10 : 5 sample averaging (Nfilt = 5)
11 : 3 sample averaging after removal of extreme values (Nfilt = 7)
Table 13 : RegTouch1 (Addr 0x01)
Bits
7:4
3:0
Variable
Reserved
SETDLY
Default
0000
0000
Description
Defines the bias settling time for each channel’s subsequent conversion
(i.e. when filtering is enabled):
0000 : 0.5 us
0001 : 1.1 us
0010 : 2.2 us
0011 : 4.4 us
0100 : 8.9 us
0101 : 17.8 us
0110 : 35.5 us
0111 : 71.0 us
1000 : 142 us
1001 : 284 us
1010 : 568 us
1011 : 1.14 ms
1100 : 2.27 ms
1101 : 4.55 ms
1110 : 9.09 ms
1111 : 18.19 ms
Values above assume typical FOSCH, else vary accordingly.
Table 14 : RegTouch2 (Addr 0x02)
Bits
7:0
Variable
Reserved
Default
0x00
Description
Table 15 : RegTouch3 (Addr 0x03)
Bits
7
Variable
XCONV
Default
1
6
YCONV
1
5
Z1CONV
0
4
Z2CONV
0
3:0
Reserved
0000
Description
Enables X channel conversion:
0 : OFF
1 : ON
Enables Y channel conversion:
0 : OFF
1 : ON
Enables Z1 channel conversion:
0 : OFF
1 : ON
Enables Z2 channel conversion:
0 : OFF
1 : ON
Table 16 : RegChanMsk (Addr 0x04)
Bits
7
Variable
HAPTMODE
th
Rev 1 – 25 July 2011
Default
0
Description
Defines the haptics mode/input:
0 : PWM
1 : I2C
48
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
6:5
HAPTTYPEEN
00
4
HAPTRANGE
0
3:0
HAPTGAIN
0000
Defines the haptics load:
00 : OFF. Haptics block disabled.
01 : LRA
10 : ERM
11 : Reserved
Defines MIN prescaler value:
0 : 128
1 : 256
Defines the haptics output gain:
0000 : 1
0001 : ~1.17
0010 : ~1.34
0011 : ~1.51
0100 : ~1.67
0101 : ~1.84
0110 : ~2.01
0111 : ~2.18
1000 : ~2.35
1001 : ~2.52
1010 : ~2.69
1011 : ~2.86
1100 : ~3.03
1101 : ~3.20
1110 : ~3.37
1111 : ~3.53
Exact formula is 1 + Code * 0.169
Table 17 : RegHapt0 (Addr 0x05)
Bits
7:6
5:3
Variable
Reserved
HAPTSQUELCH
2
TEMPWRNIRQEDG
0
1
TEMPALRMIRQEDG
0
0
TEMPALWAYSON
0
th
Rev 1 – 25 July 2011
Default
00
000
Description
Defines the Haptics squelch, i.e. the range of AmplitudeCode
(HAPTAMP or MIN duty cycle equivalent, Cf. §6) which will generate a
0V output (VMOUT):
000 : OFF. No squelch.
001 : -1 < AmplitudeCode < +1 (ie. AmplitudeCode = 0)
010 : -2 < AmplitudeCode < +2
011 : -4 < AmplitudeCode < +4
100 : -8 < AmplitudeCode < +8
101 : -16 < AmplitudeCode < +16
110 : -32 < AmplitudeCode < +32
111 : -64 < AmplitudeCode < +64
Enables TempWrnIrq to be generated when the chip temperature gets
below the alarm threshold :
0 : OFF. TempWrnIrq generated only when the chip temperature gets
above the alarm threshold.
1 : ON. TempWrnIrq generated both when the chip temperature gets
above and below the alarm threshold.
Enables TempAlrmIrq to be generated when the chip temperature gets
below the alarm threshold :
0 : OFF. TempAlrmIrq generated only when the chip temperature gets
above the alarm threshold.
1 : ON. TempAlrmIrq generated both when the chip temperature gets
above and below the alarm threshold.
Enables the temperature monitoring even when no operation (touch,
proximity, haptics) is enabled:
0 : OFF
1 : ON
Table 18 : RegHapt1 (Addr 0x06)
49
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
Bits
7:0
Variable
HAPTAMP
Default
0x00
Description
Defines the haptics output polarity and level in I2C mode i.e.
AmplitudeCode (Cf. §6) :
0xFF : +127 (Max positive)
…
0x81 : +1
0x80 : +0
0x00 : -0
0x01 : -1
…
0x7F : -127 (Max negative)
HAPTAMP[7] gives the sign of AmplitudeCode (1=>+;0=>-) while
HAPTAMP[6:0] give its magnitude.
Table 19 : RegHapt2 (Addr 0x07)
Bits
7:5
Variable
HAPTBW
Default
100
4
HAPTHZ
0
3
HAPTSHORTPROT
0
2:0
HAPTTIMERMSB
000
Bits
7:0
Variable
HAPTTIMERLSB
Default
0x00
Bits
7:0
Variable
Reserved
Default
0x00
Description
Defines the haptics low-pass filter cut off frequency (Hz):
000 : OFF. No filtering.
001 : ~210 * SamplingFreq / 100
010 : ~280 * SamplingFreq / 100
011 : ~425 * SamplingFreq / 100
100 : ~565 * SamplingFreq / 100
101 : ~700 * SamplingFreq / 100
110 : ~850 * SamplingFreq / 100
111 : ~980 * SamplingFreq / 100
SamplingFreq is VMOUT_Freq in LRA mode and MIN_Freq (PWM) or
FOSCL (I2C) in ERM mode (Cf. §6)
Sets MOUTP and MOUTN to high impedance (HZ):
0 : Normal
1 : HZ
Disables short-circuit protection:
0 : ON . A short-circuit event will automatically stop haptics operation.
1 : OFF. A short-circuit event will not stop haptics operation.
In both cases HAPTSHORTSTAT is still updated (and hence an
interrupt can still be generated if needed)
Defines the haptics timer overflow value used to generate the LRA’s
128 or 256 multiple frequency from MIN.
Table 20 : RegHapt3 (Addr 0x08)
Description
Defines the haptics timer overflow value used to generate the LRA’s
128 or 256 multiple frequency from MIN.
HAPTTIMER[9:0] values below 8 (ie 0-7) are reserved.
Table 21 : RegHapt4 (Addr 0x09)
Description
Table 22 : RegHapt5 (Addr 0x0A)
Bits
7
6
Variable
PROXRAWFILTSEL
PROXIRQSEL
th
Rev 1 – 25 July 2011
Default
0
0
Description
Defines the proximity raw filtering range for PROXRAWFILT :
0 : Fast
1 : Slow
Defines the function of bits 5 of RegIrqMsk and RegIrqSrc.
0 : ProxFar
1 : ProxConvDone
50
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
5:4
PROXHYST
3:0
PROXSCANPERIOD
Bits
7:0
Variable
PROXTHRESH
Default
0x00
Description
Defines the proximity detection threshold (for PROXSTAT update).
Threshold = 16 x register value
Table 24 : RegProx1 (Addr 0x0C)
Bits
7:6
Variable
PROXCLOSEDEB
Default
00
5:4
PROXFARDEB
3:0
PROXCOMPPRD
Description
Defines the “Close” debounce (for PROXSTAT update):
00 : OFF
01 : 2 samples
10 : 4 samples
11 : 8 samples
Defines the “Far” debounce (for PROXSTAT update):
00 : OFF
01 : 2 samples
10 : 4 samples
11 : 8 samples
Defines the periodic compensation :
0 : OFF
Else : register value x 128 samples
Table 25 : RegProx2 (Addr 0x0D)
Bits
7:0
Variable
PROXSTUCK
Bits
7:0
Variable
PROXAVGPOSTHRESH
th
Rev 1 – 25 July 2011
00
0000
00
0000
Default
0x00
Defines the proximity detection hysteresis :
00 : OFF
01 : 32
10 : 128
11 : 512
Defines the proximity scan period :
0000 : OFF. Proximity sensing disabled
0001 : 1 / TOUCHRATE (Cf. RegTouch0)
0010 : 2 / TOUCHRATE
0011 : 4 / TOUCHRATE
0100 : 8 / TOUCHRATE
0101 : 16 / TOUCHRATE
0110 : 32 / TOUCHRATE
0111 : 64 / TOUCHRATE
1000 : 128 / TOUCHRATE
1001 : 256 / TOUCHRATE
1010 : 512 / TOUCHRATE
1011 : 1024 / TOUCHRATE
1100 : 2048 / TOUCHRATE
1101 : 4096 / TOUCHRATE
1110 : 8192 / TOUCHRATE
1111 : 16384 / TOUCHRATE
Table 23 : RegProx0 (Addr 0x0B)
Description
Defines the stuck at timeout (ie max “Close” time before a
compensation is automatically requested) :
0 : OFF
Else : register value x 16 samples
Table 26 : RegProx3 (Addr 0x0E)
Default
0x00
Description
Defines the average positive threshold (for compensation).
Threshold = 8 x register value
Table 27 : RegProx4 (Addr 0x0F)
51
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
Bits
7:5
Variable
PROXAVGPOSDEB
Default
000
4:2
PROXAVGPOSFILT
000
1:0
PROXRAWFILT
00
Bits
7:0
Variable
PROXAVGNEGTHRESH
Bits
7:5
Variable
PROXAVGNEGDEB
Default
000
4:2
PROXAVGNEGFILT
000
Description
Defines the average positive debounce (for compensation) :
000 : OFF
001 : 2 samples
010 : 4 samples
011 : 8 samples
100 : 16 samples
101 : 32 samples
110 : 64 samples
111 : 128 samples
Defines the average positive filter coefficient :
000 : 0 (ie filtering OFF)
001 : 1 – 1/2
010 : 1 – 1/4
011 : 1 – 1/8
100 : 1 – 1/16
101 : 1 – 1/32
110 : 1 – 1/64
111 : 1 – 1/128
Defines the raw filter coefficient.
If PROXRAWFILTSEL = 0 :
00 : 0 (ie filtering OFF)
01 : 1 – 1/2
10 : 1 – 1/4
11 : 1 – 1/8
If PROXRAWFILTSEL = 1 :
00 : 1 – 1/16
01 : 1 – 1/32
10 : 1 – 1/64
11 : 1 – 1/128
Table 28 : RegProx5 (Addr 0x10)
Default
0x00
Description
Defines the average negative threshold (for compensation).
Threshold = – 8 x register value
Table 29 : RegProx6 (Addr 0x11)
1
PROXHIGHIM
0
0
Reserved
0
Description
Defines the average negative debounce (for compensation) :
000 : OFF
001 : 2 samples
010 : 4 samples
011 : 8 samples
100 : 16 samples
101 : 32 samples
110 : 64 samples
111 : 128 samples
Defines the average negative filter coefficient :
000 : 0 (i.e. filtering OFF)
001 : 1 – 1/2
010 : 1 – 1/4
011 : 1 – 1/8
100 : 1 – 1/16
101 : 1 – 1/32
110 : 1 – 1/64
111 : 1 – 1/128
Enables high noise immunity mode :
0 : OFF
1 : ON, at the expense of higher power consumption.
Table 30 : RegProx7 (Addr 0x12)
th
Rev 1 – 25 July 2011
52
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
Bits
7:4
3:0
Variable
Reserved
PROXRAWMSB
Default
0000
0000
Bits
7:0
Variable
PROXRAWLSB
Default
0x00
Bits
7:4
3:0
Variable
Reserved
PROXUSEFULMSB
Default
0000
0000
Bits
7:0
Variable
PROXUSEFULLSB
Default
0x00
Bits
7:4
3:0
Variable
Reserved
PROXAVGMSB
Default
0000
0000
Bits
7:0
Variable
PROXAVGLSB
Default
0x00
Bits
7:5
4:0
Variable
Reserved
PROXDIFFMSB
Default
0000
0000
Bits
7:0
Variable
PROXDIFFLSB
Default
0x00
Description
Provides the proximity differential information for monitoring purposes.
Signed, 2's complement format.
Read-only (using PROXCONVDONE), do not write.
Table 38 : RegProx15 (Addr 0x1A)
Bits
7:0
Variable
PROXOFFSETMSB
Default
0x00
Description
Provides the proximity compensation offset information for monitoring
purposes. Read-only (using PROXCONVDONE), do not write.
Table 39 : RegProx16 (Addr 0x1B)
th
Rev 1 – 25 July 2011
Description
Provides the proximity raw information for monitoring purposes.
Signed, 2's complement format.
Read-only (using PROXCONVDONE), do not write.
Table 31 : RegProx8 (Addr 0x13)
Description
Provides the proximity raw information for monitoring purposes.
Signed, 2's complement format.
Read-only (using PROXCONVDONE), do not write.
Table 32 : RegProx9 (Addr 0x14)
Description
Provides the proximity information for monitoring purposes.
Signed, 2's complement format.
Read-only (using PROXCONVDONE), do not write.
Table 33 : RegProx10 (Addr 0x15)
Description
Provides the proximity information for monitoring purposes.
Signed, 2's complement format.
Read-only (using PROXCONVDONE), do not write.
Table 34 : RegProx11 (Addr 0x16)
Description
Provides the proximity average information for monitoring purposes.
Signed, 2's complement format.
Read-only (using PROXCONVDONE), do not write.
Table 35 : RegProx12 (Addr 0x17)
Description
Provides the proximity average information for monitoring purposes.
Signed, 2's complement format.
Read-only (using PROXCONVDONE), do not write.
Table 36 : RegProx13 (Addr 0x18)
Description
Provides the proximity differential information for monitoring purposes.
Signed, 2's complement format.
Read-only (using PROXCONVDONE), do not write.
Table 37 : RegProx14 (Addr 0x19)
53
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
Bits
7:0
Variable
PROXOFFSETLSB
Default
0x00
Bits
7
6:4
Variable
Reserved
PROXSENSITIVITY
Default
0
000
3:1
PROXFREQ
0
Reserved
000
Description
Provides the proximity compensation offset information for monitoring
purposes. Read-only (using PROXCONVDONE), do not write.
Table 40 : RegProx17 (Addr 0x1C)
Description
Defines the sensitivity :
000 : 0 (Min)
001 : 1
010 : 2
011 : 3
100 : 4
101 : 5
110 : 6
111 : 7 (Max)
Defines the operating frequency :
010 : 64 kHz
011 : 90 kHz
100 : 112 kHz
101 : 150 kHz (recommended)
Else : Reserved
0
Table 41 : RegProx18 (Addr 0x1D)
Bits
7:4
Variable
PROXSENSORCON
Default
0000
Description
Defines the proximity sensor connection, Cf. §5.1 :
0000 : None
0001 : AUX1/WIPER (5-wire TS)
0010 : AUX2 (external)
1000 : X (standard 4-wire TS)
1001 : Y (inverted 4-wire TS)
Else : Reserved
0000
Defines the proximity shield connection, Cf. §5.1 :
0000 : None
0011 : AUX3 (external)
1000 : X (inverted 4-wire TS)
1001 : Y (standard 4-wire TS or 5-wire TS)
Else : Reserved
Table 42 : RegProx19 (Addr 0x1E)
3:0
PROXSHIELDCON
Bits
7:6
5:3
Variable
Reserved
PROXBOOST
2:0
Reserved
000
Bits
7:0
Variable
Reserved
Default
0x01
Bits
7:0
Variable
Reserved
Default
0x00
Default
00
000
Description
Enables proximity boost mode (higher sensitivity) :
100 : ON
110 : OFF (recommended; compulsory when sensor is TS)
Else : Reserved
Must be set to 100.
Table 43 : RegProx20 (Addr 0x1F)
Description
Must be set to 0x81.
Table 44 : RegProx21 (Addr 0x20)
Description
Table 45 : RegProx22 (Addr 0x21)
th
Rev 1 – 25 July 2011
54
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
Bits
7
Variable
HAPTSHORTIRQEN
6
PROXCLOSEIRQEN
5
PROXFARIRQEN/
PROXCONVDONEIRQEN
4
PROXCOMPDONEIRQEN
3
PENTOUCHIRQEN/
TOUCHCONVDONEIRQEN
2
PENRELEASEIRQEN
1
TEMPWARNINGIRQEN
0
TEMPALARMIRQEN
Bits
7
Variable
HAPTSHORTIRQ
6
PROXCLOSEIRQ
5
PROXFARIRQ/
PROXCONVDONEIRQ
4
PROXCOMPDONEIRQ
3
PENTOUCHIRQ/
TOUCHCONVDONEIRQ
2
PENRELEASEIRQ
1
TEMPWARNINGIRQ
0
TEMPALARMIRQ
Bits
7
6
Variable
HAPTSHORTSTAT
RESETSTAT
th
Rev 1 – 25 July 2011
Default
0
Description
Enables the HaptShort interrupt.
0 : OFF
1 : ON
0
Enables the ProxClose interrupt.
0 : OFF
1 : ON
0
Enables the ProxFar/ProxConvDone interrupt. Cf RegProx0[6]
0 : OFF
1 : ON
0
Enables the ProxCompDone interrupt.
0 : OFF
1 : ON
1
Enables the PenTouch/TouchConvDone interrupt
0 : OFF
1 : ON
0
Enables the PenRelease interrupt.
0 : OFF
1 : ON
0
Enables the TempWarning interrupt.
0 : OFF
1 : ON
0
Enables the TempAlarm interrupt.
0 : OFF
1 : ON
Table 46 : RegIrqMsk (Addr 0x22)
Default
0
Description
Gives
the
HaptShort
interrupt
source
status.
(ie
HAPTSHORTSTAT rising edge)
0
Gives the ProxClose interrupt source status. (ie PROXSTAT
rising edge)
0
Gives the ProxFar (ie PROXSTAT falling edge), or
ProxConvDone (ie CONVSTAT falling edge after proximity
conversion) interrupt status depending on PROXIRQSEL .
0
Gives the ProxCompDone interrupt source status. (ie
PROXCOMPSTAT falling edge)
0
Gives the PenTouch/TouchConvDone interrupt source status. (ie
in PENDET mode -> PENSTAT rising edge, else -> CONVSTAT
falling edge after touch conversion)
0
Gives the PenRelease interrupt source status. (ie PENSTAT
falling edge)
0
Gives the TempWarning interrupt source status. (ie
TEMPWARNINGSTAT rising/falling edge depending on
TEMPWRNIRQEDG)
0
Gives
the TempAlarm
interrupt source status. (ie
TEMPALARMSTAT
rising/falling
edge
depending
on
TEMPALRMIRQEDG)
Table 47 : RegIrqSrc (Addr 0x23)
Default
0
0
Description
Gives the haptics short-circuit instantaneous status :
0 : No short circuit is currently present
1 : A short circuit is currently present
Gives the reset latched status :
0 : No reset occurred
1 : A reset occurred
This bit is cleared when RegStat is read.
55
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
5
PROXSTAT
4
PROXCOMPSTAT
3
CONVSTAT
2
PENSTAT
1
TEMPWARNINGSTAT
0
TEMPALARMSTAT
0
0
When set to ‘1’, triggers a compensation for next scan period.
Gives touch/proximity conversion instantaneous status :
0 : No touch or proximity conversion is currently running
1 : A touch or proximity conversion is currently running
0
Gives the pen instantaneous status :
0 : Released/Up
1 : Touching/Down
0
Gives the temperature warning instantaneous status :
0 : Temperature is below warning threshold
1 : Temperature is above warning threshold
0
Gives the temperature alarm instantaneous status :
0 : Temperature is below alarm threshold
1 : Temperature is above alarm threshold
Table 48 : RegStat (Addr 0x24)
Variable
Reserved
AUX1DIGOUTEN
Default
0
0
5
AUX2DIGOUTEN
0
4
AUX3DIGOUTEN
0
AUX1DIGOUT
th
Rev 1 – 25 July 2011
PROXSTAT (and PROXAVG) is automatically frozen to its
current value if pen is down (whether TS or AUXi is the sensor)
PROXSTAT is NOT frozen while haptics is running, if needed
host
can
turn
proximity
sensing
ON/OFF
via
PROXSCANPERIOD.
When read, this bit indicates gives the compensation
instantaneous status :
0 : No compensation is currently pending
1 : A compensation is currently pending execution and/or
completion
0
Bits
7
6
3:0
Gives the proximity instantaneous status:
0 : Far (or proximity sensing disabled)
1 : Close
Description
Enables the digital output capability of AUX1
0 : OFF
1 : ON, Cf. AUX1DIGOUT.
Bit is ignored if TSTYPE = 1 or PROXSENSORCON = 0001
Enables the digital output capability of AUX2
0 : OFF
1 : ON, Cf. AUX2DIGOUT.
Bit is ignored if PROXSENSORCON = 0010
Enables the digital output capability of AUX3
0 : OFF
1 : ON, Cf. AUX3DIGOUT.
Bit is ignored if TSTYPE = 1 or PROXSHIELDCON = 0011
Defines the digital signal to output on AUX1 :
0000 : RegIrqSrc(0)
1000 : RegStat(0)
0001 : RegIrqSrc(1)
1001 : RegStat(1)
0010 : RegIrqSrc(2)
1010 : RegStat(2)
0011 : RegIrqSrc(3)
1011 : RegStat(3)
0100 : RegIrqSrc(4)
1100 : RegStat(4)
0101 : RegIrqSrc(5)
1101 : RegStat(5)
0110 : RegIrqSrc(6)
1110 : RegStat(6)
0111 : RegIrqSrc(7)
1111 : RegStat(7)
Table 49 : RegAux0 (Addr 0x25)
0000
56
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
Bits
7:4
Variable
AUX2DIGOUT
3:0
AUX3DIGOUT
Bits
7:0
Variable
SOFTRESET
th
Rev 1 – 25 July 2011
Default
0000
Description
Defines the digital signal to output on AUX2 :
0000 : RegIrqSrc(0)
1000 : RegStat(0)
0001 : RegIrqSrc(1)
1001 : RegStat(1)
0010 : RegIrqSrc(2)
1010 : RegStat(2)
0011 : RegIrqSrc(3)
1011 : RegStat(3)
0100 : RegIrqSrc(4)
1100 : RegStat(4)
0101 : RegIrqSrc(5)
1101 : RegStat(5)
0110 : RegIrqSrc(6)
1110 : RegStat(6)
0111 : RegIrqSrc(7)
1111 : RegStat(7)
0000
Defines the digital signal to output on AUX3 :
0000 : RegIrqSrc(0)
1000 : RegStat(0)
0001 : RegIrqSrc(1)
1001 : RegStat(1)
0010 : RegIrqSrc(2)
1010 : RegStat(2)
0011 : RegIrqSrc(3)
1011 : RegStat(3)
0100 : RegIrqSrc(4)
1100 : RegStat(4)
0101 : RegIrqSrc(5)
1101 : RegStat(5)
0110 : RegIrqSrc(6)
1110 : RegStat(6)
0111 : RegIrqSrc(7)
1111 : RegStat(7)
Table 50 : RegAux1 (Addr 0x26)
Default
0x00
Description
Writing 0xDE will reset the chip and all registers to their default
values.
Table 51 : RegReset (Addr 0x3F)
57
www.semtech.com
SX8657/SX8658
Haptics Enabled 4/5-Wire
Resistive Touchscreen Controller with Proximity Sensing
ADVANCED COMMUNICATIONS & SENSING
13 APPLICATION INFORMATION
13.1 Typical Application Circuit
Figure 55 – Typical Application Circuit
13.2 External Components Recommended Values
Symbol
CVDD
CMVDD
CVREG
RPULL
Description
Note
Min
Main supply decoupling capacitor
Motor supply decoupling capacitor
Regulator decoupling capacitor
+/- 20%, ESR