SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
DATASHEET
GENERAL DESCRIPTION
KEY PRODUCT FEATURES
The SX8661Z is an ultra low power, fully integrated
8-channel solution for capacitive touch-button and
proximity detection applications. Unlike many
capacitive touch solutions, the SX8661Z features
dedicated capacitive sense inputs (that requires no
external components) in addition to 8 general
purpose I/O ports (GPIO). Each of the 8 on-chip
GPIO/LED driver is equipped with independent PWM
source for enhanced visual effect such as dimming,
and breathing.
Complete 8 Sensors Capacitive Touch-Button Solution
The SX8661Z includes a capacitive 10 bit ADC
analog interface with automatic compensation up to
100pF. The high resolution capacitive sensing
supports a wide variety of touch pad sizes and
shapes and allows capacitive buttons to be created
using thick overlay materials (up to 5mm) for an
extremely robust and ESD immune system design.
o Up to 8 LED Drivers for individual Visual Feedback with
Auto Lightening
o Configurable Single or Continuous Fading Mode
o 256 steps PWM Linear and Logarithmic control
Proximity Sensing up to several centimetres
High Resolution Capacitive Sensing
o Up to 100pF of Offset Cap. Compensation at Full
Sensitivity
o Capable of Sensing up thru 5mm thick Overlay Materials
Up to 2 Analog Output Interfaces (AOI-A and AOI-B)
o Enable button detection thru host’s ADC
Support of buzzer for audible feedback
User-selectable Button Reporting Configuration
o Report Single or Report Strongest
Extremely Low Power
o 8uA (typ) in Sleep Mode
The SX8661Z incorporates a versatile firmware that
was specially designed to simplify capacitive touch
solution design and offers reduced time-to-market.
Integrated
multi-time
programmable
memory
provides the ultimate flexibility to modify key firmware
parameters (gain, threshold, scan period, auto offset
compensation) in the field without the need for new
firmware development.
o 70uA (typ) in Doze Mode (195ms)
o 200uA (typ) in Active Mode (30ms)
Programmable Scanning Period from 15ms to several seconds
Auto Offset Compensation
o Eliminates false triggers due to environmental factors
(temperature, humidity)
o Initiated on power-up and configurable intervals
Multi-Time In-Field Programmable Firmware Parameters
The SX8661Z supports the 400 kHz I²C serial bus
data protocol and includes a field programmable
slave address. The tiny 4mm x 4mm footprint makes
it an ideal solution for portable, battery powered
applications where power and density are at a
premium.
for Ultimate Flexibility
o On-chip user programmable memory for fast, self
contained start-up
No External Components per Sensor Input
Internal Clock Requires No External Components
Differential Sensor Sampling for Reduced EMI
TYPICAL APPLICATION CIRCUIT
Optional 400 KHz I²C Interface with Programmable Address
mother board
Analog Output Interface
-40°C to +85°C Operation
cap2
gpo6
SX8661Z
cap0
cap1
gpo7
vdig
gnd
resetb
vana
pr
ox
im
ity
APPLICATIONS
analog
sensor
interface
PWM
LED
controller
clock
generation
RC
d6
LCD TVs, Monitors
White Goods
gnd
gpo5
d5
Notebook/Netbook/Portable/Handheld computers
Consumer Products, Instrumentation, Automotive
gpo4
d4
cap3
power management
gpo3
cap4
cap5
cap6
cap7
micro
processor
GPIO
controller
gpo2
RAM
NVM
gpo1
ROM
I2C
gpo0
sda
scl
intb
vdd
cp
d3
d2
gnd
bottom plate
cn
Mechanical Button Replacement
ORDERING INFORMATION
Part Number
d1
Temperature
Range
d0
Package
1
SX8661I07ZULTRT -40°C to +85°C Lead Free MLPQ-UT28
1
3000 Units/reel
* This device is RoHS/WEEE compliant and Halogen Free
Revision v4.0, February 2016
© 2012 Semtech Corp.
1
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
DATASHEET
Table of Contents
GENERAL DESCRIPTION ........................................................................................................................ 1
TYPICAL APPLICATION CIRCUIT ............................................................................................................ 1
KEY PRODUCT FEATURES..................................................................................................................... 1
APPLICATIONS....................................................................................................................................... 1
ORDERING INFORMATION...................................................................................................................... 1
GENERAL DESCRIPTION............................................................................................................... 5
1
1.1
1.2
1.3
1.4
1.5
2
Pin Diagram
Marking information
Pin Description
Simplified Block Diagram
Acronyms
5
5
6
7
7
ELECTRICAL CHARACTERISTICS ................................................................................................. 8
2.1
2.2
2.3
2.4
3
Absolute Maximum Ratings
Recommended Operating Conditions
Thermal Characteristics
Electrical Specifications
8
8
8
9
FUNCTIONAL DESCRIPTION ........................................................................................................ 12
3.1
Introduction
3.1.1
General
3.1.2
GPIOs
3.1.3
Analog Output Interface A and B (SPO mode)
3.1.4
Buzzer (SPO mode)
3.1.5
Parameters
3.1.6
Configuration
3.2
Scan Period
3.3
Operation modes
3.4
Sensors on the PCB
3.5
Button Information
3.6
Buzzer
3.7
Analog Output Interface
3.8
Analog Sensing Interface
3.9
Offset Compensation
3.10
Processing
3.11
Configuration
3.12
Power Management
3.13
Clock Circuitry
3.14
I2C interface
3.15
Interrupt
3.15.1 Power up
3.15.2 Assertion
3.15.3 Clearing
Revision v4.0, February 2016
© 2012 Semtech Corp.
2
12
12
12
12
12
13
13
13
14
14
15
15
17
19
21
22
22
24
24
24
25
25
25
25
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
3.15.4 Example
3.16
Reset
3.16.1 Power up
3.16.2 RESETB
3.16.3 Software Reset
3.17
General Purpose Input and Outputs
3.17.1 GPP mode
3.17.2 GPO Dual Reporting
3.17.3 GPO Fading
3.17.4 Intensity index vs PWM pulse width
3.17.5 GPO Triple Reporting
4
DATASHEET
26
26
26
27
27
28
28
30
31
32
33
PIN DESCRIPTIONS ..................................................................................................................... 35
4.1
4.2
4.3
4.4
4.5
5
Introduction
ASI pins
Host interface pins
Power management pins
General purpose IO pins
35
35
36
39
40
DETAILED CONFIGURATION DESCRIPTIONS .............................................................................. 41
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
6
Introduction
General Parameters
Capacitive Sensors Parameters
Proximity Parameters
Button Parameters
Analog Output Interface Parameters
Buzzer Parameters
Mapping Parameters
GPIO Parameters
41
44
45
49
51
57
59
60
62
I2C INTERFACE ........................................................................................................................... 66
6.1
6.2
6.3
6.4
6.5
6.6
I2C Write
I2C read
I2C Registers Overview
Status Registers
Control Registers
SPM Gateway Registers
6.6.1
SPM Write Sequence
6.6.2
SPM Read Sequence
6.7
NVM burn
6.8
Monitor Mode
7
66
67
68
69
71
73
74
75
76
77
APPLICATION INFORMATION ...................................................................................................... 78
7.1
7.2
Triple proximity reporting
Dual proximity reporting
7.2.1
SPM file (application two AOI, dual proximity reporting)
7.3
Example of Touch+Proximity Module
7.3.1
Overview
7.3.2
Operation
7.3.3
Performance
7.3.4
Schematics
7.3.5
Layout
Revision v4.0, February 2016
© 2012 Semtech Corp.
3
78
79
81
82
82
82
83
83
84
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
DATASHEET
8
REFERENCES ............................................................................................................................. 85
9
PACKAGING INFORMATION ........................................................................................................ 86
9.1
9.2
Package Outline Drawing
Land Pattern
Revision v4.0, February 2016
86
86
© 2012 Semtech Corp.
4
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
DATASHEET
1 GENERAL DESCRIPTION
cap4
4
cap5
5
cap6
6
cap7
7
vana
resetb
gnd
vdig
gpio7
gpio6
23
22
SX8661Z
Top View
bottom ground pad
8
9
10
11
12
13
14
gpio0
3
24
sda
cap3
25
scl
2
26
intb
cap2
27
vdd
1
28
cp
cap1
cap0
Pin Diagram
cn
1.1
21
gnd
20
gpio5
19
gpio4
18
gpio3
17
gpio2
16
gnd
15
gpio1
Figure 1 Pinout Diagram
1.2
Marking information
ZRA3
yyww
xxxxx
R07
yyww = Date Code
xxxxx = Semtech lot number
R07 = Semtech Code
Figure 2 Marking Information
Revision v4.0, February 2016
© 2012 Semtech Corp.
5
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
1.3
DATASHEET
Pin Description
Number
Name
Type
Description
1
CAP1
Analog
Capacitive Sensor 1
2
CAP2
Analog
Capacitive Sensor 2
3
CAP3
Analog
Capacitive Sensor 3
4
CAP4
Analog
Capacitive Sensor 4
5
CAP5
Analog
Capacitive Sensor 5
6
CAP6
Analog
Capacitive Sensor 6
7
CAP7
Analog
Capacitive Sensor 7
8
CN
Analog
Integration Capacitor, negative terminal (1nF between CN and CP)
9
CP
Analog
Integration Capacitor, positive terminal (1nF between CN and CP)
10
VDD
Power
Main input power supply
11
INTB
Digital Output
Interrupt, active LOW, requires pull up resistor (in host or external)
12
SCL
Digital Input
I2C Clock, requires pull up resistor (in host or external)
13
SDA
Digital Input/Output
I2C Data, requires pull up resistor (in host or external)
14
GPIO0
Digital Input/Output
General Purpose Input/Output 0
15
GPIO1
Digital Input/Output
General Purpose Input/Output 1
16
GND
Ground
Ground
17
GPIO2
Digital Input/Output
General Purpose Input/Output 2
18
GPIO3
Digital Input/Output
General Purpose Input/Output 3
19
GPIO4
Digital Input/Output
General Purpose Input/Output 4
20
GPIO5
Digital Input/Output
General Purpose Input/Output 5
21
GND
Ground
Ground
22
GPIO6
Digital Input/Output
General Purpose Input/Output 6
23
GPIO7
Digital Input/Output
General Purpose Input/Output 7
24
VDIG
Analog
Digital Core Decoupling, connect to a 100nF decoupling capacitor
25
GND
Ground
Ground
26
RESETB
Digital Input
Active Low Reset. Connect to VDD if not used.
27
VANA
Analog
Analog Core Decoupling, connect to a 100nF decoupling capacitor
28
CAP0
Analog
Capacitive Sensor 0
Ground
Exposed pad connect to ground
bottom plate GND
Table 1 Pin description
Revision v4.0, February 2016
© 2012 Semtech Corp.
6
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
1.4
DATASHEET
Simplified Block Diagram
cap2
gpo6
SX8661Z
cap0
cap1
gpo7
vdig
gnd
vana
resetb
The simplified block diagram of the SX8661Z is illustrated in Figure 3.
PWM
LED
controller
clock
generation
RC
analog
sensor
interface
cap3
power management
gnd
gpo5
gpo4
gpo3
cap4
cap5
cap6
micro
processor
GPIO
controller
gpo2
RAM
NVM
gpo1
ROM
I2C
gnd
gpo0
cap7
sda
scl
intb
vdd
cp
cn
bottom plate
Figure 3 Simplified block diagram of the SX8661Z
1.5
AOI
ASI
DCV
GPO
GPP
MTP
NVM
PWM
QSM
SPM
SPO
Acronyms
Analog Output Interface
Analog Sensor Interface
Digital Compensation Value
General Purpose Output
General Purpose PWM
Multiple Time Programmable
Non Volatile Memory
Pulse Width Modulation
Quick Start Memory
Shadow Parameter Memory
Special Purpose Output
Revision v4.0, February 2016
© 2012 Semtech Corp.
7
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
DATASHEET
2 ELECTRICAL CHARACTERISTICS
2.1
Absolute Maximum Ratings
Stresses above the values listed in “Absolute Maximum Ratings” may cause permanent damage to the device.
This is a stress rating only and functional operation of the device at these, or any other conditions beyond the “Recommended
Operating Conditions”, is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device
reliability.
Parameter
Symbol
Min.
Max.
Unit
Supply Voltage
VDD
-0.5
3.9
V
Input voltage (non-supply pins)
VIN
-0.5
3.9
V
Input current (non-supply pins)
IIN
10
mA
Operating Junction Temperature
TJCT
125
°C
Reflow temperature
TRE
260
°C
Storage temperature
TSTOR
-50
150
°C
ESDHBM
3
kV
ILU
± 100
mA
(i)
ESD HBM (Human Body model)
Latchup
(ii)
Table 2 Absolute Maximum Ratings
(i) Tested to JEDEC standard JESD22-A114
(ii) Tested to JEDEC standard JESD78
2.2
Recommended Operating Conditions
Parameter
Symbol
Min.
Max.
Unit
Supply Voltage
VDD
2.7
3.6
V
100
mV
Supply Voltage Drop
(iii, iv, v)
VDDdrop
Supply Voltage for NVM programming
VDD
3.6
3.7
V
Ambient Temperature Range
TA
-40
85
°C
Table 3 Recommended Operating Conditions
(iii) Performance for 2.6V < VDD < 2.7V might be degraded.
(iv) Operation is not guaranteed below 2.6V. Should VDD briefly drop below this minimum value, then the SX8661Z may
require;
- a hardware reset issued by the host using the RESETB pin
- a software reset issued by the host using the I2C interface
(v) In the event the host processor is reset or undergoes a power OFF/ON cycle, it is recommended that the host also resets
the SX8661Z and assures that parameters are re-written into the SPM (should these differ to the parameters held in NVM).
2.3
Thermal Characteristics
Parameter
Thermal Resistance - Junction to Ambient
Symbol
(vi)
θJA
Min.
Max.
Unit
25
°C/W
Table 4 Thermal Characteristics
(vi) Static airflow
Revision v4.0, February 2016
© 2012 Semtech Corp.
8
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
2.4
DATASHEET
Electrical Specifications
All values are valid within the operating conditions unless otherwise specified.
Parameter
Symbol
Conditions
Min.
Typ.
Max.
Unit
IOP,active
30ms scan period,
8 sensors enabled,
common sensitivity 0
proximity sensing OFF
200
275
uA
Doze mode, average
IOP,Doze
195ms scan period,
8 sensors enabled,
common sensitivity 0
proximity sensing OFF
70
100
uA
Sleep
IOP,sleep
I2C listening,
sensors disabled
8
17
uA
IQS,active
30ms scan period,
8 sensors enabled,
sensitivity 2 for buttons
sensitivity 7 for proximity
proximity sensing ON
800
1100
uA
IQS,Doze
195ms scan period,
8 sensors enabled,
sensitivity 2 for buttons
sensitivity 7 for proximity
proximity sensing ON
160
220
uA
0.7*VDD
VDD + 0.3
V
VSS - 0.3
0.8
V
±1
uA
Current consumption
Active mode, average
Active mode, average
(Quick Start application)
Doze mode, average
(Quick Start application)
ResetB, SCL, SDA
Input logic high
VIH
Input logic low
VIL
VSS applied to GND pins
Input leakage current
LI
CMOS input
Pull up resistor
RPU
when enabled
660
kΩ
Pull down resistor
RPD
when enabled
660
kΩ
Output logic high
VOH
IOH CompNegCntMax
= ticks, no-touch
= ticks < CompNegThreshold
Figure 52 Negative Ticks Offset Compensation Trigger
BtnCompNegThresh
Small negative ticks are considered as normal operation and will occur very often.
Larger negative ticks however need to be avoided and a convenient method is to trigger an offset
compensation phase. The new set of DCV will assure the idle ticks will be close to zero again.
A trade-off has to be found for the value of this register. A negative threshold too close to zero will trigger a
compensation phase very often. A very negative threshold will never trigger.
BtnCompNegCntMax
As soon as the ticks get smaller than the Negative Threshold the Negative Counter starts to count.
If the counter goes beyond the Negative Counter Max then the offset compensation phase is triggered.
The recommended value for this register is ‘1’ which means that the offset compensation starts on the first tick
below the negative threshold.
BtnHysteresis
The hysteresis percentage is identical for all buttons.
A touch is detected if the ticks are getting larger as the value defined by:
Revision v4.0, February 2016
© 2012 Semtech Corp.
54
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
DATASHEET
CapThreshold + CapThreshold * hysteresis.
A release is detected if the ticks are getting smaller as the value defined by:
CapThreshold - CapThreshold * hysteresis.
BtnStuckAtTimeout
The stuckat timer can avoid sticky buttons.
If the stuckat timer is set to one second then the touch of a finger will last only for one second and then a
compensation will be performed and button hence considered released, even if the finger remains on the
button for a longer time. After the actual finger release the button can be touched again and will be reported as
usual.
In case the stuckat timer is not required it can be set to zero.
BtnStrongestHysteresis
This parameter defines the hysteresis value for the adjacent button filtering engine. This parameter is only
valid when BtnCfg has been configured to report the strongest touch.
When the SX8661Z device has been configured to report the strongest touch, a situation may arise where the
CAP signals of two sensors are of approximately equal value. Environmental noise can cause the signals of
these two sensors to fluctuate as shown in Figure 55 (b).
(a)
(b)
CAP1
Fluctuation
CAP0
Strongest
Hysteresis
Figure 53 Strongest touch and Hysteresis
As a result of that, the output of the SX8661Z device would also change very quickly as each of the two
sensors becomes the sensor with the strongest touch value. To eliminate this jitter, the SX8661Z device adds
a hysteresis element to the calculation of the strongest touch sensor. In that respect, the strongest CAP sensor
is calculated as the sensor whose value is greater that the second detected strongest CAP sensor by the
Strongest hysteresis amount.
For example, as shown in Figure 55, the strongest CAP sensor is initially CAP0 (Figure 55 (b)). CAP1
becomes the strongest detected touch only if at some point in time the following holds true:
CAP1 signal = CAP0 signal + StrongestHysteresis
Similarly, if CAP2 is now also touched, it will only become the strongest detected touch if:
CAP2 signal = CAP1 signal + StrongestHysteresis.
BtnLongPressTimer
Revision v4.0, February 2016
© 2012 Semtech Corp.
55
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
DATASHEET
This timer defines the time in seconds that the AOI will put out a voltage level corresponding to the button
touched. The timer is applicable in the Single Reporting Mode. After the timer expires the AOI will return to the
idle level even if the button is still touched.
The I2C status and GPO are not affected by this timer (i.e. they will be updated when the button is actually
released).
Revision v4.0, February 2016
© 2012 Semtech Corp.
56
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
5.6
DATASHEET
Analog Output Interface Parameters
Analog Output Interface (AOI) Parameters
Address
Name
Bits
Description
0x2B
AoiCfg
7:6
Reserved (0x00).
5:4
Defines AoiLevelDuringBuzzer (same for A&B).
0x00: AOI button level
0x01: AOI Idle level
0x10: min level (0V)
0x11: max level( VDD)
3
Defines Aoi pwm period (same for A&B).
0: 0xFF (255)
1: 0x3F (63)
2:0
Reserved (0x01)
7:0
Button[7]
0x2C
AoiBtnMapMsb
Button[6]
Button[5]
Button[4]
0x2D
AoiBtnMapLsb
7:0
Button[3]
Maps a button touch to one of the two Analog Output
Interfaces (AOI-A / AOI-B), or both.
00 : None
01 : AOI-A (GPIO7)
10 : AOI-B (GPIO6)
11 : Both
Button[2]
Button[1]
Button[0] or Proximity
0x2E
AoiLevelBtn0
7:0
0x2F
AoiLevelBtn1
7:0
0x30
AoiLevelBtn2
7:0
0x31
AoiLevelBtn3
7:0
0x32
AoiLevelBtn4
7:0
0x33
AoiLevelBtn5
7:0
0x34
AoiLevelBtn6
7:0
0x35
AoiLevelBtn7
7:0
0x36
AoiLevelIdle
7:0
Defines the level index (cf Table 7) for Buttons, Idle or Proximity (for CAP0)
The level index should be smaller or equal to Aoi pwm period as defined in
AoiCfg[3].
0x00: 0
0x01: 1
…
0xFF: 255
Table 21 AOI Parameters
AoiBtnMap
This register is used to map the available buttons to SWI-A, AOI-B or both. For example, to map buttons 0 to 3
and buttons 4 to 7 on AOI-B, write the following value to the AoiPwmBtnMap register
AoiCfg = 0xAA55;
AoiLevelBtn0, AoiLevelBtn1,
AoiLevelBtn7, AoiLevelIdle
Revision v4.0, February 2016
AoiLevelBtn2,
AoiLevelBtn3,
© 2012 Semtech Corp.
57
AoiLevelBtn4,
AoiLevelBtn5,
AoiLevelBtn6,
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
DATASHEET
These registers define the level that will be output on AOI-A or AOI-B (depending on button mapping) when the
corresponding button is touched or when the corresponding state is active or idle. The duty cycle is defined as
a number of steps.
The mean voltage of a PWM signal is given by:
Mean voltage ≈ (AoiLevelBtnx / AoiPmwPeriod) * Maximum Voltage (VDD)
or:
AoiLevelBtnx ≈ (Mean voltage / Maximum Voltage (VDD)) * AoiPmwPeriod
AoiPwmPeriod is 255 or 63.
Example:
When button 0 is touched the desired AOI voltage is 0.30 Volts.
To calculate the AoiLevelBtnx is as follows (with AoiPwmPeriod=255):
Assuming a 3.3V VDD:
AoiLevelBtnx
≈ (Mean voltage / Maximum Voltage (VDD)) * AoiPmwPeriod
≈ (0.3/3.3) * 255 ≈ 23 decimal
Write 0x17 in the register AoiBtn0DutyCycle.
Revision v4.0, February 2016
© 2012 Semtech Corp.
58
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
5.7
DATASHEET
Buzzer Parameters
Buzzer Parameters
Address
Name
Bits
Description
0x37
BuzzerCfg
7:6
Defines the phase 1 duration.
0x00: ~ 5ms
0x01: ~ 10ms
0x02: ~ 15ms
0x03: ~ 30ms
5:4
Defines the phase 2 duration.
0x00: ~ 5ms
0x01: ~ 10ms
0x02: ~ 15ms
0x03: ~ 30ms
3
Defines the buzzer idle level (BuzzerLevelIdle).
0x0: min level (0V)
0x1: max level (VDD)
2:0
Defines the buzzer pwm prescaler value.
0x38
BuzzerFreqPhase1
7:0
Defines the frequency for the first phase of the buzzer.
freq ≈ 4MHz /(2^prescaler * BuzzerFreqPhase1)
0x39
BuzzerFreqPhase2
7:0
Defines the frequency for the second phase of the buzzer.
freq ≈ 4MHz /(2^prescaler * BuzzerFreqPhase2)
0x3A
Reserved
7:0
Reserved (0x00)
Table 22 Buzzer Parameters
The buzzer parameters are described in section 3.6.
Revision v4.0, February 2016
© 2012 Semtech Corp.
59
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
5.8
DATASHEET
Mapping Parameters
Mapping Parameters
Address
Name
Bits
Description
0x3B
MapAutoLight0
7:4
GPIO[7]
3:0
GPIO[6]
7:4
GPIO[5]
3:0
GPIO[4]
7:4
GPIO[3]
3:0
GPIO[2]
7:4
GPIO[1]
3:0
GPIO[0]
0x3C
0x3D
0x3E
MapAutoLight1
MapAutoLight2
MapAutoLight3
0x3F
MapAutoLightGrp0Msb
7:0
Reserved (0x00)
0x40
MapAutoLightGrp0Lsb
7
Btn7
6
Btn6
5
Btn5
4
Btn4
3
Btn3
2
Btn2
1
Btn1
0
Btn0 or Proximity
0x41
MapAutoLightGrp1Msb
7:0
Reserved (0x00)
0x42
MapAutoLightGrp1Lsb
7
Btn7
6
Btn6
5
Btn5
4
Btn4
3
Btn3
2
Btn2
1
Btn1
0
Btn0 or Proximity
Defines the mapping between GPOs (with
Autolight ON) and sensor events.
0x00: Btn0 or Proximity
0x01: Btn1
…
0x07: Btn7
0x08…0x0B: Reserved
0x0C: Group0 as defined by MapAutoLightGrp0
0x0D: Group1 as defined by MapAutoLightGrp1
0x0E: Reserved
0x0F: Reserved
Several GPOs can be mapped to the same sensor
event and will be controlled simultaneously.
Defines Group0 sensor events:
0: OFF
1: ON
If any of the enabled sensor events occurs the
Group0 event will occur as well.
All sensors events within the group can be
independently set.
Defines Group1 sensor events:
0: OFF
1: ON
If any of the enabled sensor events occurs the
Group0 event will occur as well.
All sensors events within the group can be
independently set.
Table 23 Mapping Parameters
MapAutoLight0, MapAutoLight1, MapAutoLight2, MapAutoLight3
MapAutoLightGrp0Msb, MapAutoLightGrp0Lsb, MapAutoLightGrp1Msb, MapAutoLightGrp1Lsb
These registers define the mapping between the GPO pins (with Autolight ON) and the sensor information
which will control its ON/OFF state.
The mapping can be done to a specific sensor event but also on groups (in this case any sensor event in the
group will control the GPO).
Revision v4.0, February 2016
© 2012 Semtech Corp.
60
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
DATASHEET
Table 24 defines for each selectable sensor event, which action will trigger corresponding GPO to switch ON
or OFF.
MapAutoLight
BtnX
GPO ON
GPO OFF
Touch
Release
Table 24 Autolight Mapping, Sensor Information
Examples:
- If GPO[0] should change state accordingly to Btn4 then MapAutoLight3[3:0] should be set to 0x04.
- If GPO[0] should change state accordingly to Btn0 or Btn1 then Group0 can be used as following:
- MapAutoLight3[3:0] should be set to 0x0C (i.e. Group0).
- MapAutoLightGrp0 should be set to 0x0003 (i.e. Btn0 or Btn1)
Revision v4.0, February 2016
© 2012 Semtech Corp.
61
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
5.9
DATASHEET
GPIO Parameters
GPIO Parameters
Address
Name
Bits Description
0x43
GpioMode7_4
0x44
GpioMode3_0
7:6 GPIO[7] Mode Defines the GPIO mode.
00: GPO
5:4 GPIO[6] Mode 01: GPP
3:2 GPIO[5] Mode 10: Reserved
11: SPO: AOI-A for GPIO[7],
1:0 GPIO[4] Mode
AOI-B for GPIO[6],
Buzzer for GPIO[5]),
7:6 GPIO[3] Mode
Reserved for GPIO[4..0]
5:4 GPIO[2] Mode
3:2 GPIO[1] Mode
1:0 GPIO[0] Mode
0x45
GpioIntensityOn0
0x46
GpioIntensityOn1
0x47
GpioIntensityOn2
0x48
GpioIntensityOn3
7:0 Defines the ON intensity index.
0x00: 0
7:0 0x01: 1
7:0 …
0xFF: 255
7:0
0x49
GpioIntensityOn4
7:0
0x4A
GpioIntensityOn5
7:0
0x4B
GpioIntensityOn6
7:0
0x4C
GpioIntensityOn7
7:0
0x4D
GpioIntensityOff0
0x4E
GpioIntensityOff1
0x4F
GpioIntensityOff2
0x50
GpioIntensityOff3
7:0 Defines the OFF intensity index.
0x00: 0
7:0 0x01: 1
7:0 …
0xFF: 255
7:0
0x51
GpioIntensityOff4
7:0
0x52
GpioIntensityOff5
7:0
0x53
GpioIntensityOff6
7:0
0x54
GpioIntensityOff7
7:0
0x56
GpioOutPwrUp
7:0 Defines the values of GPO and GPP pins after power up i.e. default values of
I2C parameters GpoCtrl and GppIntensity respectively.
Bits corresponding to GPO pins with Autolight ON should be left to 0.
Before being actually initialized GPIOs are set as inputs with pull up.
0: OFF(GPO) / IntensityOff (GPP)
1: ON (GPO) / IntensityOn (GPP)
0x57
GpioAutoLight
7:0 Enables Autolight in GPO mode.
0 : OFF
1 : ON
0x58
GpioPolarity
7:0 Defines the polarity of the GPO and GPP pins.
SPO pins require Normal Polarity.
0: Inverted
Revision v4.0, February 2016
© 2012 Semtech Corp.
62
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
DATASHEET
GPIO Parameters
Address
Name
Bits Description
1: Normal
0x59
GpioFunction
7:0 Defines the intensity index vs PWM pulse width function.
0: Logarithmic
1: Linear
0x5A
GpioIncFactor
7:0 Defines the fading increment factor.
0: intensity index incremented every increment time
1: intensity index incremented every 16 increment times
0x5B
GpioDecFactor
7:0 Defines the fading decrement factor.
0: intensity index decremented every decrement time
1: intensity index decremented every 16 decrement times
0x5C
GpioIncTime7_6
7:4 GPIO[7] Fading Increment Time
3:0 GPIO[6] Fading Increment Time
0x5D
GpioIncTime5_4
7:4 GPIO[5] Fading Increment Time
3:0 GPIO[4] Fading Increment Time
0x5E
GpioIncTime3_2
7:4 GPIO[3] Fading Increment Time
3:0 GPIO[2] Fading Increment Time
0x5F
GpioIncTime1_0
Defines the fading increment time.
0x0: OFF
0x1: 0.5ms
0x2: 1ms
…
0xF: 7.5ms
The total fading in time will be:
GpioIncTime*GpioIncFactor*
(GpioIntensityOn – GpioIntensityOff)
7:4 GPIO[1] Fading Increment Time
3:0 GPIO[0] Fading Increment Time
0x60
GpioDecTime7_6
7:4 GPIO[7] Fading Decrement Time
3:0 GPIO[6] Fading Decrement Time
0x61
GpioDecTime5_4
7:4 GPIO[5] Fading Decrement Time
3:0 GPIO[4] Fading Decrement Time
0x62
GpioDecTime3_2
7:4 GPIO[3] Fading Decrement Time
3:0 GPIO[2] Fading Decrement Time
0x63
GpioDecTime1_0
7:4 GPIO[1] Fading Decrement Time
3:0 GPIO[0] Fading Decrement Time
0x64
GpioOffDelay7_6
GpioOffDelay5_4
7:4 GPIO[5] OFF Delay
3:0 GPIO[4] OFF Delay
0x66
GpioOffDelay3_2
7:4 GPIO[3] OFF Delay
3:0 GPIO[2] OFF Delay
0x67
GpioOffDelay1_0
7:4 GPIO[1] OFF Delay
3:0 GPIO[0] OFF Delay
Revision v4.0, February 2016
The total fading out time will be:
GpioDecTime*GpioDecFactor*
(GpioIntensityOn – GpioIntensityOff)
7:4 GPIO[7] OFF Delay
3:0 GPIO[6] OFF Delay
0x65
Defines the fading decrement time.
0x0: OFF
0x1: 0.5ms
0x2: 1ms
…
0x4: 2.0ms
…
0xF: 7.5ms
© 2012 Semtech Corp.
63
Single Fading Mode
Defines the delay between release and start
of fading out.
0x0: instantaneous
0x1: 200 ms
0x2: 400 ms
0x3: 600ms
…
0xA: 2s
0xB: 4s
…
0xF: 12s
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
DATASHEET
GPIO Parameters
Address
Name
Bits Description
0x68
GpioPullUpDown7_4
7:6 GPIO[7] Pullup/down
5:4 GPIO[6] Pullup/down
3:2 GPIO[5] Pullup/down
Enables pullup/down resistors for GPIO pins.
00 : None
01 : Pullup
10 : Pulldown
11 : Reserved
1:0 GPIO[4] Pullup/down
0x69
GpioPullUpDown3_0
7:6 GPIO[3] Pullup/down
5:4 GPIO[2] Pullup/down
3:2 GPIO[1] Pullup/down
1:0 GPIO[0] Pullup/down
0x6A
Reserved
7:0 Reserved (0x00)
0x6B
Reserved
7:0 Reserved (0x00)
0x6C
Reserved
7:0 Reserved (0x00)
0x6D
GpioFadingMode7_4
7:6 Fading mode for GPIO[7]
5:4 Fading mode for GPIO[6]
3:2 Fading mode for GPIO[5]
1:0 Fading mode for GPIO[4]
0x6E
GpioFadingMode3_0
7:6 Fading mode for GPIO[3]
5:4 Fading mode for GPIO[2]
3:2 Fading mode for GPIO[1]
1:0 Fading mode for GPIO[0]
Revision v4.0, February 2016
© 2012 Semtech Corp.
64
Defines the Fading mode for GPO[7:0].
00: Single Fading Mode
01: Continuous Fading Mode
10: Reseved
11: Reserved
The fading modes are expected to be
defined at power up by the QSM or NVM.
In case the fading modes need to be
changed after power up this can be done
when the GPOs are all OFF.
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
DATASHEET
Table 25 resumes the applicable SPM and I2C parameters for each GPIO mode.
SPM
I2C
1
GpioMode
GpioOutPwrUp
GpioAutolight
GpioPolarity
GpioIntensityOn
GpioIntensityOff
GpioFunction
GpioIncFactor
GpioDecFactor
GpioIncTime
GpioDecTime
GpioOffDelay
GpioPullUpDown
IrqSrc[4]
GpoCtrl
GppPinId
GppIntensity
GPP
X
1
X
X
1
X
1
X
X
GPO
X
2,3
X
X
X
X
X
X
X
X
X
X
X
X
SPO
5
X
4
X
1
X
At power up, GppIntensity of each GPP pin is initialized with GpioIntensityOn or GpioIntensityOff depending on GpioOutPwrUp
corresponding bits value.
2
Only if Autolight is OFF, else must be left to 0 (default value)
3
GpioOutPwrUp must be set to OFF in Continuous Fading Mode (with Autolight OFF)
4
Only if Autolight is OFF, else ignored
5
In SPO mode assure the following settings: GpioOutPwrUp=OFF, GpioAutoLight=ON, GpioPolarity=Normal, GpioFunction=Linear
Table 25 Applicable SPM/I2C Parameters vs. GPIO Mode
Revision v4.0, February 2016
© 2012 Semtech Corp.
65
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
DATASHEET
6 I2C INTERFACE
The I2C implemented on the SX8661Z is compliant with:
- standard (100kb/s), fast mode (400kb/s)
- slave mode
- 7 bit address (default 0x2B). The default address can be changed in the NVM at address 0x04.
The host can use the I2C to read and write data at any time. The effective changes will be applied at the next
processing phase (section 3.2).
Three types of registers are considered:
- status (read). These registers give information about the status of the capacitive buttons, GPIs, operation modes
etc…
- control (read/write). These registers control the soft reset, operating modes, GPIOs and offset compensation.
- SPM gateway (read/write). These registers are used for the communication between host and the SPM. The
SPM gateway communication is done typically at power up and is not supposed to be changed when the
application is running. The SPM needs to be re-stored each time the SX8661Z is powered down.
The SPM can be stored permanently in the NVM memory of the SX8661Z. The SPM gateway communication
over the I2C at power up is then not required.
The I2C will be able to read and write from a start address and then perform read or writes sequentially, and the
address increments automatically.
The supported I2C access formats are described in the next sections.
6.1
I2C Write
The format of the I2C write is given in Figure 54.
After the start condition [S], the slave address (SA) is sent, followed by an eighth bit (‘0’) indicating a Write. The
SX8661Z then acknowledges [A] that it is being addressed, and the master sends an 8 bit Data Byte consisting of
the SX8661Z Register Address (RA). The slave acknowledges [A] and the master sends the appropriate 8 bit
Data Byte (WD0). Again the slave acknowledges [A]. In case the master needs to write more data, a succeeding 8
bit Data Byte will follow (WD1), acknowledged by the slave [A]. This sequence will be repeated until the master
terminates the transfer with the Stop condition [P].
S
S:
SA:
A:
RA:
WDn:
P:
SA
0 A RA
A
WD0
Start condition
Slave Address
Acknowledge
Register Address
Write Data byte (0...n)
Stop condition
A
WD1
A
WDn
optional
A
P
optional
from master to slave
from slave to master
Figure 54 I2C write
The register address is incremented automatically when successive register data (WD1...WDn) is supplied by the
master.
Revision v4.0, February 2016
© 2012 Semtech Corp.
66
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
6.2
DATASHEET
I2C read
The format of the I2C read is given in Figure 55.
After the start condition [S], the slave address (SA) is sent, followed by an eighth bit (‘0’) indicating a Write. The
SX8661Z then acknowledges [A] that it is being addressed, and the master responds with an 8 bit data consisting
of the Register Address (RA). The slave acknowledges [A] and the master sends the Repeated Start Condition
[Sr]. Once again, the slave address (SA) is sent, followed by an eighth bit (‘1’) indicating a Read.
The SX8661Z responds with acknowledge [A] and the Read Data byte (RD0). If the master needs to read more
data it will acknowledge [A] and the SX8661Z will send the next read byte (RD1). This sequence can be repeated
until the master terminates with a NACK [N] followed by a stop [P].
S
S:
SA:
Sr:
A:
N:
RA:
RDn:
P:
SA
0 A RA
A
Sr
SA
1 A
RD0
Start condition
Slave Address
Repeated Start condition
Acknowledge
Not Acknowledge (terminating read stream)
Register Address
Read Data byte (0...n)
Stop condition
A
RD1
optional
A
RDn
N
P
optional
from master to slave
from slave to master
Figure 55 I2C read
Revision v4.0, February 2016
© 2012 Semtech Corp.
67
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
6.3
DATASHEET
I2C Registers Overview
Address
Name
R/W
Description
0x00
IrqSrc
read
Interrupt Source
0x01
Reserved
0x02
CapStat
read
Button Status
0x03
Reserved
0x04
Reserved
0x05
Reserved
0x06
Reserved
0x07
Reserved
0x08
SpmStat
read
SPM Status
0x09
CompOpMode
read/write
Compensation and
Operating Mode
0x0A
GpoCtrl
read/write
GPO Control
0x0B
GppPinId
read/write
GPP Pin Selection
0x0C
GppIntensity
read/write
GPP Intensity
0x0D
SpmCfg
read/write
SPM Configuration
0x0E
SpmBaseAddr
read/write
SPM Base Address
0x0F
Reserved
0xAC
SpmKeyMsb
read/write
SPM Key MSB
0xAD
SpmkeyLsb
read/write
SPM Key LSB
0xB1
SoftReset
read/write
Software Reset
Table 26 I2C Registers Overview
Revision v4.0, February 2016
© 2012 Semtech Corp.
68
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
6.4
DATASHEET
Status Registers
Address
0x00
Name
Bits
Description
7
Reserved
6
NVM burn interrupt flag
5
SPM write interrupt flag
4
Reserved
3
Reserved
2
Buttons/Proximity interrupt flag
1
Compensation interrupt flag
0
Operating Mode interrupt flag
IrqSrc
Interrupt source flags
0: Inactive (default)
1: Active
INTB goes low if any of
these bits is set.
More than one bit can be
set.
Reading IrqSrc clears it
together with INTB.
Table 27 Interrupt Source
The delay between the actual event and the flags indicating the interrupt source may be one scan period.
IrqSrc[6] is set once NVM burn procedure is completed.
IrqSrc[5] is set once SPM write is effective.
IrqSrc[2] is set if a Button/Proximity event occurred (touch or release if enabled). CapStatLsb show the detailed
status of the Buttons.
IrqSrc[1] is set once compensation procedure is completed either through automatic trigger or via host request.
IrqSrc[0] is set when actually entering Active or Doze mode via host request. CompOpmode shows the current
operation mode.
Revision v4.0, February 2016
© 2012 Semtech Corp.
69
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
Address Name
0x02
Bits
Description
7
Status button 7
6
Status button 6
5
Status button 5
4
Status button 4
3
Status button 3
2
Status button 2
1
Status button 1
0
Status button 0
CapStat
DATASHEET
Status of individual buttons
0: Released (default)
1: Touched
Table 28 I2C Cap status
Address
0x08
Name
Bits
Description
7:4
reserved
3
NvmValid
2:0
Indicates the number of times NVM has been burned:
0: None – QSM is used (default)
1: Once – NVM is used if NvmValid = 1, else QSM.
NvmCount
2: Twice – NVM is used if NvmValid = 1, else QSM.
3: Three times – NVM is used if NvmValid = 1, else QSM.
4: More than three times – QSM is used
Indicates if the current NVM is valid.
0: No – QSM is used
1: Yes – NVM is used
SpmStat
Table 29 I2C SPM status
Revision v4.0, February 2016
© 2012 Semtech Corp.
70
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
6.5
DATASHEET
Control Registers
Address Name
Bits
Description
7:3
Reserved*, write only ‘00000’
2
0x09
Compensation
Indicates/triggers compensation procedure
0: Compensation completed (default)
1: read -> compensation running ; write -> trigger
compensation
Operating Mode
Indicates/programs** operating mode
00: Active mode (default)
01: Doze mode
10: Sleep mode
11: Reserved
CompOpMode
1:0
* The reading of these reserved bits will return varying values.
** After the operating mode change (Active/Doze) the host should wait for INTB or 300ms before
performing any I2C read access.
Table 30 I2C compensation, operation modes
Address Name
0x0A
GpoCtrl
Bits
7:0
Description
GpoCtrl[7:0]
Triggers ON/OFF state of GPOs when Autolight is OFF
0: OFF (i.e. go to IntensityOff)
1: ON (i.e. go to IntensityOn)
Default is set by SPM parameter GpioOutPwrUp
Bits of non-GPO pins are ignored.
Table 31 I2C GPO Control
Revision v4.0, February 2016
© 2012 Semtech Corp.
71
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
Address
0x0B
Name
Bits
Description
7:3
Reserved, write only ‘00000’
GppPinId
2:0
GPP Pin Identifier
DATASHEET
Defines the GPP pin to which the GppIntensity is
assigned for the following read/write operations
0x0 = GPP0 (default)
0x1 = GPP1
...
0x7 = GPP7
GPPx refers to pin GPIOx configured as GPP
Table 32 I2C GPP Pin Identifier
Address
0x0C
Name
GppIntensity
Bits
7:0
Description
Defines the intensity index of the GPP pin selected in GppPinId
0x00: 0
0x01: 1
…
0xFF: 255
Reading returns the intensity index of the GPP pin selected in GppPinId.
Default value is IntensityOn or IntensityOff depending on GpioOutPwrUp.
Table 33 I2C GPP Intensity
Address
0xB1
Name
Bits
Description
SoftReset
7:0
Writing 0xDE followed by 0x00 will reset the chip.
Table 34 I2C Soft Reset
Revision v4.0, February 2016
© 2012 Semtech Corp.
72
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
6.6
DATASHEET
SPM Gateway Registers
The SX8661Z I2C interface offers two registers for exchanging the SPM data with the host.
• SpmCfg
• SpmBaseAddr
Address
0x0D
Name
Bits
Description
7:6
00: Reserved
5:4
Defines the normal operation or SPM mode
00: I2C in normal operation mode (default)
01: I2C in SPM mode
10: Reserved
11: Reserved
3
Defines r/w direction of SPM
0: SPM write access (default)
1: SPM read access
2:0
000: Reserved
SpmCfg
Table 35 SPM access configuration
Address
Name
Bits
Description
0x0E
SpmBaseAddr
7:0
SPM Base Address (modulo 8).
The lowest address is 0x00 (default)
The highest address is 0x78.
Table 36 SPM Base Address
The exchange of data, read and write, between the host and the SPM is always done in bursts of eight bytes.
The base address of each burst of eight bytes is a modulo 8 number, starting at 0x00 and ending at 0x78.
The registers SpmKeyMsb and SpmKeyLsb are required for NVM programming as described in section 6.7.
Address
0xAC
Name
Bits
Description
SpmKeyMsb
7:0
SPM to NVM burn Key MSB
Unlock requires writing data: 0x62
Table 37 SPM Key MSB at I2C register address 0xAC
Address
0xAD
Name
Bits
Description
SpmKeyLsb
7:0
SPM to NVM burn Key LSB
Unlock requires writing data: 0x9D
Table 38 SPM Key LSB
Revision v4.0, February 2016
© 2012 Semtech Corp.
73
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
6.6.1
DATASHEET
SPM Write Sequence
The SPM must always be written in blocks of 8 bytes. The sequence is described below:
1. Set the I2C in SPM mode by writing “01” to SpmCfg[5:4] and SPM write access by writing ‘0’ to SpmCfg[3].
2. Write the SPM base address to SpmBaseAddr (The base address needs to be a value modulo 8).
3. Write the eight consecutive bytes to I2C address 0, 1, 2, …7
4. Terminate by writing “000” to SpmCfg[5:3].
1)
S
SA
0
A
0x0D
A
0x10
A
P
2)
S
SA
0
A
0x0E
A
BA
A
P
3)
S
SA
0
A
0x00
A
WD0
...
WD7
4)
S
SA
0
A
0x0D
A
0x00
A
P
S
SA
A
BA
WDn
P
: Start condition
: Slave address
: Slave acknowledge
: NVM Base Address
: Write Data byte n, n = 0 to 7
: Stop condition
A
P
From master to slave
From slave to master
Figure 56 SPM write sequence
The complete SPM can be written by repeating 16 times the cycles shown in Figure 56 using base addresses
0x00, 0x08, 0x10,…0x70, 0x78.
Once the SPM write sequence is actually applied, the INTB pin will be asserted. The host clears the interrupt by
reading any I2C register. At the same time the bit GenStatMsb[6], indicating the SPM write is done, will be
cleared.
Revision v4.0, February 2016
© 2012 Semtech Corp.
74
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
6.6.2
DATASHEET
SPM Read Sequence
The SPM must always be read in blocks of 8 bytes. The sequence is described below:
1. Set the I2C in SPM mode by writing “01” to SpmCfg[5:4] and SPM read access by writing ‘1’ to SpmCfg[3].
2. Write the SPM base address to SpmBaseAddr (The base address needs to be a value modulo 8).
3. Read the eight consecutive bytes from I2C address 0, 1, 2, …7
4. Terminate by writing “000” to SpmCfg[5:3].
1)
S
SA
0
A
0x0D
A
0x18
A
P
2)
S
SA
0
A
0x0E
A
BA
A
P
3)
S
SA
0
A
0x00
A
Sr
SA
1
4)
S
SA
0
A
0x0D
A
0x00
A
P
S,Sr
SA
A
N
BA
RDn
P
: Start condition
: Slave address
: Slave acknowledge
: Not Acknowledge (terminates read stream)
: NVM Base Address
: Read Data byte n, n = 0 to 7
: Stop condition
A
RD0
A
...
RD7
N
P
From master to slave
From slave to master
Figure 57 SPM Read Sequence
The complete SPM can be read by repeating 16 times the cycles shown in Figure 57 using base addresses 0x00,
0x08, 0x10,…0x70, 0x78.
Once the SPM read sequence is actually applied, the INTB pin will be asserted. The host clears the interrupt by
reading any I2C register. At the same time the bit GenStatMsb[6], indicating the SPM write is done, will be
cleared.
Revision v4.0, February 2016
© 2012 Semtech Corp.
75
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
6.7
DATASHEET
NVM burn
The content of the SPM can be copied permanently (burned) into the NVM to be used as the new default
parameters. The burning of the NVM can be done up to three times and must be done only when the SPM is
completely written with the desired data.
The number of times the NVM has been burned can be monitored by reading NvmCycle from the I2C register
GenStatLsb[7:5].
NVM
QSM
1
0
2
3
4
GenstatLsb[7:5]
SPM
Figure 58 Simplified Diagram NvmCycle
Figure 58 shows the simplified diagram of the NvmCycle counter.
The SX8661Z is delivered with first NVM burned and NvmCycle set to one. The SPM points to the first NVM.
Each NVM burn will increase the NvmCycle. At the fourth NVM burn the SX8661Z switches definitely to the QSM.
The burning of the SPM into the NVM is done by executing a special sequence of four I2C commands.
1. Write the data 0x62 to the I2C register I2CKeyMsb.
2. Write the data 0x9D to the I2C register I2CKeyLsb.
3. Write the data 0xA5 to the I2C register I2CSpmBaseAddr.
4. Write the data 0x5A to the I2C register I2CSpmBaseAddr.
Terminate the I2C write by a STOP.
Terminate the I2C write by a STOP.
Terminate the I2C write by a STOP.
Terminate the I2C write by a STOP.
This is illustrated in Figure 59.
1)
S
SA
0
A
0xAC
A
0x62
A
P
2)
S
SA
0
A
0xAD
A
0x9D
A
P
3)
S
SA
0
A
0x0E
A
0xA5
A
P
4)
S
SA
0
A
0x0E
A
0x5A
A
P
S
SA
A
P
: Start condition
: Slave address
: Slave acknowledge
: Stop condition
From master to slave
From slave to master
Figure 59: NVM burn procedure
Revision v4.0, February 2016
© 2012 Semtech Corp.
76
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
6.8
DATASHEET
Monitor Mode
Monitor mode allows the host to read “real-time” sensor information (CAPxRaw, CAPxAvg, CAPxDiff).
It is enabled by setting bit 2 of I2C register SpmCfg (address 0x0D).
When enabled, it uses a specific monitor scan period (Cf below) and generates an interrupt every time a new full
set of data is available (hence every scan period).
Address Name
0xF9
Bits
MonitorScanPeriod 7:0
Description
Monitor Mode Scan Period
0x00: Reserved
0x01: 15ms
…
0x0D: 195ms (default)
…
0xFF: 255 x 15ms
Monitor mode scan period is located at address 0xF9 can be written similarly as SPM data (Cf. §6.6.1).
Interrupt is cleared normally by reading I2C register IrqSrc (address 0x00) but no specific flag is set.
CAPxRaw/Avg/Diff data can be read similarly as SPM data (Cf. §6.6.2).
Base address BA = 0xB4 is the beginning of the CAPxDiff data location and data are organized this way:
0xB4: CAP0Diff, MSB
0xB5: CAP0Diff, LSB
0xB6: CAP1Diff, MSB
etc...
Values are coded 16bits signed 2's complement format and updated at each scan period.
Base address BA = 0x80 is the beginning of the CAPxRaw data location.
Base address BA = 0x9A is the beginning of the CAPxAvg data location.
Data should be read before the next interrupt occurs (i.e. within one scan period).
Revision v4.0, February 2016
© 2012 Semtech Corp.
77
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
DATASHEET
7 APPLICATION INFORMATION
7.1
Triple proximity reporting
This section describes the application corresponding to QSM settings
One AOI with seven LEDs are used. The intensity level of the LEDs show if proximity (medium intensity) or a
touch (maximum intensity) is detected. The LEDs are off in case no finger is present.
mother board
cap2
gpo6
SX8661Z
cap0
cap1
gpo7
vdig
vana
o
pr
resetb
ity
m
xi
gnd
Analog Output Interface
analog
sensor
interface
clock
generation
RC
PWM
LED
controller
d6
gnd
gpo5
d5
gpo4
d4
cap3
power management
gpo3
d3
cap4
cap5
cap6
cap7
micro
processor
GPIO
controller
gpo2
RAM
NVM
gpo1
ROM
I2C
gpo0
d2
gnd
d1
d0
sda
scl
intb
vdd
cp
cn
bottom plate
Figure 60 Typical Application (one AOI), triple proximity reporting
In case of proximity all LEDs (d0 to d6) are enabled to a medium intensity.
If a sensor is touched then only the corresponding LED will light up with full intensity. The other LEDs remain at
medium intensity.
Revision v4.0, February 2016
© 2012 Semtech Corp.
78
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
7.2
DATASHEET
Dual proximity reporting
Two AOIs and two LEDs are used. One LED is showing proximity and the second LED (or multiple LEDs) for
showing any touch.
clock
generation
RC
PWM
LED
controller
gpo5
gpo4
dx
analog
sensor
interface
gnd
d1
cap2
gpo6
SX8661Z
cap0
cap1
gpo7
vdig
gnd
resetb
vana
pr
ox
i
m
ity
mother board
Analog Output Interface
cap3
power management
gpo3
cap4
cap5
cap6
micro
processor
GPIO
controller
RAM
NVM
ROM
I2C
gpo2
gnd
gpo1
gpo0
cap7
d0
sda
scl
intb
vdd
cp
cn
bottom plate
Figure 61 Typical Application (two AOI), dual proximity reporting
Revision v4.0, February 2016
© 2012 Semtech Corp.
79
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
leds
(gpoi[1])
Prox
Touch Release &Prox
DATASHEET
No Prox
ON
OFF
10 seconds
led
(gpio[0])
ON
OFF
breathing (~1Hz)
AOI
idle
prox prox+btn_x
idle
prox
Figure 62 dual proximity LED and AOI reporting
Figure 62 shows the reporting on the LEDs and the AOI for the application with two AOIs.
On proximity all the LEDs (d1 to dx) are enabled to maximum light intensity.
A touch on any button is shown by the continuous fading in and fading out of the LED d0.
prox
key1
key2
key3
key4
key5
key6
key7
AOI-A
idle
0.6V
0.9V
1.2V
idle
idle
idle
idle
AOI-B
idle
idle
idle
idle
1.5V
1.8V
2.1V
2.4V
Table 39 example AOI-A, AOIB
Revision v4.0, February 2016
© 2012 Semtech Corp.
80
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
7.2.1
DATASHEET
SPM file (application two AOI, dual proximity reporting)
#Address[Hex]
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
0x27
0x28
0x29
0x2A
0x2B
0x2C
0x2D
0x2E
0x2F
0x30
0x31
0x32
0x33
0x34
0x35
0x36
0x37
0x38
0x39
0x3A
0x3B
0x3C
0x3D
0x3E
0x3F
Value[Hex]
0xxx
0xxx
0x41
0xxx
0x2B
0x02
0x0D
0x00
0x00
0x05
0x00
0x55
0x57
0x73
0x33
0x33
0x33
0x00
0x00
0xA0
0xA0
0xA0
0xA0
0xA0
0xA0
0xA0
0xA0
0x00
0x00
0x00
0x0A
0x00
0x70
0x50
0x50
0x01
0x0A
0x00
0x80
0x00
0x00
0x00
0xFF
0x01
0xAA
0x55
0xFF
0x2E
0x45
0x5D
0x74
0x8B
0xA3
0xBA
0xFF
0xA4
0x40
0x20
0x00
0x00
0x00
0x00
0x0C
0x00
Revision v4.0, February 2016
#Address[Hex]
0x40
0x41
0x42
0x43
0x44
0x45
0x46
0x47
0x48
0x49
0x4A
0x4B
0x4C
0x4D
0x4E
0x4F
0x50
0x51
0x52
0x53
0x54
0x55
0x56
0x57
0x58
0x59
0x5A
0x5B
0x5C
0x5D
0x5E
0x5F
0x60
0x61
0x62
0x63
0x64
0x65
0x66
0x67
0x68
0x69
0x6A
0x6B
0x6C
0x6D
0x6E
0x6F
0x70
0x71
0x72
0x73
0x74
0x75
0x76
0x77
0x78
0x79
0x7A
0x7B
0x7C
0x7D
0x7E
0x7F
© 2012 Semtech Corp.
81
Value[Hex]
0xFE
0x00
0x00
0xF0
0x00
0xFF
0xFF
0xFF
0xFF
0xFF
0xFF
0xFF
0xFF
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0xFF
0x00
0xC3
0xC0
0xC0
0x00
0x00
0x04
0x44
0x44
0x44
0x00
0x44
0x44
0x44
0x00
0xEE
0xEE
0xE0
0x00
0x00
0x00
0x00
0x00
0x00
0x01
0x50
0x74
0x10
0x45
0x03
0xFF
0xFF
0xFF
0xD5
0x55
0x55
0x7F
0x23
0x22
0x41
0xFF
0x3D
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
7.3
DATASHEET
Example of Touch+Proximity Module
7.3.1 Overview
To demonstrate the proximity sensing feature of the SX8661Z/SX863x family, a module has been designed and is
illustrated in figure below.
Touch Buttons
(1.5cm pitch)
Module Size (white area) :
sensors area + SX8633 + connector (min.)
Proximity Sensor
Bicolor LEDs
(blue, orange)
Overlay
(2mm acrylic glass)
Figure 63 Touch+Proximity Module Overview
The touch button controller is running in stand-alone (i.e. without host) and uses the Autolight mode to turn LEDs
ON/OFF accordingly to the touch buttons and proximity sensing status.
7.3.2
Operation
Module operation can be seen as 5 steps which are described in figure below
1. No finger
=> No proximity detected
=> All LEDs OFF
2. Finger approaches
=> Proximity detected
=> Blue LEDs turned ON
3. Button touch
=> Orange LED turned ON
(blue+orange = pink)
4. Button release
=> Orange LED turned
OFF
5. Finger removed
=> No proximity detected
=> Blue LEDs turned OFF
Figure 64 Touch+Proximity Module Operation
Notes:
- For better user experience, bicolor LEDs have been used here but one could decide to design a module with
normal unicolor LEDs. In this case, step 3 above would simply consist in a higher (blue) intensity for the LED of
the button touched.
- For obvious demonstration purposes the overlay used here is transparent but in typical applications (TV,
Monitor, Set-top box, etc) the overlay would be opaque enough so that when LEDs are OFF (i.e. no proximity
detected) the PCB is not visible to the user.
Revision v4.0, February 2016
© 2012 Semtech Corp.
82
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
7.3.3
DATASHEET
Performance
The proximity sensing distance of detection has been measured in these conditions:
- CapProxEnable = ON
- CapSensitivity = 7 (Max)
- CapThreshold = 300
- Board main supplied and placed vertically i.e. same orientation as hand/finger
- Finger pointing center button
The results obtained are provided in table below:
Palm
Finger (natural position)
Orthogonal finger (worst case)
Distance of Detection
~10cm
~6cm
~4cm
Table 40 Proximity Sensing Distance of Detection
7.3.4
Schematics
Figure 65 Touch+Proximity Module Schematics
Revision v4.0, February 2016
© 2012 Semtech Corp.
83
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
7.3.5
DATASHEET
Layout
Figure 66 Touch+Proximity Module Layout - Top
Figure 67 Touch+Proximity Module Layout - Mid1
Figure 68 Touch+Proximity Module Layout - Mid2
Figure 69 Touch+Proximity Module Layout - Bottom
Revision v4.0, February 2016
© 2012 Semtech Corp.
84
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
DATASHEET
8 REFERENCES
[1] Capacitive Touch Sensing Layout guidelines on www.semtech.com
Revision v4.0, February 2016
© 2012 Semtech Corp.
85
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
DATASHEET
9 PACKAGING INFORMATION
9.1
Package Outline Drawing
SX8661Z is assembled in a MLPQ-UT28 package as shown in Figure 70.
A
D
PIN 1
INDICATOR
(LASER MARK)
DIM
B
E
A2
A
A
A1
A2
b
D
D1
E
E1
e
L
N
aaa
bbb
DIMENSIONS
MILLIMETERS
INCHES
MIN NOM MAX MIN NOM MAX
.024
.001
(.006)
.006 .008 .010
.154 .157 .161
.100 .104 .108
.154 .157 .161
.100 .104 .108
.016 BSC
.012 .016 .020
28
.003
.004
.020
.000
0.60
0.02
(0.152)
0.15 0.20 0.25
3.90 4.00 4.10
2.55 2.65 2.75
3.90 4.00 4.10
2.55 2.65 2.75
0.40 BSC
0.30 0.40 0.50
28
0.08
0.10
0.50
0.00
SEATING
PLANE
aaa C
C
A1
LxN
D1
E/2
E1
2
1
N
e
bxN
D/2
bbb
C A B
NOTES:
1.
CONTROLLING DIMENSIONS ARE IN MILLIMETERS (ANGLES IN DEGREES).
2.
COPLANARITY APPLIES TO THE EXPOSED PAD AS WELL AS THE TERMINALS.
Figure 70 Package outline drawing
9.2
Land Pattern
The land pattern of MLPQ-UT28 package, 4 mm x 4 mm is shown in Figure 71.
Revision v4.0, February 2016
Figure 71 Land pattern
© 2012 Semtech Corp.
86
www.semtech.com
SX8661Z
Low Power, Capacitive Button Touch and Proximity Controller
(8 sensors) with LED Drivers and Analog Output
ADVANCED COMMUNICATIONS & SENSING
DATASHEET
© Semtech 2012
All rights reserved. Reproduction in whole or in part is prohibited without the prior written consent of the
copyright owner. The information presented in this document does not form part of any quotation or contract, is
believed to be accurate and reliable and may be changed without notice. No liability will be accepted by the
publisher for any consequence of its use. Publication thereof does not convey nor imply any license under
patent or other industrial or intellectual property rights. Semtech assumes no responsibility or liability
whatsoever for any failure or unexpected operation resulting from misuse, neglect improper installation, repair
or improper handling or unusual physical or electrical stress including, but not limited to, exposure to
parameters beyond the specified maximum ratings or operation outside the specified range.
SEMTECH PRODUCTS ARE NOT DESIGNED, INTENDED, AUTHORIZED OR WARRANTED TO BE
SUITABLE FOR USE IN LIFE-SUPPORT APPLICATIONS, DEVICES OR SYSTEMS OR OTHER CRITICAL
APPLICATIONS. INCLUSION OF SEMTECH PRODUCTS IN SUCH APPLICATIONS IS UNDERSTOOD TO
BE UNDERTAKEN SOLELY AT THE CUSTOMER’S OWN RISK. Should a customer purchase or use Semtech
products for any such unauthorized application, the customer shall indemnify and hold Semtech and its officers,
employees, subsidiaries, affiliates, and distributors harmless against all claims, costs damages and attorney
fees which could arise.
Notice: All referenced brands, product names, service names and trademarks are the property of their
respective owners.
Contact Information
Semtech Corporation
Advanced Communications and Sensing Products Division
200 Flynn Road, Camarillo, CA 93012
Phone: (805) 498-2111 Fax: (805) 498-3804
Revision v4.0, February 2016
© 2012 Semtech Corp.
87
www.semtech.com