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<4mA Output logic low VOL GPIO set as Output, IntB, SDA VDD-0.4 V IOL,GPIO<12mA 0.4 V 275 ms IOL,SDA,INTB<4mA Start-up Power up time tpor time between rising edge VDD and rising INTB RESETB ResetB pulse width Revision v4.0, February 2016 tres 50 © 2012 Semtech Corp. 9 ns www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING Parameter Symbol Conditions DATASHEET Min. Typ. Max. Unit Recommended External components capacitor between VDIG, GND Cvdig type 0402, tolerance +/-50% 100 nF capacitor between VANA, GND Cvana type 0402, tolerance +/-50% 100 nF capacitor between CP, CN Cint type 0402, COG, tolerance +/-5% 1 nF capacitor between VDD, GND Cvdd type 0402, tolerance +/-50% 270 nF Table 5 Electrical Specifications Revision v4.0, February 2016 © 2012 Semtech Corp. 10 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING Parameter Symbol I2C Timing Specifications DATASHEET Conditions Min. Typ. Max. Unit 400 KHz (i) SCL clock frequency fSCL SCL low period tLOW 1.3 us SCL high period tHIGH 0.6 us Data setup time tSU;DAT 100 ns Data hold time tHD;DAT 0 ns Repeated start setup time tSU;STA 0.6 us Start condition hold time tHD;STA 0.6 us Stop condition setup time tSU;STO 0.6 us Bus free time between stop and start tBUF 500 us Input glitch suppression tSP 50 ns Table 6 I2C Timing Specification Notes: (i) All timing specifications, Figure 4 and Figure 5, refer to voltage levels (VIL, VIH, VOL) defined in Table 5. The interface complies with slave F/S mode as described by NXP: “I2C-bus specification, Rev. 03 - 19 June 2007” 70% 30% SDA 70% SCL tSU;STA tHD;STA tSU;STO tBUF Figure 4 I2C Start and Stop timing 70% 30% SDA SCL 70% 30% tLOW tHIGH tHD;DAT tSU;DAT tSP Figure 5 I2C Data timing Revision v4.0, February 2016 © 2012 Semtech Corp. 11 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING DATASHEET 3 FUNCTIONAL DESCRIPTION 3.1 3.1.1 Introduction General The SX8661Z is intended to be used in applications which require capacitive sensors covered by isolating overlay material and which need to detect the proximity of a finger/hand though the air. A finger approaching the capacitive sensors will change the charge that can be loaded on the sensors. The SX8661Z measures the change of charge and converts that into digital values (ticks). The larger the charge on the sensors, the larger the number of ticks will be. The charge to ticks conversion is done by the SX8661Z Analog Sensor Interface (ASI). The ticks are further processed by the SX8661Z and converted in a high level, easy to use information for the user’s host. The information between SX8661Z and the user’s host is passed through the I2C interface with an additional interrupt signal indicating that the SX8661Z has new information. For buttons this information is simply touched or released. The SX8661Z can operate without the I2C and interrupt by using the analog output interface (GPIO7 and/or GPIO6) which voltage level indicates the button touched or GPO with the autolight function. 3.1.2 GPIOs Feedback to the user is using General Purpose Input Output (GPIO) pins. The SX8661Z offers up to eight individual configurable GPIO pins. The GPIO can e.g. be set as a LED driver which slowly fade-in when a finger touches a button or proximity is detected and slowly fade-out when the button is released or finger goes out of proximity. Fading intensity variations can be logarithmic or linear. Interval speed and initial and final light intensity can be selected by the user. The fading is done using a 256 step PWM. The SX8661Z has eight individual PWM generators, one for each GPIO pin. The LED fading-in and fading-out mode is called the GPO (fading) mode. The LED fading can be initiated automatically by the SX8661Z by setting the SX8661Z autolightening feature. A simple touch on a sensor and the corresponding LED will fade-in without any host interaction over the I2C. In case the autolightening feature is disabled then the host will decide to start a LED fading-in period, simply by setting the GPO pin to ‘high’ using one I2C command. The SX8661Z will then slowly fade-in the LED using the PWM autonomously. In case the host needs to have full control of the LED intensity then the host can set the GPIO in the PWM mode (GPP). The host is then able to set the PWM pulse width freely at the expense of an increased I2C occupation. The GPIOs can be set further in special purpose output (SPO) for the buzzer or analog output interface. 3.1.3 Analog Output Interface A and B (SPO mode) The Analog Output Interface (AOI) is a PWM output signal between ground and VDD. The duty cycle of the AOI output will change depending on which button is touched. A host controller can then measure the mean voltage delivered on the AOI output and determine which button is touched at any given time. The AOI feature allows the SX8661Z device to replace directly legacy mechanical button controllers in a quick and effortless manner. The SX8661Z supports up to two Analog Output Interfaces, AOI-A and AOI-B (on GPIO7 and GPIO6 respectively). The SX8661Z allows buttons to be mapped on either AOI-A or AOI-B. The button mapping as well as the mean voltage level that each button produces on a AOI output can be configured by the user through a set of parameters described in later chapters (see 5.6). 3.1.4 Buzzer (SPO mode) The SX8661Z can drive a buzzer (on GPIO5) to provide audible feedback on button touches. The buzzer duration is set to approximately 30ms per default (see 5.7). Revision v4.0, February 2016 © 2012 Semtech Corp. 12 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING 3.1.5 DATASHEET Parameters The SX8661Z has many low level built-in, fixed algorithms and procedures. To allow a lot of freedom for the user and adapt the SX8661Z for different applications these algorithms and procedures can be configured with a large set of parameters which will be described in the following sections. Examples of parameters are which sensors are buttons, which GPIO is used for outputs, for the Analog Output Interfaces, the Buzzer or LEDs and which GPIO is mapped to which button. Sensitivity and detection thresholds of the sensors are part of these parameters. Assuming that overlay material and sensors areas are identical then the sensitivities and thresholds will be the same for each sensor. In case sensors are not of the same size then sensitivities or thresholds might be chosen individually per sensor. So a smaller size sensor can have a larger sensitivity while a big size sensor may have the lower sensitivity. 3.1.6 Configuration During a development phase the parameters can be determined and fine tuned by the users and downloaded over the I2C in a dynamic way. The parameter set can be downloaded over the I2C by the host each time the SX8661Z boots up. This allows a flexible way of setting the parameters at the expense of I2C occupation. In case the parameters are frozen they can be programmed in Multiple Time Programmable (MTP) Non Volatile Memory (NVM) on the SX8661Z. The programming needs to be done once (over the I2C). The SX8661Z will then boot up from the NVM and additional parameters from the host are not required anymore. In case the host desires to overwrite the boot-up NVM parameters (partly or even complete) this can be done by additional I2C communications. 3.2 Scan Period The basic operation Scan period of the SX8661Z sensing interface can be split into three periods over time. In the first period (Sensing) the SX8661Z is sensing all enabled CAP inputs, from CAP0 towards CAP7. In the second period (Processing) the SX8661Z processes the sensor data, verifies and updates the GPIO and the I2C. In the third period (Timer) the SX8661Z is set in a low power mode and waits until a new cycle starts. Figure 6 shows the different SX8661Z periods over time. timer CAP0 CAP7 CAP0 CAP1 data processing timer CAP1 processing sensing time scan period Figure 6 Scan Period The scan period determines the minimum reaction time of the SX8661Z. The scan period can be configured by the host from 15ms to values larger than a second. The reaction time is defined as the interval between a touch on the sensor and the moment that the SX8661Z generates the interrupt on the INTB pin. The shorter the scan period the faster the reaction time will be. Very low power consumptions can be obtained by setting very long scan periods with the expense of having longer reaction times. All external events like GPIO, I2C and the interrupt are updated in the processing period, so once every scan period. Revision v4.0, February 2016 © 2012 Semtech Corp. 13 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING 3.3 DATASHEET Operation modes The SX8661Z has 3 operation modes. The main difference is found in the reaction time (corresponding to the scan period) and power consumption. Active mode offers fast scan periods. The typical reaction time is 30ms. All enabled sensors are scanned and information data is processed within this interval. Doze mode increases the scan period time which increases the reaction time to 195ms typical and at the same time reduces the operating current. Sleep mode turns the SX8661Z OFF, except for the I2C peripheral, minimizing operating current while maintaining the power supplies. In Sleep mode the SX8661Z does not do any sensor scanning. The Sleep mode will be exited by any I2C access. The user can specify other scan periods for the Active and Doze mode and decide for other compromises between reaction time and power consumption. In most applications the reaction time needs to be fast when fingers are present, but can be slow when no person uses the application. In case the SX8661Z is not used for a specific time it will go from Active mode into Doze mode and power will be saved. This time-out is determined by the Passive Timer which can be configured by the user or turned OFF if not required. To leave Doze mode and enter Active mode this can be done by a simple touch on any button. The host can decide to force the operating mode by issuing commands over the I2C (using register GpioOpMode) and take fully control of the SX8661Z. The diagram in Figure 7 shows the available operation modes and the possible transitions. Power On ACTIVE mode I2Ccmd OR proximity OR touch any button any I2C access passive timeout I2C cmd I2C cmd DOZE mode I2C cmd I2C cmd SLEEP mode 'I2C cmd' - write to GpioOpmode[1:0] Figure 7 Operation modes 3.4 Sensors on the PCB The capacitive sensors are relatively simple copper areas on the PCB connected to the eight SX8661Z capacitive sensor input pins (CAP0…CAP7).The sensors are covered by isolating overlay material (typically 1mm...3mm). The area of a sensor is typically one square centimetre which corresponds about to the area of a finger touching the overlay material. The area of a proximity sensor is usually a factor larger as the smaller touch sensors. The capacitive sensors can be setup as ON/OFF buttons for touch sensing and CAP0 offers additionally proximity sensing (see example Figure 8) for control applications. Revision v4.0, February 2016 © 2012 Semtech Corp. 14 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING DATASHEET Figure 8 PCB top layer of three touch buttons sensors surrounded by a proximity sensor Please refer to the layout guidelines application note [1], for more details. 3.5 Button Information The touch buttons have two simple states (see Figure 9): ON (touched by finger) and OFF (released and no finger press). off on off off Figure 9 Buttons A finger is detected as soon as the number of ticks from the ASI reaches a user-defined threshold plus a hysteresis. A release is detected if the tick from the ASI goes below the threshold minus a hysteresis. The hysteresis around the threshold avoids rapid touch and release signalling during transients. Buttons can also be used to do proximity sensing. The principle of proximity sensing operation is exactly the same as for touch buttons except that proximity sensing is done several centimeters above the overlay through the air. ON state means that finger/hand is detected by the sensor and OFF state means the finger/hand is far from the sensor and not detected. 3.6 Buzzer The SX8661Z has the ability to drive a buzzer (on GPIO5) to provide an audible indication that a button has been touched. The buzzer is driven by a square signal for approximately 30ms (default). During the first phase (15ms) the signal’s frequency is default 4KHz while in the second phase (15ms) the signal’s frequency default is 8KHz. The buzzer is activated only once during any button touch and is not repeated for long touches. The user can choose to enable or disable the buzzer by configuration and define the idle level, frequencies and phase durations (see 5.7). Revision v4.0, February 2016 © 2012 Semtech Corp. 15 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING DATASHEET Buzzer signal touch 1/freq1 1/freq2 VDD 0V (=idle) phase1 phase2 time Figure 10 Buzzer behavior Revision v4.0, February 2016 © 2012 Semtech Corp. 16 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING 3.7 DATASHEET Analog Output Interface The Analog Output Interface outputs a PWM signal with a varying duty cycle depending on which button is touched. By filtering (with a simple RC filter) the PWM signal results in a DC voltage, different for each button touch. The host controller measures the DC voltage level and determines which buttons has been touched. AOI DC level (after filtering) In the case of single button touches, each button produces its own voltage level as configured by the user (see 5.6 and Table 7). Figure 11 show how the AOI will behave when the user touches and releases different buttons. The AOI will switch between the AOI idle level and the level for each button. bt0 bt1 bt2 bt3 idle pwmbt2 pwmbt0 pwmbt1 pwmbt3 time Figure 11 AOI behavior The PWM blocks used in AOI modes are 8-bits based and clocked at 2MHz typically. The PWM period can be set to 256 (default) or 64. The 256 period offers a better granularity at a lower frequency, while the 64 period is faster and with fewer steps. Figure 12 shows the PWM definition of the AOI. width VDD VDD width time period time period (a) (b) Figure 12 PWM definition, (a) small pulse width, (b) large pulse width Table 7 describes the AOI level index versus the PWM pulse width. The user can select 256 steps (index) in case the period is set to 255. In case the period is set to 64 then the index from 0 to 63 applies. Index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Width 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Index 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 Width 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 Revision v4.0, February 2016 Index 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 Width 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 Index 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 Width 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 Index 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 Width 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 © 2012 Semtech Corp. 17 Index 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 Width 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 Index 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 Width 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 Index 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 Width 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING Index 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Width 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Index 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 Width 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 Index 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 Width 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 Index 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 Width 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 Index 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 Width 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 DATASHEET Index 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 Width 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 Index 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 Width 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 Index 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 Width 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 Table 7 AOI Level index vs. PWM pulse width (normal polarity) The AOI reports always one button. The AOI can be split over two GPIO pins (AOI-A, AOI-B). The AOI-A interface is connected to pin GPIO7 and the AOI-B is connected to pin GPIO6. The user can map any button to either AOIA or AOI-B or both. In case buttons are split to both AOI pins, multiple button touches are still resulting in one AOI reporting. In most applications only one AOI pin will be selected. The two AOI pins allow the user a more coarse detection circuitry at the host. Assuming a 3.3V supply and 8 buttons on one single AOI then the AOI levels could be separated with around 0.3…0.4V. In case of using the two AOI pins, 4 buttons could be mapped on AOI-A separated with around 0.8V (similar for 4 buttons on AOI-B) which step is about the double in case of a single AOI. In case of a single touch the reported button is straight forward (as in Figure 11). If more than one button is touched the reported depends on the selected button reporting mode parameter (5.5). Three reporting modes exist for the SX8661Z (All, Single and Strongest). The All reporting mode is applicable only for the I2C reporting (AOI is not available). In All-mode all buttons that are touched are reported in the I2C buttons status bits. In the Single-mode a single touched button will be reported on the AOI and the I2C. All touches that occur afterwards will not be reported as long as the first touch sustains. Only when the first reported button is released will the SX860 report another touch. Figure 13 shows the Single-mode reporting in case of 2 touches occurring over time. AOI DC level (after filtering) bt0 bt1 idle pwmbt0 pwmbt1 t1 t2 t3 t4 time Figure 13 Single-mode reporting with 2 touches At time t1 button0 is touched and reported on the AOI. At time t2 button1 is touched as well but not reported. At time t3 the button0 is released and button1 will be reported immediately (or after one scan period at idle level). At time t4 both buttons are released and the AOI reports the idle level. The button with the lowest Cap pin index will be reported in case of a simultaneous touch (that means touches occurring within the same scan period). Revision v4.0, February 2016 © 2012 Semtech Corp. 18 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING DATASHEET In the Strongest-mode the strongest touched button will be reported on the AOI and the I2C. All touches that occur afterwards representing a weaker touch will not be reported. Only a touch which is stronger will be reported by the SX860. Figure 14 shows the Strongest-mode reporting in case of 2 touches (with bt1 the strongest touch). AOI DC level (after filtering) bt0 bt1 idle pwmbt0 pwmbt1 t1 t2 t3 t4 time Figure 14 Strongest-mode reporting with 2 touches At time t1 button0 is touched and reported on the AOI. At time t2 button1 is touched as well. As bt1 is the strongest touch it will be reported on the AOI immediately (or after one scan period at idle level). At time t3 the button0 is released while the AOI continues to report button1. At time t4 both buttons are released and the AOI reports the idle level. AOI DC level (after filtering) In some special cases (when the buzzer is suspected to load heavily the power supply) the user may choose the AOI to go to 0V, to VDD or to the AOI idle level for the duration the buzzer is active. bt0 bt1 bt2 bt3 idle pwmbt2 pwmbt0 pwmbt1 pwmbt3 buzzer time Figure 15 AOI behavior with 0V buzzer state In Figure 15 the AOI will go to 0V each time the buzzer is active. The AOI returns then to either the idle mode for one scan period or goes immediately to the PWM button level. In case the SX8661Z is set to sleep mode the AOIs will go to 0V. 3.8 Analog Sensing Interface The Analog Sensing Interface (ASI) converts the charge on the sensors into ticks which will be further digitally processed. The basic principle of the ASI will be explained in this section. The ASI consists of a multiplexer selecting the sensor, analog switches, a reference voltage, an ADC sigma delta converter, an offset compensation DAC and an external integration capacitor (see Figure 16). Revision v4.0, February 2016 © 2012 Semtech Corp. 19 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING ASI cap0 cap1 analog multiplexor DATASHEET processing voltage reference switches cap2 ticks (raw) ADC cap6 Offset compensation DAC cp cn cap7 compensation DCV Cint Figure 16 Analog Sensor Interface To get the ticks representing the charge on a specific sensor the ASI will execute several steps. The charge on a sensor cap (e.g CAP0) will be accumulated multiple times on the external integration capacitor, Cint. This results in an increasing voltage on Cint proportional to the capacitance on CAP0. At this stage the offset compensation DAC is enabled. The compensation DAC generates a voltage proportional to an estimation of the external capacitance. The estimation is obtained by the offset compensation procedure executed e.g. at power-up. The difference between the DAC output and the charge on Cint is the desired signal. In the ideal case the difference of charge will be converted to zero ticks if no finger is present and the number of ticks becomes high in case a finger is present. The difference of charge on Cint and the DAC output will be transferred to the ADC (Sigma Delta Integrator). After the charge transfer to the ADC the steps above will be repeated. The larger the number the cycles are repeated the larger the signal out of the ADC with improved SNR. The sensitivity is therefore directly related to the number of cycles. The SX8661Z allows setting the sensitivity for each sensor individually in applications which have a variety of sensors sizes or different overlays or for fine-tuning performances. The optimal sensitivity is depending heavily on the final application. If the sensitivity is too low the ticks will not pass the thresholds and touch/proximity detection will not be possible. In case the sensitivity is set too large, some power will be wasted and false touch/proximity information may be output (i.e. for touch buttons => finger not touching yet, for proximity sensors => finger/hand not close enough). Once the ASI has finished the first sensor, the ticks are stored and the ASI will start measuring the next sensor until all (enabled) sensors pins have been treated. In case some sensors are disabled then these result in lower power consumption simply because the ASI is active for a shorter period and the following processing period will be shorter. The ticks from the ASI will then be handled by the digital processing. The ASI will shut down and wait until new sensing period will start. Revision v4.0, February 2016 © 2012 Semtech Corp. 20 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING 3.9 DATASHEET Offset Compensation The capacitance at the CAP pins is determined by an intrinsic capacitance of the integrated circuit, the PCB traces, ground coupling and the sensor planes. This capacitance is relatively large and might become easily some tens of pF. This parasitic capacitance will vary only slowly over time due to environmental changes. A finger touch is in the order of one pF. If the finger approaches the sensor this occurs typically fast. The ASI has the difficult task to detect and distinguish a small, fast changing capacitance, from a large, slow varying capacitance. This would require a very precise, high resolution ADC and complicated, power consuming, digital processing. The SX8661Z features a 16 bit DAC which compensates for the large, slow varying capacitance already in front of the ADC. In other words the ADC converts only the desired small signal. In the ideal world the ADC will put out zero ticks even if the external capacitance is as high as 100pF. At each power-up of the SX8661Z the Digital Compensation Values (DCV) are estimated by the digital processing algorithms. The algorithm will adjust the compensation values such that zero ticks will be generated by the ADC. Once the correct compensation values are found these will be stored and used to compensate each CAP pin. If the SX8661Z is shut down the compensation values will be lost. At a next power-up the procedure starts all over again. This assures that the SX8661Z will operate under any condition. Powering up at e.g. different temperatures will not change the performance of the SX8661Z and the host does not have to do anything special. The DCVs do not need to be updated if the external conditions remain stable. However if e.g. temperature changes this will influence the external capacitance. The ADC ticks will drift then slowly around zero values basically because of the mismatch of the compensation circuitry and the external capacitance. In case the average value of the ticks become higher than the positive noise threshold (configurable by user) or lower than the negative threshold (configurable by user) then the SX8661Z will initiate a compensation procedure and find a new set of DCVs. Compensation procedures can as well be initiated by the SX8661Z on periodic intervals. Even if the ticks remain within the positive and negative noise thresholds the compensation procedure will then estimate new sets of DCVs. Finally the host can initiate a compensation procedure by using the I2C interface. This is e.g. required after the host changed the sensitivity of sensors. Revision v4.0, February 2016 © 2012 Semtech Corp. 21 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING DATASHEET 3.10 Processing The first processing step of the raw ticks, coming out of the ASI, is low pass filtering to obtain an estimation of the average capacitance: tick-ave (see Figure 17). This slowly varying average is important in the detection of slowly changing environmental changes. ASI processing SPM processing ticks (raw) tick-diff PWM LED controller tick-ave GPIO controller low pass I2C compensation DCV Figure 17 Processing The difference of the tick average and the raw ticks, tick-diff, is a good estimation of rapid changing input capacitances. The tick-diff, tick-ave and the configuration parameters in the SPM are then processed and determines the sensor information, I2C registers status and PWM control. 3.11 Configuration Figure 18 shows the building blocks used for configuring the SX8661Z. SX8661Z MTP NVM SPM I2C QSM micro processor HOST Figure 18 Configuration The default configuration parameters of the SX8661Z are stored in the Quick Start Memory (QSM). This configuration data is setup to a very common application for the SX8661Z with 8 buttons. Without any programming or host interaction the SX8661Z will start up in the Quick Start Application. The QSM settings are fixed and cannot be changed by the user. Revision v4.0, February 2016 © 2012 Semtech Corp. 22 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING DATASHEET In case the application needs different settings than the QSM settings then the SX8661Z can be setup and/or programmed over the I2C interface. The configuration parameters of the SX8661Z can be stored in the Multiple Time Programmable (MTP) Non Volatile Memory (NVM). The NVM contains all those parameters that are defined and stable for the application. Examples are the number of sensors enabled, sensitivity, active and Doze scan period. The details of these parameters are described in the next chapters. At power up the SX8661Z checks if the NVM contains valid data. In that case the configuration parameter source becomes the NVM. If the NVM is empty or non-valid then the configuration source becomes the QSM. In the next step the SX8661Z copies the configuration parameter source into the Shadow Parameter Memory (SPM). The SX8661Z is operational and uses the configuration parameters of the SPM. During power down or reset event the SPM loses all content. It will automatically be reloaded following power up or at the end of the reset event. The host will interface with the SX8661Z through the I2C bus and the analog output interface. The I2C of the SX8661Z consists of 16 registers. Some of these I2C registers are used to read the status and information of the buttons. Other I2C registers allow the host to take control of the SX8661Z. The host can e.g. decide to change the operation mode from active mode to Doze mode or go into sleep (according Figure 7). Two additional modes allow the host to have an access to the SPM or indirect access to the NVM. These modes are required during development, can be used in real time or in-field programming. Figure 19 shows the Host SPM mode. In this mode the host can decide to overwrite the SPM. This is useful during the development phases of the application where the configuration parameters are not yet fully defined and as well during the operation of the application if some parameters need small deviations from the QSM or NVM content. SX8661Z MTP NVM SPM I2C micro processor HOST Figure 19 Host SPM mode The content of the SPM remains valid as long as the SX8661Z is powered. After a power down the host needs to re-write the SPM at the next power-up. Figure 20 shows the Host NVM mode. In this mode the host will be able to write the NVM. Revision v4.0, February 2016 © 2012 Semtech Corp. 23 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING DATASHEET SX8661Z MTP NVM 2 SPM 1 I2C micro processor HOST Figure 20 Host NVM mode The writing of the host towards the NVM is not done directly but done in 2 steps (Figure 20). In the first step the host writes to the SPM (as in Figure 19). In the second step the host signals the SX8661Z to copy the SPM content into the NVM. Initially the NVM memory is empty and it is required to determine a valid parameter set for the application. This can be done during the development phase using dedicated evaluation hardware representing the final application. This development phase uses probably initially the host SPM mode which allows faster iterations. Once the parameter set is determined this can be written to the NVM over the I2C using the 2 steps approach by the host or a dedicated programmer for large volumes production (as described in the paragraphs 6.6 and 6.7). 3.12 Power Management The SX8661Z uses on-chip voltage regulators which are controlled by the on-chip microprocessor. The regulators need to be stabilized with an external capacitor between VANA and ground and between VDIG and ground (see Table 5). Both regulators are designed to only drive the SX8661Z internal circuitry and must not be loaded externally. 3.13 Clock Circuitry The SX8661Z has its own internal clock generation circuitry that does not require any external components. The clock circuitry is optimized for low power operation and is controlled by the on-chip microprocessor. The typical operating frequency of the oscillating core is 16.7MHz from which all other lower frequencies are derived. 3.14 I2C interface The I2C interface allows the communication between the host and the SX8661Z. The I2C slave implemented on the SX8661Z is compliant with the standard (100kb/s) and fast mode (400kb/s) The default SX8661Z I2C address equals 0b010 1011. A different I2C address can be programmed by the user in the NVM. Revision v4.0, February 2016 © 2012 Semtech Corp. 24 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING DATASHEET 3.15 Interrupt 3.15.1 Power up During power up the INTB is kept low. Once the power up sequence is terminated the INTB is cleared autonomously. The SX8661Z is then ready for operation. The AOI levels are updated at the latest one scan period after the rising edge of INTB. VDD supply voltage 50% time VDD t por INTB SX8661Z ready time Figure 21 Power Up vs. INTB During the power on period the SX8661Z stabilizes the internal regulators, RC clocks and the firmware initializes all registers. During the power up the SX8661Z is not accessible and I2C communications are forbidden. The GPIOs set as inputs with a pull up resistor. As soon as the INTB rises the SX8661Z will be ready for I2C communication. The GPIOs are then configured according the parameters in the SPM. The value of INTB before power up depends on the INTB pull up resistor supply voltage. 3.15.2 Assertion INTB is updated in Active or Doze mode once every scan period. The INTB will be asserted at the following events: • if a Button event occurred (touch or release if enabled). I2C register CapStatLsb show the detailed status of the Buttons, • when actually entering Active or Doze mode via a host request (may be delayed by 1 scan period). I2C register CompOpmode shows the current operation mode, • once compensation procedure is completed either through automatic trigger or via host request (may be delayed by 1 scan period), • once SPM write is effective (may be delayed by 1 scan period), • once NVM burn procedure is completed (may be delayed by 1 scan period), • during reset (power up, hardware RESETB, software reset). 3.15.3 Clearing The clearing of the INTB is done as soon as the host performs a read to any of the SX8661Z I2C registers. Revision v4.0, February 2016 © 2012 Semtech Corp. 25 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING DATASHEET 3.15.4 Example A typical example of the assertion and clearing of the INTB and the I2C communication is shown in Figure 22. off on on off INTB 1 3 I2C 4 2 read read time Figure 22 Interrupt and I2C When a button is touched the SX8661Z will assert the interrupt (1). The host will read the SX8661Z status information over the I2C (2) and this clears the interrupt. If the finger releases the button the interrupt will be asserted (3), the host reads the status (4) which clears the interrupt. In case the host will not react to an interrupt then this will result in a missing touch. 3.16 Reset The reset can be performed by 3 sources: - power up, - RESETB pin, - software reset. 3.16.1 Power up During power up the INTB is kept low. Once the power up sequence is terminated the INTB is released autonomously. The SX8661Z is then ready for operation. VDD supply voltage VDDmin time VDD t por SX8661Z ready INTB time Figure 23 Power Up vs. INTB Revision v4.0, February 2016 © 2012 Semtech Corp. 26 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING DATASHEET During the power on period the SX8661Z stabilizes the internal regulators, RC clocks and the firmware initializes all registers. During the power up the SX8661Z is not accessible and I2C communications are forbidden. As soon as the INTB rises the SX8661Z will be ready for I2C communication. 3.16.2 RESETB When RESETB is driven low the SX8661Z will reset and start the power up sequence as soon as RESETB is driven high or pulled high. In case the user does not require a hardware reset control pin then the RESETB pin can be connected to VDD. VDD RESETB SX8661 startup time t res t por VDD SX8661Z ready INTB time Figure 24 Hardware Reset 3.16.3 Software Reset To perform a software reset the host needs to write 0xDE followed by 0x00 at the SoftReset register at address 0xB1. 0xDE SoftReset register 0x00 SX8661 startup time VDD t por SX8661Z ready INTB time Figure 25 Software Reset Revision v4.0, February 2016 © 2012 Semtech Corp. 27 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING DATASHEET 3.17 General Purpose Input and Outputs The SX8661Z offers eight General Purpose Input and Outputs (GPIO) pins which can be configured in any of these modes: - GPP (General Purpose PWM) - GPO (General Purpose Output) - SPO (Special Purpose Output) The input state of the GPIO is only used during the initial phase of the power up period. Each of these GPIO modes is described in more details in the following sections. The polarity of the GPP and GPO pins is defined as in figure below, driving an LED as example. It has to be set accordingly in SPM parameter GpioPolarity. gpio vdd gpio (a) (b) Figure 26 polarity = 1 (a), polarity = 0 (b) width period width VDD VDD The PWM blocks used in GPP and GPO modes are 8-bits based and clocked at 2MHz typ. hence offering 256 selectable pulse width values with a granularity of 0.5us typ. time (a) period time (b) Figure 27 PWM definition, (a) small pulse width, (b) large pulse width 3.17.1 GPP mode GPIOs configured as GPP will operate as PWM outputs directly controlled by the host. A typical application is LED dimming. Typical GPP operation is illustrated in figure below. Revision v4.0, February 2016 © 2012 Semtech Corp. 28 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING 0% DATASHEET 50% GppIntensity = 0x7F HOST I2C SX8661 100% GppIntensity = 0xFF HOST I2C SX8661 Figure 28 LED control in GPP mode SPM/I2C parameters applicable in GPP mode are listed in table below. Please refer to the relevant SPM/I2C parameters sections for more details. SPM I2C GpioMode GpioOutPwrUp GpioPolarity GpioIntensityOn GpioIntensityOff GpioFunction GppPinId GppIntensity GPP X 1 X X 1 X 1 X X X 1 X 1 At power up, GppIntensity of each GPP pin is initialized with GpioIntensityOn or GpioIntensityOff depending on GpioOutPwrUp corresponding bits value. Table 8 SPM/I2C Parameters Applicable in GPP Mode Revision v4.0, February 2016 © 2012 Semtech Corp. 29 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING DATASHEET 3.17.2 GPO Dual Reporting GPIOs configured as GPO will operate as digital outputs which can generate both standard low/high logic levels and PWM low/high duty cycles levels. Typical application is LED ON/OFF control. This is the dual reporting mode. The SX8661Z offers additionally a triple reporting mode which allows the reporting of proximity by a medium strong LED intensity (section 3.17.5). Transitions between ON and OFF states can be triggered either automatically in Autolight mode or manually by the host. This is illustrated in figures below. OFF ON OFF GpoCtrl = 0 GpoCtrl = 1 HOST I2C I2C HOST SX8661 SX8661 Figure 29 LED Control in GPO mode, Autolight OFF OFF ON OFF Figure 30 LED Control in GPO mode, Autolight ON (mapped to Button) PWM pulse width PWM pulse width Additionally these transitions can be configured to be done with or without fading following a logarithmic or linear function. This is illustrated in figures below. intensity ON inc. time intensity OFF intensity ON inc. time intensity OFF fading steps fading steps trigger time (a) trigger time (b) PWM pulse width PWM pulse width Figure 31 GPO ON transition (LED fade in), normal polarity, (a) linear, (b) logarithmic intensity OFF inc. time intensity OFF inc. time intensity ON intensity ON fading steps trigger (a) fading steps time trigger (b) time Figure 32 GPO ON transition (LED fade in), inverted polarity, (a) linear, (b) logarithmic Revision v4.0, February 2016 © 2012 Semtech Corp. 30 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING DATASHEET intensity ON PWM pulse width PWM pulse width The fading out (e.g. after a button is released) is identical to the fading in but an additional off delay can be added before the fading starts (Figure 33 and Figure 34). dec. time intensity ON dec. time intensity OFF intensity OFF off delay off delay fading steps fading steps trigger time trigger time (b) PWM pulse width PWM pulse width Figure 33 GPO OFF transition (LED fade out), normal polarity, (a) linear, (b) logarithmic intensity OFF dec. time intensity ON intensity ON off delay intensity OFF dec. time trigger (a) fading steps off delay fading steps time trigger (b) time Figure 34 GPO OFF transition (LED fade out), inverted polarity, (a) linear, (b) logarithmic Please note that standard high/low logic signals are just a specific case of GPO mode and can also be generated simply by setting inc/dec time to 0 (i.e. OFF) and programming intensity OFF/ON to 0x00 and 0xFF. 3.17.3 GPO Fading The SX8661Z supports two different fading modes, namely Single and Continuous. These fading modes can be configured for each GPIO individually. Please see 5.9 “GPIO Parameters” for more information on how to configure this feature. i) Single Fading Mode: The GPO pin fades in when the associated button is touched and it fades out when it is released. This is shown in Figure 35 Revision v4.0, February 2016 © 2012 Semtech Corp. 31 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING OFF ON OFF DATASHEET ON intensity OFF intensity OFF intensity fading-in delay_off fading-out Figure 35 Single Fading Mode ii) Continuous Fading Mode: The GPO pin fades in and fades out continuously when the associated button is touched. The fading in and out stops when the button is released. This is shown in Figure 36. OFF ON ON intensity OFF intensity OFF intensity fading-in fading-out Figure 36 Continuous Fading Mode 3.17.4 Intensity index vs PWM pulse width Tables below are used to convert all intensity indexes parameters GpioIntensityOff, GpioIntensityOn and GppIntensity but also to generate fading in GPO mode During fading in(out), the index is automatically incremented(decremented) at every Inc(Dec)Time x Inc(Dec)Factor until it reaches the programmed GpioIntensityOn(Off) value. Index 0 1 2 3 4 5 6 7 8 Lin/Log 0/0 2/0 3/0 4/0 5/0 6/2 7/2 8/2 9/2 Index 32 33 34 35 36 37 38 39 40 Lin/Log 33/5 34/5 35/5 36/5 37/5 38/6 39/6 40/6 41/6 Revision v4.0, February 2016 Index 64 65 66 67 68 69 70 71 72 Lin/Log 65/12 66/13 67/13 68/13 69/14 70/14 71/14 72/15 73/15 Index 96 97 98 99 100 101 102 103 104 Lin/Log 97/26 98/27 99/27 100/28 101/29 102/29 103/30 104/30 105/31 Index 128 129 130 131 132 133 134 135 136 Lin/Log 129/48 130/49 131/50 132/51 133/52 134/53 135/54 136/55 137/55 © 2012 Semtech Corp. 32 Index 160 161 162 163 164 165 166 167 168 Lin/Log 161/81 162/82 163/83 164/84 165/86 166/87 167/88 168/89 169/91 Index 192 193 194 195 196 197 198 199 200 Lin/Log 193/125 194/127 195/129 196/130 197/132 198/133 199/135 200/137 201/139 Index 224 225 226 227 228 229 230 231 232 Lin/Log 225/184 226/186 227/188 228/190 229/192 230/194 231/197 232/199 233/201 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 10/2 11/2 12/2 13/2 14/2 15/3 16/3 17/3 18/3 19/3 20/3 21/3 22/3 23/3 24/4 25/4 26/4 27/4 28/4 29/4 30/4 31/4 32/5 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 42/6 43/7 44/7 45/7 46/7 47/7 48/8 49/8 50/8 51/8 52/9 53/9 54/9 55/9 56/10 57/10 58/10 59/10 60/11 61/11 62/11 63/12 64/12 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 74/15 75/16 76/16 77/16 78/17 79/17 80/18 81/18 82/19 83/19 84/20 85/20 86/21 87/21 88/22 89/22 90/23 91/23 92/24 93/24 94/25 95/25 96/26 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 106/32 107/32 108/33 109/33 110/34 111/35 112/35 113/36 114/37 115/38 116/38 117/39 118/40 119/40 120/41 121/42 122/43 123/44 124/44 125/45 126/46 127/47 128/48 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 138/56 139/57 140/58 141/59 142/60 143/61 144/62 145/63 146/64 147/65 148/66 149/67 150/68 151/69 152/71 153/72 154/73 155/74 156/75 157/76 158/77 159/78 160/80 DATASHEET 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 170/92 171/93 172/95 173/96 174/97 175/99 176/100 177/101 178/103 179/104 180/106 181/107 182/109 183/110 184/111 185/113 186/114 187/116 188/117 189/119 190/121 191/122 192/124 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 202/140 203/142 204/144 205/146 206/147 207/149 208/151 209/153 210/155 211/156 212/158 213/160 214/162 215/164 216/166 217/168 218/170 219/172 220/174 221/176 222/178 223/180 224/182 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 234/203 235/205 236/208 237/210 238/212 239/215 240/217 241/219 242/221 243/224 244/226 245/229 246/231 247/233 248/236 249/238 250/241 251/243 252/246 253/248 254/251 255/253 256/256 Lin/Log 64/131 63/129 62/127 61/126 60/124 59/123 58/121 57/119 56/117 55/116 54/114 53/112 52/110 51/109 50/107 49/105 48/103 47/101 46/100 45/98 44/96 43/94 42/92 41/90 40/88 39/86 38/84 37/82 36/80 35/78 34/76 33/74 Index 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 Lin/Log 32/72 31/70 30/68 29/66 28/64 27/62 26/59 25/57 24/55 23/53 22/50 21/48 20/46 19/44 18/41 17/39 16/37 15/35 14/32 13/30 12/27 11/25 10/23 9/20 8/18 7/15 6/13 5/10 4/8 3/5 2/3 0/0 Table 9 Intensity index vs. PWM pulse width (normal polarity) Index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Lin/Log 256/256 255/256 254/256 253/256 252/256 251/254 250/254 249/254 248/254 247/254 246/254 245/254 244/254 243/254 242/253 241/253 240/253 239/253 238/253 237/253 236/253 235/253 234/253 233/252 232/252 231/252 230/252 229/252 228/252 227/252 226/252 225/251 Index 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 Lin/Log 224/251 223/251 222/251 221/251 220/251 219/250 218/250 217/250 216/250 215/250 214/249 213/249 212/249 211/249 210/249 209/248 208/248 207/248 206/248 205/247 204/247 203/247 202/247 201/246 200/246 199/246 198/246 197/245 196/245 195/245 194/244 193/244 Index 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 Lin/Log 192/244 191/243 190/243 189/243 188/242 187/242 186/242 185/241 184/241 183/241 182/240 181/240 180/240 179/239 178/239 177/238 176/238 175/237 174/237 173/236 172/236 171/235 170/235 169/234 168/234 167/233 166/233 165/232 164/232 163/231 162/231 161/230 Index 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 Lin/Log 160/230 159/229 158/229 157/228 156/227 155/227 154/226 153/226 152/225 151/224 150/224 149/223 148/223 147/222 146/221 145/221 144/220 143/219 142/218 141/218 140/217 139/216 138/216 137/215 136/214 135/213 134/212 133/212 132/211 131/210 130/209 129/208 Index 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 Lin/Log 128/208 127/207 126/206 125/205 124/204 123/203 122/202 121/201 120/201 119/200 118/199 117/198 116/197 115/196 114/195 113/194 112/193 111/192 110/191 109/190 108/189 107/188 106/187 105/185 104/184 103/183 102/182 101/181 100/180 99/179 98/178 97/176 Index 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 Lin/Log 96/175 95/174 94/173 93/172 92/170 91/169 90/168 89/167 88/165 87/164 86/163 85/161 84/160 83/159 82/157 81/156 80/155 79/153 78/152 77/150 76/149 75/147 74/146 73/145 72/143 71/142 70/140 69/139 68/137 67/135 66/134 65/132 Index 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 Table 10 Intensity index vs. PWM pulse width (inverted polarity) Recommended/default settings are inverted polarity (to take advantage from high sink current capability) and logarithmic mode (due to the non-linear response of the human eye). 3.17.5 GPO Triple Reporting The button information touch and release can be reported on the LEDs in dual mode (ON and OFF). The proximity information can be shown using the dual mode by attributing a dedicated LED to the proximity sensor. The LED will show then proximity detected or no proximity detected. The fading principles are equal to the fading of sensors defined as buttons as described in the previous sections. In triple mode proximity is reported on all LEDs by an intermediate LED intensity. Revision v4.0, February 2016 © 2012 Semtech Corp. 33 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING sd1 sd1 sd2 DATASHEET sd1 sd2 prox entered, no touch no prox, no touch sd2 prox left, no touch int_prox d1 del_prox inc_prox dec_prox d2 time Figure 37 LEDs in triple reporting mode proximity Figure 37 shows an example of proximity detection and the reporting on LEDs. As soon as proximity is detected all LEDs (2 LEDs are shown for simplicity) will fade in and stop at the proximity intensity level. In case proximity is not detected anymore then the LEDs remain at the proximity intensity for a configurable time and then the fading out will start. sd1 sd2 no prox, no touch sd1 sd2 sd1 prox entered, rapid touch inc_touch sd2 no touch, prox left rapidly dec_touch int_touch int_prox d1 inc_prox del_touch ∆ del_prox dec_prox int_prox d2 time Figure 38 LEDs in triple reporting mode proximity and touch Figure 38 shows an example of proximity detection followed by a rapid touch on the sensor sd1. The LEDs d1 and d2 will fade in as soon as proximity is detected (using the Inc_Prox parameter). As soon as the finger touches the sensor sd1 the fading in of d1 will go to the ON intensity (using the touch increment parameter). The LED d2 remains at the proximity intensity level as sensors sd2 is not touched. If the finger is removed rapidly the fading out of d1 will first use the touch decrement parameter to the proximity intensity level. If the finger leaves the proximity region d1 and 2 will fade out simultaneously using the proximity delay and decrement parameters. Revision v4.0, February 2016 © 2012 Semtech Corp. 34 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING DATASHEET 4 PIN DESCRIPTIONS 4.1 Introduction This chapter describes briefly the pins of the SX8661Z, the way the pins are protected, if the pins are analog, digital, require pull up or pull down resistors and show control signals if these are available. 4.2 ASI pins CAP0, CAP1,...,CAP7 The capacitance sensor pins (CAP0, CAP1,...,CAP7) are connected directly to the ASI circuitry which converts the sensed capacitance into digital values. The capacitance sensor pins which are not used should be left open. The enabled CAP pins need be connected directly to the sensors without significant resistance (typical below some ohms, connection vias are allowed). The capacitance sensor pins are protected to VANA and GROUND. Figure 39 shows the simplified diagram of the CAP0, CAP1,...CAP7 pins. SX8661Z VANA sensor CAPx CAP_INx ASI Note : x = 0, 1,2,…7 Figure 39 Simplified diagram of CAP0, CAP1,...,CAP7 CN, CP The CN and the CP pins are connected to the ASI circuitry. A 1nF sampling capacitor between CP and CN needs to be placed as close as possible to the SX8661Z. The CN and CP are protected to VANA and GROUND. Figure 40 shows the simplified diagram of the CN and CP pins. Revision v4.0, February 2016 © 2012 Semtech Corp. 35 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING DATASHEET SX8661Z VANA CP ASI VANA CN Figure 40 Simplified diagram of CN and CP 4.3 Host interface pins The host interface consists of the interrupt pin INTB, a reset pin RESETB and the standard I2C pins: SCL and SDA. INTB The INTB pin is an open drain output that requires an external pull-up resistor (1..10 kOhm). The INTB pin is protected to VDD using dedicated devices. The INTB pin has diode protected to GROUND. Figure 41 shows a simplified diagram of the INTB pin. VDD SX8661Z R_INT INTB to host INT Figure 41 Simplified diagram of INTB Revision v4.0, February 2016 © 2012 Semtech Corp. 36 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING DATASHEET SCL The SCL pin is a high impedance input pin. The SCL pin is protected to VDD, using dedicated devices, in order to conform to standard I2C slave specifications. The SCL pin has diode protected to GROUND. An external pull-up resistor (1..10 kOhm) is required on this pin. Figure 42 shows the simplified diagram of the SCL pin. VDD SX8661Z R_SCL SCL SCL _IN from host Figure 42 Simplified diagram of SCL SDA SDA is an IO pin that can be used as an open drain output pin with external pull-up resistor or as a high impedance input pin. The SDA IO pin is protected to VDD, using dedicated devices, in order to conform to standard I2C slave specifications. The SDA pin has diode protected to GROUND. An external pull-up resistor (1..10 kOhm) is required on this pin. Figure 43 shows the simplified diagram of the SDA pin. VDD SX8661Z R_SDA SDA SDA_IN from/to host SDA_OUT Figure 43 Simplified diagram of SDA Revision v4.0, February 2016 © 2012 Semtech Corp. 37 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING DATASHEET RESETB The RESETB pin is a high impedance input pin. The RESETB pin is protected to VDD using dedicated devices. The RESETB pin has diode protected to GROUND. Figure 44 shows the simplified diagram of the RESETB pin controlled by the host. VDD SX8661Z R_RESETB RESETB RESETB_IN from host Figure 44 Simplified diagram of RESETB controlled by host Figure 45 shows the RESETB without host control. VDD SX8661Z RESETB RESETB_IN Figure 45 Simplified diagram of RESETB without host control Revision v4.0, February 2016 © 2012 Semtech Corp. 38 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING 4.4 DATASHEET Power management pins The power management pins consist of the Power, Ground and Regulator pins. VDD VDD is a power pin and is the main power supply for the SX8661Z. VDD has protection to GROUND. Figure 46 shows a simplified diagram of the VDD pin. SX8661Z VDD VDD Figure 46 Simplified diagram of VDD GND The SX8661Z has four ground pins all named GND. These pins and the package center pad need to be connected to ground potential. The GND has protection to VDD. Figure 47 shows a simplified diagram of the GND pin. SX8661Z VDD GND GND Figure 47 Simplified diagram of GND Revision v4.0, February 2016 © 2012 Semtech Corp. 39 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING DATASHEET VANA, VDIG The SX8661Z has on-chip regulators for internal use (pins VANA and VDIG). VANA and VDIG have protection to VDD and to GND. The output of the regulators needs to be de-coupled with a small 100nF capacitor to ground. Figure 48 shows a simplified diagram of the VANA and VDIG pin. SX8661Z VDIG VDD VDIG Cvdig GND VDD VANA VANA Cvana GND Figure 48 Simplified diagram of VANA and VDIG 4.5 General purpose IO pins The SX8661Z has 8 General purpose input/output (GPIO) pins. All the GPIO pins have protection to VDD and GND. The GPIO pins can be configured as GPO, SPO or GPP. Figure 49 shows a simplified diagram of the GPIO pins. SX8661Z VDD ctrl VDD Rup ctrl VDD GPO, GPP, SPO GPOdata PWM GPIO7...0 ctrl Rdown GPO, GPP, SPO Figure 49 Simplified diagram of GPIO pins Revision v4.0, February 2016 © 2012 Semtech Corp. 40 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING DATASHEET 5 DETAILED CONFIGURATION DESCRIPTIONS 5.1 Introduction The SX8661Z configuration parameters are taken from the QSM or the NVM and loaded into the SPM as explained in the chapter ‘functional description’. This chapter describes the details of the configuration parameters of the SX8661Z. The SPM is split by functionality into 5 configuration sections: • General section: operating modes, • Capacitive Sensors section: related to lower level capacitive sensing, • Proximity: defining parameters related to proximity sensing • Button: related to the conversion from sensor data towards button information, • AOI: defining parameters for the AOI • Buzzer: defining parameters for the AOI • Mapping: related to mapping of button information towards GPIO pins, • GPIO: related to the setup of the GPIO pins. The total address space of the SPM and the NVM is 128 bytes, from address 0x00 to address 0x7F. Two types of memory addresses, data are accessible to the user. • ‘application data’: Application dependent data that need to be configured by the user. • ‘reserved’: Data that need to be maintained by the user to the QSM default values (i.e. when NVM is burned). The Table 11 and Table 12 resume the complete SPM address space and show the ‘application data’ and ‘reserved’ addresses. The SX8661Z has the first NVM burned and hence powers-up with the NVM1 settings. Revision v4.0, February 2016 © 2012 Semtech Corp. 41 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 QSM / NVM1 Address DATASHEET Name values QSM / NVM1 values 0x00 Reserved 0xxx 0x20 ProxReporting 0x7F 0x01 Reserved 0xxx 0x21 ProxIntensity 0x64 0x02 Reserved 0x41 0x22 BtnCfg 0x03 Reserved 0xxx 0x23 BtnAvgThresh 0x70 0x50 / 0x4B 0x2B 0x24 BtnCompNegThresh 0xA0 ActiveScanPeriod 0x02 0x25 BtnCompNegCntMax 0x01 DozeScanPeriod 0x0D / 0x06 0x26 0x00 0x27 0x06 0x07 PassiveTimer Button I2CAddress 0x05 General 0x04 BtnHysteresis 0x0A / 0x0F BtnStuckAtTimeout 0x00 0x28 BtnStrongestHysteresis 0x80 0x29 BtnLongPressTimer 0x00 Reserved 0x00 0x2A Reserved 0xFF 0x0B CapMode7_4 0x55 0x2B AoiCfg 0x0C CapMode3_0 0x57 0x2C AoiBtnMapMsb 0x55 / 0xA9 0x0D CapSensitivity0_1 0x72 / 0x77 0x2D AoiBtnMapLsb 0x55 / 0x54 0x0E CapSensitivity2_3 0x22 / 0x77 0x2E CapModeMisc 0x0A 0x0F 0x10 0x11 0x12 0x13 Capacitive Sensors Reserved 0x09 CapSensitivity4_5 0x22 / 0x77 0x2F CapSensitivity6_7 0x22 / 0x77 0x30 Reserved 0x00 0x31 Reserved 0x00 0x32 0xA0 / 0x7D 0x33 CapThresh0 CapThresh1 0xA0 / 0x7D 0x34 0x15 CapThresh2 0xA0 / 0x7D 0x16 CapThresh3 0x17 CapThresh4 0x18 0x19 Analog Output Interface (AOI) 0x00 0x04/0x00 0x08 AoiLevelBtn0 0x01 0xFF AoiLevelBtn1 0x2E / 0x00 AoiLevelBtn2 0x45 / 0x3D AoiLevelBtn3 0x5D / 0x7B AoiLevelBtn4 0x74 / 0xB8 AoiLevelBtn5 0x8B / 0x3D 0xA3 / 0x7B 0x35 AoiLevelBtn7 0xBA / 0xB8 0xA0 / 0x7D 0x36 AoiLevelIdle 0xFF 0xA0 / 0x7D 0x37 BuzzerCfg 0xA4 CapThresh5 0xA0 / 0x7D 0x38 BuzzerFreqPhase1 0x40 CapThresh6 0xA0 / 0x7D 0x39 BuzzerFreqPhase2 0x20 0x1A CapThresh7 0xA0 / 0x7D 0x3A Reserved 0x00 0x1B CapPerComp 0x00 0x3B MapAutoLight0 0x07 0x1D 0x1E 0x1F Proximity 0x1C ProxIncDecTime 0x14 / 0x11 0x3C ProxCfg 0xB0 / 0x10 0x3D ProxDebounce 0x00 0x3E ProxHysteresis 0x0A 0x3F Mapping 0x14 Buzzer AoiLevelBtn6 MapAutoLight1 0x65 MapAutoLight2 0x43 MapAutoLight3 0x21 / 0x20 MapAutoLightGrp0Msb 0x00 Table 11 SPM address map: 0x00…0x3F Note • ‘0xxx’: write protected data Revision v4.0, February 2016 © 2012 Semtech Corp. 42 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 QSM / NVM1 Address DATASHEET Name QSM / NVM1 0x40 0x41 0x42 Mappin g values values MapAutoLightGrp0Lsb 0x00 0x60 GpioDecTime7_6 0x44 MapAutoLightGrp1Msb 0x00 0x61 GpioDecTime5_4 0x44 MapAutoLightGrp1Lsb 0x00 0x62 GpioDecTime3_2 0x44 0xC0 / 0xF0 0x63 GpioDecTime1_0 0x44 / 0x40 GpioMode3_0 0x00 0x64 GpioOffDelay7_6 0x00 0x45 GpioIntensityOn0 0xFF 0x65 GpioOffDelay5_4 0x00 0x46 GpioIntensityOn1 0xFF 0x66 GpioOffDelay3_2 0x00 0x47 GpioIntensityOn2 0xFF 0x67 GpioOffDelay1_0 0x00 0x48 GpioIntensityOn3 0xFF 0x68 GpioPullUpDown7_4 0x00 0x49 GpioIntensityOn4 0xFF 0x69 GpioPullUpDown3_0 0x00 0x4A GpioIntensityOn5 0xFF 0x6A Reserved 0x00 0x4B GpioIntensityOn6 0xFF 0x6B Reserved 0x00 0x4C GpioIntensityOn7 0xFF 0x6C Reserved 0x00 0x4D GpioIntensityOff0 0x00 0x6D GpioFadingMode7_4 0x00 0x4E GpioIntensityOff1 0x00 0x6E GpioFadingMode3_0 0x00 0x4F GpioIntensityOff2 0x00 0x6F Reserved 0x50 0x50 GpioIntensityOff3 0x00 0x70 CapProxEnable 0x74 GpioIntensityOff4 0x00 0x71 Reserved 0x10 0x52 GpioIntensityOff5 0x00 0x72 Reserved 0x45 0x53 GpioIntensityOff6 0x00 0x73 Reserved 0x03 0x54 GpioIntensityOff7 0x00 0x74 Reserved 0xFF 0x55 Reserved 0xFF 0x75 Reserved 0xFF 0x56 GpioOutPwrUp 0x00 0x76 Reserved 0xFF 0x57 GpioAutoLight 0xFF 0x77 Reserved 0xD5 0x58 GpoPolarity 0x80 / 0xC0 0x78 Reserved 0x55 0x51 Gpio GpioMode7_4 0x44 Gpio 0x43 0x59 GpioFunction 0x80 0x79 Reserved 0x55 0x5A GpioIncFactor 0x00 0x7A Reserved 0x7F 0x5B GpioDecFactor 0x00 0x7B Reserved 0x23 0x5C GpioIncTime7_6 0x11 0x7C Reserved 0x22 0x5D GpioIncTime5_4 0x11 0x7D Reserved 0x41 0x5E GpioIncTime3_2 0x11 0x7E Reserved 0x5F GpioIncTime1_0 0x11 / 0x10 0x7F SpmCrc 1 0xFF 0x3F / 0x56 Table 12 SPM address map: 0x40…0x7F 1 Note • SpmCrc: CRC depending on SPM content, updated in Active or Doze mode. Revision v4.0, February 2016 © 2012 Semtech Corp. 43 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING 5.2 DATASHEET General Parameters General Parameters Address Name Bits Description 0x04 I2CAddress 7 Reserved (0x00). 6:0 Defines the I2C address. The I2C address will be active after a reset. 0x05 ActiveScanPeriod 7:0 Defines Active Mode Scan Period (Figure 6). 0x00: Reserved 0x01: 15ms 0x02: 30ms … 0xFF: 255 x 15ms 0x06 DozeScanPeriod 7:0 Defines Doze Mode Scan Period (Figure 6). 0x00: Reserved 0x01: 15ms … 0x0D: 195ms … 0xFF: 255 x 15ms 0x07 PassiveTimer 7:0 Defines Passive Timer on Button Information (Figure 7). 0x00: OFF 0x01: 1 second … 0xFF: 255 seconds 0x08 Reserved 7:0 Reserved (0x00) Table 13 General Parameters Revision v4.0, February 2016 © 2012 Semtech Corp. 44 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING 5.3 DATASHEET Capacitive Sensors Parameters Capacitive Sensors Parameters Address Name Bits Description 0x09 CapModeMisc 7:3 Reserved (0x00) 2:0 IndividualSensitivity Defines common sensitivity for all sensors or individual sensor sensitivity. 000: Common sensitivity settings (CapSensitivity0_1[7:4]) 100: Individual sensitivity settings (CapSensitivityx_x) Else : Reserved 0x0A Reserved 7:0 Reserved (0x00) 0x0B CapMode7_4 7:6 CAP7 Mode 5:4 CAP6 Mode 3:2 CAP5 Mode 1:0 CAP4 Mode 0x0C CapMode3_0 Defines the mode of the CAP pin. 00: Disabled 01: Button 10: Reserved 11: Proximity (CAP0), Reserved (CAP6,..CAP1) 7:6 CAP3 Mode 5:4 CAP2 Mode 3:2 CAP1 Mode 1:0 CAP0 Mode 0x0D CapSensitivity0_1 0x0E CapSensitivity2_3 0x0F CapSensitivity4_5 7:4 CAP0 Sensitivity - Common Sensitivity Defines the sensitivity. 0x0: Minimum 3:0 CAP1 Sensitivity 0x1: 1 … 7:4 CAP2 Sensitivity 0x7: Maximum 3:0 CAP3 Sensitivity 0x8..0xF: Reserved 7:4 CAP4 Sensitivity 3:0 CAP5 Sensitivity 0x10 CapSensitivity6_7 7:4 CAP6 Sensitivity 3:0 CAP7 Sensitivity 0x11 Reserved 7:0 Reserved (0x00) 0x12 Reserved 7:0 Reserved (0x00) 0x13 CapThresh0 7:0 CAP0 Touch Threshold 0x14 CapThresh1 7:0 CAP1 Touch Threshold 0x15 CapThresh2 7:0 CAP2 Touch Threshold 0x16 CapThresh3 7:0 CAP3 Touch Threshold 0x17 CapThresh4 7:0 CAP4 Touch Threshold 0x18 CapThresh5 7:0 CAP5 Touch Threshold 0x19 CapThresh6 7:0 CAP6 Touch Threshold 0x1A CapThresh7 7:0 CAP7 Touch Threshold 0x1B CapPerComp 7:4 Reserved (0x00) 3:0 Periodic Offset Compensation Revision v4.0, February 2016 © 2012 Semtech Corp. 45 Defines the Touch Threshold ticks. 0x00: 0, 0x01: 4, … 0xA0: 640 … 0xFF: 1020 Defines the periodic offset compensation. 0x0: OFF 0x1: 1 second 0x2: 2 seconds … www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING DATASHEET Capacitive Sensors Parameters Address Name Bits Description 0x7: 7 seconds 0x8: 16 seconds 0x9: 18 seconds … 0xE: 28 seconds 0xF: 60 seconds 0x70 CapProxEnable 7:0 Enables proximity sensing. 0x46: OFF 0x74: ON Table 14 Capacitive Sensors Parameters CapModeMisc: By default the ASI is using an individual sensitivity for each CAP pin (with proximity sensor set to maximum sensitivity while touch sensors are set to a lower one). The individual sensitivity mode results in longer sensing periods than required in common sensitivity mode. The ASI can use common sensitivity for all capacitive sensors in the case overlay material and sensors sizes are about equal. The register bits CapSensitivity0_1[7:4] determine the sensitivity for all sensors in common sensitivity mode. CapMode7_4, CapMode3_0: The CAP7 to CAP0 pins can be set as a button or disabled depending on the application. CAP0 can be used for proximity sensing (additionally set register CapProxEnable). Buttons minimum maximum zero seven Table 15 Number of buttons (with CAP0 = proximity) Buttons minimum maximum one eight Table 16 Number of buttons (with CAP0 = button or disabled) Buttons and disabled CAP pins can be attributed freely (examples in Figure 50). Revision v4.0, February 2016 © 2012 Semtech Corp. 46 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING DATASHEET SX8661Z SX8661Z cap0 (proximity) cap0 (proximity) cap1 (button1) cap1 (button1) cap2 (button2) cap2 (disabled) cap3 (button3) cap3 (button3) cap4 (disabled) cap4 (disabled) cap5 (disabled) cap5 (disabled) cap6 (button6) cap6 (disabled) Figure 50 Button examples CapSensitivity0_1, CapSensitivity2_3, CapSensitivity4_5, CapSensitivity6_7, CapProxEnable: The sensitivity of the sensors can be set between 8 values. The higher the sensitivity is set the larger the value of the ticks will be. The minimum sensitivity can be used for thin overlay materials and large sensors, while the maximum sensitivity is required for thicker overlay and smaller sensors or proximity sensing. The required sensitivity needs to be determined during a product development phase. Too low sensitivity settings result in missing touches. Too high sensitivity settings will result in fault detection of fingers hovering above the touch sensors. The sensitivity is identical for all sensors in common sensitivity mode using the bits CapSensitivity0_1[7:4] and can be set individually using register CapModeMisc[2:0]. The maximum number of ticks that can be obtained depends on the selected sensitivity and if proximity sensing is enabled. This is illustrated in Table 17. Sensitivity Approximate Maximum Tick Level (CapProxEnable = OFF) Approximate Maximum Tick Level (CapProxEnable = ON) 0 1000 4000 1 2000 8000 2 3000 12000 3 4000 16000 4 5000 20000 5 6000 24000 6 7000 28000 7 8000 32000 Table 17 ASI Maximum Tick Levels Revision v4.0, February 2016 © 2012 Semtech Corp. 47 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING DATASHEET CapThresh0, CapThresh1, CapThresh2, CapThresh3, CapThresh4, CapThresh5, CapThresh6, CapThresh7: For each CAP pin a threshold level can be set individually. The threshold levels are used by the SX8661Z for making touch and release decisions. The details are explained in the sections for buttons. CapPerComp: The SX8661Z offers a periodic offset compensation for applications which are subject to substantial environmental changes. The periodic offset compensation is done at a defined interval and only if buttons are released. CapProxEnable: The SX8661Z is intended to be used with proximity. This register is set by default to ON (0x74). In case proximity is not required then this register should be set to OFF (0x46) and CAP0 Mode should be set to button or disabled. Revision v4.0, February 2016 © 2012 Semtech Corp. 48 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING 5.4 DATASHEET Proximity Parameters Proximity Parameters Address Name Bits Description 0x1C ProxIncDecTime 7:4 Defines the time between each increment. 0x0: instantaneous 0x1: 0.5ms 0x2: 1ms … 0xF: 7.5ms 3:0 Defines the time between each decrement. 0x0: instantaneous 0x1: 0.5ms 0x2: 1ms … 0x4: 2ms … 0xF: 7.5ms 7:4 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 3:2 Reserved (0x00) 1 Defines the fading increment factor. 0: intensity index incremented every increment time 1: intensity index incremented every 16 increment times 0 Defines the fading decrement factor. 0: intensity index decremented every decrement time 1: intensity index decremented every 16 decrement times 7:4 Reserved (0x00) 3:2 Defines the number of samples at the scan period for determining proximity release. 00 : no debounce, use incoming sample 01 : 2 samples debounce 10 : 3 samples debounce 11 : 4 samples debounce 1:0 Defines the number of samples at the scan period for determining proximity detection. 00 : no debounce, use incoming sample 01 : 2 samples debounce 10 : 3 samples debounce 11 : 4 samples debounce 7:0 Defines the proximity hysteresis corresponding to a percentage of the CAP0 threshold (defined in Table 14). 0x00: 0% 0x01: 1% … 0x0A: 10% … 0x64: 100% 0x1D 0x1E 0x1F ProxCfg ProxDebounce ProxHysteresis Revision v4.0, February 2016 © 2012 Semtech Corp. 49 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING DATASHEET Proximity Parameters Address Name Bits Description 0x20 ProxReporting 7:0 Defines triple or dual mode reporting of proximity on the GPIOs. 0x00: dual mode 0x7F: triple mode 0x21 ProxIntensity 7:0 Defines the proximity ON intensity index. 0x00: 0 0x01: 1 … 0x64: 100 … 0xFF: 255 Table 18 Proximity Parameters ProxDebounce Defines the number of samples for determining proximity detection or out of proximity detection. This parameter allows to set the debouncer of the proximity differently from the buttons debouncer. ProxHysteresis Proximity is detected if the ticks are getting larger as the value defined by: CapThreshold0 + CapThreshold0 * hysteresis. Out of proximity is detected if the ticks are getting smaller as the value defined by: CapThreshold0 – CapThreshold0 * hysteresis. ProxReporting Defines the reporting mode of proximity (either dual or triple) on the GPIOs. ProxIntensity Defines the proximity intensity index (applicable in triple reporting mode). Revision v4.0, February 2016 © 2012 Semtech Corp. 50 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING 5.5 DATASHEET Button Parameters Button Parameters Address Name Bits Description 0x22 BtnCfg 7:6 Defines the buttons and proximity events reporting method on I2C, AOI, GPO, Buzzer (see Table 20 for details). 00: All 01: Single 10: Strongest 11: Reserved 5:4 Defines the buttons interrupt (for all buttons and proximity). 00 : Interrupts masked 01 : Triggered on Touch 10 : Triggered on Release 11 : Triggered on Touch and Release 3 Defines the number of samples at the scan period for determining a release of a button. 00 : no debounce, use incoming sample 01 : 2 samples debounce 10 : 3 samples debounce 11 : 4 samples debounce 2:0 Defines the number of samples at the scan period for determining a touch of a button. 00 : no debounce, use incoming sample 01 : 2 samples debounce 10 : 3 samples debounce 11 : 4 samples debounce 0x23 BtnAvgThresh 7:0 Defines the positive threshold for disabling the processing filter averaging (one value for all buttons and proximity). If ticks are above the threshold, then the averaging is suspended. 0x00: 0 0x01: 4 … 0x50: 320 … 0xFF: 1020 0x24 BtnCompNegThresh 7:0 Defines the negative offset compensation threshold (one value for all buttons and proximity). 0x00: 0 0x01: 4 … 0xA0: 640 … 0xFF: 1020 0x25 BtnCompNegCntMax 7:0 Defines the number of ticks (below the negative offset compensation threshold) which will initiate an offset compensation (one value for all buttons and proximity). 0x00: reserved 0x01: 1 sample … 0xFF: 255 samples 0x26 BtnHysteresis 7:0 Defines the button hysteresis corresponding to a percentage of the CAP thresholds (defined in Table 14). All buttons use the same hysteresis. 0x00: 0% 0x01: 1% … 0x0A: 10% … Revision v4.0, February 2016 © 2012 Semtech Corp. 51 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING DATASHEET Button Parameters Address Name Bits Description 0x64: 100% 0x27 BtnStuckAtTimeout 7:0 Defines the stuck at timeout for buttons and proximity. 0x00: OFF 0x01: 1 second … 0xFF: 255 seconds 0x28 BtnStrongestHysteresis 7:0 Defines the hysteresis value for the strongest button filtering engine. This parameter is only valid when BtnCfg has been configured to “report the strongest touch”. The proximity sensor is excluded. The hysteresis element eliminates the jittery output due to environmental noise when two CAP sensors (configured as buttons) have values very close to each other. The BtnStrongestHysteresis defines how much bigger the signal of the second sensor needs to be compared to the strongest detected sensor, before the second sensor becomes the strongest detected touch. 0x00: 0 0x01: 1 … 0x80: 128 … 0xFF: 255 0x29 BtnLongPressTimer 7:0 Defines the long press button timeout on AOI pins (applicable in Single Reporting Mode). The proximity sensor does not trigger the timer. 0x00: OFF 0x01: 1 second … 0xFF: 255 seconds Table 19 Button Parameters The buttons and the proximity sensor operate in a similar way although some parameters can be set uniquely for buttons or the proximity sensor only (according the previous tables describing the button and proximity parameters). A reliable button operation requires a coherent setting of the registers. Figure 51 shows an example of a touch and a release. The ticks will vary slightly around the zero idle state. When the touch occurs the ticks will rise sharply. At the release of the button the ticks will go down rapidly and converge to the idle zero value. Revision v4.0, February 2016 © 2012 Semtech Corp. 52 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING DATASHEET ticks_diff Touch (touch debounce = 1) BtnHysteresis BtnHysteresis Release (release debounce = 0) CapThreshold 0 time = scan events @ scan period = no-touch = touch Figure 51 Touch and Release Example As soon as the ticks become larger than the CAP thresholds (see registers of the previous section) plus the hysteresis (defined in register BtnHysteresis ) the debounce counter starts. In the example of Figure 51 the touch is validated after 2 ticks (BtnCfg [2:0] = 1). The release is detected immediately (BtnCfg [3] = 0) at the first tick which is below the threshold minus the hysteresis. BtnCfg The SX8661Z button and proximity interface has three modes of operation: • Report All: reports all touches of multiple fingers and proximity detection. • Report Single: reports only a single touch and/or proximity. Subsequent touches are ignored until the first touch is released. On the AOI proximity is implicit in case of a button touch. • Report Strongest: reports the strongest touch. When the signal from another sensor rises above the first sensor’s signal, the second sensor is then reported instead. On the AOI proximity is implicit in case of a button touch. Table 20 resumes the relation of reporting modes and information on the interfaces. Reporting Mode I2C AOI GPIOs (LEDs) Buzzer All Buttons and Proximity Forced to Idle Buttons and Proximity Button Single Proximity or 1 Button and Proximity Idle or 1 Button or Proximity Buttons and Proximity Button Strongest Proximity or 1 Button and Proximity Idle or 1 Button or Proximity Buttons and Proximity Button Table 20 Reporting modes The user can select to have the interrupt signal (INTB) on touching a button (proximity detected), releasing a button (out of proximity) or both. In noisy environments it may be required to debounce the touch and release detection decision. Revision v4.0, February 2016 © 2012 Semtech Corp. 53 www.semtech.com SX8661Z Low Power, Capacitive Button Touch and Proximity Controller (8 sensors) with LED Drivers and Analog Output ADVANCED COMMUNICATIONS & SENSING DATASHEET In case the debounce is enabled the SX8661Z will count up to the number of debounce samples BtnCfg [1:0], BtnCfg [3:2] before taking a touch or release decision. The sample period is identical to the scan period. BtnAvgPosThresh Small environmental and system noise cause the ticks to vary slowly around the zero idle mode value. In case the ticks get slightly positive this is considered as normal operation. Very large positive tick values indicate a valid touch. The averaging filter is disabled as soon as the average reaches the value defined by BtnAvgPosThresh. This mechanism avoids that a valid touch will be averaged and finally the tick difference becomes zero. In case three or more sensors reach the BtnAvgPosThresh value simultaneously then the SX8661Z will start an offset compensation procedure. ticks_diff Small environmental and system noise cause the ticks to vary slowly around the zero idle mode value. In case the ticks get slightly negative this is considered as normal operation. However large negative values will trigger an offset compensation phase and a new set of DCVs will be obtained. The decision to trigger a compensation phase based on negative ticks is determined by the value in the register BtnCompNegThresh and by the number of ticks below the negative thresholds defined in register BtnCompNegCntMax. An example is shown in Figure 52. time 0 CompNegThreshold offset compensation CompNegCnt = 1, 2,... CompNegCnt > 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