SMSC CAP1166 DATASHEET Revision 1.32 (01-05-12)
Datasheet
PRODUCT FEATURES
CAP1166
6 Channel Capacitive Touch Sensor
with 6 LED Drivers
General Description
The CAP1166, which incorporates SMSC’s RightTouch® 1
technology, is a multiple channel Capacitive Touch sensor
with multiple power LED drivers. It contains six (6)
individual capacitive touch sensor inputs with
programmable sensitivity for use in touch sensor
applications. Each sensor input automatically recalibrates
to compensate for gradual environmental changes.
The CAP1166 also contains six (6) LED drivers that offer
full-on / off, variable rate blinking, dimness controls, and
breathing. Each of the LED drivers may be linked to one of
the sensor inputs to be actuated when a touch is detected.
As well, each LED driver may be individually controlled via
a host controller.
The CAP1166 includes Multiple Pattern Touch recognition
that allows the user to select a specific set of buttons to be
touched simultaneously. If this pattern is detected, then a
status bit is set and an interrupt generated.
Additionally, the CAP1166 includes circuitry and support for
enhanced sensor proximity detection.
The CAP1166 offers multiple power states operating at low
quiescent currents. In the Standby state of operation, one
or more capacitive touch sensor inputs are active and all
LEDs may be used. If a touch is detected, it will wake the
system using the WAKE/SPI_MOSI pin.
Deep Sleep is the lowest power state available, drawing
5uA (typical) of current. In this state, no sensor inputs are
active. Driving the WAKE/SPI_MOSI pin or communications
will wake the device.
Applications
Desktop and Notebook PCs
LCD Monitors
Consumer Electronics
Appliances
Features
Six (6) Capacitive Touch Sensor Inputs
Programmable sensitivity
Automatic recalibration
Individual thresholds for each button
Proximity Detection
Multiple Button Pattern Detection
Calibrates for Parasitic Capacitance
Analog Filtering for System Noise Sources
Press and Hold feature for Volume-like Applications
Multiple Communication Interfaces
—SMBus / I
2C compliant interface
SMSC BC-Link interface
SPI communications
Pin selectable communications protocol and multiple
slave addresses (SMBus / I2C only)
Low Power Operation
5uA quiescent current in Deep Sleep
50uA quiescent current in Standby (1 sensor input
monitored)
Samples one or more channels in Standby
Six (6) LED Driver Outputs
Open Drain or Push-Pull
Programmable blink, breathe, and dimness controls
Can be linked to Capacitive Touch Sensor inputs
Dedicated Wake output flags touches in low power state
System RESET pin
Available in 20-pin 4mm x 4mm QFN or 24-pin SSOP
RoHS compliant package
Block Diagram
1. SMSC, the SMSC logo and Right Touch are registered trademarks
and the RightTouch logo is a trademark of S tandard Microsystems
Corporation (“SMSC”).
SMBus /
BC-Link or
SPI Slave
Protocol
SMCLK / BC_CLK /
SPI_CLK
SMDATA BC_DATA / SPI_MSIO/
SPI_MISO
VDD GND
ALERT# / BC_IRQ#
Capacitive Touch Sensing Algorithm
LED1
CS1 CS2 CS3 CS4 CS5 CS6
LED Driver, Breathe, and
Dimness control
WAKE / SPI_MOSIRESET
ADDR_COMM
SPI_CS#
LED2 LED3
LED4 LED5 LED6
Reel size is 4,000 pieces for 20-pin QFN
Reel size is 2,500 pieces for 24-pin SSOP
This product meets the halogen maximum concentration values per IEC61249-2-21
For RoHS compliance and environmental information, please visit www.smsc.com/rohs
Please contact your SMSC sales representative for additional documentation related to this product
such as application notes, anomaly sheets, and design guidelines.
ORDERING NUMBER PACKAGE FEATURES
CAP1166-1-BP-TR 20-pin QFN 4mm x 4mm
(Lead-free RoHS compliant) Six capacitive touch sensor inputs, Six
LED drivers, Dedicated Wake, Reset,
SMBus / BC-Link / SPI interfaces
CAP1166-1-CZC-TR 24-pin SSOP
(Lead-free RoHS compliant) Six capacitive touch sensor inputs, Six
LED drivers, Dedicated Wake, Reset,
SMBus / BC-Link / SPI interfaces
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 2 SMSC CAP1166
DATASHEET
Copyright © 2012 SMSC or its subsidiaries. All rights reserved.
Circuit diagrams and other informa tion relating to SMSC products are included as a means of illustrating typical applications. Consequently, complete informa tion 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.
The Microchip name and logo, and the Microchip logo are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries.
SMSC DISCLAIMS AND EXCLUDES ANY AND ALL WARRANTIES, INCLUDING WITHOUT LIMITATION ANY AND ALL IMPLIED WARR ANTIES OF ME RCHAN TABILITY,
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 S MSC HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
Ordering Information:
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 3 Revision 1.32 (01-05-12)
DATASHEET
Table of Contents
Chapter 1 Pin Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Chapter 2 Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Chapter 3 Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1 Communications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1.1 SMBus (I2C) Communications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1.2 SPI Communications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1.3 BC-Link Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2 System Management Bus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2.1 SMBus Start Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2.2 SMBus Address and RD / WR Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2.3 SMBus Data Bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2.4 SMBus ACK and NACK Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2.5 SMBus Stop Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2.6 SMBus Timeout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2.7 SMBus and I2C Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3 SMBus Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3.1 SMBus Write Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3.2 SMBus Read Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3.3 SMBus Send Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3.4 SMBus Receive Byte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.4 I2C Protocols. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4.1 Block Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4.2 Block Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.5 SPI Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.5.1 SPI Normal Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.5.2 SPI Bi-Directional Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.5.3 SPI_CS# Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.5.4 Address Pointer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.5.5 SPI Timeout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.6 Normal SPI Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.6.1 Reset Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.6.2 Set Address Pointer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.6.3 Write Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.6.4 Read Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.7 Bi-Directional SPI Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.7.1 Reset Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.7.2 Set Address Pointer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.7.3 Write Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.7.4 Read Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.8 BC-Link Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Chapter 4 General Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.1 Power States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2 RESET Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.3 WAKE/SPI_MOSI Pin Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.4 LED Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.4.1 Linking LEDs to Capacitive Touch Sensor Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.5 Capacitive Touch Sensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 4 SMSC CAP1166
DATASHEET
4.5.1 Sensing Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.5.2 Recalibrating Sensor Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.5.3 Proximity Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.5.4 Multiple Touch Pattern Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.5.5 Low Frequency Noise Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.5.6 RF Noise Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.6 ALERT# Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.6.1 Sensor Interrupt Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Chapter 5 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.1 Main Control Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.2 Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.2.1 General Status - 02h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.2.2 Sensor Input Status - 03h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.2.3 LED Status - 04h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.3 Noise Flag Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.4 Sensor Input De lta Co unt Reg i st er s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.5 Sensitivity Control Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.6 Configuration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.6.1 Configuration - 20h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.6.2 Configuration 2 - 44h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.7 Sensor Input Enable Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.8 Sensor Input Configuration Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.9 Sensor Input Configuration 2 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.10 Averaging and Sampling Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.11 Calibration Activate Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.12 Interrupt Enable Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.13 Repeat Rate Enable Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.14 Multiple Touch Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.15 Multiple Touch Pattern Configuration Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.16 Multiple Touch Pattern Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.17 Recalibration Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.18 Sensor Input Threshold Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.19 Sensor Input Noise T hr es ho ld Re gist er . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.20 Standby Channel Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.21 Standby Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.22 Standby Sensitivity Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.23 Standby Threshold Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.24 Sensor Input Base Count Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.25 LED Output Type Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.26 Sensor Input LED Linking Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.27 LED Polarity Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.28 LED Output Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.29 Linked LED Transition Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.30 LED Mirror Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.31 LED Behavior Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.31.1 LED Behavior 1 - 81h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.31.2 LED Behavior 2 - 82h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.32 LED Pulse 1 Period Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.33 LED Pulse 2 Period Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.34 LED Breathe Period Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.35 LED Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.36 LED Duty Cycle Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.37 LED Direct Ramp Rates Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 5 Revision 1.32 (01-05-12)
DATASHEET
5.38 LED Off Delay Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.39 Sensor Input Calibration Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.40 Product ID Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.41 Manufacturer ID Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.42 Revision Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Chapter 6 Package Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.1 CAP1166 Package Drawings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.2 Package Marking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Appendix ADevice Delta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
A.1 Delta from CAP1066 to CAP1166 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Chapter 7 Datasheet Revision History. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 6 SMSC CAP1166
DATASHEET
List of Figures
Figure 1.1 CAP1166 Pin Diagram (20-Pin QFN). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Figure 1.2 CAP1166 Pin Diagram (24-pin SSOP). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Figure 3.1 SMBus Timing Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Figure 3.2 SPI Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Figure 3.3 Example SPI Bus Communication - Normal Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Figure 3.4 SPI Reset Interface Command - Normal Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Figure 3.5 SPI Set Address Pointer Command - Normal Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Figure 3.6 SPI Write Command - Normal Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Figure 3.7 SPI Read Command - Normal Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Figure 3.8 SPI Read Command - Normal Mode - Full. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Figure 3.9 SPI Reset Interface Command - Bi-directional Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Figure 3.10 SPI Set Address Pointer Command - Bi-directional Mode. . . . . . . . . . . . . . . . . . . . . . . . . 30
Figure 3.11 SPI Write Data Command - Bi-directional Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Figure 3.12 SPI Read Data Command - Bi-directional Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Figure 4.1 System Diagram for CAP1166. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Figure 4.2 Sensor Interrupt Behavior - Repeat Rate Enabled. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Figure 4.3 Sensor Interrupt Behavior - No Repeat Rate Enabled. . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Figure 5.1 Pulse 1 Behavior with Non-Inverted Polarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Figure 5.2 Pulse 1 Behavior with Inverted Polarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Figure 5.3 Pulse 2 Behavior with Non-Inverted Polarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Figure 5.4 Pulse 2 Behavior with Inverted Polarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Figure 5.5 Breathe Behavior with Non-Inverted Polarity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Figure 5.6 Breathe Behavior with Inverted Polarity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Figure 5.7 Direct Behavior for Non-Inverted Polarity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Figure 5.8 Direct Behavior for Inverted Polarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Figure 6.1 24-Pin SSOP Package Drawing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Figure 6.2 24-Pin SSOP Package Dimensions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Figure 6.3 CAP1166 PCB Land Pattern - 24-Pin SSOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Figure 6.4 20-Pin QFN 4mm x 4mm Package Drawing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Figure 6.5 20-Pin QFN 4mm x 4mm Package Dimensions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Figure 6.6 20-Pin QFN 4mm x 4mm PCB Drawing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Figure 6.7 CAP1166 Package Markings - 20-Pin QFN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Figure 6.8 CAP1166 Package Markings - 24-Pin SSOP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 7 Revision 1.32 (01-05-12)
DATASHEET
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 8 SMSC CAP1166
DATASHEET
List of Tables
Table 1.1 Pin Description for CAP1166. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Table 1.2 Pin Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Table 2.1 Absolute Maximum Ratings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Table 2.2 Electrical Specifications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Table 3.1 ADDR_COMM Pin Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Table 3.2 Protocol Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Table 3.3 Write Byte Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Table 3.4 Read Byte Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Table 3.5 Send Byte Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Table 3.6 Receive Byte Protocol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Table 3.7 Block Write Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Table 3.8 Block Read Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Table 5.1 Register Set in Hexadecimal Order. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Table 5.2 Main Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Table 5.3 GAIN Bit Decode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Table 5.4 Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Table 5.5 Noise Flag Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Table 5.6 Sensor Input Delta Count Register s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Table 5.7 Sensitivity Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Table 5.8 DELTA_SENSE Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Table 5.9 BASE_SHIFT Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Table 5.10 Configuration Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Table 5.11 Sensor Input Enable Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Table 5.12 Sensor Input Config u ratio n Re gist er . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Table 5.13 MAX_DUR Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Table 5.14 RPT_RATE Bit Decode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Table 5.15 Sensor Input Configuration 2 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Table 5.16 M_PRESS Bit Decode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Table 5.17 Averaging and Sampling Configuration Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Table 5.18 AVG Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Table 5.19 SAMP_TIME Bit Decode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Table 5.20 CYCLE_TIME Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Table 5.21 Calibration Activate Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Table 5.22 Interrupt Enable Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Table 5.23 Repeat Rate Enable Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Table 5.24 Multiple Touch Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Table 5.25 B_MULT_T Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Table 5.26 Multiple Touch Pattern Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Table 5.27 MTP_TH Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Table 5.28 Multiple Touch Pattern Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Table 5.29 Recalibration Configuration Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Table 5.30 NEG_DELTA_CNT Bit Decode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Table 5.31 CAL_CFG Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Table 5.32 Sensor Input Threshold Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Table 5.33 Sensor Input Noise Threshold Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Table 5.34 CSx_BN_TH Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Table 5.35 Standby Channel Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Table 5.36 Standby Configuration Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Table 5.37 STBY_AVG Bit Decode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Table 5.38 STBY_SAMP_TIME Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Table 5.39 STBY_CY_TIME Bit Decode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Table 5.40 Standby Sensitivity Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 9 Revision 1.32 (01-05-12)
DATASHEET
Table 5.41 STBY_SENSE Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Table 5.42 Standby Threshold Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Table 5.43 Sensor Input Base Count Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Table 5.44 LED Output Type Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Table 5.45 Sensor Input LED Linking Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Table 5.46 LED Polarity Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Table 5.47 LED Output Control Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Table 5.48 LED Polarity Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Table 5.49 Linked LED Transition Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Table 5.50 LED Mirror Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Table 5.51 LED Behavior Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Table 5.52 LEDx_CTL Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Table 5.53 LED Pulse 1 Period Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Table 5.54 LED Pulse / Breathe Period Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Table 5.55 LED Pulse 2 Period Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Table 5.56 LED Breathe Period Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Table 5.57 LED Configuration Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Table 5.58 PULSEX_CNT Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Table 5.59 LED Duty Cycle Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Table 5.60 LED Duty Cycle Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Table 5.61 LED Direct Ramp Rates Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Table 5.62 Rise / Fall Rate Decode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Table 5.63 LED Off Delay Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Table 5.64 Breathe Off Delay Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Table 5.65 Off Delay Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Table 5.66 Sensor Input Calibration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Table 5.67 Product ID Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Table 5.68 Vendor ID Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Table 5.69 Revision Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Table A.1 Register Delta From CAP1066 to CAP1166 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Table 7.1 Customer Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 10 SMSC CAP1166
DATASHEET
Chapter 1 Pin Description
Figure 1.1 CAP1166 Pin Diagram (20-Pin QFN)
1
2
3
4
15
14
13
12
20
19
18
17
6
7
8
9
5
10
11
16
CAP1166
20 pin QFN
GND
LED4
LED3
LED2
LED6
LED5
SM CLK / BC_CL K / SPI_CLK
WAKE / SPI_MOSI
SPI_CS#
LED1
SM DA T A / BC _D A T A / SPI_ MS IO /
SPI_MISO
CS1
CS2
CS3
RESET
CS6
CS5
ADDR_COMM
CS4
ALERT# / BC_IRQ#
VDD
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 11 Revision 1.32 (01-05-12)
DATASHEET
Figure 1.2 CAP1166 Pin Diagram (24-pin SSOP)
Table 1.1 Pin Description fo r CAP1166
PIN
NUMBER
(QFN 20)
PIN
NUMBER
(SSOP 24) PIN NAME PIN FUNCTION PIN TYPE UNUSED
CONNECTION
1 4 SPI_CS# Active low chip-select for SPI bus DI (5V) Connect to
Ground
25
WAKE /
SPI_MOSI
WAKE - Active high wake / interrupt output
Standby power state - requires pull-down resistor
WAKE - Active high wake input - requires pull-down
resistor
Deep Sleep power state
DO
Pull-down
Resistor
DI
SPI_MOSI - SPI Master-Out-Slave-In port when used
in normal mode DI (5V) Connect to
GND
CAP1166
24 SSOP
24
23
22
21
20
17
19
18
16
13
15
14
1
2
3
4
5
8
6
7
9
12
10
11
CS1
RESET
SPI_CS#
WAKE / SPI_MOSI
SMDATA /SPI_MSIO / SPI_MISO
SMCLK / SPI_CLK
LED1
LED2
LED3
GND LED4
GND
LED5
LED6
ALERT# / BC_IRQ#
ADDR_COMM
CS6
CS5
CS4
CS3
CS2
VDD
N/C
N/C
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 12 SMSC CAP1166
DATASHEET
36
SMDATA /
BC_DATA /
SPI_MSIO /
SPI_MISO
SMDATA - Bi-directional, open-drain SMBus data -
requires pull-up resistor DIOD (5V)
n/a
BC_DATA - Bi-directional, open-drain BC-Link data -
requires pull-up resistor DIO
SPI_MSIO - SPI Master-Slav e-In-Out bidirectional port
when used in bi-directional mode DIO
SPI_MISO - SPI Master-In-Slave-Out port when used
in normal mode DO
48
SMCLK /
BC_CLK /
SPI_CLK
SMCLK - SMBus clock input - requires pull-up resistor DI (5V)
n/aBC_CLK - BC-Link clock input DI (5V)
SPI_CLK - SPI clock input DI (5V)
59LED1
Open drain LED 1 driver (default) OD (5V) Connect to
Ground
Push-pull LED 1 driver DO leave open or
connect to
Ground
610LED2
Open drain LED 2 driver (default) OD (5V) Connect to
Ground
Push-pull LED 2 driver DO leave open or
connect to
Ground
711LED3
Open drain LED 3 driver (default) OD (5V) Connect to
Ground
Push-pull LED 3 driver DO leave open or
connect to
Ground
813LED4
Open drain LED 4 driver (default) OD (5V) Connect to
Ground
Push-pull LED 4 driver DO leave open or
connect to
Ground
915LED5
Open drain LED 5 driver (default) OD (5V) Connect to
Ground
Push-pull LED 5 driver DO leave open or
connect to
Ground
10 16 LED6
Open drain LED 6 driver (default) OD (5V) Connect to
Ground
Push-pull LED 6 driver DO leave open or
connect to
Ground
Table 1.1 Pin Description for CAP1166 (continued)
PIN
NUMBER
(QFN 20)
PIN
NUMBER
(SSOP 24) PIN NAME PIN FUNCTION PIN TYPE UNUSED
CONNECTION
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 13 Revision 1.32 (01-05-12)
DATASHEET
APPLICATION NOTE: When the ALERT# pin is configured as an active low output, it will be open drain. When it
is configured as an active high output, it will be push-pull.
APPLICATION NOTE: For th e 5V tol erant pins that ha ve a pull-u p re sistor, the pull-up voltage must not exceed 3.6V
when the CAP1166 is unpowered.
APPLICATION NOTE: The SPI_CS# pin should be grounded when SMBus, I2C, or BC-Link communications are
used.
The pin types are described in Table 1.2. All pins labeled with (5V) are 5V tolerant.
11 17 ALERT# /
BC_IRQ#
ALERT# - Active low alert / interrupt output for SMBus
alert or SPI interrupt
- requires pull-up resistor (default) OD (5V) Connect to
GND
ALERT# - Active high push-pull alert / interrupt output
for SMBus alert or SPI interrupt DO High-Z
BC_IRQ# - Active low interrupt / optional for BC-Link
- requires pull-up resistor OD (5V) Connect to
Ground
BC_IRQ# - Active high push-pull interrupt / optional for
BC-Link DO High-Z
12 18 ADDR_
COMM Address / communications select pin - pull-down
resistor determines address / communications
mechanism AI n/a
13 19 CS6 Capacitive Touch Sensor Input 6 AIO Connect to
Ground
14 20 CS5 Capacitive Touch Sensor Input 5 AIO Connect to
Ground
15 21 CS4 Capacitive Touch Sensor Input 4 AIO Connect to
Ground
16 22 CS3 Capacitive Touch Sensor Input 3 AIO Connect to
Ground
17 23 CS2 Capacitive Touch Sensor Input 2 AIO Connect to
Ground
18 24 CS1 Capacitive Touch Sensor Input 1 AIO Connect to
Ground
19 1 VDD Positive Power supply Power n/a
20 1 RESET Active high soft reset for system - resets all registers
to default values. If not used, connect to ground. DI (5V) Connect to
Ground
Bottom Pad 12 GND Ground Power n/a
14 GND Ground Power n/a
Table 1.1 Pin Description for CAP1166 (continued)
PIN
NUMBER
(QFN 20)
PIN
NUMBER
(SSOP 24) PIN NAME PIN FUNCTION PIN TYPE UNUSED
CONNECTION
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 14 SMSC CAP1166
DATASHEET
Table 1.2 Pin Types
PIN TYPE DESCRIPTION
Power This pin is used to supply power or ground to the device.
DI Digital Input - This pin is used as a digital input. This pin is 5V tolerant.
AIO Analog Input / Output -This pin is used as an I/O for analog signals.
DIOD Digital Input / Open Drain Output - This pin is used as a 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.
OD Open Drain Digital Output - This pin is used as a di gital output. It is ope n dra in and re qui res
a pull-up resistor. This pin is 5V tolerant.
DO Push-pull Digital Output - This pin is used as a digital output and can sink and source
current.
DIO Push-pull Digital Input / Output - This pin is used as an I/O for digital signals.
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 15 Revision 1.32 (01-05-12)
DATASHEET
Chapter 2 Electrical Specifications
Note 2.1 Stresses abo ve those listed could cau se permanent damage to the d evice. 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.2 For the 5V tolerant pins that have a pull-up resistor, the voltage difference between
V5VT_PIN and VDD must never exceed 3.6V.
Note 2.3 The Package Power Dissipation specification assumes a recommended thermal via design
consisting of a 3x3 matrix of 0.3mm (12mil) vias at 1.0mm pitch connected to the ground
plane with a 2.5 x 2.5mm thermal landing.
Note 2.4 Junction to Ambi ent (θ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.
Table 2.1 Absolute Maximum Ratings
Voltage on 5V tolerant pins (V5VT_PIN) -0.3 to 5.5 V
Voltage on 5V tolerant pins (|V5VT_PIN - VDD|) Note 2.2 0 to 3.6 V
Voltage on VDD pin -0.3 to 4 V
Voltage on any other pin to GND -0.3 to VDD + 0.3 V
Package Power Dissipation up to TA = 85°C for 20 pin QFN
(see Note 2.3)0.9 W
Junction to Ambient (θJA) (see Note 2.4)58 °C/W
Operating Ambient Temperature Range -40 to 125 °C
Storage Temperature Range -55 to 150 °C
ESD Rating, All Pins, HBM 8000 V
Table 2.2 Electrical Specifications
VDD = 3V to 3.6V, TA = 0°C to 85°C, all Typical values at TA = 27°C unless otherwise noted.
CHARACTERISTIC SYMBOL MIN TYP MAX UNIT CONDITIONS
DC Power
Supply Voltage VDD 3.0 3.3 3.6 V
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 16 SMSC CAP1166
DATASHEET
Supply Current
ISTBY 120 170 uA
Standby state active
1 sensor input monitored
No LEDs active
Default conditions (8 avg, 70ms
cycle time)
ISTBY 50 uA Standby state active
1 sensor input monitored
No LEDs active
1 avg, 140ms cycle time,
IDSLEEP 515uA
Deep Sleep state active
LEDs at 100% or 0% Duty Cycle
No communications
TA < 40°C
3.135 < VDD < 3.465V
IDD 500 600 uA Capacitive Sensing Active
No LEDs active
Capacitive Touch Sensor Inputs
Maximum Base
Capacitance CBASE 50 pF Pad untouched
Minimum Detectable
Capacitive Shift ΔCTOUCH 20 fF Pad touched - default condition s
(1 avg, 35ms cycle time, 1x
sensitivity)
Recommended Cap
Shift ΔCTOUCH 0.1 2 pF Pad touched - Not tested
Power Supply
Rejection PSR ±3 ±10 counts
/ V
Untouched Current Counts
Base Capacitance 5pF - 50pF
Maximum sensitivity
Negative Delta Counts disabled
All other parameters default
Timing
RESET Pin Delay tRST_DLY 10 ms
Time t o
communications
ready tCOMM_DLY 15 ms
Time to first
conversion ready tCONV_DLY 170 200 ms
LED Drivers
Duty Cycle DUTYLED 0 100 % Programmable
Drive Frequency fLED 2kHz
Sinking Current ISINK 24 mA VOL = 0.4
Sourcing Current ISOURCE 24 mA VOH = VDD - 0.4
Table 2.2 Electrical Specifications (continued)
VDD = 3V to 3.6V, TA = 0°C to 85°C, all Typical values at TA = 27°C unless otherwise noted.
CHARACTERISTIC SYMBOL MIN TYP MAX UNIT CONDITIONS
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 17 Revision 1.32 (01-05-12)
DATASHEET
Leakage Current ILEAK ±5 uA powered or unpowered
TA < 85°C
pull-up voltage < 3.6V if
unpowered
I/O Pins
Output Low Voltage VOL 0.4 V ISINK_IO = 8mA
Output High Voltage VOH VDD -
0.4 VI
SOURCE_IO = 8mA
Input High Voltage VIH 2.0 V
Input Low Voltage VIL 0.8 V
Leakage Current ILEAK ±5 uA powered or unpowered
TA < 85°C
pull-up voltage < 3.6V if
unpowered
RESET Pin Release
to conversion ready tRESET 170 200 ms
SMBus Timing
Input Capacitance CIN 5pF
Clock Frequency fSMB 10 400 kHz
Spike Suppression tSP 50 ns
Bus Free Time Stop
to Start tBUF 1.3 us
Start Setup Time tSU:STA 0.6 us
Start Hold Time tHD:STA 0.6 us
Stop Setup Time tSU:STO 0.6 us
Data Hold Time tHD:DAT 0 us When transmitting to the master
Data Hold Time tHD:DAT 0.3 us When receiving from the master
Data Setup Time tSU:DAT 0.6 us
Clock Low Period tLOW 1.3 us
Clock High Period tHIGH 0.6 us
Clock / Data Fall
Time tFALL 300 ns Min = 20+0.1CLOAD ns
Clock / Data Rise
Time tRISE 300 ns Min = 20+0.1CLOAD ns
Capacitive Load CLOAD 400 pF per bus line
Table 2.2 Electrical Specifications (continued)
VDD = 3V to 3.6V, TA = 0°C to 85°C, all Typical values at TA = 27°C unless otherwise noted.
CHARACTERISTIC SYMBOL MIN TYP MAX UNIT CONDITIONS
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 18 SMSC CAP1166
DATASHEET
Note 2.5 The ALERT pin will not glitch high or low at power up if connected to VDD or another
voltage.
Note 2.6 The SMCLK and SMDATA pins will not glitch low at power up if connected to VDD or
another voltage.
BC-Link Timing
Clock Period tCLK 250 ns
Data Hold Time tHD:DAT 0ns
Data Setup Time tSU:DAT 30 ns Data must be valid before clock
Clock Duty Cycle Duty 40 50 60 %
SPI Timing
Clock Period tP250 ns
Clock Low Period tLOW 0.4 x tP0.6 x tPns
Clock High Period tHIGH 0.4 x tP0.6 x tPns
Clock Rise / Fall
time tRISE /
tFALL 0.1 x tPns
Data Output Delay tD:CLK 10 ns
Data Setup Time tSU:DAT 20 ns
Data Hold Time tHD:DAT 20 ns
SPI_CS# to
SPI_CLK setup time tSU:CS 0ns
Wake Time tWAKE 10 20 us SPI_CS# asserted to CLK assert
Table 2.2 Electrical Specifications (continued)
VDD = 3V to 3.6V, TA = 0°C to 85°C, all Typical values at TA = 27°C unless otherwise noted.
CHARACTERISTIC SYMBOL MIN TYP MAX UNIT CONDITIONS
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 19 Revision 1.32 (01-05-12)
DATASHEET
Chapter 3 Communications
3.1 Communications
The CAP1166 communicates using the 2-wire SMBus or I2C bus, the 2-wire proprietary BC-Link, or
the SPI bus. Regardless of communication mechanism, the device functionality remains unchanged.
The communications mechanism as well as the SMBus (or I2C) slave address is determined by the
resistor connected between the ADDR_COMM pin and ground as shown in Table 3.1.
3.1.1 SMBus (I2C) Communications
When configured to communicate via the SMBus, the CAP1166 supports the following pro tocols: Send
Byte, Receive Byte, Read Byte, Write Byte, Read Block, and Write Block. In addition, the device
supports I2C formatting for block read and block write protocols.
APPLICATION NOTE: For SMBus/I2C communi cations, the SPI_CS# pin is not used and should be grounded; any
data presented to this pin will be ignored.
See Section 3.2 and Section 3.3 for more information on the SMBus bus and protocols respectively.
3.1.2 SPI Communications
When configured to communicate via the SPI bus, the CAP1166 supports both bi-directional 3-wire
and normal 4-wire protocols and uses the SPI_CS# pin to enable communications.
See Section 3.5 and Section 3.6 for more information on the SPI bus and protocols respectively.
3.1.3 BC-Link Communications
When BC-Link communications are used, the CAP1166 supports the read byte protocol and the write
byte protocol.
APPLICATION NOTE: For BC-Link communications, the SPI_CS# pin is not used and should be grounded; any
data presented to this pin will be ignored.
Table 3.1 ADDR_COMM Pin Decode
PULL-DOWN RESISTOR (+/- 5%) PROTOCOL USED SMBUS ADDRESS
GND SPI Communications using
Normal 4-wire Protocol Used n/a
56k SPI Communications using Bi-
Directional 3-wire Protocol Used n/a
68k BC-Link Communications n/a
82k SMBus / I2C 0101_100(r/w)
100k SMBus / I2C 0101_011(r/w)
120k SMBus / I2C 0101_010(r/w)
150k SMBus / I2C 0101_001(r/w)
VDD SMBus / I2C 0101_000(r/w)
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 20 SMSC CAP1166
DATASHEET
See Section 3.8 for more information on the BC-Link Bus and protocols respectively.
APPLICATION NOTE: Upon power up, the CAP1166 will not respond to any communications for up to 15ms. After
this time, full functionality is available.
3.2 System Management Bus
The CAP1166 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 timi ng diagram is shown in Figure 3.1. Stretching of the SMCLK sign al is supported;
however, the CAP1166 will not stretch the clock signal.
3.2.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.2.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 Ho st 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.
See Table 3.1 for available SMBus addresses.
3.2.3 SMBus Data Bytes
All SMBus Data bytes are sent most significant bit first and composed of 8-bits of information.
3.2.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.
Figure 3.1 SMBus Timing Diagram
SMDATA
SMCLK
TLOW
TRISE
THIGH
TFALL
TBUF
THD:STA
PSS - Start Condition P - Stop Condition
THD:DAT TSU:DAT TSU:STA
THD:STA
P
TSU:STO
S
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 21 Revision 1.32 (01-05-12)
DATASHEET
3.2.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 logi c ‘1’ state. When the CAP1166 detects an SMBus Stop
bit and it has been communicating with the SMBus protocol, it will reset its client i nterface and prepare
to receive further communications.
3.2.6 SMBus Timeout
The CAP1166 includes a n SMBus timeout fea ture. Following a 30ms peri od of inactivity on the SMBus
where the SMCLK pin is held low, the device will timeout and reset the SMBus interface.
The timeout function defaults to disabled. It can be enabled by setting the TIMEOUT bit in the
Configuration register (see Section 5.6, "Configuration Registers").
3.2.7 SMBus and I2C Compatibility
The major differences between SMBus and I2C devices are highlighted here. For more information,
refer to the SMBus 2.0 and I2C specifications. For information on using the CAP1166 in an I2C system,
refer to SMSC AN 14.0 SMSC Dedicated Slave Devices in I2C Systems.
1. CAP1166 supports I2C fast mode at 400kHz. This covers the SMBus max time of 100kHz.
2. Minimum frequency for SMBus communications is 10kHz.
3. The SMBus client protocol will reset if the clock is held at a logic ‘0’ for longer than 30ms. This
timeout functionality is disabled by default in the CAP1166 and can be enabled by writing to the
TIMEOUT bit. I2C does not have a timeout.
4. The SMBus client protocol will reset if both the clock and da ta lines are held at a logic ‘1’ for longer
than 200µs (idle condition). T his fun ction is disab led by defa ult in th e CAP1166 and can b e enabl ed
by writing to the TIMEOUT bit. I2C does not have an idle condition.
5. I2C devices do not suppo rt the Ale rt Respon se Addre ss functionality (wh ich is op ti onal for SMBus).
6. I2C devices support block read and write differently. I2C protocol allows for unlimited number of
bytes to be sent in either direction. The SMBus protocol requires that an additional data byte
indicating number of bytes to read / write is transmitted. The CAP1166 supports I2C formatting only.
3.3 SMBus Protocols
The CAP1166 is SMBus 2.0 compatible and supports Write Byte, Read Byte, Send Byte, and Receive
Byte as valid protocols as shown below.
All of the below protocols use the convention in Table 3.2.
Table 3.2 Protocol Format
DATA SENT
TO DEVICE DAT A SENT TO
THE HOST
Data sent Data sent
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 22 SMSC CAP1166
DATASHEET
3.3.1 SMBus Write Byte
The Write Byte is used to write one byte of data to a specific register as shown in Table 3.3.
3.3.2 SMBus Read Byte
The Read Byte protocol is used to read one byte of data from the registers as shown in Table 3.4.
3.3.3 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.5.
APPLICATION NOTE: The Send Byte protocol is not functional in Deep Sleep (i.e., DSLEEP bit is set).
3.3.4 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 loca tion (e.g., set via Send Byte). This is used for con secutive reads
of the same register as shown in Table 3.6.
APPLICATION NOTE: The Receive Byte protocol is not functional in Deep Sleep (i.e., DSLEEP bit is set).
Table 3.3 Write Byte Protocol
START SLAVE
ADDRESS WR ACK REGISTER
ADDRESS ACK REGISTER
DATA ACK STOP
1 ->0 YYYY_YYY 0 0 XXh 0 XXh 0 0 -> 1
Table 3.4 Read Byte Protocol
START SLAVE
ADDRESS WR ACK REGISTER
ADDRESS ACK START CLIENT
ADDRESS RD ACK REGISTER
DATA NACK STOP
1->0 YYYY_YYY 0 0 XXh 0 1 ->0 YYYY_YYY 1 0 XXh 1 0 -> 1
Table 3.5 Send Byte Protocol
START SLAVE
ADDRESS WR ACK REGISTER
ADDRESS ACK STOP
1 -> 0 YYYY_YYY 0 0 XXh 0 0 -> 1
Table 3.6 Receive Byte Protocol
START SLAVE
ADDRESS RD ACK REGISTER DATA NACK STOP
1 -> 0 YYYY_YYY 1 0 XXh 1 0 -> 1
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 23 Revision 1.32 (01-05-12)
DATASHEET
3.4 I2C Protocols
The CAP1166 supports I2C Block Write and Block Read.
The protocols listed below use the convention in Table 3.2.
3.4.1 Block Write
The Block Write is used to write multiple data bytes to a group of contiguous registers as shown in
Table 3.7.
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.
3.4.2 Block Read
The Block Read is used to read multiple data bytes from a group of contiguous registers as shown in
Table 3.8.
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.
3.5 SPI Interface
The SMBus has a predefined packet structure, the SPI does not. The SPI Bus can operate in two
modes of operation, normal 4-wire mode and bi-directional 3-wire mode. All SPI commands consist of
8-bit packets sent to a specific slave device (identified by the CS pin).
The SPI bus will latch data on the rising edge of the clock and the clock and data both idle high.
All commands are supported via both operating modes. The supported commands are: Reset Serial
interface, set address pointer, write command and read command. Note that all other codes received
during the command phase are ignored and have no effect on the operation of the device.
Table 3.7 Block Write Protocol
START SLAVE
ADDRESS WR ACK REGISTER
ADDRESS ACK REGISTER
DATA ACK
1 ->0 YYYY_YYY 0 0 XXh 0 XXh 0
REGISTER
DATA ACK REGISTER
DATA ACK . . . REGISTER
DATA ACK STOP
XXh 0 XXh 0 . . . XXh 0 0 -> 1
Table 3.8 Block Read Protocol
START SLAVE
ADDRESS WR ACK REGISTER
ADDRESS ACK START SLAVE
ADDRESS RD ACK REGISTER
DATA
1->0 YYYY_YYY 0 0 XXh 0 1 ->0 YYYY_YYY 1 0 XXh
ACK REGISTER
DATA ACK REGISTER
DATA ACK REGISTER
DATA ACK . . . REGISTER
DATA NACK STOP
0 XXh 0 XXh 0 XXh 0 . . . XXh 1 0 -> 1
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 24 SMSC CAP1166
DATASHEET
3.5.1 SPI Normal Mode
The SPI Bus can operate in two modes of operation, normal and bi-directional mode. In the normal
mode of operation, there ar e d edica ted inp ut and output d ata lines. The ho st co mmunicates by se nding
a command along the CAP1166 SPI_MOSI data line and reading data on the SPI_MISO data line.
Both communications occur simultaneously which allows for larger throughput of data transactions.
All basic transfers consist of two 8 bit transactions from the Master device while the slave device is
simultaneously sending data at the current address pointer value.
Data writes consist of two or more 8-bit transactions. The host sends a specific write command
followed by the data to write the addre ss pointer. Data reads consist of one or more 8-bit transactions.
The host sends the specific read data command and continues clocking for as many data bytes as it
wishes to receive.
3.5.2 SPI Bi-Directional Mode
In the bi-directional mode of operation, the SPI data signals are combined into the SPI_MSIO line,
which is shared for data received by the device and transmitted by the device. The protocol uses a
simple handshake and turn aroun d sequence for data communications based on the nu mber of clocks
transmitted during each phase.
All basic transfers consist of two 8 bit transactions. The first is an 8 bit command phase driven by the
Master device. The second is by an 8 bit data phase driven by the Master for writes, and by the
CAP1166 for read operations.
The auto increment feature of the address pointer allows for successive reads or writes. The address
pointer will return to 00h after reaching FFh.
3.5.3 SPI_CS# Pin
The SPI Bus is a single master, multiple slave serial bus. Each slave has a dedicated CS pin (chip
select) that the master asserts low to identify that the slave is being addressed. There are no formal
addressing options.
Figure 3.2 SPI Timing
SPI_ MS IO o r
SPI_MOSI or
SPI_MISO
SPI_CLK
tLOW
tRISE
tHIGH
tFALL
tD:CLK tHD:DAT
tSU:DAT
tP
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 25 Revision 1.32 (01-05-12)
DATASHEET
3.5.4 Address Pointer
All data writes and reads are accessed from the current address pointer. In both Bi-directional mode
and Full Duplex mode, the Address pointer is automatically incremented following every read
command or every write command.
The address pointer will return to 00h after reaching FFh.
3.5.5 SPI Timeout
The CAP1166 does not detect any timeout conditions on the SPI bus.
3.6 Normal SPI Protocols
When operating in norma l mode, the SPI bus internal address pointer is incremented depending upon
which command has been transmitted. Multiple commands may be transmitted sequentually so long
as the SPI_CS# pin is asserted low. Figure 3.3 shows an example of this operation.
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 26 SMSC CAP1166
DATASHEET
3.6.1 Reset Interface
Resets the Serial interface whenever two successive 7Ah codes are received. Regardless of the current phase of the transaction - command or data,
the receipt of the successive reset commands resets the Serial communicati on interface only. All other functions a re not affect ed by the reset operation.
Figure 3.3 Example SPI Bus Communication - Normal Mode
SPI_CS#
SPI_MISO
SPI_MOSI
SPI Address Pointer
SPI Data o utput b uffer
Register Address /
Data
7Ah
XXh
(invalid) XXh
(invalid) YYh
(invalid)
7Ah 7Dh 41h
YYh
(invalid)
7Eh 66h
XXh
(invalid) 45h
7Dh 41h
AAh
(invalid) AAh
(invalid)
7Fh 7Fh
55h
(invalid) 66h
7Fh
AAh
7Dh
43h
40h
78h
7Fh
XXh
(invalid)
7Fh
56h
40h / 56h
41h / 45h
42h / AAh
43h / 55h
44h / 80h
45h / 43h
46h / 78h
41h
45h
40h / 56h
41h / 45h
42h / AAh
43h / 55h
44h / 80h
45h / 43h
46h / 78h
42h
AAh
40h / 56h
41h / 66h
42h / AAh
43h / 55h
44h / 80h
45h / 43h
46h / 78h
41h
55h
7Fh
AAh
40h / 56h
41h / 66h
42h / AAh
43h / 55h
44h / 80h
45h / 43h
46h / 78h
41h
66h 42h
AAh
40h / 56h
41h / 66h
42h / AAh
43h / 55h
44h / 80h
45h / 43h
46h / 78h
40h / 56h
41h / 66h
42h / AAh
43h / 55h
44h / 80h
45h / 43h
46h / 78h
40h / 56h
41h / 66h
42h / AAh
43h / 55h
44h / 80h
45h / 43h
46h /78h
44h
80h 40h
80h 40h
56h
40h / 56h
41h / 66h
42h / AAh
43h / 55h
44h / 80h
45h / 43h
46h /78h
43h
55h
7Fh 7Fh
55h
40h / 56h
41h / 66h
42h / AAh
43h / 55h
44h / 80h
45h / 43h
46h /78h
80h
45h
43h 46h
78h
40h / 56h
41h / 66h
42h / AAh
43h / 55h
44h / 80h
45h / 43h
46h / 78h
00h
XXh
Indicates SPI Address pointer incremented
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 27 Revision 1.32 (01-05-12)
DATASHEET
3.6.2 Set Address Pointer
The Set Address Pointer command sets the Address pointer for subsequent reads and writes of data.
The pointer is set on the rising edge of the final data bit. At the same time, the data that is to be read
is fetched and loaded into the internal output buffer but is not transmitted.
3.6.3 Write Data
The Write Data protocol updates the contents of the register referenced by the address pointer. As the
command is processed, the data to be read is fetched and loaded into the internal output buffer but
not transmitted. Then, the register is updated with the data to be written. Finally, the address pointer
is incremented.
Figure 3.4 SPI Reset Interface Command - Normal Mode
Figure 3.5 SPI Set Address Pointer Command - Normal Mode
Master SPDOUT
SPI_MOSI Register Address
SPI_CS#
SPI_CLK
Set Address Pointer – 7Dh
Unknown, Invalid Data Unknown, Invalid Data
SPI_MISO
Master Drives Slave Drives Address pointer set
‘0’ ‘0‘1 ‘1’ ‘1’ ‘1 ‘1’ ‘1’
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 28 SMSC CAP1166
DATASHEET
3.6.4 Read Data
The Read Data protocol is used to read data from the device. During the normal mode of operation,
while the device is receiving data, the CAP1166 is simultaneously transmitting data to the host. For
the Set Address commands and the Write Data commands, this data may be invalid and it is
recommended that the Read Data command is used.
Figure 3.6 SPI Write Command - Normal Mode
Figure 3.7 SPI Read Command - Normal Mode
Master SPDOUT
SPI_MOSI Da ta to Write
SPI_CS#
SPI_CLK
Write Command – 7Eh
Unkn own, Invalid Data Old Data at Current Address Pointer
SPI_MISO
Master Drives Slave Drives
1. Data w ritten at c u r re nt
address pointer
2. Address pointer incremented
Master SPDOUT
SPI_MOSI
Master Drives S lave Drives
SPI_CLK
First Read Comm and – 7Fh
SPI_CS#
Invalid, Unknow n Da ta *
SPI_MISO
0’ 1’ 1’ 1’ 1’ ‘1’ 1’ 1’ Subsequent Read
Com m ands – 7F
Data at Current Address Pointer
Address Pointer
Incremented **
‘0’ ‘1’ ‘1’ ‘1 ‘1 ‘1’ ‘1’ ‘1’
* T h e firs t r e a d co mman d a fte r a n y o t he r c o m ma n d w ill r e tu rn in v a lid d a t a for the f irs t
byte. Subsequent read comm ands will re tu rn the d a t a a t th e C u r re n t A ddr e s s P ointe r
** The Address Pointer is incremented 8 clocks after the Read C om mand has been
received. Therefore continually sending Read C om mands will r e s u lt in e a c h co mmand
reporting new data. Once Read Comm ands have been finished, the last data byte will b e
read during the next 8 clocks for any comm and
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 29 Revision 1.32 (01-05-12)
DATASHEET
3.7 Bi-Directional SPI Protocols
3.7.1 Reset Interface
Resets the Serial interface whenever two successive 7Ah codes are received. Regardless of the
current phase of the transaction - command or data, the receipt of the successive reset commands
resets the Serial communication interface only. All other functions are not affected by the reset
operation.
3.7.2 Set Address Pointer
Sets the address pointer to the register to be accessed by a read or write command. This command
overrides the auto-incrementing of the address pointer.
Figure 3.8 SPI Read Command - Normal Mode - Full
Figure 3.9 SPI Reset Interface Command - Bi-directional Mode
Master SPDOUT
SPI_MOSI
M aster Drives Slave Drives
SPI_CLK
Read C omm and – 7Fh
SPI_CS#
Data at previously set register address = current
address pointer
SPI_MISO ‘0’ ‘1 ‘1’ ‘1’ ‘1 ‘1’ ‘1’ ‘1
Data at previously set register address = current
address pointer (SPI)
XXh
1. Register Read Address
u p d ate d to C u r re nt S PI Read
Address pointer
1. Re gister data loaded into
output buffer = data at current
address pointer
1 . O utp u t b u ffe r tr a n s mitte d =
data at previous address
pointer + 1 = current address
pointer
1. Register Read Address
increm ented = current address
pointer + 1
1. SPI Read Address
Incremented = new current
address pointer
2. Register Read Address
Incremented = current address
pointer +1
Register Data loaded into
Output buffer = data at current
address pointer + 1
1. Output buffer transm itted =
data at current address pointer
+ 1
2 . F la g s e t to in c re me n t S PI
Rea d Address at end of next 8
clocks
‘0 ‘1 ‘1 ‘1’ ‘1’ ‘1’ ‘1 ‘1’
Data at previously set register address = current
address pointer (SPI)
1. Register data loaded into
output buffer = data at current
address pointer
1. Output buffer transm itted =
data at previous register
address pointer + 1 = current
address pointer
1. Output buffer transmitted =
data at current address pointer
+ 1
2. Flag set to increment SPI
Read A ddress at end of next 8
clocks
Subsequent Read C omm ands – 7Fh
1. Register Read Address
u p d a te d to Cu rre n t S P I Re a d
Address pointer.
2. Register Read Address
increm ented = current address
pointer +1 – end result =
register address pointer doesn’t
change
Master SPDOUT
SPI_MSIO
SPI_CS#
SPI_CLK
Reset - 7Ah Reset - 7Ah
‘1 ‘1’ ‘1 ‘1’ ‘1‘0’ ‘0 ‘0’ ‘1 ‘1’ ‘1 ‘1’ ‘1‘0’ ‘0 ‘0’
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 30 SMSC CAP1166
DATASHEET
3.7.3 Write Data
Writes data value to the register address stored in the address pointer. Performs auto increment of
address pointer after the data is loaded into the register.
3.7.4 Read Data
Reads data referenced by the address pointer. Performs auto increment of address pointer after the
data is transferred to the Master.
Figure 3.10 SPI Set Address Pointer Command - Bi-directional Mode
Figure 3.11 SPI Write Data Command - Bi-directional Mode
Figure 3.12 SPI Read Data Command - Bi-directional Mode
Master SPDOUT
SPI_MSIO Register Address
SPI_CS#
SPI_CLK
Set Address Pointer – 7Dh
‘0’ 1’ ‘0’‘1’ ‘1’ ‘1’ 1’ ‘1
Master SPDOUT
SPI_MSIO Register Write Data
SPI_CS#
SPI_CLK
Write Command – 7Eh
‘1’ ‘1’ ‘1 ‘1’ ‘1’ ‘1’ ‘0’‘0’
Master SPDOUT
SPI_MSIO
M aster Drives Slave Drives Indeterminate
R egister R ead Data
SPI_CLK
R ead Com m and – 7Fh
SPI_CS#
‘0 ‘1 ‘1 ‘1 ‘1 ‘1 ‘1 ‘1
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 31 Revision 1.32 (01-05-12)
DATASHEET
3.8 BC-Link Interface
The BC-Link is a proprietary bus developed to allow communication between a host controller device
to a companion device. This device uses this serial bus to read and write registers and for interrupt
processing. The interface use s a data port concept, where the base interface has an address register,
data register and a control register, defined in the SMSC’s 8051’s SFR space.
Refer to documentation for the BC-Link compatible host controller for details on how to access the
CAP1166 via the BC-Link Interface.
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 32 SMSC CAP1166
DATASHEET
Chapter 4 General Description
The CAP1166 is a multiple channel Capacitive Touch sensor with multiple power LED drivers. It
contains six (6) individual capacitive touch sensor inputs with programmable sensitivi ty for use in touch
sensor applications. Each sensor input automatically recalibrates to compensate for gradual
environmental changes.
The CAP1166 also contains six (6) low side (or push-pull) LED drivers that offer full-on / off, variable
rate blinking, dimness controls, and breathing. Each of the LED drivers may be linked to one of the
sensor inputs to be actuated when a touch is detected. As well, each LED driver may be individually
controlled via a host controller.
Finally, the device contains a dedicated RESET pin to act as a soft reset by the system.
The CAP1166 offers multiple power states. It operates at the lowest quiescent current during its Deep
Sleep state. In the low power Standby state, it can monitor one or more channels and respond to
communications normally. The device contains a wake pin (WAKE/SPI_MOSI) output to wake the
system when a touch is detected in Standby and to wake the device from Deep Sleep.
The device communicates wi th a host controller using the SPI b us, SMSC BC-Link bus, or via SMBus
/ I2C. 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 touch is detected on any sensor pad.
A typical system diagram is shown in Figure 4.1.
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 33 Revision 1.32 (01-05-12)
DATASHEET
4.1 Power States
The CAP1166 has three operating states depending on the status of the STBY and DSLEEP bits.
When the device transitions b etween power states, previously detected touc hes (for inactive channels)
are cleared and the status bits reset.
Figure 4.1 System Diagram for CAP1166
CAP1166
CS4
SMDATA / BC_DATA / SPI_MSIO / SPI_MISO
SMCLK / BC_CLK / SPI_CLK
Em bedded Controller
VDD
ALERT# / BC_IRQ#
CS5
CS6
3.3V – 5V
CS3
CS2
CS1
WAKE / SPI_MOSI
RESET
SPI_CS#
ADDR_COMM
LED6
LED5
LED4
LED1
LED2
LED3
3.3V – 5V
Touch
Button
Touch
Button
Touch
Button
Touch
Button
Touch
Button
Touch
Button
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 34 SMSC CAP1166
DATASHEET
1. Fully Active - The device is fully active. It is monitoring all active capacitive sensor inputs and
driving all LED channels as defined.
2. Standby - The device is in a low er power state. It will measure a programmable number of channels
using the Standby Configuration controls (see Section 5.20 through Section 5.22). Interrupts will still
be generated based on the active channels. The device will still respond to communications
normally and can be returned to the Fully Active state of operation by clearing the STBY bit.
3. Deep Sleep - The device is in its lowest power state. It is not monitoring any capacitive sensor
inputs and not driving any LEDs. All LEDs will be driven to their programmed non-actuated state
and no PWM operati ons will be done. While in Deep Sleep, the device can be awakened by SMBus
or SPI communications targeting the device. This will not cause the DSLEEP to be cleared so the
device will return to Deep Sleep once all communications have stopped.
If the device is not communicating via the 4-wire SPI bus, then during this state of operation, if the
WAKE/SPI_MOSI pin is driven high by an external source, the device will clear the DSLEEP bit
and return to Fully Active.
APPLICATION NOTE: In the Deep Sleep state, the LED output will be either high or low and will not be PWM’d at
the min or max duty cycle.
APPLICATION NOTE: If the CAP1166 is configured to communicate using the BC-Link protocol, the device does
not support Deep Sleep.
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 communications protocol used. No capacitive
touch sensor inputs will be sampled and the LEDs will not be driven. All configuration settings will be
reset to default states and all readings will be cleared.
The device will be held in Deep Sleep that can only be removed by driving the RESET pin low. This
will cause the RESET status bit to be set to a logic ‘1’ and generate an interrupt.
4.3 WAKE/SPI_MOSI Pin Operation
The WAKE / SPI_MOSI pin is a multi-function pin depending on device operation. When the device is
configured to communicate using the 4-wire SPI bus, this pin is an input.
However, when the CAP1166 is placed in Standby and is not communicating using the 4-wire SPI
protocol, the WAKE pin is an active high output. In this condition, the device will assert the
WAKE/SPI_MOSI pin when a touch is detected on one of its sampled sensor inputs. The pin will
remain asserted until the INT bit has been cleared and then it will be de-asserted.
When the CAP1166 is placed in Deep Sleep and it is not communicating using the 4 -wire SPI protocol,
the WAKE/SPI_MOSI pin is monitored by the device as an input. If the WAKE/SPI_MOSI pin is driven
high by an external source, the CAP1166 will clear the DSLEEP bit causing the device to return to
Fully Active.
When the device is placed in Deep Sleep, this pin is a High -Z input and must have a pull-down resistor
to GND for proper operation.
4.4 LED Drivers
The CAP1166 contains six (6) LED drivers. Each LED driver can be linked to its respective capacitive
touch sensor input or it can be controlled by the host. Each LED driver can be configured to operate
in one of the following modes with either push-pull or open drain drive.
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 35 Revision 1.32 (01-05-12)
DATASHEET
1. Direct - The LED is configured to be on or off when the corresponding input stimulus is on or off
(or inverted). The brightness of the LED can be programmed from full off to full on (default).
Additionally, the LED contains controls to individua lly configure ramping on, off, and turn-off delay.
2. Pulse 1 - The LED is configured to “Pulse” (transition ON-OFF-ON) a programmable number of
times with programmable rate and min / max brightness. This behavior may be actuated when a
press is detected or when a release is detected.
3. Pulse 2 - The LED is configured to “Pulsewhile actuated and then “Pulse” a programmable
number of times with programmable rate and min / max brightness when the sensor pad is
released.
4. Breathe - The LED is configured to transition continuously ON-OFF-ON (i.e. to “Breathe”) with a
programmable rate and min / max brightness.
When an LED is not linked to a sensor and is actuated by the host, there’s an option to assert the
ALERT# pin when the initiated LED behavior has completed.
4.4.1 Linking LEDs to Capacitive Touch Sensor Inputs
All LEDs can be linked to the corresponding capacitive touch sensor input so that when the sensor
input detects a touch, the corresponding LED will be actuated at one of the programmed responses.
4.5 Capacitive Touch Sensing
The CAP1166 contains six (6) independent capacitive touch sensor inputs. Each sensor input has
dynamic range to detect a change of capacitance due to a touch. Additionally, each sensor input can
be configured to be automatically and routinely re-calibrated.
4.5.1 Sensing Cycle
Each capacitive touch sensor input 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 input starting with CS1 and extending through
CS6. As each capacitive touch sensor input is polled, its measurement is compared against a baseline
“Not Touched” measurement. If the delta measurement is large enough, a touch is detected and an
interrupt is generated.
The sensing cycle time is programmable (see Section 5.10, "Averaging and Sampling Configuration
Register").
4.5.2 Recalibrating Sensor Inputs
There are various options for recalibratin g the capacitive touch sensor inputs. Recalibrati on re-sets the
Base Count Registers (Section 5.24, "Sensor Input Base Count Registers") which contain the “not
touched” values used for touch detection comparisons.
APPLICATION NOTE: The device will recalibrate all sensor inputs that were disabled when it transitions from
Standby. Likewise, the device will recalibrate all sensor inputs when waking out of Deep
Sleep.
4.5.2.1 Manual Recalibration
The Calibration Activate Registers (Section 5.11, "Calibration Activate Register") force recalibration of
selected sensor inputs. When a bit is set, the corresponding capacitive touch sensor input will be
recalibrated (both analog and digital). The bit is automatically cleared once the recalibration routine
has finished.
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 36 SMSC CAP1166
DATASHEET
Note: During this recalibration routine, the sensor inputs will not detect a press for up to 200ms and
the Sensor Base Count Register values will be invalid. In addition, any press on the
corresponding sensor pads will invalidate the recalibration.
4.5.2.2 Automatic Recalibration
Each sensor input is regularly recalibrated at a programmable rate (see Section 5.17, "Recalibration
Configuration Register"). By default, the recalibration routine stores the average 64 previous
measurements and periodically u pdates the base “not touched” setting for the capacitive touch sensor
input.
Note: Automatic recalibration only works when the delta count is below the active sensor input
threshold. It is disabled when a touch is detected.
4.5.2.3 Negative Delta Count Recalibration
It is possible that the device loses sensitivity to a touch. This may happen as a result of a noisy
environment, an accidental recalibration during a touch, or other environmental changes. When this
occurs, the base untouched sensor input may generate negative delta count values. The
NEG_DELTA_CNT bits (see Section 5.17, "Recalibration Configuration Register") can be set to force
a recalibration after a specified number of consecutive negative delta readings.
Note: During this recalibration, the device will not respond to touches.
4.5.2.4 Delayed Recalibration
It is possible that a “stuck button” occurs when some thing is placed on a button wh ich causes a touch
to be detected for a long period. By setting the MAX_DUR_EN bit (see Section 5.6, "Configuration
Registers"), a recalibration can be forced when a touch is held on a button for longer than the dura tion
specified in the MAX_DUR bits (see Section 5.8, "Sensor Input Configuration Register").
Note: Delayed recalibration only works when the delta count is above the active sensor input
threshold. If enabled, it is invoked when a sensor pad touch is held longer th an the MAX_DUR
bit setting.
4.5.3 Proximity Detection
Each sensor input can be configured to detect changes in capacitance due to proximity of a touch.
This circuitry detects the change of capacitance that is generated as an object approaches, but does
not physically touch, the enabled sensor pad(s). When a sensor input is selected to perform proximity
detection, it will be sampled from 1x to 128x per sampling cycle. The larger the number of samples
that are taken, the greater the range of proximity detection is available at the cost of an increased
overall sampling time.
4.5.4 Multiple Touch Pattern Detection
The multiple touch pattern (MTP) detection circuitry can be used to detect lid closure or other similar
events. An event can be flagged based on either a minimum number of sensor inputs or on specific
sensor inputs simultaneously exceeding an MTP threshold or having their Noise Flag Status Register
bits set. An interrupt can also be generated. During an MTP event, all touches are blocked (see
Section 5.15, "Multiple Touch Pattern Configuration Register").
4.5.5 Low Frequency Noise Detection
Each sensor input has an EMI noise detector th at will sense if low frequency noise is injected onto the
input with sufficient power to corrupt the readings. If this occurs, the device will reject the corrupted
sample and set the corresponding bit in the Noise Status register to a logic ‘1’.
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 37 Revision 1.32 (01-05-12)
DATASHEET
4.5.6 RF Noise Detection
Each sensor input contains an integrated RF noise detector. This block will detect injected RF noise
on the CS pin. The detector threshold is dependent upon the noise frequency. If RF noise is detected
on a CS line, that sample is removed and not compared against the threshold.
4.6 ALERT# Pin
The ALERT# pin is an active low (or active high when configured) output that is driven when an
interrupt event is detected.
Whenever an interrupt is generated, the INT bit (see Section 5.1, "Main Control Register") is set. The
ALERT# pin is cleared when the INT bit is cleared by the user. Addi tionally, when the INT bit is cleared
by the user, status bits are only cleared if no touch is detected.
4.6.1 Sensor Interrupt Behavior
The sensor interrupts are generated in one of two ways:
1. An interrupt is generated when a touch is detected and, as a user selectable option, when a release
is detected (by default - see Section 5.6). See Figure 4.3.
2. If the repeat rate is enabled then, so long as the touch is held, another interrupt will be generated
based on the programmed repeat rate (see Figure 4.2).
When the repeat rate is enabled , the device u ses an additi onal control called MPRESS tha t dete rmi nes
whether a touch is flagged as a simple “touch” or a “press and hold”. The MPRESS[3:0] bits set a
minimum press timer. When the button is touched, the timer begins. If the sensor pad is released
before the minimum press timer expires, it is flagged as a touch and an interrupt is generated upon
release. If the sensor input detects a touch for longer than this timer value, it is flagged as a “press
and hold” event. So long as the touch is held, interrupts will be generated at the programmed repeat
rate and upon release (if enabled).
APPLICATION NOTE: Figure 4.2 and Figure 4.3 show default operation which is to generate an interrupt upon
sensor pad release and an active-low ALERT# pin.
APPLICATION NOTE: The host may need to poll the device twice to determine that a release has been detected.
Figure 4.2 Sensor Interrupt Behavior - Repeat Rate Enabled
Touch Detected
INT bit
Button Status
Write to INT bit
Polling Cycle
(35ms)
Min Press Setting
(280ms)
Interrupt on
Touch
Button Repeat Rate
(175ms) Button Repeat Rate
(175ms)
Interrupt on
Release
(optional)
ALERT# pin
(active low)
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 38 SMSC CAP1166
DATASHEET
Figure 4.3 Sensor Interrupt Behavior - No Repeat Rate Enabled
Touch Detected
INT bit
Button Status
Write to INT bit
Polling Cycl e
(35ms)
Interrupt on
Touch Interrupt on
Release
(optional)
ALERT# pin
(active low)
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 39 Revision 1.32 (01-05-12)
DATASHEET
Chapter 5 Register Description
The registers shown in Table 5.1 are accessible through the communications protocol. 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 R/W REGISTER NAME FUNCTION DEFAULT
VALUE PAGE
00h R/W Main Control Controls general power states and
power dissipation 00h Page 43
02h R General Status Stores general status bits 00h Page 44
03h R Sensor Input Status Returns the state of the sampled
capacitive touch sensor inputs 00h Page 44
04h R LED Status Stores status bits for LEDs 00h Page 44
0Ah R Noise Flag Status Stores the noise flags for sensor
inputs 00h Page 45
10h R Sensor Input 1 Delta
Count Stores the delta count for CS1 00h Page 46
11h R Sensor Input 2 Delta
Count Stores the delta count for CS2 00h Page 46
12h R Sensor Input 3 Delta
Count Stores the delta count for CS3 00h Page 46
13h R Sensor Input 4 Delta
Count Stores the delta count for CS4 00h Page 46
14h R Sensor Input 5 Delta
Count Stores the delta count for CS5 00h Page 46
15h R Sensor Input 6 Delta
Count Stores the delta count for CS6 00h Page 46
1Fh R/W Sensitivity Control Controls the sensitivity of the
threshold and delta counts and data
scaling of the base counts 2Fh Page 46
20h R/W Configuration Controls general functionality 20h Page 48
21h R/W Sensor Input Enable Controls whether the capacitive
touch sensor inputs are sampled 3Fh Page 50
22h R/W Sensor Input
Configuration Controls max duration and auto-
repeat delay for sensor inputs
operating in the full power state A4h Page 50
23h R/W Sensor Input
Configuration 2 Controls the MPRESS controls for all
sensor inputs 07h Page 52
24h R/W Averaging and
Sampling Config Controls averaging and sampling
window 39h Page 53
26h R/W Calibration Activate Forces re-calibration for capacitive
touch sensor inputs 00h Page 55
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 40 SMSC CAP1166
DATASHEET
27h R/W Interrupt Enable Enables Interrupts associated with
capacitive touch sensor inputs 3Fh Page 55
28h R/W Repeat Rate Enable Enables repeat rate for all sensor
inputs 3Fh Page 56
2Ah R/W Multiple Touch
Configuration Determines the number of
simultaneous touches to flag a
multiple touch condition 80h Page 56
2Bh R/W Multip le Touch Patte rn
Configuration Determines the multiple touch
pattern (MTP) configuration 00h Page 57
2Dh R/W Multiple Touch Pattern Determines the pattern or number of
sensor inputs used by the MTP
circuitry 3Fh Page 58
2Fh R/W Recalibration
Configuration Determines re-calibration timin g and
sampling window 8Ah Page 59
30h R/W Sensor Input 1
Threshold Stores the delta count threshold to
determine a touch for Capacitive
Touch Sensor Input 1 40h Page 61
31h R/W Sensor Input 2
Threshold Stores the delta count threshold to
determine a touch for Capacitive
Touch Sensor Input 2 40h Page 61
32h R/W Sensor Input 3
Threshold Stores the delta count threshold to
determine a touch for Capacitive
Touch Sensor Input 3 40h Page 61
33h R/W Sensor Input 4
Threshold Stores the delta count threshold to
determine a touch for Capacitive
Touch Sensor Input 4 40h Page 61
34h R/W Sensor Input 5
Threshold Stores the delta count threshold to
determine a touch for Capacitive
Touch Sensor Input 5 40h Page 61
35h R/W Sensor Input 6
Threshold Stores the delta count threshold to
determine a touch for Capacitive
Touch Sensor Input 6 40h Page 61
38h R/W Sensor Input Noise
Threshold Stores controls for selecting the
noise threshold for al l sensor inputs 01h Page 61
Standby Configuration Registers
40h R/W Standby Channel Controls which sensor inputs are
enabled while in standby 00h Page 62
41h R/W Standby Configuration Controls averaging and cycle time
while in standby 39h Page 62
42h R/W Standby Sensitivity Controls sensitivity settings used
while in standby 02h Page 64
43h R/W Standby Threshold Stores the touch detection threshold
for active sensor inputs in standby 40h Page 65
Table 5. 1 Register Set in Hexadecimal O rder (continued)
REGISTER
ADDRESS R/W REGISTER NAME FUNCTION DEFAULT
VALUE PAGE
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 41 Revision 1.32 (01-05-12)
DATASHEET
44h R/W Configuration 2 Stores additional configuration
controls for the device 40h Page 48
Base Count Registers
50h R Sensor Input 1 Base
Count Store s the reference count value for
sensor input 1 C8h Page 65
51h R Sensor Input 2 Base
Count Store s the reference count value for
sensor input 2 C8h Page 65
52h R Sensor Input 3 Base
Count Store s the reference count value for
sensor input 3 C8h Page 65
53h R Sensor Input 4 Base
Count Store s the reference count value for
sensor input 4 C8h Page 65
54h R Sensor Input 5 Base
Count Store s the reference count value for
sensor input 5 C8h Page 65
55h R Sensor Input 6 Base
Count Store s the reference count value for
sensor input 6 C8h Page 65
LED Controls
71h R/W LED Output Type Controls the output type for the LED
outputs 00h Page 66
72h R/W Sensor Input LED
Linking Controls linking of sensor inputs to
LED channels 00h Page 67
73h R/W LED Polarity Controls the output polarity of LEDs 00h Page 67
74h R/W LED Output Control Controls the output state of the LEDs 00h Page 68
77h R/W LED Linked Transition
Control Controls the transition when LEDs
are linked to CS channels 00h Page 70
79h R/W LED Mirror Control Controls the mirroring of duty cycles
for the LEDs 00h Page 70
81h R/W LED Behavior 1 Controls the behavior and response
of LEDs 1 - 4 00h Page 71
82h R/W LED Behavior 2 Controls the behavior and response
of LEDs 5 - 6 00h Page 71
84h R/W LED Pulse 1 Period Controls the period of each breathe
during a pulse 20h Page 73
85h R/W LED Pulse 2 Period Controls the period of the breath ing
during breathe and pulse operation 14h Page 75
86h R/W LED Breathe Period Controls the period of an LED
breathe operation 5Dh Page 76
88h R/W LED Config Controls LED configuration 04h Page 77
90h R/W LED Pulse 1 Duty
Cycle Determines the min and max duty
cycle for the pulse operation F0h Page 78
Table 5. 1 Register Set in Hexadecimal O rder (continued)
REGISTER
ADDRESS R/W REGISTER NAME FUNCTION DEFAULT
VALUE PAGE
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 42 SMSC CAP1166
DATASHEET
During Power-On-Reset (POR), the default val ues are stored in the registers. A POR is initiated when
power is first applied to the part and the voltage on the VDD supply surpasses the POR level as
specified in the electrical characteristics. Any reads to undefined registers will return 00h. Writes to
undefined registers will not have an effect.
When a bit is “set”, this means that the user writes a logic ‘1’ to it. When a b it is “cleared”, this means
that the user writes a logic ‘0’ to it.
91h R/W LED Pulse 2 Duty
Cycle Determines the min and max duty
cycle for breathe and pulse
operation F0h Page 78
92h R/W LED Breathe Duty
Cycle Determines the min and max duty
cycle for the breathe operation F0h Page 78
93h R/W LED Direct Duty Cycle Determines the min and max duty
cycle for Direct mode LED operation F0h Page 78
94h R/W LED Direct Ramp
Rates Determines the rising and falling
edge ramp rates of the LEDs 00h Page 79
95h R/W LED Off Delay Determines the off delay for all LED
behaviors 00h Page 80
B1h R Sensor Input 1
Calibration Stores the upper 8-bit calibration
value for sensor input 1 00h Page 83
B2h R Sensor Input 2
Calibration Stores the upper 8-bit calibration
value for sensor input 2 00h Page 83
B3h R Sensor Input 3
Calibration Stores the upper 8-bit calibration
value for sensor input 3 00h Page 83
B4h R Sensor Input 4
Calibration Stores the upper 8-bit calibration
value for sensor input 4 00h Page 83
B5h R Sensor Input 5
Calibration Stores the upper 8-bit calibration
value for sensor input 5 00h Page 83
B6h R Sensor Input 6
Calibration Stores the upper 8-bit calibration
value for sensor input 6 00h Page 83
B9h R Sensor Input
Calibration LSB 1 Stores the 2 LSBs of the calib ration
value for sensor inputs 1 - 4 00h Page 83
BAh R Sensor Input
Calibration LSB 2 Stores the 2 LSBs of the calib ration
value for sensor inputs 5 - 6 00h Page 83
FDh R Product ID Stores a fixed value that identifies
each product 51h Page 84
FEh R Manufacturer ID Stores a fixed value that identifies
SMSC 5Dh Page 84
FFh R Revision Stores a fixed value that repre sents
the revision number 83h Page 84
Table 5. 1 Register Set in Hexadecimal O rder (continued)
REGISTER
ADDRESS R/W REGISTER NAME FUNCTION DEFAULT
VALUE PAGE
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 43 Revision 1.32 (01-05-12)
DATASHEET
5.1 Main Control Register
The Main Control register controls the primary power state of the device.
Bits 7 - 6 - GAIN[1:0] - Controls the gain used by the capa citive touch sensing circuitry. As the gain is
increased, the effective sensitivity is likewise increased as a smaller delta capacitance is required to
generate the same delta count values. The sensitivit y settings may need to be adjusted along with the
gain settings such that data overflow does not occur.
APPLICATION NOTE: The gain settings apply to both Standby and Active states.
Bit 5 - STBY - Enables Standby.
‘0’ (default) - Sensor input scanning is active and LEDs are functional.
‘1’ - Capacitive touch sensor input scanning is limited to the sensor inputs set in the Standby
Channel register (see Section 5.20). The status registers will not be cleared until read. LEDs that
are linked to capacitive touch sensor inputs will remain linked and active. Sensor inputs that are
no longer sampled will flag a release and then remain in a non-touched state. LEDs that are
manually controlled will be unaffected.
Bit 4 - DSLEEP - Enables Deep Sleep by deactivating all functions. This bit will be cleared when the
WAKE pin is driven high. If the CAP1166 is configured to communicate using the BC-Link protocol,
this bit is ignored.
‘0’ (default) - Sensor input scanning is active and LEDs are functional.
‘1’ - All sensor input scanning is disabled. All LEDs are driven to their programmed non-actuated
state and no PWM operations will be done. The status registers are automa tically cleared and the
INT bit is cleared.
Bit 0 - INT - Indicates that there is an interrupt. When this bit is set, it asserts the ALERT# pin. If a
channel detects a touch and its associated interrupt enable bit is not set to a logic ‘1’, no action is
taken.
This bit is cleared by writing a logic ‘0’ to it. When this bit is cleare d, the ALERT# pin will be deasserted
and all status registers will be cleared if the condition has been removed. If the WAKE/SPI_MOSI pin
is asserted as a result of a touch detected while in Standby, it will likewise be deasserted when this
bit is cleared.
Table 5.2 Main Control Register
ADDRR/W REGISTER B7 B6B5 B4 B3B2B1B0DEFAULT
00h R/W Main Control GAIN[1:0] STBY DSLEEP - - - INT 00h
Table 5.3 GAIN Bit Decode
GAIN[1:0]
CAPACITIVE TOUCH SENSOR GAIN10
00 1
01 2
10 4
11 8
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 44 SMSC CAP1166
DATASHEET
Note that the WAKE / SPI_MOSI pin is not driven when communicating via the 4-wire SPI protocol.
‘0’ - No interrupt pending.
‘1’ - A touch has been detected on one or more channels and the interrupt has been asserted.
5.2 Status Registers
All status bits are cleared when the device enters the Deep Sleep (DSLEEP = ‘1’ - see Section 5.1).
5.2.1 General Status - 02h
Bit 4 - LED - Indicates that one or more LEDs have finished their programmed activity. This bit is set
if any bit in the LED Status register is set.
Bit 3 - RESET - Indicates that the device has come out of reset. This bit is set when the device exits
a POR state or when the RESET pin has been deasserted and qualified via the RESET pin filter (see
Section 4.2). This bit will cause the INT bit to be set and is cleared when the INT bit is cleared.
Bit 2 - MULT - Indicates that the device is blocking detected touches due to the Multiple Touch
detection circuitry (see Section 5.14). This bit will not cause the INT bit to be set and hence will not
cause an interrupt.
Bit 1 - MTP - Indicates that the device has detected a number of sensor inputs that exceed the MTP
threshold either via the pattern recognition or via the number of sensor inpu ts (see Section 5.15). This
bit will cause the INT bit to be set if the MTP_ALERT bit is also set. This bit will not be cleared until
the condition that caused it to be set has been removed.
Bit 0 - TOUCH - Indicates that a touch was detected. Th is bit is set if any bit in the Sensor Input Status
register is set.
5.2.2 Sensor Input Status - 03h
The Sensor Input Status Register stores status bits that indicate a touch has been detected. A value
of ‘0’ in any bit indicates that no touch has been detected. A value of ‘1’ in any bit indicates that a
touch has been detected.
All bits are cleared when the INT bit is cl eared and if a tou ch on the respe ctive capaciti ve touch sensor
input is no longer present. If a touch is still detected, th e bits will not be cleared (but this will not ca use
the interrupt to be asserted - see Section 5.6).
Bit 5 - CS6 - Indicates that a touch was detected on Sensor Input 6. This sensor input can be linked
to LED6.
Bit 4 - CS5 - Indicates that a touch was detected on Sensor Input 5. This sensor input can be linked
to LED5.
Table 5.4 Status Registers
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
02h R General Status - - - LED RESET MULT MTP TOUCH 00h
03h R Sensor Input
Status - - CS6 CS5 CS4 CS3 CS2 CS1 00h
04h R LED Status - - LED6_
DN LED5_
DN LED4_
DN LED3_
DN LED2_
DN LED1_
DN 00h
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 45 Revision 1.32 (01-05-12)
DATASHEET
Bit 3 - CS4 - Indicates that a touch was detected on Sensor Input 4. This sensor input can be linked
to LED4.
Bit 2 - CS3 - Indicates that a touch was detected on Sensor Input 3. This sensor input can be linked
to LED3.
Bit 1 - CS2 - Indicates that a touch was detected on Sensor Input 2. This sensor input can be linked
to LED2.
Bit 0 - CS1 - Indicates that a touch was detected on Sensor Input 1. This sensor input can be linked
to LED1.
5.2.3 LED Status - 04h
The LED Status Registers indicate when an LED has completed its configured behavior (see Section
5.31, "LED Behavior Registers") after being actuated by the host (see Section 5.28, "LED Output
Control Register"). These bits are ignored when the LED is linked to a capacitive sensor in put. All LED
Status bits are cleared when the INT bit is cleared.
Bit 5 - LED6_DN - Indicates that LED6 has finished its behavior after being actuated by the host.
Bit 4 - LED5_DN - Indicates that LED5 has finished its behavior after being actuated by the host.
Bit 3 - LED4_DN - Indicates that LED4 has finished its behavior after being actuated by the host.
Bit 2 - LED3_DN - Indicates that LED3 has finished its behavior after being actuated by the host.
Bit 1 - LED2_DN - Indicates that LED2 has finished its behavior after being actuated by the host.
Bit 0 - LED1_DN - Indicates that LED1 has finished its behavior after being actuated by the host.
5.3 Noise Flag Status Registers
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 or the RF noise detector. These
bits indicate that the most recently received data from the sensor input is invalid and should not be
used for touch detection. So long as the bit is set for a particular channel, the delta count value is reset
to 00h and thus no touch is detected.
These bits are not sticky and will be cleared automatically if the analog block does not report a noise
error.
APPLICATION NOTE: If the MTP detection circuitry is enabled, these bits count as sensor inputs above the MTP
threshold (see Section 4.5.4, "Multiple Touch Pattern Detection") even if the corresponding
delta count is not. If the corresponding delta count also exceeds the MT P threshold, it is not
counted twice.
APPLICATION NOTE: Regardless of the state of the Noise Status bits, if low frequency noise is detected on a
sensor input, that sample will be discarded unless the DIS_ANA_NOISE bit is set. As well,
if RF noise is detected on a sensor input, that sample will be discarded unless the
DIS_RF_NOISE bit is set.
Table 5.5 Noise Flag Status Registers
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
0Ah R Noise Flag
Status --CS6_
NOISE CS5_
NOISE CS4_
NOISE CS3_
NOISE CS2_
NOISE CS1_
NOISE 00h
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 46 SMSC CAP1166
DATASHEET
5.4 Sensor Input Delta Count Registers
The Sensor Input Delta Count registers store the delta count that is compared against the threshold
used to determine if a touch has been detected. The count value represents a change in input due to
the capacitance associated with a touch on one of the sensor inputs and is referenced to a calibrated
base “Not Touched” cou nt value. The del ta is an instantaneous change and is updated once p er se nsor
input per sensing cycle (see Section 4.5.1, "Sensing 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.5).
The value is also capped at a negative value of 80h for negative delta counts which may result upon
a release.
5.5 Sensitivity Control Register
The Sensitivity Control register controls the sensitivity of a touch detection.
Bits 6-4 DELTA_SENSE[2:0] - Controls the sensitivity of a touch detection. The sensitivity settings act
to scale the relative delta count value higher or lower based on the system parameters. A setting of
000b is the most sensitive while a setting of 111b is the le ast sensitive. At the more sensitive settings,
touches are dete cted for a smaller delta capacitance corresponding to a “l ighter” touch. These settings
are more sensitive to no ise, however, and a noisy environment may flag more false touches with higher
sensitivity levels.
APPLICATION NOTE: A value of 128x is the most sensitive setting available. At the most sensitivity settings, the
MSB of the Delta Count register re presents 64 out of ~25,000 which co rresponds to a touch
of approximately 0.25% of the base capacitance (or a ΔC of 25fF from a 10pF base
Table 5.6 Sensor Input Delta Count Registers
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
10h R Sensor Input 1
Delta Count Sign 64 32 16 8 4 2 1 00h
11h R Sensor Input 2
Delta Count Sign 64 32 16 8 4 2 1 00h
12h R Sensor Input 3
Delta Count Sign 64 32 16 8 4 2 1 00h
13h R Sensor Input 4
Delta Count Sign 64 32 16 8 4 2 1 00h
14h R Sensor Input 5
Delta Count Sign 64 32 16 8 4 2 1 00h
15h R Sensor Input 6
Delta Count Sign 64 32 16 8 4 2 1 00h
Table 5.7 Sensitivity Control Register
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
1Fh R/W Sensitivity Control - DELTA_SENSE[2:0] BASE_SHIFT[3:0] 2Fh
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 47 Revision 1.32 (01-05-12)
DATASHEET
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).
Bits 3 - 0 - BASE_SHIFT[3:0] - Controls the scaling and data presentation of the Base Count registers.
The higher the value of these bits, the larger the range and the lower the resolution of the data
presented. The scale factor represents the multiplier to the bit-weighting presented in these register
descriptions.
APPLICATION NOTE: The BASE_SHIFT[3:0] bits normally do not need to be updated. These settings will not affect
touch detection o r sensitivity. These bits are sometimes h elpful in analyzing the Cap Sensing
board performance and stability.
Table 5.8 DELTA_SENSE Bit Decode
DELTA_SENSE[2:0]
SENSITIVITY MULTIPLIER210
0 0 0 128x (most sensitive)
001 64x
0 1 0 32x (default)
011 16x
100 8x
101 4x
110 2x
1 1 1 1x - (least sensitive)
Table 5.9 BASE_SHIFT Bit Decode
BASE_SHIFT[3:0] DATA SCALING
FACTOR32 1 0
00 0 0 1x
00 0 1 2x
00 1 0 4x
00 1 1 8x
01 0 0 16x
01 0 1 32x
01 1 0 64x
0 1 1 1 128x
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 48 SMSC CAP1166
DATASHEET
5.6 Configuration Registers
The Configuration registers control general global functionality that affects the entire device.
5.6.1 Configuration - 20h
Bit 7 - TIMEOUT - Enables the timeout and idle functionality of the SMBus protocol.
‘0’ (default for Fu nctional Revision C) - T he SMBus ti meout and idle functiona lity 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 200us. This is used for I2C compliance.
‘1’ (default for Functional Revision B) - The SMBus timeout and idle functional ity 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 200us.
Bit 6 - WAKE_CFG - Configures the operation of the WAKE pin.
‘0’ (default) - The WAKE pin is not asserted when a touch is detected while the device is in St andby.
It will still be used to wake the device from Deep Sleep when driven high.
‘1’ - The WAKE pin will be asserted high when a touch is detected while the device is in Standby.
It will also be used to wake the device from Deep Sleep when driven high.
Bit 5 - DIS_DIG_NOISE - Determines whether the digital noise threshold (see Section 5.19, "Sensor
Input Noise Threshold Register") is used by the device. Setting this bit disables the feature.
‘0’ - The digital noise thresh old is use d. If a delta cou nt value excee ds the noise thre shold but do es
not exceed the touch threshold, the sample is discarded and not used for the automatic re-
calibration routine.
‘1’ (default) - The noise threshol d is disabled. Any delta count that is less than the touch threshold
is used for the automatic re-calibration routine.
1 0 0 0 256x
All others 256x
(default = 1111b)
Table 5.10 Configuration Registers
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
20h R/W Configuration TIMEOUT WAKE_
CFG DIS_ DIG_
NOISE DIS_ ANA_
NOISE MAX_
DUR_EN --- A0h
(rev B)
20h
(rev C)
44h R/W Configuration 2 INV_LINK_
TRAN ALT_
POL BLK_PWR_
CTRL BLK_POL_
MIR SHOW_
RF_
NOISE
DIS_
RF_
NOISE -INT_
REL_n 40h
Table 5.9 BASE_SHIFT Bit Decode (continued)
BASE_SHIFT[3:0] DATA SCALING
FACTOR32 1 0
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 49 Revision 1.32 (01-05-12)
DATASHEET
Bit 4 - DIS_ANA_NOISE - Determines whether the analog noise filter is enabled. Setting this bit
disables the feature.
‘0’ (default) - If low frequency noise is detected by the analog block, the delta count on the
corresponding channel is set to 0. Note that this does not require that Noise Status bits be set.
‘1’ - A touch is not blocked even if low frequency noise is detected.
Bit 3 - MAX_DUR_EN - Determines whether the maximum duration recalibration is enabled.
‘0’ (default) - The maximum duration recalibration functionality is disabled. A touch may be held
indefinitely and no re-calibration will be performed on any sensor input.
‘1’ - The maximum duration recalibration functional ity is enabled. If a touch is held for longer than
the MAX_DUR bit settings, then the re-calibration routine will be restarted (see Section 5.8).
5.6.2 Configuration 2 - 44h
Bit 7 - INV_LINK_TRAN - Determines the behavior of the Linked LED Transition controls (see
Section 5.29).
‘0’ (default) - The Linked LED Transition controls set the min duty cycle equal to the max duty cycle.
‘1’ - The Linked LED Transition controls will invert the touch signal. For example, a touch signal
will be inverted to a non-touched signal.
Bit 6 - ALT_POL - Determines the ALERT# pin polarity and behavior.
‘0’ - The ALERT# pin is active high and push-pull.
‘1’ (default) - The ALERT# pin is active low and open drain.
Bit 5 - BLK_PWR_CTRL - Dete rmines whether the de vice will redu ce power consumption while waiting
between conversion time completion and the end of the polling cycle.
‘0’ (default) - The device will always power d own as much as possibl e during the time between the
end of the last conversion and the end of the polling cycle.
‘1’ - The device will not power down the Cap Sensor during the time between the end of the last
conversion and the end of the polling cycle.
Bit 4 - BLK_POL_MIR - Determin es whether the LED Mirror Control register bits are linked to the LED
Polarity bits. Setting this bit blocks the normal behavior which is to automatically set and clear the LED
Mirror Control bits when the LED Polarity bits are set or cleared.
‘0’ (default) - When the LED Polarity controls are set, the corresponding LED Mirror control is
automatically set. Likewise, when the LED Polarity controls are cleared, the corresponding LED
Mirror control is also cleared.
‘1’ - When the LED Polarity controls are set, the corresponding LED Mirror control is not
automatically set.
Bit 3 - SHOW_RF_NOISE - Determines whether the Noise Status bits will show RF Noise as the only
input source.
‘0’ (default) - The Noise Status registers will show both RF noise and low frequency EMI noise if
either is detected on a capacitive touch sensor input.
‘1’ - The Noise S tatus registers will only show RF noise if it is detected on a capacitive touch sensor
input. EMI noise will stil l be d etected a nd tou ches will be blocke d n ormally; howeve r, the status bits
will not be updated.
Bit 2 - DIS_RF_NOISE - Determines whether the RF noise filter is enabled. Setting this bit disables
the feature.
‘0’ (default) - If RF noise is detected by the analog block, the delta count on the corresponding
channel is set to 0. Note that this does not require that Noise Status bits be set.
‘1’ - A touch is not blocked even if RF noise is detected.
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 50 SMSC CAP1166
DATASHEET
Bit 0 - INT_REL_n - Controls the interrupt behavior when a release is detected on a button.
‘0’ (default) - An interrupt is generated when a press is detected and again when a release is
detected and at the repeat rate (if enabled - see Section 5.13).
‘1’ - An interrupt is generated when a press is detected and at the repeat rate but not when a
release is detected.
5.7 Sensor Input Enable Registers
The Sensor Input 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 sensor inputs
measured.
Bit 5 - CS6_EN - Enables the CS6 input to be included during the sampling cycle.
‘0’ - The CS6 input is not included in the sampling cycle.
‘1’ (default) - The CS6 input is included in the sampling cycle.
Bit 4 - CS5_EN - Enables the CS5 input to be included during the sampling cycle.
Bit 3 - CS4_EN - Enables the CS4 input to be included during the sampling cycle.
Bit 2 - CS3_EN - Enables the CS3 input to be included during the sampling cycle.
Bit 1 - CS2_EN - Enables the CS2 input to be included during the sampling cycle.
Bit 0 - CS1_EN - Enables the CS1 input to be included during the sampling cycle.
5.8 Sensor Input Configuration Register
The Sensor Input Config uration Register controls timi ngs associated with the Capacitive sensor inputs
1 - 6.
Bits 7 - 4 - MAX_DUR[3:0] - (default 1010b) - Determines the maximum time that a sensor pad is
allowed to be touched until the capacitive touch sensor input is recalibrated, as shown in Table 5.13.
Table 5.11 Sensor Input Enable Registers
ADDRR/WREGISTERB7 B6B5B4B3B2B1B0DEFAULT
21h R/W Sensor Input
Enable - - CS6_EN CS5_EN CS4_EN CS3_EN CS2_EN CS1_EN 3Fh
Table 5.12 Sensor Input Configuration Register
ADDRR/W REGISTER B7 B6B5B4B3B2B1B0DEFAULT
22h R/W Sensor Input
Configuration MAX_DUR[3:0] RPT_RATE[3:0] A4h
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 51 Revision 1.32 (01-05-12)
DATASHEET
Bits 3 - 0 - RPT_RATE[3:0] - (default 0 100 b) Dete rmines the time d uration be twe en interrupt a sserti ons
when auto repeat is enabled. The resolution is 35ms the range is from 35ms to 560ms as shown in
Table 5.14.
Table 5.13 MAX_DUR Bit Decode
MAX_DUR[3:0]
TIME BEFORE RECALIBRATION32 1 0
0 0 0 0 560ms
0 0 0 1 840ms
0 0 1 0 1120ms
0 0 1 1 1400ms
0 1 0 0 1680ms
0 1 0 1 2240ms
0 1 1 0 2800ms
1 1 1 3360ms
1 0 0 0 3920ms
1 0 0 1 4480ms
1 0 1 0 5600ms (default)
1 0 1 1 6720ms
1 1 0 0 7840ms
1 1 0 1 8906ms
1 1 1 0 10080ms
1 1 1 1 11200ms
Table 5.14 RPT_RATE Bit Decode
RPT_RATE[3:0]
INTERRUPT REPEAT RATE3210
0000 35ms
0001 70ms
0 0 1 0 105ms
0 0 1 1 140ms
0 1 0 0 175ms (default)
0 1 0 1 210ms
0 1 1 0 245ms
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 52 SMSC CAP1166
DATASHEET
5.9 Sensor Input Configuration 2 Register
Bits 3 - 0 - M_PRESS[3:0] - (default 0111b) - Determines the minimum amount of time that sensor
inputs configured to use auto repeat must detect a sensor pad touch to detect a “press and hold” eve nt.
If the sensor input detects a touch for longer than the M_PRESS[3:0] settings, a “press and hold” event
is detected. If a sensor input detects a touch for less than or equal to the M_PRESS[3:0] settings, a
touch event is detected.
The resolution is 35ms the range is from 35ms to 560ms as shown in Table 5.16.
0 1 1 1 280ms
1 0 0 0 315ms
1 0 0 1 350ms
1 0 1 0 385ms
1 0 1 1 420ms
1 1 0 0 455ms
1 1 0 1 490ms
1 1 1 0 525ms
1 1 1 1 560ms
Table 5. 15 Sensor Input Configuration 2 Register
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
23h R/W Sensor Input
Configuration 2 - - - - M_PRESS[3:0] 07h
Table 5.16 M_PRESS Bit Decode
M_PRESS[3:0]
M_PRESS SETTINGS3210
0000 35ms
0001 70ms
0 0 1 0 105ms
0 0 1 1 140ms
0 1 0 0 175ms
0 1 0 1 210ms
Table 5.14 RPT_RATE Bit Decode (continued)
RPT_RATE[3:0]
INTERRUPT REPEAT RATE3210
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 53 Revision 1.32 (01-05-12)
DATASHEET
5.10 Averaging and Sampling Configuration Register
The Averaging and Sampling Config uration register controls the number of samples taken and th e total
sensor input cycle time for all active sensor inputs while the device is functioning in Active state.
Bits 6 - 4 - AVG[2:0] - Determines the number of sample s that are taken for all active channe ls during
the sensor cycle as shown in Table 5.18. All samples are taken consecutively on the same channel
before the next cha nnel is sampled and the resul t is averaged over the number of samples measured
before updating the measured results.
For example, if CS1, CS2, and CS3 are sampled during the sensor cycle, and the AVG[2:0] bits are
set to take 4 samples per channel, the n the full sensor cycle will be: C S1, CS1, CS1, CS1, CS2, CS2,
CS2, CS2, CS3, CS3, CS3, CS3.
0 1 1 0 245ms
0 1 1 1 280ms (default)
1 0 0 0 315ms
1 0 0 1 350ms
1 0 1 0 385ms
1 0 1 1 420ms
1 1 0 0 455ms
1 1 0 1 490ms
1 1 1 0 525ms
1 1 1 1 560ms
Table 5.17 Averaging and Sampling Configuration Register
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
24h R/W Averaging and
Sampling
Config AVG[2:0] SAMP_TIME[1:0] CYCLE_TIME
[1:0] 39h
Table 5.18 AVG Bit Decode
AVG[2:0] NUMBER OF SAMPLES TAKEN
PER MEASUREMENT210
000 1
001 2
Table 5.16 M_PRESS Bit Decode (continued)
M_PRESS[3:0]
M_PRESS SETTINGS3210
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 54 SMSC CAP1166
DATASHEET
Bits 3 - 2 - SAMP_TIME[1:0] - Determines the time to take a single sample as shown in Table 5.19.
Bits 1 - 0 - CYCLE_TIME[1:0] - Determines the overall cycle time for all measured channels during
normal operation as shown in Table 5.20. All measured channels are sampled at the beginning of the
cycle time. If additional time is remaining, then the device is placed into a lower power state for the
remaining duration of the cycle.
APPLICATION NOTE: The programmed cycle time is only maintained if the total averaging time for all samples is
less than the programmed cycle. The AVG[2:0] bits will take priority so that if more samples
are required than would normally be allowed during the cycle time, the cycle time will be
extended as necessary to accommodate the number of samples to be measured.
010 4
0 1 1 8 (default)
100 16
101 32
110 64
1 1 1 128
Table 5.19 SAMP_TIME Bit Decode
SAMP_TIME[1:0]
SAMPLE TIME10
0 0 320us
0 1 640us
1 0 1.28ms (default)
1 1 2.56ms
Table 5.20 CYCLE_TIME Bit Decode
CYCLE_TIME[1:0]
OVERALL CYCLE TIME10
00 35ms
0 1 70ms (default)
1 0 105ms
1 1 140ms
Table 5.18 AVG Bit Decode (continued)
AVG[2:0] NUMBER OF SAMPLES TAKEN
PER MEASUREMENT210
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 55 Revision 1.32 (01-05-12)
DATASHEET
5.11 Calibration Activate Register
The Calibration Activate register forces the respective sensor inputs to be re-calibrated affecting both
the analog and digital blocks. During the re-calibration routine, the sensor inputs will not detect a press
for up to 600ms and the Sensor Input Base Count register values will be invalid. Duri ng this time, any
press on the corresponding sensor pads will invalidate the re-calib ration. When finished, the CALX[9 :0]
bits will be updated (see Section 5.39).
When the corresponding bit is set, the device will perform the calibration and the bit will be
automatically cleared once the re-calibration routine has finished.
Bit 5 - CS6_CAL - When set, the CS6 input is re-calibrated. This bit is automatically cleared once the
sensor input has been re-calibrated successfully.
Bit 4 - CS5_CAL - When set, the CS5 input is re-calibrated. This bit is automatically cleared once the
sensor input has been re-calibrated successfully.
Bit 3 - CS4_CAL - When set, the CS4 input is re-calibrated. This bit is automatically cleared once the
sensor input has been re-calibrated successfully.
Bit 2 - CS3_CAL - When set, the CS3 input is re-calibrated. This bit is automatically cleared once the
sensor input has been re-calibrated successfully.
Bit 1 - CS2_CAL - When set, the CS2 input is re-calibrated. This bit is automatically cleared once the
sensor input has been re-calibrated successfully.
Bit 0 - CS1_CAL - When set, the CS1 input is re-calibrated. This bit is automatically cleared once the
sensor input has been re-calibrated successfully.
5.12 Interrupt Enable Register
The Interrupt Enable register determines whether a sensor pad touch or release (if enabled) causes
the interrupt pin to be asserted.
Bit 5 - CS6_INT_EN - Enables the interrupt pin to be asserted if a touch is detected on CS6
(associated with the CS6 status bit).
‘0’ - The interrupt pin will not be asserted if a to uch is detected on CS6 (associated with the CS6
status bit).
‘1’ (default) - The interrupt pin will be asserted if a touch is detected on CS6 (associated with the
CS6 status bit).
Table 5.21 Calibration Activate Register
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
26h R/W Calibration
Activate --
CS6_
CAL CS5_
CAL CS4_
CAL CS3_
CAL CS2_
CAL CS1_
CAL 00h
Table 5.22 Interrupt Enable Register
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
27h R/W Interrupt
Enable --
CS6_
INT_EN CS5_
INT_EN CS4_
INT_EN CS3_
INT_EN CS2_
INT_EN CS1_
INT_EN 3Fh
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 56 SMSC CAP1166
DATASHEET
Bit 4 - CS5_INT_EN - Enables the interrupt pin to be asserted if a touch is detected on CS5
(associated with the CS5 status bit).
Bit 3 - CS4_INT_EN - Enables the interrupt pin to be asserted if a touch is detected on CS4
(associated with the CS4 status bit).
Bit 2 - CS3_INT_EN - Enables the interrupt pin to be asserted if a touch is detected on CS3
(associated with the CS3 status bit).
Bit 1 - CS2_INT_EN - Enables the interrupt pin to be asserted if a touch is detected on CS2
(associated with the CS2 status bit).
Bit 0 - CS1_INT_EN - Enables the interrupt pin to be asserted if a touch is detected on CS1
(associated with the CS1 status bit).
5.13 Repeat Rate Enable Register
The Repeat Rate Enable register enables the repeat rate of the sensor inputs as described in
Section 4.6.1.
Bit 5 - CS6_RPT_EN - Enables the repeat rate for capacitive touch sensor input 6.
‘0’ - The repeat rate for CS6 is d isabled. It will only generate an interrupt when a touch is detected
and when a release is detected no matter how long the touch is held for.
‘1’ (default) - The repeat rate for CS6 is ena bled. In the case of a “touch” event, it will ge nerate an
interrupt when a touch is detected and a release is detected (as determined by the INT_REL_n bit
- see Section 5.6). In the case of a “press and hold” event, it will generate an interrupt when a
touch is detected and at the repeat rate so long as the touch is held.
Bit 4 - CS5_RPT_EN - Enables the repeat rate for capacitive touch sensor input 5.
Bit 3 - CS4_RPT_EN - Enables the repeat rate for capacitive touch sensor input 4.
Bit 2 - CS3_RPT_EN - Enables the repeat rate for capacitive touch sensor input 3.
Bit 1 - CS2_RPT_EN - Enables the repeat rate for capacitive touch sensor input 2.
Bit 0 - CS1_RPT_EN - Enables the repeat rate for capacitive touch sensor input 1.
5.14 Multiple Touch Configuration Register
Table 5.23 Repeat Rate Enable Register
ADDRR/WREGISTERB7B6B5B4B3B2B1B0DEFAULT
28h R/W Repeat Rate
Enable --
CS6_
RPT_EN CS5_
RPT_EN CS4_
RPT_EN CS3_
RPT_EN CS2_
RPT_EN CS1_
RPT_EN 3Fh
Table 5.24 Multiple Touch Configuration
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
2Ah R/W Multiple Touch
Config MULT_
BLK_
EN - - - B_MULT_T[1:0] - - 80h
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 57 Revision 1.32 (01-05-12)
DATASHEET
The Multiple To uch Configuration register controls th e settings for the multiple t ouch detection circuitry.
These settings determine the number of simultaneous buttons that may be pressed before additional
buttons are blocked and the MULT status bit is set.
Bit 7 - MULT_BLK_EN - Enables the multiple button blocking circuitry.
‘0’ - The multiple touch circuitry is disabled. The device will not block multiple touches.
‘1’ (default) - The multiple touch circuitry is enabled. The device will flag the number of touches
equal to programme d multiple touch threshold and block all others. It will remembe r which sensor
inputs are valid and block all others until that sensor pad has been released. Once a sensor pad
has been released, the N detected touches (determined via the cycle order of CS1 - CS6) will be
flagged and all others blocked.
Bits 3 - 2 - B_MULT_T[1:0] - Determines the number of simultaneous touches on all sensor pads
before a Multiple Touch Event is detected and sensor inputs are blocked. The bit decode is given by
Table 5.25.
5.15 Multiple Touch Pattern Configuration Register
The Multiple Touch Pattern Configuration register controls the settings for the multiple touch pattern
detection circuitry. This circuitry works like the multiple touch detection circuitry with the following
differences:
1. The detection threshold is a percentage of the touch detection threshold as defined by the
MTP_TH[1:0] bits whereas the multiple touch circuitry uses the touch detection threshold.
2. The MTP detection circuitry either will detect a specific pattern of sensor inputs as determined by
the Multiple To uch Pattern register settings or it will use the Multiple Touch Pattern register settings
to determine a minimum number of sensor inputs that will cause the MTP circuitry to flag an event.
When using pattern recognition mode, if all of the sensor inputs set by the Multiple Touch Pattern
register have a delta count greater than the MTP thresh old or have their corresponding Noise Flag
Status bits set, the MTP bit will be set. When using the absolute number mode, if the number of
sensor inputs with thresholds above the MTP threshold or with Noise Flag Status bits set is equal
to or greater than this number, the MTP bit will be set.
3. When an MTP event occurs, all touches are blocked and an interrupt is generated.
Table 5.25 B_MULT_T Bit Decode
B_MULT_T[1:0]
NUMBER OF SIMULTANEOUS TOUCHES10
0 0 1 (default)
01 2
10 3
11 4
Table 5.26 Multiple Touch Pattern Configuration
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
2Bh R/W Multiple Touch
Pattern Config MTP_ EN - - MTP_TH[1:0] COMP_
PTRN MTP_
ALERT 00h
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 58 SMSC CAP1166
DATASHEET
4. All sensor inputs will remain blocked so long as the requisite number of sensor inputs are above
the MTP threshold or have Noise Flag Status bits set. Once this condition is removed, touch
detection will be restored. Note that the MTP status bit is only cleared by writing a ‘0’ to the INT
bit once the condition has been removed.
Bit 7 - MTP_EN - Enables the multiple touch pattern detection circuitry.
‘0’ (default) - The MTP detection circuitry is disabled.
‘1’ - The MTP detection circuitry is enabled.
Bits 3-2 - MTP_TH[1:0] - Determine the MTP threshold, as shown in Table 5.27. This threshold is a
percentage of sensor input threshold (see Section 5.18, "Sensor Input Threshold Re gisters") when the
device is in the Fully Active state or of the standby threshold (see Section 5.23, "Standby Threshold
Register") when the device is in the Standby state.
Bit 1 - COMP_PTRN - Determines whether the MTP detection circuitry will use the Multiple Touch
Pattern register as a specific pattern of sensor inputs or as an absolute number of sensor inputs.
‘0’ (default) - The MTP detection circuitry will use the Multiple Touch Pattern register bit settings as
an absolute minimum number of sensor inputs that must be above the threshold or have Noise
Flag Status bits set. The number will be equal to the number of bits set in the register.
‘1’ - The MTP detection circuitry will use pattern recognition. Each bit set in the Multiple Touch
Pattern register indicates a specific sensor input tha t must have a delta count greater than the MTP
threshold or have a Noise Flag Status bit set. If the criteria are met, the MTP status bit will be set.
Bit 0 - MTP_ALERT - Enables an interrupt if an MTP event occurs. In either condition, the MTP status
bit will be set.
‘0’ (default) - If an MTP event occurs, the ALERT# pin is not asserted.
‘1’ - If an MTP event occurs, the ALERT# pin will be asserted.
5.16 Multiple Touch Pattern Register
The Multiple Touch Pattern register acts as a pattern to identify an expected sensor input profile for
diagnostics or other significant events. There are two methods for how the Multiple Touch Pattern
Table 5.27 MTP_TH Bit Decode
MTP_TH[1:0]
THRESHOLD DIVIDE SETTING10
0 0 12.5% (default)
0125%
1 0 37.5%
1 1 100%
Table 5.28 Multiple Touch Pattern Register
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
2Dh R/W Multiple
Touch
Pattern --
CS6_
PTRN CS5_
PTRN CS4_
PTRN CS3_
PTRN CS2_
PTRN CS1_
PTRN 3Fh
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 59 Revision 1.32 (01-05-12)
DATASHEET
register is used: as specific sensor inputs or number of sensor input that must exceed the MTP
threshold or have Noise Flag Status bits set. Which method is used is based on the COMP_PTRN bit
(see Section 5.15). The methods are described below.
1. Specific Sensor Inputs: If, during a single polling cycle, the specific sensor inputs above the MTP
threshold or with Noise Flag Status bits set match those bits set in the Multiple Touch Pattern
register, an MTP event is flagged.
2. Number of Sensor Inputs: If, during a single polling cycle, the number of sensor inputs with a delta
count above the MTP threshold or with Noise Flag Status bits set is equal to or greater than the
number of pattern bits set, an MTP event is flagged.
Bit 5 - CS6_PTRN - Determines whether CS6 is considered as part of the Multiple Touch Pattern.
‘0’ - CS6 is not considered a part of the pattern.
‘1’ - CS6 is considered a part of the pattern or the absolute number of senso r inputs that must have
a delta count greater than the MT P threshold or have the No ise Flag Status bit set is increase d by
1.
Bit 4 - CS5_PTRN - Determines whether CS5 is considered as part of the Multiple Touch Pattern.
Bit 3 - CS4_PTRN - Determines whether CS4 is considered as part of the Multiple Touch Pattern.
Bit 2 - CS3_PTRN - Determines whether CS3 is considered as part of the Multiple Touch Pattern.
Bit 1 - CS2_PTRN - Determines whether CS2 is considered as part of the Multiple Touch Pattern.
Bit 0 - CS1_PTRN - Determines whether CS1 is considered as part of the Multiple Touch Pattern.
5.17 Recalibration Configuration Register
The Recalibration Configuration register controls the automatic re-calibration routine settings as well
as advanced controls to program the Sensor Input Threshold register settings.
Bit 7 - BUT_LD_TH - Enables setting all Sensor Input Threshold registers by writing to the Sensor
Input 1 Threshold register.
‘0’ - Each Sensor Input X Threshold register is updated individually.
‘1’ (default) - Writing the Sensor Input 1 Threshol d register will automatically overwrite the Se nsor
Input Threshold registers for all sensor inputs (Sensor Input Threshold 1 through Sensor Input
Threshold 6). The indi vidua l Sensor Input X Threshold registers (Sensor Input 2 T hreshold through
Sensor Input 6 Threshold) can be individually updated at any time.
Bit 6 - NO_CLR_INTD - Controls whether the accumulati on of intermediate data is cleared if the noise
status bit is set.
‘0’ (default) - The accumulation of intermediate data is cleared if the noise status bit is set.
‘1’ - The accumulation of intermediate data is not cleared if the noise status bit is set.
APPLICATION NOTE: Bits 5 and 6 should both be set to the same value. Either both should be set to ‘0’ or both
should be set to ‘1’.
Table 5.29 Recalibratio n Co nfiguration Regist e r s
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
2Fh R/W Recalibration
Configuration BUT_
LD_TH NO_
CLR_
INTD
NO_
CLR_
NEG NEG_DELTA_
CNT[1:0] CAL_CFG[2:0] 8Ah
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 60 SMSC CAP1166
DATASHEET
Bit 5 - NO_CLR_NEG - Controls whether the consecutive negative delta counts counter is cleared if
the noise status bit is set.
‘0’ (default) - The consecutive negative delta counts counter is cleared if the noise status bit is set.
‘1’ - The consecutive negative delta counts counter is not cleared if the noise status bit is set.
Bits 4 - 3 - NEG_DELTA_CNT[1:0] - Determines the number of negative delta counts necessary to
trigger a digital re-calibration as shown in Table 5.30.
Bits 2 - 0 - CAL_CFG[2:0] - Determines the update time and number of samples of the automatic re-
calibration routine. The settings apply to all sensor inputs universally (though individual sensor inputs
can be configured to support re-calibration - see Section 5.11).
Note 5.1 Recalibration Samples refers to the number of samples that are measured and averaged
before the Base Count is u pdate d ho wever does not con trol the base count upda te period.
Note 5.2 Update Time refers to the amount of time (i n polling cycle periods) that elapses before the
Base Count is updated. The time will depend upon the number of channels active, the
averaging setting, and the programmed cycle time.
Table 5.30 NEG_DELTA_CNT Bit Decode
NEG_DELTA_CNT[1:0] NUMBER OF CONSECUTIVE NEGATIVE DELTA
COUNT VALUES10
00 8
0 1 16 (default)
10 32
1 1 None (disabled)
Table 5.31 CAL_CFG Bit Decode
CAL_CFG[2:0] RECALIBRATION
SAMPLES (SEE
Note 5.1) UPDATE TIME (SEE
Note 5.2)210
0 0 0 16 16
001 32 32
0 1 0 64 64 (default)
0 1 1 128 128
100 256 256
1 0 1 256 1024
1 1 0 256 2048
1 1 1 256 4096
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 61 Revision 1.32 (01-05-12)
DATASHEET
5.18 Sensor Input Threshold Registers
The Sensor Input 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 pad changes due
to the capacitance associated with a touch. If the sensor input change excee ds the threshold settings,
a touch is detected.
When the BUT_LD_TH bit is set (see Section 5.17 - bit 7), w riting data to the Sensor Inpu t 1 Thresho ld
register will update all of the sensor input threshold registers (31h - 35h inclusive).
5.19 Sensor Input Noise Threshold Register
The Sensor Input Noise Threshold register controls the value of a secondary internal threshold to
detect noise and improve the auto matic recalibration routine . If a capacitive touch sensor inpu t exceeds
the Sensor Input Noise Threshold but does not exceed the sensor input threshold, it is determined to
be caused by a noise spike. That sample is not used by the automatic re-calibration routine. This
feature can be disabled by setting the DIS_DIG_NOISE bit.
Bits 1-0 - CS1_BN_TH[1:0] - Controls the noise threshold for all capacitive touch sensor inputs, as
shown in Table 5.34. The threshold is proportional to the threshold setting.
Table 5.32 Sensor Input Threshold Registers
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
30h R/W Sensor Input 1
Threshold -6432168421 40h
31h R/W Sensor Input 2
Threshold -6432168421 40h
32h R/W Sensor Input 3
Threshold -6432168421 40h
33h R/W Sensor Input 4
Threshold -6432168421 40h
34h R/W Sensor Input 5
Threshold -6432168421 40h
35h R/W Sensor Input 6
Threshold -6432168421 40h
Table 5.3 3 Sensor Input Noise Threshold Register
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
38h R/W Sensor Input
Noise Threshold CS_BN_TH
[1:0] 01h
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 62 SMSC CAP1166
DATASHEET
5.20 Standby Channel Register
The Standby Channel register controls which (if any) capacitive touch sensor inputs are active during
Standby.
Bit 5 - CS6_STBY - Controls whether the CS6 channel is active in Standby.
‘0’ (default) - The CS6 channel not be sampled during Standby mode.
‘1’ - The CS6 channel will be sampled during Standby Mode. It will use the Standby threshold
setting, and the standby averaging and sensitivity settings.
Bit 4 - CS5_STBY - Controls whether the CS5 channel is active in Standby.
Bit 3 - CS4_STBY - Controls whether the CS4 channel is active in Standby.
Bit 2 - CS3_STBY - Controls whether the CS3 channel is active in Standby.
Bit 1 - CS2_STBY - Controls whether the CS2 channel is active in Standby.
Bit 0 - CS1_STBY - Controls whether the CS1 channel is active in Standby.
5.21 Standby Configuration Register
The Standby Configuration register controls averaging and cycle time for those sensor inputs that are
active in Standby. This register is useful for det ecting proximity on a small number of sensor inputs as
Table 5.34 CSx_BN_TH Bit Decode
CS_BN_TH[1:0]
PERCENT THRESHOLD SETTING10
0025%
0 1 37.5% (default)
1050%
1 1 62.5%
Table 5.35 Standby Channel Register
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
40h R/W Standby
Channel --
CS6_
STBY CS5_
STBY CS4_
STBY CS3_
STBY CS2_
STBY CS1_
STBY 00h
Table 5.36 Standby Configuration Register
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
41h R/W Standby
Configuration AVG_
SUM STBY_AVG[2:0] STBY_SAMP_
TIME[1:0] STBY_CY_TIME
[1:0] 39h
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 63 Revision 1.32 (01-05-12)
DATASHEET
it allows the user to change averaging and sample times on a limited number of sensor inputs and still
maintain normal functionality in the fully active state.
Bit 7 - AVG_SUM - Determines whether the active sensor i nputs will average the p rogrammed number
of samples or whether they will accumulate for the programmed number of samples.
‘0’ - (default) - The active sensor input delta count values will be based on the average of the
programmed number of samples when compared against the threshold.
‘1’ - The active sensor input delta count values will be based on the summation of the programmed
number of samples when compared against the threshold. This bit should only be set when
performing proximity detection as a physical touch will overflow the delta count registers and may
result in false readings.
Bits 6 - 4 - STBY_AVG[2:0] - Determines the number of samples that are taken for all active channels
during the sensor cycle as shown in Table 5.37. All samples are taken consecutively on the same
channel before the next channel is sampled and the result is averaged over the number of samples
measured before updating the measured results.
Bit 3-2 - STBY SAMP_TIME[1:0] - Determines the time to take a single sample when the device is in
Standby as shown in Table 5.38.
Bits 1 - 0 - STBY_CY_TIME[2:0] - Determines the overall cycle time for all measured channels during
standby operation as shown in Table 5.39. All measured channels are samp led at the beginning of the
Table 5.3 7 STBY_AVG Bit Decode
STBY_AVG[2:0] NUMBER OF SAMPLES TAKEN
PER MEASUREMENT210
000 1
001 2
010 4
0 1 1 8 (default)
100 16
101 32
110 64
1 1 1 128
Table 5.38 STBY_SAMP_TIME Bit Decode
STBY_SAMP_TIME[1:0]
SAMPLING TIME10
0 0 320us
0 1 640us
1 0 1.28ms (default)
1 1 2.56ms
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 64 SMSC CAP1166
DATASHEET
cycle time. If additional time is remaining, the device is placed into a lower power state for the
remaining duration of the cycle.
APPLICATION NOTE: The programmed cycle time is only maintained if the total averaging time for all samples is
less than the programmed cycle. The STBY_AVG[2:0] bits will take priority so that if more
samples are required than would normally be allowed during the cycle time, the cycle time
will be extended as necessary to accommodate the number of samples to be measured.
5.22 Standby Sensitivity Register
The Standby Sensitivity register controls the sensitivity for sensor inputs that are active in Standby.
Bits 2 - 0 - STBY_SENSE[2:0] - Controls the sensitivity for sensor inputs that are active in Standby.
The sensitivity settings act to scale the relative delta count value higher or lower based on the system
parameters. A setting of 000b is the most sensitive while a setting of 111b is the least sensitive. 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.
APPLICATION NOTE: A value of 128x is the most sensitive setting available. At the most sensitivity settings, the
MSB of the Delta Count register re presents 64 out of ~25,000 which co rresponds 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.39 STBY_CY_TIME Bit Decode
STBY_CY_TIME[1:0]
OVERALL CYCLE TIME10
00 35ms
0 1 70ms (default)
1 0 105ms
1 1 140ms
Table 5.4 0 Standby Sensitivity Register
ADDRR/WREGISTER B7 B6B5B4B3B2B1B0DEFAULT
42h R/W Standby
Sensitivity - - - - - STBY_SENSE[2:0] 02h
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 65 Revision 1.32 (01-05-12)
DATASHEET
5.23 Standby Threshold Register
The Standby Threshold register stores the delta threshol d that is used to dete rmine if a touch h as been
detected. When a touch occurs, the input signal of the corresponding sensor pad changes due to the
capacitance associated with a touch. If the sensor input change exceeds the threshold settings, a
touch is detected.
5.24 Sensor Input Base Count Registers
Table 5.41 STBY_SENSE Bit Decode
STBY_SENSE[2:0]
SENSITIVITY MULTIPLIER210
0 0 0 128x (most sensitive)
001 64x
0 1 0 32x (default)
011 16x
100 8x
101 4x
110 2x
1 1 1 1x - (least sensitive)
Table 5.42 Standby Threshold R egister
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
43h R/W Standby
Threshold -6432168421 40h
Table 5. 43 Sensor Input Base Count Registers
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
50h R Sensor Input 1
Base Count 128 64 32 16 8 4 2 1 C8h
51h R Sensor Input 2
Base Count 128 64 32 16 8 4 2 1 C8h
52h R Sensor Input 3
Base Count 128 64 32 16 8 4 2 1 C8h
53h R Sensor Input 4
Base Count 128 64 32 16 8 4 2 1 C8h
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 66 SMSC CAP1166
DATASHEET
The Sensor Input 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 Input Base Count. The internal adder is then reset and the re-calibration routine
continues.
The data presented is determined by the BASE_SHIFT[3:0] bits (see Section 5.5).
5.25 LED Output Type Register
The LED Output Type register controls the type of output for the LED pins. Each pin is controlled by
a single bit. Refer to application note 21.4 CAP1188 Family LED Configuration Options for more
information about implementing LEDs.
Bit 5 - LED6_OT - Determines the output type of the LED6 pin.
‘0’ (default) - The LED6 pin is an open-drain output with an external pull-up resistor. When the
appropriate pin is set to the “active” state (logic ‘1’), 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.
‘1’ - The LED6 pin is a push-pull output. When driving a logic ‘1’, the pin is driven high. When
driving a logic ‘0’, the pin is driven low.
Bit 4 - LED5_OT - Determines the output type of the LED5 pin.
Bit 3 - LED4_OT - Determines the output type of the LED4 pin.
Bit 2 - LED3_OT - Determines the output type of the LED3 pin.
Bit 1 - LED2_OT - Determines the output type of the LED2 pin.
Bit 0 - LED1_OT - Determines the output type of the LED1 pin.
54h R Sensor Input 5
Base Count 128 64 32 16 8 4 2 1 C8h
55h R Sensor Input 6
Base Count 128 64 32 16 8 4 2 1 C8h
Table 5.44 LED Output Type Register
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
71h R/W LED Output
Type --
LED6_
OT LED5_
OT LED4_
OT LED3_
OT LED2_
OT LED1_
OT 00h
Table 5.43 Sensor Input Base Count Registers (continued)
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 67 Revision 1.32 (01-05-12)
DATASHEET
5.26 Sensor Input LED Linking Register
The Sensor Input LED L inking register controls whet her a capacitive touch sensor input is lin ked to an
LED output. If the correspondi ng bit is set, then the appropriate LED output will cha nge states defined
by the LED Behavior controls (see Section 5.31) in response to the capacitive touch sensor input.
Bit 5 - CS6_LED6 - Links the LED6 o utput to a detected touch on the CS6 sensor in put. When a touch
is detected, the LED is actuated and will behave as determined by the LED Behavior controls.
‘0’ (default) - The LED6 output is not associated with the CS6 input. If a touch is detected on the
CS6 input, the LED will not automatically be actuated. The LED is enabled and controlled via the
LED Output Control regi ster (see Section 5.28) and the LED Behavior registers (see Section 5.31).
‘1’ - The LED6 output is associated with the CS6 input. If a touch is detected on the CS6 input,
the LED will be actuated and behave as defined in Table 5.52.
Bit 4 - CS5_LED5 - Links the LED5 o utput to a detected touch on the CS5 sensor in put. When a touch
is detected, the LED is actuated and will behave as determined by the LED Behavior controls.
Bit 3 - CS4_LED4 - Links the LED4 o utput to a detected touch on the CS4 sensor in put. 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 o utput to a detected touch on the CS3 sensor in put. 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 o utput to a detected touch on the CS2 sensor in put. 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 o utput to a detected touch on the CS1 sensor in put. When a touch
is detected, the LED is actuated and will behave as determined by the LED Behavior controls.
5.27 LED Polarity Register
The LED Polarity register controls the logical polarity of the LED outputs. When these bits are set or
cleared, the corresponding LED Mirror controls are also set or cleared (unless the BLK_POL_MIR bit
is set - see Section 5.6, "Configuration Registers"). Table 5.48, "LED Polarity Behavior" shows the
interaction between the polarity controls, output controls, and relative brightness.
APPLICATION NOTE: The polarity controls determine the final LED pin drive. A touch on a linked capacitive touch
sensor input is treated in the same way as the LED Output Control bit being set to a logic ‘1’.
Table 5.45 Sensor Input LED Linking Register
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
72h R/W Sensor
Input LED
Linking --
CS6_
LED6 CS5_
LED5 CS4_
LED4 CS3_
LED3 CS2_
LED2 CS1_
LED1 00h
Table 5.46 LED Polarity Register
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
73h R/W LED Polarity - - LED6_
POL LED5_
POL LED4_
POL LED3_
POL LED2_
POL LED1_
POL 00h
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 68 SMSC CAP1166
DATASHEET
APPLICATION NOTE: 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 an d that the CAP1166 LED pin is sinking the LED current.
Conversely, if the LED pin is driven to a logic ‘1’, the LED will be off and there is no current
flow. See Figure 4.1, "System Diagram for CAP1166".
APPLICATION NOTE: This application note applies when the LED polarity is inverted (LEDx_POL = ‘0’). For LED
operation, the duty cycle settings determine the % of time that the LED pin will be driven to
a logic ‘0’ state in. The Max Duty Cycle settings define the ma ximum % of time that the LED
pin will be driven low (i.e. maximum % of time that the LED is on) while the Min Duty Cycle
settings determine the minimum % of time that the LED pin will be driven low (i .e. minimum
% of time that the LED is on). When there is no touch detected or the LED Output Control
register bit is at a logic ‘0’, the LED output will be driven at the minimum duty cycle setting.
Breathe operations will ramp the duty cycle from the minimum duty cycle to the maximum
duty cycle.
APPLICATION NOTE: This application note applies when the LED polarity is non-inverted (LEDx_POL = ‘1’). For
LED operation, the duty cycle settings determine the % of time that the LED pin will be driven
to a logic ‘1’ state. The Max Duty Cycle setting s define the maximum % of time that the LED
pin will be driven hi gh (i.e. maximum % of time that the LED is off) while the Min Duty Cycle
settings determine the minimum % of time that the LED pin will be driven high (i.e. mi nimum
% of time that the LED is off). When there is no touch detected or the LED Output Control
register bit is at a logic ‘0’, the LED output will be driven at 100 minus the minimum duty
cycle setting. Breathe operations will ramp the du ty cycle from 100 minus the minimum duty
cycle to 100 minus the maximum duty cycle.
APPLICATION NOTE: The LED Mirror controls (see Section 5.30, "LED Mirror Control Register") work with the
polarity controls with respect to LED brightness but wil l not have a direct effect on the output
pin drive.
Bit 5 - LED6_POL - Determines the polarity of the LED6 output.
‘0’ (default) - The LED6 o utput is inverted. For example, a setting of ‘1’ in the LED Output Control
register will cause the LED pin output to be driven to a logic ‘0’.
‘1’ - The LED6 output is non-inverted. For example, a setting of ‘1’ in the LED Output Control
register will cause the LED pin output to be driven to a logic ‘1’ or left in the high-z state as
determined by its output type.
Bit 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.28 LED Output Control Register
The LED Output Control Register cont rols the output state of the LED pi ns that are not linke d to se nsor
inputs.
Table 5.47 LED Output Control Register
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
74h R/W LED Output
Control --
LED6_
DR LED5_
DR LED4_
DR LED3_
DR LED2_
DR LED1_
DR 00h
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 69 Revision 1.32 (01-05-12)
DATASHEET
Note: If an LED is linked to a sensor input in the Sensor Input LED Linking Register (Section 5.26,
"Sensor Input LED Linking Reg ister"), the co rresponding bit in the LED Ou tput Control Register
is ignored (i.e. a linked LED cannot be host controlled).
The LED Polarity Control Regi ster will determine the non actuated state of the LED pins. The actuated
LED behavior is determined by the LED behavior controls (see Section 5.31, "LED Behavior
Registers").
Table 5.48 shows the interaction between the polarity cont rols, ou tp ut controls, and relative brig htness.
Bit 5 - LED6_DR - Determines whether LED6 output is driven high or low.
‘0’ (default) - The LED6 output is driven at the minimum duty cycle or not actuated.
‘1’ - The LED6 output is driven at the maximum duty cycle or is actuated.
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.
Table 5.48 LED Polarity Behavior
LED
OUTPUT
CONTROL
REGISTER
OR TOUCH POLARITY MAX DUTY MIN DUTY BRIGHTNESS LED
APPEARANCE
0inverted
(‘0’) not used minimum % of
time that the L ED
is on (logic 0) maximum brightness
at min duty cycle on at min duty
cycle
1inverted
(‘0’) maximum % of
time that the LED
is on (logic 0)
minimum % of
time that the L ED
is on (logic 0)
maximum brightness
at max duty cycle.
Brightness ramps
from min duty cycle
to max duty cycle
according to
LED behavior
0non-
inverted
(‘1’) not used minimum % of
time that the L ED
is off (logic 1)
maximum brightness
at 100 minus min
duty cycle. on at 100 - min
duty cycle
1non-
inverted
(‘1’)
maximum % of
time that the LED
is off (logic 1)
minimum % of
time that the L ED
is off (logic 1)
For Direct behavior,
maximum brightness
is 100 minus max
duty cycle. When
breathing, max
brightness is 100
minus min du ty cycle.
Brightness ramps
from 100 - min duty
cycle to 100 - max
duty cycle.
according to
LED behavior
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 70 SMSC CAP1166
DATASHEET
5.29 Linked LED Transition Control Register
The Linked LED Transition Control register controls the LED drive when the LED is linked to a
capacitive touch sensor input. These controls work in conjunction with the INV_LINK_TRAN bit (see
Section 5.6.2, "Configuration 2 - 44h") to create smooth transitions from host control to linked LEDs.
Bit 5 - LED6_LTRAN - Determines the transition effect when LED6 is linked to CS6.
‘0’ (default) - When the LED output control bit for CS6 is ‘1’, and then CS6 is linked to LED6 and
no touch is detected, the LED will change states.
‘1’ - If the INV_LINK_TRAN bit i s ‘1’, when the LED output contro l bit for CS6 is ‘1’, and then CS6
is linked to LED6 and no touch is detected, the LED will not change states. In addition, the LED
state will change when th e sensor pad is touched. If the INV_LINK_TRAN bit is ‘0’, when the LED
output control bit fo r CS6 is ‘1’, and then CS6 is linked to LED6 and no touch is detected, th e LED
will not change states. However, the LED state will not change when the sensor pad is touched.
APPLICATION NOTE: If the L ED behavio r is not “D irect” and the INV_LINK_TRAN b it it ‘0’, the LED wil l n ot perform
as expected when the LED6_LTRAN bit is set to ‘1’. Therefore, if breathe and pulse
behaviors are used, set the INV_LINK_TRAN bit to ‘1’.
Bit 4 - LED5_LTRAN - Determines the transition effect when LED5 is linked to CS5.
Bit 3 - LED4_LTRAN - Determines the transition effect when LED4 is linked to CS4.
Bit 2 - LED3_LTRAN - Determines the transition effect when LED3 is linked to CS3.
Bit 1 - LED2_LTRAN - Determines the transition effect when LED2 is linked to CS2.
Bit 0 - LED1_LTRAN - Determines the transition effect when LED1 is linked to CS1.
5.30 LED Mirror Control Register
The LED Mirror Control Registers determine the meaning of duty cycle settings when polarity is non-
inverted for each LED channel. When the polarity bit is set to ‘1’ (non-inverted), to obtain correct steps
for LED ramping, pulse, and breathe behaviors, the min and max duty cycles need to be relative to
100%, rather than the default, which is relative to 0%.
APPLICATION NOTE: The LED drive assumes that the LEDs are configured such that if the LED pin is driven to
a logic ‘0’, the LED will be on and the CAP1166 LED pin is sinking the LED current. When
Table 5.49 Linked LED Transition Control Register
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
77h R/W Linked LED
Transition
Control --
LED6_
LTRAN LED5_
LTRAN LED4_
LTRAN LED3_
LTRAN LED2_
LTRAN LED1_
LTRAN 00h
Table 5.50 LED Mirror Control Register
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
79h R/W LED Mirror
Control --
LED6_
MIR _
EN
LED5_
MIR _
EN
LED4_
LMIR_
EN
LED3_
MIR_
EN
LED2_
MIR _
EN
LED1_
MIR _
EN 00h
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 71 Revision 1.32 (01-05-12)
DATASHEET
the polarity bit is set to ‘1’, it is considered non-inverted. For systems using the opposite LED
configuration, mirror controls would apply when the polarity bit is ‘0’.
These bits are changed automatically if the corresponding LED Polarity bit is changed (unless the
BLK_POL_MIR bit is set - see Section 5.6).
Bit 5 - LED6_MIR_EN - Determines whether the duty cycle settings are “biased” relative to 0% or 100%
duty cycle.
‘0’ (default) - The duty cycle settings are determined relative to 0% and are determined directly with
the settings.
‘1’ - The duty cycle settings are determined relative to 100%.
Bit 4 - LED5_MIR_EN - Determines whether the duty cycle settings are “biased” relative to 0% or 100%
duty cycle.
Bit 3 - LED4_MIR_EN - Determines whether the duty cycle settings are “biased” relative to 0% or 100%
duty cycle.
Bit 2 - LED3_MIR_EN - Determines whether the duty cycle settings are “biased” relative to 0% or 100%
duty cycle.
Bit 1 - LED2_MIR_EN - Determines whether the duty cycle settings are “biased” relative to 0% or 100%
duty cycle.
Bit 0 - LED1_MIR_EN - Determines whether the duty cycle settings are “biased” relative to 0% or 100%
duty cycle.
5.31 LED Behavior Registers
The LED Behavior registers control the operation of LEDs. Each LED pin is controlled by a 2-bit field
and the behavior is determined by whether the LED is linked to a capacitive touch sensor input or not.
If the corresponding LED output is linked to a capacitive touch sensor input, the appropriate behavior
will be enabled / disabled based on touches and releases.
If the LED output is not associated with a capacitive touch sensor input, the appropriate behavior will
be enabled / disabled by the LED Output Control register. If the respective LEDx_DR bit is set to a
logic ‘1’, this will be associated as a “touch”, and if the LEDx_DR bit is set to a logic ‘0’, this will be
associated as a “release”.
Table 5.52, "LEDx_CTL Bit Decode" shows the behavior triggers. The defined behavior will activate
when the Start Trigger is met and will stop when the Stop Trigger is met. Note the behavior of the
Breathe Hold and Pulse Release option.
The LED Polarity Control reg ister will determine the non actuated state of the LED outputs (see Section
5.27, "LED Polarity Register").
APPLICATION NOTE: If an LED is not linked to a capacitive touch sensor input and is breathing (via the Breathe
or Pulse behaviors), it must be unactuated and then re-a ctuated before chang es to behavior
are processed. For example, if the LED output is breathing and the Maximum duty cycle is
Table 5.51 LED Behavior Regi ste r s
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
81h R/W LED Behavior 1 LED4_CTL[1:0] LED3_CTL[1:0] LED2_CTL[1:0] LED1_CTL[1:0] 00h
82h R/W LED Behavior 2 - - - - LED6_CTL[1:0] LED5_CTL[1:0] 00h
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 72 SMSC CAP1166
DATASHEET
changed, this change will not take effect until the LED ou tput control register is set to ‘0’ a nd
then re-set to ‘1’.
APPLICATION NOTE: If an LED is not linked to the capacitive touch sensor input and configured to operate using
Pulse 1 Behavior, then the circuitry will only be actuated when the corresponding output
control bit is set. It will not check the bit condition until the Pulse 1 behavior is finished. The
device will not remember if the bit was cleared and reset while it was actuated.
APPLICATION NOTE: If an LED is actuated and not linked and the desired LED behavior is changed, this new
behavior will take effect immediately; however, the first instance of the changed behavior
may act incorrectly (e.g. if changed from Direct to Pulse 1, the LED output may ‘breathe’ 4
times and then end at minimum duty cycle). LED Behaviors will operate normally once the
LED has been un-actuated and then re-actuated.
APPLICATION NOTE: If an LED is actuated and it is switched from linked to a capacitive touch sensor input to
unlinked (or vice versa), the LED will respond to the new command source immediately if
the behavior was Direct or Breathe. For Pulse behaviors, it will complete the behavior
already in progress. For example, if a linked LED was actuated by a touch and the control
is changed so that it is unlinked, it will check the status of the corresponding LED Output
Control bit. If that bit is ‘0’, then the LED will behave as if a release was detected. Li kewise,
if an unlinked LED was actuated by the LED Output Control register and the control is
changed so that it is linked and no touch is detected, then the LED wi ll behave as if a rele ase
was detected.
5.31.1 LED Behavior 1 - 81h
Bits 7 - 6 - LED4_CTL[1:0] - Determines the behavior of LED4 as shown in Table 5.52.
Bits 5 - 4 - LED3_CTL[1:0] - Determines the behavior of LED3 as shown in Table 5.52.
Bits 3 - 2 - LED2_CTL[1:0] - Determines the behavior of LED2 as shown in Table 5.52.
Bits 1 - 0 - LED1_CTL[1:0] - Determines the behavior of LED1 as shown in Table 5.52.
5.31.2 LED Behavior 2 - 82h
Bits 3 - 2 - LED6_CTL[1:0] - Determines the behavior of LED6 as shown in Table 5.52.
Bits 1 - 0 - LED5_CTL[1:0] - Determines the behavior of LED5 as shown in Table 5.52.
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 73 Revision 1.32 (01-05-12)
DATASHEET
APPLICATION NOTE: The PWM frequency is determined based on the selected LED behavior, the programmed
breathe period, and the programmed min and max duty cycles. For the Direct behavior
mode, the PWM frequency is calculated based on the programmed Rise and Fall times. If
these are set at 0, then the maximum PWM frequency will be used based on the
programmed duty cycle settings.
5.32 LED Pulse 1 Period Register
The LED Pulse Period 1 register determines the overall period of a pulse operation as determined by
the LED_CTL registers (see Table 5.52 - setting 01b). The LSB represents 32ms so that a setting of
18h (24d) would represent a period of 768ms (24 x 32ms = 768ms). The total range is from 32ms to
4.064 seconds as shown in Table 5.54 with the default being 1024ms.
Table 5.52 LEDx_CTL Bit Decode
LEDX_CTL
[1:0]
OPERATION DESCRIPTION START
TRIGGER STOP
TRIGGER10
0 0 Direct The LED is driven to the programmed state
(active or inactive). See Figure 5.7 Touch Detected
or LED Output
Control bit set
Release
Detected or
LED Output
Control bit
cleared
01 Pulse 1
The LED will “Pulse” a programmed
number of times. During each “Pulse” the
LED will breathe up to the maximum
brightness and back down to the minimum
brightness so that the total “Pulse” period
matches the programmed value.
Touch or
Release
Detected or LED
Output Control
bit set or cleared
(see
Section 5.32)
n/a
1 0 Pulse 2
The LED will “Pulse” when the start trigger
is detected. When the stop trigger is
detected, it will “Pulse” a programmable
number of times then return to its minimum
brightness.
Touch Detected
or LED Output
Control bit set
Release
Detected or
LED Output
Control bit
cleared
1 1 Breathe
The LED will breathe. It wil l 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 (default 100%) and then
back down. Each ramp takes up 50% of the
programmed period. The total period of
each “breath” is determined by the LED
Breathe Period controls - see Section 5.34.
Touch Detected
or LED Output
Control bit set
Release
Detected or
LED Output
Control bit
cleared
Table 5.53 LED Pulse 1 Period Register
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
84h R/W LED Pulse
1 Period ST_
TRIG P1_
PER6 P1_
PER5 P1_
PER4 P1_
PER3 P1_
PER2 P1_
PER1 P1_
PER0 20h
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 74 SMSC CAP1166
DATASHEET
APPLICATION NOTE: Due to constraints on the LED Drive PWM operation, any Breathe Period less than 160ms
(05h) may not be achievable. The device will breathe at the minimum period possible as
determined by the period and min / max duty cycle settings.
Bit 7 - ST_TRIG - Determines the start trigger for the LED Pulse behavior.
‘0’ (default) - The LED will Pulse when a touch is detected or the drive bit is set.
‘1’ - The LED will Pulse when a release is detected or the drive bit is cleared.
The Pulse 1 operation is shown in Figure 5.1 when the LED output is configured for non-inverted
polarity (LEDx_POL = 1) and in Figure 5.2 for inverted polarity (LEDx_POL = 0).
.
Figure 5.1 Pulse 1 Behavior with Non-Inverted Polarity
Figure 5.2 Pulse 1 Behavior with Inverted Polarity
Normal – untouched
operation Normal – untouched
operation
Touch Detected or
Release Detected
(100% - Pulse 1 Max Duty Cycle) * Brightness
X pulses after touch or after release
Pulse 1 Period
(P1_PER)
(100% - Pulse 1 Min Duty Cycle) * Brightness
LED
Brightness
Normal – untouched
operation
Normal – untouched
operation
Touch Detected or
Release Detected
Pulse 1 Min Duty Cycle * Brightness
X pulses after touch or after release
Pulse Period
(P1_PER)
Pulse 1 Max Duty Cycle * Brightness
LED
Brightness
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 75 Revision 1.32 (01-05-12)
DATASHEET
5.33 LED Pulse 2 Period Register
The LED Pulse 2 Period register determines the overall period of a pulse operation as determined by
the LED_CTL registers (see Table 5.52 - setting 10b). The LSB represents 32ms so that a setting of
18h (24d) would represent a period of 768ms. The total range is from 32ms to 4.064 seconds (see
Table 5.54) with a default of 640ms.
APPLICATION NOTE: Due to constraints on the LED Drive PWM operation, any Breathe Period less than 160ms
(05h) may not be achievable. The device will breathe at the minimum period possible as
determined by the period and min / max duty cycle settings.
The Pulse 2 Behavior is shown in Figure 5.3 for non-inverted polarity (LEDx_POL = 1) and in
Figure 5.4 for inverted polarity (LEDx_POL = 0).
Table 5.54 LED Pulse / Breathe Perio d Example
SETTING
(HEX) SETTING (DECIMAL) TOTAL BREATHE / PULSE
PERIOD (MS)
00h 0 32
01h 1 32
02h 2 64
03h 3 96
. . . . . . . . .
7Dh 125 4000
7Eh 126 4032
7Fh 127 4064
Table 5.55 LED Pulse 2 Period Register
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
85h R/W LED Pulse 2
Period -P2_
PER6 P2_
PER5 P2_
PER4 P2_
PER3 P2_
PER2 P2_
PER1 P2_
PER0 14h
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 76 SMSC CAP1166
DATASHEET
5.34 LED Breathe Period Register
The LED Breathe Period register determines the overall period of a breathe operation as determined
by the LED_CTL registers (see Table 5.52 - setting 11b). The LSB represents 32ms so that a setting
of 18h (24d) would represent a period of 768ms. The total range is from 32ms to 4.064 seconds (see
Table 5.54) with a default of 2976ms.
APPLICATION NOTE: Due to constraints on the LED Drive PWM operation, any Breathe Period less than 160ms
(05h) may not be achievable. The device will breathe at the minimum period possible as
determined by the period and min / max duty cycle settings.
Figure 5.3 Pulse 2 Behavior with Non-Inverted Polarity
Figure 5.4 Pulse 2 Behavior with Inverted Polarity
Table 5.56 LED Breathe Period Reg is t er
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
86h R/W LED Breathe
Period -BR_
PER6 BR_
PER5 BR_
PER4 BR_
PER3 BR_
PER2 BR_
PER1 BR_
PER0 5Dh
. . .
Normal – untouched
operation Normal – untouched
operation
Touch D etected
(100% - Pulse 2 Min Duty Cycle) *
Brightness
(100% - Pulse 2 Max Duty Cycle) * Brightness
X additional pulses after release
Release Detected
Pulse
Period
(P2_PER)
LED
Brightness
Normal – untouched
operation Normal – untouched
operation
Touch D etected
Pulse 2 Max Duty Cycle * Brightness
Pulse 2 Min Duty Cycle * Brightness
X additional pulses after release
Release Detected
Pulse
Period
(P2_PER)
LED
Brightness . . .
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 77 Revision 1.32 (01-05-12)
DATASHEET
5.35 LED Configuration Register
The LED Configuration register controls general LED behavior as well as the number of pulses that
are sent for the PULSE LED output behavior.
Bit 6 - RAMP_ALERT - Determines whether the device will assert the ALERT# pin when LEDs
actuated by the LED Output Control register bits have finished their respective behaviors. Interrupts
will only be generated if the LED activity is generated by writing the LED Outpu t Control registers. Any
LED activity associated with touch detection will not cause an interrupt to be generated when the LED
behavior has been finished.
‘0’ (default) - The ALERT# pin will not be asserted when LEDs actuated by the LED Output Control
register have finished their programmed behaviors.
‘1’ - The ALERT# pin will be asserted whenever any LED that is actuated by the LED Output
Control register has finished its programmed behavior.
Bits 5 - 3 - PULSE2_CNT[2:0] - Determines the number of pulses used for the Pulse 2 behavior as
shown in Table 5.58.
Bits 2 - 0 - PULSE1_CNT[2:0] - Determines the number of pulses used for the Pulse 1 behavior as
shown in Table 5.58.
Table 5.57 LED Configuration Regist er
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
88h R/W LED Config - RAMP_
ALERT PULSE2_CNT[2:0] PULSE1_CNT[2:0] 04h
Table 5.58 PULSEX_CNT Decode
PULSEX_CNT[2:0]
NUMBER OF BREATHS21 0
0 0 0 1 (default - Pulse 2)
00 1 2
01 0 3
01 1 4
1 0 0 5 (default - Pulse 1)
10 1 6
11 0 7
11 1 8
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 78 SMSC CAP1166
DATASHEET
5.36 LED Duty Cycle Registers
The LED 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 to the maximum duty cycle and
back down again.
APPLICATION NOTE: When operating in Direct behavior mode, changes to the Duty C ycle settings will be applied
immediately. When operating in Breathe, Pulse 1, or Pulse 2 modes, the LED must be
unactuated and then re-actuated before changes to behavior are processed.
Bits 7 - 4 - X_MAX_DUTY[3:0] - Determines the maximum PWM duty cycle for the LED drivers as
shown in Table 5.60.
Bits 3 - 0 - X_MIN_DUTY[3:0] - Determines the minimum PWM duty cycle for the LED drivers as
shown in Table 5.60.
Table 5.59 LED Duty Cycle Registers
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
90h R/W LED Pulse 1
Duty Cycle P1_MAX_DUTY[3:0] P1_MIN_DUTY[3:0] F0h
91h R/W LED Pulse 2
Duty Cycle P2_MAX_DUTY[3:0] P2_MIN_DUTY[3:0] F0h
92h R/W LED Breathe
Duty Cycle BR_MAX_DUTY[3:0] BR_MIN_DUTY[3:0] F0h
93h R/W Direct Duty
Cycle DR_MAX_DUTY[3:0] DR_MIN_DUTY[3:0] F0h
Table 5.60 LED Duty Cycle Decode
X_MAX/MIN_DUTY [3:0] MAXIMUM DUTY
CYCLE MINIMUM DUTY
CYCLE3210
0 0 0 0 7% 0%
0 0 0 1 9% 7%
0010 11% 9%
0 0 1 1 14% 11%
0100 17% 14%
0101 20% 17%
0110 23% 20%
0111 26% 23%
1000 30% 26%
1001 35% 30%
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 79 Revision 1.32 (01-05-12)
DATASHEET
5.37 LED Direct Ramp Rates Register
The LED Direct Ramp Rates register control the rising and falling edge time of an LED that is
configured to operate in Direct behavior mo de. The risin g edge time co rresponds 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 corre sponds 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.62.
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.62.
1010 40% 35%
1011 46% 40%
1100 53% 46%
1101 63% 53%
1110 77% 63%
1 1 1 1 100% 77%
Table 5.61 LED Direct Ramp Rates Register
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
94h R/W LED Direct
Ramp Rates - - RISE_RATE[2:0] FALL_RATE[2:0] 00h
Table 5.62 Rise / Fall Rate Decode
RISE_RATE/ FALL_RATE/ BIT DECODE
RISE / FALL TIME (TRISE / TFALL))21 0
00 0 0
0 0 1 250ms
0 1 0 500ms
0 1 1 750ms
10 0 1s
10 1 1.25s
Table 5.60 LED Duty Cycle Decode (continued)
X_MAX/MIN_DUTY [3:0] MAXIMUM DUTY
CYCLE MINIMUM DUTY
CYCLE3210
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 80 SMSC CAP1166
DATASHEET
5.38 LED Off Delay Register
The LED Off Delay register determines the amount of time that an LED remains at its maximum duty
cycle (or minimum as determined by the polarity controls) before it starts to ramp down. If the LED is
operating in Breathe mode, this delay is applied at the top of each “breath”. If the LED is operating in
the Direct mode, this delay is applied when the LED is unactuated.
Bits 6 - 4 - BR_OFF_DLY[2:0] - Determines th e Breathe behavior mode off delay, which is the amount
of time an LED in Breathe behavior mode remains inactive after it finishes a breathe pulse (ramp on
and ramp off), as shown in Figure 5.5 (non-inverted polarity LEDx_POL = 1) and Figure 5.6 (inverted
polarity LEDx_POL = 0). Available settings are shown in Table 5.64.
11 0 1.5s
11 1 2s
Table 5.63 LED Off Delay Register
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
95h R/W LED Off Delay
Register - BR_OFF_DLY[2:0] DIR_OFF_DLY[3:0] 00h
Figure 5.5 Breathe Behavior with Non-Inverted Polarity
Table 5.62 Rise / Fall Rate Decode (continued)
RISE_RATE/ FALL_RATE/ BIT DECODE
RISE / FALL TIME (TRISE / TFALL))21 0
LED Actuated
100% - Breathe Max Min Cycle * Brightness
100% - Breathe M i n Duty Cycle *
Brightness
LED Unactuated
Breathe Off
Delay
(BR_OFF_DLY)
LED
Brightness
Breathe
Period
(BR_PER)
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 81 Revision 1.32 (01-05-12)
DATASHEET
Bits 3 - 0 - DIR_OFF_DLY[3:0] - Determines the turn-off delay, as shown in Table 5.65, for all LEDs
that are configured to operate in Direct behavior mode.
The Direct behavior operation is determined by the combination of programmed Rise Time, Fall Time,
Min and Max Duty cycles, Off Delay, and polarity. Figure 5.7 shows the behavior for non-inverted
polarity (LEDx_POL = 1) while Figure 5.8 shows the behavior for inverted polarity (LEDx_POL = 0).
Figure 5.6 Breathe Behavior with Inverted Polarity
Table 5.64 Breathe Off Delay Settings
BR_OFF_DLY [2:0]
OFF DELAY210
0 0 0 0 (default)
0 0 1 0.25s
010 0.5s
0 1 1 0.75s
100 1.0s
1 0 1 1.25s
110 1.5s
111 2.0s
LED Actuated
Breathe Max Duty Cycle * Brightness
Breathe Min Duty Cycle * Brightness
LED Unactuated
Breathe Off
Delay
(BR_OFF_DLY)
LED
Brightness
Breathe
Period
(BR_PER)
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 82 SMSC CAP1166
DATASHEET
Figure 5.7 Direct Behavior for Non-Inverted Polarity
Figure 5.8 Direct Behavior for Inverted Polarity
Table 5.65 Off Delay Decode
OFF DELAY[3:0] BIT DECODE
OFF DELAY (TOFF_DLY)32 1 0
00 0 0 0
0 0 0 1 250ms
0 0 1 0 500ms
0 0 1 1 750ms
01 0 0 1s
01 0 1 1.25s
0 1 1 0 1.5s
01 1 1 2s
1 0 0 0 2.5s
Normal
untouched
operation
RISE_RATE
Setting (tRISE)(1 0 0 % - Ma x D u ty
Cycle) * Brightness
Touch
Detected Release
Detected
O ff De la y
(tOFF_DLY)FA LL_RATE
S e ttin g (tFALL)
Norm al
untouched
operation
(100% - Min Duty Cycle) *
Brightness
LED
Brightness
Normal –
untouched
operation RISE_RATE
S e tting (tRISE)
M in Duty Cycle * Brightness
Touch
Detected Release
Detected
Off D e la y
(tOFF_DLY)FALL_RATE
S e ttin g (tFALL)
Normal
untouched
operation
M ax Duty Cycle * Brightness
LED
Brightness
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 83 Revision 1.32 (01-05-12)
DATASHEET
5.39 Sensor Input Calibration Registers
The Sensor Input Calibration registers hold the 10-bit value that represents the last calibration value.
1 0 0 1 3.0s
1 0 1 0 3.5s
1 0 1 1 4.0s
1 1 0 0 4.5s
All others 5.0s
Table 5.66 Sensor Input Calibration Registers
ADDR REGISTER R/W B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
B1h Sensor Input 1
Calibration R CAL1_9 CAL1_8 CAL1_7 CAL1_6 CAL1_5 CAL1_4 CAL1_3 CAL1_2 00h
B2h Sensor Input 2
Calibration R CAL2_9 CAL2_8 CAL2_7 CAL2_6 CAL2_5 CAL2_4 CAL2_3 CAL2_2 00h
B3h Sensor Input 3
Calibration R CAL3_9 CAL3_8 CAL3_7 CAL3_6 CAL3_5 CAL3_4 CAL3_3 CAL3_2 00h
B4h Sensor Input 4
Calibration R CAL4_9 CAL4_8 CAL4_7 CAL4_6 CAL4_5 CAL4_4 CAL4_3 CAL4_2 00h
B5h Sensor Input 5
Calibration R CAL5_9 CAL5_8 CAL5_7 CAL5_6 CAL5_5 CAL5_4 CAL5_3 CAL5_2 00h
B6h Sensor Input 6
Calibration R CAL6_9 CAL6_8 CAL6_7 CAL6_6 CAL6_5 CAL6_4 CAL6_3 CAL6_2 00h
B9h Sensor Input
Calibration
LSB 1 R CAL4_1 CAL4_0 CAL3_1 CAL3_0 CAL2_1 CAL2_0 CAL1_1 CAL1_0 00h
BAh Sensor Input
Calibration
LSB 2 R - - - - CAL6_1 CAL6_0 CAL5_1 CAL5_0 00h
Table 5.65 Off Delay Decode (continued)
OFF DELAY[3:0] BIT DECODE
OFF DELAY (TOFF_DLY)32 1 0
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 84 SMSC CAP1166
DATASHEET
5.40 Product ID Register
The Product ID register stores a unique 8-bit value that identifies the device.
5.41 Manufacturer ID Register
The Vendor ID register stores an 8-bit value that represents SMSC.
5.42 Revision Register
The Revision register stores an 8-bit value that represents the part revision.
Table 5.67 Product ID Register
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
FDhRProduct ID 01010001 51h
Table 5.68 Vendor ID Register
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
FEh RManufacturer ID01011101 5Dh
Table 5.69 Revision Register
ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT
FFhR Revision 10000011 83h
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 85 Revision 1.32 (01-05-12)
DATASHEET
Chapter 6 Package Information
6.1 CAP1166 Package Drawings
Figure 6.1 24-Pin SSOP Package Drawing
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 86 SMSC CAP1166
DATASHEET
Figure 6.2 24-Pin SSOP Package Dimensions
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 87 Revision 1.32 (01-05-12)
DATASHEET
Figure 6.3 CAP1166 PCB Land Pattern - 24-Pin SSOP
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 88 SMSC CAP1166
DATASHEET
Figure 6.4 20-Pin QFN 4mm x 4mm Package Drawing
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 89 Revision 1.32 (01-05-12)
DATASHEET
Figure 6.5 20-Pin QFN 4mm x 4mm Package Dimensions
Figure 6.6 20-Pin QFN 4mm x 4mm PCB Drawing
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 90 SMSC CAP1166
DATASHEET
6.2 Package Marking
Figure 6.7 CAP1166 Package Markings - 20-Pin QFN
Figure 6.8 CAP1166 Package Markings - 24-Pin SSOP
BOTTOM
BOTTOM MARKING NOT ALLOWED
LINE: 1 – SMSC Logo without circled (R) symbol
LINE: 2 – Device ID, Version
LINE: 3 – Last 7 digits of Lot Number
LINE: 4 – Revision and Country Code (RCC)
LINES 1 to 3: CENTER HORIZONTAL ALIGNMENT
LINE 4: LEFT HORIZONTAL ALIGNMENT
PB-FREE/GREEN SYMBOL
(Matte Sn)
0.41
3x 0.56
TOP
e3
PIN 1
1166
CCR
123456a
-1C
BOTTOM
LINE: 1 – SMSC Logo with circled (R) symbol
LINE: 2 – Part Number + Version
LINE: 3 – Revision, Date Code (YWW), Last 7 digits of Lot Number
LINES 1 to 3: CENTER HORIZONTAL ALIGNMENT
PB-FREE/GREEN SYMBOL
(Matte Sn)
0.6
2x 1.5pt
TOP
e3
PIN 1
1166
123456a
-1C
R
MINIMUM CIRCLE "R"
DIAMETER = 0.80 mm
AP
RYWW
2x 1.5pt
XXXX XXXXXX XXXXX
X-XX XXXXXX XXXXX
LINE: 1 – Engineering Code
LINE: 2 – Vendor Code, Country of Origin
PIN 1
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 91 Revision 1.32 (01-05-12)
DATASHEET
Appendix A Device Delta
A.1 Delta from CAP1066 to CAP1166
1. Updated circuitry to improve power supply rejection.
2. Updated LED driver duty cycle decode values to have more distribution at lower values - closer to
a logarithmic curve. See Table 5.60, "LED Duty Cycle Decode".
3. Updated bug that breathe periods were not correct above 2.6s. This includes rise / fall time
decodes above 1.5s.
4. Added filtering on RESET pin to prevent errant resets.
5. Updated controls so that the RESET pin assertion places the device into the lowest power state
available and causes an interrupt when released. See Section 4.2, "RESET Pin".
6. Added 1 bit to the LED Off Delay register (see Section 5.38, "LED Off Delay Register") to extend
times from 2s to 5s in 0.5s intervals.
7. Breathe behavior modified. A breathe off delay control was added to the LED Off Delay Register
(see Section 5.38, "LED Off Delay Register") so the LEDs can be configured to remain inactive
between breathes.
8. Added controls for the LED transition effects when linking LEDs to capacitive sensor inputs. See
Section 5.29, "Linked LED Transition Control Register".
9. Added controls to “mirror” the LED duty cycle outputs so that when polarity changes, the LED
brightness levels look right. These bits are automatically set when polarity is set. Added control to
break this auto-set behavior. See Section 5.30, "LED Mirror Control Register".
10. Added Multiple Touch Pattern detection circuitry. See Section 5.15, "Multiple Touch Pattern
Configuration Register".
11. Added General Status register to flag Multiple touches, Multiple Touch Pattern issues and general
touch detections. See Section 5.2, "Status Registers".
12. Added bits 6 and 5 to the Recalibration Configuration register (2Dh - see Section 5.17,
"Recalibration Configuration Register"). These bits control whether the accumulation of
intermediate data and the consecutive negative delta counts counter are cleared when the noise
status bit is set.
13. Added Configuration 2 register for LED linking controls, noise detection controls, and control to
interrupt on press but not on release. Added control to change alert pin polarity. See Section 5.6,
"Configuration Registers".
14. Updated Deep Sleep behavior so that device does not clear DSLEEP bit on received
communications but will wake to communicate.
15. Changed PWM frequency for LED drivers. T he PWM frequency was derived from the programmed
breathe period and duty cycle settings and it ran ged from ~4Hz to ~8000 Hz. The PWM frequency
has been updated to be a fixed value of ~2000Hz.
16. Register delta:
Table A.1 Register Delta From CAP1066 to CAP116 6
ADDRESS REGISTER DELTA DELTA DEFAULT
00h
Page 43 Changed - Main Status
/ Control added bits 7-6 to control gain 00h
02h
Page 44 New - General Status new register to store MTP, MULT, LED,
RESET, and general TOUCH bits 00h
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 92 SMSC CAP1166
DATASHEET
44h
Page 48 New - Configuration 2 new register to control alert polarity, LED
touch linking behavior, LED output
behavior, and noise detection, and
interrupt on release 40h
24h
Page 53 Changed - Averaging
Control updated register bits - moved
SAMP_AVG[2:0] bits and added
SAMP_TIME bit 1. Default changed 39h
2Bh
Page 57 New - Multiple Touch
Pattern Configuration new register for Multiple Touch Pattern
configuration - enable and threshold
settings 80h
2Dh
Page 58 New - Multiple Touch
Pattern Register new register for Multiple Touch Pattern
detection circuitry - pattern or number of
sensor inputs 3Fh
2Fh
Page 59 Changed -
Recalibration
Configuration
updated register - updated CAL_CFG b it
decode to add a 128 averages setting
and removed highest time setting.
Default changed. Added bit 6
NO_CLR_INTD and bit 5 NO_CLR_NEG.
8Ah
38h
Page 61 Changed - Sensor
Input Noise Threshold
updated register bits - removed bits 7 - 3
and consolidated all controls into bits 1 -
0. These bits will set the noise threshold
for all channels. Default changed 01h
39h Removed - Noise
Threshold Register 2 removed register n/a
41h
Page 62 Changed - Standby
Configuration updated register bits - moved
STBY_AVG[2:0] bits and added
STBY_TIME bit 1. Default changed 39h
77h
Page 70 New - Linked LED
Transition Control new register to control transition effect
when LED linked to sensor inputs 00h
79h
Page 70 New - LED Mirror
Control new register to control LED output
mirroring for brightness control when
polarity changed 00h
90h
Page 78 Changed - LED Pulse 1
Duty Cycle changed bit decode to be more
logarithmic F0h
91h
Page 78 Changed - LED Pulse 2
Duty Cycle changed bit decode to be more
logarithmic F0h
92h
Page 78 Changed - LED
Breathe Duty Cycle changed bit decode to be more
logarithmic F0h
93h
Page 78 Changed - LED Direct
Duty Cycle changed bit decode to be more
logarithmic F0h
95h Added controls - LED
Off Delay Added bits 6-4 BR_OFF_DLY[2:0]
Added bit 3 DIR_OFF_DLY[3] 00h
FDh
Page 84 Changed - Product ID Changed bit decode for CAP1166 51h
Table A.1 Register Delta From CAP1066 to CAP1166 (continued)
ADDRESS REGISTER DELTA DELTA DEFAULT
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
SMSC CAP1166 93 Revision 1.32 (01-05-12)
DATASHEET
Chapter 7 Datasheet Revision History
Table 7.1 Customer Revision History
REVISION LEVEL & DATE SECTION/FIGURE/ENTRY CORRECTION
Rev. 1.32 (01-05-12) Table 2.2, "Electrical
Specifications" Added conditions for tHD:DAT.
Section 3.2.7, "SMBus and
I2C Compatibility" Renamed from “SMBus and I2C Compliance.”
First paragraph, added last sentence: “For
information on using the CAP1166 in an I2C
system, refer to SMSC AN 14.0 SMSC Dedicated
Slave Devices in I2C Systems.”
Added: CAP1166 supports I2C fast mode at
400kHz. This covers the SMBus max time of
100kHz.
Section 5.4, "Sensor Input
Delta Count Registers" Changed negative value cap from FFh to 80h.
Rev. 1.31 (08-18-11) Section 3.3.3, "SMBus Send
Byte" Added an application note: The Send Byte protocol
is not functional in Deep Sleep (i.e., DSLEEP bit is
set).
Section 3.3.4, "SMBus
Receive Byte" Added an application note: The Receive Byte
protocol is not functional in Deep Sleep (i.e.,
DSLEEP bit is set).
Rev. 1.3 (05-18-11) Section 5.42, "Revision
Register" Updated revision ID from 82h to 83h.
Rev. 1.2 (02-10-11) Section A.8, "Delta from Rev
B (Mask B0) to Rev C (Mask
B1)"
Added.
Table 1.1, "Pin Description
for CAP1166" Changed value in “Unused Connection” column for
the ADDR_COMM pin from “Connect to Ground” to
“n/a“.
Table 2.2, "Electrical
Specifications" PSR improvements made in functional revision B.
Changed PSR spec from ±100 typ and ±200 max
counts / V to ±3 and ±10 counts / V. Conditions
updated.
Section 4.5.2, "Recalibrating
Sensor Inputs" Added more detail with subheadings for each type
of recalibration.
Section 5.6, "Configuration
Registers" Added bit 5 BLK_ PWR_CTRL to th e Config uration
2 Register 44h.
The TIMEOUT bit is set to ‘1’ by default for
functional revision B and is set to ‘0’ by default for
functional revision C.
Section 5.42, "Revision
Register" Updated revision ID in register FFh from 81h to
82h.
Rev. 1.1 (11-17-10) Document Updated for functional revision B. See Section A.7,
"Delta from Rev A (Mask A0) to Rev B (Mask B0)".
6 Channel Capacitive Touch Sensor with 6 LED Drivers
Datasheet
Revision 1.32 (01-05-12) 94 SMSC CAP1166
DATASHEET
Cover Added to General Description: “includes circuitry
and support for enhanced sensor proximity
detection.”
Added the following Features:
Calibrates for Parasitic Capacitance
Analog Filtering for System Noise Sources
Press and Hold feature for Volume-like
Applications
Table 2.2, "Electrical
Specifications" Conditions for Power Supply Rejection modified
adding the following:
Sampling time = 2.56ms
Averaging = 1
Negative Delta Counts = Disabled
All other parameters default
Section 5.11, "Calibration
Activate Register" Updated register description to indicate which re-
calibration routine is used.
Section 5.14, "Multiple
Touch Configuration
Register"
Updated register description to indicate what will
happen.
T able 5.34, "CSx_BN_TH Bit
Decode" Table heading changed from “Threshold Divide
Setting” to “Percent Threshold Setting”.
Chapter 6, Package
Information Added PCB land pattern.
CAP1166-1 added in an SSOP package.
Rev. 1.0 (06-14-10) Initial release
Table 7.1 Customer Revision History (continued)
REVISION LEVEL & DATE SECTION/FIGURE/ENTRY CORRECTION
Mouser Electronics
Authorized Distributor
Click to View Pricing, Inventory, Delivery & Lifecycle Information:
Microchip:
CAP1166-1-BP-TR-DCC CAP1166-1-BP-TR CAP1166-1-CZC-TR