SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS GENERAL DESCRIPTION The SX9512/12B and SX9513/13B are 8–button capacitive touch sensor controllers that include 8channels of LED drivers, a buzzer and analog outputs designed ideally for TV applications. The SX9512/12B offers proximity sensing. The SX9512/12B and SX9513/13B operate autonomously using a set of programmable button sensitivities & thresholds, plus LED intensities & breathing functions with no external I2C communication required. All devices feature three individual LED driver engines for advanced LED lighting control. On the SX9512/12B, a proximity detection illuminates all LEDs to a pre-programmed intensity. Touching a button will enable the corresponding LED to a preprogrammed mode such as intensity, blinking or breathing. Whenever the capacitive value changes from either a proximity detection or finger touch/release, the controller informs the host processor through the analog output(s) or an open drain interrupt and an I2C register read. The SX9512/12B and SX9513/13B do not require additional external dynamic programming support or setting of parameters and will adapt to humidity and temperature changes to guarantee correct touch/no touch information. The B versions have a different pre-programmed I2C address. DATASHEET KEY PRODUCT FEATURES Separate Core and I/O Supplies o 2.7V – 5.5V Core Supply Voltage o 1.65V – 5.5V I/O Supply Voltage Support Metal Overlay UI Design (SX9512/12B) 8 - Button Capacitance Controller o Capacitance Offset Compensation to 40pF o Adaptive Measurements For Reliable Proximity And Button Detection Proximity Sensing (SX9512/12B) o High Sensitivity o LEDs Activated During Proximity Sense 8-channel LED Controller & Driver o Blink And Breathing Control o High Current, 15 mA LED Outputs 2-Channel Analog Output, 6-bit DAC Programmable Control Programmable Buzzer 2 Simple (400kHz) I C Serial Interface o Interrupt Driven Communication via NIRQ Output Power-On Reset, NRST Pin and Soft Reset Low Power o Sleep, Proximity Sensing: 330uA o Operating: 600uA -40°C to +85°C Operation 4.0 mm x 4.0 mm, 20-lead QFN package The SX9512/12B and SX9513/13B are offered in 4.4 mm x 7.8 mm, 24-lead TSSOP package 20-ld QFN and 24-ld TSSOP packages and operate over an ambient temperature range of -40°C to Pb & Halogen free, RoHS/WEEE compliant +85°C. APPLICATIONS LCD TVs, Monitors White Goods Consumer Products, Instrumentation, Automotive Mechanical Button Replacement TYPICAL APPLICATION CIRCUIT VDD CAPACITIVE TOUCH BUTTONS LED [7:0] SVDD SX9512/12B/13/13B BL0 PWRON BL1 CONTROL NRST BL2 GPO/LED ENGINE BL3 BL4 BL5 TOUCH BUTTON & LED DRIVER INTERFACE SPO2 AOUT2/ NIRQ/ BUZZER/ PWRSTATE SPO1 POR AOUT1 ANALOG OUTPUT SVDD OSC SDA BL6 I2C NVM BL7 LS GND SCL ORDERING INFORMATION Part Number Package 1 SX9513EWLTRT QFN-20 SX9513ETSTRT2 TSSOP-24 SX9512EWLTRT1 QFN-20 SX9512ETSTRT2 TSSOP-24 1 SX9513BEWLTRT QFN-20 2 SX9513BETSTRT TSSOP-24 SX9512BEWLTRT1 QFN-20 2 SX9512BETSTRT TSSOP-24 SX9510EVK Evaluation Kit 1 2 Revision v1.13, February 2013 Marking ZF3A AC70R ZH57 AC71S ZB13 AB13G Z8CA AB12F - 3000 Units/Reel 2500 Units/Reel © 2013 Semtech Corp. 1 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS DATASHEET Table of Contents GENERAL DESCRIPTION ........................................................................................................................ 1 TYPICAL APPLICATION CIRCUIT ............................................................................................................ 1 KEY PRODUCT FEATURES..................................................................................................................... 1 APPLICATIONS....................................................................................................................................... 1 ORDERING INFORMATION...................................................................................................................... 1 1 GENERAL DESCRIPTION ............................................................................................................... 4 1.1 1.2 1.3 1.4 1.5 1.6 Pin Diagram Marking information SX9513/13B Marking information SX9512/12B Pin Description Simplified Block Diagram Acronyms 4 4 5 7 8 8 ELECTRICAL CHARACTERISTICS ................................................................................................. 9 2 2.1 2.2 2.3 2.4 3 Absolute Maximum Ratings Recommended Operating Conditions Thermal Characteristics Electrical Specifications 9 9 9 10 FUNCTIONAL DESCRIPTION ........................................................................................................ 12 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 4 Introduction Scan Period Operation modes Sensors on the PCB Button Information Buzzer Analog Output Interface Analog Sensing Interface Configuration Clock Circuitry I2C interface Interrupt Reset LEDS on BL 12 13 14 14 15 16 16 18 21 21 21 21 23 25 DETAILED CONFIGURATION DESCRIPTIONS .............................................................................. 29 4.1 4.2 4.3 4.4 4.5 4.6 Introduction General Control and Status LED Control CapSense Control SPO Control Buzzer Control Revision v1.13, February 2013 29 31 34 38 43 44 © 2013 Semtech Corp. 2 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS 4.7 5 Real Time Sensor Data Readback DATASHEET 45 I2C INTERFACE ........................................................................................................................... 47 5.1 5.2 6 I2C Write I2C read 47 48 PACKAGING INFORMATION ........................................................................................................ 49 6.1 6.2 Package Outline Drawing Land Pattern Revision v1.13, February 2013 49 51 © 2013 Semtech Corp. 3 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS GND SCL VDD SDA VDD SVDD BL1 LS Pin Diagram BL7 1.1 GENERAL DESCRIPTION BL0 1 DATASHEET GND 1 24 VDD LS 2 23 VDD BL7 3 22 GND BL6 4 21 SPO2 BL5 5 20 SPO1 BL4 6 19 NC BL3 7 18 PWRON BL2 8 17 NRST BL1 9 16 NC BL0 10 15 SCL NC 11 14 SDA NC 12 13 SVDD Top View Figure 1 Pinout Diagram (QFN, TSSOP) 1.2 Marking information SX9513/13B ZF3A yyww xxxxx AC70R yyww xxxxxxxx yyww = Date Code xxxxx = Semtech lot number yyww xxxxxxxx = Date Code = Semtech lot Figure 2 Marking Information SX9513 (QFN, TSSOP) Revision v1.13, February 2013 © 2013 Semtech Corp. 4 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS DATASHEET ZB13 yyww xxxxx yyww = Date Code xxxxx = Semtech lot number Figure 3 Marking Information SX9513B (QFN, TSSOP) 1.3 Marking information SX9512/12B ZH57 yyww xxxxx AC71S yyww xxxxxxxx yyww = Date Code xxxxx = Semtech lot number yyww xxxxxxxx = Date Code = Semtech lot Figure 4 Marking Information SX9512 (QFN, TSSOP) Revision v1.13, February 2013 © 2013 Semtech Corp. 5 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS DATASHEET Z8CA yyww xxxxx yyww = Date Code xxxxx = Semtech lot number Figure 5 Marking Information SX9512B (QFN, TSSOP) Revision v1.13, February 2013 © 2013 Semtech Corp. 6 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS 1.4 DATASHEET Pin Description Pin Pin QFN TSSOP 1 Name Type Description 4 BL6 Analog Button Sensor and Led Driver 6 2 5 BL5 Analog Button Sensor and Led Driver 5 3 6 BL4 Analog Button Sensor and Led Driver 4 4 7 BL3 Analog Button Sensor and Led Driver 3 5 8 BL2 Analog Button Sensor and Led Driver 2 6 9 BL1 Analog Button Sensor and Led Driver 1 7 10 BL0 Analog Button Sensor and Led Driver 0 8 13 SVDD Power IO Power Supply, SVDD must be ≤ VDD 9 14 SDA 10 15 SCL Digital Input I2C Clock, requires pull up resistor to SVDD(in host or external) 11 17 NRST Digital Input Active Low Reset. Connect to SVDD if not used. 12 18 PWRON Digital Output 14 20 SPO1 Analog Special Purpose Output 1: - AOUT1: Analog Voltage indicating touched buttons (filtered digital) Special Purpose Output 2: - AOUT2: Analog Voltage indicating touched buttons (filtered digital) - BUZZER: Driver (digital push-pull output) - NIRQ: Interrupt Output, active low (digital open drain output) - PWRSTATE: Signal indicating system power state (digital input) Digital Input/Output I2C Data, requires pull up resistor to SVDD (in host or external) Power On Signal (positive edge triggered, push pull) 15 21 SPO2 Analog/Digital 16 22 GND Ground Ground 17 23 VDD Power Power Supply 18 24 VDD Power Power Supply 19 2 LS Analog Led Sink/Shield 20 3 BL7 Analog Button Sensor and Led Driver 7 bottom plate 1 GND Ground Connect to ground 13 11, 12, 16, 19 NC No Connect Leave Floating Table 1 Pin description Revision v1.13, February 2013 © 2013 Semtech Corp. 7 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS 1.5 DATASHEET Simplified Block Diagram SVDD VDD CAPACITIVE TOUCH BUTTONS LED [7:0] SX9512/12B/13/13B BL0 PWRON BL1 CONTROL NRST BL2 GPO/LED ENGINE BL3 BL4 BL5 TOUCH BUTTON & LED DRIVER INTERFACE SPO2 AOUT2/ NIRQ/ BUZZER/ PWRSTATE SPO1 AOUT1 POR ANALOG OUTPUT SVDD OSC SDA BL6 I2C SCL NVM BL7 LS GND Figure 6 Simplified Block diagram 1.6 AOI ASI NVM PWM SPO Acronyms Analog Output Interface Analog Sensor Interface Non Volatile Memory Pulse Width Modulation Special Purpose Output Revision v1.13, February 2013 © 2013 Semtech Corp. 8 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS 2 DATASHEET 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, SVDD -0.5 6.0 V Input voltage (non-supply pins) VIN -0.5 VDD + 0.3 V Input current (non-supply pins) IIN -10 10 mA Operating Junction Temperature TJCT -40 150 °C Reflow temperature TRE 260 °C 150 °C Storage temperature ESD HBM (Human Body model) (i) Latchup(ii) TSTOR -50 ESDHBM 3 kV ILU ± 100 mA 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 5.5 V Supply Voltage (SVDD must be ≤ VDD) SVDD 1.65 5.5 V Ambient Temperature Range TA -40 85 °C Table 3 Recommended Operating Conditions 2.3 Thermal Characteristics Parameter Symbol Conditions Min. Typ. Max. Unit Thermal Resistance- QFN package - Junction to Ambient θJA,QFN Note (vi) 25 °C/W Thermal Resistance –TSSOP package - Junction to Ambient θJA,SSOP Note (vi) 78 °C/W Table 4 Thermal Characteristics (vi) ThetaJA is calculated from a package in still air, mounted to 3" x 4.5", 4 layer FR4 PCB with thermal vias under exposed pad (if applicable) per JESD51 standards. Revision v1.13, February 2013 © 2013 Semtech Corp. 9 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS 2.4 DATASHEET Electrical Specifications All values are valid within the operating conditions unless otherwise specified. Parameter Symbol Conditions Sleep Isleep Operating Ioperating Min. Typ. Max. Unit All buttons are scanned at a 200ms rate. (40ms scan with skip 4 frames) 330 350 uA All buttons are scanned at a 40 ms rate, excluding LED forward current. 600 650 uA 0.7*SVDD SVDD + 0.3 V GND - 0.3 0.3*SVDD V ±1 uA Current consumption Input Levels NRST, SCL, SDA, SPO2 (in PWRSTATE mode) Input logic high VIH Input logic low VIL GND applied to GND pins Input leakage current LI CMOS input Output logic high (PWRON, SP01, & SPO2 Only) VOH IOH<3mA Output logic low VOL IOL,<6mA Output PWRON, SPO1, SPO2, SDA SVDD-0.4 V 0.6 V CapSense Interface Offset Compensation Range Coff Power up time tpor 40 pF 10 ms Reset Power on reset voltage Vpor 1.1 V Reset time after power on tpor 1 ms Reset pulse width on NRST tres 20 ns Recommended External components capacitor between SVDD, GND Cvreg tolerance +/-20% 0.1 uF capacitor between VDD, GND Cvdd tolerance +/-20% 0.1 uF Table 5 Electrical Specifications Revision v1.13, February 2013 © 2013 Semtech Corp. 10 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS Parameter Symbol Conditions DATASHEET Min. Typ. Max. Unit 400 KHz I2C Timing Specifications (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 valid time tVD;DAT (II) 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 1.3 us Input glitch suppression tSP 0.9 Up to 0.3xVDD from GND, down to 0.7xVDD from VDD 50 us ns Table 6 I2C Timing Specification Notes: (i) All timing specifications, Figure 7 and Figure 8, refer to voltage levels (VIL, VIH, VOL) defined in Table 5. (ii) tVD;DAT = Minimum time for SDA data out to be valid following SCL LOW. The interface complies with slave F/S mode as described by NXP: “I2C-bus specification, Rev. 03 - 19 June 2007” Figure 7 I2C Start and Stop timing Figure 8 I2C Data timing Revision v1.13, February 2013 © 2013 Semtech Corp. 11 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS 3 DATASHEET FUNCTIONAL DESCRIPTION 3.1 3.1.1 Introduction General The SX9512/12B/13/13B is intended to be used in applications which require capacitive sensors covered by isolating overlay material and which may need to detect the proximity of a finger/hand though the air. The SX9512/12B/13/13B measures the change of charge and converts that into digital values. The larger the charge on the sensors, the larger the number of digital value will be. The charge to digital value conversion is done by the SX9512/12B/13/13B Analog Sensor Interface (ASI). The digital values are further processed by the SX9512/12B/13/13B and converted in a high level, easy to use information for the user’s host. The information between SX9512/12B/13/13B and the user’s host is passed through the I2C interface with an additional interrupt signal indicating that the SX9512/12B/13/13B has new information. For buttons this information is simply touched or released. The SX9512/12B/13/13B can operate without the I2C and interrupt by using the analog output interface (SPO1, SPO2) with a changing voltage level to indicate the button touched. 3.1.2 Feedback Visual feedback to the user is done by the button and LED pins BL[7...0]. The LED drivers will fade-in when a finger touches a button or proximity is detected and 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. Audible feedback can be obtained through the Special Purpose Output (SPO2) pin connected to a buzzer. 3.1.3 Analog Output Interface SPO1 and SPO2 The Analog Output Interface (AOI) is a Digital signal driven from GND to SVDD and controlled by a PWM. When the digital signal on the SPO line is filtered with an RC low pass filter you produce a DC voltage, the level of which depends on the buttons that has been touched. A host controller can then measure the voltage delivered by the SPO output and determine which button is touched at any given time. The AOI feature allows the SX9512/12B/13/13B device to directly replace legacy mechanical button controllers in a quick and effortless manner. The SX9512/12B/13/13B supports up to two Analog Output Interfaces, on SPO1 and SPO2 respectively. The SX9512/12B/13/13B allows buttons to be mapped on either SPO1 or SPO2. The button mapping as well as the mean voltage level that each button produces on an SPO output can be configured by the user through a set of parameters described in later chapters. 3.1.4 Buzzer The SX9512/12B/13/13B can drive a buzzer (on SPO2) to provide audible feedback on button touches. The buzzer provides two phases, each of which can vary from 5ms to 30ms in length and can drive 1KHz, 2KHz, 4KHz or 8KHz tones. 3.1.5 Configuration The control and configuration registers can be read from and written to an infinite number of times. During the development phase the parameters can be determined and fine tuned by the users and updated over the I2C. Once the parameter set has been determined, the settings can be downloaded over the I2C by the host each time the SX9512/12B/13/13B boots up or they can be stored in the Multiple Time Programmable (MTP) Non Volatile Memory (NVM) on the SX9512/12B/13/13B. This allows the flexibility of dynamically setting the parameters at the expense of I2C traffic or autonomous operation without host intervention. Revision v1.13, February 2013 © 2013 Semtech Corp. 12 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS DATASHEET After the parameters are written to the NVM, the registers can still be dynamically overwritten in whole or in part by the host when desired. 3.2 Scan Period PROX BL7 BL4 BL3 BL2 BL1 BL0 The SX9512/12B/13/13B interleaves the sensing of the touch buttons with the driving of the LEDs. To keep the LED intensities constant and flicker free the BL sensing is done in a round robin fashion with an LED drive period between each of the BL sensing periods. Figure 9 CapSense Scan Frame SX9512/12B/13/13B To keep timing consistency the scan frame always cycles through all channels (BL0 to BL7) and Combined Channel proximity even if a channel is disabled or a device does not have the proximity feature. This means that the frame time is always the sum of nine CapSense measurement times and nine LED PWM times. The SX9512/12B/13/13B can reduce it’s average power consumption by inserting fames that skip the CapSense measurements but maintain the LED PWM timing. The Scan period of the SX9512/12B/13/13B is the time between the measurement of a particular channel and its next measurement. This period is the time for one CapSense frame plus the time for any skip frames and is the key factor in determining system touch response timing. Figure 10 shows the different SX9512/12B/13/13B periods over time. Figure 10 Scan Period SX9512/12B/13/13B Revision v1.13, February 2013 © 2013 Semtech Corp. 13 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS 3.3 DATASHEET Operation modes The SX9512/12B/13/13B has 2 operation modes, Active and Sleep. The main difference between the 2 modes 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 40ms. All enabled sensors are scanned and information data is processed within this interval. Sleep mode increases the scan period time which increases the reaction time to 200ms typical and at the same time reduces the operating current. The user can specify other scan periods for the Active and Sleep 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 SX9512/12B/13/13B is not used during a scan frame it will go from Active mode into Sleep mode and power will be saved. (when sleep mode is enabled) To leave Sleep mode and enter Active mode this can be done by a touch on any button or the detection of proximity. The host can decide to force the operating mode by issuing commands over the I2C (using register 0x3A[3]) and take fully control of the SX9512/12B/13/13B. The diagram in Figure 11 shows the available operation modes and the possible transitions. Power On ACTIVE mode I2Ccmd OR proximity OR touch any button passive timeout SLEEP mode Figure 11 Operation modes 3.4 Sensors on the PCB The capacitive sensors are relatively simple copper areas on the PCB connected to the eight SX9512/12B/13/13B capacitive sensor input pins (BL0…BL7). The sensors are covered by isolating overlay material (typically 1mm...3mm). The area of a sensor is typically one square centimeter which corresponds to about the area of a finger touching the overlay material. The area of a proximity sensor is usually significantly larger than the smaller touch sensors. The SX9512/12B and the SX9513/13B capacitive sensors can be setup as ON/OFF buttons for control applications (see example Figure 12). Figure 12 PCB top layer of touch buttons sensors surrounded by the shield, SX9512/12B/13/13B Revision v1.13, February 2013 © 2013 Semtech Corp. 14 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS DATASHEET The SX9512/12B offers 2 options for proximity detection. Depending on the PCB area, the proximity detection distance can be optimized. 1) Individual Sensor Proximity Single sensor proximity is done by replacing the shield area shown in Figure 10 with a connection to BL0 as shown in Figure 24. Figure 13 PCB top layer for proximity and touch buttons, SX9512/12B 2) Combined Channel Proximity In Combined Channel Proximity the SX9512/12B will put some or all of the sensors in parallel and execute one sensing cycle on this combined large sensor. 3.5 Button Information The touch buttons have two simple states (see Figure 14): ON (touched by finger) and OFF (released and no finger press). Figure 14 Buttons A finger is detected as soon as the digital values from the ASI reach a user-defined threshold plus a hysteresis. A release is detected if the digital values from the ASI go below the threshold minus a hysteresis. The hysteresis around the threshold avoids rapid touch and release signaling 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. Figure 15 Proximity Revision v1.13, February 2013 © 2013 Semtech Corp. 15 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS DATASHEET 3.6 Buzzer The SX9512/12B/13/13B has the ability to drive a buzzer (on SPO2) to provide an audible indication that a button has been touched. The buzzer is driven by a square wave signal for approximately 10ms (default). During both the first phase (5ms) and the second phase (5ms) the signal’s frequency is default 1KHz. 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 §4.6). Figure 16 Buzzer behavior 3.7 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 that is different for each button touch. The host controller measures the DC voltage level and determines which buttons has been touched. In the case of single button touches, each button produces its own voltage level as configured by the user. Figure 17 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. Figure 17 AOI behavior The PWM Blocks used in AOI modes are 6-bits based and are typically clocked at 2MHz. Figure 18 shows the PWM definition of the AOI. Revision v1.13, February 2013 © 2013 Semtech Corp. 16 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS DATASHEET Figure 18 PWM definition, (a) small pulse width, (b) large pulse width The AOI always reports one button per output channel. The AOI can be split over SPO1 and SPO2 (AOI-A, AOIB. The user can map any button to either AOI-A or AOI-B or both. In most applications only one AOI pin will be selected. The two AOI pins allow the user to use a more coarse detection circuit at the host. Assuming a 3.3V supply and 8 buttons on one single AOI then the AOI levels could be separated by around 0.3…0.4V. In the case of using the two AOI pins, 4 buttons could be mapped on AOI-A separated by around 0.8V (similar for 4 buttons on AOI-B) which is about double that of the case of a single AOI. In the case of a single touch the button reporting is straight forward (as in Figure 17). If more than one button is touched the reported depends on the selected button reporting mode parameter (see yyy). Three reporting modes exist for the SX9512/12B/13/13B (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 and on the LEDs. 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 SX9512/12B/13/13B report another touch. Figure 19 shows the Single-mode reporting in case of 2 touches occurring over time. Figure 19 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). 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 SX9512/12B/13/13B. Figure 20 shows the Strongest-mode reporting in case of 2 touches (with bt1 the strongest touch). Revision v1.13, February 2013 © 2013 Semtech Corp. 17 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS DATASHEET Figure 20 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. 3.8 Analog Sensing Interface The Analog Sensing Interface (ASI) induces a charge on the sensors and then converts the charge into a digital value which is 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, a high-resolution ADC converter and an offset compensation DAC (see Figure 21). Figure 21 Analog Sensor Interface The SX9512/12B offers the additional Combined Channel Proximity mode where all sensors are sensed in parallel. Revision v1.13, February 2013 © 2013 Semtech Corp. 18 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS DATASHEET Figure 22 Analog Sensor Interface for SX9512/12B, Combined Channel Prox Mode To get the digital value representing the charge on a specific sensor the ASI will execute several steps. A voltage will be induced on the sensor developing a charge relative to the absolute capacitance of the sensor. The charge on a sensor cap (e.g BL0) will then be accumulated multiple times on the internal integration capacitor (Cint). This results in an increasing voltage on Cint proportional to the capacitance on BL0. At this stage the offset compensation DAC is enabled. The compensation DAC generates a voltage proportional to an estimation of the external parasitic capacitance (the capacitance of the system without the calibration). 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 a zero digital value if no finger is present and the digital value becomes high in case a finger is present. The difference of charge on Cint and the DAC output will be transferred to the ADC. After the charge transfer to the ADC the steps above will be repeated. The SX9512/12B/13/13B allows setting the sensitivity for each sensor individually for applications which have a variety of sensors sizes or different overlays or for fine-tuning performances. The optimal sensitivity depends heavily on the final application. If the sensitivity is too low the digital value 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). The digital values from the ASI will then be handled by the digital processing. The ASI will shut down and wait until new sensing period will start. 3.8.1 Processing Revision v1.13, February 2013 © 2013 Semtech Corp. 19 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS ASI DATASHEET processing raw useful diff processing low pass low pass ave compensation DCV Figure 23 Processing The raw data is processed through a programmable low pass filter to create useful data (data with fast environmental noise suppressed). The useful data is processed through a second programmable low pass filter (with a longer time constant) to create average data. The average data tracks along with the slow environmental changes and is subtracted from the useful data to create the diff data. The diff data represents any fast capacitance changes such as a touch or proximity event. 3.8.2 Offset Compensation The parasitic capacitance at the BL pins is defined as the intrinsic capacitance of the integrated circuit, the PCB traces, ground coupling and the sensor planes. This parasitic capacitance is relatively large (tens of pF) and will also vary slowly over time due to environmental changes. A finger touch is in the order of one pF and its effect typically occurs much faster than the environmental changes. The ASI has the difficult task of detecting a small, fast changing capacitance that is riding on a large, slow varying capacitance. This would require a very precise, high resolution ADC and complicated, power consuming, digital processing. The SX9512/12B/13/13B 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 a zero digital value even if the external capacitance is as high as 40pF. At each power-up of the SX9512/12B/13/13B the Compensation Values are estimated by the digital processing algorithms. The algorithm will adjust the compensation values such that a near-zero value will be generated by the ADC. Once the correct compensation values are found these will be stored and used to compensate each BL pin. If the SX9512/12B/13/13B is shut down the compensation values will be lost. At a next power-up the procedure starts all over again. This assures that the SX9512/12B/13/13B will operate under any condition. However if temperature changes this will influence the external capacitance. The ADC digital values 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 digital values become higher than the positive calibration threshold (configurable by user) or lower than the negative threshold (configurable by user) then the SX9512/12B/13/13B will initiate a compensation procedure and find a new set of compensation values. The host can initiate a compensation procedure by using the I2C interface. This is required after the host changes the sensitivity of sensors. Revision v1.13, February 2013 © 2013 Semtech Corp. 20 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS 3.9 DATASHEET Configuration Figure 24 shows the building Blocks used for configuring the SX9512/12B/13/13B. Figure 24 Configuration During development of a touch system the register settings for the SX9512/12B/13/13B are adjusted until the user is satisfied with the system operation. When the adjustments are finalized contents of the registers 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 Sleep scan period. The details of these parameters are described in the next chapters. At power up or reset the SX9512/12B/13/13B copies the settings from the NVM into the registers. 3.10 Clock Circuitry The SX9512/12B/13/13B has its own internal clock generation circuitry that does not require any external components. The clock circuitry is optimized for low power operation. 3.11 I2C interface The host will interface with the SX9512/12B/13/13B through the I2C bus and the analog output interface. The I2C of the SX9512/12B/13/13B consists of 95 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 SX9512/12B/13/13B. The I2C slave implemented on the SX9512/12B/13/13B is compliant with the standard (100kb/s) and fast mode (400kb/s) The default SX9512/12B/13/13B I2C address equals 0b010 1011. 3.12 Interrupt The NIRQ mode of SPO2 has two main functions, the power up sequence and maskable interrupts (detailed below). 3.12.1 Power up During power up the NIRQ is kept low (if SPO2 is configured for NIRQ in the NVM). Once the power up sequence is terminated the NIRQ is cleared autonomously. The SX9512/12B/13/13B is then ready for operation. The AOI levels are updated at the latest one scan period after the rising edge of NIRQ. Revision v1.13, February 2013 © 2013 Semtech Corp. 21 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS DATASHEET Figure 25 Power Up vs. NIRQ During the power on period the SX9512/12B/13/13B stabilizes the internal regulators, RC clocks and the firmware initializes all registers. During the power up the SX9512/12B/13/13B is not accessible and I2C communications are forbidden. The value of NIRQ before power up depends on the NIRQ pull up resistor to the SVDD supply voltage. 3.12.2 NIRQ Assertion When the NIRQ function is enabled for SPO2 then NIRQ is updated in Active or Sleep mode once every scan period. The NIRQ will be asserted at the following events: • if a Button event occurred (touch or release if enabled) • a proximity even occurred (prox or loss of prox (SX9512/12B only)) • once compensation procedure is completed either through automatic trigger or via host request • during reset (power up, hardware NRST, software reset) 3.12.3 Clearing The clearing of the NIRQ is done as soon as the host performs a read to any of the SX9512/12B/13/13B I2C registers. 3.12.4 Example A typical example of the assertion and clearing of the NIRQ and the I2C communication is shown in Figure 26. Figure 26 Interrupt and I2C Revision v1.13, February 2013 © 2013 Semtech Corp. 22 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS DATASHEET When a button is touched the SX9512/12B/13/13B will assert the interrupt (1). The host will read the SX9512/12B/13/13B 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.13 Reset The reset can be performed by 3 sources: - power up, - NRST pin, - software reset. 3.13.1 Power up During power up the NIRQ is kept low (if SPO2 is configured for NIRQ in the NVM). Once the power up sequence is terminated the NIRQ is cleared autonomously. The SX9512/12B/13/13B is then ready for operation. The AOI levels are updated at the latest one scan period after the rising edge of NIRQ. Figure 27 Power Up vs. NIRQ During the power on period the SX9512/12B/13/13B stabilizes the internal regulators, RC clocks and the firmware initializes all registers. During the power up the SX9512/12B/13/13B is not accessible and I2C communications are forbidden. As soon as the NIRQ rises the SX9512/12B/13/13B will be ready for I2C communication. 3.13.2 NRST When NRST is driven low the SX9512/12B/13/13B will reset and start the power up sequence as soon as NRST is driven high or pulled high. In case the user does not require a hardware reset control pin then the NRST pin can be connected to SVDD. Revision v1.13, February 2013 © 2013 Semtech Corp. 23 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS DATASHEET Figure 28 Hardware Reset 3.13.3 Software Reset To perform a software reset the host needs to write 0xDE at the SoftReset register at address 0xFF. Figure 29 Software Reset Revision v1.13, February 2013 © 2013 Semtech Corp. 24 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS DATASHEET 3.14 LEDS on BL The SX9512/12B/13/13B offers eight BL pins that both detect the capacitance change on the touch/prox sensor and drive the associated LED. The polarity of the BL pins is defined as in the figure below. Figure 30 LED between BL and LS pins The PWM Blocks used in BLP and LED modes are 8-bits based and clocked at 2MHz typ. hence offering 256 selectable pulse width values with a granularity of 0.5us typ. Figure 31 PWM definition, (a) small pulse width, (b) large pulse width Revision v1.13, February 2013 © 2013 Semtech Corp. 25 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS DATASHEET LED Fading The SX9512/12B/13/13B supports two different fading modes, namely Single and Continuous. These fading modes can be configured for each GPIO individually. Please see “BL Parameters” for more information on how to configure this feature. i) Single Fading Mode: The LED pin fades in when the associated button is touched and it fades out when it is released. This is shown in Figure 32 OFF OFF ON ON intensity OFF intensity OFF intensity fading-in delay_off fading-out Figure 32 Single Fading Mode ii) Continuous Fading Mode: The LED 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 33. OFF ON ON intensity OFF intensity OFF intensity fading-in fading-out Figure 33 Continuous Fading Mode Revision v1.13, February 2013 © 2013 Semtech Corp. 26 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS DATASHEET 3.14.1 Intensity index vs. PWM pulse width Tables below show the PWM pulse width for a given intensity (n) setting (for both linear and log modes). n 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 0/0 2/0 3/0 4/0 5/0 6/2 7/2 8/2 9/2 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 n 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 33/5 34/5 35/5 36/5 37/5 38/6 39/6 40/6 41/6 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 n 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 65/12 66/13 67/13 68/13 69/14 70/14 71/14 72/15 73/15 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 n 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 97/26 98/27 99/27 100/28 101/29 102/29 103/30 104/30 105/31 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 n 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 129/48 130/49 131/50 132/51 133/52 134/53 135/54 136/55 137/55 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 n 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 161/81 162/82 163/83 164/84 165/86 166/87 167/88 168/89 169/91 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 n 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 Lin/ Log 193/125 194/127 195/129 196/130 197/132 198/133 199/135 200/137 201/139 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 n 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 225/184 226/186 227/188 228/190 229/192 230/194 231/197 232/199 233/201 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 Table 7 Intensity index vs. PWM pulse width (normal 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.14.2 LED 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 v1.13, February 2013 © 2013 Semtech Corp. 27 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS DATASHEET Figure 34 LEDs in triple reporting mode proximity Figure 34 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. Figure 35 LEDs in triple reporting mode proximity and touch Figure 35 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 v1.13, February 2013 © 2013 Semtech Corp. 28 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS 4 4.1 DATASHEET DETAILED CONFIGURATION DESCRIPTIONS Introduction The SX9512/12B/13/13B configuration parameters are taken from the NVM and loaded into the registers at Power-Up or upon reset. The registers are split by functionality into configuration sections: • General section: operating modes, • Capacitive Sensors section: related to lower level capacitive sensing, • LED • Special Purpose Outputs • Buzzer • System (Reserved) The address space is divided up into areas that are (can be) stored in NVM and areas that are dynamic and not stored. Revision v1.13, February 2013 © 2013 Semtech Corp. 29 Cap sensing Special output Address 0x38 0x39 0x3A 0x3B 0x3C 0x3D 0x3E 0x3F 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4A 0x4B 0x4C 0x4D 0x4E 0x4F 0x50 Buzzer Name IrqSrc TouchStatus ProxStatus CompStatus NVMCtrl Reserved Reserved Spo2Mode PwrKey IrqMask Reserved Reserved LEDMap1 LEDMap2 LEDPwmFreq LEDMode LEDIdle LEDOffDelay LED1On LED1Fade LED2On LED2Fade LEDPwrIdle LEDPwrOn LEDPwrOff “NVM” area General Control and Status Address 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 LED control “NVM” area Within the register address space are values designated as ‘Reserved’. These values can be disregarded when reading but bust be set to the specified values when writing. Name CapSenseStuck CapSenseFrameSkip CapSenseMisc ProxCombChanMask Reserved Reserved SPOChanMap SPOLevelBL0 SPOLevelBL1 SPOLevelBL2 SPOLevelBL3 SPOLevelBL4 SPOLevelBL5 SPOLevelBL6 SPOLevelBL7 SPOLevelIdle SPOLevelProx Reserved Reserved BuzzerTrigger BuzzerFreq Reserved Reserved Reserved Reserved www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs LEDPwrFade LEDPwrOnPw LEDPwrMode Reserved Reserved CapSenseEnable CapSensRange0 CapSenseRange1 CapSenseRange2 CapSenseRange3 CapSenseRange4 CapSenseRange5 CapSenseRange6 CapSenseRange7 CapSenseRangeAll CapSenseThresh0 CapSenseThresh1 CapSenseThresh2 CapSenseThresh3 CapSenseThresh4 CapSenseThresh5 CapSenseThresh6 CapSenseThresh7 CapSenseThreshComb CapSenseOp CapSenseMode CapSenseDebounce CapSenseNegCompThresh CapSensePosCompThresh CapSensePosFilt CapSenseNegFilt DATASHEET 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 … 0xFE 0xFF Sensor readback 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 Cap sensing WIRELESS & SENSING PRODUCTS Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved CapSenseChanSelect CapSenseUsefulDataMsb CapSenseUsefulDataLsb CapSenseAverageDataMsb CapSenseAverageDataLsb CapSenseDiffDataMsb CapSenseDiffDataLsb CapSenseCompMsb CapSenseCompLsb Reserved Reserved I2CSoftReset Table 8 Register Map Revision v1.13, February 2013 © 2013 Semtech Corp. 30 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS 4.2 4.2.1 DATASHEET General Control and Status Interrupt Source Address 0x00 Name IrqSrc Acc R/W Bits 7:0 Field Irq Source Function Indicate active Irqs 0 : Irq inactive 1 : Irq active Bit map 7 : Reset 6 : Touch 5 : Release 4 : Near (Prox on) 3 : Far (Prox off) 2 : Compensation done (Write a 1 to this bit to trigger a compensation on all channels) 1 : Conversion done. 0 : Reserved, will read 0 The Irq Source register will indicate that the specified event has occurred since the last read of this register. If the NIRQ function is selected for SPO2 then it will indicate the occurrence of any of these events that are not masked out in register 0x09. The Irq mask in register 0x09 will prevent an Irq from being indicated by the NIRQ pin but it will not prevent the IRQ from being noted in this register. 4.2.2 Touch Status Address 0x01 Name TouchStatus Acc R Bits 7:0 Field Touch Status Function Indicates touch detected on indicated BL channel. Bit 7 = BL7 … Bit 0 = BL0 0 : No touch detected 1 : Touch detected The Touch Status register will indicate when a touch occurs on one of the BL channels. A touch is indicated when a channels DiffData value goes at least the Hyst value above its threshold level for debounce number of consecutive measurement cycles. A touch is lost when a channels DiffData value goes at least Hyst value below it’s threshold for debounce number of measurement cycles. This is a dynamic read only regester that is not stored in NVM. Example: BL2 is set to a threshold of 400 (0x21 = 0x19), a Hyst of 8 (0x37 [7:5] = 3’b001), a touch debounce of 0 (0x33 [3:2] = 2’b00) and a release debounce of 2 (0x33 [1:0] = 2’b01). A touch will be indicated the first measurement cycle that the DiffData goes above 408 and the touch will be lost when the DiffData value goes below 392 on two successive measurement cycles. Revision v1.13, February 2013 © 2013 Semtech Corp. 31 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS 4.2.3 DATASHEET Proximity Status Address 0x02 Name ProxStatus Acc R Bits 7 Field ProxBL0 R 6 ProxMulti R 5 ProxMulti Comp Pending R 4:0 Reserved Function Indicates proximity detected on BL0 0 : No Proximity detected 1 : Proximity detected (if Prox on BL0 enabled (0x31[6])) Indicates proximity detected on combined channels 0 : No Proximity detected 1 : Proximity detected (if Prox on combined channels enabled (0x31[5]) and channels enabled for use (0x3B)) Indicates compensation pending for combined channel Prox sensing 0 : Compensation not pending 1 : Compensation pending (if Prox on combined channels enabled (0x31[5]) and channels enabled for use (0x3B)) Reserved, will read 00000 The ProxBL0 bit will indicate Proximity detected on the BL0 pin, The ProxMulti bit will indicate proximity on the Combined Channels and the ProxMulti Comp Pending bit will indicate that a compensation has been requested for the Combined Channels and is pending. (for SX9512/12B and if enabled), 4.2.4 Compensation Status Address 0x03 Name CompStatus Acc R Bits 7:0 Field Comp Pending Function Indicates compensation pending on indicated BL channel. Bit 7 = BL7 … Bit 0 = BL0 0 : Compensation not pending 1 : Compensation pending The Comp Pending register indicates which pins from BL0 to BL7 have compensations requested and pending. 4.2.5 NVM Control Address 0x04 Name NVMCtrl Acc R/W Bits 7:4 Field NVM Burn R/W 3 NVM Read R 2:0 NVM Area Function Write 0x50 followed by 0xA0 to initiate transfer of reg 0x07 through 0x62 to NVM Trigger NVM read. 0 : Do nothing 1 : Read contents of current active NVM area into registers Indicates current active NVM area 000 : no areas are programmed. 001 : User1 area is programmed and in use. 011 : User2 area is programmed and in use. 111 : User3 area is Programmed and in use. The NVM Area field indicates which of the user NVM areas are currently programmed and active (1, 2 or 3). The NVM Read bit gives the ability to manually request that the contents of the NVM be transferred to the registers and NVM Burn field gives the ability to burn the current registers to the next available NVM area. Normally, the transfer of data from the NVM to the registers is done automatically on power up and upon a reset but occasionally a user might want to force a read manually. Registers 0x07 through 0x62 are stored to NVM and loaded from NVM. After writing 0xA0 (ie NVM burn), wait for at least 500ms and then power off-on the IC for changes to be effective. Caution, there are only three user areas and attempts to burn values beyond user area 3 will be ignored. Revision v1.13, February 2013 © 2013 Semtech Corp. 32 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS 4.2.6 DATASHEET SPO2 Mode Control Address 0x07 Name Spo2Mode Acc R/W R/W Bits 7 6:5 Field Reserved SPO2 Config R/W 4 TV Power State R/W 3:0 Reserved Function Reserved, set to 0 Set function of SPO2 pin 00 : Pin is open drain NIRQ 01 : Pin drives Buzzer (see registers 0x4B and 0x4C) 10 : Pin is Analog Output 2 11 : TV Power State input (see registers 0x07[4] and 0x1B[7]) If SPO2 set to TV Power State input then TV power state indicated by this bit, if SPO2 set to other function then Host writes this bit to indicate current TV Power State. 0 : Off 1 : On Reserved, set to 0000 The SPO2 Config field will specify the functionality of the SPO pin. When selected as NIRQ, the open drain output will go low whenever a non-masked Irq occurs and the NIRQ will go back high after a register 0x00 is read over the I2C. When selected as Buzzer, the SPO2 pin will drive a 2 phase 2 frequency signal onto an external buzzer for each specified event (see Buzzer section). When selected as SPO2, pin operates as an analog output similar to SPO1 (see SPO section). If selected as TV power state, the pin is driven from the system PMIC with a high (SPO2 = SVDD) indicating that the system power is on and a low (SPO2 = GND) when the system power is off. The TV Power State bit reads back the current state of SPO2 if SPO2 is selected for TV power state, otherwise the system should write to this bit to indicate the current system power state. The SX9512/12B/13/13B needs to know the current state in able to correctly process some of the LED modes for the Power Button (see LED modes). 4.2.7 Power Key Control (for generation of PWRON signal) Address 0x08 Name PwrKey Acc R/W Bits 7:0 Field Power Keys Function Set which BL sensors will trigger a PowerOn pulse when touched. Bit 7 = BL7 … Bit 0 = BL0 0 : Do not use channel 1 : Use channel If BL7 is enabled (0x1B[1]), it will be the main power button with respect to power button LED functions (see reg 0x16 through 0x1B) The Power Keys field is a map that indicates which of the BL0 through BL7 channels should trigger a pulse on the PWRON pin when touched. This should not be confused with the BL7 Power Key enable bit as described in register 0x1B. 4.2.8 Interrupt Request Mask Address 0x09 Name IrqMask Acc R/W Revision v1.13, February 2013 Bits 7:0 Field Irq Mask Function Set which Irqs will be trigger an NIRQ (if enabled on SPO2) and report in reg 0x00 0 : Disable Irq 1 : Enable Irq Bit map 7 : Reset 6 : Touch 5 : Release 4 : Near (Prox on) 3 : Far (Prox off) 2 : Compensation done © 2013 Semtech Corp. 33 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS DATASHEET 1 : Reserved, set to 0 0 : Reserved, set to 0 The Irq Mask field determines which Irq events will trigger an NIRQ signal on SPO2 if SPO2 is set to the NIRQ function. 4.2.9 I2C Soft Reset Address 0xFF Name I2CSoftReset Acc W Bits 7:0 Field I2C Soft Reset Function Write 0xDE followed by 0x00 to reset Trigger a device reset and NVM re-load by writing 0xDE followed by 0x00 to this register. 4.3 4.3.1 LED Control LED Map for Engine 1 and 2 Address 0x0C Name LEDMap1 Acc R/W Bits 7:0 Field LED Engine Map 1 0x0D LEDMap2 R/W 7:0 LED Engine Map 2 Function Assign indicated BL channel to LED engine 1 Bit 7 = BL7 … Bit 0 = BL0 0 : Do not assign to LED engine 1 1 : Assign to LED engine 1 Assign indicated BL channel to LED engine 2 Bit 7 = BL7 … Bit 0 = BL0 0 : Do not assign to LED engine 2 1 : Assign to LED engine 2 Write a 1 for each bit (7 through 0) into the LED Engine Map 1 field for each channel (BL7 through BL0) that will be driven by LED Engine 1. Write a 1 for each bit (7 through 0) into the LED Engine Map 2 field for each channel (BL7 through BL0) that will be driven by LED Engine 2. In most cases each BL channel will only be assigned to one of the engines but there are some rare cases where a channel will be assigned to both. 4.3.2 LED PWM Frequency Address 0x0E Name LEDPwmFreq Acc R/W Bits 7:0 Field LED PWM Frequency Function LEDPWMfreq = 2MHz / n The LED PWM frequency is derived from the 2MHz oscillator and is the primary method for controlling the BL7 through BL0 frame scanning rate as well as impacting the maximum brightness achievable on each LED and impacting the smoothness of the LED illumination (flicker prevention). As displayed in Figure 6, the CapSense measurements and LED PWM drive is time multiplexed. The CapSense measurement time is nominally 648us and the LED PWM time is 255 LED clocks long. The LED refresh frequency must be above 50/60Hz to ensure that there is not a noticeable flicker on the LEDs. So we have: LED max brightness = 255/(648us * LEDPwmFreq + 255) LED refresh frequency = 1 / (648us + 255/LEDPwmFreq) Revision v1.13, February 2013 © 2013 Semtech Corp. 34 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS 4.3.3 LED Mode Address 0x0F 4.3.4 Bits 7:4 Field LED Fade Repeat R/W R/W 3 2 Reserved LED Fading R/W 1:0 LED Mode Function Set number of fade in/out repeats when in LED Repeat X low and Repeat X high modes (see reg 0x0F[1:0]) Reserved, set to 0 Set LED fade in and fade out type 0 : linear 1 : log Set LED mode of operation 00 : Single shot 01 : Repeat continuous 10 : Repeat X low 11 : Repeat X high Name LEDIdle Acc R/W Bits 7:0 Field LED Engine 1 & 2 Idle Level Function Set LED engine 1 and LED engine 2 idle intensity level. Name LEDOffDelay Acc R/W Bits 7:4 Field LED Engine 1 Delay Off Time R/W 3:0 LED Engine 2 Delay Off Time Function Set time delay from loss of touch/prox to start of fade out. Delay = n * 256ms Set time delay from loss of touch/prox to start of fade out. Delay = n * 256ms LED Engine 1 On Level Address 0x12 4.3.7 Acc R/W LED Off Delay Address 0x11 4.3.6 Name LEDMode LED Idle Level Address 0x10 4.3.5 DATASHEET Name LED1On Acc R/W Bits 7:0 Field LED Engine 1 on Level Function Set LED engine 1 on intensity level. LED Engine 1 Fade In/Out Timing Address 0x13 Name LED1Fade Acc R/W Bits 7:4 Field LED engine 1 Fade In Time R/W 3:0 LED engine 1 Fade Out Time Revision v1.13, February 2013 Function Set time per intensity step when changing from idle to on, idle to prox or prox to on states. StepTime = (n + 1) * 500us The total time required to change from one level to another will be: ChangeTime = abs(CurrLevel - NewLevel) * StepTime Set time per intensity step when changing from on to idle, on to prox or prox to idle states. StepTime = (n + 1) * 500us The total time required to change from one level to another will be: ChangeTime = abs(CurrLevel - NewLevel) * StepTime © 2013 Semtech Corp. 35 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS 4.3.8 LED Engine 2 On Level Address 0x14 4.3.9 DATASHEET Name LED2On Acc R/W Bits 7:0 Field LED Engine 2 on Level Function Set LED engine 2 on intensity level. LED Engine 2 Fade In/Out Timing Address 0x15 Name LED2Fade Acc R/W Bits 7:4 Field LED engine 2 Fade In Time R/W 3:0 LED engine 2 Fade Out Time Function Set time per intensity step when changing from idle to on, idle to prox or prox to on states. StepTime = (n + 1) * 500us The total time required to change from one level to another will be: ChangeTime = abs(CurrLevel - NewLevel) * StepTime Set time per intensity step when changing from on to idle, on to prox or prox to idle states. StepTime = (n + 1) * 500us The total time required to change from one level to another will be: ChangeTime = abs(CurrLevel - NewLevel) * StepTime 4.3.10 LED Power Button Idle Level Address 0x16 Name LEDPwrIdle Acc R/W Bits 7:0 Field Power Button LED Idle Level Function Set Power button LED engine idle intensity level. Field Power Button LED On Level Function Set Power button LED engine on intensity level. 4.3.11 LED Power Button On Level Address 0x17 Name LEDPwrOn Acc R/W Bits 7:0 4.3.12 LED Power Button Off Level Address 0x18 Name LEDPwrOff Acc R/W Bits 7:0 Field Power Button LED Off Level Function Set Power button LED engine off intensity level. 4.3.13 LED Power Button Fade In/Out Timing Address 0x19 Name LEDPwrFade Acc R/W Revision v1.13, February 2013 Bits 7:0 Field Power Button Fade In/Out Time © 2013 Semtech Corp. 36 Function Set time per intensity step when changing from one level to another. StepTime = (n + 1) * 250us The total time required to change from one level to another will be: ChangeTime = abs(CurrLevel - NewLevel) * StepTime www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS DATASHEET 4.3.14 Power-On Pulse width Address 0x1A Name LEDPwrOnPw Acc R/W Bits 7:0 Field Power On Pulse Width Function Set the duration of both the power on pulse driven on the PWRON pin and the power LED on time in breath idle power mode. PowerOnPw = (n + 1) * 1ms The power on pulse is triggered by either the power button (if power button enabled (0x1B[1])) Acc R/W Bits 7 Field Power LED Off Mode R/W 6 Power LED Max Level R/W 5 Power LED Breath Max R/W 4 Power LED Waveform R/W 3 Reserved Function Enable off sequence based on TV power state (0x07[4]) 0 : Switch from idle to breathing 1 : Switch from idle (0x16) to Power LED max (0x1B[5] and 0x17) for Power On PW time (0x1A) before switching to breathing if TV Power State = 1 (0x07[4]) Set Power LED max level to be used during power up and power down sequences 0 : Max set to Power Button LED On Level 1 : Max set to 255 Set which level to use as high level while breathing 0 : Breathing swings between LED power button off level (0x18) and LED power button idle level (0x16) 1 : Breathing swings between LED power button off level (0x18) and LED power button on level (0x17) Set Power LED waveform type 0 : Breath idle mode, power LED goes from idle to breathing, breathes for Power On Pw time and then goes back to idle 1 : Breath idle mode, power LED goes from breathing to Power LED max for Power On Pw time and then goes to idle Reserved: set to 0 R/W 2 Reserved Reserved: set to 0 R/W 1 Power Button EN R/W 0 LED Touch Polarity Invert Enable BL7 as power button 0 : BL7 is normal button 1 : BL7 is power button Invert the polarity of the LED touch on level 0 : LED on level = programmed on level 1 : LED on level = 255 - programmed on level Effects touch on level only, not idle or prox levels. 4.3.15 LED Power Button Mode Address 0x1B Name LEDPwrMode Revision v1.13, February 2013 © 2013 Semtech Corp. 37 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS 4.4 4.4.1 CapSense Control CapSense Enable Address 0x1E 4.4.2 Name CapSenseEnable Acc R/W Bits 7:0 Field Cap Sense EN Function Set which BL sensors are enabled Bit 7 = BL7 … Bit 0 = BL0 0 : Disabled 1 : Enabled CapSense 0 through 7 (and Combined Channel Mode) Delta Cin range and LS Control Address 0x1F 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 4.4.3 DATASHEET Name CapSensRange0 CapSenseRange1 CapSenseRange2 CapSenseRange3 CapSenseRange4 CapSenseRange5 CapSenseRange6 CapSenseRange7 CapSenseRangeAll Acc R/W Bits 7:6 Field LS Control R/W R/W 5:2 1:0 Reserved Delta Cin Range R/W R/W R/W R/W R/W R/W R/W R/W 7:0 7:0 7:0 7:0 7:0 7:0 7:0 7:0 Function LS usage during measurements for BL0 00 : LS high-Z (off) 01 : dynamically driven with measurement signal (preferred) 10 : LS tied to GND 11 : LS tied to an internal Vref Reserved, set to 0000 For BL0 00 : +/-7pF 01 : +/-3.5pF 10 : +/-2.8pF 11: +/-2.3pF Same as CapSensRange0 but for BL1 Same as CapSensRange0 but for BL2 Same as CapSensRange0 but for BL3 Same as CapSensRange0 but for BL4 Same as CapSensRange0 but for BL5 Same as CapSensRange0 but for BL6 Same as CapSensRange0 but for BL7 Same as CapSensRange0 but for combined channels used as a prox sensor CapSense 0 through 7 (and Combined Channel Mode) Detection Threshold Address 0x28 Name CapSenseThresh0 Acc R/W Bits 7:0 Field Touch Detection Threshold BL0 0x29 CapSenseThresh1 R/W 7:0 0x2A CapSenseThresh2 R/W 7:0 0x2B CapSenseThresh3 R/W 7:0 0x2C CapSenseThresh4 R/W 7:0 0x2D CapSenseThresh5 R/W 7:0 0x2E CapSenseThresh6 R/W 7:0 0x2F CapSenseThresh7 R/W 7:0 0x30 CapSenseThreshComb R/W 7:0 Touch Detection Threshold BL1 Touch Detection Threshold BL2 Touch Detection Threshold BL3 Touch Detection Threshold BL4 Touch Detection Threshold BL5 Touch Detection Threshold BL6 Touch Detection Threshold BL7 Touch Detection Threshold Combined Revision v1.13, February 2013 © 2013 Semtech Corp. 38 Function Set the touch/prox detection threshold for BL0. Threshold = n * 16 Same as CapSenseThresh0 but for BL1 Same as CapSenseThresh0 but for BL2 Same as CapSenseThresh0 but for BL3 Same as CapSenseThresh0 but for BL4 Same as CapSenseThresh0 but for BL5 Same as CapSenseThresh0 but for BL6 Same as CapSenseThresh0 but for BL7 Same as CapSenseThresh0 but for combined channels used as a prox sensor www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS 4.4.4 CapSense Auto Compensation, Proximity on BL0 and Combined Channels Proximity Enable Address 0x31 4.4.5 DATASHEET Name CapSenseOp Acc R/W Bits 7 Field Auto Compensation R/W 6 Proximity BL0 R/W 5 Proximity Combined Channels R/W 4:0 Reserved Function 0 : Enable automatic compensation 1 : Disable automatic compensation 0 : BL0 is normal button 1 : BL0 is proximity sensor 0 : Do not use combined channels for proximity sensing 1 : Use combined channels (0x3B) for proximity sensing Reserved, set to 10100 CapSense Raw Data Filter Coef, Digital Gain, I2C touch reporting and CapSense reporting Address 0x32 Name CapSenseMode Revision v1.13, February 2013 Acc R/W Bits 7:5 Field Raw Filter R/W 4 Touch Reporting (I2C) R/W 3:2 CapSense Digital Gain R/W 1:0 CapSense Report Mode © 2013 Semtech Corp. 39 Function filter coefficient to turn raw data into useful data 000 : off 001 : 1-1/2 010 : 1-1/4 011 : 1-1/8 100 : 1-1/16 101 : 1-1/32 110 : 1-1/64 111 : 1-1/128 Set which touches will be reported in Touch Status (0x01) 0 : Report touches according to CapSense Report Mode (0x32[1:0]) 1 : Report all touches Set digital gain factor 00 : No gain, Delta Cin Range = Delta Cin Range 01 : X2 gain, Delta Cin Range = Delta Cin Range / 2 10 : X4 gain, Delta Cin Range = Delta Cin Range / 4 11 : X8 gain, Delta Cin Range = Delta Cin Range / 8 Delta Cin outside of range will saturate. Set mode for Reporting touches on LEDs (and in reg 0x01 if 0x32[4] = 0) 00 : Single, only report the first touch 01 : Strongest, report the strongest touch 10 : Double, report the first touch for a BL assigned to LED engine 1 and the first touch for a BL assigned to LED engine 2 11 : Double LED, report the first two touches for each LED engine but the second touch goes directly from idle to on or on to idle with no fading Note: When prox detection is enabled, LED engine 1 is dedicated to the prox function and that limits these modes to LED engine 2. www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS 4.4.6 CapSense Debounce Address 0x33 4.4.7 Name CapSenseDebounce Acc R/W Bits 7:6 Field CapSense Prox Near Debounce R/W 5:4 CapSense Prox Far Debounce R/W 3:2 CapSense Touch Debounce R/W 1:0 CapSense Release Debounce Function Set number of consecutive samples that proximity detection must be true before proximity is indicated on LEDs and in register 0x02 00 : Debouncer off, proximity indicated on first sample 01 : 2 samples 10 : 4 samples 11 : 8 samples Set number of consecutive samples that proximity detection must be false before los of proximity is indicated on LEDs and in register 0x02 00 : Debouncer off, loss of proximity indicated on first sample 01 : 2 samples 10 : 4 samples 11 : 8 samples Set number of consecutive samples that touch detection must be true before touch is indicated on LEDs and in register 0x01 00 : Debouncer off, touch indicated on first sample 01 : 2 samples 10 : 4 samples 11 : 8 samples Set number of consecutive samples that touch detection must be false before release is indicated on LEDs and in register 0x01 00 : Debouncer off, release indicated on first sample 01 : 2 samples 10 : 4 samples 11 : 8 samples CapSense Negative Auto Compensation Threshold Address 0x34 4.4.8 DATASHEET Name CapSenseNegCompThresh Acc R/W Bits 7:0 Field CapSense Neg Comp Thresh Function Set negative level that average data must cross before triggering a negative drift auto compensation. Threshold = n * 128 Should not be set below 0x40. CapSense Positive Auto Compensation Threshold Address Name Revision v1.13, February 2013 Acc Bits Field © 2013 Semtech Corp. 40 Function www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS 0x35 4.4.9 CapSensePosCompThresh R/W 7:0 DATASHEET CapSense Pos Comp Thresh Set positive level that average data must cross before triggering a positive drift auto compensation. Threshold = n * 128 Should not be set below 0x40. CapSense Positive Filter Coef, Positive Auto Compensation Debouce and Proximity Hyst Address 0x36 Name CapSensePosFilt Acc R/W Bits 7:5 Field CapSense Prox Hyst R/W 4:3 CapSense Pos Comp Debounce R/W 2:0 CapSense Ave Pos Filt Coef Function Set Proximity detection/loss hysteresis 000 : 2 001 : 8 010 : 16 011 : 32 100 : 64 101 : 128 110 : 256 111 : 512 Prox detection when Delta Data >= (Prox Thresh + Prox Hyst), Prox lost when Delta Data <= (Prox Thresh Prox Hyst) Set number of consecutive samples that average data is above the positive compensation threshold before a compensation is triggered 00 : Debouncer off, compensation triggered on first sample 01 : 2 samples 10 : 4 samples 11 : 8 samples Set filter coefficient for turning positive useful data into average data 000 : Off, no averaging of positive data 001 : 1-1/2 010 : 1-1/4 011 : 1-1/8 100 : 1-1/16 101 : 1-1/32 (suggested) 110 : 1-1/64 111 : 1-1/128 4.4.10 CapSense Negative Filter Coef, Negative Auto Compensation Debounce and Touch Hyst Address 0x37 Name CapSenseNegFilt Revision v1.13, February 2013 Acc R/W Bits 7:5 Field CapSense Touch Hyst © 2013 Semtech Corp. 41 Function Set touch detection/loss hysteresis 000 : 2 001 : 8 010 : 16 011 : 32 100 : 64 101 : 128 110 : 256 111 : 512 Touch detection when Delta Data >= (Touch Thresh + Touch Hyst), Touch lost when Delta Data <= www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS DATASHEET (Touch Thresh - Touch Hyst) R/W 4:3 CapSense Neg Comp Debounce R/W 2:0 CapSense Ave Neg Filt Coef Set number of consecutive samples that average data is below the negative compensation threshold before a compensation is triggered 00 : Debouncer off, compensation triggered on first sample 01 : 2 samples 10 : 4 samples 11 : 8 samples Set filter coefficient for turning negative useful data into average data 000 : Off, no averaging of positive data 001 : 1-1/2 010 : 1-1/4 (suggested) 011 : 1-1/8 100 : 1-1/16 101 : 1-1/32 110 : 1-1/64 111 : 1-1/128 4.4.11 CapSense Stuck-at Timer and Periodic Compensation Timer Address 0x38 Name CapSenseStuck Revision v1.13, February 2013 Acc R/W Bits 7:4 Field CapSense Stuck at Timer R/W 3:0 CapSense Periodic Comp © 2013 Semtech Corp. 42 Function Set stuck at timeout timer. If touch lasts longer than timer, touch is disqualified and a compensation is triggered. 0000 : Off 00bb : Timeout = bb * FrameTime * 64 01bb : Timeout = bb * FrameTime * 128 1bbb : Timeout = bbb * FrameTime * 256 FrameTime = (CapSense time + LED Frame time) * 9 CapSense time = 648us LED Frame time = 255 / LED Frequency (0x0E) Set periodic compensation interval 0000 : Off, no periodic compensations bbbb : Periodic compensation triggered every bbbb * 128 frames FrameTime = (CapSense time + LED Frame time) * 9 CapSense time = 648us LED Frame time = 255 / LED Frequency (0x0E) www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS DATASHEET 4.4.12 CapSense Frame Skip setting fro Active and Sleep Address 0x39 Name CapSenseFrameSkip Acc R/W Bits 7:4 Field CapSense Active Frame Skip R/W 3:0 CapSense Sleep Frame Skip Function Set number of frames to skip measuring BL pins between frames that do measure the BL pins in active mode. Timing and LED drive remains constant. Frames to skip = n Set number of frames to skip measuring BL pins between frames that do measure the BL pins in sleep mode. Timing and LED drive remains constant. Frames to skip = n * 4 4.4.13 CapSense Sleep Enable, Auto Compensation Channels Threshold, Inactive BL Control Address 0x3A Name CapSenseMisc Acc R/W R/W Bits 7:6 5:4 Field Reserved Comp Chan Num Thresh R/W 3 R/W R/W 2 1:0 CapSense Sleep Mode Enable Reserved CapSense Inactive BL Mode Function Reserved, set to 00 Set how many channels must request compensation before a compensation is done on all channels. 00 : Each channel is compensated individually when compensation is requested for that channel bb : Compensation for all channels is triggered when bb channels request compensation 0 : Disable sleep mode 1 : Enable sleep mode Reserved, set to 0 Set what is done with BL pins when other BL pins are being measured. 00 : Inactive BLs are driven to LS levels 01 : Inactive BLs are driven to LS levels 10 : Inactive BLs are HiZ 11 : Inactive BLs are connected to GND 4.4.14 Proximity Combined Channel Mode Channel Mapping Address 0x3B 4.5 4.5.1 Name ProxCombChanMask Acc R/W Bits 7:0 Field Prox Combined Chan Mask Bits 7:0 Field SPO Channel Mapping Function Assign indicated BL channel to be used in combined channel mode for proximity detection Bit 7 = BL7 … Bit 0 = BL0 0 : Do not use in combined channel mode 1 : Use in combined channel mode SPO Control SPO Channel Mapping Address 0x3E Name SPOChanMap Acc R/W Revision v1.13, February 2013 © 2013 Semtech Corp. 43 Function Assign each BL pin to report touches on either SPO1 or SPO2. Bit 7 = BL7 … Bit 0 = BL0 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS DATASHEET 0 : Report touches on SPO1 1 : Report touches on SPO2 4.5.2 SPO Analog Output Levels (BL0 through BL7 Touch, Idle and Proximity) Address 0x3F Name SPOLevelBL0 Acc R/W R/W Bits 7:6 5:0 Field Reserved SPO Level BL0 0x40 SPOLevelBL1 0x41 SPOLevelBL2 0x42 SPOLevelBL3 0x43 SPOLevelBL4 0x44 SPOLevelBL5 0x45 SPOLevelBL6 0x46 SPOLevelBL7 0x47 SPOLevelIdle R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W 7:6 5:0 7:6 5:0 7:6 5:0 7:6 5:0 7:6 5:0 7:6 5:0 7:6 5:0 7:6 5:0 Reserved SPO Level BL1 Reserved SPO Level BL2 Reserved SPO Level BL3 Reserved SPO Level BL4 Reserved SPO Level BL5 Reserved SPO Level BL6 Reserved SPO Level BL7 Reserved SPO Level Idle 0x48 SPOLevelProx R/W 7 SPO Report Prox R/W 6 R/W 5:0 SPO Prox Channel Mapping SPO Level Prox 4.6 4.6.1 Function Reserved, set to 00 Specify analog output level for BL0 V = (n / 63) * SVDD Reserved, set to 00 Same as SPOLevelBL0 but for BL1 Reserved, set to 00 Same as SPOLevelBL0 but for BL2 Reserved, set to 00 Same as SPOLevelBL0 but for BL3 Reserved, set to 00 Same as SPOLevelBL0 but for BL4 Reserved, set to 00 Same as SPOLevelBL0 but for BL5 Reserved, set to 00 Same as SPOLevelBL0 but for BL6 Reserved, set to 00 Same as SPOLevelBL0 but for BL7 Reserved, set to 00 Specify analog output level for idle V = (n / 63) * SVDD Enable reporting of proximity on SPO 0 : Do not report proximity on SPO 1 : Report proximity on SPO 0 : Report proximity on SPO1 1 : Report proximity on SPO2 Specify analog output level for proximity V = (n / 63) * SVDD Buzzer Control Buzzer Trigger Event Selection Address 0x4B Name BuzzerTrigger Revision v1.13, February 2013 Acc R/W R/W Bits 7:5 4 Field Reserved Buzzer Near R/W 3 Buzzer Far R/W 2 Buzzer Touch 0 : Do not activate buzzer on touch detection 1 : Activate buzzer on touch detection R/W 1 Buzzer Release 0 : Do not activate buzzer on touch release 1 : Activate buzzer on touch release © 2013 Semtech Corp. 44 Function Reserved, set to 000 0 : Do not activate buzzer on proximity detection 1 : Activate buzzer on proximity detection 0 : Do not activate buzzer on proximity loss 1 : Activate buzzer on proximity loss www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS R/W 4.6.2 4.7.1 Set SPO2 pin drive level in buzzer mode when buzzer is not active. 0 : GND 1 : VDD Name BuzzerFreq Acc R/W Bits 7:6 Field Buzzer Phase 1 Duration Function 00 : 5ms 01 : 10ms 10 : 15ms 11 : 30ms R/W 5:4 Buzzer Phase 1 Frequency 00 : 1KHz 01 : 2KHz 10 : 4KHz 11 : 8KHz R/W 3:2 Buzzer Phase 2 Duration 00 : 5ms 01 : 10ms 10 : 15ms 11 : 30ms R/W 1:0 Buzzer Phase 2 Frequency 00 : 1KHz 01 : 2KHz 10 : 4KHz 11 : 8KHz Real Time Sensor Data Readback CapSense Channel Select for Readback Address 0x63 4.7.2 Buzzer Idle Level Buzzer Duration and Frequency Address 0x4C 4.7 0 DATASHEET Name CapSenseChanSelect Acc R R Bits 7:4 3:0 Field Reserved CapSense Chan Select Function Reserved, will read 0000 Set which BL channel data will be present in registers 0x64 through 0x6B 0000 : BL0 … 0111 : BL7 1000 : Combined channel proximity CapSense Useful Data MSB and LSB Address 0x64 Name CapSenseUsefulDataMsb Acc R Bits 7:0 0x65 CapSenseUsefulDataLsb R 7:0 Revision v1.13, February 2013 Field CapSense Useful Data Msb CapSense Useful Data Lsb © 2013 Semtech Corp. 45 Function Selected channel useful data. Signed, 2's complement format www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS 4.7.3 CapSense Average Data MSB and LSB Address 0x66 Name CapSenseAverageDataMsb Acc R Bits 7:0 0x67 CapSenseAverageDataLsb R 7:0 4.7.4 Field CapSense Average Data Msb CapSense Average Data Lsb Function Selected channel average data. Signed, 2's complement format CapSense Diff Data MSB and LSB Address 0x68 Name CapSenseDiffDataMsb Acc R Bits 7:0 0x69 CapSenseDiffDataLsb R 7:0 4.7.5 DATASHEET Field CapSense Diff Data Msb CapSense Diff Data Lsb Function Selected channel diff data. Signed, 2's complement format CapSense Compensation DAC Value MSB and LSB Address 0x6A Name CapSenseCompMsb Acc R/W Bits 7:0 Field CapSense Comp Msb 0x6B CapSenseCompLsb R/W 7:0 CapSense Comp Lsb Revision v1.13, February 2013 © 2013 Semtech Corp. 46 Function Offset compensation DAC code. Read : Read the current value from the last compensation for the selected channel Write : Manually set the compensation DAC for the selected channel. When written, the internal DAC code is updated after the write of the LSB reg. MSB and LSB regs should be written in sequence. www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS 5 DATASHEET I2C INTERFACE The I2C implemented on the SX9512/12B/13/13B is compliant with: - standard (100kb/s), fast mode (400kb/s) - slave mode - 7 bit address : SX9512/13->0x2B ; SX9512B/13B ->0x2D. The host can use the I2C to read and write data at any time. 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. - REGISTERS gateway (read/write). These registers are used for the communication between host and the REGISTERS. The REGISTERS gateway communication is done typically at power up and is not supposed to be changed when the application is running. The REGISTERS needs to be re-stored each time the SX9512/12B/13/13B is powered down. The REGISTERS can be stored permanently in the NVM memory of the SX9512/12B/13/13B. The REGISTERS 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. 5.1 I2C Write The format of the I2C write is given in Figure 36. After the start condition [S], the slave address (SA) is sent, followed by an eighth bit (‘0’) indicating a Write. The SX9512/12B/13/13B then acknowledges [A] that it is being addressed, and the master sends an 8 bit Data Byte consisting of the SX9512/12B/13/13B 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]. Figure 36 I2C write The register address is incremented automatically when successive register data (WD1...WDn) is supplied by the master. Revision v1.13, February 2013 © 2013 Semtech Corp. 47 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS 5.2 DATASHEET I2C read The format of the I2C read is given in Figure 37. After the start condition [S], the slave address (SA) is sent, followed by an eighth bit (‘0’) indicating a Write. The SX9512/12B/13/13B 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 SX9512/12B/13/13B responds with acknowledge [A] and the Read Data byte (RD0). If the master needs to read more data it will acknowledge [A] and the SX9512/12B/13/13B 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]. Figure 37 I2C read Revision v1.13, February 2013 © 2013 Semtech Corp. 48 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS DATASHEET 6 PACKAGING INFORMATION 6.1 Package Outline Drawing SX9512/12B and SX9513/13B are assembled in a QFN-20 package as shown in Figure 38 and TSSOP-24 as show in Figure 39. Figure 38 QFN Package outline drawing Revision v1.13, February 2013 © 2013 Semtech Corp. 49 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS DATASHEET Figure 39 TSSOP Package outline drawing Revision v1.13, February 2013 © 2013 Semtech Corp. 50 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS 6.2 DATASHEET Land Pattern The land pattern of QFN-20 package is shown in Figure 40. The land pattern of TSSOP-24 package is shown in Figure 41. Figure 40 QFN-20 Land Pattern Revision v1.13, February 2013 © 2013 Semtech Corp. 51 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS DATASHEET Figure 41 TSSOP-24 Land Pattern Revision v1.13, February 2013 © 2013 Semtech Corp. 52 www.semtech.com SX9512/12B/13/13B 8 Capacitive Buttons, LEDs and Proximity Controller with Analog Outputs WIRELESS & SENSING PRODUCTS DATASHEET © Semtech 2013 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 Wireless and Sensing Products Division 200 Flynn Road, Camarillo, CA 93012 Phone: (805) 498-2111 Fax: (805) 498-3804 Revision v1.13, February 2013 © 2013 Semtech Corp. 53 www.semtech.com