CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver PRODUCT FEATURES Datasheet General Description Features The CAP1214 is a multiple channel Capacitive Touch sensor and LED Driver.1 The CAP1214 contains up to fourteen (14) individual Capacitive Touch sensor inputs with programmable sensitivity for use in touch button and slider switch applications. Each sensor input contains automatic recalibration with programmable time delays. The CAP1214 includes compensation circuitry that provides uniform touch sensitivity across a wide range of external sensing pad capacitance. The CAP1214 also contains eleven (11) low side LED drivers that offer full-on / off, variable rate blinking, dimness controls, and breathing. LED outputs can be linked to capacitive sensor channels. -- -- -- -- -- -- Compensates for variable sensing pads Programmable sensitivity High SNR allows for easy tuning Automatic recalibration Slider acceleration and position detection Proximity detection Lid closure detection Low power operation -- 4.5uA quiescent current in Deep Sleep -- 250uA quiescent current in Sleep, monitoring 1 button Applications Fourteen (14) capacitive touch sensor inputs FEEDBACK pin can drive a piezo transducer when a touch is detected User controlled reset Low external component count SMBus 2.0 compliant interface to change operating parameters to work in a wide variety of systems -- Block Read and Write function for quick tasking Consumer Electronics Desktop and Notebook PCs LCD Monitors Eleven (11) LED driver outputs -- Programmable blink, breathe, and dimness controls -- 8 configurable as GPIOs -- LEDs can be linked to capacitive sensor channels 1. SMSC and the SMSC logo are registered trademarks and SMSC RightTouch is a trademark of Standard Microsystems Corporation ("SMSC"). Development boards and software available Available in 32-pin 5mm x 5mm QFN Lead-free RoHS Compliant package Block Diagram LED2 LED1 LED4 LED3 LED6 LED5 LED8 LED7 LED10 LED9 LED11 RESET LED Blink, Breathe, and Dimness control Capacitive Sensing Algorithm VDD GND SMBus Slave Protocol SMCLK SMDATA ALERT FEEDBACK CS1 CS3 CS2 SMSC CAP1214 CS5 CS4 CS7 CS6 CS9 CS8 CS13 CS11 CS14 CS10 CS12 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Ordering Information: ORDERING NUMBER CAP1214-1-EZK-TR PACKAGE 32-Pin QFN 5mm x 5mm (Lead Free RoHS compliant) FEATURES Fourteen Capacitive Touch Sensors. Eleven LED drivers. SMBus communications. REEL SIZE IS 4,000 PIECES This product meets the halogen maximum concentration values per IEC61249-2-21 For RoHS compliance and environmental information, please visit www.smsc.com/rohs 80 ARKAY DRIVE, HAUPPAUGE, NY 11788 (631) 435-6000, FAX (631) 273-3123 Copyright (c) 2010 SMSC or its subsidiaries. All rights reserved. Circuit diagrams and other information relating to SMSC products are included as a means of illustrating typical applications. Consequently, complete information sufficient for construction purposes is not necessarily given. Although the information has been checked and is believed to be accurate, no responsibility is assumed for inaccuracies. SMSC reserves the right to make changes to specifications and product descriptions at any time without notice. Contact your local SMSC sales office to obtain the latest specifications before placing your product order. The provision of this information does not convey to the purchaser of the described semiconductor devices any licenses under any patent rights or other intellectual property rights of SMSC or others. All sales are expressly conditional on your agreement to the terms and conditions of the most recently dated version of SMSC's standard Terms of Sale Agreement dated before the date of your order (the "Terms of Sale Agreement"). The product may contain design defects or errors known as anomalies which may cause the product's functions to deviate from published specifications. Anomaly sheets are available upon request. SMSC products are not designed, intended, authorized or warranted for use in any life support or other application where product failure could cause or contribute to personal injury or severe property damage. Any and all such uses without prior written approval of an Officer of SMSC and further testing and/or modification will be fully at the risk of the customer. Copies of this document or other SMSC literature, as well as the Terms of Sale Agreement, may be obtained by visiting SMSC's website at http://www.smsc.com. SMSC is a registered trademark of Standard Microsystems Corporation ("SMSC"). Product names and company names are the trademarks of their respective holders. SMSC DISCLAIMS AND EXCLUDES ANY AND ALL WARRANTIES, INCLUDING WITHOUT LIMITATION ANY AND ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND AGAINST INFRINGEMENT AND THE LIKE, AND ANY AND ALL WARRANTIES ARISING FROM ANY COURSE OF DEALING OR USAGE OF TRADE. IN NO EVENT SHALL SMSC BE LIABLE FOR ANY DIRECT, INCIDENTAL, INDIRECT, SPECIAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES; OR FOR LOST DATA, PROFITS, SAVINGS OR REVENUES OF ANY KIND; REGARDLESS OF THE FORM OF ACTION, WHETHER BASED ON CONTRACT; TORT; NEGLIGENCE OF SMSC OR OTHERS; STRICT LIABILITY; BREACH OF WARRANTY; OR OTHERWISE; WHETHER OR NOT ANY REMEDY OF BUYER IS HELD TO HAVE FAILED OF ITS ESSENTIAL PURPOSE, AND WHETHER OR NOT SMSC HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Revision 1.0 (08-30-10) 2 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Table of Contents Chapter 1 Pin Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Chapter 2 Delta from CAP1114 to CAP1214 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.1 2.2 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Register Delta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Chapter 3 Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Chapter 4 Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.1 4.2 System Management Bus Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 SMBus Start Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.2 SMBus Address and RD / WR Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.3 SMBus Data Bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.4 SMBus ACK and NACK Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.5 SMBus Stop Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.6 SMBus Time-out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.7 SMBus and I2C Compliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SMBus Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 SMBus Write Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.2 Block Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.3 SMBus Read Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.4 Block Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.5 SMBus Send Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.6 SMBus Receive Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 18 18 18 19 19 19 19 19 20 20 20 20 21 21 Chapter 5 Product Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 Power States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RESET Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LED Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 Linking LEDs to Capacitive Touch Sensors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Capacitive Touch Sensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.1 Multiple Button Presses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.2 Lid Closure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.3 Grouped Sensors (CS8 - CS14) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.4 Sensing Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.5 Proximity Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.6 Recalibrating Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.7 Low Frequency Noise Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.8 RF Noise Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Grouped Sensor Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5.1 Tap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5.2 Press and Hold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5.3 Slider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5.4 Relative Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5.5 Slider Velocity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ungrouped Sensor Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6.1 CS9 - CS13 Ungrouped Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6.2 CS8 and CS14 Ungrouped Behavior. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FEEDBACK Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ALERT Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.8.1 Button Interrupt Behavior. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SMSC CAP1214 3 DATASHEET 23 25 25 25 26 26 26 26 26 26 26 27 27 27 27 27 28 28 28 28 28 28 29 29 29 Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 5.8.2 Grouped Sensor Interrupt Behavior. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Chapter 6 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 6.10 6.11 6.12 6.13 6.14 6.15 6.16 6.17 6.18 6.19 6.20 6.21 6.22 6.23 6.24 6.25 6.26 6.27 6.28 6.29 6.30 6.31 6.32 6.33 6.34 6.35 6.36 6.37 6.38 Main Status Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Button Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.1 Button Status 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.2 Button Status 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Build Revision Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slider Position / Volumetric Data Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.1 Absolute Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.2 Volumetric Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vendor ID Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Volumetric Step Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Noise Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lid Closure Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GPIO Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Group Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sensor Delta Count Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Queue Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Data Sensitivity Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sensor Enable Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Button Configuration Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Group Configuration Register 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Group Configuration Register 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Calibration Enable Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Calibration Activate Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.20.1 Calibration Activate - 26h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.20.2 Grouped Sensor Calibration Activate - 46h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interrupt Enable Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.21.1 Interrupt Enable 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.21.2 Interrupt Enable 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sleep Channel Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Multiple Touch Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lid Closure Configuration Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lid Closure Queue Control Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lid Closure Pattern Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Recalibration Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sensor Threshold Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Button Noise Threshold Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.29.1 Button Noise Threshold 1 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.29.2 Button Noise Threshold 2 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lid Closure Threshold Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.30.1 Lid Closure Threshold 1 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.30.2 Lid Closure Threshold 2 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.30.3 Lid Closure Threshold 3 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.30.4 Lid Closure Threshold 4 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slider Velocity Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Digital Recalibration Control Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration 2 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Grouped Sensor Channel Enable Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Proximity Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sampling Channel Select Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sampling Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sensor Base Count Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Revision 1.0 (08-30-10) 4 DATASHEET 41 42 42 43 43 44 44 45 45 45 46 46 47 47 48 49 50 51 52 53 55 56 57 57 58 58 58 59 59 60 61 62 62 63 63 65 66 66 66 67 67 67 68 68 68 70 70 72 73 74 75 75 SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 6.39 6.40 6.41 6.42 6.43 6.44 6.45 6.46 6.47 6.48 6.49 6.50 6.51 6.52 6.53 6.54 6.55 6.56 6.57 6.58 6.59 6.60 6.61 6.62 LED Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 6.39.1 LED Status 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 6.39.2 LED Status 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Feedback Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Feedback Channel Configuration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 6.41.1 Feedback Channel Configuration 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 6.41.2 Feedback Channel Configuration 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Feedback One-Shot Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 LED / GPIO Direction Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 LED / GPIO Output Type Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 GPIO Input Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 LED Output Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 6.46.1 LED Output Control 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 6.46.2 LED Output Control 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 LED Polarity Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 6.47.1 LED Polarity 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 6.47.2 LED Polarity 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Linked LED Transition Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 6.48.1 Linked LED Transition Control 1 - 77h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 6.48.2 Linked LED Transition Control 2 - 78h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 LED Mirror Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 6.49.1 LED Mirror Control 1 - 79h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 6.49.2 LED Mirror Control 2 - 7Ah . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Sensor LED Linking Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 LED Behavior Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 6.51.1 LED Behavior 1 - 81h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 6.51.2 LED Behavior 2 - 82h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 6.51.3 LED Behavior 3 - 83h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 LED Pulse 1 Period Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 LED Pulse 2 Period Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 LED Breathe Period Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 LED Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 LED11 Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 LED Pulse and Breathe Duty Cycle Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 LED Direct Ramp Rates Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 LED Off Delay Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Sensor Calibration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Product ID Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Revision Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Chapter 7 Package Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 7.1 7.2 Package Drawings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Package Marking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Chapter 8 Datasheet Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 SMSC CAP1214 5 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet List of Figures Figure 1.1 Figure 4.1 Figure 5.1 Figure 5.2 Figure 5.3 Figure 5.4 Figure 5.5 Figure 5.6 Figure 5.7 Figure 6.1 Figure 6.2 Figure 6.3 Figure 6.4 Figure 6.5 Figure 6.6 Figure 6.7 Figure 6.8 Figure 7.1 Figure 7.2 Figure 7.3 Figure 7.4 Figure 7.5 Figure 7.6 Figure 7.7 CAP1214 Pin Diagram (32-Pin QFN). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 SMBus Timing Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 System Diagram for CAP1214 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Button Interrupt Behavior - Repeat Rate Enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Button Interrupt Behavior - No Repeat Rate Enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Tap Interrupt Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Press and Hold Interrupt Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Slide Interrupt Behavior - No Acceleration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Slide Interrupt Behavior - Acceleration Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Pulse 1 Behavior with Touch Trigger and Non-inverted Polarity . . . . . . . . . . . . . . . . . . . . . . 90 Pulse 1 Behavior with Touch Trigger and Inverted Polarity . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Pulse 2 Behavior with Non-Inverted Polarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Pulse 2 Behavior with Inverted Polarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Breathe Behavior with Non-Inverted Polarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Breathe Behavior with Inverted Polarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Direct Behavior for Non-Inverted Polarity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Direct Behavior for Inverted Polarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Package Diagram - 32-Pin QFN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Package Dimensions - 32-Pin QFN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Package PCB Land Pattern and Stencil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Package Detail A - Stencil Opening and Perimeter Lands. . . . . . . . . . . . . . . . . . . . . . . . . . 104 Package Detail B - Thermal Vias and Stencil Opening . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Package Land Pattern Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Package Markings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Revision 1.0 (08-30-10) 6 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet List of Tables Table 1.1 Pin Description for CAP1214 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Table 1.2 Pin Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Table 2.1 Register Delta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Table 3.1 Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Table 3.2 Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Table 4.1 Protocol Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Table 4.2 Write Byte Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Table 4.3 Block Write Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Table 4.4 Read Byte Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Table 4.5 Block Read Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Table 4.6 Send Byte Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Table 4.7 Receive Byte Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Table 5.1 Power States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Table 6.1 Register Set in Hexadecimal Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Table 6.2 Main Status Control Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Table 6.3 Button Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Table 6.4 Build Revision Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Table 6.5 Slider Position / Volumetric Data Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Table 6.6 Example Slider Absolute Position Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Table 6.7 Vendor ID Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Table 6.8 Volumetric Step Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Table 6.9 Noise Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Table 6.10 Lid Closure Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Table 6.11 GPIO Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Table 6.12 Group Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Table 6.13 Sensor Delta Count Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Table 6.14 Queue Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Table 6.15 QUEUE_B Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Table 6.16 Data Sensitivity Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Table 6.17 DELTA_SENSE Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Table 6.18 BASE_SHIFT Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Table 6.19 Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Table 6.20 Sensor Enable Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Table 6.21 Button Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Table 6.22 MAX_DUR_B and MAX_DUR_G Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Table 6.23 RPT_RATE_B / SL / PH Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Table 6.24 Group Configuration Register 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Table 6.25 M_PRESS Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Table 6.26 Group Configuration Register 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Table 6.27 Calibration Enable Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Table 6.28 Calibration Activate Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Table 6.29 Interrupt Enable Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Table 6.30 Sleep Channel Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Table 6.31 Multiple Touch Configuration Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Table 6.32 B_MULT_T Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Table 6.33 G_MULT_T Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Table 6.34 Lid Closure Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Table 6.35 Lid Closure Queue Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Table 6.36 Lid Closure Pattern Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Table 6.37 Recalibration Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Table 6.38 NEG_DELTA_CNT Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Table 6.39 CAL_CFG Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Table 6.40 Sensor Threshold Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 SMSC CAP1214 7 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Table 6.41 Button Noise Threshold Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Table 6.42 CSx_BN_TH Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Table 6.43 Lid Closure Threshold Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Table 6.44 CSx_LD_TH Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Table 6.45 Slider Velocity Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Table 6.46 MAX_INT Bit Decode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Table 6.47 SLIDE_TIME Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Table 6.48 RPT_SCALE Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Table 6.49 Digital Recalibration Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Table 6.50 Configuration 2 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Table 6.51 Grouped Sensor Channel Enable Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Table 6.52 Proximity Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Table 6.53 PROX_AVG Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Table 6.54 Sampling Channel Select Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Table 6.55 Sampling Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Table 6.56 OVERSAMP_RATE Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Table 6.57 Sensor Base Count Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Table 6.58 LED Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Table 6.59 Feedback Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Table 6.60 FDBK_DUR Bit Decode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Table 6.61 Feedback Channel Configuration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Table 6.62 Feedback One-Shot Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Table 6.63 LED / GPIO Direction Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Table 6.64 LED / GPIO Output Type Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Table 6.65 GPIO Input Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Table 6.66 LED Output Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Table 6.67 LED Polarity Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Table 6.68 LED Polarity Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Table 6.69 Linked LED Transition Control Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Table 6.70 LED Mirror Control Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Table 6.71 Sensor LED Linking Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Table 6.72 LED Behavior Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Table 6.73 LEDx_CTL Bit Decode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Table 6.74 LED Pulse 1 Period Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Table 6.75 LED Pulse / Breathe Period Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Table 6.76 LED Pulse 2 Period Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Table 6.77 LED Breathe Period Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Table 6.78 LED Configuration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Table 6.79 PULSE_CNT Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Table 6.80 LED Configuration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Table 6.81 LED11_STEPS Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Table 6.82 LED11_CLK Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Table 6.83 LED Period and Breathe Duty Cycle Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Table 6.84 LED Duty Cycle Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Table 6.85 LED Direct Ramp Rates Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Table 6.86 Rise / Fall Rate Cycle Decode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Table 6.87 LED Off Delay Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Table 6.88 Breathe Off Delay Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Table 6.89 Direct Off Delay Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Table 6.90 Sensor Calibration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Table 6.91 Product ID Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Table 6.92 Revision Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Table 8.1 Customer Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Revision 1.0 (08-30-10) 8 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet CS7 CS6 CS5 CS4 CS3 CS2 CS1 N/C* 32 31 30 29 28 27 26 25 Chapter 1 Pin Description * Connect to ground. CS8 1 24 FEEDBACK CS9 2 23 RESET CS10 3 22 SMCLK CS11 4 21 SMDATA 20 ALERT GND LED2 / GPIO2 LED1 / GPIO1 16 LED9 LED8 / GPIO8 17 15 8 LED7 / GPIO7 VDD 14 LED10 LED6 / GPIO6 18 13 7 LED5 / GPIO5 CS14 12 LED11 LED4 / GPIO4 19 11 6 LED3 / GPIO3 CS13 10 5 9 CS12 Figure 1.1 CAP1214 Pin Diagram (32-Pin QFN) Table 1.1 Pin Description for CAP1214 PIN # PIN NAME PIN FUNCTION PIN TYPE UNUSED CONNECTION 1 CS8 Capacitive Touch Sensor 8 AIO Connect to Ground 2 CS9 Capacitive Touch Sensor 9 AIO Connect to Ground 3 CS10 Capacitive Touch Sensor 10 AIO Connect to Ground 4 CS11 Capacitive Touch Sensor 11 AIO Connect to Ground 5 CS12 Capacitive Touch Sensor 12 AIO Connect to Ground 6 CS13 Capacitive Touch Sensor 13 AIO Connect to Ground 7 CS14 Capacitive Touch Sensor 14 AIO Connect to Ground SMSC CAP1214 9 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Table 1.1 Pin Description for CAP1214 (continued) PIN # PIN NAME PIN FUNCTION PIN TYPE UNUSED CONNECTION 8 VDD Positive Power supply Power n/a LED1 - Open drain LED driver OD (5V) Connect to Ground GPI1 - GPIO 1 input (default) DI (5V) Connect to Ground GPO1 - GPIO 1 push-pull output DO Leave open LED2 - Open drain LED driver OD (5V) Connect to Ground GPI2 - GPIO 2 input (default) DI (5V) Connect to Ground GPO2 - GPIO 2 push-pull output DO Leave open LED3 - Open drain LED driver OD (5V) Connect to Ground GPI3 - GPIO 3 input (default) DI (5V) Connect to Ground GPO3 - GPIO 3 push-pull output DO Leave open LED4 - Open drain LED driver OD (5V) Connect to Ground GPI4 - GPIO 4 input (default) DI (5V) Connect to Ground GPO4 - GPIO 4 push-pull output DO Leave open LED5 - Open drain LED driver OD (5V) Connect to Ground GPI5 - GPIO 5 input (default) DI (5V) Connect to Ground GPO5 - GPIO 5 push-pull output DO Leave open LED6 - Open drain LED driver OD (5V) Connect to Ground GPI6 - GPIO 6 input (default) DI (5V) Connect to Ground GPO6 - GPIO 6 push-pull output DO Leave open LED7 - Open drain LED driver OD (5V) Connect to Ground GPI7 - GPIO 7 input (default) DI (5V) Connect to Ground GPO7 - GPIO 7 push-pull output DO Leave open LED8 - Open drain LED driver OD (5V) Connect to Ground GPI8 - GPIO 8 input (default) DI (5V) Connect to Ground GPO8 - GPIO 8 push-pull output DO Leave open 9 10 11 12 13 14 15 16 LED1 / GPIO1 LED2 / GPIO 2 LED3 / GPIO3 LED4 / GPIO4 LED5 / GPIO5 LED6 / GPIO6 LED7 / GPIO7 LED8 / GPIO8 17 LED9 LED9 - Open drain LED driver OD (5V) Connect to Ground 18 LED10 LED10 - Open drain LED driver OD (5V) Connect to Ground 19 LED11 LED11 - Open drain LED driver OD (5V) Connect to Ground 20 ALERT Active High Interrupt / Wake Up Input DIO 21 SMDATA Bi-directional SMBus data - requires pull-up resistor DIOD (5V) n/a 22 SMCLK SMBus clock input - requires pull-up resistor DI (5V) n/a Revision 1.0 (08-30-10) 10 DATASHEET Pull-down resistor SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Table 1.1 Pin Description for CAP1214 (continued) PIN TYPE UNUSED CONNECTION Soft reset for system - resets all registers to default values DI (5V) Connect to Ground FEEDBACK Sensor press feedback output. DO Leave open 25 N/C Not Connected N/A Connect to Ground 26 CS1 Capacitive Touch Sensor 1 AIO Connect to Ground 27 CS2 Capacitive Touch Sensor 2 AIO Connect to Ground 28 CS3 Capacitive Touch Sensor 3 AIO Connect to Ground 29 CS4 Capacitive Touch Sensor 4 AIO Connect to Ground 30 CS5 Capacitive Touch Sensor 5 AIO Connect to Ground 31 CS6 Capacitive Touch Sensor 6 AIO Connect to Ground 32 CS7 Capacitive Touch Sensor 7 AIO Connect to Ground Bottom Plate GND Power Ground Power n/a PIN # PIN NAME PIN FUNCTION 23 RESET 24 The pin types are described in Table 1.2, "Pin Types". All pins labeled with (5V) are 5V tolerant. Note: For all 5V tolerant pins that require a pull-up resistor, the voltage difference between VDD and the pull-up voltage must never exceed 3.6V. Table 1.2 Pin Types PIN TYPE AIO DI DIOD DESCRIPTION Analog Input / Output - this pin is used as an I/O for analog signals. Digital Input - this pin is used as a digital input. This pin is 5V tolerant. Digital Input / Open Drain Output - this pin is used as an digital I/O. When it is used as an output, It is open drain and requires a pull-up resistor. This pin is 5V tolerant. DO Push-pull Digital Output - this pin is used as a digital output and can sink and source current. OD Open Drain Digital Output - this pin is used as a digital output. It is open drain and requires a pull-up resistor. This pin is 5V tolerant. Power SMSC CAP1214 This pin is used to supply power or ground to the device. 11 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Chapter 2 Delta from CAP1114 to CAP1214 2.1 Summary 1. Updated Product ID to 5Ah. 2. Changed pin 24 from N/C to FEEDBACK. 3. Increased RESET Pin release to fully active operation from 400ms typical and 500ms max to 675ms typical and 775ms max (see Table 3.2, "Electrical Specifications"). 4. Reduced Time to First Conversion from 400ms typical and 500ms max to 100ms typical and 200ms max (see Table 3.2, "Electrical Specifications"). 5. Added Time to First Valid Detection 675ms typical and 775ms max (see Table 3.2, "Electrical Specifications"). 6. Added Power Supply Rejection 310 counts / V typical (see Table 3.2, "Electrical Specifications"). 7. Added bits 5 and 4 to the Queue Control register (1Eh - see Section 6.12, "Queue Control Register"). These bits control whether the accumulation of intermediate data and the consecutive negative delta counts counter are cleared when the noise status bit is set. 8. Added the following registers to implement the new Feedback feature, which enables the CAP1214 to activate an external transducer to send end user feedback in the form of sound or vibration when a touch is detected: Feedback Configuration (62h - see Section 6.40, "Feedback Configuration Register"), Feedback Channel Configuration (63h and 64h - see Section 6.41, "Feedback Channel Configuration Registers"), and Feedback One-Shot (65h - see Section 6.42, "Feedback One-Shot Register"). 9. Added LED11_CFG control as bit 5 of the Configuration 2 register (40h - see Section 6.33, "Configuration 2 Register"). This controls whether frequency of the LED11 driver is set at ~2000Hz or is configurable. 10. Added the LED11 Configuration register (8Ah) to determine base frequency and step settings for LED11. 11. Corrected anomaly where rise rate overrode any non-zero fall rate (Section 6.58, "LED Direct Ramp Rates Register"). 12. Corrected anomaly where Pulse 1 behavior failed on alternate presses when a sensor was linked to an LED and the Pulse 1 start trigger was set to "release". 13. Corrected anomaly where the delta counts were not cleared when the RF Detector circuit detected excessive RF signal on a capacitive sensor input. 14. Pulse 2 behavior modified. The number of pulses after release is the programmed number, not the programmed number minus one (see Section 6.53, "LED Pulse 2 Period Register"). 15. Breathe behavior modified. A breathe off delay control was added to the LED Off Delay Register (see Section 6.59, "LED Off Delay Register") so the LED can be configured to remain inactive between breathes. 16. When the device enters the Deep Sleep state, the Slider Position / Volumetric Data Register (06h) is not cleared, if the register is set to represent volumetric data. If set to represent position information, the register is cleared. 17. Updated circuitry to improve power supply rejection. 18. Renamed BLK_DIG_NOISE bit to DIS_DIG_NOISE, and renamed BLK_ANA_NOISE bit to DIS_ANA_NOISE (see Section 6.14, "Configuration Register"). Renamed BLK_RF_NOISE bit to DIS_RF_NOISE (see Section 6.33, "Configuration 2 Register"). Revision 1.0 (08-30-10) 12 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 2.2 Register Delta Table 2.1 Register Delta ADDRESS REGISTER DELTA DELTA DEFAULT Added controls Added bit 5 NO_CLR_INTD and bit 4 NO_CLR_NEG to Queue Control Register 03h Added control Added bit 5 LED11_CFG to Configuration 2 Register 00h 62h New Feedback Configuration 00h 63h New Feedback Channel Configuration 1 00h 64h New Feedback Channel Configuration 2 00h 65h New Feedback One-Shot 00h 8Ah New LED11 Configuration 00h Added control Added bits 6-4 BR_OFF_DLY[2:0] to LED Off Delay Register 00h Changed Product ID changed. 5Ah 1Dh 40h 95h FDh SMSC CAP1214 13 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Chapter 3 Electrical Specifications Table 3.1 Absolute Maximum Ratings Voltage on VDD pin -0.3 to 4 V Voltage on 5V tolerant pins (V5VT_PIN) -0.3 to 5.5 V Voltage on 5V tolerant pins (|V5VT_PIN - VDD|) (see Note 3.1) 0 to 3.6 V Voltage on any other pin to GND -0.3 to VDD + 0.3 V Package Power Dissipation up to TA = 85C (see Note 3.2) 1 W Junction to Ambient (JA) (see Note 3.3) 48 C/W Operating Ambient Temperature Range -40 to 125 C Storage Temperature Range -55 to 150 C ESD Rating, All Pins, HBM 8000 V Note: Stresses above those listed could cause permanent damage to the device. This is a stress rating only and functional operation of the device at any other condition above those indicated in the operation sections of this specification is not implied. Note 3.1 For the 5V tolerant pins that have a pull-up resistor, the pull-up voltage must not exceed 3.6V when the device is unpowered. Note 3.2 The Package Power Dissipation specification assumes a thermal via design with the thermal landing be soldered to the PCB ground plane with 0.3mm (12mil) diameter vias in a 4x4 matrix at 0.9mm (35.4mil) pitch. Note 3.3 Junction to Ambient (JA) is dependent on the design of the thermal vias. Without thermal vias and a thermal landing, the JA is approximately 60C/W including localized PCB temperature increase. Table 3.2 Electrical Specifications VDD = 3V to 3.6V, TA = 0C to 85C, all Typical values at TA = 27C unless otherwise noted. CHARACTERISTIC SYMBOL MIN TYP MAX UNIT CONDITIONS DC Power Supply Voltage Supply Current Revision 1.0 (08-30-10) VDD 3.0 3.3 3.6 V IDD 0.55 1 mA Average current Capacitive Sensing Active, LEDs enabled ISLEEP 250 400 uA Sleep state active, 1 sensor monitored; LED11 inactive TA < 85C IDSLEEP 4.5 15 uA Deep Sleep, LED 11 inactive TA < 40C 14 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Table 3.2 Electrical Specifications (continued) VDD = 3V to 3.6V, TA = 0C to 85C, all Typical values at TA = 27C unless otherwise noted. CHARACTERISTIC SYMBOL Time to Communications MIN TYP MAX UNIT CONDITIONS tCOMM 15 20 ms Time from power applied to communications active Time to First Conversion tCONV 100 200 ms Time from power applied to first sensor sampled Time to First Valid Detection tCONV 675 775 ms Time from power applied to first valid data Capacitive Touch Sensor Base Capacitance CBASE 5 50 pF Pad untouched Detectable Capacitive Shift CTOUCH 0.1 2 pF Pad touched Sample Time tTOUCH 2.5 ms Update Time tTOUCH 35 ms Recalibration Interval tCAL 8 s Power Supply Rejection PSR 310 counts /V Automatic Recalibration active, no touch active, default settings LED / GPIO Drivers (LED / GPIO 1 - 8) Duty Cycle DUTYLED 0 100 Drive Frequency fLED Sinking Current ISINK 24 mA VOL = 0.4 Sourcing Current ISOURCE 24 mA VOH = VDD - 0.4 Input High Voltage VIH V LED / GPIO configured as input Input Low Voltage VIL V LED / GPIO configured as input % Programmable 2 % Programmable kHz 2.0 0.8 LED Drivers (LED 9 - LED 10) Duty Cycle DUTYLED Drive Frequency fLED Sinking Current ISINK 24 mA Output Low Voltage VOL 0.4 V ISINK = 24mA % Programmable kHz Programmable 0 100 2 kHz LED11 Driver Duty Cycle DUTYLED Drive Frequency fLED Sinking Current ISINK 48 mA Output Low Voltage VOL 0.4 V SMSC CAP1214 0 100 2 15 DATASHEET ISINK = 48mA Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Table 3.2 Electrical Specifications (continued) VDD = 3V to 3.6V, TA = 0C to 85C, all Typical values at TA = 27C unless otherwise noted. CHARACTERISTIC SYMBOL MIN TYP MAX UNIT CONDITIONS I/O Pins - SMDATA, SMCLK, and ALERT Pins Output Low Voltage VOL Output High Voltage VOH Input High Voltage VIH Input Low Voltage VIL 0.8 V Leakage Current ILEAK 5 uA powered or unpowered TA < 85C pull-up voltage < VDD V ISINK_IO = 24mA V ISOURCE_IO = 24mA 0.4 V ISINK_IO = 8mA VDD 0.4 V ALERT pin active high and asserted ISOURCE_IO = 8mA 2.0 V FEEDBACK Pin Output Low Voltage VOL Output High Voltage VOH 0.4 VDD 0.4 RESET Pin Input High Voltage VIH Input Low Voltage VIL RESET Filter Time tRST_FILT RESET Pin release to fully active operation tRST_ON 2.0 V 0.8 10 V ms 675 775 ms SMBus Timing Input Capacitance CIN 5 pF 10 400 kHz 50 ns Clock Frequency fSMB Spike Suppression tSP Bus free time Start to Stop tBUF 1.3 us Hold Time: Start tHD:STA 0.6 us Setup Time: Start tSU:STA 0.6 us Setup Time: Stop tSU:STO 0.6 us Data Hold Time tHD:DAT 0 us Data Setup Time tSU:DAT 0.6 us Clock Low Period tLOW 1.3 us Clock High Period tHIGH 0.6 us Clock/Data Fall time tFALL Revision 1.0 (08-30-10) 300 16 DATASHEET ns Min = 20+0.1CLOAD ns SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Table 3.2 Electrical Specifications (continued) VDD = 3V to 3.6V, TA = 0C to 85C, all Typical values at TA = 27C unless otherwise noted. CHARACTERISTIC SYMBOL Clock/Data Rise time Capacitive Load SMSC CAP1214 MIN TYP MAX UNIT CONDITIONS tRISE 300 ns Min = 20+0.1CLOAD ns CLOAD 400 pF per bus line 17 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Chapter 4 Communications The CAP1214 communicates via the SMBus or I2C communications protocols. APPLICATION NOTE: Upon power up, the CAP1214 will not respond to any SMBus communications until "time to communications" has elapsed (see Table 3.2, "Electrical Specifications"). After this time, full functionality is available. 4.1 System Management Bus Protocol The CAP1214 communicates with a host controller, such as an SMSC SIO, through the SMBus. The SMBus is a two-wire serial communication protocol between a computer host and its peripheral devices. A detailed timing diagram is shown in Figure 4.1. Stretching of the SMCLK signal is supported; however, the CAP1214 will not stretch the clock signal. T HIGH T LOW T HD:STA T SU:STO T FALL SMCLK T RISE T HD:STA T SU:DAT T HD:DAT T SU:STA SMDATA TBUF P S S S - Start Condition P - Stop Condition P Figure 4.1 SMBus Timing Diagram 4.1.1 SMBus Start Bit The SMBus Start bit is defined as a transition of the SMBus Data line from a logic `1' state to a logic `0' state while the SMBus Clock line is in a logic `1' state. 4.1.2 SMBus Address and RD / WR Bit The SMBus Address Byte consists of the 7-bit client address followed by the RD / WR indicator bit. If this RD / WR bit is a logic `0', the SMBus Host is writing data to the client device. If this RD / WR bit is a logic `1', the SMBus Host is reading data from the client device. The CAP1214 responds to the slave address 0101_000xb. Multiple addressing options are available. For more information contact SMSC. 4.1.3 SMBus Data Bytes All SMBus Data bytes are sent most significant bit first and composed of 8-bits of information. Revision 1.0 (08-30-10) 18 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 4.1.4 SMBus ACK and NACK Bits The SMBus client will acknowledge all data bytes that it receives. This is done by the client device pulling the SMBus Data line low after the 8th bit of each byte that is transmitted. This applies to both the Write Byte and Block Write protocols. The Host will NACK (not acknowledge) the last data byte to be received from the client by holding the SMBus data line high after the 8th data bit has been sent. For the Block Read protocol, the Host will ACK each data byte that it receives except the last data byte. 4.1.5 SMBus Stop Bit The SMBus Stop bit is defined as a transition of the SMBus Data line from a logic `0' state to a logic `1' state while the SMBus clock line is in a logic `1' state. When the CAP1214 detects an SMBus Stop bit, and it has been communicating with the SMBus protocol, it will reset its client interface and prepare to receive further communications. 4.1.6 SMBus Time-out The CAP1214 includes an SMBus time-out feature. Following a 30ms period of inactivity on the SMBus where the SMCLK pin is held low, the device will time-out and reset the SMBus interface. The time-out function defaults to disabled. It can be enabled by setting the TIMEOUT bit in the Configuration register (see Section 6.14). 4.1.7 SMBus and I2C Compliance The major differences between SMBus and I2C devices are highlighted here. For complete compliance information, refer to the SMBus 2.0 specification. 1. Minimum frequency for SMBus communications is 10kHz. There is no minimum frequency for I2C. 2. For SMBus communications, the client protocol will reset if the clock is held low longer than 30ms. 3. For SMBus communications, the client protocol will reset if both the clock and the data line are high for longer than 400us (idle condition). 4. I2C devices do not support the Alert Response Address functionality (which is optional for SMBus). 5. I2C devices support block read and write differently. I2C protocol allows for unlimited number of bytes to be sent in either direction. The SMBus protocol requires that an additional data byte indicating number of bytes to read / write is transmitted. Note: The CAP1214 supports the I2C block read and write only. 4.2 SMBus Protocols The CAP1214 is SMBus 2.0 compatible and supports Send Byte, Read Byte, Block Read, Receive Byte as valid protocols as shown below. The CAP1214 also supports the I2C block read and block write protocols. All of the below protocols use the convention in Table 4.1. Table 4.1 Protocol Format DATA SENT TO DEVICE Data sent SMSC CAP1214 DATA SENT TO THE HOST Data sent 19 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 4.2.1 SMBus Write Byte The Write Byte is used to write one byte of data to a specific register as shown in Table 4.2. Table 4.2 Write Byte Protocol START CLIENT ADDRESS WR ACK REGISTER ADDRESS ACK REGISTER DATA ACK STOP 1 ->0 0101_000 0 0 XXh 0 XXh 0 0 -> 1 4.2.2 Block Write The Block Write is used to write multiple data bytes to a group of contiguous registers as shown in Table 4.3. It is an extension of the Write Byte Protocol. APPLICATION NOTE: When using the Block Write protocol, the internal address pointer will be automatically incremented after every data byte is received. It will wrap from FFh to 00h. Table 4.3 Block Write Protocol START CLIENT ADDRESS WR ACK REGISTER ADDRESS ACK REGISTER DATA ACK 1 ->0 0101_000 0 0 XXh 0 XXh 0 REGISTER DATA ACK REGISTER DATA ACK ... REGISTER DATA ACK STOP XXh 0 XXh 0 ... XXh 0 0 -> 1 4.2.3 SMBus Read Byte The Read Byte protocol is used to read one byte of data from the registers as shown in Table 4.4. Table 4.4 Read Byte Protocol START 1->0 CLIENT ADDRESS 0101_000 4.2.4 WR ACK REGISTER ADDRESS ACK START CLIENT ADDRESS 0 0 XXh 0 1 ->0 0101_000 RD 1 ACK 0 REGISTER DATA XXh NACK 1 STOP 0 -> 1 Block Read The Block Read is used to read multiple data bytes from a group of contiguous registers as shown in Table 4.5. It is an extension of the Read Byte Protocol. APPLICATION NOTE: When using the Block Read protocol, the internal address pointer will be automatically incremented after every data byte is received. It will wrap from FFh to 00h. Revision 1.0 (08-30-10) 20 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Table 4.5 Block Read Protocol START CLIENT ADDRESS WR ACK REGISTER ADDRESS ACK START CLIENT ADDRESS RD ACK REGISTER DATA 1->0 0101_000 0 0 XXh 0 1 ->0 0101_000 1 0 XXh ACK REGISTER DATA ACK REGISTER DATA ACK REGISTER DATA ACK ... REGISTER DATA NACK STOP 0 XXh 0 XXh 0 XXh 0 ... XXh 1 0 -> 1 4.2.5 SMBus Send Byte The Send Byte protocol is used to set the internal address register pointer to the correct address location. No data is transferred during the Send Byte protocol as shown in Table 4.6. Table 4.6 Send Byte Protocol START CLIENT ADDRESS WR ACK REGISTER ADDRESS ACK STOP 1 -> 0 0101_000 0 0 XXh 0 0 -> 1 4.2.6 SMBus Receive Byte The Receive Byte protocol is used to read data from a register when the internal register address pointer is known to be at the right location (e.g. set via Send Byte). This is used for consecutive reads of the same register as shown in Table 4.7. Table 4.7 Receive Byte Protocol START CLIENT ADDRESS RD ACK REGISTER DATA NACK STOP 1 -> 0 0101_000 1 0 XXh 1 0 -> 1 SMSC CAP1214 21 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Chapter 5 Product Description The CAP1214 is a multiple channel Capacitive Touch sensor and LED Driver. The CAP1214 has up to 14 individual Capacitive Touch sensor inputs with programmable sensitivity for use in touch button and slider switch applications. Each sensor input includes automatic recalibration. The CAP1214 also has eleven (11) open drain LED drivers that offer full-on / off, variable rate breathing, and dimness controls. Eight (8) of these LEDs can double as GPIOs and support open-drain or push-pull operation. Additionally, LEDs 1-7 may be optionally linked to Buttons 1-7 so that when a touch is detected, the LED is actuated. The device communicates with a host controller using SMBus. The host controller may poll the device for updated information at any time or it may configure the device to flag an interrupt whenever a press is detected on any sensor. Each sensor input is polled by the device approximately every 35 ms. The host may also initiate a recalibration routine for one or more sensor inputs or set up times and conditions so that the device automatically invokes the re-calibration routine. The CAP1214 contains multiple power states including several low power operating states. In addition, it contains a user driven RESET pin. A typical system diagram is shown in Figure 5.1. Revision 1.0 (08-30-10) 22 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet ALERT Touch Button RESET SMCLK 3.3V SMDATA Embedded Controller VDD 3.3V FEEDBACK Touch Button CS2 CS7 LED2 LED7 Touch Button CAP1214 CS3 CS6 LED3 LED6 Touch Button Touch Button LED10 CS14 CS13 CS12 CS11 LED5 CS10 LED4 CS9 CS5 CS8 CS4 LED9 3.3V Transducer Touch Button Touch Button 3.3V Dual Color LED LED8 LED1 3.3V 3.3V LED11 CS1 3.3V 3.3V 3.3V 3.3V 3.3V 3.3V Slider Figure 5.1 System Diagram for CAP1214 5.1 Power States The CAP1214 has four operating states depending on the status of the SLEEP, DEACT, and DSLEEP bits (see Section 6.1). They are described below and summarized in Table 5.1. When the device transitions between power states, previously detected touches (for deactivated channels) are cleared and the status bits reset. SMSC CAP1214 23 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 1. Fully Active - The device is monitoring all active Capacitive Sensor channels and driving all LED channels as defined. 2. Sleep - The device is monitoring a limited number of Capacitive Sensor channels (default 0). Interrupts will still be generated based on the active channels. The device will still respond to SMBus commands normally and can be returned to the Fully Active state by clearing the SLEEP bit. The LED11 channel is controlled via the PWR_LED control (see Section 6.1). All other LEDs will not be affected. 3. Deep Sleep - The device is not monitoring any Capacitive Sensor channels. The LED11 channel is controlled via the PWR_LED control (see Section 6.1). All other LEDs will be driven to their programmed non-actuated state and no PWM operations will be done. When the device enters the Deep Sleep state, it will release control to the ALERT pin and will change the direction of the ALERT pin (i.e. the device will monitor the ALERT pin instead of driving it). APPLICATION NOTE: When the device enters the Deep Sleep state, the Slider Position / Volumetric Data Register (06h) is cleared, if the register is set to represent position data. The device has two methods to exit the Deep Sleep state. They are: a. The ALERT pin is driven to its active state. b. Any SMBus communications are directed at the device. When the device leaves the Deep Sleep state, it automatically returns to its previously defined state and clears the DSLEEP bit. 4. Inactive - The device is not monitoring any Capacitive Sensor channels. The device will still respond to SMBus commands normally and can be returned to Fully Active state by clearing the DEACT bit. All LEDs will have PWM controls suspended so they should be disabled prior to entering this state. If these LEDs are not disabled, the system will show excess current draw from these LEDs. Table 5.1 Power States POWER STATE INACTIVE SLEEP DSLEEP Fully Active 0 0 0 Deep Sleep waking to Fully Active 0 0 1 Sleep 0 1 0 Deep Sleep waking to Sleep 0 1 1 Inactive 1 0 0 Deep Sleep waking to Inactive 1 0 1 Inactive 1 1 0 Deep Sleep waking to Inactive 1 1 1 The priority of power control signals is: 1. DSLEEP - when set, will override DEACT and disable all LEDs except LED11. 2. DEACT - when set, will override the SLEEP controls. It will disable sensor measurement and all LEDs. 3. SLEEP - when set, will enable Sleep state. Revision 1.0 (08-30-10) 24 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 5.2 RESET Pin The RESET pin is an active high reset that is driven from an external source. The pin contains an internal delay timer (tRST_FILT) that will block errant glitches on the RESET pin. The RESET pin must be driven high or low longer than this time before the CAP1214 will react to the pin state. While the RESET pin is held high, all the internal blocks will be held in reset including the SMBus. All configuration settings will be reset to default states and all readings will be cleared. Furthermore, the device will be held in Deep Sleep that can only be removed by driving the RESET pin low. Once the RESET pin is pulled low, the CAP1214 will begin operation as if a power-on-reset had occurred. When this happens, the RESET bit will be set and an interrupt will be generated. 5.3 LED Drivers The CAP1214 contains eleven (11) LED Drivers. Each LED Driver is controlled independently of the others. LED drivers 1 - 8 can be configured to operate with either push-pull or open-drain drive (see Section 6.44, "LED / GPIO Output Type Register") and may also be configured to operate as GPIOs (see Section 6.43, "LED / GPIO Direction Register"). LED drivers 9 - 11 will only operate as open-drain drivers. LEDs 1 - 7 and 9 and 10 may be linked to the corresponding Capacitive Touch Sensor input (see Section 6.50, "Sensor LED Linking Register") so they can be actuated by a touch. When not linked to sensor inputs, LEDs can be actuated by the host (see Section 6.46, "LED Output Control Registers"). When actuated, the LED drivers operate using one of the following behaviors (see Section 6.51, "LED Behavior Registers"): 1. Direct - The LED is configured to be on or off when the corresponding input stimulus is on or off (or inverted). The brightness of the LED can be programmed from full off to full on (default). Additionally, the LED contains controls to individually configure ramping on, off, and turn-off delay. 2. Pulse 1 - The LED is configured to "Pulse" (transition ON-OFF-ON) a programmable number of times with programmable rate and min / max brightness. The LED can be configured to be actuated upon a touch detection (or when hosts sets drive bit) or release detection (or when host clears drive bit) (see Section 6.52, "LED Pulse 1 Period Register"). 3. Pulse 2 - The LED is configured to "Pulse" while actuated and then "Pulse" a programmable number of times with programmable rate and min / max brightness when the sensor is released. 4. Breathe - The LED is configured to transition ON-OFF-ON (i.e. to "Breathe") continuously (or with a programmed off delay) with a programmable rate and min / max brightness. When an LED is not linked to a sensor and is actuated by the host, there's an option to assert the ALERT pin when the LED has completed its behavior (see Section 6.55, "LED Configuration Register"). LED11 operates differently than the other LED outputs in several ways. It is configured to drive up to two external LED channels simultaneously. It is not automatically disabled during the Sleep or Deep Sleep states of operation (see Section 6.1, "Main Status Control Register"). It allows for different behaviors when the device is in Fully Active state versus when the device is in Sleep or Deep Sleep state. It can drive at a different PWM frequency. 5.3.1 Linking LEDs to Capacitive Touch Sensors LEDs 1 - 7 can be optionally linked to Capacitive Touch Sensors 1-7 so that when the sensor detects a button press, the corresponding LED will be actuated at one of the programmed responses. LEDs 9 and 10 may be optionally linked to the Grouped Sensors to indicate a slide / tap / press and hold in the "Up" or "Down" directions. SMSC CAP1214 25 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 5.4 Capacitive Touch Sensing The CAP1214 contains 14 independent Capacitive Touch Sensor inputs. Each sensor input detects a change of capacitance due to a touch. Additionally, each sensor can be configured to be automatically and routinely re-calibrated. 5.4.1 Multiple Button Presses If multiple sensor buttons (with a programmable threshold - see Section 6.23) are simultaneously detected, only the first N buttons that are detected are flagged. All other buttons are ignored. Furthermore, the device remembers which buttons were legitimate so new touches are not detected so long as N buttons are pressed. Likewise, if too many (based on the programmed threshold - see Section 6.23) grouped sensor presses are detected, the device will block all press detections on the grouped buttons and cancel any current presses as if the sensor had been released. 5.4.2 Lid Closure To detect lid closure or other similar events, lid closure sensor thresholds can be set. A Lid Closure Event can be flagged based on either a minimum number of sensors or on specific sensors simultaneously exceeding the lid closure threshold. An interrupt can also be generated. During a Lid Closure Event, all touches are blocked. 5.4.3 Grouped Sensors (CS8 - CS14) Capacitive Touch Sensors 8 through 14 may be grouped as a single entity (which is the default state). Each sensor is sampled independently; however, for purposes of activation, recalibration, and repeat rates, all of them are treated as one group. The Group also has different controls and allows for different behavior such as sliding, tapping, or press and hold. The grouped sensors may be ungrouped as described in Section 5.6. 5.4.4 Sensing Cycle Each Capacitive Touch Sensor has controls to be activated and included in the sensing cycle. When the device is active, it automatically initiates a sensing cycle and repeats the cycle every time it finishes. The cycle polls through each active Sensor starting with CS1 and extending through CS14. As each Capacitive Touch Sensor is polled, its measurement is compared against a baseline "Not Touched" measurement. If the delta measurement is large enough, a touch is detected and an interrupt generated. 5.4.5 Proximity Detection Sensor CS1 can be configured to detect changes in capacitance due to proximity of a touch. This circuitry detects the change of capacitance that is generated as an object approaches, but does not physically touch, the CS1 sensor. When proximity detection is enabled, the signal is boosted by 8x to detect very small capacitance changes. Separate controls determine averaging and sensitivity for proximity (see Section 6.35, "Proximity Control Register"). 5.4.6 Recalibrating Sensors Each sensor is regularly recalibrated at a programmable rate. By default, the recalibration routine stores the average 256 previous measurements and periodically updates the base "Not Touched" setting for the Capacitive Touch Sensor input. This routine is disabled automatically if a touch is detected so the touch does not factor into the base "Not Touched" setting. Revision 1.0 (08-30-10) 26 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 5.4.7 Low Frequency Noise Detection Each sensor has an EMI noise detector that will sense if low frequency noise is injected onto the input with sufficient power to corrupt the readings. If this occurs, the device will reject the corrupted sample and set the corresponding bit in the Noise Status registers to a logic `1'. 5.4.8 RF Noise Detection Each sensor also contains an integrated RF noise detector. This block will detect injected RF noise on the CS pin. The detector threshold is dependent upon the noise frequency. If RF noise is detected on a CS line, the applicable Noise Status bit is set and that sample is removed and not compared against the threshold. 5.5 Grouped Sensor Behavior The CAP1214 Grouped sensors (CS8 - CS14) can be configured to function as a single entity that operates differently than the individual button sensors (for ungrouped behavior see Section 5.6). When configured as a group these sensors function as a slider and offer three different interface functions associated with it. These functions are Tap, Press and Hold, or a Slide. For purposes of a Tap or Press and Hold event, the "DOWN" side of the Grouped sensors are defined as CS8, CS9 and CS10. The "UP" side of the Grouped Sensors are defined as CS12, CS13, and CS14. CS11 is neither "UP" nor "DOWN" and a tap or press and hold event on CS11 will not cause either UP or DOWN status bits to be set. For purposes of a slide, the "DOWN" direction is decreasing in CS channel number. Conversely, the "UP" direction is increasing in CS number. APPLICATION NOTE: The Grouped Sensors will cause either the UP or DOWN status bits to be set but not both at the same time. In the case that a sensor on both the "UP" side of the slider and the "DOWN" side of the slider are touched simultaneously, neither the UP nor DOWN status bits will be set. 5.5.1 Tap If a touch on any Grouped sensor is detected and held for less than or equal to the M_PRESS bit settings (default 245ms), a group press is detected, the TAP bit is set, and an interrupt is generated. Furthermore, the relative position on the slider is determined and the appropriate UP or DOWN status bits are set and the appropriate LED is actuated. No further action is taken. If a slide is subsequently detected, the TAP status bit is cleared. 5.5.2 Press and Hold If a touch on any Grouped sensor is held for longer than the M_PRESS bit settings (default 245ms), a Group Touch is detected and an interrupt is generated. Furthermore, the relative position on the slider is determined and the appropriate UP or DOWN status bits are set, the PH bit is set, and the appropriate LED is actuated. So long as the Grouped sensor is held, it will flag an interrupt at the programmed repeat rate (as determined by the RPT_RATE_PH bit settings) indefinitely. Once the touch has been removed, the Group is returned to its normal operating condition. The M_PRESS setting is important to distinguish between Tap, Press & Hold and Sliding. If M_PRESS is set too low, a Press & Hold may be detected during a slow slide. This will cause user confusion as the Slide direction and LED may change. Longer M_PRESS settings will ensure that the 3 Group behaviors are reliably distinct and will add more delay prior to the Press & Hold repeat interrupt generation. SMSC CAP1214 27 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 5.5.3 Slider The Grouped sensors have the capability to detect a slide in either the "UP" or "DOWN" direction as referenced by the sensor numbers that are used. For example, an "Up" direction slide would be detected if CS8 detected a touch, followed by CS9, then by CS10, etc. Likewise, a "Down" direction slide would be detected if CS10 detected a touch, followed by CS9, then by CS8, etc. Slides in either direction are configured to flag an interrupt and to cause an LED to be actuated (separate for each direction). The Slide is detected independently of a Press and Hold or a Tap condition and only one condition may be present at any one time. So long as a slide is maintained in either direction, it will flag an interrupt at the programmed repeat rate (as determined by the RPT_RATE_SL bit settings). If the slide is removed or changes direction, it will reset and return to normal operation. 5.5.4 Relative Position The CAP1214 has the option to indicate the relative position of a touch on the Grouped sensors. This value is stored either as a scaled number from 2 to 98 indicating where a tap, press and hold, or the end of a slide was detected or as a 8-bit number that represents volumetric data. When configured to store volumetric data, the user may write a base setting at any time that is modified based on Grouped sensor behavior (see Section 6.4). 5.5.5 Slider Velocity The repeat rate can be dynamically increased based on the speed of a slide. This permits slow sliding motions to have precise, step-by-step volume control and faster motions to generate increasingly fast volume changes. Two techniques are employed to increase the number of interrupts generated based on speed. First, the slide speed is measured and the repeat rate is increased to provide more interrupts for the same distance traveled relative to a slower slide. Second, additional interrupts are generated immediately after the slide ends to further increase the change in volume. The number of additional interrupts is based on slide speed; both of these dynamic slider behaviors are controlled by the Slider Velocity Register. 5.6 Ungrouped Sensor Behavior The CAP1214 Grouped sensors have the option to be used as individual buttons. When the group is broken (via the VOL_UP_DOWN bit - see Section 6.33), buttons CS8 and CS14 will adopt one type of behavior while buttons CS9 - CS13 will adopt another. In all cases, a slide will not be detected. 5.6.1 CS9 - CS13 Ungrouped Behavior These buttons will cause the corresponding status bit in the Button Status 2 register (see Section 6.2) to be asserted when a touch is detected. This touch detection uses the button queue and button repeat rate settings. They will use the slider maximum duration and multiple touch settings. 5.6.2 CS8 and CS14 Ungrouped Behavior CS8 and CS14 will generate interrupts based on the duration of the touch detected, similar to a Tap and Press and Hold events. Furthermore, these sensors will generate interrupts at the Grouped Sensors repeat rate based on whether a Tap or Press and Hold event has been detected. If a touch is detected on CS8, the DOWN status bit will be set in addition to either TAP or PH. If a touch is detected on CS14, the UP status bit will be set in addition to either TAP or PH. Revision 1.0 (08-30-10) 28 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Based on the multiple button touch settings (see Section 6.23), both CS8 and CS14 may detect a touch simultaneously and both UP and DOWN status bits may be set. 5.7 FEEDBACK Pin The FEEDBACK pin can drive an external device (such as a piezo transducer) to generate feedback (sound or vibration) to the final application user. The FEEDBACK pin can be driven when a touch is detected (see Section 6.41, "Feedback Channel Configuration Registers"), or it can be driven by the host (see Section 6.42, "Feedback One-Shot Register"). Duration and frequency of the output are programmable (see Section 6.40, "Feedback Configuration Register"). When activated, the FEEDBACK pin drives a 50% duty cycle signal at the programmed frequency for the programmed duration. 5.8 ALERT Pin The ALERT pin is an active high output that asserts when an interrupt event is detected. It is also used to wake the device from Deep Sleep state. Whenever an interrupt is generated, the INT bit (see Section 6.1) is set. The ALERT pin is cleared when INT bit is cleared by the user. Additionally, if no press is detected, the status bits are cleared when the INT bit is cleared. 5.8.1 Button Interrupt Behavior For non-grouped buttons, an interrupt is generated when a touch is detected. If the repeat rate is enabled (see Section 6.14), then, so long as the touch is held, another interrupt will be generated based on the programmed repeat rate (see Figure 5.2) and upon release. If repeat rate is not enabled, an interrupt is generated when a touch is detected and optionally, can be generated at release (see Section 6.33 and Figure 5.3). Interrupt on Touch Touch Detected Polling Cycle (35ms) Button Repeat Rate (175ms) Button Repeat Rate (175ms) Button Repeat Rate (175ms) Optional Interrupt on Release ALERT Pin / INT bit Button Status SMBus Write to INT bit Figure 5.2 Button Interrupt Behavior - Repeat Rate Enabled SMSC CAP1214 29 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet . Interrupt on Touch Polling Cycle (35ms) Optional Interrupt on Release Touch Detected ALERT Pin / INT bit Button Status SMBus Write to INT bit Figure 5.3 Button Interrupt Behavior - No Repeat Rate Enabled 5.8.2 Grouped Sensor Interrupt Behavior For grouped sensors, an interrupt is generated upon initial detection of a tap, slide, or press and hold event. Subsequent interrupts are generated as follows: 1. For a slide event, an interrupt is generated based on the programmed repeat rate as well as the velocity of the slide operation. See Figure 5.6 and Figure 5.7. Additional interrupts are generated after the slide has finished. These extra interrupts are generated every round robin cycle (~35ms) and the number is determined by the speed of the slide. 2. For a tap event there are no further interrupts. See Figure 5.4. 3. For a press and hold event, interrupts are generated based on the programmed repeat rate. If the repeat rate is disabled, no further interrupts are generated. See Figure 5.5. Polling Cycle (35ms) Released before M_PRESS Touch Detected ALERT Pin / INT bit M_PRESS Setting (280ms) Tap & UP / DOWN Status SMBus Write to INT bit Figure 5.4 Tap Interrupt Behavior Revision 1.0 (08-30-10) 30 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Polling Cycle (35ms) Held longer than M_PRESS Setting Touch Detected ALERT Pin / INT bit Repeat Rate Repeat Rate (RPT_RATE_PH - 175ms) (RPT_RATE_PH - 175ms) M_PRESS Setting (280ms) PH Status UP / DOWN Status SMBus Write to INT bit Figure 5.5 Press and Hold Interrupt Behavior SMSC CAP1214 31 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Polling Cycle (35ms) Touch Detected - CS14 Touch Detected - CS13 Touch Detected CS12 UP DOWN Touch Detected CS11 Touch Detected - CS10 Touch Detected - CS9 Touch Detected - CS8 Repeat Rate (175ms) Repeat Rate (175ms) ALERT Pin / INT bit DOWN Status UP Status SMBus Write to INT bit Figure 5.6 Slide Interrupt Behavior - No Acceleration Revision 1.0 (08-30-10) 32 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Polling Cycle (35ms) Maximum Slide (768ms) Touch Detected - CS14 Touch Detected - CS13 Touch Detected CS12 Normal Slide - no change in repeat rate Touch Detected CS11 Touch Detected - CS10 Minor Acceleration Repeat Rate reduced 70ms Touch Detected - CS9 Slide Ended (525ms) = 0.68 x Max - Generate 2 extra interrupts at 35ms apart Major Acceleration Repeat Rate reduced 35ms Touch Detected - CS8 Repeat Rate (base = 140ms) 140ms 70ms 35ms ALERT Pin / INT bit SMBus Write to INT bit Figure 5.7 Slide Interrupt Behavior - Acceleration Example SMSC CAP1214 33 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Chapter 6 Register Description The registers shown in Table 6.1 are accessible through the SMBus. An entry of `-' indicates that the bit is not used and will always read `0'. Table 6.1 Register Set in Hexadecimal Order REGISTER ADDRESS R/W REGISTER NAME FUNCTION DEFAULT VALUE PAGE 00h R/W Main Status Control Controls general power states 00h Page 41 03h R Button Status 1 Returns the state of the Cap Sensor group and buttons 1 - 6 and slider controls 00h Page 42 04h R Button Status 2 Returns the state of buttons 7 - 14 00h Page 42 05h R Build Revision Stores the functional revision of the device build 10h Page 43 06h R-C / R/W Slider Position / Volumetric Data Returns the relative position of a press on the slider or volumetric data 00h Page 44 08h R Vendor ID Stores a fixed value that identifies SMSC 5Dh Page 45 09h R/W Volumetric Step Controls the step used for volumetric data increases for a slide 01h Page 45 0Ah R Noise Status 1 Stores the noise flags for sensors 1-7 00h Page 46 0Bh R Noise Status 2 Stores the noise flags for sensors 8 - 14 00h Page 46 0Ch R Lid Closure Status 1 Stores lid closure status bits for sensors 1 - 7 00h Page 46 0Dh R Lid Closure Status 2 Stores lid closure status bits for sensors 8 - 14 00h Page 46 0Eh R-C GPIO Status Stores the status of LED1 / GPIO1 through LED8 / GPIO8 pins 00h Page 47 0Fh R-C Group Status Returns the state of the Grouped sensors 00h Page 47 10h R Sensor 1 Delta Count Stores the delta count for CS1 00h Page 48 11h R Sensor 2 Delta Count Stores the delta count for CS2 00h Page 48 12h R Sensor 3 Delta Count Stores the delta count for CS3 00h Page 48 13h R Sensor 4 Delta Count Stores the delta count for CS4 00h Page 48 Revision 1.0 (08-30-10) 34 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Table 6.1 Register Set in Hexadecimal Order (continued) REGISTER ADDRESS R/W REGISTER NAME FUNCTION DEFAULT VALUE PAGE 14h R Sensor 5 Delta Count Stores the delta count for CS5 00h Page 48 15h R Sensor 6 Delta Count Stores the delta count for CS6 00h Page 48 16h R Sensor 7 Delta Count Stores the delta count for CS7 00h Page 48 17h R Sensor 8 Delta Count Stores the delta count for CS8 00h Page 48 18h R Sensor 9 Delta Count Stores the delta count for CS9 00h Page 48 19h R Sensor 10 Delta Count Stores the delta count for CS10 00h Page 48 1Ah R Sensor 11 Delta Count Stores the delta count for CS11 00h Page 48 1Bh R Sensor 12 Delta Count Stores the delta count for CS12 00h Page 48 1Ch R Sensor 13 Delta Count Stores the delta count for CS13 00h Page 48 1Dh R Sensor 14 Delta Count Stores the delta count for CS14 00h Page 48 1Eh R/W Queue Control Controls how samples and noise flag effects on some data 03h Page 49 1Fh R/W Data Sensitivity Controls the sensitivity of the threshold and delta counts and data scaling of the base counts 2Fh Page 50 20h R/W Configuration Controls some recalibration and LED controls 29h Page 51 21h R/W Sensor Enable Controls whether the Capacitive Touch Sensor group and button inputs 1 - 7 are sampled FFh Page 52 22h R/W Button Configuration Controls reset delay and autorepeat delay for buttons A4h Page 53 23h R/W Group Configuration 1 Controls the detection dwell time before a press is detected within the group 47h Page 55 24h R/W Group Configuration 2 Controls reset delay and autorepeat delay for grouped sensors D4h Page 56 25h R/W Calibration Enable Controls automatic calibration for grouped sensors and sensors 1 - 7 FFh Page 57 26h R/W Calibration Activate Activates manual re-calibration for grouped sensors and sensors 1 - 7 00h Page 57 SMSC CAP1214 35 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Table 6.1 Register Set in Hexadecimal Order (continued) REGISTER ADDRESS R/W REGISTER NAME FUNCTION DEFAULT VALUE PAGE 27h R/W Interrupt Enable 1 Enables Interrupts associated with the grouped sensors and sensors 1-7 FFh Page 58 28h R/W Interrupt Enable 2 Enables Interrupts associated with GPIOs 1 - 8 00h Page 58 29h R/W Sleep Channel Control Determines the number and which channels are measured during Sleep 00h Page 60 2Ah R/W Multiple Press Configuration Determines the number of simultaneous presses to flag a multiple press condition 82h Page 61 2Bh R/W Lid Closure Configuration Controls Lid Closure detection and operation 00h Page 62 2Ch R/W Lid Closure Queue Control Controls how many samples must exceed the lid closure threshold for Button and Slider operation 02h Page 62 2Dh R/W Lid Closure Pattern 1 Stores pattern bits for lid closure detection for channels 1 - 7 7Fh Page 63 2Eh R/W Lid Closure Pattern 2 Stores pattern bits for lid closure detection for channels 8 - 14 7Fh Page 63 2Fh R/W Recalibration Configuration Determines re-calibration timing and sampling window 93h Page 63 30h R/W Sensor 1 Threshold Stores the delta count threshold to determine a touch for Capacitive Touch Sensor 1 40h Page 65 31h R/W Sensor 2 Threshold Stores the delta count threshold to determine a touch for Capacitive Touch Sensor 2 40h Page 65 32h R/W Sensor 3 Threshold Stores the delta count threshold to determine a touch for Capacitive Touch Sensor 3 40h Page 65 33h R/W Sensor 4 Threshold Stores the delta count threshold to determine a touch for Capacitive Touch Sensor 4 40h Page 65 34h R/W Sensor 5 Threshold Stores the delta count threshold to determine a touch for Capacitive Touch Sensor 5 40h Page 65 35h R/W Sensor 6 Threshold Stores the delta count threshold to determine a touch for Capacitive Touch Sensor 6 40h Page 65 36h R/W Sensor 7 Threshold Stores the delta count threshold to determine a touch for Capacitive Touch Sensor 7 40h Page 65 Revision 1.0 (08-30-10) 36 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Table 6.1 Register Set in Hexadecimal Order (continued) REGISTER ADDRESS R/W REGISTER NAME FUNCTION DEFAULT VALUE PAGE 37h R/W Group Threshold Stores the delta count threshold to determine a touch on any of the Grouped Sensors 40h Page 65 38h R/W Button Noise Threshold 1 Stores controls for selecting the noise threshold for buttons 1 - 4 AAh Page 66 39h R/W Button Noise Threshold 2 Stores controls for selecting the noise threshold for buttons 5 - 7 and the Grouped sensors AAh Page 66 3Ah R/W Lid Closure Threshold 1 Stores controls for selecting the lid closure threshold for buttons 1 - 4 AAh Page 67 3Bh R/W Lid Closure Threshold 2 Stores controls for selecting the lid closure threshold for buttons 5 - 8 AAh Page 67 3Ch R/W Lid Closure Threshold 3 Stores controls for selecting the lid closure threshold for buttons 9 - 12 AAh Page 67 3Dh R/W Lid Closure Threshold 4 Stores controls for selecting the lid closure threshold for buttons 13 14 0Ah Page 67 3Eh R/W Slider Velocity Configuration Determines speed parameters for the slider C5h Page 68 3Fh R/W Digital Recalibration Forces digital recalibration for all sensors 00h Page 70 40h R/W Configuration 2 Stores additional controls for general operation 00h Page 70 41h R/W Grouped Channel Sensor Enable Stores controls to enable some or all sensors in the group 7Fh Page 72 42h R/W Proximity Control Controls the sensitivity settings for CS1 02h Page 73 46h R/W Grouped Sensor Calibration Activate Stores controls to force a calibration on the individual sensors in the Group 00h Page 57 4Eh R/W Sampling Channel Select Controls which channels are affected by the Sampling Configuration Register settings 00h Page 74 4Fh R/W Sampling Configuration Changes the sampling time for one or more input channels 00h Page 75 50h R Sensor 1 Base Count Stores the reference count value for sensor 1 00h Page 75 51h R Sensor 2 Base Count Stores the reference count value for sensor 2 00h Page 75 52h R Sensor 3 Base Count Stores the reference count value for sensor 3 00h Page 75 53h R Sensor 4 Base Count Stores the reference count value for sensor 4 00h Page 75 SMSC CAP1214 37 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Table 6.1 Register Set in Hexadecimal Order (continued) REGISTER ADDRESS R/W REGISTER NAME FUNCTION DEFAULT VALUE PAGE 54h R Sensor 5 Base Count Stores the reference count value for sensor 5 00h Page 75 55h R Sensor 6 Base Count Stores the reference count value for sensor 6 00h Page 75 56h R Sensor 7 Base Count Stores the reference count value for sensor 7 00h Page 75 57h R Sensor 8 Base Count Stores the reference count value for sensor 8 00h Page 75 58h R Sensor 9 Base Count Stores the reference count value for sensor 9 00h Page 75 59h R Sensor 10 Base Count Stores the reference count value for sensor 10 00h Page 75 5Ah R Sensor 11 Base Count Stores the reference count value for sensor 11 00h Page 75 5Bh R Sensor 12 Base Count Stores the reference count value for sensor 12 00h Page 75 5Ch R Sensor 13 Base Count Stores the reference count value for sensor 13 00h Page 75 5Dh R Sensor 14 Base Count Stores the reference count value for sensor 14 00h Page 75 60h R LED Status 1 Stores status bits for LEDs 1 - 8 00h Page 76 61h R LED Status 2 Stores status bits for LEDs 9 - 11 00h Page 76 62h R/W Feedback Configuration Controls FEEDBACK pin duration and frequency 00h Page 77 63h R/W Feedback Channel Configuration 1 Controls whether sensors 1 - 7 can assert the FEEDBACK pin 00h Page 78 64h R/W Feedback Channel Configuration 2 Controls whether sensors 8 - 14 can assert the FEEDBACK pin 00h Page 78 65h R/W Feedback One-Shot Asserts FEEDBACK pin 00h Page 79 70h R/W LED / GPIO Direction Controls the direction for LED1/ GPIO1 through LED8 / GPIO8 00h Page 79 71h R/W LED / GPIO Output Type Controls the output type for LED1 / GPIO1 through LED8 / GPIO8 00h Page 80 72h R GPIO Input Stores the pin state of LED1 / GPIO1 through LED8 / GPIO8 00h Page 81 73h R/W LED Output Control 1 Controls the output state of the LED drivers 1 - 8 00h Page 81 74h R/W LED Output Control 2 Controls the output state of the LED drivers 9 - 11 00h Page 81 75h R/W LED Polarity 1 Controls the output polarity of LEDs 1 - 8 00h Page 82 Revision 1.0 (08-30-10) 38 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Table 6.1 Register Set in Hexadecimal Order (continued) REGISTER ADDRESS R/W REGISTER NAME FUNCTION DEFAULT VALUE PAGE 76h R/W LED Polarity 2 Controls the output polarity of LEDs 9 - 11 00h Page 82 77h R/W Linked LED Transition Control 1 Controls transition effects of LEDS 1 - 7 when linked 00h Page 84 78h R/W Linked LED Transition Control 2 Controls transition effects of LEDS 9 - 10 when linked 00h Page 84 79h R/W LED Mirror Control 1 Controls the duty cycle mirroring of LEDs 1 - 8 00h Page 85 7Ah R/W LED Mirror Control 2 Controls the duty cycle mirroring of LEDs 9 - 11 00h Page 85 80h R/W Sensor LED Linking Controls linking of CS1 - CS7 to LED channels 00h Page 86 81h R/W LED Behavior 1 Controls the behavior and response of LEDs 1 - 4 00h Page 87 82h R/W LED Behavior 2 Controls the behavior and response of LEDs 5 - 8 00h Page 87 83h R/W LED Behavior 3 Controls the behavior and response of LEDs 9 - 11 00h Page 87 84h R/W LED Pulse 1 Period Controls the period of each breathe during a pulse 20h Page 89 85h R/W LED Pulse 2 Period Controls the period of breath and pulse release operation 14h Page 91 86h R/W LED Breathe Period Controls the period of an LED breathe operation 5Dh Page 92 88h R/W LED Configuration Controls the number of pulses for the Pulse 1 and Pulse 2 LED behaviors 24h Page 92 8Ah R/W LED11 Configuration Controls LED11 base frequency and steps 00h Page 93 90h R/W LED Pulse 1 Duty Cycle Determines the min and max duty cycle for the pulse 1 operation F0h Page 94 91h R/W LED Pulse 2 Duty Cycle Determines the min and max duty cycle for the pulse 2 operation F0h Page 94 92h R/W LED Breathe Duty Cycle Determines the min and max duty cycle for the breathe operation F0h Page 94 93h R/W LED Direct Duty Cycle Determines the min and max duty cycle for Direct mode LED operation F0h Page 94 94h R/W LED Direct Ramp Rates Determines the rising and falling edge ramp rates of the LED 00h Page 95 95h R/W LED Off Delay Determines the off delay for some LED behaviors 00h Page 96 SMSC CAP1214 39 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Table 6.1 Register Set in Hexadecimal Order (continued) REGISTER ADDRESS R/W REGISTER NAME FUNCTION DEFAULT VALUE PAGE B1h R Sensor 1 Calibration Stores the high byte of the 10-bit value used to drive the analog portion of sensor 1 00h Page 99 B2h R Sensor 2 Calibration Stores the high byte of the 10-bit value used to drive the analog portion of sensor 2 00h Page 99 B3h R Sensor 3 Calibration Stores the high byte of the 10-bit value used to drive the analog portion of sensor 3 00h Page 99 B4h R Sensor 4 Calibration Stores the high byte of the 10-bit value used to drive the analog portion of sensor 4 00h Page 99 B5h R Sensor 5 Calibration Stores the high byte of the 10-bit value used to drive the analog portion of sensor 5 00h Page 99 B6h R Sensor 6 Calibration Stores the high byte of the 10-bit value used to drive the analog portion of sensor 6 00h Page 99 B7h R Sensor 7 Calibration Stores the high byte of the 10-bit value used to drive the analog portion of sensor 7 00h Page 99 B8h R Sensor 8 Calibration Stores the high byte of the 10-bit value used to drive the analog portion of sensor 8 00h Page 99 B9h R Sensor 9 Calibration Stores the high byte of the 10-bit value used to drive the analog portion of sensor 9 00h Page 99 BAh R Sensor 10 Calibration Stores the high byte of the 10-bit value used to drive the analog portion of sensor 10 00h Page 99 BBh R Sensor 11 Calibration Stores the high byte of the 10-bit value used to drive the analog portion of sensor 11 00h Page 99 BCh R Sensor 12 Calibration Stores the high byte of the 10-bit value used to drive the analog portion of sensor 12 00h Page 99 BDh R Sensor 13 Calibration Stores the high byte of the 10-bit value used to drive the analog portion of sensor 13 00h Page 99 BEh R Sensor 14 Calibration Stores the high byte of the 10-bit value used to drive the analog portion of sensor 14 00h Page 99 FDh R Product ID Stores a fixed value that identifies the device 5Ah Page 100 Revision 1.0 (08-30-10) 40 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Table 6.1 Register Set in Hexadecimal Order (continued) REGISTER ADDRESS R/W REGISTER NAME FUNCTION DEFAULT VALUE PAGE FEh R Manufacturer ID Stores a fixed value that identifies SMSC 5Dh Page 45 FFh R Revision Stores a fixed value that represents the revision number 80h Page 101 During Power-On-Reset (POR), the default values are stored in the registers. A POR is initiated when power is first applied to the part and the voltage on the VDD supply surpasses the POR level as specified in the electrical characteristics. Any reads to undefined registers will return 00h. Writes to undefined registers will not have an effect. When a bit is "set", this means that the user writes a logic `1' to it. When a bit is "cleared", this means that the user writes a logic `0' to it. 6.1 Main Status Control Register Table 6.2 Main Status Control Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 00h R/W Main Status Control - DEACT SLEEP DSLEEP - - PWR_ LED INT 00h The Main Status and Control Register controls the primary power state of the device. Bit 6 - DEACT - Deactivates all sensor scanning and LED activity. `0' - (default) - Sensor scanning is active and LEDs are functional. `1' - All sensor scanning is disabled and all linked LEDs are disabled (see Section 6.51). The only way to restart scanning is to clear this bit. The status registers are automatically cleared and the INT bit is cleared. Bit 5 - SLEEP - Enables Sleep state by deactivating the LED activity and scanning those sensors enabled via the Sleep Control register. `0' (default) - Sensor scanning is active and LEDs are functional. `1' - All LEDs are disabled (except LED11) and the Capacitive Touch Sensor scanning is limited to the sensors set in the Sleep Channel Control register (see Section 6.22). The status registers will not be cleared. Bit 4 - DSLEEP - Enables the Deep Sleep state by deactivating all functions. `0' (default) - Sensor scanning is active and LEDs are functional. `1' - All sensor scanning is disabled. Except for LED11, all LEDs are driven to their programmed non-actuated state and no PWM operations will be done. The device will return to its previous power state when the ALERT pin is driven to its active level (see Section 5.8). The status registers are automatically cleared and the INT bit is cleared. SMBus communications targeted at the CAP1214 will bring the device out of deep sleep and automatically clear this bit. SMSC CAP1214 41 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Bit 1 - PWR_LED - Controls the output of LED11 based on the state of bits 5 and 4. `0' (default) - The LED11 output is in the "inactive" or off state. The LED can still be driven by setting bit 2 LED11_DR in the LED Output Control 2 Register (74h). `1' - The LED11 output is active in one of the following conditions: a. Both bits 4 and 5 are set to a logic `0'. The LED will behave as defined by the LED11_CTL bits (see Section 6.51). b. Either bit 4 or bit 5 is set to a logic `1'. The LED will behave as defined by the LED11_ALT bits (see Section 6.51). Bit 0 - INT - Indicates that there is an interrupt. This bit is only set if the ALERT pin has been asserted. If a channel detects a press and its associated interrupt enable bit is set to a logic `0', no action is taken. This bit is cleared by writing a logic `0' to it. When this bit is cleared, the ALERT pin will be deasserted and all status registers will be cleared if the condition has been removed. 6.2 `0' - No interrupt pending. `1' - A button press has been detected on one or more channels and the interrupt has been asserted. Button Status Registers Table 6.3 Button Status Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 03h R Button Status 1 UP DOWN CS6 CS5 CS4 CS3 CS2 CS1 00h 04h R Button Status 2 CS14 CS13 CS12 CS11 CS10 CS9 CS8 CS7 00h The Button Status Registers store status bits that indicate a button press has been detected. A value of `0' in any bit indicates that no button press has been detected. A value of `1' in any bit indicates that a button press has been detected. All status bits are cleared when the device enters the Deep Sleep or Inactive states (DSLEEP = `1' or DEACT = `1' - see Section 6.1). All status bits are cleared when the INT bit is cleared and if a touch on the respective Capacitive Touch Sensor is no longer present. If a touch is still detected, the bits will not be cleared (but this will not cause the interrupt to be asserted - see Section 6.14) APPLICATION NOTE: When the Button Status 1 Register is read, the Group Status register will be automatically cleared. Therefore, the Group Status register should be read prior to reading the Button Status Registers 6.2.1 Button Status 1 Bit 7 - UP - Indicates that a slide was detected on increasing sensors (i.e. Sensor 8 -> Sensor 9 -> Sensor 10). This bit is also set if a press is detected on the "Up" portion of the slider. If the Group auto-repeat is enabled, the ALERT pin will be periodically asserted while a slide or press and hold event is still detected. This bit is sticky and will remain set until cleared. Once cleared, it will be re-set when another interrupt is generated in the "UP" direction. This bit is automatically cleared if the DOWN bit is set. Bit 6 - DOWN - Indicates that a slide was detected on decreasing sensors (i.e. Sensor 14 -> Sensor 13-> Sensor 12). This bit is also set if a press is detected on the "Down" portion of the slider. If the Group auto-repeat is enabled, the ALERT pin will be periodically asserted while a slide or press and hold event is still detected. This bit is sticky and will remain set until cleared. Once cleared, it will be Revision 1.0 (08-30-10) 42 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet re-set when another interrupt is generated in the "DOWN" direction. This bit is automatically cleared if the UP bit is set. Bit 5 - CS6 - Indicates that a press was detected on Sensor 6. This sensor can be linked to LED6. `0' - A touch was not detected on the corresponding button. `1' - A touch was detected on the corresponding button. Bit 4 - CS5 - Indicates that a press was detected on Sensor 5. This sensor can be linked to LED5. Bit 3 - CS4 - Indicates that a press was detected on Sensor 4. This sensor can be linked to LED4. Bit 2 - CS3 - Indicates that a press was detected on Sensor 3. This sensor can be linked to LED3 Bit 1 - CS2 - Indicates that a press was detected on Sensor 2. This sensor can be linked to LED2. Bit 0 - CS1 - Indicates that a press was detected on Sensor 1. This sensor can be linked to LED1. 6.2.2 Button Status 2 Bit 7 - CS14 - Indicates that press was detected on Sensor 14. This sensor is part of the group which can be linked to LED9 and LED10. Bit 6 - CS13 - Indicates that press was detected on Sensor 13. This sensor is part of the group which can be linked to LED9 and LED10. Bit 5 - CS12 - Indicates that press was detected on Sensor 12. This sensor is part of the group which can be linked to LED9 and LED10. Bit 4 - CS11 - Indicates that press was detected on Sensor 11. This sensor is part of the group which can be linked to LED9 and LED10. Bit 3 - CS10 - Indicates that press was detected on Sensor 10. This sensor is part of the group which can be linked to LED9 and LED10. Bit 2 - CS9 - Indicates that press was detected on Sensor 9. This sensor is part of the group which can be linked to LED9 and LED10. Bit 1 - CS8 - Indicates that press was detected on Sensor 8. This sensor is part of the group which can be linked to LED9 and LED10. Bit 0 - CS7 - Indicates that a press was detected on Sensor 7. This sensor can be linked to LED7. 6.3 Build Revision Register Table 6.4 Build Revision Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 05h R Build Revision - - - Build4 Build3 Build2 Build1 Build0 10h The Build Revision Register indicates hardware defined settings that are used. SMSC CAP1214 43 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 6.4 Slider Position / Volumetric Data Register Table 6.5 Slider Position / Volumetric Data Register ADDR R/W REGISTER B7 06h R-C / R/W Slider Position / Volumetric Data - B6 B5 B4 B3 POS[6:0] B2 B1 B0 DEFAULT 00h The Slider Position / Volumetric Data Register indicates the absolute position of a Tap, Slide, or Press and Hold event detected on the Grouped sensors (slider). Alternately, the register stores volumetric data that increases or decreased based on detected operations on the Grouped sensors (slider). Bits 6-0 - POS[6:0] - Indicate absolute position or volumetric data as determined by the POS_VOL bit (see Section 6.14). 6.4.1 Absolute Position The absolute position of a single touch is available from this register. By interpolating information from up to 3 adjacent buttons, 16 different positions are calculated by the CAP1214 from the center of one button to the center of each adjacent button. The bits will encode a range from 2 to 98 indicative of where the touch occurred. Table 6.6 shows an example of the settings assuming a single button is pressed. If a slide is detected on the Grouped sensors, the POS[6:0] bits will indicate the most recently touched sensor (i.e. where the slide ended) however will not indicate where the slide originated. APPLICATION NOTE: When the device enters the Deep Sleep state, the Slider Position / Volumetric Data Register (06h) is cleared, if the register is set to represent position data. APPLICATION NOTE: The register will be cleared to a value of 00h when it is read. It will be set to a valid position when the next ALERT is generated. It will be updated at the respective repeat rate for a slide or press and hold event regardless of whether it has been read or not. Therefore, it will only show the position of the last touch detected at the time of the interrupt. Table 6.6 Example Slider Absolute Position Decode Revision 1.0 (08-30-10) TOUCH POSITION POS[6:0] SETTINGS CS8 02h (2d) CS9 12h (18d) CS10 22h (34d) CS11 32h (50d) CS12 42h (68d) CS13 52h (82d) CS14 62h (98d) 44 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 6.4.2 Volumetric Data If they are setup to present Volumetric Data (see Section 6.14), the bits will encode a range from 0 to 100. This value is updated based on the Grouped sensor activity: A slide in the "UP" direction will increase the volumetric data by the Volumetric Step setting (see Section 6.6) whenever an interrupt is generated (including extra interrupts generated after the slide is complete). A slide in the "DOWN" direction will decrease the volumetric data by the Volumetric Step setting (see Section 6.6) whenever an interrupt is generated (including extra interrupts generated after the slide is complete) A tap (see Section 5.5.1) on the "UP" side will increase the volumetric data by a value of 1. A tap on the "DOWN" side will decrease the volumetric data by a value of 1. A press and hold (see Section 5.5.2) on the "UP" side will increase the volumetric data by a value of 1 at every repeat rate interval. A press and hold (see Section 5.5.2) on the "DOWN" side will decrease the volumetric data by a value of 1 at every repeat rate interval. The bits are read / write. 6.5 Vendor ID Register Table 6.7 Vendor ID Register ADDR 08h FEh R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT R Vendor ID 0 1 0 1 1 1 0 1 5Dh B2 B1 B0 DEFAULT The Vendor ID Register stores an 8-bit value that represents SMSC. 6.6 Volumetric Step Register Table 6.8 Volumetric Step Register ADDR R/W REGISTER B7 B6 B5 B4 09h R/W Volumetric Step - - - - B3 VOL_STEP[3:0] 01h The Volumetric Step Register controls the size of a step to the volumetric data when a slide is detected in the UP and DOWN directions. Bits 3 - 0 - VOL_STEP[3:0] - Determines the volumetric data step when a slide is detected. Each LSB corresponds to a value of 1. SMSC CAP1214 45 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 6.7 Noise Status Registers Table 6.9 Noise Status Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 0Ah R Noise Status 1 S1_RF_ NOISE S7_ NOISE S6_ NOISE S5_ NOISE S4_ NOISE S3_ NOISE S2_ NOISE S1_ NOISE 00h 0Bh R Noise Status 2 - S14_ NOISE S13_ NOISE S12_ NOISE S11_ NOISE S10_ NOISE S9_ NOISE S8_ NOISE 00h The Noise Status Registers store status bits that are generated from the analog block if the detected noise is above the operating region of the analog detector or the RF noise detector. These bits indicate that the most recently received data from the sensor is invalid and should not be used for touch detection. As long as the bit is set for a particular channel, the delta count value is reset to 00h and thus no touch is detected. When set, the S1_RF_NOISE (register 0Ah, bit 7) indicates that the CS1 RF noise detector has detected noise. These bits are not sticky and will be cleared automatically if the analog block does not report a noise error. APPLICATION NOTE: For the CAP1214-2, if the lid closure detection circuitry is enabled, these bits count as sensors above the lid closure count threshold even if the corresponding data count is not. If the corresponding data byte exceeds the lid closure threshold, it is not counted twice. APPLICATION NOTE: Regardless of the state of the Noise Status bits, if low frequency noise is detected on a sensor, that sample will be discarded unless the DIS_ANA_NOISE bit is set. As well, if RF noise is detected on a sensor, that sample will be discarded unless the DIS_RF_NOISE bit is set. 6.8 Lid Closure Status Registers Table 6.10 Lid Closure Status Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 0Ch R Lid Closure Status 1 - S7_ LID S6_ LID S5_ LID S4_ LID S3_ LID S2_ LID S1_ LID 00h 0Dh R Lid Closure Status 2 - S14_ LID S13_ LID S12_ LID S11_ LID S10_ LID S9_ LID S8_ LID 00h The Lid Closure Status Registers bits are only set if the lid closure detection circuitry is enabled (see Section 6.24). These status bits indicate that the corresponding Capacitive Touch Sensor exceeded the Lid Closure threshold. These bits will be set if a button press is detected because the Lid Closure threshold is a percentage of the Sensor Threshold. These bits are used in combination with the Lid Closure Pattern register settings to determine when a Lid Closure Event is flagged (see Section 6.26). These bits are not sticky and will be cleared automatically when the corresponding sensor count drops below the lid closure count threshold. The device does not flag a sensor as above or below the threshold until it has cycled through the queue (see Section 6.25, "Lid Closure Queue Control Register"). Revision 1.0 (08-30-10) 46 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet APPLICATION NOTE: It is likely that recalibration will occur while the lid is closed, resulting in negative delta counts until recalibration takes place. 6.9 GPIO Status Register Table 6.11 GPIO Status Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 0Eh R-C GPIO Status GPIO8_ STS GPIO7_ STS GPIO6_ STS GPIO5_ STS GPIO4_ STS GPIO3_ STS GPIO2_ STS GPIO1_ STS 00h The GPIO Status Register bits are set whenever one of the GPIO inputs changes states. If the LEDx / GPIOx pin is not configured as a GPIO or as an input, the respective bit will be set to a logic `0'. The bits are cleared when the register is read. 6.10 Group Status Register Table 6.12 Group Status Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 0Fh R-C Group Status LID MULT RESET - UP DOWN TAP PH 00h The Group Status Register indicates that one or more actions were detected on the Grouped sensors. The detectable actions are described in Section 5.5 and Section 5.6. Bit 7 - LID - Indicates that a Lid Closure Event has been detected. This bit is sticky. When it is set, it will remain set until read. When a Lid Closure Event is detected, all new touches will be blocked. Bit 6 - MULT - This bit is asserted if one or more touches are being blocked because greater than N buttons are simultaneously pressed. Bit 5 - RESET - Indicates that the device has exited the reset state. This bit may be set via a power on reset or upon release of the RESET pin. When it is set, it will remain set until read. Bit 3 - UP - Indicates that a slide was detected on increasing sensors (i.e. Sensor 8 -> Sensor 9 -> Sensor 10) or on CS14 when the Grouped sensors are ungrouped. This bit is also set if a touch (tap or press and hold event) is detected on the "Up" portion of the slider. If the Group auto-repeat is enabled, the ALERT pin will be periodically asserted while a slide or press and hold event is detected. This bit will be cleared when read and re-set when another interrupt is generated. This bit is cleared automatically if the DOWN bit is set. Bit 2 - DOWN - Indicates that a slide was detected on decreasing sensors (i.e. Sensor 14 -> Sensor 13 -> Sensor 12) or on CS8 when the Grouped sensors are ungrouped. This bit is also set if a touch (tap or press and hold event) is detected on the "Down" portion of the slider. If the Group auto-repeat is enabled, the ALERT pin will be periodically asserted while a slide or press and hold event is detected. This bit will be cleared when read and re-set when another interrupt is generated. This bit is automatically cleared if the UP bit is set. Bit 1 - TAP - Indicates that a tap was detected on one of the sensors within the Group. The relative position of the tap is indicated by the UP and DOWN bits so that a tap on the "UP" side of the group will assert the UP bit as well as the TAP bit. If the tap event is detected in the "center" of the slider that is neither "UP" nor "DOWN", the bit will be set; however, no interrupt will be generated. This bit is sticky and will remain set until read. SMSC CAP1214 47 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Bit 0 - PH - Indicates that a press and hold event was detected on one of the sensors within the Group. the relative position of the press is indicated by the UP and DOWN bits so a touch and hold on the "UP" side of the group will assert the UP bit as well as the PH bit. If the press and hold event is detected in the "center" of the slider that is neither "UP" nor "DOWN", the bit will be set; however, no interrupt will be generated. This bit is sticky and will remain set until read. If the condition is still present, this bit will be re-set when the interrupt is generated. 6.11 Sensor Delta Count Registers Table 6.13 Sensor Delta Count Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 10h R Sensor 1 Delta Count Sign 64 32 16 8 4 2 1 00h 11h R Sensor 2 Delta Count Sign 64 32 16 8 4 2 1 00h 12h R Sensor 3 Delta Count Sign 64 32 16 8 4 2 1 00h 13h R Sensor 4 Delta Count Sign 64 32 16 8 4 2 1 00h 14h R Sensor 5 Delta Count Sign 64 32 16 8 4 2 1 00h 15h R Sensor 6 Delta Count Sign 64 32 16 8 4 2 1 00h 16h R Sensor 7 Delta Count Sign 64 32 16 8 4 2 1 00h 17h R Sensor 8 Delta Count Sign 64 32 16 8 4 2 1 00h 18h R Sensor 9 Delta Count Sign 64 32 16 8 4 2 1 00h 19h R Sensor 10 Delta Count Sign 64 32 16 8 4 2 1 00h 1Ah R Sensor 11 Delta Count Sign 64 32 16 8 4 2 1 00h 1Bh R Sensor 12 Delta Count Sign 64 32 16 8 4 2 1 00h 1Ch R Sensor 13 Delta Count Sign 64 32 16 8 4 2 1 00h 1Dh R Sensor 14 Delta Count Sign 64 32 16 8 4 2 1 00h The Sensor Delta Count Registers store the delta count that is compared against the threshold used to determine if a touch has been detected. The count value represents a change in input due to the capacitance associated with a touch on one of the sensors and is referenced to a calibrated base "Not Touched" count value. The delta is an instantaneous change and is updated once per sensor per sensing cycle (see Section 5.4.4 - sensor cycle). Revision 1.0 (08-30-10) 48 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet The value presented is a standard 2's complement number. In addition, the value is capped at a value of 7Fh. A reading of 7Fh indicates that the sensitivity settings are too high and should be adjusted accordingly (see Section 6.13). The value is also capped at a negative value of FFh for negative delta counts which may result upon a release. 6.12 Queue Control Register Table 6.14 Queue Control Register ADDR R/W REGISTER B7 B6 B5 B4 B3 1Eh R/W Queue Control - - NO_ CLR_ INTD NO_ CLR_ NEG - B2 B1 B0 DEFAULT QUEUE_B[2:0] 03h The Queue Control Register determines the number of consecutive samples for which a single sensor output is above the Sensor Threshold before a touch is detected. This is also used to determine the number of consecutive samples used to detect a button release. The queue applies independently to all channels. This register also determines how the noise status bits affect some data. Bit 5 - NO_CLR_INTD - Controls whether the accumulation of intermediate data is cleared if the noise status bit is set. `0' (default) - The accumulation of intermediate data is cleared if the noise status bit is set. `1' - The accumulation of intermediate data is not cleared if the noise status bit is set. APPLICATION NOTE: Bits 4 and 5 should both be set to the same value. Either both should be set to `0' or both should be set to `1'. Bit 4 - NO_CLR_NEG - Controls whether the consecutive negative delta counts counter is cleared if the noise status bit is set. `0' (default) - The consecutive negative delta counts counter is cleared if the noise status bit is set. `1' - The consecutive negative delta counts counter is not cleared if the noise status bit is set. Bits 2 - 0 - QUEUE_B[2:0] - The number of consecutive samples necessary to detect a touch. Default is 3 consecutive samples. See Table 6.15. Table 6.15 QUEUE_B Bit Decode QUEUE_B[2:0] 2 1 0 NUMBER OF CONSECUTIVE READINGS > THRESHOLD 0 0 0 1 0 0 1 1 0 1 0 2 0 1 1 3 (default) 1 0 0 4 1 0 1 5 1 1 0 6 SMSC CAP1214 49 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Table 6.15 QUEUE_B Bit Decode (continued) QUEUE_B[2:0] 6.13 2 1 0 NUMBER OF CONSECUTIVE READINGS > THRESHOLD 1 1 1 7 Data Sensitivity Registers Table 6.16 Data Sensitivity Register ADDR R/W REGISTER B7 1Fh R/W Data Sensitivity - B6 B5 B4 B3 DELTA_SENSE[2:0] B2 B1 B0 DEFAULT BASE_SHIFT[3:0] 2Fh The Data Sensitivity Register controls the sensitivity of all button channels. Bits 6- 4 DELTA_SENSE[2:0] - Controls the sensitivity of a touch detection. The sensitivity settings act to scale the relative delta count value higher or lower based on the system parameters. A setting of 000b is the most sensitive while a setting of 111b is the least sensitive (see Table 6.17). At the more sensitive settings, touches are detected for a smaller delta C corresponding to a "lighter" touch. These settings are more sensitive to noise and a noisy environment may flag more false touches than less sensitive levels. APPLICATION NOTE: A value of 128x is the most sensitive setting available. At the most sensitive settings, the MSB of the Delta Count register represents 64 out of ~25,000 which corresponds to a touch of approximately 0.25% of the base capacitance (or a C of 25fF from a 10pF base capacitance). Conversely, a value of 1x is the least sensitive setting available. At these settings, the MSB of the Delta Count register corresponds to a delta count of 8192 counts out of ~25,000 which corresponds to a touch of approximately 33% of the base capacitance (or a C of 3.33pF from a 10pF base capacitance). Table 6.17 DELTA_SENSE Bit Decode DELTA_SENSE[2:0] 2 1 0 SENSITIVITY MULTIPLIER 0 0 0 128x (most sensitive) 0 0 1 64x 0 1 0 32x (default) 0 1 1 16x 1 0 0 8x 1 0 1 4x 1 1 0 2x 1 1 1 1x - (least sensitive) Bits 3 - 0 - BASE_SHIFT [3:0] - Controls the scaling and data presentation of the Base Count registers. The higher the value of these bits, the larger the range and the lower the resolution of the data Revision 1.0 (08-30-10) 50 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet presented. The scale factor represents the multiplier to the bit-weighting presented in these register descriptions. See Table 6.18. APPLICATION NOTE: The BASE_SHIFT[3:0] bits normally do not need to be updated. These settings will not affect touch detection or sensitivity. These bits are sometimes helpful in analyzing the Cap Sensing board performance and stability. Table 6.18 BASE_SHIFT Bit Decode BASE_SHIFT[3:0] 3 2 1 0 DATA SCALING FACTOR 0 0 0 0 1x 0 0 0 1 2x 0 0 1 0 4x 0 0 1 1 8x 0 1 0 0 16x 0 1 0 1 32x 0 1 1 0 64x 0 1 1 1 128x 1 0 0 0 256x 256x (default = 1111b) All others 6.14 Configuration Register Table 6.19 Configuration Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 20h R/W Configuration TIME OUT POS_ VOL DIS_ DIG_ NOISE DIS_ ANA_ NOISE MAX_ DUR_ EN_B RPT_ EN_B MAX_ DUR_ EN_G RPT_ EN_G 29h The Configuration Register controls general global functionality that affects the entire device. Bit 7 - TIMEOUT - Enables the time-out and idle functionality of the SMBus protocol. `0' (default) - The SMBus time-out and idle functionality are disabled. The SMBus interface will not time out if the clock line is held low. Likewise, it will not reset if both the data and clock lines are held high for longer than 150us. This is used for I2C compliance. `1' - The SMBus time-out and idle functionality are enabled. The SMBus interface will time out if the clock line is held low for longer than 30ms. Likewise, it will reset if both the data and clock lines are held high for longer than 150us. Bit 6 - POS_VOL - Determines the behavior of the POS[6:0] status bits when a Grouped sensor is activated - see Section 6.4. SMSC CAP1214 `0' (default) - The POS[6:0] bits represent position information that indicates which sensor was touched or the last sensor touched during a slide. 51 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet `1' - The POS[6:0] bits represent volumetric data. The Position / Volumetric Data register is read / write. Bit 5 - DIS_DIG_NOISE - Determines whether the digital noise threshold (see Section 6.29, "Button Noise Threshold Registers") is used by the device. Setting this bit disables the feature. `0' - The digital noise threshold is used. If a delta count value exceeds the noise threshold but does not exceed the touch threshold, the sample is discarded and not used for the automatic recalibration routine. `1' (default) - The noise threshold is disabled. Any delta count that is less than the touch threshold is used for the automatic re-calibration routine. Bit 4 - DIS_ANA_NOISE - Determines whether the analog noise filter is enabled. Setting this bit disables the feature. `0' (default) - If low frequency noise is detected by the analog block, the delta count on the corresponding channel is set to 0. Note that this does not require that Noise Status bits be set. `1' - A touch is not blocked even if low frequency noise is detected. Bit 3 - MAX_DUR_EN_B - Determines whether the maximum duration recalibration is enabled for nongrouped sensors. `0' - The maximum duration recalibration functionality is disabled. A press may be held indefinitely and no re-calibration will be performed on any button. `1' (default) - The maximum duration recalibration functionality is enabled. If a press is held for longer than the MAX_DUR_B bit settings, the re-calibration routine will be restarted (see Section 6.16). Bit 2 - RPT_EN_B - Determines whether repeat rate is enabled for all buttons. `0' (default) - Repeat rate is not enabled. An interrupt will be generated when a touch is detected. `1' - Repeat rate is enabled for all buttons. Bit 1 - MAX_DUR_EN_G - Determines whether the maximum duration recalibration is enabled for grouped sensors. `0' (default) - The maximum duration recalibration functionality is disabled. A press may be held indefinitely and no re-calibration will be performed on any button. `1' - The maximum duration recalibration functionality is enabled. If a press is held for longer than the MAX_DUR_G bit settings, the re-calibration routine will be restarted (see Section 6.18). Bit 0 - RPT_EN_G - Determines the interrupt mechanism used when a Press and Hold event is detected on a grouped sensor. 6.15 `0' - An interrupt will be generated when a Press and Hold event is detected. `1' (default) - An interrupt will be generated when a Press and Hold event is detected and at the programmed repeat rate so long as the sensor is pressed. Sensor Enable Register Table 6.20 Sensor Enable Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 21h R/W Sensor Enable GP_EN S7_EN S6_EN S5_EN S4_EN S3_EN S2_EN S1_EN FFh The Sensor Enable Register determines whether a Capacitive Touch Sensor input is included in the sampling cycle in the fully active state. The length of the sampling cycle is not affected by the number of sensors measured. Revision 1.0 (08-30-10) 52 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Bit 7 - GP_EN - Enables the Grouped Sensors to be included during the sampling cycle. `0' - All sensors in the grouped sensors will not be sampled regardless of the state of the VOL_UP_DOWN bit. `1' (default) - Grouped sensors will be sampled. Individual channels are enabled via the Group Sampling Enable register. Bit 6 - S7_EN - Enables the CS7 input to be included during the sampling cycle. `0' - The CS7 input is not included in the sampling cycle. `1' (default) - The CS7 input is included in the sampling cycle. Bit 5 - S6_EN - Enables the CS6 input to be included during the sampling cycle. Bit 4 - S5_EN - Enables the CS5 input to be included during the sampling cycle. Bit 3 - S4_EN - Enables the CS4 input to be included during the sampling cycle. Bit 2 - S3_EN - Enables the CS3 input to be included during the sampling cycle. Bit 1 - S2_EN - Enables the CS2 input to be included during the sampling cycle. Bit 0 - S1_EN - Enables the CS1 input to be included during the sampling cycle. 6.16 Button Configuration Register Table 6.21 Button Configuration Register ADDR R/W REGISTER 22h R/W Button Configuration B7 B6 B5 B4 MAX_DUR_B[3:0] B3 B2 B1 RPT_RATE_B[3:0] B0 DEFAULT A4h The Button Configuration Register controls timings associated with the Capacitive Sensor channels 1 - 7 that are not Grouped. Bits 7 - 4 - MAX_DUR_B [3:0] - (default 1010b) - Determines the maximum time that a button is allowed to be pressed until the Capacitive Touch sensor is recalibrated as shown in Table 6.22. Bits 3 - 0 - RPT_RATE_B[3:0] - (default 0100b) Determines the time duration between interrupt assertions when auto repeat is enabled. The resolution is 35ms the range is from 35ms to 560ms as shown in Table 6.23. SMSC CAP1214 53 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Table 6.22 MAX_DUR_B and MAX_DUR_G Bit Decode MAX_DUR_B[3:0] AND MAX_DUR_G[3:0] 3 2 1 0 TIME BEFORE RECALIBRATION 0 0 0 0 560ms 0 0 0 1 840ms 0 0 1 0 1120ms 0 0 1 1 1400ms 0 1 0 0 1680ms 0 1 0 1 2240ms 0 1 1 0 2800ms 0 1 1 1 3360ms 1 0 0 0 3920ms 1 0 0 1 4480ms 1 0 1 0 5600ms (default for CS1 - CS7) 1 0 1 1 6720ms 1 1 0 0 7840ms 1 1 0 1 8906ms (default for Grouped Sensors) 1 1 1 0 10080ms 1 1 1 1 11200ms Table 6.23 RPT_RATE_B / SL / PH Bit Decode RPT_RATE_B / RPT_RATE_SL / RPT_RATE_PH 3 2 1 0 INTERRUPT REPEAT RATE 0 0 0 0 35ms 0 0 0 1 70ms 0 0 1 0 105ms 0 0 1 1 140ms 0 1 0 0 175ms (default) 0 1 0 1 210ms 0 1 1 0 245ms Revision 1.0 (08-30-10) 54 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Table 6.23 RPT_RATE_B / SL / PH Bit Decode (continued) RPT_RATE_B / RPT_RATE_SL / RPT_RATE_PH 3 2 1 0 INTERRUPT REPEAT RATE 0 1 1 1 280ms 1 0 0 0 315ms 1 0 0 1 350ms 1 0 1 0 385ms 1 0 1 1 420ms 1 1 0 0 455ms 1 1 0 1 490ms 1 1 1 0 525ms 1 1 1 1 560ms 6.17 Group Configuration Register 1 Table 6.24 Group Configuration Register 1 ADDR R/W REGISTER B7 23h R/W Group Configuration 1 B6 B5 B4 B3 RPT_RATE_PH[3:0] B2 B1 B0 DEFAULT M_PRESS[3:0] 47h The Group Configuration 1 Register controls timings associated with the Capacitive Sensor channels 8 - 14 that are included in the group. Bits 7-4 - RPT_RATE_PH[3:0] - (default 0100b) Determines the time duration between interrupt assertions when auto repeat is enabled. This setting applies when a press and hold condition is detected on the on the Grouped Sensors (see Section 5.5). The resolution is 35ms the range is from 35ms to 560ms as shown in Table 6.23. Bits 3- 0 - M_PRESS[3:0] - (default 0111b) - Determines the minimum amount of time that a sensor in the Group must detect a button press to differentiate between a tap and a press and hold. If the sensor detects a touch for longer than the M_PRESS[3:0] settings, a Press and Hold event is detected. This has no effect on whether a slide is detected within the group. If a slide is detected before or after the press has been confirmed, it is treated as a separate event. If a sensor detects a touch for less than or equal to the M_PRESS[3:0] settings, a Tap event is detected. The resolution is 35ms the range is from 35ms to 560ms as shown in Table 6.25. Table 6.25 M_PRESS Bit Decode M_PRESS[3:0] 3 2 1 0 M_PRESS TIME 0 0 0 0 35ms 0 0 0 1 70ms SMSC CAP1214 55 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Table 6.25 M_PRESS Bit Decode (continued) M_PRESS[3:0] 6.18 3 2 1 0 M_PRESS TIME 0 0 1 0 105ms 0 0 1 1 140ms 0 1 0 0 175ms 0 1 0 1 210ms 0 1 1 0 245ms 0 1 1 1 280ms (default) 1 0 0 0 315ms 1 0 0 1 350ms 1 0 1 0 385ms 1 0 1 1 420ms 1 1 0 0 455ms 1 1 0 1 490ms 1 1 1 0 525ms 1 1 1 1 560ms Group Configuration Register 2 Table 6.26 Group Configuration Register 2 ADDR R/W REGISTER 24h R/W Group Configuration 2 B7 B6 B5 B4 MAX_DUR_G[3:0] B3 B2 B1 RPT_RATE_SL[3:0] B0 DEFAULT D4h The Group Configuration 2 Register controls timings associated with the Capacitive Sensor channels 8 - 14 that are included in the group. Bits 7 - 4 - MAX_DUR_G [3:0] - (default 1101b) - Determines the maximum time that a button is allowed to be pressed until the Capacitive Touch sensor is recalibrated as shown in Table 6.22. Bits 3 - 0 - RPT_RATE_SL[3:0] - (default 0100b) Determines the time duration between interrupt assertions when auto repeat is enabled. This setting applies when a slide is detected on the Grouped Sensors and acts as the base repeat rate that is adjusted based on the slide speed (see Section 5.5.5). The resolution is 35ms the range is from 35ms to 560ms as shown in Table 6.23. Revision 1.0 (08-30-10) 56 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 6.19 Calibration Enable Register Table 6.27 Calibration Enable Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 25h R/W Calibration Enable G_ CEN S7_ CEN S6_ CEN S5_ CEN S4_ CEN S3_ CEN S2_ CEN S1_ CEN FFh The Calibration Enable Register controls whether the indicated Capacitive Touch Sensor input is automatically re-calibrated. If a sensor is not enabled, the corresponding calibration enable bit is ignored. Bit 7- G_CEN - Enables all sensors in the group to be re-calibrated simultaneously. `0' - None of the grouped channels are automatically re-calibrated. They can be re-calibrated manually by setting the G_CAL bit. `1' (default) - All of the grouped channels are automatically re-calibrated as the CAP1214 samples. Bit 6 - S7_CEN - Enables the CS7 input to be re-calibrated automatically. `0' - The CS7 input is not automatically re-calibrated. `1' (default) - The CS7 input is automatically re-calibrated as the CAP1214 samples. Bit 5 - S6_CEN - Enables the CS6 input to be re-calibrated automatically. Bit 4 - S5_CEN - Enables the CS5 input to be re-calibrated automatically. Bit 3 - S4_CEN - Enables the CS4 input to be re-calibrated automatically. Bit 2 - S3_CEN - Enables the CS3 input to be re-calibrated automatically. Bit 1 - S2_CEN - Enables the CS2 input to be re-calibrated automatically. Bit 0 - S1_CEN - Enables the CS1 input to be re-calibrated automatically. 6.20 Calibration Activate Registers Table 6.28 Calibration Activate Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 26h R/W Calibration Activate G_ CAL S7_ CAL S6_ CAL S5_ CAL S4_ CAL S3_ CAL S2_ CAL S1_ CAL 00h R/W Grouped Sensor Calibration Activate S14_ CAL S13_ CAL S12_ CAL S11_ CAL S10_ CAL S9_ CAL S8_ CAL 00h 46h The Calibration Activate Registers force the respective sensors to be re-calibrated. When a bit is set, the corresponding Capacitive Touch Sensor will be re-calibrated and the bit will be automatically cleared once the re-calibration routine has finished. This calibration routine will update the internal analog controls and gain settings followed by a digital calibration to capture the base count for touch detection. During the re-calibration routine, the sensors will not detect a press for up to 600ms and the Sensor Base Count register values will be invalid. During this time, any press on the corresponding sensors will invalidate the re-calibration. SMSC CAP1214 57 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 6.20.1 Calibration Activate - 26h Bit 7 - G_CAL - When set, all sensors in the group are re-calibrated. This bit is automatically cleared once all of the sensors in the group have been re-calibrated successfully. Bit 6 - S7_CAL - When set, the CS7 input is re-calibrated. This bit is automatically cleared once the sensor has been re-calibrated successfully. Bit 5 - S6_CAL - When set, the CS6 input is re-calibrated. This bit is automatically cleared once the sensor has been re-calibrated successfully. Bit 4 - S5_CAL - When set, the CS5 input is re-calibrated. This bit is automatically cleared once the sensor has been re-calibrated successfully. Bit 3 - S4_CAL - When set, the CS4 input is re-calibrated. This bit is automatically cleared once the sensor has been re-calibrated successfully. Bit 2 - S3_CAL - When set, the CS3 input is re-calibrated. This bit is automatically cleared once the sensor has been re-calibrated successfully. Bit 1 - S2_CAL - When set, the CS2 input is re-calibrated. This bit is automatically cleared once the sensor has been re-calibrated successfully. Bit 0 - S1_CAL - When set, the CS1 input is re-calibrated. This bit is automatically cleared once the sensor has been re-calibrated successfully. 6.20.2 Grouped Sensor Calibration Activate - 46h Bit 6 - S14_CAL - When set, the CS14 input is re-calibrated. This bit is automatically cleared once the sensor has been re-calibrated successfully. Bit 5 - S13_CAL - When set, the CS13 input is re-calibrated. This bit is automatically cleared once the sensor has been re-calibrated successfully. Bit 4 - S12_CAL - When set, the CS12 input is re-calibrated. This bit is automatically cleared once the sensor has been re-calibrated successfully. Bit 3 - S11_CAL - When set, the CS11 input is re-calibrated. This bit is automatically cleared once the sensor has been re-calibrated successfully. Bit 2 - S10_CAL - When set, the CS10 input is re-calibrated. This bit is automatically cleared once the sensor has been re-calibrated successfully. Bit 1 - S9_CAL - When set, the CS9 input is re-calibrated. This bit is automatically cleared once the sensor has been re-calibrated successfully. Bit 0 - S8_CAL - When set, the CS8 input is re-calibrated. This bit is automatically cleared once the sensor has been re-calibrated successfully. 6.21 Interrupt Enable Registers Table 6.29 Interrupt Enable Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 27h R/W Interrupt Enable 1 G_ INT_ EN S7_ INT_ EN S6_ INT_ EN S5_ INT_ EN S4_ INT_ EN S3_ INT_ EN S2_ INT_ EN S1_ INT_ EN FFh 28h R/W Interrupt Enable 2 GPIO8_ INT_EN GPIO7_ INT_EN GPIO6_ INT_EN GPIO5_ INT_EN GPIO4_ INT_EN GPIO3_ INT_EN GPIO2_ INT_EN GPIO1_ INT_EN 00h Revision 1.0 (08-30-10) 58 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet The Interrupt Enable Registers determine whether a button press or GPIO input changing state causes the interrupt pin to be asserted. 6.21.1 Interrupt Enable 1 Bit 7 - G_INT_EN - Enables the interrupt pin to be asserted if a slide, tap, or press and hold action is detected on the grouped sensors. `0' - The interrupt pin will not be asserted if a slide, tap, or press and hold action is detected on the grouped sensors (associated with the UP, DOWN, TAP, and PH status bits). `1' (default) - The interrupt pin will asserted if a slide, tap, or press and hold event is detected on the grouped sensors (associated with the UP, DOWN, TAP, and PH status bits). Bit 6 - S7_INT_EN - Enables the interrupt pin to be asserted if a touch is detected on CS7 (associated with the CS7 status bit). `0' - The interrupt pin will not be asserted if a touch is detected on CS7 (associated with the CS7 status bit). `1' (default) - The interrupt pin will be asserted is detected on CS7 (associated with the CS7 status bit). Bit 5 - S6_INT_EN - Enables the interrupt pin to be asserted if a touch is detected on CS6 (associated with the CS6 status bit). Bit 4 - S5_INT_EN - Enables the interrupt pin to be asserted if a touch is detected on CS5 (associated with the CS5 status bit). Bit 3 - S4_INT_EN - Enables the interrupt pin to be asserted if a touch is detected on CS4 (associated with the CS4 status bit). Bit 2 - S3_INT_EN - Enables the interrupt pin to be asserted if a touch is detected on CS3 (associated with the CS3 status bit). Bit 1 - S2_INT_EN - Enables the interrupt pin to be asserted if a touch is detected on CS2 (associated with the CS2 status bit). Bit 0 - S1_INT_EN - Enables the interrupt pin to be asserted if a touch is detected on CS1 (associated with the CS1 status bit). 6.21.2 Interrupt Enable 2 These bits enable the interrupt pin to be asserted when the GPIOx status bit has been set. Bit 7 - GPIO8_INT_EN - Enables the interrupt pin to be asserted if the GPIO8 status bit has been set. `0' (default) - The interrupt pin will not be asserted if the GPIO8 status bit has been set. `1' - The interrupt pin will be asserted if the GPIO8 status bit has been set. Bit 6 - GPIO7_INT_EN - Enables the interrupt pin to be asserted if the GPIO7 status bit has been set. Bit 5 - GPIO6_INT_EN - Enables the interrupt pin to be asserted if the GPIO6 status bit has been set. Bit 4 - GPIO5_INT_EN - Enables the interrupt pin to be asserted if the GPIO5 status bit has been set. Bit 3 - GPIO4_INT_EN - Enables the interrupt pin to be asserted if the GPIO4 status bit has been set. Bit 2 - GPIO3_INT_EN - Enables the interrupt pin to be asserted if the GPIO3 status bit has been set. Bit 1 - GPIO2_INT_EN - Enables the interrupt pin to be asserted if the GPIO2 status bit has been set. Bit 0 - GPIO1_INT_EN - Enables the interrupt pin to be asserted if the GPIO1 status bit has been set. SMSC CAP1214 59 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 6.22 Sleep Channel Control Register Table 6.30 Sleep Channel Control Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 29h R/W Sleep Channel Control GR_ SLEEP S7_ SLEEP S6_ SLEEP S5_ SLEEP S4_ SLEEP S3_ SLEEP S2_ SLEEP S1_ SLEEP 00h The Sleep Channel Control Register determines which sensors are sampled when the device is placed into the Sleep state. APPLICATION NOTE: If this register is updated while the device is in the Sleep state, the conversion cycle may be extended or for the first measurement of the new Capacitive Touch Sensors. It will correct itself on subsequent measurement cycles. APPLICATION NOTE: If this register is updated while the device is in the Sleep state, it is recommended to force a recalibration routine on newly activated channels. Bit 7 - GR_SLEEP - Enables the Grouped sensors to be sampled when the device is placed into the Sleep state. `0' (default) - Grouped Sensors are not sampled when the device is in the Sleep state. `1' - The Grouped Sensors are sampled when the device is in Sleep mode. If a tap, slide, or touch and hold is detected, the appropriate status bit is set and an interrupt generated. Individual sensors will be enabled via the Group Sensor Enable register. Bit 6 - S7_SLEEP - Enables the CS7 sensor to be sampled when the device is placed into sleep mode. `0' (default) - The CS7 input is not sampled when the device is in the Sleep state `1' - The CS7 input is sampled when the device is in Sleep mode. If a touch is detected, the status bit is set and an interrupt generated. Bit 5 - S6_SLEEP - Enables the CS6 sensor to be sampled when the device is placed into the Sleep state. Bit 4 - S5_SLEEP - Enables the CS5 sensor to be sampled when the device is placed into the Sleep state. Bit 3 - S4_SLEEP - Enables the CS4 sensor to be sampled when the device is placed into the Sleep state. Bit 2 - S3_SLEEP - Enables the CS3 sensor to be sampled when the device is placed into the Sleep state. Bit 1 - S2_SLEEP - Enables the CS2 sensor to be sampled when the device is placed into the Sleep state. Bit 0 - S1_SLEEP - Enables the CS1 sensor to be sampled when the device is placed into the Sleep state. Revision 1.0 (08-30-10) 60 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 6.23 Multiple Touch Configuration Register Table 6.31 Multiple Touch Configuration Register ADDR R/W REGISTER B7 B6 B5 B4 2Ah R/W Multiple Touch Config MULT_ BLK_EN - - - B3 B2 B_MULT_T[1:0] B1 B0 G_MULT_T[1:0] DEFAULT 82h The Multiple Touch Configuration Register controls the settings for the multiple touch detection circuitry. These settings determine the number of sensors associated with this detection and the CAP1214 device behavior. Bit 7 - MULT_BLK_EN - Enables the multiple button blocking circuitry. `0' - The multiple touch circuitry is disabled. The device will not block multiple touches. `1' (default) - The multiple touch circuitry is enabled. The device will accept the number of touches equal to programmed multiple touch threshold and block all others. It will remember which sensor is valid and block all others until that sensor has been released. Bits 3 - 2 - B_MULT_T[1:0] - Determines the number of simultaneous touches on all buttons (excluding the Grouped buttons) before a Multiple Touch Event is flagged. If the number of multiple buttons touches is greater than the threshold value, a Multiple Touch Event is flagged. The bit decode is given by Table 6.32. Table 6.32 B_MULT_T Bit Decode B_MULT_T[1:0] 1 0 NUMBER OF SIMULTANEOUS TOUCHES 0 0 1 (default) 0 1 2 1 0 3 1 1 4 Bits 1 - 0 - G_MULT_T[1:0] - Determines the number of simultaneous touches on all Grouped buttons before a Multiple Touch Event is flagged. If the number of multiple buttons touches is greater than the threshold value, a Multiple Touch Event is flagged. The bit decode is given by Table 6.33. Table 6.33 G_MULT_T Bit Decode G_MULT_T[1:0] SMSC CAP1214 1 0 NUMBER OF SIMULTANEOUS TOUCHES 0 0 2 0 1 3 1 0 4 (default) 1 1 1 61 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 6.24 Lid Closure Configuration Register Table 6.34 Lid Closure Configuration Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 2Bh R/W Lid Closure Config LID_ CLOSE - - - - - COMP_ PTRN LID_ ALRT 00h The Lid Closure Configuration Register controls the settings for the lid closure detection circuitry. Bit 7 - LID_CLOSE - Enables the lid closure circuitry. `0' (default) - The lid closure circuitry is disabled. `1' The lid closure circuitry is enabled. The device will use the Lid Closure Status registers in combination with the Lid Closure Pattern register settings to determine when a Lid Closure Event is flagged. In addition, the Noise Status bits are associated with lid closure. Bit 1 - COMP_PTRN - Determines how the Lid Closure Status registers are compared against the Lid Closure Pattern registers. See Section 6.26 for details on how the Lid Closure Pattern registers are used. `0' (default) - The Lid Closure Status registers are not compared directly against the Lid Closure Pattern registers. Instead, the number of bits in the Lid Closure Status registers is compared to the number of bits in the Lid Closure Pattern registers to determine whether a Lid Closure Event is flagged. `1' - The Lid Closure Status registers are compared directly against the Lid Closure Pattern registers. If the bits set in the Lid Closure Pattern are also set in the Lid Status registers, a Lid Closure Event is flagged. Bit 0 - LID_ALRT - Enables an interrupt if a Lid Closure Event occurs. 6.25 `0' (default) - If a Lid Closure Event occurs, the ALERT pin is not asserted. `1' - If a Lid Closure Event occurs, the ALERT pin will be asserted. Lid Closure Queue Control Register Table 6.35 Lid Closure Queue Control Register ADDR R/W REGISTER B7 B6 B5 B4 B3 2Ch R/W Lid Closure Queue Control - - - - - B2 B1 B0 QUEUE_L[2:0] DEFAULT 02h The Lid Closure Queue Control Register determines the number of consecutive samples for which a single sensor output is above the Lid Closure Threshold before it is flagged. A value of 0000b is decoded as 1. Bits 2 - 0 - QUEUE_L[2:0] - The number of consecutive samples from an individual sensor necessary to set the Lid Closure status bit associated with the sensor. The queue applies individually to all sensors (including both buttons and grouped sensors) and applies to setting and clearing the respective status bit. The queue can range from 1 sample to 8 consecutive samples with a default of 2 consecutive samples. Revision 1.0 (08-30-10) 62 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 6.26 Lid Closure Pattern Registers Table 6.36 Lid Closure Pattern Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 2Dh R/W Lid Closure Pattern 1 - S7_LM S6_LM S5_LM S4_LM S3_LM S2_LM S1_LM 7Fh 2Eh R/W Lid Closure Pattern 2 S14_ LM S13_ LM S12_ LM S11_ LM S10_ LM S9_LM S8_LM 7Fh The Lid Closure Pattern Registers act as a pattern to identify an expected sensor profile that is consistent with lid closure. They are only used when lid closure is enabled (see Section 6.24, "Lid Closure Configuration Register"). There are two methods for how the Lid Closure Status Registers are used with the Lid Closure Pattern registers: as specific sensors that must exceed the lid closure threshold or as the number of sensors that must exceed the lid closure threshold. Which method is used is based on bit 1 in the Lid Closure Configuration Register. The methods are described below. A Lid Closure Event is flagged in the Group Status register (see Section 6.10, "Group Status Register"). 1. Specific Sensors: If the bits set in the Lid Closure Pattern are also set in the Lid Status registers, a Lid Closure Event is flagged. 2. Number of Sensors: The number of bits in the Lid Closure Status registers is compared to the number of bits in the Lid Closure Pattern registers to determine whether a Lid Closure Event is flagged. If any one of the conditions below is met, the Lid Closure Event is flagged. 6.27 If the number of bits in Lid Closure Status 1 register equals or exceeds the number of bits in the Lid Closure Pattern 1 register, a Lid Closure Event is flagged. In other words, if the number of simultaneous sensors 1-7 exceeding the lid closure threshold meets or exceeds the number of bits in the Lid Closure Pattern 1 register, a Lid Closure Event is flagged. If the number of bits in Lid Closure Status 2 register equals or exceeds the number of bits in the Lid Closure Pattern 2 register, a Lid Closure Event is flagged. In other words, if the number of simultaneous grouped sensors 8-14 exceeding the lid closure threshold meets or exceeds the number of bits in the Lid Closure Pattern 2 register, a Lid Closure Event is flagged. If the total number of bits in both the Lid Closure Status 1 and 2 registers equals or exceeds the total number of bits in both the Lid Closure Pattern 1 and 2 registers, a Lid Closure Event is flagged. In other words, if the total number of sensors above the lid closure threshold is greater than or equal to the number of sensors required for both Lid Closure Patterns, a Lid Closure Event is flagged. A value of 00h in both registers will effectively disable the Lid Closure circuitry and clear the LID status bit. Recalibration Configuration Register Table 6.37 Recalibration Configuration Register ADDR R/W REGISTER B7 B6 B5 2Fh R/W Recalibration Configuration BUT_ LD_TH GP_ LD_TH - B4 B3 NEG_DELTA_ CNT[1:0] B2 B1 CAL_CFG[2:0] B0 DEFAULT 93h The Recalibration Configuration Register controls the automatic re-calibration routine settings as well as advanced controls to program the Sensor Threshold register settings and interrupt behavior. SMSC CAP1214 63 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Bit 7 - BUT_LD_TH - Enables setting all button Sensor Threshold registers by writing to the Sensor 1 Threshold register. `0' - Each Sensor X Threshold register is updated individually. `1' (default) - Writing the Sensor 1 Threshold register will automatically overwrite the Sensor Threshold registers for all buttons (Sensor Threshold 1 through Sensor Threshold 7). The individual Sensor X Threshold registers (Sensor 2 Threshold through Sensor 7 Threshold) can be individually updated at any time. Bit 6 - GP_LD_TH - Enables setting the Group Threshold register by writing to the Sensor 1 Threshold register. `0' (default) - The Group Threshold register is updated independently of the Sensor 1 Threshold register. `1' - Writing the Sensor 1 Threshold register automatically overwrites the Group Threshold register settings. Bits 4 - 3 - NEG_DELTA_CNT[1:0] - Determines the number of negative delta counts necessary to trigger a digital re-calibration as shown in Table 6.38. Table 6.38 NEG_DELTA_CNT Bit Decode NEG_DELTA_CNT[1:0] 1 0 NUMBER OF CONSECUTIVE NEGATIVE DELTA COUNT VALUES 0 0 8 0 1 16 1 0 32 (default) 1 1 None (disabled) Bits 2 - 0 - CAL_CFG[2:0] - Determines the update time and number of samples of the automatic recalibration routine. The settings apply to all sensors universally (though individual sensors and the group can be configured to support re-calibration - see Section 6.19). Table 6.39 CAL_CFG Bit Decode CAL_CFG[2:0] 2 1 0 RECALIBRATION SAMPLES (SEE Note 6.1) 0 0 0 16 16 0 0 1 32 32 0 1 0 64 64 0 1 1 256 256 (default) 1 0 0 256 1024 1 0 1 256 2048 1 1 0 256 4096 1 1 1 256 7936 Revision 1.0 (08-30-10) 64 DATASHEET UPDATE TIME (SEE Note 6.2) SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 6.28 Note 6.1 Recalibration Samples refers to the number of samples that are measured and averaged before the Base Count is updated. Note 6.2 Update Time refers to the amount of time (in polling cycle periods) that elapses before the Base Count is updated. Sensor Threshold Registers Table 6.40 Sensor Threshold Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 30h R/W Sensor 1 Threshold - 64 32 16 8 4 2 1 40h 31h R/W Sensor 2 Threshold - 64 32 16 8 4 2 1 40h 32h R/W Sensor 3 Threshold - 64 32 16 8 4 2 1 40h 33h R/W Sensor 4 Threshold - 64 32 16 8 4 2 1 40h 34h R/W Sensor 5 Threshold - 64 32 16 8 4 2 1 40h 35h R/W Sensor 6 Threshold - 64 32 16 8 4 2 1 40h 36h R/W Sensor 7 Threshold - 64 32 16 8 4 2 1 40h 37h R/W Group Threshold - 64 32 16 8 4 2 1 40h The Sensor Threshold Registers store the delta threshold that is used to determine if a touch has been detected. When a touch occurs, the input signal of the corresponding sensor changes due to the capacitance associated with a touch. If the sensor input change exceeds the threshold settings, a touch is detected. When the BUT_LD_TH bit is set (see Section 6.27 - bit 7), writing data to the Sensor 1 Threshold register will update all of the button threshold registers (31h - 36h inclusive). When the GP_LD_TH bit is set (see Section 6.27 - bit 6), writing data to the Sensor 1 Threshold register (30h) will update the Group Threshold register (37h). Individual button registers and the Group Threshold register may be updated independently of the Sensor 1 Threshold settings. SMSC CAP1214 65 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 6.29 Button Noise Threshold Registers Table 6.41 Button Noise Threshold Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 38h R/W Button Noise Threshold 1 CS4_BN_TH [1:0] CS3_BN_TH [1:0] CS2_BN_TH [1:0] CS1_BN_TH [1:0] AAh 39h R/W Button Noise Threshold 2 GR_BN_TH [1:0] CS7_BN_TH [1:0] CS6_BN_TH [1:0] CS5_BN_TH [1:0] AAh The Button Noise Threshold Registers control the value of a secondary internal threshold to detect noise and improve the automatic recalibration routine. If a Capacitive Touch Sensor output exceeds the Button Noise Threshold but does not exceed the sensor threshold, it is determined to be caused by a noise spike. That sample is not used by the automatic re-calibration routine. This feature can be disabled by setting the DIS_DIG_NOISE bit (see Section 6.14, "Configuration Register"). The Button Noise Threshold is proportional to the programmed threshold as shown in Table 6.42. Table 6.42 CSx_BN_TH Bit Decode CSX_BN_TH[1:0] 6.29.1 1 0 THRESHOLD DIVIDE SETTING 0 0 6.25% 0 1 12.5% 1 0 25% (default) 1 1 50% Button Noise Threshold 1 Register The Button Noise Threshold 1 Register controls the noise threshold for Capacitive Touch Sensors 1-4. Bits 7-6 - CH4_BN_TH[1:0] - Controls the noise threshold for Capacitive Touch Sensor 4. Bits 5-4 - CH3_BN_TH[1:0] - Controls the noise threshold for Capacitive Touch Sensor 3. Bits 3-2 - CH2_BN_TH[1:0] - Controls the noise threshold for Capacitive Touch Sensor 2. Bits 1-0 - CH1_BN_TH[1:0] - Controls the noise threshold for Capacitive Touch Sensor 1. 6.29.2 Button Noise Threshold 2 Register The Button Noise Threshold 2 Register controls the noise threshold for Capacitive Touch Sensors 5 7 and the Grouped sensors. Bits 7-6 - GR_BN_TH[1:0] - Controls the noise threshold for all grouped Capacitive Touch Sensors. Bits 5-4 - CH7_BN_TH[1:0] - Controls the noise threshold for Capacitive Touch Sensor 7. Bits 3-2 - CH6_BN_TH[1:0] - Controls the noise threshold for Capacitive Touch Sensor 6. Bits 1-0 - CH5_BN_TH[1:0] - Controls the noise threshold for Capacitive Touch Sensor 5. Revision 1.0 (08-30-10) 66 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 6.30 Lid Closure Threshold Registers Table 6.43 Lid Closure Threshold Registers ADDR R/W REGISTER B7 B6 3Ah R/W Lid Closure Threshold 1 CS4_LD_TH [1:0] CS3_LD_TH [1:0] CS2_LD_TH [1:0] CS1_LD_TH [1:0] AAh 3Bh R/W Lid Closure Threshold 2 CS8_LD_TH [1:0] CS7_LD_TH [1:0] CS6_LD_TH [1:0] CS5_LD_TH [1:0] AAh 3Ch R/W Lid Closure Threshold 3 CS12_LD_TH [1:0] CS11_LD_TH [1:0] CS10_LD_TH [1:0] CS9_LD_TH [1:0] AAh 3Dh R/W Lid Closure Threshold 4 CS14_LD_TH [1:0] CS13_LD_TH [1:0] 0Ah - B5 - B4 - - B3 B2 B1 B0 DEFAULT The Lid Closure Threshold Registers control the value of a secondary internal threshold to detect noise potentially generated by lid closure. If a Capacitive Touch Sensor output exceeds the Lid Closure Threshold, the appropriate status bit is set in the Lid Closure Status register (see Section 6.8). The Lid Closure Threshold is proportional to the programmed Sensor Threshold as shown in Table 6.44. Table 6.44 CSx_LD_TH Bit Decode CSX_LD_TH[1:0] 6.30.1 1 0 THRESHOLD DIVIDE SETTING 0 0 6.25% 0 1 12.5% 1 0 25% (default) 1 1 50% Lid Closure Threshold 1 Register The Lid Closure Threshold 1 Register controls the lid closure threshold for Capacitive Touch Sensors 1-4. Bits 7-6 - CS4_LD_TH[1:0] - Controls the lid closure threshold for Capacitive Touch Sensor 4. Bits 5-4 - CS3_LD_TH[1:0] - Controls the lid closure threshold for Capacitive Touch Sensor 3. Bits 3-2 - CS2_LD_TH[1:0] - Controls the noise threshold for Capacitive Touch Sensor 2. Bits 1-0 - CS1_LD_TH[1:0] - Controls the noise threshold for Capacitive Touch Sensor 1. 6.30.2 Lid Closure Threshold 2 Register The Lid Closure Threshold 2 Register controls the lid closure threshold for Capacitive Touch Sensors 5 - 8. Bits 7-6 - CS8_LD_TH[1:0] - Controls the lid closure threshold for Capacitive Touch Sensor 8 (one of the grouped sensors). SMSC CAP1214 67 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Bits 5-4 - CS7_LD_TH[1:0] - Controls the lid closure threshold for Capacitive Touch Sensor 7. Bits 3-2 - CS6_LD_TH[1:0] - Controls the lid closure threshold for Capacitive Touch Sensor 6. Bits 1-0 - CS5_LD_TH[1:0] - Controls the lid closure threshold for Capacitive Touch Sensor 5. 6.30.3 Lid Closure Threshold 3 Register The Lid Closure Threshold 3 Register controls the lid closure threshold for Capacitive Touch Sensors 9 - 12. Bits 7-6 - CS12_LD_TH[1:0] - Controls the lid closure threshold for Capacitive Touch Sensor 12 (one of the grouped sensors). Bits 5-4 - CS11_LD_TH[1:0] - Controls the lid closure threshold for Capacitive Touch Sensor 11 (one of the grouped sensors). Bits 3-2 - CS10_LD_TH[1:0] - Controls the lid closure threshold for Capacitive Touch Sensor 10 (one of the grouped sensors). Bits 1-0 - CS9_LD_TH[1:0] - Controls the lid closure threshold for Capacitive Touch Sensor 9 (one of the grouped sensors). 6.30.4 Lid Closure Threshold 4 Register The Lid Closure Threshold 4 Register controls the lid closure threshold for Capacitive Touch Sensors 13 - 14. Bits 3-2 - CS14_LD_TH[1:0] - Controls the lid closure threshold for Capacitive Touch Sensor 14 (one of the grouped sensors). Bits 1-0 - CS13_LD_TH[1:0] - Controls the lid closure threshold for Capacitive Touch Sensor 13 (one of the grouped sensors). 6.31 Slider Velocity Configuration Register Table 6.45 Slider Velocity Configuration Register ADDR R/W REGISTER B7 3Eh R/W Slider Velocity Configuration ACC_ INT_EN B6 B5 MAX_INT[2:0] B4 B3 B2 SLIDE_TIME [1:0] B1 B0 RPT_SCALE [1:0] DEFAULT C5h The Slider Velocity Configuration Register controls the speed sensitive behaviors of the slider, allowing the number of interrupts to be increased as the slide speed increases. Bit 7 - ACC_INT_EN - Enables the device to generate extra interrupts after an accelerated slide has been detected. `0' - The device will not generate extra interrupts during or after the slide has been detected. `1' (default) - The device will generate extra interrupts after an accelerated slide is detected. The number of extra interrupts generated will be proportional to the speed of the accelerated slide but will not exceed the maximum number of extra interrupts as determined by the MAX_INT bits. Bits 6-4 - MAX_INT[2:0] - (default 100b) Determine the maximum number of extra interrupts that will be generated after a single slide (regardless of length). The variable "T" is the actual slide time and the parameter SLIDE_TIME is set by bits [3:2] of this register. Revision 1.0 (08-30-10) 68 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Table 6.46 MAX_INT Bit Decode MAX_INT[2:0] # INTERRUPTS FOR 1/2 < T < 3/4 SLIDE_TIME # INTERRUPTS FOR 3/4 < T < FULL SLIDE_TIME 2 1 0 MAX # INTERRUPTS # INTERRUPTS FOR T < 1/2 SLIDE_TIME 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 2 2 1 0 0 1 1 3 3 1 0 1 0 0 4 4 2 1 1 0 1 5 5 2 1 1 1 0 6 6 3 1 1 1 1 7 7 3 1 Bits 3-2 - SLIDE_TIME[1:0] - (default 01b) - Determines how fast a slide must be to generate extra interrupts. This is the maximum slide time that will result in extra interrupts being generated. If the slide time is greater than SLIDE_TIME, no extra interrupts will be generated. Table 6.47 SLIDE_TIME Bit Decode SLIDE_TIME[1:0] 1 0 APPROXIMATE SLIDE TIME (MSEC) 0 0 350 0 1 560 (default) 1 0 770 1 1 980 Bits 1 - 0 - RPT_SCALE[1:0] - (default 01b) - Determines how much to increase the Repeat Rate based on slide speed. The slide speed is determined by counting how many sensors are touched in approximately 100msec. The Repeat Rate is then increased various amounts based on the RPT_SCALE parameter. When read in Table 6.48, the repeat rate given is the number of measurement cycles between interrupts generated. Table 6.48 RPT_SCALE Bit Decode REPEAT RATE (MSEC) RPT_SCALE[1:0] NUMBER OF SENSORS IN 100MSEC 00 01 10 11 >=5 35 35 35 35 4 35 35 35 70 SMSC CAP1214 69 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Table 6.48 RPT_SCALE Bit Decode (continued) REPEAT RATE (MSEC) RPT_SCALE[1:0] NUMBER OF SENSORS IN 100MSEC 00 01 10 11 3 35 35 70 105 2 35 70 105 140 1 RPT_RATE_SL Note 6.3 6.32 If the repeat rate for the slider is set at 105msec or lower, the 11b case will use the fixed values of 140, 105 and 70msec, respectively. Digital Recalibration Control Register Table 6.49 Digital Recalibration Control Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 3Fh R/W Digital Recalibration Control GP_ D_CAL CS7_ D_CAL CS6_ D_CAL CS5_ D_CAL CS4_ D_CAL CS3_ D_CAL CS2_ D_CAL CS1_ D_CAL 00h The Digital Recalibration Control Register forces channels to perform a digital calibration as if there were no base count. When a bit is set, the corresponding Capacitive Touch Sensor will be re-calibrated and the bit will be automatically cleared once the re-calibration routine has finished. This calibration routine will update the base count for touch detection. Bit 7 - GP_D_CAL - Forces the grouped sensors to perform a digital recalibration as if there were no base count. Bit 6 - CS7_D_CAL - Forces CS7 to perform a digital recalibration as if there were no base count. Bit 5 - CS6_D_CAL - Forces CS6 to perform a digital recalibration as if there were no base count. Bit 4 - CS5_D_CAL - Forces CS5 to perform a digital recalibration as if there were no base count. Bit 3 - CS4_D_CAL - Forces CS4 to perform a digital recalibration as if there were no base count. Bit 2 - CS3_D_CAL - Forces CS3 to perform a digital recalibration as if there were no base count. Bit 1 - CS2_D_CAL - Forces CS2 to perform a digital recalibration as if there were no base count. Bit 1 - CS1_D_CAL - Forces CS1 to perform a digital recalibration as if there were no base count. 6.33 Configuration 2 Register Table 6.50 Configuration 2 Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 40h R/W Configuration 2 INV_LINK_ TRAN - LED11_ CFG BLK_ POL_ MIR SHOW_ RF_ NOISE DIS_ RF_ NOISE VOL_ UP_ DOWN INT_ REL_n 00h Revision 1.0 (08-30-10) 70 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Bit 7 - INV_LINK_TRAN - Determines the behavior of the Linked LED Transition controls (see Section 6.48, "Linked LED Transition Control Registers"). `0' (default) - The Linked LED Transition controls set the min duty cycle equal to the max duty cycle. `1' - The Linked LED Transition controls will invert the touch signal. For example, a touch signal will be inverted to a non-touched signal. Bit 5 - LED11_CFG - Determines whether LED11 base frequency is configurable. `0' (default) - The PWM base frequency for the LED11 driver is set at ~2000Hz. `1' - The PWM base frequency for the LED11 driver will be configured per settings in the LED11 Configuration Register (8Ah) (see Section 6.56, "LED11 Configuration Register"). Bit 4 - BLK_POL_MIR - Determines whether the LED Mirror Control register bits are linked to the LED Polarity bits. `0' (default) - When the LED Polarity controls are set, the corresponding LED Mirror control is automatically set. Likewise, when the LED Polarity controls are cleared, the corresponding LED Mirror control is cleared. `1' - When the LED Polarity controls are changed, the corresponding LED Mirror control is not automatically changed. Bit 3 - SHOW_RF_NOISE - Determines whether the Noise Status bits will show RF Noise as the only input source. `0' (default) - The Noise Status registers will show both RF noise and low frequency noise if either is detected on a Capacitive Touch Sensor channel. `1' - The Noise Status registers will only show RF noise if it is detected on a Capacitive Touch Sensor channel. Generic noise will still be detected and touches will be blocked normally; however, the status bits will not be updated. Bit 2 - DIS_RF_NOISE - Determines whether the RF noise filter is enabled. Setting this bit disables the feature. `0' (default) - If RF noise is detected by the analog block, the delta count on the corresponding channel is set to 0. Note that this does not require that Noise Status bits be set. `1' - A touch is not blocked even if RF noise is detected. Bit 1 - VOL_UP_DOWN - Determines how the Grouped Sensors are to be used. `0' (default) - The grouped sensors are used as a slider. All seven of the sensors are sampled together and may disabled as a whole using the GP_EN (see Section 6.15) or GSLEEP (see Section 6.22) controls or individually (using the Grouped Sensor Channel Enable register - see Section 6.34). Alternately, each sensor may be disabled individually via the Group Sensor Channel Enable register. They will use the Group Threshold settings for all touch detections. `1' - The grouped sensors are used as separate sensors and are not grouped. They will behave as follows: 1. Each sensor will flag individual interrupts when a touch is detected. They will set the corresponding status bit in the Button Status 2 register. 2. The UP / DOWN, TAP, or PH status bits will not be set for CS9, CS10, CS11, CS12, or CS13. No slide will be detected. 3. Each sensor will use the Group Threshold settings. 4. Each sensor can be individually enabled / disabled via the Grouped Sensor Enable register settings. 5. All sensors except CS8 and CS14 will use the button queue controls and repeat rates. 6. The CS8 and CS14 sensors will use the tap and press and hold logic as well as the group repeat rate settings. SMSC CAP1214 71 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 7. All sensors will use the group max duration settings if this feature is enabled via the MAX_DUR_EN_G bit. 8. For CS8 and CS14, interrupts will be generated in the same way as they would be for a TAP or Press and Hold event. This means that an interrupt will be generated on a touch. If the button is held, interrupts will be generated at the Group Repeat rate until the button is released. These buttons do not use the INT_REL_n control and will only generate an interrupt when a touch is detected. 9. The CS8 sensor will be the designated "DOWN" button. When a tap or Press and Hold event is detected, it will cause the DOWN status bit to be set. The TAP and PH status bits will be set normally. 10. The CS14 sensor will be the designated "UP" button. When a Tap or Press and Hold event is detected, it will cause the UP status bit to be set. The TAP and PH status bits will be set normally. Bit 0 - INT_REL_n - Controls the interrupt behavior when a release is detected on a button. 6.34 `0' (default) - An interrupt is generated when a press is detected and again when a release is detected and at the repeat rate (if enabled - see Section 6.14 and Section 6.33). `1' - An interrupt is generated when a press is detected and at the repeat rate (if enabled - see Section 6.14 and Section 6.33). Grouped Sensor Channel Enable Register Table 6.51 Grouped Sensor Channel Enable Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 41h R/W Grouped Sensor Channel Enable - CS14_ EN CS13_ EN CS12_ EN CS11_ EN CS10_ EN CS9_ EN CS8_ EN 7Fh The Grouped Sensor Channel Enable Register enables sensors within Grouped Sensors to be sampled during the polling cycle. This register may be updated at any time. If the grouped sensors are treated as a group (see Section 6.33), then disabling one or more sensors will cause the slider to behave erratically or not at all. Bit 6 - CS14_EN - Enables the CS14 sensor to be sampled in the polling cycle. Bit 5 - CS13_EN - Enables the CS13 sensor to be sampled in the polling cycle. Bit 4 - CS12_EN - Enables the CS12 sensor to be sampled in the polling cycle. Bit 3 - CS11_EN - Enables the CS11 sensor to be sampled in the polling cycle. Bit 2 - CS10_EN - Enables the CS10 sensor to be sampled in the polling cycle. Bit 1 - CS9_EN - Enables the CS9 sensor to be sampled in the polling cycle. Bit 0 - CS8_EN - Enables the CS8 sensor to be sampled in the polling cycle. Revision 1.0 (08-30-10) 72 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 6.35 Proximity Control Register Table 6.52 Proximity Control Register ADDR R/W REGISTER B7 B6 B5 42h R/W Proximity Control CS1_ PROX PROX _SUM - B4 B3 PROX_AVG [1:0] B2 B1 B0 DEFAULT PROX_D_SENSE[2:0] 02h The Proximity Control Register controls sensitivity settings for CS1. Bit 7 - CS1_PROX - Determines the functionality of the CS1 channel. `0' (default) - The CS1 channel is not measuring proximity. It will use the standard button queue and data sensitivity controls. The Averaging will be set to a value of `1'. Writing to the PROX_AVG[2:0] bits will change the averaging applied to CS1 (and only CS1). `1' - The CS1 channel is measuring proximity. It will not use the queue. In addition, the CS1 channel will not use the DELTA_SHIFT[2:0] sensitivity settings and will instead use the PROX_D_SHIFT[2:0] settings. In Proximity mode, the signal is boosted by 8X to detect very small capacitance changes. Bit 6 - PROX_SUM - Determines whether the CS1 channel averaging will perform an average or calculate the sum of the measured channel when comparing the delta count against the threshold. `0' (default) - When configured to detect proximity, the CS1 channel delta counts will be the average. `1' - When configured to detect proximity, the CS1 channel will sum the results of the averages rather than report the true average. This value will be compared against the threshold normally. Note that this mode is intended for very small signal detection. Because the delta count is the summation of several consecutive measurements, it may become very large. Adjustments to the sensitivity and threshold values will be required to maintain proper operation. Bits 5 - 3 - PROX_AVG[1:0] - Determines the averaging value used when CS1 is set to detect proximity. When averaging is enabled (i.e. not set at a value of `1'), the CS1 sensor will be sampled the average number of times consecutively during the same polling cycle. The delta counts are summed and then divided by the number of averages to get an average delta which is compared against the threshold normally. This will increase the time of the polling cycle linearly with the number of averages taken. As the polling cycle time is used to set the update rate, repeat rate, and recalibration times, these will likewise increase. See Table 6.53. Table 6.53 PROX_AVG Bit Decode PROX_AVG[1:0] 1 0 NUMBER OF DIGITAL AVERAGES POLLING CYCLE TIME INCREASE (SEE Note 6.4) 0 0 16 (default) +38ms 0 1 32 +79ms 1 0 64 +161ms 1 1 128 +325ms Note 6.4 SMSC CAP1214 The Polling time increase is based on the default sampling time as determined by the Sampling Configuration register (see Section 6.37). 73 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Bits 2 - 0 - PROX_D_SENSE[2:0] - Controls the sensitivity of detecting proximity. The sensitivity settings act to scale the relative delta count value higher or lower based on the system parameters. A setting of 0000b is the most sensitive while a setting of 1111b is the least sensitive. At the more sensitive settings, touches are detected for a smaller delta C corresponding to a "lighter" touch. These settings are more sensitive to noise, however, and a noisy environment may flag more false touches than less sensitive levels. See Table 6.17. 6.36 Sampling Channel Select Register Table 6.54 Sampling Channel Select Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 4Eh R/W Sampling Channel Select GR_S CS7_S CS6_S CS5_S CS4_S CS3_S CS2_S CS1_S 00h The Sampling Channel Select Register determines which (if any) Capacitive Sensor input is controlled by the Sampling Configuration register. Bit 7 - GR_S - Determines if all grouped sensors are controlled by the Sampling Configuration register settings. `0' (default) - The grouped sensors are not controlled by the Sampling Configuration register settings. All Grouped sensors will be sampled in a 2.5ms window of the entire polling cycle (which requires 35ms). `1' - The grouped sensors are controlled by the Sampling Configuration register settings. Each sensor sampling window will be determined based on these bit settings and the overall polling cycle time will increase. Bit 6 - CS7_S - Determines if Capacitive Touch Sensor 7 is controlled by the Sampling Configuration register settings. Bit 5 - CS6_S - Determines if Capacitive Touch Sensor 6 is controlled by the Sampling Configuration register settings. Bit 4 - CS5_S - Determines if Capacitive Touch Sensor 5 is controlled by the Sampling Configuration register settings. Bit 3 - CS4_S - Determines if Capacitive Touch Sensor 4 is controlled by the Sampling Configuration register settings. Bit 2 - CS3_S - Determines if Capacitive Touch Sensor 3 is controlled by the Sampling Configuration register settings. Bit 1 - CS2_S - Determines if Capacitive Touch Sensor 2 is controlled by the Sampling Configuration register settings. Bit 0 - CS1_S - Determines if Capacitive Touch Sensor 1 is controlled by the Sampling Configuration register settings. Revision 1.0 (08-30-10) 74 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 6.37 Sampling Configuration Register Table 6.55 Sampling Configuration Register ADDR R/W REGISTER B7 B6 B5 B4 B3 4Fh R/W Sampling Configuration - - - - - B2 B1 B0 DEFAULT OVERSAMP_RATE[2:0] 00h The Sampling Configuration Register controls the length of the sampling window of selected Capacitive Touch Sensor channels as indicated in the Sampling Channel Select register. Increasing the sampling window time will have two effects. The first effect will be to increase the effective sensitivity of that particular channel so that a touch may be detected with a smaller C. However, at the larger sampling times, the resolution of the measurement is reduced. The second effect will be increase the overall round robin rate (and all timing associated with the round robin rate such as re-calibration times, repeat rate times, and maximum duration times). All Capacitive Touch Sensors default to a sampling time of 2.5ms. Increasing the sampling time of any single channel will increase the overall polling cycle by the same amount. Bits 2 - 0 - OVERSAMP_RATE[2:0] - Determine the time to take a single sample. This setting applies to all selected sensors. Table 6.56 OVERSAMP_RATE Bit Decode OVERSAMP_RATE[2:0] 6.38 2 1 0 SENSOR SAMPLING TIME 1 0 0 40ms 1 0 1 20ms 1 1 0 10ms 1 1 1 5ms 0 0 0 2.5ms (default) 0 0 1 1.28ms 0 1 0 0.64ms 0 1 1 0.32ms Sensor Base Count Registers Table 6.57 Sensor Base Count Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 50h R Sensor 1 Base Count 128 64 32 16 8 4 2 1 00h 51h R Sensor 2 Base Count 128 64 32 16 8 4 2 1 00h SMSC CAP1214 75 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Table 6.57 Sensor Base Count Registers (continued) ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 52h R Sensor 3 Base Count 128 64 32 16 8 4 2 1 00h 53h R Sensor 4 Base Count 128 64 32 16 8 4 2 1 00h 54h R Sensor 5 Base Count 128 64 32 16 8 4 2 1 00h 55h R Sensor 6 Base Count 128 64 32 16 8 4 2 1 00h 56h R Sensor 7 Base Count 128 64 32 16 8 4 2 1 00h 57h R Sensor 8 Base Count 128 64 32 16 8 4 2 1 00h 58h R Sensor 9 Base Count 128 64 32 16 8 4 2 1 00h 59h R Sensor 10 Base Count 128 64 32 16 8 4 2 1 00h 5Ah R Sensor 11 Base Count 128 64 32 16 8 4 2 1 00h 5Bh R Sensor 12 Base Count 128 64 32 16 8 4 2 1 00h 5Ch R Sensor 13 Base Count 128 64 32 16 8 4 2 1 00h 5Dh R Sensor 14 Base Count 128 64 32 16 8 4 2 1 00h The Sensor Base Count Registers store the calibrated "Not Touched" input value from the Capacitive Touch Sensor inputs. These registers are periodically updated by the re-calibration routine. The routine uses an internal adder to add the current count value for each reading to the sum of the previous readings until sample size has been reached. At this point, the upper 16 bits are taken and used as the Sensor Base Count. The internal adder is then reset and the re-calibration routine continues. The data presented is determined by the BASE_SHIFT bits (see Section 6.13). 6.39 LED Status Registers Table 6.58 LED Status Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 60h R LED Status 1 LED8_ DN LED7_ DN LED6_ DN LED5_ DN LED4_ DN LED3_ DN LED2_ DN LED1_ DN 00h 61h R LED Status 2 - - - - - LED11_ DN LED10_ DN LED9_ DN 00h Revision 1.0 (08-30-10) 76 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet The LED Status Registers indicate when an LED has completed its configured behavior (see Section 6.51, "LED Behavior Registers") after being actuated by the host (see Section 6.46, "LED Output Control Registers"). These bits are ignored when the LED is linked to a capacitive sensor input. The bits are cleared when the INT bit has been cleared. Likewise, these bits are cleared when the DSLEEP bit is set. 6.39.1 LED Status 1 Bit 7 - LED8_DN - Indicates that LED8 has finished its behavior after being actuated by the host. Bit 6 - LED7_DN - Indicates that LED7 has finished its behavior after being actuated by the host. Bit 5 - LED6_DN - Indicates that LED6 has finished its behavior after being actuated by the host. Bit 4 - LED5_DN - Indicates that LED5 has finished its behavior after being actuated by the host. Bit 3 - LED4_DN - Indicates that LED4 has finished its behavior after being actuated by the host. Bit 2 - LED3_DN - Indicates that LED3 has finished its behavior after being actuated by the host. Bit 1 - LED2_DN - Indicates that LED2 has finished its behavior after being actuated by the host. Bit 0 - LED1_DN - Indicates that LED1 has finished its behavior after being actuated by the host. 6.39.2 LED Status 2 Bit 2 - LED11_DN - Indicates that LED11 has finished its behavior after being actuated by the host. Bit 1 - LED10_DN - Indicates that LED10 has finished its behavior after being actuated by the host. Bit 0 - LED9_DN - Indicates that LED9 has finished its behavior after being actuated by the host. 6.40 Feedback Configuration Register Table 6.59 Feedback Configuration Register ADDR R/W REGISTER 62h R/W Feedback Configuration B7 B6 B5 B4 FDBK_DUR[2:0] B3 B2 B1 B0 FDBK_FREQ[4:0] DEFAULT 00h The Feedback Configuration Register controls the output of the FEEDBACK pin (see Section 5.7, "FEEDBACK Pin"). APPLICATION NOTE: When linked to one or more sensors, the FEEDBACK pin will be activated when a touch is detected. If the duration, frequency, or linking is changed while the FEEDBACK pin is active, these changes will be applied the next time that the FEEDBACK pin is activated. APPLICATION NOTE: If linked to one or more sensors and a second touch is detected while the FEEDBACK pin is active, it will be restarted immediately without completing the current activity duration. Any previously programmed setting changes are applied. Bits 7-5 - FDBK_DUR[2:0] - Controls the duration of the FEEDBACK pin output (see Table 6.60). SMSC CAP1214 77 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Table 6.60 FDBK_DUR Bit Decode FDBK_DUR[2:0] 2 1 0 DURATION 0 0 0 0 (disabled) (default) 0 0 1 8ms 0 1 0 16ms 0 1 1 32ms 1 0 0 64ms 1 0 1 128ms 1 1 0 256ms 1 1 1 while button is pressed Bits 4-0 - FDBK_FREQ[4:0] - Controls the frequency of the FEEDBACK pin output. The LSB represents 125Hz. For example, a setting of 00100b (04d) represents a frequency of 500Hz (125Hz x 4 = 500Hz). The total range is from 125 Hz to 3875Hz. A setting of 00000b uses DC, which will set the output full high for the specified duration. 6.41 Feedback Channel Configuration Registers Table 6.61 Feedback Channel Configuration Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 63h R/W Feedback Channel Configuration 1 - CS7_ FDBK CS6_ FDBK CS5_ FDBK CS4_ FDBK CS3_ FDBK CS2_ FDBK CS1_ FDBK 00h 64h R/W Feedback Channel Configuration 2 - CS14_ FDBK CS13_ FDBK CS12_ FDBK CS11_ FDBK CS10_ FDBK CS9_ FDBK CS8_ FDBK 00h The Feedback Channel Configuration Registers control which sensors are linked to the FEEDBACK pin (see Section 5.7, "FEEDBACK Pin"). 6.41.1 Feedback Channel Configuration 1 For all bits in this register: `0' (default) - The sensor input is not linked to the FEEDBACK pin. `1' - The sensor is linked to the FEEDBACK pin and will assert the pin when a touch is detected. Bit 6 - CS7_FDBK - Links the CS7 input to the FEEDBACK pin. Bit 5 - CS6_FDBK - Links the CS6 input to the FEEDBACK pin. Bit 4 - CS5_FDBK - Links the CS5 input to the FEEDBACK pin. Revision 1.0 (08-30-10) 78 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Bit 3 - CS4_FDBK - Links the CS4 input to the FEEDBACK pin. Bit 2 - CS3_FDBK - Links the CS3 input to the FEEDBACK pin. Bit 1 - CS2_FDBK - Links the CS2 input to the FEEDBACK pin. Bit 0 - CS1_FDBK - Links the CS1 input to the FEEDBACK pin. 6.41.2 Feedback Channel Configuration 2 For all bits in this register: `0' (default) - The sensor input is not linked to the FEEDBACK pin. `1' - The sensor is linked to the FEEDBACK pin and will assert the pin when a touch is detected. Bit 6 - CS14_FDBK - Links the CS14 input to the FEEDBACK pin. Bit 5 - CS13_FDBK - Links the CS13 input to the FEEDBACK pin. Bit 4 - CS12_FDBK - Links the CS12 input to the FEEDBACK pin. Bit 3 - CS11_FDBK - Links the CS11 input to the FEEDBACK pin. Bit 2 - CS10_FDBK - Links the CS10 input to the FEEDBACK pin. Bit 1 - CS9_FDBK - Links the CS9 input to the FEEDBACK pin. Bit 0 - CS8_FDBK - Links the CS8 input to the FEEDBACK pin. 6.42 Feedback One-Shot Register Table 6.62 Feedback One-Shot Register ADDR R/W REGISTER 65h R/W Feedback One-Shot B7 B6 B5 B4 B3 B2 B1 B0 Writing to this register asserts the FEEDBACK pin for the configured duration at the configured frequency. DEFAULT 00h The Feedback One-Shot Register allows the application to notify the CAP1214 to assert the FEEDBACK pin (see Section 5.7, "FEEDBACK Pin"). This register is self-clearing. APPLICATION NOTE: If the FDBK_DUR[2:0] settings are set at either `000b' or `111b', this one-shot will not function. 6.43 LED / GPIO Direction Register Table 6.63 LED / GPIO Direction Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 70h R/W LED / GPIO Direction LED8_ DIR LED7_ DIR LED6_ DIR LED5_ DIR LED4_ DIR LED3_ DIR LED2_ DIR LED1_ DIR 00h The LED / GPIO Direction Register controls the data flow direction for the LED / GPIO pins. Each pin is controlled by a single bit. SMSC CAP1214 79 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Bit 7 - LED8_DIR - Controls the direction of the LED8 / GPIO8 pin. `0' (default) - The LED8 / GPIO8 pin is configured as an input and cannot be used to drive an LED. `1' - The LED8 / GPIO8 pin is configured as an output. Bit 6 - LED7_DIR - Controls the direction of the LED7 / GPIO7 pin. Bit 5 - LED6_DIR - Controls the direction of the LED6 / GPIO6 pin. Bit 4 - LED5_DIR - Controls the direction of the LED5 / GPIO5 pin. Bit 3 - LED4_DIR - Controls the direction of the LED4 / GPIO4 pin. Bit 2 - LED3_DIR - Controls the direction of the LED3 / GPIO3 pin. Bit 1 - LED2_DIR - Controls the direction of the LED2 / GPIO2 pin. Bit 0 - LED1_DIR - Controls the direction of the LED1 / GPIO1 pin. 6.44 LED / GPIO Output Type Register Table 6.64 LED / GPIO Output Type Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 71h R/W LED / GPIO Output Type LED8_ OT LED7_ OT LED6_ OT LED5_ OT LED4_ OT LED3_ OT LED2_ OT LED1_ OT 00h The LED / GPIO Output Type Register controls the type of output for the LEDx / GPIOx pins that are configured to operate as outputs. Each pin is controlled by a single bit. Bit 7 - LED8_OT - Determines the output type of LED8. `0' (default) - The LED8 / GPIO8 pin is an open-drain output with an external pull-up resistor. When the appropriate bit is set to the "active" state (logic `1'), the pin will be driven low. Conversely, when the bit is set to the "inactive" state (logic `0'), the pin will be left in a high-Z state and pulled high via an external pull-up resistor. `1' - The LEDx / GPIO8 pin is a push-pull output. When driving a logic `1', the pin is driven high. When driving a logic `0', the pin is driven low. Bit 6 - LED7_OT - Determines the output type of LED7. Bit 5 - LED6_OT - Determines the output type of LED6. Bit 4 - LED5_OT - Determines the output type of LED5. Bit 3 - LED4_OT - Determines the output type of LED4. Bit 2 - LED3_OT - Determines the output type of LED3. Bit 1 - LED2_OT - Determines the output type of LED2. Bit 0 - LED1_OT - Determines the output type of LED1. Revision 1.0 (08-30-10) 80 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 6.45 GPIO Input Register Table 6.65 GPIO Input Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 72h R GPIO Input GPIO8 GPIO7 GPIO6 GPIO5 GPIO4 GPIO3 GPIO2 GPIO1 00h The GPIO Input Register reflects the state of the LEDx / GPIOx pins. These bits are updated whenever the pin state changes regardless of the operation of the pin. If a LEDx / GPIOx pin is configured as an input (see Section 6.40), when a pin changes states, the GPIOx_STS bit is set. If the corresponding interrupt enable bit is also set, an interrupt will be asserted. 6.46 LED Output Control Registers Table 6.66 LED Output Control Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 73h R/W LED Output Control 1 LED8_ DR LED7_ DR LED6_ DR LED5_ DR LED4_ DR LED3_ DR LED2_ DR LED1_ DR 00h 74h R/W LED Output Control 2 LED11_ DR LED10_ DR LED9_ DR 00h The LED Output Control Registers control the output state of the LED pins when they are configured as outputs (see Section 6.43, "LED / GPIO Direction Register") and are not linked to sensor inputs (see Section 6.50, "Sensor LED Linking Register"). When these bits are set, the drive of the pin is determined by the output type and the polarity controls (see Section 6.44, "LED / GPIO Output Type Register" and Section 6.47, "LED Polarity Registers"). The LED Polarity Control register will determine the non actuated state of the LED pins. The actuated LED behavior is determined by the LED behavior controls (see Section 6.51, "LED Behavior Registers"). 6.46.1 LED Output Control 1 Bit 7 - LED8_DR - Determines whether the LED8 output is driven high or low. This LED cannot be linked to a Capacitive Touch Sensor. `0' (default) - The LED8 output is driven at the minimum duty cycle or is not actuated. `1' - The LED8 output is high-Z or driven at the maximum duty cycle or is actuated. Bit 6 - LED7_DR - Determines whether LED7 output is driven high or low. Bit 5 - LED6_DR - Determines whether LED6 output is driven high or low. Bit 4 - LED5_DR - Determines whether LED5 output is driven high or low. Bit 3 - LED4_DR - Determines whether LED4 output is driven high or low. Bit 2 - LED3_DR - Determines whether LED3 output is driven high or low. Bit 1 - LED2_DR - Determines whether LED2 output is driven high or low. Bit 0 - LED1_DR - Determines whether LED1 output is driven high or low. SMSC CAP1214 81 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 6.46.2 LED Output Control 2 Bit 2 - LED11_DR - Determines whether LED11 is driven high or low. This LED cannot be linked to a Capacitive Touch Sensor. `0' (default) - The LED11 output is driven at the minimum duty cycle or is not actuated `1' - The LED11 output is high-Z or driven at the maximum duty cycle or is actuated. Bit 1 - LED10_DR - Determines whether LED10 is driven high or low. If this LED is linked to the Group of sensors, LED9 is automatically linked to the Group if sensors. Bit 0 - LED9_DR - Determines whether LED9 is driven high or low. 6.47 LED Polarity Registers Table 6.67 LED Polarity Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 75h R/W LED Polarity 1 LED8_ POL LED7_ POL LED6_ POL LED5_ POL LED4_ POL LED3_ POL LED2_ POL LED1_ POL 00h 76h R/W LED Polarity 2 - - - - - LED11_ POL LED10_ POL LED9_ POL 00h The LED Polarity Registers control the logical polarity of the LED outputs. When these bits are set or cleared, the corresponding LED Mirror controls are also set or cleared (unless the BLK_POL_MIR bit is set - see Section 6.33). Table 6.68, "LED Polarity Behavior" shows the interaction between the polarity controls, output controls, and relative brightness. APPLICATION NOTE: The polarity controls determine the final LED pin drive. A touch on a linked Capacitive Touch Sensor is treated in the same way as the LED Output Control bit being set to a logic `1'. APPLICATION NOTE: The LED drive assumes that the LEDs are configured such that if the LED pin is driven to a logic `0', the LED will be on and the CAP1214 LED pin is sinking the LED current. Conversely, if the LED pin is driven to a logic `1', the LED will be off and there is no current flow. See Figure 5.1, "System Diagram for CAP1214". APPLICATION NOTE: This application note applies when the LED polarity is inverted (LEDx_POL = `0'). For LED operation, the duty cycle settings determine the % of time that the LED pin will be driven to a logic `0' state in an inverted system. The Max Duty Cycle settings define the maximum % of time that the LED pin will be driven low (i.e. maximum % of time that the LED is on) while the Min Duty Cycle settings determine the minimum % of time that the LED pin will be driven low (i.e. minimum % of time that the LED is on). When there is no touch detected or the LED Output Control register bit is at a logic `0', the LED output will be driven at the minimum duty cycle setting. Breathe operations will ramp the duty cycle from the minimum duty cycle to the maximum duty cycle. APPLICATION NOTE: This application note applies when the LED polarity is non-inverted (LEDx_POL = `1'). For LED operation, the duty cycle settings determine the % of time that the LED pin will be driven to a logic `1' state in a non-inverted system. The Max Duty Cycle settings define the maximum % of time that the LED pin will be driven high (i.e. maximum % of time that the LED is off) while the Min Duty Cycle settings determine the minimum % of time that the LED pin will be driven high (i.e. minimum % of time that the LED is off). When there is no touch detected or the LED Output Control register bit is at a logic `0', the LED output will be driven at 100 minus the minimum duty cycle setting. Breathe operations will ramp the duty cycle from 100 minus the minimum duty cycle to 100 minus the maximum duty cycle. Revision 1.0 (08-30-10) 82 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet APPLICATION NOTE: The LED Mirror controls (see Section 6.49, "LED Mirror Control") work with the polarity controls with respect to LED brightness but will not have a direct effect on the output pin drive. Table 6.68 LED Polarity Behavior LED OUTPUT CONTROL REGISTER MAX DUTY MIN DUTY BRIGHTNESS LED APPEARANCE 0 inverted (`0') not used minimum % of time that the LED is on (logic 0) maximum brightness at min duty cycle on at min duty cycle 1 inverted (`0') maximum % of time that the LED is on (logic 0) minimum % of time that the LED is on (logic 0) maximum brightness at max duty cycle. Brightness ramps from min duty cycle to max duty cycle. according to LED behavior 0 noninverted (`1') not used minimum % of time that the LED is off (logic 1) maximum brightness at 100 minus min duty cycle on at 100 - min duty cycle noninverted (`1') maximum % of time that the LED is off (logic 1) minimum % of time that the LED is off (logic 1) For Direct behavior, maximum brightness is 100 minus max duty cycle. When breathing, max brightness is 100 minus min duty cycle. Brightness ramps from 100 - min duty cycle to 100 - max duty cycle. according to LED behavior POLARITY 1 6.47.1 LED Polarity 1 Bit 7 - LED8_POL - Determines the polarity of the LED8 output. `0' - The LED8 output is inverted. For example, a setting of `1' in the LED 8 Output register will cause the LED pin output to be driven to a logic `0'. `1' - The LED8 output is non-inverted. For example, a setting of `1' in the LED 8 Output register will cause the LED pin output to be driven to a logic `1' or left in the high-Z state as determined by its output type. Bit 6 - LED7_POL - Determines the polarity of the LED7 output. Bit 5 - LED6_POL - Determines the polarity of the LED6 output. Bit 4 - LED5_POL - Determines the polarity of the LED5 output. Bit 3 - LED4_POL - Determines the polarity of the LED4 output. Bit 2 - LED3_POL - Determines the polarity of the LED3 output. Bit 1 - LED2_POL - Determines the polarity of the LED2 output. Bit 0 - LED1_POL - Determines the polarity of the LED1 output. SMSC CAP1214 83 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 6.47.2 LED Polarity 2 Bit 2 - LED11_POL - Determines the polarity of the LED11 output. Bit 1 - LED10_POL - Determines the polarity of the LED10 output. Bit 0 - LED9_POL - Determines the polarity of the LED9 output. 6.48 Linked LED Transition Control Registers Table 6.69 Linked LED Transition Control Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 77h R/W Linked LED Transition Control 1 - LED7_ LTRAN LED6_ LTRAN LED5_ LTRAN LED4_ LTRAN LED3_ LTRAN LED2_ LTRAN LED1_ LTRAN 00h 78h R/W Linked LED Transition Control 2 - - - - - - LED10_ LTRAN LED9_ LTRAN 00h The Linked LED Transition Control Registers control the LED drive when the LED is linked to a Capacitive Touch sensor. These controls work in conjunction INV_LINK_TRAN bit (see Section 6.33, "Configuration 2 Register") to create smooth transitions from host control to linked LEDs. 6.48.1 Linked LED Transition Control 1 - 77h Bit 6 - LED7_LTRAN - Determines the transition effect when LED7 is linked to CS7. `0' (default) - When the LED output control bit for CS7 is `1', and then CS7 is linked to LED7 and no touch is detected, the LED will change states. `1' - If the INV_LINK_TRAN bit is `1', when the LED output control bit for CS7 is `1', and then CS7 is linked to LED7 and no touch is detected, the LED will not change states. In addition, the LED state will change when the sensor is touched. If the INV_LINK_TRAN bit is `0', when the LED output control bit for CS7 is `1', and then CS7 is linked to LED7 and no touch is detected, the LED will not change states. However, the LED state will not change when the sensor is touched. APPLICATION NOTE: If the LED behavior is not "Direct" and the INV_LINK_TRAN bit it `0', the LED will not perform as expected when the LED7_LTRAN bit is set to `1'. Therefore, if breathe and pulse behaviors are used, set the INV_LINK_TRAN bit to `1'. Bit 5 - LED6_LTRAN - Determines the transition effect when LED6 is linked to CS6. Bit 4 - LED5_LTRAN - Determines the transition effect when LED5 is linked to CS5. Bit 3 - LED4_LTRAN - Determines the transition effect when LED4 is linked to CS4. Bit 2 - LED3_LTRAN - Determines the transition effect when LED3 is linked to CS3. Bit 1 - LED2_LTRAN - Determines the transition effect when LED2 is linked to CS2. Bit 0 - LED1_LTRAN - Determines the transition effect when LED1 is linked to CS1. 6.48.2 Linked LED Transition Control 2 - 78h Bit 1 - LED10_LTRAN - Determines the transition effect when LED10 is linked to the Grouped Sensors. Bit 0 - LED9_LTRAN - Determines the transition effect when LED9 is linked to the Grouped Sensors. Revision 1.0 (08-30-10) 84 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 6.49 LED Mirror Control Table 6.70 LED Mirror Control Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 79h R/W LED Mirror Control 1 LED8_ MIR _ EN LED7_ MIR _ EN LED6_ MIR _ EN LED5_ MIR _ EN LED4_ MIR _ EN LED3_ MIR _ EN LED2_ MIR _ EN LED1_ MIR _ EN 00h 7Ah R/W LED Mirror Control 2 - - - - - LED11_ MIR _ EN LED10_ MIR _ EN LED9_ MIR _ EN 00h The LED Mirror Control Registers determine the meaning of duty cycle settings when polarity is noninverted for each LED channel. When the polarity bit is set to `1' (non-inverted), to obtain correct steps for LED ramping, pulse, and breathe behaviors, the min and max duty cycles need to be relative to 100%, rather than the default, which is relative to 0%. APPLICATION NOTE: The LED drive assumes that the LEDs are configured such that if the LED pin is driven to a logic `0', the LED will be on and the CAP1214 LED pin is sinking the LED current. When the polarity bit is set to `1', it is considered non-inverted. For systems using the opposite LED configuration, mirror controls would apply when the polarity bit is `0'. These bits are changed automatically if the corresponding LED Polarity bit is changed (unless the BLK_POL_MIR bit is set - see Section 6.33). 6.49.1 LED Mirror Control 1 - 79h Bit 7 - LED8_MIR_EN - Determines whether the duty cycle settings are "biased" relative to 0% or 100% duty cycle. `0' (default) - The duty cycle settings are determined relative to 0% and are determined directly with the settings. `1' - The duty cycle settings are determined relative to 100%. Bit 6 - LED7_MIR_EN - Determines whether the duty cycle settings are "biased" relative to 0% or 100% duty cycle. Bit 5 - LED6_MIR_EN - Determines whether the duty cycle settings are "biased" relative to 0% or 100% duty cycle. Bit 4 - LED5_MIR_EN - Determines whether the duty cycle settings are "biased" relative to 0% or 100% duty cycle. Bit 3 - LED4_MIR_EN - Determines whether the duty cycle settings are "biased" relative to 0% or 100% duty cycle. Bit 2 - LED3_MIR_EN - Determines whether the duty cycle settings are "biased" relative to 0% or 100% duty cycle. Bit 1 - LED2_MIR_EN - Determines whether the duty cycle settings are "biased" relative to 0% or 100% duty cycle. Bit 0 - LED1_MIR_EN - Determines whether the duty cycle settings are "biased" relative to 0% or 100% duty cycle. SMSC CAP1214 85 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 6.49.2 LED Mirror Control 2 - 7Ah Bit 2 - LED11_MIR_EN - Determines whether the duty cycle settings are "biased" relative to 0% or 100% duty cycle. Bit 1 - LED10_MIR_EN - Determines whether the duty cycle settings are "biased" relative to 0% or 100% duty cycle. Bit 0 - LED9_MIR_EN - Determines whether the duty cycle settings are "biased" relative to 0% or 100% duty cycle. 6.50 Sensor LED Linking Register Table 6.71 Sensor LED Linking Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 80h R/W Sensor LED Linking UP_ DOWN _ LINK CS7_ LED7 CS6_ LED6 CS5_ LED5 CS4_ LED4 CS3_ LED3 CS2_ LED2 CS1_ LED1 00h The Sensor LED Linking Register controls whether a Capacitive Touch Sensor is linked to an LED output. If the corresponding bit is set, the appropriate LED output will change states defined by the LED Behavior controls (see Section 6.51, "LED Behavior Registers") in response to the Capacitive Touch sensor. If the LED channel is configured as an input, the corresponding Sensor LED Linking bit is ignored. Bit 7 - UP_DOWN_LINK - Links the LED10 output to a detected UP condition on the group including a slide in the "up" direction, a tap on the "up" side of the group or a press and hold condition on the "up" side of the group. The LED10 driver will be actuated and will behave as determined by the LED10_CTL bits. This bit also links the LED9 output to a detected DOWN condition on the group including a slide in the "down" direction, a tap on the "down" side of the group or a press and hold condition on the "down" side of the group. The LED9 driver will be actuated and will behave as determined by the LED9_CTL bits. LED9 and LED10 will not be active simultaneously. If LED9 is actuated by detecting a slide, tap, or press and hold event, LED10 will be inactive. Likewise, if LED10 is actuated by detecting a slide, tap, or press and hold event, LED9 will be inactive. Bit 6 - CS7_LED7 - Links the LED7 output to a detected touch on the CS7 sensor. When a touch is detected, the LED is actuated and will behave as determined by the LED Behavior controls. `0' - The LED7 output is not associated with the CS7 input. If a touch is detected on the CS7 input, the LED will not automatically be actuated. The LED is enabled and controlled via the LED Output Configuration register (see Section 6.46) and the LED Behavior registers (see Section 6.51). `1' - The LED 7 output is associated with the CS7 input. If a touch is detected on the CS7 input, the LED will be actuated and behave as defined in Table 6.73. Furthermore, the LED will automatically be enabled. Bit 5 - CS6_LED6 - Links the LED6 output to a detected touch on the CS6 sensor. When a touch is detected, the LED is actuated and will behave as determined by the LED Behavior controls. Bit 4 - CS5_LED5 - Links the LED5 output to a detected touch on the CS5 sensor. When a touch is detected, the LED is actuated and will behave as determined by the LED Behavior controls. Bit 4 - CS4_LED4 - Links the LED4 output to a detected touch on the CS4 sensor. When a touch is detected, the LED is actuated and will behave as determined by the LED Behavior controls. Revision 1.0 (08-30-10) 86 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Bit 2 - CS3_LED3 - Links the LED3 output to a detected touch on the CS3 sensor. When a touch is detected, the LED is actuated and will behave as determined by the LED Behavior controls. Bit 1 - CS2_LED2 - Links the LED2 output to a detected touch on the CS2 sensor. When a touch is detected, the LED is actuated and will behave as determined by the LED Behavior controls. Bit 0 - CS1_LED1 - Links the LED1 output to a detected touch on the CS1 sensor. When a touch is detected, the LED is actuated and will behave as determined by the LED Behavior controls. 6.51 LED Behavior Registers Table 6.72 LED Behavior Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 81h R/W LED Behavior 1 LED4_CTL[1:0] LED3_CTL[1:0] LED2_CTL[1:0] LED1_CTL[1:0] 00h 82h R/W LED Behavior 2 LED8_CTL[1:0] LED7_CTL[1:0] LED6_CTL[1:0] LED5_CTL[1:0] 00h 83h R/W LED Behavior 3 LED11_ALT [1:0] LED11_CTL [1:0] LED10_CTL [1:0] LED9_CTL[1:0] 00h The LED Behavior Registers control the operation of LEDs. Each LEDx / GPIOx pin is controlled by a 2-bit field. If the LEDx / GPIOx pin is configured as an input, these bits are ignored. If the corresponding LED output is linked to a Capacitive Touch Sensor, the appropriate behavior will be enabled / disabled based on touches and releases. If the LED output is not associated with a Capacitive Touch Sensor, the appropriate behavior will be enabled / disabled by the LED Output Control register. If the respective LEDx_DR bit is set to a logic `1', this will be associated as a "touch", and if the LEDx_DR bit is set to a logic `0', this will be associated as a "release". Table 6.73 shows the behavior triggers. The defined behavior will activate when the Start Trigger is met and will stop when the Stop Trigger is met. Note the behavior of the Breathe Hold and Pulse Release option. The LED Polarity Control register will determine the non actuated state of the LED outputs (see Section 6.47, "LED Polarity Registers"). APPLICATION NOTE: If an LED is not linked to a Capacitive Touch Sensor and is breathing (via the Breathe or Pulse behaviors), it must be unactuated before any changes to behavior are processed. APPLICATION NOTE: If an LED is not linked to the Capacitive Touch Sensor and configured to operate using Pulse 1 Behavior, the circuitry will only be actuated when the corresponding bit is set. It will not check the bit condition until the Pulse 1 behavior is finished. The device will not remember if the bit was cleared and reset while it was actuated. APPLICATION NOTE: If an LED is actuated and it is switched from linked to a Capacitive Touch Sensor to unlinked (or vice versa), the LED will respond to the new command source immediately if the behavior was Direct or Breathe. For Pulse behaviors, it will complete the behavior already in progress. For example, if a linked LED was actuated by a touch and the control is changed so that it is unlinked, it will check the status of the corresponding LED Output Control bit. If that bit is `0', the LED will behave as if a release was detected. Likewise, if an unlinked LED was actuated by the LED Output Control register and the control is changed so that it is linked and no touch is detected, the LED will behave as if a release was detected. 6.51.1 LED Behavior 1 - 81h Bits 7 - 6 - LED4_CTL[1:0] - Determines the behavior of LED4 / GPIO4 when configured to operate as an LED output. SMSC CAP1214 87 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Bits 5 - 4 - LED3_CTL[1:0] - Determines the behavior of LED3 / GPIO3 when configured to operate as an LED output. Bits 3 - 2 - LED2_CTL[1:0] - Determines the behavior of LED2 / GPIO2 when configured to operate as an LED output. Bits 1 - 0 - LED1_CTL[1:0] - Determines the behavior of LED1 / GPIO1 when configured to operate as an LED output. 6.51.2 LED Behavior 2 - 82h Bits 7 - 6 - LED8_CTL[1:0] - Determines the behavior of LED8 / GPIO8 when configured to operate as an LED output. Bits 5 - 4 - LED7_CTL[1:0] - Determines the behavior of LED7 / GPIO7 when configured to operate as an LED output. Bits 3 - 2 - LED6_CTL[1:0] - Determines the behavior of LED6 / GPIO6 when configured to operate as an LED output. Bits 1 - 0 - LED5_CTL[1:0] - Determines the behavior of LED5 / GPIO5 when configured to operate as an LED output. 6.51.3 LED Behavior 3 - 83h Bits 7 - 6 - LED11_ALT[1:0] - Determines the behavior of LED11 when the PWR_LED bit is set and either the SLEEP or DSLEEP bits are set (see Section 6.1). Bits 5 - 4 - LED11_CTL[1:0] - Determines the behavior of LED11 when the PWR_LED bit is set and both the SLEEP and DSLEEP bits are not set (see Section 6.1). It also determines the behavior when the LED is driven by setting bit 2 LED11_DR in the LED Output Control 2 Register (74h). Bits 3 - 2 - LED10_CTL[1:0] - Determines the behavior of LED10. Bits 1 - 0 - LED9_CTL[1:0] - Determines the behavior of LED9. APPLICATION NOTE: When driving the LED / GPIOx output as a GPO, the LEDx_CTL[1:0] bits should be set to 00b. Table 6.73 LEDx_CTL Bit Decode LEDX_CTL [1:0] 1 0 0 0 START TRIGGER STOP TRIGGER Direct The LED is driven to the programmed state (active or inactive). See Figure 6.7 Touch Detected or LED Output Control bit set Release Detected or LED Output Control bit cleared Pulse 1 The LED will "Pulse" a programmed number of times. During each "Pulse" the LED will breathe up to the maximum brightness and back down to the minimum brightness so that the total "Pulse" period matches the programmed value. Touch or Release Detected or LED Output Control bit set or cleared (see Section 6.52) n/a OPERATION DESCRIPTION 0 1 Revision 1.0 (08-30-10) 88 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Table 6.73 LEDx_CTL Bit Decode (continued) LEDX_CTL [1:0] 1 0 1 0 1 1 START TRIGGER STOP TRIGGER Pulse 2 The LED will "Pulse" when the start trigger is detected. When the stop trigger is detected, it will "Pulse" a programmable number of times then return to its minimum brightness. Touch Detected or LED Output Control bit set Release Detected or LED Output Control bit cleared Breathe The LED will breathe. It will be driven with a duty cycle that ramps up from the programmed minimum duty cycle (default 0%) to the programmed maximum duty cycle (default 100%) and then back down. Each ramp takes up 50% of the programmed period. The total period of each "breath" is determined by the LED Breathe Period controls - see Section 6.54. Touch Detected or LED Output Control bit set Release Detected or LED Control Output bit cleared OPERATION DESCRIPTION APPLICATION NOTE: The PWM frequency is determined based on the selected LED behavior, the programmed breathe period, and the programmed min and max duty cycles. For the Direct behavior mode, the PWM frequency is calculated based on the programmed Rise and Fall times. If these are set at 0, the maximum PWM frequency will be used based on the programmed duty cycle settings. 6.52 LED Pulse 1 Period Register Table 6.74 LED Pulse 1 Period Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 84h R/W LED Pulse 1 Period ST_ TRIG P1_ PER6 P1_ PER5 P1_ PER4 P1_ PER3 P1_ PER2 P1_ PER1 P1_ PER0 20h The LED Pulse 1 Period Register determines the overall period of a pulse operation as determined by the LED_CTL registers (see Table 6.73 - setting 01b). Each LSB represents 32ms so that a setting of 20h (32d) would represent a period of 1024ms (32ms x 32 = 1024ms). The total range is from 32ms to 4.06 seconds as shown in Table 6.75. The number of pulses is programmable as determined by the PULSE1_CNT bits (see Section 6.55). Bit 7 - ST_TRIG - Determines the start trigger for the LED Pulse behavior. `0' (default) - The LED will Pulse when a touch is detected or the drive bit is set. `1' - The LED will Pulse when a release is detected or the drive bit is cleared. The Pulse 1 operation is shown in Figure 6.1 (non-inverted polarity LEDx_POL = 1) and Figure 6.2 (inverted polarity LEDx_POL = 0). SMSC CAP1214 89 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Touch Detected X pulses after touch Normal - untouched operation (100% - Pulse 1 Min Duty Cycle) * Brightness Normal - untouched operation LED Brightness (100% - Pulse 1 Max Duty Cycle) * Brightness Pulse 1 Period (P1_PER) Figure 6.1 Pulse 1 Behavior with Touch Trigger and Non-inverted Polarity . Touch Detected X pulses after touch Pulse 1 Max Duty Cycle * Brightness LED Brightness Normal - untouched operation Normal - untouched operation Pulse 1 Min Duty Cycle * Brightness Pulse Period (P1_PER) Figure 6.2 Pulse 1 Behavior with Touch Trigger and Inverted Polarity Table 6.75 LED Pulse / Breathe Period Example SETTING (HEX) SETTING (DECIMAL) TOTAL PULSE / BREATHE PERIOD (ms) 00h 0 32 01h 1 32 02h 2 64 03h 3 96 04h 4 128 Revision 1.0 (08-30-10) 90 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Table 6.75 LED Pulse / Breathe Period Example (continued) 6.53 SETTING (HEX) SETTING (DECIMAL) TOTAL PULSE / BREATHE PERIOD (ms) ... ... ... 7Ch 124 3,968 7Dh 125 4,000 7Eh 126 4,032 7Fh 127 4,064 LED Pulse 2 Period Register Table 6.76 LED Pulse 2 Period Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 85h R/W LED Pulse 2 Period - P2_ PER6 P2_ PER5 P2_ PER4 P2_ PER3 P2_ PER2 P2_ PER1 P2_ PER0 14h The LED Pulse 2 Period Register determines the overall period of a pulse operation as determined by the LED_CTL registers (see Table 6.73 - setting 10b). Each LSB represents 32ms so that a setting of 14h (20d) would represent a period of 640ms. The total range is from 32ms to 4.06 seconds (see Table 6.75). The number of pulses is programmable as determined by the PULSE2_CNT bits (see Section 6.55). The Pulse 2 Behavior is shown in Figure 6.3 (non-inverted polarity LEDx_POL = 1) and Figure 6.4 (inverted polarity LEDx_POL = 0). Release Detected Touch Detected Normal - untouched operation X additional pulses after release (100% - Pulse 2 Min Duty Cycle) * Brightness LED Brightness Normal - untouched operation ... Pulse Period (P2_PER) (100% - Pulse 2 Max Duty Cycle) * Brightness Figure 6.3 Pulse 2 Behavior with Non-Inverted Polarity SMSC CAP1214 91 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Release Detected Touch Detected X additional pulses after release Normal - untouched operation Normal - untouched operation Pulse 2 Max Duty Cycle * Brightness LED Brightness ... Pulse 2 Min Duty Cycle * Brightness Pulse Period (P2_PER) Figure 6.4 Pulse 2 Behavior with Inverted Polarity 6.54 LED Breathe Period Register Table 6.77 LED Breathe Period Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 86h R/W LED Breathe Period - BR_ PER6 BR_ PER5 BR_ PER4 BR_ PER3 BR_ PER2 BR_ PER1 BR_ PER0 5Dh The LED Breathe Period Register determines the overall period of a breathe operation as determined by the LED_CTL registers (see Table 6.73 - setting 11b). Each LSB represents 32ms so that a setting of 14h (20d) would represent a period of 640ms. The total range is from 32ms to 4.06 seconds (see Table 6.75). 6.55 LED Configuration Register Table 6.78 LED Configuration Registers ADDR R/W REGISTER B7 B6 B5 88h R/W LED Config - RAMP_ ALERT B4 B3 PULSE2_CNT[2:0] B2 B1 B0 DEFAULT PULSE1_CNT[2:0] The LED Configuration Register controls the number of pulses that are sent for the Pulse 1 and Pulse 2 LED output behaviors. Bit 6 - RAMP_ALERT - Determines whether the device will assert the ALERT pin when LEDs actuated by the LED Output Control Register bits (see Section 6.46, "LED Output Control Registers") have finished their respective behaviors. `0' (default) - The ALERT pin will not be asserted when LEDs actuated by the LED Output Control register have finished their programmed behaviors. `1' - The ALERT pin will be asserted whenever any LED that is actuated by the LED Output Control register has finished its programmed behavior. Revision 1.0 (08-30-10) 92 DATASHEET SMSC CAP1214 24h Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Bits 5 - 3 - PULSE2_CNT[2:0] - Determines the number of pulses used for the Pulse 2 behavior as shown in Table 6.79. The default is 100b. Bits 2 - 0 - PULSE1_CNT[2:0] - Determines the number of pulses used for the Pulse 1 behavior as shown in Table 6.79. Table 6.79 PULSE_CNT Decode PULSEX_CNT[2:0] 6.56 2 1 0 NUMBER OF BREATHS 0 0 0 1 0 0 1 2 0 1 0 3 0 1 1 4 1 0 0 5 (default) 1 0 1 6 1 1 0 7 1 1 1 8 LED11 Configuration Register Table 6.80 LED Configuration Registers ADDR R/W REGISTER B7 B6 8Ah R/W LED11 Config - - B5 B4 LED11_STEPS [1:0] B3 VAR_ PWM B2 B1 B0 DEFAULT LED11_CLK[2:0] 00h The LED11 Configuration Register controls the base frequency and number of steps for LED11. APPLICATION NOTE: Setting in this register are ignored unless the LED11_CFG bit is set in the Configuration 2 register (see Section 6.33, "Configuration 2 Register"). Bits 5 - 4 - LED11_STEPS[1:0] - Determines the number of steps used to transition between minimum and maximum duty cycle settings for LED11, as shown in Table 6.81. Table 6.81 LED11_STEPS Bit Decode LED11_STEPS[1:0] SMSC CAP1214 1 0 NUMBER OF STEPS 0 0 256 (default) 0 1 128 1 0 64 1 1 32 93 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Bit 3 - VAR_PWM - Determines whether fixed or variable PWM frequency will be used for LED11. `0' (default) - LED11 PWM frequency is fixed, regardless of pulse/breathe period and/or minimum and maximum duty cycle settings. `1' - LED11 PWM frequency is variable, based on pulse/breathe period (if behavior is not Direct) and minimum and maximum duty cycle settings. Bits 2 - 0 - LED11_CLK[2:0] - Determines the base clock frequency used for LED11, as shown in Table 6.82. APPLICATION NOTE: If the base frequency is reduced, but the number of steps is not reduced, resolution may be lost and period lengths may be different than calculated. Table 6.82 LED11_CLK Decode LED11_CLK[2:0] 2 1 0 CLOCK RUNNING LED11 0 0 0 500kHz (default) 0 0 1 125kHz 0 1 0 62.5kHz 0 1 1 31.25kHz 1 0 0 15.625kHz 1 0 1 7.8125kHz 1 1 0 500kHz 1 1 1 500kHz 6.57 LED Pulse and Breathe Duty Cycle Registers Table 6.83 LED Period and Breathe Duty Cycle Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 90h R/W LED Pulse 1 Duty Cycle LED_P1_MAX_DUTY[3:0] LED_P1_MIN_DUTY[3:0] F0h 91h R/W LED Pulse 2 Duty cycle LED_P2_MAX_DUTY[3:0] LED_P2_MIN_DUTY[3:0] F0h 92h R/W LED Breathe Duty Cycle LED_BR_MAX_DUTY[3:0] LED_BR_MIN_DUTY[3:0] F0h 93h R/W Direct Duty Cycle LED_DR_MAX_DUTY[3:0] LED_DR_MIN_DUTY[3:0] F0h The LED Pulse 1, Pulse 2, Breathe, and Direct Duty Cycle Registers determine the minimum and maximum duty cycle settings used for the LEDs for each LED behavior. These settings affect the brightness of the LED when it is fully off and fully on. The LED driver duty cycle will ramp up from the minimum duty cycle to the maximum duty cycle and back down again. Revision 1.0 (08-30-10) 94 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet APPLICATION NOTE: When operating in Direct behavior mode, changes to the Duty Cycle settings will be applied immediately. When operating in Breathe, Pulse 1, or Pulse 2 modes, the LED must be unactuated and then re-actuated before changes to behavior are processed. Bits 7 - 4 - LED_X_MAX_DUTY[3:0] - Determines the maximum PWM duty cycle for the LED drivers as shown in Table 6.84 Bits 3 - 0 - LED_X_MIN_DUTY[3:0] - Determines the minimum PWM duty cycle for the LED drivers as shown in Table 6.84. Table 6.84 LED Duty Cycle Decode X_MAX/MIN_DUTY [3:0] 3 2 1 0 MAXIMUM DUTY CYCLE MINIMUM DUTY CYCLE 0 0 0 0 7% 0% 0 0 0 1 9% 7% 0 0 1 0 11% 9% 0 0 1 1 14% 11% 0 1 0 0 17% 14% 0 1 0 1 20% 17% 0 1 1 0 23% 20% 0 1 1 1 26% 23% 1 0 0 0 30% 26% 1 0 0 1 35% 30% 1 0 1 0 40% 35% 1 0 1 1 46% 40% 1 1 0 0 53% 46% 1 1 0 1 63% 53% 1 1 1 0 77% 63% 1 1 1 1 100% 77% 6.58 LED Direct Ramp Rates Register Table 6.85 LED Direct Ramp Rates Register ADDR R/W REGISTER B7 B6 94h R/W LED Direct Ramp Rates - - B5 B4 B3 RISE_RATE[2:0] B2 B1 B0 FALL_RATE[2:0] DEFAULT 00h The LED Direct Ramp Rates Register control the rising and falling edge time of an LED that is configured to operate in Direct behavior mode. The rising edge time corresponds to the amount of time the LED takes to transition from its minimum duty cycle to its maximum duty cycle. Conversely, the SMSC CAP1214 95 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet falling edge time corresponds to the amount of time that the LED takes to transition from its maximum duty cycle to its minimum duty cycle. Bits 5 - 3 - RISE_RATE[2:0] - Determines the rising edge time of an LED when it transitions from its minimum drive state to its maximum drive state as shown in Table 6.86. Bits 2 - 0 - FALL_RATE[2:0] - Determines the falling edge time of an LED when it transitions from its maximum drive state to its minimum drive state as shown in Table 6.86. Table 6.86 Rise / Fall Rate Cycle Decode RISE/FALL_RATE [2:0] 2 1 0 RISE / FALL TIME (TRISE / TFALL) 0 0 0 0 0 0 1 250ms 0 1 0 500ms 0 1 1 750ms 1 0 0 1s 1 0 1 1.25s 1 1 0 1.5s 1 1 1 2s 6.59 LED Off Delay Register Table 6.87 LED Off Delay Register ADDR R/W REGISTER B7 95h R/W LED Off Delay Register - B6 B5 B4 BR_OFF_DLY [2:0] B3 - B2 B1 B0 DIR_OFF_DLY [2:0] DEFAULT 00h The LED Off Delay Register determines off delays for the LED Direct and Breathe behaviors. Bits 6 - 4 - BR_OFF_DLY[2:0] - Determines the Breathe behavior mode off delay, which is the amount of time an LED in Breathe behavior mode remains inactive after it finishes a breathe pulse (ramp on and ramp off), as shown in Figure 6.5 (non-inverted polarity LEDx_POL = 1) and Figure 6.6 (inverted polarity LEDx_POL = 0). Available settings are shown in Table 6.88. Revision 1.0 (08-30-10) 96 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet LED Actuated LED Unactuated 100% - Breathe Max Min Cycle * Brightness LED Brightness Breathe Period (BR_PER) 100% - Breathe Min Duty Cycle * Brightness Breathe Off Delay (BR_OFF_DLY) Figure 6.5 Breathe Behavior with Non-Inverted Polarity LED Actuated LED Unactuated Breathe Max Duty Cycle * Brightness LED Brightness Breathe Min Duty Cycle * Brightness Breathe Period (BR_PER) Breathe Off Delay (BR_OFF_DLY) Figure 6.6 Breathe Behavior with Inverted Polarity SMSC CAP1214 97 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Table 6.88 Breathe Off Delay Settings BR_OFF_DLY [2:0 2 1 0 OFF DELAY 0 0 0 0 (default) 0 0 1 0.25s 0 1 0 0.5s 0 1 1 0.75s 1 0 0 1.0s 1 0 1 1.25s 1 1 0 1.5s 1 1 1 2.0s Bits 2 - 0 - DIR_OFF_DLY[2:0] - Determines the Direct behavior mode turn-off delay, which is the amount of time an LED in Direct behavior mode remains active after it is no longer actuated (such as after a release has been detected or the drive state has been changed). Available settings are shown in Table 6.89. Table 6.89 Direct Off Delay Settings DIR_OFF_DLY [2:0 2 1 0 OFF DELAY TOFF_DLY 0 0 0 0 (default) 0 0 1 0.5s 0 1 0 1.0s 0 1 1 1.5s 1 0 0 2.0s 1 0 1 3.0s 1 1 0 4.0s 1 1 1 5.0s The Direct behavior operation is determined by the combination of programmed Rise Time, Fall Time, and Off Delay as shown in Figure 6.7 (non-inverted polarity LEDx_POL = 1) and Figure 6.8 (inverted polarity LEDx_POL = 0). Revision 1.0 (08-30-10) 98 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Normal - untouched operation Release Detected Touch Detected Normal - untouched operation (100% - Min Duty Cycle) * Brightness LED Brightness (100% - Max Duty Cycle) * Brightness RISE_RATE Setting (tRISE) Off Delay (tOFF_DLY) FALL_RATE Setting (tFALL) Figure 6.7 Direct Behavior for Non-Inverted Polarity Release Detected Touch Detected LED Brightness Max Duty Cycle * Brightness Normal - untouched operation Normal - untouched operation Min Duty Cycle * Brightness RISE_RATE Setting (tRISE) FALL_RATE Setting (tFALL) Off Delay (tOFF_DLY) Figure 6.8 Direct Behavior for Inverted Polarity 6.60 Sensor Calibration Registers Table 6.90 Sensor Calibration Registers ADDR REGISTER R/W B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT B1h Sensor 1 Calibration R CAL1_9 CAL1_8 CAL1_7 CAL1_6 CAL1_5 CAL1_4 CAL1_3 CAL1_2 00h B2h Sensor 2 Calibration R CAL2_9 CAL2_8 CAL2_7 CAL2_6 CAL2_5 CAL2_4 CAL2_3 CAL2_2 00h B3h Sensor 3 Calibration R CAL3_9 CAL3_8 CAL3_7 CAL3_6 CAL3_5 CAL3_4 CAL3_3 CAL3_2 00h B4h Sensor 4 Calibration R CAL4_9 CAL4_8 CAL4_7 CAL4_6 CAL4_5 CAL4_4 CAL4_3 CAL4_2 00h B5h Sensor 5 Calibration R CAL5_9 CAL5_8 CAL5_7 CAL5_6 CAL5_5 CAL5_4 CAL5_3 CAL5_2 00h SMSC CAP1214 99 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Table 6.90 Sensor Calibration Registers (continued) ADDR REGISTER R/W B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT B6h Sensor 6 Calibration R CAL6_9 CAL6_8 CAL6_7 CAL6_6 CAL6_5 CAL6_4 CAL6_3 CAL6_2 00h B7h Sensor 7 Calibration R CAL7_9 CAL7_8 CAL7_7 CAL7_6 CAL7_5 CAL7_4 CAL7_3 CAL7_2 00h B8h Sensor 8 Calibration R CAL8_9 CAL8_8 CAL8_7 CAL8_6 CAL8_5 CAL8_4 CAL8_3 CAL8_2 00h B9h Sensor 9 Calibration R CAL9_9 CAL9_8 CAL9_7 CAL9_6 CAL9_5 CAL9_4 CAL9_3 CAL9_2 00h BAh Sensor 10 Calibration R CAL10_ 9 CAL10_ 8 CAL10_ 7 CAL10_ 6 CAL10_ 5 CAL10_ 4 CAL10_ 3 CAL10_ 2 00h BBh Sensor 11 Calibration R CAL11_ 9 CAL11_ 8 CAL11_ 7 CAL11_6 CAL11_ 5 CAL11_ 4 CAL11_ 3 CAL11_ 2 00h BCh Sensor 12 Calibration R CAL12_ 9 CAL12_ 8 CAL12_ 7 CAL12_ 6 CAL12_ 5 CAL12_ 4 CAL12_ 3 CAL1_2 2 00h BDh Sensor 13 Calibration R CAL13_ 9 CAL13_ 8 CAL13_ 7 CAL13_ 6 CAL13_ 5 CAL13_ 4 CAL13_ 3 CAL13_ 2 00h BEh Sensor 14 Calibration R CAL14_ 9 CAL14_ 8 CAL14_ 7 CAL14_ 6 CAL14_ 5 CAL14_ 4 CAL14_ 3 CAL14_ 2 00h D0h Sensor 1 Calibration Low byte R CAL4_1 CAL4_0 CAL3_1 CAL3_0 CAL2_1 CAL2_0 CAL1_1 CAL1_0 00h D1h Sensor 5 Calibration Low bye R CAL8_1 CAL8_0 CAL7_1 CAL7_0 CAL6_1 CAL6_0 CAL5_1 CAL5_0 00h D2h Sensor 9 Calibration Low bye R CAL12_ 1 CAL12_ 0 CAL11_ 1 CAL11_0 CAL10_ 1 CAL10_ 0 CAL9_1 CAL9_0 00h D3h Sensor 13 Calibration Low bye R - - - - CAL14_ 1 CAL14_ 0 CAL13_ 1 CAL13_ 0 00h The Sensor Calibration Registers hold the 10-bit value that is used for the analog block when each sensor is selected. These registers are read only. They are updated automatically by the digital block when the analog re-calibration routine is performed. These bits are cleared when the device is placed into Standby or Deep Sleep for all channels that are not sampled. 6.61 Product ID Register Table 6.91 Product ID Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT FDh R Product ID 0 1 0 1 1 0 1 0 5Ah Revision 1.0 (08-30-10) 100 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet The Product ID Register stores a unique 8-bit value that identifies the device. 6.62 Revision Register Table 6.92 Revision Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT FFh R Revision 1 0 0 0 0 0 0 0 80h The Revision Register stores an 8-bit value that represents the part revision. SMSC CAP1214 101 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Chapter 7 Package Information 7.1 Package Drawings Figure 7.1 Package Diagram - 32-Pin QFN Revision 1.0 (08-30-10) 102 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Figure 7.2 Package Dimensions - 32-Pin QFN SMSC CAP1214 103 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Figure 7.3 Package PCB Land Pattern and Stencil Figure 7.4 Package Detail A - Stencil Opening and Perimeter Lands Revision 1.0 (08-30-10) 104 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Figure 7.5 Package Detail B - Thermal Vias and Stencil Opening Figure 7.6 Package Land Pattern Dimensions SMSC CAP1214 105 DATASHEET Revision 1.0 (08-30-10) Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet 7.2 Package Marking All packages will marked as shown in Figure 7.7. MINIMUM CIRCLE "R" DIAMETER = 0.80mm TOP 0.4 R Line 1 - SMSC Logo Line 2 - Device Number, Version Line 3 - Revision, Year, Week, 4-digit Engineering Code (RYYWWXXXX) Line 4 - Lot Number C A P 1 2 1 4 - V 4x 1.3PT R Y Y W W X X X X 8 H 1 2 3 4 5 6 a Line 5 - Vendor ID and Country Code (VV - CC) V V - C C PIN 1 e3 LINES 1, 2, 3, & 4: CENTER HORIZONTAL ALIGNMENT PB-FREE/GREEN SYMBOL (Matte Sn) LINES 5: BEST FIT BETWEEN PIN 1 MARK AND Pb-FREE SYMBOL BOTTOM BOTTOM MARKING NOT ALLOWED Figure 7.7 Package Markings Revision 1.0 (08-30-10) 106 DATASHEET SMSC CAP1214 Multiple Channel Capacitive Touch Sensor and LED Driver Datasheet Chapter 8 Datasheet Revision History Table 8.1 Customer Revision History REVISION LEVEL & DATE Rev. 1.0 (08-30-10) SMSC CAP1214 SECTION/FIGURE/ENTRY CORRECTION Document release 107 DATASHEET Revision 1.0 (08-30-10)