CAP1014 Multiple Channel Capacitive Touch Sensor and LED Driver
PRODUCT FEATURES
General Description
The CAP1014 is a multiple channel Capacitive Touch sensor and LED Driver. The CAP1014 contains up to fourteen (14) individual Capacitive Touch sensor inputs with programmable sensitivity for use in touch button and slider switch applications. Each sensor also contains automatic recalibration with programmable time delays. The CAP1014 also contains eleven (11) low side LED drivers that offer full-on / off, variable rate blinking, dimness controls, and breathing. Capacitive buttons can be linked to LED outputs.
Datasheet
Features
Fourteen (14) Capacitive Touch Sensor inputs
— — — — — Programmable sensitivity High SNR allows for easy tuning Automatic recalibration Slider Acceleration Detection Slider positional detection
Low Power operation
— 150uA quiescent current in Deep Sleep — 250uA quiescent current in Sleep mode while monitoring 2 buttons.
Applications
Consumer Electronics Desktop and Notebook PC’s LCD Monitors
Alert to signal touch to host processor 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
Eleven (11) LED Driver outputs
— Programmable blink, breathe, and dimness controls — 8 Configurable as GPIOs — Buttons can be linked to LED responses
Development boards and software available Available in 32-pin 5mm x 5mm QFN Lead-free RoHS Compliant package
Block Diagram
LED2 LED1 LED3 LED4 LED5 LED6 LED7 LED8 LED10 LED9 LED11
RESET
VDD GND
LED Blink, Breathe, and Dimness control
SMBus Slave Protocol
SMCLK SMDATA ALERT
Capacitive Sensing Algorithm
CS1 CS2
CS3 CS4
CS5 CS6
CS7 CS8
CS9
CS11 CS13 CS10 CS12 CS14
SMSC CAP1014
DATASHEET
Revision 1.65 (08-11-09)
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
ORDER NUMBERS:
ORDERING NUMBER CAP1014-1-EZK-TR
PACKAGE 32-pin QFN 5mm x 5mm (Lead Free RoHS compliant) 32-pin QFN 5mm x 5mm (Lead Free RoHS compliant)
FEATURES 14 Capacitive Touch Sensors, 11 LED drivers. Lid Closure. SMBus address 0101_000b 14 Capacitive Touch Sensors, 11 LED drivers. Lid Closure. SMBus address 0101_100b
CAP1014-2-EZK-TR
REEL SIZE IS 4,000 PIECES
80 ARKAY DRIVE, HAUPPAUGE, NY 11788 (631) 435-6000, FAX (631) 273-3123 Copyright © 2009 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.65 (08-11-09)
2
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Table of Contents
Chapter 1 Pin Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Chapter 2 Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Chapter 3 Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1 System Management Bus Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 SMBus Start Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2 SMBus Address and RD / WR Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.3 SMBus Data Bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.4 SMBus ACK and NACK Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.5 SMBus Stop Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.6 SMBus Time-out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.7 SMBus and I2C Compliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SMBus Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 SMBus Write Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Block Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.3 SMBus Read Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.4 Block Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.5 SMBus Send Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.6 SMBus Receive Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 15 15 15 16 16 16 16 16 17 17 17 17 18 18
3.2
Chapter 4 Product Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.1 4.2 4.3 4.4 Power States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RESET Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LED Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.1 Linking LEDs to Capacitive Touch Sensors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Capacitive Touch Sensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.1 Multiple Button Presses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.2 Lid Closure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.3 Grouped Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.4 Sensing Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.5 Recalibrating Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Grouped Sensor Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.1 Tap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.2 Press and Hold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.3 Slider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.4 Relative Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.5 Slider Velocity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ALERT Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6.1 Button Interrupt Behavior. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6.2 Grouped Sensor Interrupt Behavior. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6.3 Wake from Deep Sleep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 22 22 22 22 22 22 23 23 23 23 23 23 24 24 24 24 24 24 25
4.5
4.6
Chapter 5 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.1 5.2 Main Status Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Button Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Button Status 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.2 Button Status 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Build Revision Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slider Position / Volumetric Data Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.1 Absolute Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
5.3 5.4
34 35 35 36 36 37 37
SMSC CAP1014
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12 5.13 5.14 5.15 5.16 5.17 5.18 5.19 5.20 5.21
5.22 5.23 5.24 5.25 5.26 5.27 5.28 5.29
5.30
5.31 5.32 5.33 5.34 5.35 5.36 5.37
5.38
5.39 5.40
5.41 5.42 5.43
5.4.2 Volumetric Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vendor ID Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Volumetric Step Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Noise Flag Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lid Closure Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GPIO Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Group Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sensor Delta Count Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Queue Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Data Sensitivity Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sensor Enable Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Button Configuration Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Group Configuration Register 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Group Configuration Register 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Calibration Enable Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Calibration Activate Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interrupt Enable Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.21.1 Interrupt Enable 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.29.1 Button Noise Threshold 1 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.29.2 Button Noise Threshold 2 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lid Closure Threshold Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.30.1 Lid Closure Threshold 1 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.30.2 Lid Closure Threshold 2 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.30.3 Lid Closure Threshold 3 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.30.4 Lid Closure Threshold 4 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slider Velocity Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sampling Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sensor Base Count Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LED / GPIO Direction Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LED / GPIO Output Type Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GPIO Input Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LED Output Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.37.1 LED Output Control 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.37.2 LED Output Control 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LED Polarity Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.38.1 LED Polarity 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.38.2 LED Polarity 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sensor LED Linking Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LED Behavior Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.40.1 LED Behavior 1 - 81h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.40.2 LED Behavior 2 - 82h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.40.3 LED Behavior 3 - 83h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LED Pulse 1 Period Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LED Pulse 2 Period Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LED Breathe Period Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
38 38 38 39 39 40 40 41 42 42 44 45 46 47 48 48 49 49 50 50 51 51 52 53 53 54 55 56 57 57 57 58 58 58 59 59 60 61 62 62 63 63 63 64 64 65 66 66 67 68 68 68 69 71 72
Revision 1.65 (08-11-09)
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
5.44 5.45 5.46 5.47 5.48 5.49
LED Pulse Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LED Pulse and Breathe Duty Cycle Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LED Direct Ramp Rates Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LED Off Delay Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Product ID Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Revision Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
72 73 74 75 77 77
Chapter 6 Package Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.1 6.2 Package Drawings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Package Marking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Chapter 7 Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
SMSC CAP1014
5
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
List of Figures
Figure 1.1 Figure 3.1 Figure 4.1 Figure 4.2 Figure 4.3 Figure 4.4 Figure 4.5 Figure 4.6 Figure 4.7 Figure 5.1 Figure 5.2 Figure 5.3 Figure 5.4 Figure 5.5 Figure 5.6 Figure 6.1 Figure 6.1 Figure 6.2 Figure 6.3 Figure 6.4 Figure 6.5 Figure 6.1 CAP1014 Pin Diagram (32-Pin QFN). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 SMBus Timing Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 System Diagram for CAP1014 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Button Interrupt Behavior - Repeat Rate Enabled (default) . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Button Interrupt Behavior - No Repeat Rate Enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Tap Interrupt Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Press and Hold Interrupt Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Slide Interrupt Behavior - No Acceleration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Slide Interrupt Behavior - Acceleration Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Pulse 1 Behavior with Non-Inverted Polarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Pulse 1 Behavior with Inverted Polarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Pulse 2 Behavior with Non-Inverted Polarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Pulse 2 Behavior with Inverted Polarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Direct Mode Behavior for Non-Inverted Polarity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Direct Mode Behavior for Inverted Polarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Package Diagram - 32-Pin QFN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Package Dimensions - 32-Pin QFN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Package PCB Land Pattern and Stencil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Package Detail A - Stencil Opening and Perimeter Lands. . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Package Detail B - Thermal Vias and Stencil Opening . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Package Land Pattern Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Package Markings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Revision 1.65 (08-11-09)
6
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
List of Tables
Table 1.1 Pin Description for CAP1014 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Table 1.2 Pin Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Table 2.1 Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Table 2.2 Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Table 3.1 Protocol Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Table 3.2 Write Byte Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Table 3.3 Block Write Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Table 3.4 Read Byte Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Table 3.5 Block Read Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Table 3.6 Send Byte Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Table 3.7 Receive Byte Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Table 4.1 Power Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Table 5.1 Register Set in Hexadecimal Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Table 5.2 Main Status Control Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Table 5.3 Button Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Table 5.4 Firmware Revision Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Table 5.5 Build History. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Table 5.6 Slider Position / Volumetric Data Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Table 5.7 Example Slider Absolute Position Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Table 5.8 Vendor ID Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Table 5.9 Volumetric Step Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Table 5.10 Noise Flag Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Table 5.11 Lid Closure Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Table 5.12 GPIO Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Table 5.13 GPIO Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Table 5.14 Sensor Delta Count Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Table 5.15 Queue Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Table 5.16 QUEUE_B Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Table 5.17 Data Scaling Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Table 5.18 D_DSP Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Table 5.19 C_DSP Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Table 5.20 Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Table 5.21 Sensor Enable Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Table 5.22 Button Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Table 5.23 MAX_DUR_B and MAX_DUR_G Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Table 5.24 RPT_RATE_B / SL / PH and M_PRESS Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Table 5.25 Group Configuration Register 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Table 5.26 Group Configuration Register 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Table 5.27 Calibration Enable Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Table 5.28 Calibration Activate Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Table 5.29 Interrupt Enable Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Table 5.30 Sleep Channel Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Table 5.31 Multiple Touch Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Table 5.32 B_MULT_T Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Table 5.33 G_MULT_T Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Table 5.34 Lid Closure Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Table 5.35 Lid Closure Queue Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Table 5.36 Lid Closure Pattern Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Table 5.37 Recalibration Configuration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Table 5.38 ACAL_RT[1:0] Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Table 5.39 CAL_CFG Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Table 5.40 Sensor Threshold Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Table 5.41 Button Noise Threshold Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
SMSC CAP1014 7 Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Table 5.42 CSx_BN_TH Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.43 Lid Closure Threshold Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.44 CSx_LD_TH Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.45 Slider Velocity Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.46 MAX_INT Bit Decode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.47 SLIDE_TIME Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.48 RPT_SCALE Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.49 Sampling Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.50 Sensor Base Count Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.51 LED / GPIO Direction Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.52 LED / GPIO Output Type Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.53 GPIO Input Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.54 LED Output Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.55 LED Polarity Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.56 LED Polarity Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.57 Sensor LED Linking Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.58 LED Behavior Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.59 LEDx_CTL Bit Decode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.60 LED Behavior Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.61 LED Pulse / Breathe Period Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.62 LED Behavior Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.63 LED Behavior Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.64 LED Configuration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.65 PULSE_CNT Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.66 LED Period and Duty Cycle Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.67 LED Duty Cycle Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.68 LED Direct Ramp Rates Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.69 Rise / Fall Rate Cycle Decode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.70 LED Off Delay Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.71 Off Delay Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.72 Product ID Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.73 Revision Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 7.1 Customer Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57 57 58 59 59 60 60 60 61 62 62 63 63 64 65 66 67 68 69 70 71 72 72 73 73 74 74 75 75 75 77 77 83
Revision 1.65 (08-11-09)
8
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Chapter 1 Pin Description
CS6
CS5
CS4
CS3
CS7
CS2
CS1 26
32
31
30
29
28
27
CS8 CS9 CS10 CS11 CS12 CS13 CS14 VDD
1 2 3 4 5 6 7 8 10 11 12 13 14 15 16 9 GND
25 24 23 22 21 20 19 18 17
N/C
N/C RESET SMCLK SMDATA ALERT LED11 LED10 LED9
LED2 / GPIO2
LED3 / GPIO3
LED4 / GPIO4
LED7 / GPIO7
Figure 1.1 CAP1014 Pin Diagram (32-Pin QFN)
Table 1.1 Pin Description for CAP1014 PIN NUMBER 1 2 3 4 5 6 7 PIN NAME CS8 CS9 CS10 CS11 CS12 CS13 CS14 PIN FUNCTION Capacitive Touch Sensor 8 Capacitive Touch Sensor 9 Capacitive Touch Sensor 10 Capacitive Touch Sensor 11 Capacitive Touch Sensor 12 Capacitive Touch Sensor 13 Capacitive Touch Sensor 14 PIN TYPE AIO AIO AIO AIO AIO AIO AIO
SMSC CAP1014
9
LED8 / GPIO8
LED5 / GPIO5
LED6 / GPIO6
LED1 / GPIO1
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Table 1.1 Pin Description for CAP1014 (continued) PIN NUMBER 8 9 PIN NAME VDD LED1 / GPIO1 PIN FUNCTION Positive Power supply LED1 - Open drain LED driver (default) GPI1 - GPIO 1 Input GPO1 - GPIO 1 push-pull output 10 LED2 / GPIO 2 LED2 - Open drain LED driver (default) GPI2 - GPIO 2 Input GPO2 - GPIO 2 push-pull output 11 LED3 / GPIO3 LED3 - Open drain LED driver (default) GPI3 - GPIO 3 Input GPO3 - GPIO 3 push-pull output 12 LED4 / GPIO4 LED4 - Open drain LED driver (default) GPI4 - GPIO 4 Input GPO4 - GPIO 4 push-pull output 13 LED5 / GPIO5 LED5 - Open drain LED driver (default) GPI5 - GPIO 5 Input GPO5 - GPIO 5 push-pull output 14 LED6 / GPIO6 LED6 - Open drain LED driver (default) GPI6 - GPIO 6 Input GPO6 - GPIO 6 push-pull output 15 LED7 / GPIO7 LED7 - Open drain LED driver (default) GPI7 - GPIO 7 Input GPO7 - GPIO 7 push-pull output 16 LED8 / GPIO8 LED8 - Open drain LED driver (default) GPI8 - GPIO 8 Input GPO8 - GPIO 8 push-pull output 17 18 19 20 21 22 LED9 LED10 LED11 ALERT SMDATA SMCLK LED9 - Open drain LED driver LED10 - Open drain LED driver LED11 - Open drain LED driver Active High Interrupt / Wake Up Input Bi-directional SMBus data - requires pull-up resistor SMBus clock input - requires pull-up resistor PIN TYPE Power OD (5V) DI (5V) DO OD (5V) DI (5V) DO OD (5V) DI (5V) DO OD (5V) DI (5V) DO OD (5V) DI (5V) DO OD (5V) DI (5V) DO OD (5V) DI (5V) DO OD (5V) DI (5V) DO OD (5V) OD (5V) OD (5V) DIO DIOD (5V) DI (5V)
Revision 1.65 (08-11-09)
10
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Table 1.1 Pin Description for CAP1014 (continued) PIN NUMBER 23 24 25 26 27 28 29 30 31 32 Bottom Plate PIN NAME RESET N/C N/C CS1 CS2 CS3 CS4 CS5 CS6 CS7 GND PIN FUNCTION Soft reset for system - resets all registers to default values Not Connected - connect to gnd Not Connected - connect to gnd Capacitive Touch Sensor 1 Capacitive Touch Sensor 2 Capacitive Touch Sensor 3 Capacitive Touch Sensor 4 Capacitive Touch Sensor 5 Capacitive Touch Sensor 6 Capacitive Touch Sensor 7 Power Ground PIN TYPE DI (5V) N/A N/A AIO AIO AIO AIO AIO AIO AIO Power
The pin types are described in detail below. All pins labelled 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 Power DI DIO AIO DIOD OD DO DESCRIPTION This pin is used to supply power or ground to the device. Digital Input - this pin is used as a digital input. This pin is 5V tolerant. Digital Input Output - this pin is used as a digital input / output. Analog Input / Output - this pin is used as an I/O for analog signals. 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. 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. Push-pull Digital Output - this pin is used as a digital output and can sink and source current
SMSC CAP1014
11
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Chapter 2 Electrical Specifications
Table 2.1 Absolute Maximum Ratings Voltage on VDD pin Voltage on 5V tolerant pins (V5VT_pin) Voltage on 5V tolerant pins (|V5VT_pin - VDD|) (see Note 2.1) Voltage on any other pin to GND Package Power Dissipation up to TA = 85°C (see Note 2.2) Junction to Ambient (θJA) (see Note 2.3) Operating Ambient Temperature Range Storage Temperature Range ESD Rating, All Pins, HBM -0.3 to 4 -0.3 to 5.5 0 to 3.6 -0.3 to VDD + 0.3 1 48 -40 to 125 -55 to 150 8000 V V V V W °C/W °C °C 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 2.1 Note 2.2 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. 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. Junction to Ambient (θJA) is dependent on the design of the thermal vias. Without thermal vias and a thermal landing, the θJA is approximately 60°C/W including localized PCB temperature increase.
Note 2.3
Table 2.2 Electrical Specifications VDD = 3V to 3.6V, TA = 0°C to 100°C, all Typical values at TA = 27°C unless otherwise noted. CHARACTERISTIC SYMBOL MIN TYP MAX UNIT CONDITIONS
DC Power Supply Voltage Supply Current VDD ISLEEP IDSLEEP IDD 3.0 3.3 220 150 0.42 3.6 300 200 1 V uA uA mA Sleep Mode active, 2 sensors monitored Deep Sleep or Deact modes active Average current Capacitive Sensing Active, LEDs enabled
Revision 1.65 (08-11-09)
12
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Table 2.2 Electrical Specifications (continued) VDD = 3V to 3.6V, TA = 0°C to 100°C, all Typical values at TA = 27°C unless otherwise noted. CHARACTERISTIC SYMBOL MIN TYP MAX UNIT CONDITIONS
Capacitive Touch Sensor Base Capacitance Detectable Capacitive Shift Sample Time Update Time Recalibration Interval CBASE 5 0.1 15 0.4 2.5 35 8 50 2 pF pF ms ms s Automatic Recalibration active, no touch active, Default settings Pad untouched Pad touched
ΔCTOUCH
tTOUCH
ΔtTOUCH ΔtCAL
LED / GPIO Drivers (LED / GPIO 1 - 8) Duty Cycle Sinking Current Sourcing Current Input High Voltage Input Low Voltage DUTYLED ISINK ISOURCE VIH VIL 2.0 0.8 LED Drivers (LED 9 - LED 10) Duty Cycle Sinking Current Output Low Voltage DUTYLED ISINK VOL 0 100 24 0.4 LED11 Driver Duty Cycle Sinking Current Output Low Voltage DUTYLED ISINK VOL 0 100 48 0.4 % mA V ISINK = 48mA Programmable % mA V ISINK = 24mA Programmable 0 100 24 24 % mA mA V V Programmable VOL = 0.4 VOH = VDD - 0.4 LED / GPIO configured as input LED / GPIO configured as input
I/O Pins - SMDATA, SMCLK, and ALERT Pins Output Low Voltage Output High Voltage VOL VOH VDD 0.4 2.0 0.8 ±5 0.4 V V ISINK_IO = 8mA ALERT pin active high and asserted ISOURCE_IO = 8mA
Input High Voltage Input Low Voltage Leakage Current
VIH VIL ILEAK
V V uA powered or unpowered TA < 85°C pull-up voltage < 3.6V
RESET Pin Input High Voltage VIH 2.0 V
SMSC CAP1014
13
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Table 2.2 Electrical Specifications (continued) VDD = 3V to 3.6V, TA = 0°C to 100°C, all Typical values at TA = 27°C unless otherwise noted. CHARACTERISTIC Input Low Voltage RESET Pin assertion to device reset RESET Pin release to fully active operation SYMBOL VIL tRST_OFF tRST_ON 1 400 MIN TYP MAX 0.8 10 500 UNIT V us ms CONDITIONS
SMBus Timing Input Capacitance Clock Frequency Spike Suppression Bus free time Start to Stop Setup Time: Start Setup Time: Stop Data Hold Time Data Setup Time Clock Low Period Clock High Period Clock/Data Fall time Clock/Data Rise time Capacitive Load CIN fSMB tSP tBUF tSU:STA tSU:STP tHD:DAT tSU:DAT tLOW tHIGH tFALL tRISE CLOAD 1.3 0.6 0.6 0.6 0.6 1.3 0.6 300 300 400 6 72 10 5 400 50 pF kHz ns us us us us us us us ns ns pF Min = 20+0.1CLOAD ns Min = 20+0.1CLOAD ns per bus line
Revision 1.65 (08-11-09)
14
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Chapter 3 Communications
The CAP1014 communicates via the SMBus or I2C communications protocols. APPLICATION NOTE: Upon power up, the CAP1014 will not respond to any SMBus communications for 10ms. After this time, full functionality is available.
3.1
System Management Bus Protocol
The CAP1014 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 3.1. Stretching of the SMCLK signal is supported, however the CAP1014 will not stretch the clock signal.
TLOW
THIGH
THD:STA TSU:STO
SMCLK
THD:STA
TRISE
TFALL
THD:DAT
TSU:DAT
TSU:STA
SMDATA
TBUF
P
S
S - Start Condition
S
P - Stop Condition P
Figure 3.1 SMBus Timing Diagram
3.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.
3.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’, then the SMBus Host is writing data to the client device. If this RD / WR bit is a logic ‘1’, then the SMBus Host is reading data from the client device. The CAP1014-1 responds to the slave address 0101_000xb. The CAP1014-2 responds to slave address 0101_100xb. Multiple addressing options are available. For more information contact SMSC.
3.1.3
SMBus Data Bytes
All SMBus Data bytes are sent most significant bit first and composed of 8-bits of information.
SMSC CAP1014
15
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
3.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.
3.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 CAP1014 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.
3.1.6
SMBus Time-out
The CAP1014 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 5.14).
3.1.7
SMBus and I2C Compliance
The major difference between SMBus and I2C devices is highlighted here. For complete compliance information refer to the SMBus 2.0 specification. 1. Minimum frequency for SMBus communications is 10kHz. 2. The client protocol will reset if the clock is held low longer than 30ms. 3. The client protocol will reset if both the clock and the data line are high for longer than 150us (idle condition). 4. I2C devices do not support the Alert Response Address functionality (which is optional for SMBus).
3.2
SMBus Protocols
The CAP1014 is SMBus 2.0 compatible and supports Send Byte, Read Byte, Block Read, Receive Byte as valid protocols as shown below. The CAP1014 also supports the I2C block read and block write protocols. Finally, it will respond to the Alert Response Address protocol but is not in full compliance. All of the below protocols use the convention in Table 3.1.
Table 3.1 Protocol Format DATA SENT TO DEVICE Data sent DATA SENT TO THE HOST Data sent
Revision 1.65 (08-11-09)
16
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
3.2.1
SMBus Write Byte
The Write Byte is used to write one byte of data to a specific register as shown in Table 3.2.
Table 3.2 Write Byte Protocol CLIENT ADDRESS 0101_000 REGISTER ADDRESS XXh REGISTER DATA XXh
START 1 ->0
WR 0
ACK 0
ACK 0
ACK 0
STOP 0 -> 1
3.2.2
Block Write
The Block Write is used to write multiple data bytes to a group of contiguous registers as shown in Table 3.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 3.3 Block Write Protocol CLIENT ADDRESS 0101_000 REGISTER ADDRESS XXh REGISTER DATA XXh
START 1 ->0 REGISTER DATA XXh
WR 0 REGISTER DATA XXh
ACK 0
ACK 0 REGISTER DATA XXh
ACK 0
ACK 0
ACK 0
... ...
ACK 0
STOP 0 -> 1
3.2.3
SMBus Read Byte
The Read Byte protocol is used to read one byte of data from the registers as shown in Table 3.4.
Table 3.4 Read Byte Protocol
START CLIENT ADDRESS WR ACK REGISTER ADDRESS ACK START CLIENT ADDRESS RD ACK REGISTER DATA NACK STOP
1->0
0101_000
0
0
XXh
0
1 ->0
0101_000
1
0
XXh
1
0 -> 1
3.2.4
Block Read
The Block Read is used to read multiple data bytes from a group of contiguous registers as shown in Table 3.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.
SMSC CAP1014
17
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Table 3.5 Block Read Protocol
START CLIENT ADDRESS WR ACK REGISTER ADDRESS ACK START CLIENT ADDRESS RD ACK REGISTER DATA
1->0
ACK
0101_000
REGISTER DATA
0
ACK
0
REGISTER DATA
XXh
ACK
0
REGISTER DATA
1 ->0
ACK
0101_000
...
1
REGISTER DATA
0
NACK
XXh
STOP
0
XXh
0
XXh
0
XXh
0
...
XXh
1
0 -> 1
3.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 3.6.
Table 3.6 Send Byte Protocol CLIENT ADDRESS 0101_000 REGISTER ADDRESS XXh
START 1 -> 0
WR 0
ACK 0
ACK 0
STOP 0 -> 1
3.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 3.7.
Table 3.7 Receive Byte Protocol CLIENT ADDRESS 0101_000
START 1 -> 0
RD 1
ACK 0
REGISTER DATA XXh
NACK 1
STOP 0 -> 1
Revision 1.65 (08-11-09)
18
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Chapter 4 Product Description
The CAP1014 is a multiple channel Capacitive Touch sensor and LED Driver. The CAP1014 contains up to 14 individual Capacitive Touch sensor inputs with programmable sensitivity for use in touch button and slider switch applications. Each sensor also contains automatic recalibration. The CAP1014 also contains 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. Capacitive buttons can be linked to LED outputs. 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 is polled by the device approximately every 35 ms. The host may also initiate a recalibratiion routine for one or more sensors or set up times and conditions so that the device automatically invokes the re-calibration routine. The CAP1014 contains multiple power states including several low power operating modes. In addition, it contains a user driven RESET pin to force the device to reset. A typical system diagram is shown in Figure 4.1.
SMSC CAP1014
19
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
VDD
Embedded Controller 3.3V 3.3V 3.3V
SMCLK SMDATA
RESET
ALERT
3.3V Touch Button CS1
LED11
Dual Color LED
LED8 LED1 3.3V Touch Button CS2 CS7 Touch Button 3.3V
LED2 3.3V Touch Button CS3
LED7 3.3V
CAP1014
CS6
Touch Button
LED3 3.3V Touch Button CS4
LED6 3.3V Touch Button CS5
LED4 CS10 CS11 CS12 CS13 LED9 CS14
20
LED5 LED10 3.3V CS8 CS9
Slider 3.3V
Figure 4.1 System Diagram for CAP1014
Revision 1.65 (08-11-09)
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
4.1
Power States
The CAP1014 has four operating states depending on the status of the SLEEP, DEACT, and DSLEEP bits (see Section 5.1). They are described below and summarized in Table 4.1. When the device transitions between power states, previously detected touches (for deactivated channels) are cleared and the status bits reset. 1. Fully Active - The device is fully active. It is monitoring all active Capacitive Sensor channels and driving all LED channels as defined. 2. Sleep - The device is in Sleep Mode. It 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 mode by clearing the SLEEP bit. The LED11 channel is controlled via the PWR_LED control (see Section 5.1). All other LEDs will not be affected. 3. Deep Sleep - The device is in Deep Sleep mode. It is not monitoring any Capacitive Sensor channels or the SMBus. The LED11 channel is controlled via the PWR_LED control (see Section 5.1). All other LEDs will have PWM controls suspended so they should be disabled prior to entering this mode. If these LEDs are not disabled, then the system will show excess current draw from these LEDs. When the device leaves the Deep Sleep mode (by externally driving the ALERT pin to its active state), then it automatically returns to its defined state and clears the DSLEEP bit. When the device enters the Deep Sleep mode, 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). 4. Inactive - The device is inactive. It is not monitoring any Capacitive Sensor channels. The device will still respond to SMBus commands normally and can be returned to Fully Active Mode by clearing the DEACT bit. All LEDs will have PWM controls suspended so they should be disabled prior to entering this mode. If these LEDs are not disabled, then the system will show excess current draw from these LEDs.
Table 4.1 Power Modes POWER MODE Fully Active Deep Sleep waking to Fully Active Sleep Deep Sleep waking to Sleep Inactive Deep Sleep waking to Inactive Inactive Deep Sleep waking to Inactive The priority of power control signals is: 1. DSLEEP - when set will override DEACT, disable all LEDs except LED11 then disable SMBus communications. 2. DEACT - when set, will override the SLEEP controls. It will disable sensor measurement and all LEDs. 3. SLEEP - when set, will enable Sleep mode. DEACT 0 0 0 0 1 1 1 1 SLEEP 0 0 1 1 0 0 1 1 DSLEEP 0 1 0 1 0 1 0 1
SMSC CAP1014
21
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
4.2
RESET Pin
The RESET pin is an active high reset that is driven from an external source. While it is asserted 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. Once the RESET pin is pulled low, the CAP1014 will begin operation as if a power-on-reset had occurred.
4.3
LED Drivers
The CAP1014 contains eleven (11) LED Drivers. Each LED Driver is controlled independently of the others and may be linked to the corresponding Capacitive Touch Sensor inputs. In addition, LED drivers 1 - 8 can be configured to operate in one of the following modes with either push-pull or opendrain drive. LED drivers 9 - 11 will only operate in as an open-drain driver. 1. Direct - The LED is configured to be on or off when the corresponding button is pressed or not pressed. The dimness of both “on” states and “off” states can be programmed as well as the rising and falling ramp times and delay when the corresponding button is released 2. Breathe - The LED is configured to breathe. Over the course of the programmed cycle the LED will transition from the programmed minimum to the programmed maximum and then back off again. This mode operates independently of any stimuli or may be linked so that the LED breathes when the stimuli is asserted (or deasserted). This feature is commonly used for power LEDs when in standby mode. 3. Pulse - The LED is configured to breathe 5 times with a programmable rate and dimness controls. This mode is linked to a button press detection or release. LED11 operates differently than the other LED outputs in three ways. First, it is configured to drive up to two external LED channels simultaneously. Second, it is not disabled during the Sleep or Deep Sleep modes of operation (see Section 5.1) and allows for different behaviors when the device is in Fully Active Mode versus when the device is in Sleep or Deep Sleep mode.
4.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.
4.4
Capacitive Touch Sensing
The CAP1014 contains 14 independent Capacitive Touch Sensor inputs. Each sensor has dynamic range to detect a change of capacitance due to a touch. Additionally, each sensor can be configured to be automatically and routinely re-calibrated.
4.4.1
Multiple Button Presses
If multiple sensor buttons (with a programmable threshold - see Section 5.23) are simultaneously detected, then 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 5.23) grouped sensor presses are detected, then the device will block all press detections on the grouped buttons and cancel any current presses as if the sensor had been released.
4.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
Revision 1.65 (08-11-09)
22
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
simultaneously exceeding the lid closure threshold. An interrupt can also be generated. During a Lid Closure Event all touches are blocked.
4.4.3
Grouped Sensors
Capacitive Touch Sensors 8 through 14 inclusive are automatically grouped as a single entity. 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.
4.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, then a touch is detected and an interrupt generated.
4.4.5
Recalibrating Sensors
Each sensor is regularly recalibrated at an adjustable 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.
4.5
Grouped Sensor Behavior
The CAP1014 Grouped sensors function as a single entity that operates differently than the individual button sensors. This group functions as a slider and offers three different interface functions associated with it.
4.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), then 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, then the TAP status bit is cleared.
4.5.2
Press and Hold
If a touch on any Grouped sensor is held for longer than the M_PRESS bit settings (default 245ms), then 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, then 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 CAP1014
23
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
4.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, then it will reset and return to normal operation.
4.5.4
Relative Position
The CAP1014 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 5.4).
4.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 make 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.
4.6
ALERT Pin
The ALERT pin is an active high output that is driven high when an interrupt event is detected. It is also used to wake the device from Deep Sleep mode. Whenever an interrupt is generated, the INT bit (see Section 5.1) is set. The ALERT pin is cleared when INT bit is cleared by the user. Additionally, when the INT bit is cleared by the user status bits are cleared only if no press is detected.
4.6.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 5.14), then, so long as the touch is held, another interrupt will be generated based on the programmed repeat rate (see Figure 4.2). An interrupt will be generated whenever a release is detected (see Figure 4.3).
4.6.2
Grouped Sensor Interrupt Behavior
For grouped sensors, an interrupt is generated upon initial detection of a tap, slide, or press and hold event. Then, 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 4.6 and Figure 4.7. Additionally, additional interrupts are
Revision 1.65 (08-11-09)
24
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
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 4.4. 3. For a press and hold event, interrupts are generated based on the programmed repeat rate. If the repeat rate is disabled, then no further interrupts are generated. See Figure 4.5.
4.6.3
Wake from Deep Sleep
This pin is also used to wake the device from the Deep Sleep power state if it is driven high from an external source. When the device enters the Deep Sleep power state, the ALERT pin output is put into a High Z mode. It requires a pull-down resistor to pull it to the inactive state. Furthermore, the CAP1014 will wait 5ms before it samples the ALERT pin for wake activity.
Interrupt on Touch
Polling Cycle (35ms)
Touch Detected ALERT Pin / INT bit Button Status SMBus Write to INT bit
Button Repeat Rate (175ms)
Button Repeat Rate (175ms)
Button Repeat Rate (175ms) Interrupt on Release
Figure 4.2 Button Interrupt Behavior - Repeat Rate Enabled (default)
Interrupt on Touch
Polling Cycle (35ms) Interrupt on Release
Touch Detected ALERT Pin / INT bit Button Status SMBus Write to INT bit
Figure 4.3 Button Interrupt Behavior - No Repeat Rate Enabled
SMSC CAP1014
25
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Polling Cycle (35ms)
Released before M_PRESS
Touch Detected ALERT Pin / INT bit Tap & UP / DOWN Status SMBus Write to INT bit
M_PRESS Setting (280ms)
Figure 4.4 Tap Interrupt Behavior
Polling Cycle (35ms)
Held longer than M_PRESS Setting
Touch Detected ALERT Pin / INT bit PH Status
M_PRESS Setting (280ms)
Repeat Rate Repeat Rate (RPT_RATE_PH - 175ms) (RPT_RATE_PH - 175ms)
UP / DOWN Status SMBus Write to INT bit
Figure 4.5 Press and Hold Interrupt Behavior
Revision 1.65 (08-11-09)
26
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Polling Cycle (35ms)
Touch Detected – CS14 Touch Detected – CS13 Touch Detected CS12 Touch Detected CS11 Touch Detected – CS10 Touch Detected – CS9 Touch Detected – CS8 ALERT Pin / INT bit
Repeat Rate (175ms) Repeat Rate (175ms)
DOWN
UP
DOWN Status UP Status SMBus Write to INT bit
Figure 4.6 Slide Interrupt Behavior - No Acceleration
SMSC CAP1014
27
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Polling Cycle (35ms)
Maximum Slide (768ms)
Touch Detected – CS14 Touch Detected – CS13 Touch Detected CS12 Touch Detected CS11 Touch Detected – CS10 Touch Detected – CS9 Touch Detected – CS8
Repeat Rate (base = 140ms) 140ms Minor Acceleration Repeat Rate reduced 70ms Normal Slide – no change in repeat rate
Major Acceleration Repeat Rate reduced 35ms
Slide Ended (525ms) = 0.68 x Max – Generate 2 extra interrupts at 35ms apart
70ms
35ms
ALERT Pin / INT bit SMBus Write to INT bit
Figure 4.7 Slide Interrupt Behavior - Acceleration Example
Revision 1.65 (08-11-09)
28
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Chapter 5 Register Description
The registers shown in Table 5.1 are accessible through the SMBus. An entry of ‘-’ indicates that the bit is not used and will always read ‘0’.
Table 5.1 Register Set in Hexadecimal Order REGISTER ADDRESS 00h DEFAULT VALUE 00h
R/W R/W
REGISTER NAME Main Status Control
FUNCTION Controls general sleep states and power dissipation Returns the state of the Cap Sensor group and buttons 1 - 6 and slider controls Returns the state of buttons 7 - 14 Stores the functional revision of the device build Returns the relative position of a press on the slider or volumetric data Stores a fixed value that Identifies SMSC Controls the step used for volumetric data increases for a slide Stores the noise flags for sensors 1-7 Stores the noise flags for sensors 8 - 14 Stores lid closure status bits for sensors 1 - 7 Stores lid closure status bits for sensors 8 - 14 Stores the status of LED1 / GPIO1 through LED8 / GPIO8 pins Returns the state of the Grouped sensors Stores the delta count for CS1 Stores the delta count for CS2 Stores the delta count for CS3 Stores the delta count for CS4
PAGE Page 34
03h 04h 05h
R R R R-C / R/W R
Button Status 1 Button Status 2 Build Revision Slider Position / Volumetric Data Vendor ID
00h 00h 1Xh
Page 35 Page 35 Page 36
06h
00h
Page 37
08h
5Dh
Page 38
09h
R/W
Volumetric Step
01h
Page 38
0Ah 0Bh 0Ch 0Dh 0Eh 0Fh 10h 11h 12h 13h
R R R R R-C R-C R R R R
Noise Flag Status 1 Noise Flag Status 2 Lid Closure Status 1 Lid Closure Status 2 GPIO Status Group Status Sensor 1 Delta Count Sensor 2 Delta Count Sensor 3 Delta Count Sensor 4 Delta Count
00h 00h 00h 00h 00h 00h 00h 00h 00h 00h
Page 39 Page 39 Page 39 Page 39 Page 40 Page 40 Page 41 Page 41 Page 41 Page 41
SMSC CAP1014
29
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Table 5.1 Register Set in Hexadecimal Order (continued) REGISTER ADDRESS 14h 15h 16h 17h 18h 19h 1Ah 1Bh 1Ch 1Dh DEFAULT VALUE 00h 00h 00h 00h 00h 00h 00h 00h 00h 00h
R/W R R R R R R R R R R
REGISTER NAME Sensor 5 Delta Count Sensor 6 Delta Count Sensor 7 Delta Count Sensor 8 Delta Count Sensor 9 Delta Count Sensor 10 Delta Count Sensor 11 Delta Count Sensor 12 Delta Count Sensor 13 Delta Count Sensor 14 Delta Count Queue Control
FUNCTION Stores the delta count for CS5 Stores the delta count for CS 6 Stores the delta count for CS7 Stores the delta count for CS8 Stores the delta count for CS9 Stores the delta count for CS10 Stores the delta count for CS11 Stores the delta count for CS12 Stores the delta count for CS13 Stores the delta count for CS14 Controls how many samples must exceed touch threshold for Button press detections Controls the sensitivity of the threshold and delta counts and data scaling of the base counts Controls some recalibration and LED controls Controls whether the Capacitive Touch Sensor group and button inputs 1 - 7 are sampled Controls reset delay and autorepeat delay for buttons Controls the detection dwell time before a press is detected within the group Controls reset delay and autorepeat delay for grouped sensors Controls automatic calibration for grouped sensors and sensors 1 - 7 Activates manual re-calibration for grouped sensors and sensors 1 - 7
PAGE Page 41 Page 41 Page 41 Page 41 Page 41 Page 41 Page 41 Page 41 Page 41 Page 41
1Eh
R/W
03h
Page 42
1Fh
R/W
Data Sensitivity
2Fh
Page 42
20h
R/W
Configuration
2Dh
Page 44
21h
R/W
Sensor Enable
FFh
Page 45
22h
R/W
Button Configuration Group Configuration 1 Group Configuration 2 Calibration Enable Calibration Activate
A4h
Page 46
23h
R/W
47h
Page 47
24h 25h 26h
R/W R/W R/W
D4h FFh 00h
Page 48 Page 48 Page 49
Revision 1.65 (08-11-09)
30
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Table 5.1 Register Set in Hexadecimal Order (continued) REGISTER ADDRESS DEFAULT VALUE
R/W
REGISTER NAME
FUNCTION Enables Interrupts associated with the grouped sensors and sensors 1-7 Enables Interrupts associated with GPIOS 1 - 8 Determines the number and which channels are measured during Sleep Mode Determines the number of simultaneous presses to flag a multiple press condition Controls Lid Closure detection and operation Controls how many samples must exceed the lid closure threshold for Button and Slider operation Stores pattern bits for lid closure detection for channels 1 - 7 Stores pattern bits for lid closure detection for channels 8 - 14 Determines re-calibration timing and sampling window Stores the delta count threshold to determine a touch for Capacitive Touch Sensor 1 Stores the delta count threshold to determine a touch for Capacitive Touch Sensor 2 Stores the delta count threshold to determine a touch for Capacitive Touch Sensor 3 Stores the delta count threshold to determine a touch for Capacitive Touch Sensor 4 Stores the delta count threshold to determine a touch for Capacitive Touch Sensor 5 Stores the delta count threshold to determine a touch for Capacitive Touch Sensor 6 Stores the delta count threshold to determine a touch for Capacitive Touch Sensor 7 Stores the delta count threshold to determine a touch on any of the Grouped Sensors
31
PAGE
27h
R/W
Interrupt Enable 1
FFh
Page 49
28h
R/W
Interrupt Enable 2 Sleep Channel Control Multiple Press Configuration Lid Closure Configuration Lid Closure Queue Control Lid Closure Pattern 1 Lid Closure Pattern 2 Recalibration Configuration Sensor 1 Threshold
00h
Page 49
29h
R/W
00h
Page 51
2Ah
R/W
82h
Page 51
2Bh
R/W
00h
Page 52
2Ch
R/W
02h
Page 53
2Dh 2Eh 2Fh
R/W R/W R/W
7Fh 7Fh 93h
Page 53 Page 53 Page 54
30h
R/W
40h
Page 55
31h
R/W
Sensor 2 Threshold
40h
Page 55
32h
R/W
Sensor 3 Threshold
40h
Page 55
33h
R/W
Sensor 4 Threshold
40h
Page 55
34h
R/W
Sensor 5 Threshold
40h
Page 55
35h
R/W
Sensor 6 Threshold
40h
Page 55
36h
R/W
Sensor 7 Threshold
40h
Page 55
37h
R/W
Group Threshold
40h
Page 55
SMSC CAP1014
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Table 5.1 Register Set in Hexadecimal Order (continued) REGISTER ADDRESS 38h DEFAULT VALUE 55h
R/W R/W (unlock) R/W (unlock) R/W (unlock) R/W (unlock) R/W (unlock) R/W (unlock) R/W R/W R R R R R R R R R R R R
REGISTER NAME Button Noise Threshold 1 Button Noise Threshold 2 Lid Closure Threshold 1 Lid Closure Threshold 2 Lid Closure Threshold 3 Lid Closure Threshold 4 Slider Velocity Configuration Sampling Configuration Sensor 1 Base Count Sensor 2 Base Count Sensor 3 Base Count Sensor 4 Base Count Sensor 5 Base Count Sensor 6 Base Count Sensor 7 Base Count Sensor 8 Base Count Sensor 9 Base Count Sensor 10 Base Count Sensor 11 Base Count Sensor 12 Base Count
FUNCTION Stores controls for selecting the noise threshold for buttons 1 - 4 Stores controls for selecting the noise threshold for buttons 5 - 7 and the Grouped sensors Stores controls for selecting the lid closure threshold for buttons 1 - 4 Stores controls for selecting the lid closure threshold for buttons 5 - 8 Stores controls for selecting the lid closure threshold for buttons 9 - 12 Stores controls for selecting the lid closure threshold for buttons 13 14 Determines speed parameters for the slider Changes the sampling time for one or more input channels Stores the reference count value for sensor 1 Stores the reference count value for sensor 2 Stores the reference count value for sensor 3 Stores the reference count value for sensor 4 Stores the reference count value for sensor 5 Stores the reference count value for sensor 6 Stores the reference count value for sensor 7 Stores the reference count value for sensor 8 Stores the reference count value for sensor 9 Stores the reference count value for sensor 10 Stores the reference count value for sensor 11 Stores the reference count value for sensor 12
PAGE Page 56
39h
55h
Page 56
3Ah 3Bh 3Ch
AAh AAh AAh
Page 57 Page 57 Page 57
3Dh
0Ah
Page 57
3Eh 4Fh 50h 51h 52h 53h 54h 55h 56h 57h 58h 59h 5Ah 5Bh
C5 00h 00h 00h 00h 00h 00h 00h 00h 00h 00h 00h 00h 00h
Page 59 Page 60 Page 61 Page 61 Page 61 Page 61 Page 61 Page 61 Page 61 Page 61 Page 61 Page 61 Page 61 Page 61
Revision 1.65 (08-11-09)
32
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Table 5.1 Register Set in Hexadecimal Order (continued) REGISTER ADDRESS 5Ch 5Dh 70h 71h 72h 73h 74h 75h 76h 80h 81h 82h 83h 84h 85h 86h DEFAULT VALUE 00h 00h 00h 00h 00h 00h 00h 00h 00h 00h 00h 00h 00h 20h 14h 5Dh
R/W R R R/W R/W R R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
REGISTER NAME Sensor 13 Base Count Sensor 14 Base Count LED / GPIO Direction LED / GPIO Output Type GPIO Input LED Output Control 1 LED Output Control 2 LED Polarity 1 LED Polarity 2 Sensor LED Linking LED Behavior 1 LED Behavior 2 LED Behavior 3 LED Pulse 1 Period LED Pulse 2 Period LED Breathe Period
FUNCTION Stores the reference count value for sensor 13 Stores the reference count value for sensor 14 Controls the direction for LED1/ GPIO1 through LED8 / GPIO8 Controls the output type for LED1 / GPIO1 through LED8 / GPIO8 Stores the pin state of LED1 / GPIO1 through LED8 / GPIO8 Controls the output state of the LED drivers 1 - 8 Controls the output state of the LED drivers 9 - 11 Controls the output polarity of LEDs 1 - 8 Controls the output polarity of LEDs 9 - 11 Controls linking of CS1 - CS7 to LED channels Controls the behavior and response of LEDs 1 - 4 Controls the behavior and response of LEDs 5 - 8 Controls the behavior and response of LEDs 9 - 11 Controls the period of each breathe during a pulse Controls the period of breath and pulse release operation Controls the period of an LED breathe operation Controls the number of pulses for the Pulse 1 and Pulse 2 LED behaviors Determines the min and max duty cycle for the pulse operation Determines the min and max duty cycle for the breathe and pulse release operation Determines the min and max duty cycle for the breathe operation
PAGE Page 61 Page 61 Page 62 Page 62 Page 63 Page 63 Page 63 Page 64 Page 64 Page 66 Page 67 Page 67 Page 67 Page 69 Page 71 Page 72
88h
R/W
LED Pulse Config LED Pulse 1 Duty Cycle LED Pulse 2 Duty Cycle LED Breathe Duty Cycle
24h
Page 72
90h
R/W
F0h
Page 73
91h
R/W
F0h
Page 73
92h
R/W
F0h
Page 73
SMSC CAP1014
33
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Table 5.1 Register Set in Hexadecimal Order (continued) REGISTER ADDRESS DEFAULT VALUE
R/W
REGISTER NAME LED Direct Duty Cycle LED Direct Ramp Rates LED Off Delay Product ID Revision
FUNCTION Determines the min and max duty cycle for Direct mode LED operation Determines the rising and falling edge ramp rates of the LED Determines the off delay for all LED behaviors Stores a fixed value that identifies each product Stores a fixed value that represents the revision number
PAGE
93h
R/W
F0h
Page 73
94h 95h FDh FFh
R/W R/W R R
00h 00h 2Dh 81h
Page 74 Page 75 Page 77 Page 77
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.
5.1
Main Status Control Register
Table 5.2 Main Status Control Register
ADDR 00h
R/W R/W
REGISTER Main Status Control
B7 -
B6 DEACT
B5 SLEEP
B4 DSLEEP
B3 -
B2 -
B1 PWR_ LED
B0 INT
DEFAULT 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 5.39). 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 mode by deactivating the LED activity. ‘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 5.22). The status registers will not be cleared. Bit 4 - DSLEEP - Enables the Deep Sleep mode by deactivating all functions. ‘0’ (default) - Sensor scanning is active and LEDs are functional. ‘1’ - All sensor scanning is disabled and all LEDs are disabled (except LED11). The device will return to its previous power state when the ALERT pin is driven to its active level (see Section 4.1). The status registers are automatically cleared and the INT bit is cleared. 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.
Revision 1.65 (08-11-09) 34 SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
‘1’ - The LED11 output is active in one of the following conditions: a.Both bits 4 and 5 are set to a logic ‘0’ (normal mode). The LED will behave as defined the the LED11_CTL bits (see Section 5.40). b.Either bit 4 or bit 5 are set to a logic ‘1’ (sleep mode). The LED will behave as defined by the LED11_ALT bits (see Section 5.40). 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 not set to a logic ‘1’ then 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. ‘0’ - No interrupt pending. ‘1’ - A button press has been detected on one or more channels and the interrupt has been asserted.
5.2
Button Status Registers
Table 5.3 Button Status Registers
ADDR 03h 04h
R/W R R
REGISTER Button Status 1 Button Status 2
B7 UP CS14
B6 DOWN CS13
B5 CS6 CS12
B4 CS5 CS11
B3 CS4 CS10
B2 CS3 CS9
B1 CS2 CS8
B0 CS1 CS7
DEFAULT 00h 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 5.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, then the bits will not be cleared (but this will not cause the interrupt to be asserted - see Section 5.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
5.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, then 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, then 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 “DOWN” direction. This bit is automatically cleared if the UP bit is set.
SMSC CAP1014
35
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
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.
5.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.
5.3
Build Revision Register
Table 5.4 Firmware Revision Register
ADDR 05h 05h
R/W R R
REGISTER CAP1014-1 Build Revision CAP1014-2 Build Revision
B7 0 0
B6 0 0
B5 0 0
B4 1 1
B3 0 0
B2 0 0
B1 0 1
B0 1 0
DEFAULT 11h 12h
The Build Revision register indicates hardware defined settings that are used.
Revision 1.65 (08-11-09)
36
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Table 5.5 Build History BUILD 10h 11h 12h DEVICE CAP1014 CAP1014-1 CAP1014-2 REASON FOR CHANGE Initial Development Activated Lid Closure circuitry Activated Lid Closure circuitry and changed SMBus address to 0101_100b
5.4
Slider Position / Volumetric Data Register
Table 5.6 Slider Position / Volumetric Data Register
ADDR 06h
R/W R-C / R/W
REGISTER Slider Position / Volumetric Data
B7 -
B6
B5
B4
B3 POS[6:0]
B2
B1
B0
DEFAULT 00h
The Slider Position 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 5.14).
5.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 CAP1014 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 5.7 shows an example of the settings assuming a single button is pressed. If a slide is detected on the Grouped sensors, then 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: 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 5.7 Example Slider Absolute Position Decode POS[6:0] SETTINGS 02h (2d) 12h (18d) 22h (34d) 32h (50d)
TOUCH POSITION CS8 CS9 CS10 CS11
SMSC CAP1014
37
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Table 5.7 Example Slider Absolute Position Decode (continued) POS[6:0] SETTINGS 42h (68d) 52h (82d) 62h (98d)
TOUCH POSITION CS12 CS13 CS14
5.4.2
Volumetric Data
If they are setup to present Volumetric Data (see Section 5.14) then 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 5.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 5.6) whenever an interrupt is generated (including extra interrupts generated after the slide is complete) A tap (see Section 4.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 4.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 4.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.
5.5
Vendor ID Register
Table 5.8 Vendor ID Register
ADDR 08h
R/W R
REGISTER Vendor ID
B7 0
B6 1
B5 0
B4 1
B3 1
B2 1
B1 0
B0 1
DEFAULT 5Dh
The Vendor ID register stores an 8-bit value that represents SMSC.
5.6
Volumetric Step Register
Table 5.9 Volumetric Step Register
ADDR 09h
R/W R/W
REGISTER Volumetric Step
B7 -
B6 -
B5 -
B4 -
B3
B2
B1
B0
DEFAULT 01h
VOL_STEP[3:0]
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.
Revision 1.65 (08-11-09) 38 SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
5.7
Noise Flag Status Registers
Table 5.10 Noise Flag Status Registers
ADDR 0Ah 0Bh
R/W R R
REGISTER Noise Flag Status 1 Noise Flag Status 2
B7 -
B6 S7_ NOISE S14_ NOISE
B5 S6_ NOISE S13_ NOISE
B4 S5_ NOISE S12_ NOISE
B3 S4_ NOISE S11_ NOISE
B2 S3_ NOISE S10_ NOISE
B1 S2_ NOISE S9_ NOISE
B0 S1_ NOISE S8_ NOISE
DEFAULT 00h 00h
The Noise Flag 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. These bits indicate that the most recently received data from the sensor is invalid and should not be used for touch detection. Furthermore, so long as the bit is set for a particular channel, no decisions are made with the data. The queues are not updated, a touch is not detected, and a release is not detected. These bits are not sticky and will be cleared automatically if the analog block does not report a noise error.
5.8
Lid Closure Status Registers
Table 5.11 Lid Closure Status Registers
ADDR 0Ch 0Dh
R/W R R
REGISTER Lid Closure Status 1 Lid Closure Status 2
B7 -
B6 S7_ LID S14_ LID
B5 S6_ LID S13_ LID
B4 S5_ LID S12_ LID
B3 S4_ LID S11_ LID
B2 S3_ LID S10_ LID
B1 S2_ LID S9_ LID
B0 S1_ LID S8_ LID
DEFAULT 00h 00h
The Lid Closure Status registers bits are only set if the lid closure detection circuitry is enabled (see Section 5.24, "Lid Closure Configuration Register"). 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 5.26, "Lid Closure Pattern Registers"). 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 5.25, "Lid Closure Queue Control Register"). APPLICATION NOTE: It is likely that recalibration will occur while the lid is closed, resulting in negative delta counts until recalibration takes place.
SMSC CAP1014
39
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
5.9
GPIO Status Register
Table 5.12 GPIO Status Register
ADDR 0Eh
R/W R-C
REGISTER GPIO Status
B7 GPIO8_ STS
B6 GPIO7_ STS
B5 GPIO6_ STS
B4 GPIO5_ STS
B3 GPIO4_ STS
B2 GPIO3_ STS
B1 GPIO2_ STS
B0 GPIO1_ STS
DEFAULT 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, then the respective bit will be set to a logic ‘0’. The bits are cleared when the register is read.
5.10
Group Status Register
Table 5.13 GPIO Status Register
ADDR 0Fh
R/W R-C
REGISTER Group Status
B7 LID
B6 MULT
B5 -
B4 -
B3 UP
B2 DOWN
B1 TAP
B0 PH
DEFAULT 00h
The Group Status register indicates that one or more actions was detected on the Grouped sensors. The detectable actions are described in Section 4.5. 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 3 - UP - Indicates that a slide was detected on increasing sensors (i.e. Sensor 1 -> Sensor 2 -> Sensor 3). 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, then 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 6 -> Sensor 5 -> Sensor 4). 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, then 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 reset 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” then the bit will be set however no interrupt will be generated. This bit is sticky and will remain set until read. 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” then 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, then this bit will be re-set when the interrupt is generated.
Revision 1.65 (08-11-09)
40
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
5.11
Sensor Delta Count Registers
Table 5.14 Sensor Delta Count Registers
ADDR 10h 11h 12h 13h 14h 15h 16h 17h 18h 19h 1Ah 1Bh 1Ch 1Dh
R/W R R R R R R R R R R R R R R
REGISTER Sensor 1 Delta Count Sensor 2 Delta Count Sensor 3 Delta Count Sensor 4 Delta Count Sensor 5 Delta Count Sensor 6 Delta Count Sensor 7 Delta Count Sensor 8 Delta Count Sensor 9 Delta Count Sensor 10 Delta Count Sensor 11 Delta Count Sensor 12 Delta Count Sensor 13 Delta Count Sensor 14 Delta Count
B7 Sign Sign Sign Sign Sign Sign Sign Sign Sign Sign Sign Sign Sign Sign
B6 64 64 64 64 64 64 64 64 64 64 64 64 64 64
B5 32 32 32 32 32 32 32 32 32 32 32 32 32 32
B4 16 16 16 16 16 16 16 16 16 16 16 16 16 16
B3 8 8 8 8 8 8 8 8 8 8 8 8 8 8
B2 4 4 4 4 4 4 4 4 4 4 4 4 4 4
B1 2 2 2 2 2 2 2 2 2 2 2 2 2 2
B0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
DEFAULT 00h 00h 00h 00h 00h 00h 00h 00h 00h 00h 00h 00h 00h 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 capacitor 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 4.4.4 - sensor cycle). 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 5.13). The value is also capped at a negative value of FFh for negative delta counts which may result upon a release.
SMSC CAP1014
41
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
5.12
Queue Control Register
Table 5.15 Queue Control Register
ADDR 1Eh
R/W R/W
REGISTER Button Queue Control
B7 -
B6 -
B5 -
B4 -
B3 -
B2
B1 QUEUE_B[2:0]
B0
DEFAULT 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. Bits 2 - 0 - QUEUE_B[2:0] - The number of consecutive samples necessary to detect a touch. Default is 3 consecutive samples. See Table 5.16.
Table 5.16 QUEUE_B Bit Decode QUEUE_B[3:0] 2 0 0 0 0 1 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 NUMBER OF CONSECUTIVE READINGS > THRESHOLD 1 1 2 3 4 5 6 7
5.13
Data Sensitivity Register
Table 5.17 Data Scaling Register
ADDR 1Fh
R/W R/W
REGISTER Data Sensitivity
B7 -
B6
B5 D_DSP[2:0]
B4
B3
B2
B1
B0
DEFAULT 2Fh
C_DSP[3:0]
The Data Sensitivity register controls the sensitivity of a touch detection. Bits 6- 4 D_DSP[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 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 higher sensitivity levels.
Revision 1.65 (08-11-09)
42
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
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 5.18 D_DSP Bit Decode D_DSP[2:0] 2 0 0 0 0 1 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 SENSITIVITY MULTIPLIER 128x (most sensitive) 64x 32x (default) 16x 8x 4x 2x 1x - (least sensitive)
Bits 3 - 0 - C_DSP[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 presented. The scale factor represents the multiplier to the bit-weighting presented in these register descriptions. APPLICATION NOTE: The C_DSP[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 5.19 C_DSP Bit Decode C_DSP[3:0] 3 0 0 0 0 0 0 0 0 2 0 0 0 0 1 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 DATA SCALING FACTOR 1x 2x 4x 8x 16x 32x 64x 128x
SMSC CAP1014
43
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Table 5.19 C_DSP Bit Decode (continued) C_DSP[3:0] 3 1 2 0 All others 1 0 0 0 DATA SCALING FACTOR 256x 256x (default = 1111b)
5.14
Configuration Register
Table 5.20 Configuration Register
ADDR
R/W
REGISTER
B7 TIME OUT
B6 POS_ VOL
B5 BLK NOISE_ TH
B4 BLK_ NOISE_ DIS
B3 MAX_ DUR_ EN_B
B2 RPT_ EN_B
B1 MAX_ DUR_ EN_G
B0 RPT_ EN_G
DEFAULT
20h
R/W
Configuration
2Dh
The Configuration register controls general global functionality that affects the entire device. Bit 7 - TIMEOUT - Enables the timeout and idle functionality of the SMBus protocol. ‘0’ (default) - The SMBus timeout 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 timeout 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 5.4. ‘0’ (default) - The POS[6:0] bits represent position information that indicates which sensor was touched or the last sensor touched during a slide. ‘1’ - The POS[6:0] bits represent volumetric data. The Position / Volumetric Data register is read / write. Bit 5 - BLK_DIG_NOISE - Determines whether the noise threshold is checked when determining whether to discard samples. ‘0’ - The noise threshold is enabled and checked. If a sample is above the noise threshold, it is not included in the re-calibration routine. ‘1’ (default) - The noise threshold is disabled. No samples are excluded from the re-calibration routine. Bit 4 - BLK_ANA_NOISE - Determines whether the noise flag setting will block a touch detection as well as the analog calibration routine. ‘0’ (default) - If the analog noise bit is set, then a touch is blocked on the corresponding channel and will force the analog calibration routine to retry. ‘1’ - A touch is not blocked even if the analog noise bit is set. Likewise, the analog calibration routine will not retry if the analog noise bit is set. Bit 3 - MAX_DUR_EN_B - Determines whether the maximum duration recalibration is enabled for nongrouped sensors.
Revision 1.65 (08-11-09)
44
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
‘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, then the re-calibration routine will be restarted (see Section 5.16). APPLICATION NOTE: If the RPT_EN_B bit is updated while a touch is present on a button, then no changes will be made to the interrupts until that button has been released. Bit 2 - RPT_EN_B - Determines the interrupt mechanism used when a press is detected on a nongrouped sensor (button) ‘0’ - An interrupt will be generated when a touch is detected and again when a release is detected. ‘1’ (default) - An interrupt will be generated when a touch is detected and at the programmed repeat rate so long as the button is pressed. 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, then the re-calibration routine will be restarted (see Section 5.18). Bit 0 - RPT_EN_G - Determines the interrupt mechanism used when a Press and Hold event is detected on a grouped sensor ‘0’ (default) - An interrupt will be generated when a Press and Hold event is detected. ‘1’ - 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.
5.15
Sensor Enable Registers
Table 5.21 Sensor Enable Registers
ADDR 21h
R/W R/W
REGISTER Sensor Enable
B7 G_EN
B6 S7_EN
B5 S6_EN
B4 S5_EN
B3 S4_EN
B2 S3_EN
B1 S2_EN
B0 S1_EN
DEFAULT FFh
The Sensor Enable registers determine whether a Capacitive Touch Sensor input is included in the sampling cycle. The length of the sampling cycle is not affected by the number of sensors measured. Bit 7 - G_EN - Enables all Capacitive Touch Sensors that are grouped to be included during the sampling cycle. ‘0’ - None of the The grouped sensors are included in the sampling cycle. ‘1’ (default) - All of the grouped sensors are included in the sampling cycle. 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’ - 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.
SMSC CAP1014 45 Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
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.
5.16
Button Configuration Register
Table 5.22 Button Configuration Register
ADDR 22h
R/W R/W
REGISTER Button Configuration
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT A4h
MAX_DUR_B[3:0]
RPT_RATE_B[3:0]
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 5.23.
Table 5.23 MAX_DUR_B and MAX_DUR_G Bit Decode MAX_DUR_B[3:0] AND MAX_DUR_G[3:0] 3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 TIME BEFORE RECALIBRATION 560ms 840ms 1120ms 1400ms 1680ms 2240ms 2800ms 3360ms 3920ms 4480ms 5600ms 6720ms 7840ms 8906ms 10080ms 11200ms
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 5.24.
Revision 1.65 (08-11-09) 46 SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Table 5.24 RPT_RATE_B / SL / PH and M_PRESS Bit Decode RPT_RATE_B / RPT_RATE_SL / RPT_RATE_PH / M_PRESS[3:0] 3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 INTERRUPT REPEAT RATE OR M_PRESS TIME 35ms 70ms 105ms 140ms 175ms 210ms 245ms 280ms 315ms 350ms 385ms 420ms 455ms 490ms 525ms 560ms
5.17
Group Configuration Register 1
Table 5.25 Group Configuration Register 1
ADDR 23h
R/W R/W
REGISTER Group Configuration 1
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT 47h
RPT_RATE_PH[3:0]
M_PRESS[3:0]
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 4.5.2). The resolution is 35ms the range is from 35ms to 560ms as shown in Table 5.24. 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 detect a Press and Hold event. If the sensor detects a touch for longer than the M_PRESS[3:0] settings, then a Press and Hold event is detected. This has no affect 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.
SMSC CAP1014
47
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
This is the maximum amount of time that a sensor in the Group can detect a button press to differentiate between a tap and a press and hold. If a sensor detects a touch for less than or equal to the M_PRESS[3:0] settings then, a Tap event is detected. The resolution is 35ms the range is from 35ms to 560ms as shown in Table 5.24.
5.18
Group Configuration Register 2
Table 5.26 Group Configuration Register 2
ADDR 24h
R/W R/W
REGISTER Group Configuration 2
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT D4h
MAX_DUR_G[3:0]
RPT_RATE_SL[3:0]
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 5.23. 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 4.5.3). The resolution is 35ms the range is from 35ms to 560ms as shown in Table 5.24.
5.19
Calibration Enable Registers
Table 5.27 Calibration Enable Registers
ADDR 25h
R/W R/W
REGISTER Calibration Enable
B7 G_ CEN
B6 S7_ CEN
B5 S6_ CEN
B4 S5_ CEN
B3 S4_ CEn
B2 S3_ CEN
B1 S2_ CEN
B0 S1_ CEN
DEFAULT FFh
The Calibration Enable registers control whether the indicated Capacitive Touch Sensor input is automatically re-calibrated. If a sensor is not enabled then 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 CAP1014 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 CAP1014 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.
Revision 1.65 (08-11-09) 48 SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
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.
5.20
Calibration Activate Registers
Table 5.28 Calibration Activate Registers
ADDR 26h
R/W R/W
REGISTER Calibration Activate
B7 G_ CAL
B6 S7_ CAL
B5 S6_ CAL
B4 S5_ CAL
B3 S4_ CAL
B2 S3_ CAL
B1 S2_ CAL
B0 S1_ CAL
DEFAULT 00h
The Calibration Activate register 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. 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. 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.
5.21
Interrupt Enable Registers
Table 5.29 Interrupt Enable Registers
ADDR 27h 28h
R/W R/W R/W
REGISTER Interrupt Enable 1 Interrupt Enable 2
B7 G_INT_ EN GPIO8_ INT_EN
B6 S7_INT_ EN GPIO7_ INT_EN
B5 S6_INT_ EN GPIO6_ INT_EN
B4 S5_INT_ EN GPIO5_ INT_EN
B3 S4_INT_ EN GPIO4_ INT_EN
B2 S3_INT_ EN GPIO3_ INT_EN
B1 S2_INT _EN GPIO2_ INT_EN
B0 S1_INT_ EN GPIO1_ INT_EN
DEFAULT FFh 00h
The Interrupt Enable registers determine whether a button press or GPIO input changing state causes the interrupt pin to be asserted.
SMSC CAP1014
49
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
5.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).
5.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’ - The interrupt pin will not be asserted if the GPIO8 status bit has been set. ‘1’ (default) - 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.
Revision 1.65 (08-11-09)
50
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
5.22
Sleep Channel Control Register
Table 5.30 Sleep Channel Control
ADDR 29h
R/W R/W
REGISTER Sleep Channel Control
B7 GR_ SLEEP
B6 S7_ SLEEP
B5 S6_ SLEEP
B4 S5_ SLEEP
B3 S4_ SLEEP
B2 S3_ SLEEP
B1 S2_ SLEEP
B0 S1_ SLEEP
DEFAULT 00h
The Sleep Channel control register determine which sensors are sampled when the device is placed into sleep mode. APPLICATION NOTE: If this register is updated while the device is in Sleep Mode, then 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 Sleep Mode, it is recommended that 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 sleep mode. ‘0’ (default) - The Grouped Sensors are not sampled when the device is in Sleep mode ‘1’ - The Grouped Sensors are sampled when the device is in Sleep mode. If a tap, slide, or touch and hold is detected then the appropriate status bit is set and an interrupt generated. 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 Sleep mode ‘1’ - The CS7 input is sampled when the device is in Sleep mode. If a touch is detected then 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 sleep mode. Bit 4 - S5_SLEEP - Enables the CS5 sensor to be sampled when the device is placed into sleep mode. Bit 3 - S4_SLEEP - Enables the CS4 sensor to be sampled when the device is placed into sleep mode. Bit 2 - S3_SLEEP - Enables the CS3 sensor to be sampled when the device is placed into sleep mode. Bit 1 - S2_SLEEP - Enables the CS2 sensor to be sampled when the device is placed into sleep mode. Bit 0 - S1_SLEEP - Enables the CS1 sensor to be sampled when the device is placed into sleep mode.
5.23
Multiple Touch Configuration Register
Table 5.31 Multiple Touch Configuration
ADDR
R/W
REGISTER Multiple Touch Config
B7 MULT_ BLK_ EN
B6
B5
B4
B3
B2
B1
B0
DEFAULT
2Ah
R/W
-
-
-
B_MULT_T[1:0]
G_MULT_T[1:0]
82h
The Multiple Touch Configuration register controls the settings for the multiple touch detection circuitry. These settings determine the sensitivity of this detection and the CAP1014 device behavior. Bit 7 - MULT_BLK_EN - Enables the multiple button blocking circuitry.
SMSC CAP1014 51 Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
‘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 then a Multiple Touch Event is flagged. The bit decode is given by Table 5.32.
Table 5.32 B_MULT_T Bit Decode B_MULT_T[1:0] 1 0 0 1 1 0 0 1 0 1 NUMBER OF SIMULTANEOUS TOUCHES 1 (default) 2 3 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 then a Multiple Touch Event is flagged. The bit decode is given by Table 5.33.
Table 5.33 G_MULT_T Bit Decode G_MULT_T[1:0] 1 0 0 1 1 0 0 1 0 1 NUMBER OF SIMULTANEOUS TOUCHES 2 3 4 (default) 5
5.24
Lid Closure Configuration Register
Table 5.34 Lid Closure Configuration
ADDR 2Bh
R/W R/W
REGISTER Lid Closure Config
B7 LID_ CLOSE
B6 -
B5 -
B4 -
B3 -
B2 -
B1 COMP_ PTRN
B0 LID_ ALRT
DEFAULT 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.
Revision 1.65 (08-11-09) 52 SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
‘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 5.26, "Lid Closure Pattern Registers" 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, then a Lid Closure Event is flagged. Bit 0 - LID_ALRT - Enables an interrupt if a Lid Closure Event occurs. ‘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.
5.25
Lid Closure Queue Control Register
Table 5.35 Lid Closure Queue Control Register
ADDR 2Ch
R/W R/W
REGISTER Lid Closure Queue Control
B7 -
B6 -
B5 -
B4 -
B3 -
B2
B1
B0
DEFAULT 02h
QUEUE_L_B[2:0]
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_B[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. Default is 2 consecutive samples.
5.26
Lid Closure Pattern Registers
Table 5.36 Lid Closure Pattern Registers
ADDR 2Dh 2Eh
R/W R/W R/W
REGISTER Lid Closure Pattern 1 Lid Closure Pattern 2
B7 -
B6 S7_LM S14_LM
B5 S6_LM S13_LM
B4 S5_LM S12_LM
B3 S4_LM S11_LM
B2 S3_LM S10_LM
B1 S2_LM S9_LM
B0 S1_LM S8_LM
DEFAULT 7Fh 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 5.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
SMSC CAP1014 53 Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
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 5.10, "Group Status Register"). 1. Specific Sensors: If the bits set in the Lid Closure Pattern are also set in the Lid Status registers, then 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. 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.
5.27
Recalibration Configuration Register
Table 5.37 Recalibration Configuration Registers
ADDR 2Fh
R/W R/W
REGISTER Recalibration Configuration
B7 BUT_ LD_TH
B6 GP_ LD_TH
B5 -
B4
B3
B2
B1 CAL_CFG[2:0]
B0
DEFAULT 93h
ACAL_RT[1:0]
The Recalibration Configuration register controls the automatic re-calibration routine settings as well as advanced controls to program the Sensor Threshold register settings. 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 - ACAL_RT[1:0] - Determines the number of retries the digital logic will perform on the analog calibration routine before it accepts the previous setting.
Revision 1.65 (08-11-09)
54
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Table 5.38 ACAL_RT[1:0] Bit Decode ACAL_RT[1:0] 1 0 0 1 1 0 0 1 0 1 ANALOG CALIBRATION RETRIES Infinite 1 3 (default) 7
Bits 2 - 0 - CAL_CFG[2:0] - Determines the update time and number of samples of the automatic recalibration routine. The settings applies to all sensors universally (though individual sensors and the group can be configured to support re-calibration - see Section 5.19).
Table 5.39 CAL_CFG Bit Decode CAL_CFG[2:0] 2 0 0 0 0 1 1 1 1 Note 5.1 Note 5.2 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 RECALIBRATION SAMPLES (SEE Note 5.1) 16 32 64 256 256 256 256 256
UPDATE TIME (SEE Note 5.2) 16 32 64 256 (default) 1024 2048 4096 7936
Recalibration Samples refers to the number of samples that are measured and averaged before the Base Count is updated. Update Time refers to the amount of time (in polling cycle periods) that elapses before the Base Count is updated.
5.28
Sensor Threshold Registers
Table 5.40 Sensor Threshold Registers
ADDR 30h 31h
R/W R/W R/W
REGISTER Sensor 1 Threshold Sensor 2 Threshold
B7 -
B6 64 64
B5 32 32
B4 16 16
B3 8 8
B2 4 4
B1 2 2
B0 1 1
DEFAULT 40h 40h
SMSC CAP1014
55
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Table 5.40 Sensor Threshold Registers (continued) ADDR 32h 33h 34h 35h 36h 37h R/W R/W R/W R/W R/W R/W R/W REGISTER Sensor 3 Threshold Sensor 4 Threshold Sensor 5 Threshold Sensor 6 Threshold Sensor 7 Threshold Group Threshold B7 B6 64 64 64 64 64 64 B5 32 32 32 32 32 32 B4 16 16 16 16 16 16 B3 8 8 8 8 8 8 B2 4 4 4 4 4 4 B1 2 2 2 2 2 2 B0 1 1 1 1 1 1 DEFAULT 40h 40h 40h 40h 40h 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, then a touch is detected. When the BUT_LD_TH bit is set (see Section 5.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 5.27 - bit 6), writing data to the Sensor 1 Threshold register (30h) will update the Group Threshold register (37h). Individual button registers may be updated independently of the Sensor 1 Threshold settings.
5.29
Button Noise Threshold Registers
Table 5.41 Button Noise Threshold Registers
ADDR 38h 39h
R/W R/W R/W
REGISTER Button Noise Threshold 1 Button Noise Threshold 2
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT 55h 55h
CS4_BN_TH [1:0] GR_BN_TH [1:0]
CS3_BN_TH [1:0] CS7_BN_TH [1:0]
CS2_BN_TH [1:0] CS6_BN_TH [1:0]
CS1_BN_TH [1:0] CS5_BN_TH [1:0]
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, then it is determined to be caused by a noise spike. That sample is not used by the automatic re-calibration routine. The Button Noise Threshold is proportional to the programmed threshold as shown in Table 5.42.
Revision 1.65 (08-11-09)
56
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Table 5.42 CSx_BN_TH Bit Decode CSX_BN_TH[1:0] 1 0 0 1 1 0 0 1 0 1 THRESHOLD DIVIDE SETTING 6.25% 12.5% (default) 25% 50%
5.29.1
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.
5.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.
5.30
Lid Closure Threshold Registers
Table 5.43 Lid Closure Threshold Registers
ADDR 3Ah 3Bh 3Ch 3Dh
R/W R/W R/W R/W R/W
REGISTER Lid Closure Threshold 1 Lid Closure Threshold 2 Lid Closure Threshold 3 Lid Closure Threshold 4
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT AAh AAh AAh 0Ah
CS4_LD_TH [1:0] CS8_LD_TH [1:0] CS12_LD_TH [1:0] -
CS3_LD_TH [1:0] CS7_LD_TH [1:0] CS11_LD_TH [1:0] -
CS2_LD_TH [1:0] CS6_LD_TH [1:0] CS10_LD_TH [1:0] CS14_LD_TH [1:0]
CS1_LD_TH [1:0] CS5_LD_TH [1:0] CS9_LD_TH [1:0] CS13_LD_TH [1:0]
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
SMSC CAP1014 57 Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Threshold, the appropriate status bit is set in the Lid Closure Status register (see Section 5.8, "Lid Closure Status Registers"). The Lid Closure Threshold is proportional to the programmed Sensor Threshold as shown in Table 5.42.
Table 5.44 CSx_LD_TH Bit Decode CSX_LD_TH[1:0] 1 0 0 1 1 0 0 1 0 1 THRESHOLD DIVIDE SETTING 6.25% 12.5% 25% (default) 50%
5.30.1
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.
5.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). 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.
5.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).
Revision 1.65 (08-11-09)
58
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Bits 1-0 - CS9_LD_TH[1:0] - Controls the lid closure threshold for Capacitive Touch Sensor 9 (one of the grouped sensors).
5.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).
5.31
Slider Velocity Configuration Register
Table 5.45 Slider Velocity Configuration Register
ADDR 3Eh
R/W R/W
REGISTER Slider Velocity Configuration
B7 ACC_ INT_EN
B6
B5 MAX_INT[2:0]
B4
B3
B2
B1
B0
DEFAULT C5h
SLIDE_TIME [1:0]
RPT_SCALE [1:0]
The Slider Velocity Configuration Register also 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.
Table 5.46 MAX_INT Bit Decode MAX_INT[2:0] 2 0 0 0 0 1 1 1 1
SMSC CAP1014
1 0 0 1 1 0 0 1 1
0 0 1 0 1 0 1 0 1
MAX # INTERRUPTS 0 1 2 3 4 5 6 7
# INTERRUPTS FOR T < 1/2 SLIDE_TIME 0 1 2 3 4 5 6 7
59
# INTERRUPTS FOR 1/2 < T < 3/4 SLIDE_TIME 0 0 1 1 2 2 3 3
# INTERRUPTS FOR 3/4 < T < FULL SLIDE_TIME 0 0 0 0 1 1 1 1
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
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 5.47 SLIDE_TIME Bit Decode SLIDE_TIME[1:0] 1 0 0 1 1 0 0 1 0 1 APPROXIMATE SLIDE TIME (MSEC) 350 560 (default) 770 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 5.48, the repeat rate given is the number of measurement cycles between interrupts generated.
Table 5.48 RPT_SCALE Bit Decode REPEAT RATE (MSEC) RPT_SCALE[1:0] NUMBER OF SENSORS IN 100MSEC >=5 4 3 2 1 Note 5.3 00 35 35 35 35 01 35 35 35 70 10 35 35 70 105 RPT_RATE_SL If the repeat rate for the slider is set at 105msec or lower, then the 11b case will use the fixed values of 140, 105 and 70msec, respectively. 11 35 70 105 140
5.32
Sampling Configuration Register
Table 5.49 Sampling Configuration Register
ADDR 4Fh
R/W R/W
REGISTER Sampling Configuration
B7 -
B6 -
B5 -
B4 -
B3 -
B2
B1
B0
DEFAULT 00h
OVERSAMP_RATE[2:0]
Revision 1.65 (08-11-09)
60
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
The Sampling Configuration register controls the length of the sampling window of selected Captive 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 or to allow for degrees of proximity detection. 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 sample window of all selected sensors.
5.33
Sensor Base Count Registers
Table 5.50 Sensor Base Count Registers
ADDR 50h 51h 52h 53h 54h 55h 56h 57h 58h 59h 5Ah 5Bh 5Ch 5Dh
R/W R R R R R R R R R R R R R R
REGISTER Sensor 1 Base Count Sensor 2 Base Count Sensor 3 Base Count Sensor 4 Base Count Sensor 5 Base Count Sensor 6 Base Count Sensor 7 Base Count Sensor 8 Base Count Sensor 9 Base Count Sensor 10 Base Count Sensor 11 Base Count Sensor 12 Base Count Sensor 13 Base Count Sensor 14 Base Count
B7 128 128 128 128 128 128 128 128 128 128 128 128 128 128
B6 64 64 64 64 64 64 64 64 64 64 64 64 64 64
B5 32 32 32 32 32 32 32 32 32 32 32 32 32 32
B4 16 16 16 16 16 16 16 16 16 16 16 16 16 16
B3 8 8 8 8 8 8 8 8 8 8 8 8 8 8
B2 4 4 4 4 4 4 4 4 4 4 4 4 4 4
B1 2 2 2 2 2 2 2 2 2 2 2 2 2 2
B0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
DEFAULT 00h 00h 00h 00h 00h 00h 00h 00h 00h 00h 00h 00h 00h 00h
SMSC CAP1014
61
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
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 C_DSP bits (see Section 5.13).
5.34
LED / GPIO Direction Registers
Table 5.51 LED / GPIO Direction Registers
ADDR 70h
R/W R/W
REGISTER LED / GPIO Direction
B7 LED8_ DIR
B6 LED7_ DIR
B5 LED6_ DIR
B4 LED5_ DIR
B3 LED4_ DIR
B2 LED3_ DIR
B1 LED2_ DIR
B0 LED1_ DIR
DEFAULT 00h
The LED / GPIO Direction registers control the data flow direction for the LED / GPIO pins. Each pin is controlled by a single bit. 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.
5.35
LED / GPIO Output Type Registers
Table 5.52 LED / GPIO Output Type Registers
ADDR 71h
R/W R/W
REGISTER LED / GPIO Output Type 1
B7 LED8_ OT
B6 LED8_ OT
B5 LED6_ OT
B4 LED5_ OT
B3 LED4_ OT
B2 LED3_ OT
B1 LED2_ OT
B0 LED1_ OT
DEFAULT 00h
The LED / GPIO Output Type registers control the type of output for the LEDx / GPIOx pins that are configured to operate as outputs. Each pin is controlled by a single bit. ‘0’ (default) - The LEDx / GPIOx pin is an open-drain output with an external pull-up resistor. When the appropriate pin is set to the “active” state (logic ‘1’) then the pin will be driven low. Conversely, when the pin is set to the “inactive” state (logic ‘0’, then the pin will be left in a High Z state and pulled high via an external pull-up resistor.
Revision 1.65 (08-11-09)
62
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
‘1’ - The LEDx / GPIOx 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.
5.36
GPIO Input Register
Table 5.53 GPIO Input Register
ADDR 72h
R/W R
REGISTER GPIO Input
B7 GPIO8
B6 GPIO7
B5 GPIO6
B4 GPIO5
B3 GPIO4
B2 GPIO3
B1 GPIO2
B0 GPIO1
DEFAULT 00h
The GPIO Input registers reflect 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, then when a pin changes states, the GPIOx_STS bit is set. If the corresponding interrupt enable bit is also set, then an interrupt will be asserted.
5.37
LED Output Control Registers
Table 5.54 LED Output Control Registers
ADDR 73h 74h
R/W R/W R/W
REGISTER LED Output Control 1 LED Output Control 2
B7 LED8_ DR
B6 LED7_ DR
B5 LED6_ DR
B4 LED5_ DR
B3 LED4_ DR
B2 LED3_ DR LED11_ DR
B1 LED2_ DR LED10_ DR
B0 LED1_ DR LED9_ DR
DEFAULT 00h 00h
The LED Output Control Registers control the output state of the LED pins when they are configured as outputs. For all LED outputs, the “active” state is with the output driven low and the disabled state is with the output in a high Z state (or driven high). These bits are OR’d with the individual control bits defined in the LED Control Register (see Section 5.37). All LEDs that are associated with a Capacitive Touch Sensor channel are automatically enabled and will be actuated per the LED Behavior (if enabled as outputs - see Section 5.34). For those LEDs that are associated with a dual-color LED outputs, then the inactive state indicates that the LED connected between the drive pin and ground will be on. Likewise, the active state indicates that the LED connected between VDD and the drive in will be on. For those LEDs that are not linked with a Capacitive Touch Sensor channel, then the bit state determines whether the LED is active (or breathing - see Section 5.40) or inactive.
5.37.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 low. ‘1’ - The LED8 output is High Z or driven high. Bit 6 - LED7_DR - Determines whether LED7 output is driven high or low. ‘0’ (default) - The LED7 output is driven low. ‘1’ - The LED7 output is High Z or driven high. Bit 5 - LED6_DR - Determines whether LED6 output is driven high or low.
SMSC CAP1014
63
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
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.
5.37.2
LED Output Control 2
Bit 2 - LED11_DR - Determines whether LED11 is active or not. This LED cannot be linked to a Capacitive Touch Sensor. ‘0’ (default) - The LED11 output is in High Z and LED will be inactive. ‘1’ - The LED11 output is driven low and the LED will be active. Bit 1 - LED10_DR - Determines whether LED10 is active or not. If this LED is linked to the Group of sensors, then LED9 is automatically linked to the Group if sensors. ‘0’ (default) - The LED10 output is in High Z and LED will be inactive. If linked to the Group of Capacitive Touch sensors, then it will remain inactive when actuated. ‘1’ - The LED10 output is driven low and the LED will be active. If linked to Group of Capacitive Touch sensors, it will be in High-Z until it is actuated. At this point it will be driven low and the LED will be active. Bit 0 - LED9_DR - Determines whether LED9 is active or not. ‘0’ (default) - The LED9 output is in High Z and LED will be inactive. If linked to the Group of Capacitive Touch sensors, then it will remain inactive when actuated. ‘1’ - The LED9 output is driven low and the LED will be active. If linked to Group of Capacitive Touch sensors, it will be in High-Z until it is actuated. At this point it will be driven low and the LED will be active.
5.38
LED Polarity Registers
Table 5.55 LED Polarity Registers
ADDR 75h 76h
R/W R/W R/W
REGISTER LED Polarity 1 LED Polarity 2
B7 LED8_ POL -
B6 LED7_ POL -
B5 LED6_ POL -
B4 LED5_ POL -
B3 LED4_ POL -
B2 LED3_ POL LED11_ POL
B1 LED2_ POL LED10_ POL
B0 LED1_ POL LED9_ POL
DEFAULT 00h 00h
The LED Polarity registers control the logical polarity of the LED outputs. 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: 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 or to a logic ‘0’ state in an inverted system. The duty cycle settings operate independently of the polarity controls. Therefore, the Max Duty Cycle settings define the maximum % of time that the LED pin will be driven high in a non-inverted system while the Min Duty Cycle settings determine the minimum % of time that the LED pin will be driven high in a non-inverted system.
Revision 1.65 (08-11-09)
64
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
The LED drive assumes that the LEDs are configured such that if the LED pin is driven to a logic ‘0’ then the LED will be on and that the CAP1014 LED pin is sinking the LED current. Conversely, if the LED pin is driven to a logic ‘1’ then the LED will be off and there is no current flow. Finally, the breathe operations will always ramp the duty cycle from the minimum duty cycle to the maximum duty cycle and then back down to the minimum duty cycle. The LED Polarity controls lead to two conditions that have the apparent effect of changing the duty cycle settings. If an LED output is non-inverted then the Maximum Duty Cycle settings will define the maximum % of time that the LED is off. Conversely the Minimum Duty Cycle settings will define the minimum % of time that the LED is off. As well, when there is no touch detected or the LED Output Control register bit is at a logic ‘0’ then the LED output will be driven at the minimum duty cycle setting. The relative brightness will then ramp from maximum to minimum and back. If an LED output is inverted, then the Maximum Duty Cycle settings will define the maximum % of time that the LED is off and the Minimum Duty Cycle settings will determine the minimum % of time that the LED is on. As well, when there is no touch detected, or the LED Output Control register bit is at a logic ‘0’, then the LED output will be driven at the minimum duty cycle setting. The relative brightness will then ramp from minimum to maximum and back. Table 5.56, "LED Polarity Behavior" shows the interaction between the polarity controls, output controls and relative brightness.
Table 5.56 LED Polarity Behavior LED OUTPUT CONTROL REGISTER
POLARITY
MAX DUTY maximum % of time that the LED is on (logic 0) maximum % of time that the LED is on (logic 0) maximum % of time that the LED is off (logic 1) maximum % of time that the LED is off (logic 1)
MIN DUTY minimum % of time that the LED is on (logic 0) minimum % of time that the LED is on (logic 0) minimum % of time that the LED is off (logic 1) minimum % of time that the LED is off (logic 1)
LED BEHAVIORS
BRIGHTNESS maximum brightness at minimum duty cycle maximum brightness at max duty cycle. Brightness ramps from min to max maximum brightness at 100 - min duty cycle maximum brightness at 100 - min duty cycle. Brightness ramps from max to min
LED APPEARANCE on at minimum duty cycle according to LED behavior on at 100 - min duty cycle (Note 5.4) according to LED behavior
0
inverted
off
1
inverted
on
0
noninverted noninverted
off
1
on
Note 5.4
For example when polarity is non-inverted, if min duty cycle is 0, then the LED would be at logic 1 (off) 0% of the time. It will be at logic 0 (on), 100% of the time (100 - min duty cycle).
5.38.1
LED Polarity 1
Bit 7 - LED8_POL - Determines the polarity of the LED8 output. ‘0’ - The LED8 output is inverted. A setting of ‘1’ in the LED 8 Output register will cause the output to be driven to a logic ‘0’ as determined by the LED behavior. Similarly, the duty cycles corresponding to Pulse 1, Pulse 2, and Breathe operations will indicate the amount of time that the LED is driven to a logic ‘0’ state (corresponding to “active”).
SMSC CAP1014
65
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
‘1’ - The LED8 output is direct. A setting of ‘1’ in the LED 8 Output register will cause the output to be driven to a logic ‘1’ or left in the high-z state as determined by its output type and LED behavior. Similarly, the duty cycles corresponding to Pulse 1, Pulse 2, and Breathe operations will indicate to the amount of time that the LED is driven to a logic ‘1’ state (corresponding to “inactive”). 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.
5.38.2
LED Polarity 2
Bit 2 - LED11_POL - Determines the polarity of the LED11 output. ‘0’ (default) - The LED11 output is inverted. A setting of ‘1’ in the LED 11 Output register will cause the output to be driven to a logic ‘0’ as determined by the LED behavior. Similarly, the duty cycles corresponding to Pulse 1, Pulse 2, and Breathe operations will indicate the amount of time that the LED is driven to a logic ‘0’ state (corresponding to “active”). ‘1’ - The LED11 output is direct. A setting of ‘1’ in the LED 11 Output register will cause the output to be driven to a logic ‘1’ or left in the high-z state as determined by its output type and LED behavior. Similarly, the duty cycles corresponding to Pulse 1, Pulse 2, and Breathe operations will indicate to the amount of time that the LED is driven to a logic ‘1’ state (corresponding to “inactive”). Bit 1 - LED10_POL - Determines the polarity of the LED10 output. Bit 0 - LED9_POL - Determines the polarity of the LED9 output.
5.39
Sensor LED Linking Registers
Table 5.57 Sensor LED Linking Registers
ADDR
R/W
REGISTER Sensor LED Linking
B7 UP_ DOWN LLINK
B6 CS7_ LED7
B5 CS6_ LED6
B4 CS5_ LED5
B3 CS4_ LED4
B2 CS3_ LED3
B1 CS2_ LED2
B0 CS1_ LED1
DEFAULT
80h
R/W
00h
The Sensor LED Linking registers control whether a Capacitive Touch Sensor is linked to an LED output or not. If the corresponding bit is set, then the appropriate LED output will change states defined by the LED Behavior controls (see Section 5.40) in response to the Capacitive Touch sensor. If the LED channel is configured as an input, then 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.
Revision 1.65 (08-11-09)
66
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
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 a the CS7 input. If a touch is detected on the CS7 input, then the LED will not automatically be actuated. The LED is enabled and controlled via the LED Output Configuration register (see Section 5.37) and the LED Behavior registers (see Section 5.40). ‘1’ - The LED 7 output is associated with the CS7 in put. If a touch is detected on the CS7 input then the LED will be actuated and behave as defined in Table 5.59. 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. 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.
5.40
LED Behavior Registers
Table 5.58 LED Behavior Registers
ADDR 81h 82h 83h
R/W R/W R/W R/W
REGISTER LED Behavior 1 LED Behavior 2 LED Behavior 3
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT 00h 00h 00h
LED4_CTL[1:0] LED8_CTL[1:0] LED11_ALT [1:0]
LED3_CTL[1:0] LED7_CTL[1:0] LED11_CTL [1:0]
LED2_CTL[1:0] LED6_CTL[1:0] LED10_CTL [1:0]
LED1_CTL[1:0] LED5_CTL[1:0] LED9_CTL[1:0]
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, then these bits are ignored. If the corresponding LED output is linked to a Capacitive Touch Sensor than the Start and Stop triggers are used. The defined behavior will activate when the Start Trigger is met and will stop when the Stop Trigger is met. See Table 5.59 and note the behavior of the Breathe Hold and Pulse Release option. If the LED output is not associated with a Capacitive Touch Sensor, then two available options are Direct and Breathe. In this case, the Start and Stop triggers are ignored and the output of the LED is activated exclusively by the bit state of the control signals. APPLICATION NOTE: The LED Polarity Control register will determine the non actuated state of the LED outputs. If the LED Polarity Control register is set to be inverted (default), then an non actuated LED pin will be driven to a logic ‘1’ state and the LED will be off. If the LED Polarity Control register is set to be non-inverted, then the non actuated LED pin will be driven to the logic ’0’ state and the LED will be on.
SMSC CAP1014 67 Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
5.40.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 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
5.40.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
5.40.3
LED Behavior 3 - 83h
Bits 7 - 6 - LED11_ALT[1:0] - Determines the behavior of LED 11 when the PWR_LED bit is set and either the SLEEP or DSLEEP bits are set (see Section 5.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 5.1). 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 5.59 LEDx_CTL Bit Decode LEDX_CTL [1:0] 1 0 0 0 OPERATION - LINKED WITH SENSOR Direct
OPERATION NOT LINKED WITH SENSOR Direct
DESCRIPTION The LED is driven to the programmed state (active or inactive). The LED will breathe 5 times starting based on the Start Trigger). The total period of each “breath” is determined by the LED Pulse 1 Period controls see Section 5.41
START TRIGGER Press Detected
STOP TRIGGER Release Detected
0
1
Pulse Press (Pulse 1)
Direct
Press Detected
n/a
Revision 1.65 (08-11-09)
68
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Table 5.59 LEDx_CTL Bit Decode (continued) LEDX_CTL [1:0] 1 0 OPERATION - LINKED WITH SENSOR
OPERATION NOT LINKED WITH SENSOR
DESCRIPTION The LED will breathe continuously while the corresponding sensor detects a press. When the sensor detects a release, it will breathe 5 additional times and then stop. The total period of each “breath” is determined by the LED Pulse 2 Period controls - see Section 5.42. 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 duty cycle 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 5.43.
START TRIGGER
STOP TRIGGER
1
0
Breathe Hold + Pulse Release (Pulse 2)
Breathe
Press Detected
Release Detected
1
1
Breathe
Breathe
Press Detected
Release Detected
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 Mode, the PWM frequency is calculated based on the programmed Rise and Fall times. If these area set at 0, then the maximum PWM frequency will be used based on the programmed duty cycle settings.
5.41
LED Pulse 1 Period Register
Table 5.60 LED Behavior Registers
ADDR 84h
R/W R/W
REGISTER LED Pulse 1 Period
B7 -
B6 P1_ PER6
B5 P1_ PER5
B4 P1_ PER4
B3 P1_ PER3
B2 P1_ PER2
B1 P1_ PER1
B0 P1_ PER0
DEFAULT 20h
The LED Pulse 1 Period register determines the overall period of a pulse operation as determined by the LED_CTL registers (see Table 5.59 - setting 01b). 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 as shown in Table 5.61. The Pulse 1 operation is shown in Figure 5.1 (non-inverted polarity) and Figure 5.2 (inverted polarity).
SMSC CAP1014
69
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
.
Touch Detected 5 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 5.1 Pulse 1 Behavior with Non-Inverted Polarity
Touch Detected 5 pulses after touch Pulse 1 Max Duty Cycle * Brightness
LED Brightness
Normal – untouched operation Pulse 1 Min Duty Cycle * Brightness Pulse Period (P1_PER)
Figure 5.2 Pulse 1 Behavior with Inverted Polarity
Normal – untouched operation
Table 5.61 LED Pulse / Breathe Period Example SETTING (HEX) 00h 01h 02h 03h TOTAL BREATHE / PULSE PERIOD (MS) 32 32 64 96
SETTING (DECIMAL) 0 1 2 3
Revision 1.65 (08-11-09)
70
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Table 5.61 LED Pulse / Breathe Period Example (continued) SETTING (HEX) 04h ... 7Ch 7Dh 7Eh 7Fh TOTAL BREATHE / PULSE PERIOD (MS) 128 ... 3,968 4,000 4,032 4.064
SETTING (DECIMAL) 4 ... 124 125 126 127
5.42
LED Pulse 2 Period Register
Table 5.62 LED Behavior Registers
ADDR 85h
R/W R/W
REGISTER LED Pulse 2 Period
B7 -
B6 P2_ PER6
B5 P2_ PER5
B4 P2_ PER4
B3 P2_ PER3
B2 P2_ PER2
B1 P2_ PER1
B0 P2_ PER0
DEFAULT 14h
The LED Pulse 2 Period register determines the overall period of a pulse operation as determined by the LED_CTL registers (see Table 5.59 - 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 5.61). The Pulse 2 Behavior is shown in Figure 5.3 (non-inverted polarity) and Figure 5.4 (inverted polarity).
Touch Detected N ormal – untouched operation (100% - Pulse 2 Min Duty Cycle) * Brightness
Release Detected 5 additional pulses after release Normal – untouched operation
LED Brightness
...
Breathe and Pulse Period (P2_PER)
(100% - Pulse 2 Max Duty Cycle) * Brightness
Figure 5.3 Pulse 2 Behavior with Non-Inverted Polarity
SMSC CAP1014
71
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Touch Detected Normal – untouched operation
Release Detected 5 additional pulses after release Normal – untouched operation
Pulse 2 Max Duty Cycle * Brightness
LED Brightness
...
Breathe and Pulse Period (P2_PER)
Pulse 2 Min Duty Cycle * Brightness
Figure 5.4 Pulse 2 Behavior with Inverted Polarity
5.43
LED Breathe Period Register
Table 5.63 LED Behavior Registers
ADDR 86h
R/W R/W
REGISTER LED Breathe Period
B7 -
B6 BR_ PER6
B5 BR_ PER5
B4 BR_ PER4
B3 BR_ PER3
B2 BR_ PER2
B1 BR_ PER1
B0 BR_ PER0
DEFAULT 5Dh
The LED Breathe Period register determines the overall period of a breathe operation as determined by the LED_CTL registers (see Table 5.59 - 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 5.61).
5.44
LED Pulse Configuration Register
Table 5.64 LED Configuration Registers
ADDR 88h
R/W R/W
REGISTER LED Pulse Config
B7 -
B6 -
B5
B4
B3
B2
B1
B0
DEFAULT 24h
PULSE2_CNT[2:0]
PULSE1_CNT[2:0]
The LED Pulse Configuration register controls the number of pulses that are sent for the Pulse 1 and Pulse 2 LED output behaviors. Bits 5 - 3 - PULSE2_CNT[2:0] - Determines the number of pulses used for the Pulse 2 behavior as shown in Table 5.65. 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 5.65.
Revision 1.65 (08-11-09)
72
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Table 5.65 PULSE_CNT Decode PULSEX_CNT[2:0] 2 0 0 0 0 1 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 NUMBER OF BREATHS 1 2 3 4 5 (default) 6 7 8
5.45
LED Pulse and Breathe Duty Cycle Registers
Table 5.66 LED Period and Duty Cycle Registers
ADDR 90h 91h 92h 93h
R/W R/W R/W R/W R/W
REGISTER LED Pulse 1 Duty Cycle LED Pulse 2 Duty cycle LED Pulse 3 Duty Cycle Direct Duty Cycle
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT F0h F0h F0h F0h
LED_P1_MAX_DUTY[3:0] LED_P2_MAX_DUTY[3:0] LED_BR_MAX_DUTY[3:0] LED_DR_MAX_DUTY[3:0]
LED_P1_MIN_DUTY[3:0] LED_P2_MIN_DUTY[3:0] LED_BR_MIN_DUTY[3:0] LED_DR_MIN_DUTY[3:0]
The LED Pulse and Breathe Duty Cycle registers determine the minimum and maximum duty cycle settings used for the LED 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 (see Section 5.45) to the maximum duty cycle and back down again. APPLICATION NOTE: Changes to the Duty Cycle settings will be applied immediately. When the respective register is written, the LED output will be reset to the minimum (or maximum) setting and restarted at the updated settings. APPLICATION NOTE: Upon power on reset (or upon release of the RESET pin), the first breath will breathe from 100% (or 0% duty cycle as determined by the polarity registers) to the programmed minimum (or maximum as determined by the polarity registers) and then proceed normally. Bits 7 - 4 - LED_X_MAX_DUTY[3:0] - Determines the maximum PWM duty cycle for the LED drivers as shown in Table 5.67.
SMSC CAP1014
73
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Bits 3 - 0 - LED_X_MIN_DUTY[3:0] - Determines the minimum PWM duty cycle for the LED drivers as shown in Table 5.67.
Table 5.67 LED Duty Cycle Decode LED_X_MAX/MIN_DUTY [3:0] 3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 2 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 DUTY CYCLE 0% 12.5% 18.75% 25.0% 31.25% 37.5% 43.75% 50.0% 56.25% 62.5% 68.75% 75.0% 81.25% 87.5% 93.75% 100%
5.46
LED Direct Ramp Rates Register
Table 5.68 LED Direct Ramp Rates Register
ADDR 94h
R/W R/W
REGISTER LED Direct Ramp Rates
B7 -
B6 -
B5
B4
B3
B2
B1
B0
DEFAULT 00h
RISE_RATE[2:0]
FALL_RATE[2:0]
The LED Direct Ramp Rates register control the rising and falling edge time of an LED that is configured to operate in Direct mode and is linked to a Capacitive Touch sensor. 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 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 5.69.
Revision 1.65 (08-11-09)
74
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
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 5.69.
Table 5.69 Rise / Fall Rate Cycle Decode RISE/FALL_RATE [2:0] 2 0 0 0 1 1 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 RISE / FALL TIME (TRISE / TFALL) 0 250ms 500ms 750ms 1s 1.25s 1.5s 2s
5.47
LED Off Delay Register
Table 5.70 LED Off Delay Register
ADDR 95h
R/W R/W
REGISTER LED Off Delay Register
B7 -
B6 -
B5
B4 -
B3 -
B2
B1
B0
DEFAULT 00h
DIR_OFF_DLY [2:0]
The LED Off Delay register determines the amount of time an LED In direct mode remains active after it is no longer actuated (such as after a release has been detected or the drive state has been changed). This register is only used if the LED is linked to a Capacitive Touch sensor. Bits 2 - 0 - DIR_OFF_DLY[2:0] - Determines the turn-off delay for all LEDs that are configured to operate in Direct Mode as shown in Table 5.71.
Table 5.71 Off Delay Settings DIR_OFF_DLY [2:0 2 0 0 0 0 1 1
SMSC CAP1014
1 0 0 1 1 0 0
0 0 1 0 1 0 1
75
OFF DELAY TOFF_DLY 0 0.5s 1.0s 1.5s 2.0s 3.0s
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Table 5.71 Off Delay Settings (continued) DIR_OFF_DLY [2:0 2 1 1 1 1 1 0 0 1 OFF DELAY TOFF_DLY 4.0s 5.0s
The Direct Mode operation is shown determined by the combination of programmed Rise Time, Fall Time, and Off Delay as shown in Figure 5.5 (non-inverted polarity) and Figure 5.6 (inverted polarity).
Normal – untouched operation
Touch Detected
Release Detected
Normal – untouched operation
LED Brightness
(100% - Min Duty Cycle) * Brightness
RISE_RATE Setting (tRISE)
(100% - Max Duty Cycle) * Brightness
Off Delay (tOFF_DLY)
FALL_RATE Setting (tFALL)
Figure 5.5 Direct Mode Behavior for Non-Inverted Polarity
Touch Detected LED Brightness Normal – untouched operation
Release Detected Max Duty Cycle * Brightness Normal – untouched operation
Min Duty Cycle * Brightness RISE_RATE Setting (tRISE)
Off Delay (tOFF_DLY)
FALL_RATE Setting (tFALL)
Figure 5.6 Direct Mode Behavior for Inverted Polarity These OTP bits are incremented any time the OTP bits are changed once devices are shipped to HP.
Revision 1.65 (08-11-09)
76
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
5.48
Product ID Register
Table 5.72 Product ID Register
ADDR FDh
R/W R
REGISTER Product ID
B7 0
B6 0
B5 1
B4 0
B3 1
B2 1
B1 0
B0 1
DEFAULT 2Dh
The Product ID register stores a unique 8-bit value that identifies the device.
5.49
Revision Register
Table 5.73 Revision Register
ADDR FFh
R/W R
REGISTER Revision
B7 1
B6 0
B5 0
B4 0
B3 0
B2 0
B1 0
B0 1
DEFAULT 81h
The Revision register stores an 8-bit value that represents the part revision. Note: Rev 00h was an engineering build and not released. Revision 81h is the first released version of the device, Functional Revision A.
SMSC CAP1014
77
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Chapter 6 Package Information
6.1 Package Drawings
Figure 6.1 Package Diagram - 32-Pin QFN
Revision 1.65 (08-11-09)
78
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Figure 6.1 Package Dimensions - 32-Pin QFN
SMSC CAP1014
79
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Figure 6.2 Package PCB Land Pattern and Stencil
Figure 6.3 Package Detail A - Stencil Opening and Perimeter Lands
Revision 1.65 (08-11-09)
80
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Figure 6.4 Package Detail B - Thermal Vias and Stencil Opening
Figure 6.5 Package Land Pattern Dimensions
SMSC CAP1014
81
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
6.2
Package Marking
All packages will marked as shown in Figure 6.1.
TOP
MINIMUM CIRCLE “R” DIAMETER = 0.80mm 0.4
Line 1 – SMSC Logo Line 2 – Device Number, Version Line 3 - Revision, Year, Week, 4-digit Engineering Code (RYYWWXXXX) Line 4 – Lot Number Line 5 – Vendor ID and Country Code (VV – CC)
R
4x 1.3PT
CAP1 014 -V R Y Y WW X X X X 8H123456a VV - CC
e3
LINES 1, 2, 3, & 4: CENTER HORIZONTAL ALIGNMENT PB-FREE/GREEN SYMBOL (Matte Sn)
PIN 1
LINES 5: BEST FIT BETWEEN PIN 1 MARK AND Pb-FREE SYMBOL
BOTTOM BOTTOM MARKING NOT ALLOWED
Figure 6.1 Package Markings
Revision 1.65 (08-11-09)
82
SMSC CAP1014
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Chapter 7 Revision History
Table 7.1 Customer Revision History REVISION LEVEL & DATE Revision 1.65 (08-11-09) SECTION/FIGURE/ENTRY Features Ordering Information Table 1.1, "Pin Description for CAP1014" CORRECTION Low Power operation bullet; “1 or more buttons” changed to “2” Added CAP1014-2 order number. Added “features” column to ordering table. Added note below table: 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. Added voltage limits for 5V tolerant pins with pullup resistors: Voltage on 5V tolerant pins (|V5VT_pin - VDD|) 0 to 3.6V. Added note below table: 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. Updated thetaJA for the device from 40 to 48 and for the package from 52 to 60. Updated via recommendations from 4 to a 4x4 array. Table 2.2, "Electrical Specifications" Added typical values for DC Power - Supply Current. ISLEEP MAX value changed from “250” to “300” and IDSLEEP MAX value changed from “100” to “200” Added pull-up voltage < 3.6V condition to leakage current. lDD TYP changed from “420” to “0.42” Section 4.1, "Power States" Section 4.4.2, "Lid Closure" Section 5.7, "Noise Flag Status Registers" Section 5.8, "Lid Closure Status Registers" Section 5.10, "Group Status Register" Section 5.23, "Multiple Touch Configuration Register" Section 5.24, "Lid Closure Configuration Register" Section 5.25, "Lid Closure Queue Control Register"
SMSC CAP1014 83
Table 2.1, "Absolute Maximum Ratings"
Default for Sleep state modified from “2” to “0” Added. Added application note regarding lid closure. Added. Added bit 7 for lid closure. Renamed MULT_EN to MULT_BLK_EN.
Added. Added.
Revision 1.65 (08-11-09)
DATASHEET
Multiple Channel Capacitive Touch Sensor and LED Driver
Datasheet
Table 7.1 Customer Revision History (continued) REVISION LEVEL & DATE SECTION/FIGURE/ENTRY Section 5.26, "Lid Closure Pattern Registers" Section 5.30, "Lid Closure Threshold Registers" Section 5.32, "Sampling Configuration Register" Section 5.38, "LED Polarity Registers" Section 5.40, "LED Behavior Registers" Section 5.41, "LED Pulse 1 Period Register" Section 5.42, "LED Pulse 2 Period Register" Section 5.47, "LED Off Delay Register" Section 5.3, "Build Revision Register" Table 5.5, "Build History" Section 6.1, "Package Drawings" Revision 1.64 (01-15-09) Initial Release Added. Added. Added. Added application notes and Table 5.56, "LED Polarity Behavior". Added application note regarding polarity controlling non-actuated state of LEDs. Updated figures to show behavior with inverted and normal polarity. Updated figures to show behavior with inverted and normal polarity. Updated figures to show behavior with inverted and normal polarity. Updated BUILD register bit settings Added table for Build History Replaced single composite figure with individual figures to improve readability. CORRECTION
Revision 1.65 (08-11-09)
84
SMSC CAP1014
DATASHEET