Cap 1208
Cap 1208
Cap 1208
PRODUCT FEATURES
Datasheet
General Description
Applications
Features
The CAP1208 has Active and Standby states, each with its
own sensor input configuration controls. Power
consumption in the Standby state is dependent on the
number of sensor inputs enabled as well as averaging,
sampling time, and cycle time. Deep Sleep is the lowest
power state available, drawing 5A (typical) of current. In
this state, no sensor inputs are active, and communications
will wake the device.
Programmable sensitivity
Automatic recalibration
Calibrates for parasitic capacitance
Individual thresholds for each button
Block Diagram
VDD
GND
SMCLK
SMBus
Protocol
SMDATA
ALERT#
CS1
CS2
CS3
CS4
CS5
CS6
CS7
CS8
DS00001570B-page 1
Ordering Information:
ORDERING
NUMBER
PACKAGE
FEATURES
CAP1208-1-A4-TR
CAP1208-2-A4-TR
DS00001570B-page 2
Table of Contents
Chapter 1 Pin Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Chapter 2 Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Chapter 3 Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1
3.2
3.3
3.4
Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
System Management Bus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1
SMBus Start Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.2
SMBus Address and RD / WR Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.3
SMBus Data Bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.4
SMBus ACK and NACK Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.5
SMBus Stop Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.6
SMBus Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.7
SMBus and I2C Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SMBus Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1
SMBus Write Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.2
SMBus Read Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.3
SMBus Send Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.4
SMBus Receive Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I2C Protocols. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.1
Block Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.2
Block Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
14
14
14
14
14
15
15
15
15
16
16
16
16
17
17
17
4.4
4.5
4.6
4.7
4.8
Power States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Capacitive Touch Sensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.3.1
Capacitive Touch Sensing Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.3.1.1 Active State Sensing Settings ........................................................................................ 21
4.3.1.2 Standby State Sensing Settings .................................................................................... 21
4.3.2
Sensing Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Sensor Input Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.4.1
Automatic Recalibration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.4.2
Negative Delta Count Recalibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.4.3
Delayed Recalibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Power Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Multiple Touch Pattern Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Noise Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.7.1
Low Frequency Noise Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.7.2
RF Noise Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.7.3
Noise Status and Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.8.1
ALERT# Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.8.2
Capacitive Sensor Input Interrupt Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.8.3
Interrupts for the Power Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.8.4
Interrupts for Multiple Touch Pattern Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.8.5
Interrupts for Sensor Input Calibration Failures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.8.6
Interrupts for Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
DS00001570B-page 3
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
5.11
5.12
5.13
5.14
5.15
5.16
5.17
5.18
5.19
5.20
5.21
5.22
5.23
5.24
5.25
5.26
5.27
5.28
5.29
5.30
5.31
30
31
31
32
32
33
33
35
35
36
37
37
39
40
42
43
43
44
45
46
47
48
49
50
51
51
53
54
54
55
55
56
57
57
57
DS00001570B-page 4
List of Figures
Figure 1.1
Figure 3.1
Figure 4.1
Figure 4.2
Figure 4.3
Figure 4.4
Figure 6.1
Figure 6.2
Figure 6.3
Figure 6.4
Figure 6.5
DS00001570B-page 5
List of Tables
Table 1.1
Table 1.2
Table 2.1
Table 2.2
Table 3.1
Table 3.2
Table 3.3
Table 3.4
Table 3.5
Table 3.6
Table 3.7
Table 4.1
Table 5.1
Table 5.2
Table 5.3
Table 5.4
Table 5.5
Table 5.6
Table 5.7
Table 5.8
Table 5.9
Table 5.10
Table 5.11
Table 5.12
Table 5.13
Table 5.14
Table 5.15
Table 5.16
Table 5.17
Table 5.18
Table 5.19
Table 5.20
Table 5.21
Table 5.22
Table 5.23
Table 5.24
Table 5.25
Table 5.26
Table 5.27
Table 5.28
Table 5.29
Table 5.30
Table 5.31
Table 5.32
Table 5.33
Table 5.34
Table 5.35
Table 5.36
Table 5.37
Table 5.38
Table 5.39
Table 5.40
DS00001570B-page 6
Table 5.41
Table 5.42
Table 5.43
Table 5.44
Table 5.45
Table 5.46
Table 5.47
Table 5.48
Table 5.49
Table 5.50
Table 5.51
Table A.1
Table 7.1
53
54
54
55
55
55
56
56
57
57
57
62
65
DS00001570B-page 7
ALERT#
SMDATA
CS1
CS2
CS3
CS4
16
15
14
13
12
CS5
11
CS6
Exposed pad
CS8
GND
9
7
GND
VDD
CS7
N/C
10
N/C
SMCLK
PIN NAME
PIN FUNCTION
PIN TYPE
ALERT#
OD
Connect to
Ground
SMDATA
DIOD
n/a
SMCLK
DI
n/a
VDD
Power
n/a
N/C
n/a
Connect to
Ground
N/C
n/a
Connect to
Ground
GND
Ground
Power
n/a
GND
Ground
Power
n/a
CS8
AIO
Connect to
Ground
10
CS7
AIO
Connect to
Ground
DS00001570B-page 8
UNUSED
CONNECTION
PIN NAME
PIN FUNCTION
PIN TYPE
UNUSED
CONNECTION
11
CS6
AIO
Connect to
Ground
12
CS5
AIO
Connect to
Ground
13
CS4
AIO
Connect to
Ground
14
CS3
AIO
Connect to
Ground
15
CS2
AIO
Connect to
Ground
16
CS1
AIO
Connect to
Ground
Bottom pad
Exposed pad
DESCRIPTION
This pin is used to supply power or ground to the device.
Digital Input - This pin is used as a digital input. This pin is 5V tolerant.
Analog Input / Output - This pin is used as an I/O for analog signals.
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.
Open Drain Digital Output - This pin is used as a digital output. It is open drain and requires
a pull-up resistor. This pin is 5V tolerant.
DS00001570B-page 9
-0.3 to 6.5
-0.3 to 4.0
-0.3 to 5.5
0 to 3.6
+10
mA
Continuous
N/A
0.5
70
C/W
-40 to 125
-55 to 150
8000
Note 2.1
Stresses above those listed could cause permanent damage to the device. This is a stress
rating only and functional operation of the device at any other condition above those
indicated in the operation sections of this specification is not implied.
Note 2.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 2x2 matrix of 0.3mm (12mil) vias at 1.0mm pitch connected to the ground
plane with a 1.6 x 1.6mm thermal landing.
Note 2.4
Junction to Ambient (JA) is dependent on the design of the thermal vias. Without thermal
vias and a thermal landing, the JA will be higher.
DS00001570B-page 10
SYMBOL
MIN
TYP
MAX
UNIT
CONDITIONS
DC POWER
Supply Voltage
VDD
3.0
5.5
Supply Current
ISTBY_DEF
120
ISTBY_LP
50
170
IDSLEEP_3V
TBD
IDSLEEP_5V
TBD
TBD
IDD
500
750
CBASE
Minimum Detectable
Capacitive Shift
CTOUCH
20
Recommended Cap
Shift
CTOUCH
0.1
Power Supply
Rejection
50
PSR
10
pF
Pad untouched
fF
pF
counts
/V
VPOR
Power-On Reset
Release Voltage
VPORR
Brown-Out Reset
VBOR
SVDD
0.05
1.3
2.85
Rising VDD
Ensured by design
2.8
Falling VDD
V/ms
0 to 3V in 60ms
DS00001570B-page 11
SYMBOL
Power-Up Timer
Period
tPWRT
Brown-Out Reset
Voltage Delay
tBORDC
MIN
TYP
MAX
10
UNIT
CONDITIONS
ms
VDD = VBOR - 1
TIMING
Time to
Communications
Ready
tCOMM_DLY
Time to First
Conversion Ready
tCONV_DLY
170
15
ms
200
ms
0.4
ISINK_IO = 8mA
ISOURCE_IO = 8mA
I/O PINS
Output Low Voltage
VOL
VOH
VDD 0.4
VIH
2.0
VIL
0.8
Leakage Current
ILEAK
powered or unpowered
TA < 85C
pull-up voltage < 3.6V if
unpowered
SMBUS TIMING
Input Capacitance
CIN
Clock Frequency
fSMB
Spike Suppression
tSP
tBUF
1.3
tSU:STA
0.6
tHD:STA
0.6
tSU:STO
0.6
tHD:DAT
tHD:DAT
0.3
tSU:DAT
0.6
tLOW
1.3
tHIGH
0.6
tFALL
DS00001570B-page 12
5
10
pF
400
kHz
50
ns
300
ns
Min = 20+0.1CLOAD ns
2014 Microchip Technology Inc.
SYMBOL
MAX
UNIT
CONDITIONS
tRISE
300
ns
Min = 20+0.1CLOAD ns
CLOAD
400
pF
MIN
TYP
DS00001570B-page 13
Chapter 3 Communications
3.1
Communications
The CAP1208 communicates using the SMBus or I2C protocol.
3.2
T HIGH
T LO W
T HD :STA
T SU:STO
T FALL
SM CLK
T RISE
T HD :STA
T SU:DAT
T HD :DAT
T SU :STA
SM D ATA
T BUF
S - Start Condition
P - Stop C ondition
3.2.1
3.2.2
3.2.3
3.2.4
DS00001570B-page 14
The Host will NACK (not acknowledge) the last data byte to be received from the client by holding the
SMBus data line high after the 8th data bit has been sent. For the Block Read protocol, the Host will
ACK each data byte that it receives except the last data byte.
3.2.5
3.2.6
SMBus Timeout
The CAP1208 includes an SMBus timeout feature. Following a 30ms period 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
3.3
SMBus Protocols
The CAP1208 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.1.
DATA SENT TO
THE HOST
Data sent
DS00001570B-page 15
3.3.1
START
1 ->0
SLAVE
ADDRESS
ACK
REGISTER
ADDRESS
ACK
REGISTER
DATA
ACK
STOP
XXh
XXh
0 -> 1
0101_000
(Note 3.1)
Note 3.1
3.3.2
WR
1->0
SLAVE
ADDRESS
0101_000
(Note 3.2)
WR
ACK
REGISTER
ADDRESS
ACK
START
CLIENT
ADDRESS
XXh
1 ->0
0101_000
(Note 3.2)
Note 3.2
3.3.3
RD
ACK
REGISTER
DATA
XXh
NACK
STOP
0 -> 1
APPLICATION NOTE: The Send Byte protocol is not functional in Deep Sleep (i.e., DSLEEP bit is set).
START
SLAVE
ADDRESS
0101_000
(Note 3.3)
1 -> 0
Note 3.3
3.3.4
WR
ACK
REGISTER
ADDRESS
ACK
STOP
XXh
0 -> 1
APPLICATION NOTE: The Receive Byte protocol is not functional in Deep Sleep (i.e., DSLEEP bit is set).
DS00001570B-page 16
START
1 -> 0
0101_000
(Note 3.4)
Note 3.4
3.4
RD
ACK
REGISTER DATA
NACK
STOP
XXh
0 -> 1
I2C Protocols
The CAP1208 supports I2C Block Read and Block Write.
The protocols listed below use the convention in Table 3.1.
3.4.1
Block Read
The Block Read is used to read multiple data bytes from a group of contiguous registers as shown in
Table 3.6.
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.
1->0
SLAVE
ADDRESS
0101_000
(Note 3.5)
WR
ACK
REGISTER
ADDRESS
ACK
START
SLAVE
ADDRESS
XXh
1 ->0
0101_000
(Note 3.5)
RD
ACK
REGISTER
DATA
XXh
ACK
REGISTER
DATA
ACK
REGISTER
DATA
ACK
REGISTER
DATA
ACK
...
REGISTER
DATA
NACK
STOP
XXh
XXh
XXh
...
XXh
0 -> 1
Note 3.5
3.4.2
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.
START
1 ->0
SLAVE
ADDRESS
0101_000
(Note 3.6)
WR
ACK
REGISTER
ADDRESS
ACK
REGISTER
DATA
ACK
XXh
XXh
DS00001570B-page 17
ACK
REGISTER
DATA
ACK
...
REGISTER
DATA
ACK
STOP
XXh
XXh
...
XXh
0 -> 1
Note 3.6
DS00001570B-page 18
3.0V to 5.5V
Embedded
Controller
10kOhm
resistors
3.0V to 5.5V
Touch
Button
CS1
Touch
Button
CS2
Touch
Button
Touch
Button
ALERT#
SMDATA
GND
SMCLK
0.1uF
VDD
CS8
Touch
Button
CS7
Touch
Button
CS3
CS6
Touch
Button
CS4
CS5
Touch
Button
CAP1208
1.0uF
DS00001570B-page 19
4.1
Power States
The CAP1208 has 3 power states depending on the status of the STBY and DSLEEP bits (see Section
5.1, "Main Control Register"). When the device transitions between power states, previously detected
touches (for channels that are being de-activated) are cleared and the sensor input status bits are
reset.
1. Active - The normal mode of operation. The device is monitoring capacitive sensor inputs enabled
in the Active state (see Section 5.7, "Sensor Input Enable Register").
2. Standby - When the STBY bit is set, the device is monitoring the capacitive sensor inputs enabled
in the Standby state (see Section 5.21, "Standby Channel Register"). Interrupts can still be
generated based on the enabled channels. The device will still respond to communications
normally and can be returned to the Active state of operation by clearing the STBY bit. Power
consumption in this state is dependent on the number of sensor inputs enabled as well as
averaging, sampling time, and cycle time.
3. Deep Sleep - When the DSLEEP bit is set, the device is in its lowest power state. It is not
monitoring any capacitive sensor inputs. While in Deep Sleep, the CAP1208 can be awakened by
SMBus 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. The device can be
returned to the Active state of operation by clearing the DSLEEP bit.
4.2
Reset
The Power-On Reset (POR) circuit holds the device in reset until VDD has reached an acceptable level,
Power-on Reset Release Voltage (VPORR), for minimum operation. The power-up timer (PWRT) is
used to extend the start-up period until all device operation conditions have been met. The power-up
timer starts after VDD reaches VPORR. POR and PORR with slow rising VDD is shown in Figure 4.2.
The Brown-Out Reset (BOR) circuit holds the device in reset when VDD falls to a minimum level, VBOR
for longer than the BOR reset delay (tBORDC). After a BOR, when VDD rises above VPORR, the powerup timer is started again and must finish before reset is released, as shown in Figure 4.2.
VPORR
VBOR
VPOR
VDD
GND
SYSRST
TPWRT
TBORDC TPWRT
Undefined
Figure 4.2 POR and PORR With Slow Rising VDD and BOR with Falling VDD
4.3
DS00001570B-page 20
4.3.1
4.3.1.1
4.3.1.2
4.3.2
Sensing Cycle
Except when in Deep Sleep, the device automatically initiates a sensing cycle and repeats the cycle
every time it finishes. The cycle polls through each enabled sensor input starting with CS1 and
extending through CS8. 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 to exceed
the applicable threshold, a touch is detected and an interrupt can be generated (see Section 4.8.2,
"Capacitive Sensor Input Interrupt Behavior").
The sensing cycle time is programmable (see Section 5.10, "Averaging and Sampling Configuration
Register" and Section 5.22, "Standby Configuration Register"). If all enabled inputs can be sampled in
less than the cycle time, the device is placed into a lower power state for the remainder of the sensing
cycle. If the number of active sensor inputs cannot be sampled within the specified cycle time, the
cycle time is extended and the device is not placed in a lower power state.
4.4
APPLICATION NOTE: During the calibration 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 calibration.
The host controller can force a calibration for selected sensor inputs at any time using the Calibration
Activate and Status Register (Section 5.11, "Calibration Activate and Status Register"). When a bit is
set, the corresponding capacitive touch sensor input will be calibrated (both analog and digital). The
bit is automatically cleared once the calibration routine has successfully finished.
2014 Microchip Technology Inc.
DS00001570B-page 21
If analog calibration fails for a sensor input, the corresponding bit is not cleared in the Calibration
Activate and Status Register, and the ACAL_FAIL bit is set in the General Status Register (Section 5.2,
"Status Registers"). An interrupt can be generated. Analog calibration will fail if a noise bit is set or if
the calibration value is at the maximum or minimum value. If digital calibration fails to generate base
counts for a sensor input in the operating range, which is +12.5% from the ideal base count (see
Table 4.1), indicating the base capacitance is out of range, the corresponding BC_OUTx bit is set in
the Base Count Out of Limit Register (Section 5.17, "Base Count Out of Limit Register"), and the
BC_OUT bit is set in the General Status Register (Section 5.2, "Status Registers"). An interrupt can
be generated. By default, when a base count is out of limit, analog calibration is repeated for the
sensor input; alternatively, the sensor input can be sampled using the out of limit base count (Section
5.6, "Configuration Registers").
SAMPLE TIME
3,200
320us
6,400
640us
12,800
1.28ms
25,600
2.56ms
During normal operation there are various options for recalibrating the capacitive touch sensor inputs.
Recalibration is a digital adjustment of the base counts so that the untouched delta count is zero. After
a recalibration, if a sensor inputs base count has shifted +12.5% from the ideal base count, a full
calibration will be performed on the sensor input.
4.4.1
Automatic Recalibration
Each sensor input is regularly recalibrated at a programmable rate (see CAL_CFG[2:0] in Section 5.18,
"Recalibration Configuration Register"). By default, the recalibration routine stores the average 64
previous measurements and periodically updates the base not touched setting for the capacitive
touch sensor input.
APPLICATION 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.4.2
APPLICATION NOTE: During this recalibration, the device will not respond to touches.
4.4.3
Delayed Recalibration
It is possible that a stuck button occurs when something is placed on a button which 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 duration
specified in the MAX_DUR[3:0] bits (see Section 5.8, "Sensor Input Configuration Register").
DS00001570B-page 22
4.5
Note 4.1
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 than the
MAX_DUR bit settings.
Note 4.2
For the power button, which requires that the button be held longer than a regular button,
the time specified by the MAX_DUR[3:0] bits is added to the time required to trigger the
qualifying event. This will prevent the power button from being recalibrated during the time
it is supposed to be held.
Power Button
The CAP1208 has a power button feature. In general, buttons are set for quick response to a touch,
especially when buttons are used for number keypads. However, there are cases where a quick
response is not desired, such as when accidentally brushing the power button causes a device to turn
off or on unexpectedly.
The power button feature allows a sensor input to be designated as the power button (see Section
5.26, "Power Button Register"). The power button is configured so that a touch must be held on the
button for a designated period of time before an interrupt is generated; different times can be selected
for the Standby and the Active states (see Section 5.27, "Power Button Configuration Register"). The
feature can also be enabled / disabled for both states separately.
APPLICATION NOTE: For the power button feature to work in the Standby and/or Active states, the sensor input
must be enabled in the applicable state.
After the designated power button has been held for the designated time, an interrupt is generated
and the PWR bit is set in the General Status Register (see Section 5.2, "Status Registers").
4.6
4.7
Noise Controls
4.7.1
4.7.2
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. By default, if RF noise
is detected on a CS line, that sample is removed and not compared against the threshold (see
DIS_RF_NOISE bit in Section 5.6.2, "Configuration 2 - 44h").
4.7.3
DS00001570B-page 23
"Configuration Registers") is set to 0, the Noise Flag Status bit for the capacitive sensor input is set if
any analog noise is detected. If the SHOW_RF_NOISE bit is set to 1, the Noise Flag Status bits will
only be set if RF noise is detected.
The CAP1208 offers optional noise filtering controls for both analog and digital noise.
For analog noise, there are options for whether the data should be considered invalid. By default, the
DIS_ANA_NOISE bit (see Section 5.6.1, "Configuration - 20h") will block a touch on a sensor input if
low frequency analog noise is detected; the sample is discarded. By default, the DIS_RF_NOISE bit
(see Section 5.6.2, "Configuration 2 - 44h") will block a touch on a sensor input if RF noise is detected;
the sample is discarded.
For digital noise, sensor input noise thresholds can be set (see Section 5.20, "Sensor Input Noise
Threshold Register"). If a capacitive touch sensor input exceeds the Sensor Noise Threshold but does
not exceed the touch threshold (Sensor Threshold (see Section 5.19, "Sensor Input Threshold
Registers") in the Active state or Sensor Standby Threshold in the Standby state (Section 5.24,
"Standby Threshold Register")), it is determined to be caused by a noise spike. The DIS_DIG_NOISE
bit (see Section 5.6.1, "Configuration - 20h") can be set to discard samples that indicate a noise spike
so they are not used in the automatic recalibration routine (see Section 4.4.1, "Automatic
Recalibration").
4.8
Interrupts
Interrupts are indicated by the setting of the INT bit in the Main Control Register (see Section 5.1,
"Main Control Register") and by assertion of the ALERT# pin. The ALERT# pin is cleared when the
INT bit is cleared by the user. When the INT bit is cleared by the user, status bits may be cleared (see
Section 5.2, "Status Registers").
4.8.1
ALERT# Pin
The ALERT# pin is an active low output that is driven when an interrupt event is detected.
4.8.2
DS00001570B-page 24
APPLICATION NOTE: Figure 4.3 and Figure 4.4 show default operation which is to generate an interrupt upon
sensor pad release.
APPLICATION NOTE: The host may need to poll the device twice to determine that a release has been detected.
Interrupt on
Touch
Sensing Cycle
(35ms)
Touch Detected
Interrupt on
Release
(optional)
INT bit
ALERT# pin
Button Status
Interrupt on
Touch
Sensing Cycle
(35ms)
Interrupt on
Release
(optional)
Touch Detected
INT bit
ALERT# pin
Button Status
4.8.3
DS00001570B-page 25
4.8.4
4.8.5
4.8.6
DS00001570B-page 26
R/W
REGISTER NAME
FUNCTION
DEFAULT
VALUE
PAGE
00h
R/W
Main Control
00h
Page 30
02h
R/W
General Status
00h
Page 31
03h
00h
Page 31
0Ah
00h
Page 32
10h
00h
Page 33
11h
00h
Page 33
12h
00h
Page 33
13h
00h
Page 33
14h
00h
Page 33
15h
00h
Page 33
16h
00h
Page 33
17h
00h
Page 33
1Fh
R/W
Sensitivity Control
2Fh
Page 33
20h
R/W
Configuration
20h
Page 35
21h
R/W
FFh
Page 37
22h
R/W
Sensor Input
Configuration
A4h
Page 37
23h
R/W
Sensor Input
Configuration 2
07h
Page 39
24h
R/W
Averaging and
Sampling Config
39h
Page 40
DS00001570B-page 27
R/W
REGISTER NAME
FUNCTION
DEFAULT
VALUE
PAGE
26h
R/W
Calibration Activate
and Status
00h
Page 42
27h
R/W
Interrupt Enable
FFh
Page 43
28h
R/W
FFh
Page 43
2Ah
R/W
Multiple Touch
Configuration
80h
Page 44
2Bh
R/W
00h
Page 45
2Dh
R/W
FFh
Page 46
2Eh
00h
Page 47
2Fh
R/W
Recalibration
Configuration
8Ah
Page 48
30h
R/W
Sensor Input 1
Threshold
40h
Page 49
31h
R/W
Sensor Input 2
Threshold
40h
Page 49
32h
R/W
Sensor Input 3
Threshold
40h
Page 49
33h
R/W
Sensor Input 4
Threshold
40h
Page 49
34h
R/W
Sensor Input 5
Threshold
40h
Page 49
35h
R/W
Sensor Input 6
Threshold
40h
Page 49
36h
R/W
Sensor Input 7
Threshold
40h
Page 50
37h
R/W
Sensor Input 8
Threshold
40h
38h
R/W
01h
Page 50
R/W
Standby Channel
00h
Page 51
41h
R/W
Standby Configuration
39h
Page 51
DS00001570B-page 28
R/W
REGISTER NAME
FUNCTION
DEFAULT
VALUE
PAGE
42h
R/W
Standby Sensitivity
02h
Page 53
43h
R/W
Standby Threshold
40h
Page 54
44h
R/W
Configuration 2
40h
Page 35
C8h
Page 54
51h
C8h
Page 54
52h
C8h
Page 54
53h
C8h
Page 54
54h
C8h
Page 54
55h
C8h
Page 54
56h
C8h
Page 54
57h
C8h
Page 54
R/W
Power Button
00h
Page 55
61h
R/W
Power Button
Configuration
22h
Page 55
Calibration Registers
B1h
B2h
B3h
B4h
B5h
B6h
Sensor Input 1
Calibration
00h
Page 56
Sensor Input 2
Calibration
00h
Page 56
Sensor Input 3
Calibration
00h
Page 56
Sensor Input 4
Calibration
00h
Page 56
Sensor Input 5
Calibration
00h
Page 56
Sensor Input 6
Calibration
00h
Page 56
DS00001570B-page 29
DEFAULT
VALUE
PAGE
00h
Page 56
Sensor Input 8
Calibration
00h
Page 56
Sensor Input
Calibration LSB 1
00h
Page 56
Sensor Input
Calibration LSB 2
00h
Page 56
R/W
REGISTER NAME
FUNCTION
Sensor Input 7
Calibration
ID Registers
FDh
Product ID
6Bh
Page 57
FEh
Manufacturer ID
5Dh
Page 57
FFh
Revision
00h
Page 57
During power-on reset (POR), the default values are stored in the registers. A POR is initiated when
power is first applied to the part and the voltage on the VDD supply surpasses the POR level as
specified in the electrical characteristics.
When a bit is set, this means its at a logic 1. When a bit is cleared, this means its at a logic 0.
5.1
ADDR
R/W
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT
00h
R/W
Main Control
STBY
DSLEEP
INT
00h
The Main Control register controls the primary power state of the device (see Section 4.1, "Power
States").
Bit 5 - STBY - Enables Standby.
1 - The device is in the Standby state. Capacitive touch sensor input scanning is limited to the
sensor inputs set in the Standby Channel register (see Section 5.21, "Standby Channel Register").
The status registers will not be cleared until read. Sensor inputs that are no longer sampled will
flag a release and then remain in a non-touched state.
1 - The device is in the Deep Sleep state. All sensor input scanning is disabled. The status
registers are automatically cleared and the INT bit is cleared. When this bit is set, the STBY bit
has no effect.
DS00001570B-page 30
Bit 0 - INT - Indicates that there is an interrupt (see Section 4.8, "Interrupts"). When this bit is set, it
asserts the ALERT# pin. If a channel detects a touch but interrupts are not enabled for that channel
(see Section 5.12, "Interrupt Enable Register"), no action is taken. This bit is cleared by writing a logic
0 to it. When this bit is cleared, the ALERT# pin will be deasserted, and all status registers will be
cleared if the condition has been removed.
5.2
0 - No interrupt pending.
1 - An interrupt condition occurred, and the ALERT# pin has been asserted.
Status Registers
Table 5.3 Status Registers
ADDR
R/W
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT
02h
General Status
BC_
OUT
ACAL
_FAIL
PWR
RESET
MULT
MTP
TOUCH
00h
03h
Sensor Input
Status
CS8
CS7
CS6
CS5
CS4
CS3
CS2
CS1
00h
All status bits are cleared when the device enters Deep Sleep (DSLEEP = 1 - see Section 5.1, "Main
Control Register").
5.2.1
0 - All enabled sensor inputs have base counts in the operating range.
1 - One or more enabled sensor inputs has the base count out of limit. A status bit is set in the
Base Count Out of Limit Register (see Section 5.17, "Base Count Out of Limit Register").
Bit 5 - ACAL_FAIL - Indicates analog calibration failure for one or more enabled sensor inputs (see
Section 4.4, "Sensor Input Calibration"). This bit will not be cleared until all enabled sensor inputs have
successfully completed analog calibration.
1 - One or more enabled sensor inputs failed analog calibration. A status bit is set in the
Calibration Active Register (see Section 5.11, "Calibration Activate and Status Register").
Bit 4 - PWR - Indicates that the designated power button has been held for the designated time (see
Section 4.5, "Power Button"). This bit will cause the INT bit to be set. This bit is cleared when the INT
bit is cleared if there is no longer a touch on the power button.
0 - The power button has not been held for the required time or is not enabled.
1 - The power button has been held for the required time.
Bit 3 - RESET - Indicates that the device has come out of reset. This bit is set when the device exits
a POR state. 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, "Multiple Touch Configuration Register"). 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 inputs (see Section 5.15,
"Multiple Touch Pattern Configuration Register"). This bit will cause the INT bit to be set if the
2014 Microchip Technology Inc.
DS00001570B-page 31
MTP_ALERT bit is also set. This bit is cleared when the INT bit is cleared if the condition that caused
it to be set has been removed.
Bit 0 - TOUCH - Indicates that a touch was detected. This bit is set if any bit in the Sensor Input Status
register is set.
5.2.2
5.3
ADDR
R/W
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT
0Ah
Noise Flag
Status
CS8_
NOISE
CS7_
NOISE
CS6_
NOISE
CS5_
NOISE
CS4_
NOISE
CS3_
NOISE
CS2_
NOISE
CS1_
NOISE
00h
The Noise Flag Status registers store status bits that can be used to indicate that the analog block
detected noise above the operating region of the analog detector or the RF noise detector (see Section
4.7.3, "Noise Status and Configuration"). 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.6, "Multiple Touch Pattern Detection") even if the corresponding
delta count is not. If the corresponding delta count also exceeds the MTP 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.
DS00001570B-page 32
5.4
ADDR
R/W
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT
10h
Sensor Input 1
Delta Count
Sign
64
32
16
00h
11h
Sensor Input 2
Delta Count
Sign
64
32
16
00h
12h
Sensor Input 3
Delta Count
Sign
64
32
16
00h
13h
Sensor Input 4
Delta Count
Sign
64
32
16
00h
14h
Sensor Input 5
Delta Count
Sign
64
32
16
00h
15h
Sensor Input 6
Delta Count
Sign
64
32
16
00h
16h
Sensor Input 7
Delta Count
Sign
64
32
16
00h
17h
Sensor Input 8
Delta Count
Sign
64
32
16
00h
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 count value. The delta is an instantaneous change and is updated once per sensor
input per sensing cycle (see Section 4.3.2, "Sensing Cycle").
The value presented is a standard 2s 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
ADDR
R/W
REGISTER
B7
1Fh
R/W
Sensitivity Control
B6
B5
B4
DELTA_SENSE[2:0]
B3
B2
B1
B0
DEFAULT
BASE_SHIFT[3:0]
DS00001570B-page 33
2Fh
corresponding to a lighter touch. These settings are more sensitive to noise, 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 sensitive settings, the
MSB of the Delta Count register represents 64 out of ~25,000 which corresponds to a touch
of approximately 0.25% of the base capacitance (or a C of 25fF from a 10pF base
capacitance). Conversely, a value of 1x is the least sensitive setting available. At these
settings, the MSB of the Delta Count register corresponds to a delta count of 8192 counts
out of ~25,000 which corresponds to a touch of approximately 33% of the base capacitance
(or a C of 3.33pF from a 10pF base capacitance).
Table 5.7 DELTA_SENSE Bit Decode
DELTA_SENSE[2:0]
2
SENSITIVITY MULTIPLIER
64x
32x (default)
16x
8x
4x
2x
1x - (least sensitive)
Bits 3 - 0 - BASE_SHIFT[3:0] - Controls the scaling and data presentation of the Base Count registers.
The higher the value of these bits, the larger the range and the lower the resolution of the data
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 or sensitivity. These bits are sometimes helpful in analyzing the Cap Sensing
board performance and stability.
DATA SCALING
FACTOR
1x
2x
4x
8x
16x
32x
DS00001570B-page 34
DATA SCALING
FACTOR
64x
128x
256x
256x
(default = 1111b)
All others
5.6
Configuration Registers
Table 5.9 Configuration Registers
ADDR
R/W
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT
20h
R/W
Configuration
TIME
OUT
DIS_
DIG_
NOISE
DIS_
ANA_
NOISE
MAX_
DUR_EN
20h
44h
R/W
Configuration
2
BC_
OUT_
RECAL
BLK_
PWR_
CTRL
BC_
OUT_
INT
SHOW_
RF_
NOISE
DIS_
RF_
NOISE
ACAL
_FAIL
_INT
INT_
REL_
n
40h
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) - The SMBus timeout and idle functionality are disabled. The SMBus interface will not
time out if the clock line is held low. Likewise, it will not reset if both the data and clock lines are
held high for longer than 200us.
1 - The SMBus timeout and idle functionality are enabled. The SMBus interface will reset 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 5 - DIS_DIG_NOISE - Determines whether the digital noise threshold (see Section 5.20, "Sensor
Input Noise Threshold Register") is used by the device. Setting this bit disables the feature.
0 - The digital noise threshold is used. If a delta count value exceeds the noise threshold but does
not exceed the touch threshold, the sample is discarded and not used for the automatic
recalibration routine.
1 (default) - The noise threshold is disabled. Any delta count that is less than the touch threshold
is used for the automatic recalibration routine.
Bit 4 - DIS_ANA_NOISE - Determines whether the analog noise filter is enabled. Setting this bit
disables the feature.
0 (default) - If low frequency noise is detected by the analog block, the delta count on the
corresponding channel is set to 0. Note that this does not require that Noise Status bits be set.
DS00001570B-page 35
5.6.2
0 (default) - The maximum duration recalibration functionality is disabled. A touch may be held
indefinitely and no recalibration will be performed on any sensor input.
1 - The maximum duration recalibration functionality is enabled. If a touch is held for longer than
the MAX_DUR bit settings (see Section 5.8), the recalibration routine will be restarted (see Section
4.4.3, "Delayed Recalibration").
Configuration 2 - 44h
Bit 6 - BC_OUT_RECAL - Controls whether to retry analog calibration when the base count is out of
limit for one or more sensor inputs.
0 - When the BC_OUTx bit is set for a sensor input, the out of limit base count will be used for
the sensor input.
1 (default) - When the BC_OUTx bit is set for a sensor input (see Section 5.17, "Base Count Out
of Limit Register"), analog calibration will be repeated on the sensor input.
Bit 5 - BLK_PWR_CTRL - Determines whether the device will reduce power consumption while waiting
between conversion time completion and the end of the sensing cycle.
0 (default) - The device will reduce power consumption during the time between the end of the
last conversion and the end of the sensing cycle.
1 - The device will not reduce power consumption during the time between the end of the last
conversion and the end of the sensing cycle.
Bit 4 - BC_OUT_INT - Controls the interrupt behavior when the base count is out of limit for one or
more sensor inputs.
0 (default) - An interrupt is not generated when the BC_OUT bit is set (see Section 5.2, "Status
Registers").
Bit 3 - SHOW_RF_NOISE - Determines whether the Noise Status bits will show RF Noise as the only
input source.
0 (default) - The Noise Status registers will show both RF noise and low frequency noise if either
is detected on a capacitive touch sensor input.
1 - The Noise Status registers will only show RF noise if it is detected on a capacitive touch sensor
input. Low frequency noise will still be detected and touches will be blocked normally; however, the
status bits will not be updated.
Bit 2 - DIS_RF_NOISE - Determines whether the RF noise filter is enabled. Setting this bit disables
the feature.
0 (default) - If RF noise is detected by the analog block, the delta count on the corresponding
channel is set to 0. Note that this does not require that Noise Status bits be set.
Bit 1 - ACAL_FAIL_INT - Controls the interrupt behavior when analog calibration fails for one or more
sensor inputs (see Section 4.4, "Sensor Input Calibration").
0 (default) - An interrupt is not generated when the ACAL_FAIL bit is set (see Section 5.2, "Status
Registers").
Bit 0 - INT_REL_n - Controls the interrupt behavior when a release is detected on a button (see
Section 4.8.2, "Capacitive Sensor Input Interrupt Behavior").
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.
DS00001570B-page 36
5.7
ADDR
R/W
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT
21h
R/W
Sensor Input
Enable
CS8_EN
CS7_EN
CS6_EN
CS5_EN
CS4_EN
CS3_EN
CS2_EN
CS1_EN
FFh
The Sensor Input Enable register determines whether a capacitive touch sensor input is included in
the sensing cycle in the Active state.
For all bits in this register:
0 - The specified input is not included in the sensing cycle in the Active state.
1 (default) - The specified input is included in the sensing cycle in the Active state.
Bit 7 - CS8_EN - Determines whether the CS8 input is monitored in the Active state.
Bit 6 - CS7_EN - Determines whether the CS7 input is monitored in the Active state.
Bit 5 - CS6_EN - Determines whether the CS6 input is monitored in the Active state.
Bit 4 - CS5_EN - Determines whether the CS5 input is monitored in the Active state.
Bit 3 - CS4_EN - Determines whether the CS4 input is monitored in the Active state.
Bit 2 - CS3_EN - Determines whether the CS3 input is monitored in the Active state.
Bit 1 - CS2_EN - Determines whether the CS2 input is monitored in the Active state.
Bit 0 - CS1_EN - Determines whether the CS1 input is monitored in the Active state.
5.8
ADDR
R/W
REGISTER
22h
R/W
Sensor Input
Configuration
B7
B6
B5
B4
B3
MAX_DUR[3:0]
B2
B1
B0
DEFAULT
RPT_RATE[3:0]
A4h
The Sensor Input Configuration Register controls timings associated with the capacitive sensor inputs.
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 (see Section 4.4.3,
"Delayed Recalibration"), as shown in Table 5.12.
560ms
840ms
DS00001570B-page 37
1120ms
1400ms
1680ms
2240ms
2800ms
3360ms
3920ms
4480ms
5600ms (default)
6720ms
7840ms
8906ms
10080ms
11200ms
Bits 3 - 0 - RPT_RATE[3:0] - (default 0100b) Determines the time duration between interrupt assertions
when auto repeat is enabled (see Section 4.8.2, "Capacitive Sensor Input Interrupt Behavior"). The
resolution is 35ms and the range is from 35ms to 560ms as shown in Table 5.13.
35ms
70ms
105ms
140ms
175ms (default)
210ms
245ms
280ms
315ms
350ms
DS00001570B-page 38
385ms
420ms
455ms
490ms
525ms
560ms
5.9
ADDR
R/W
REGISTER
B7
B6
B5
B4
23h
R/W
Sensor Input
Configuration 2
B3
B2
B1
B0
M_PRESS[3:0]
DEFAULT
07h
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 event
(see Section 4.8.2, "Capacitive Sensor Input Interrupt Behavior"). 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 and the range is from 35ms to 560ms as shown in Table 5.15.
M_PRESS SETTINGS
35ms
70ms
105ms
140ms
175ms
210ms
245ms
280ms (default)
315ms
DS00001570B-page 39
M_PRESS SETTINGS
350ms
385ms
420ms
455ms
490ms
525ms
560ms
5.10
ADDR
R/W
REGISTER
B7
24h
R/W
Averaging and
Sampling
Config
B6
B5
B4
AVG[2:0]
B3
B2
SAMP_TIME[1:0]
B1
B0
DEFAULT
CYCLE_TIME
[1:0]
39h
The Averaging and Sampling Configuration register controls the number of samples taken and the
target sensing cycle time for sensor inputs enabled in the Active state.
Bits 6 - 4 - AVG[2:0] - Determines the number of samples that are taken for all channels enabled in
the Active state during the sensing cycle as shown in Table 5.17. 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.
For example, if CS1, CS2, and CS3 are sampled during the sensing cycle, and the AVG[2:0] bits are
set to take 4 samples per channel, then the full sensing cycle will be: CS1, CS1, CS1, CS1, CS2, CS2,
CS2, CS2, CS3, CS3, CS3, CS3.
8 (default)
16
32
DS00001570B-page 40
64
128
Bits 3 - 2 - SAMP_TIME[1:0] - Determines the time to take a single sample as shown in Table 5.18.
Sample time affects the magnitude of the base counts, as shown in Table 4.1, "Ideal Base Counts".
SAMPLE TIME
320us
640us
1.28ms (default)
2.56ms
Bits 1 - 0 - CYCLE_TIME[1:0] - Determines the desired sensing cycle time for channels enabled in the
Active state, as shown in Table 5.19. All enabled channels are sampled at the beginning of the sensing
cycle. If additional time is remaining, the device is placed into a lower power state for the remainder
of the sensing cycle.
35ms
70ms (default)
105ms
140ms
APPLICATION NOTE: The programmed sensing cycle time (CYCLE_TIME[1:0]) is only maintained if the actual time
to take the samples is less than the programmed cycle time. The AVG[2:0] bits will take
priority, so the sensing cycle time will be extended as necessary to accommodate the
number of samples to be measured.
DS00001570B-page 41
5.11
ADDR
R/W
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT
26h
R/W
Calibration
Activate
and Status
CS8_
CAL
CS7_
CAL
CS6_
CAL
CS5_
CAL
CS4_
CAL
CS3_
CAL
CS2_
CAL
CS1_
CAL
00h
0 - No action needed.
1 - Writing a 1, forces a calibration on the corresponding sensor input. If the ACAL_FAIL flag is
set and this bit is set (see application note above), the sensor input could not complete analog
calibration.
DS00001570B-page 42
APPLICATION NOTE: Writing a 0 to clear a 1 may cause a planned calibration to be skipped, if the calibration
routine had not reached the sensor input yet.
5.12
ADDR
R/W
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT
27h
R/W
Interrupt
Enable
CS8_
INT_EN
CS7_
INT_EN
CS6_
INT_EN
CS5_
INT_EN
CS4_
INT_EN
CS3_
INT_EN
CS2_
INT_EN
CS1_
INT_EN
FFh
The Interrupt Enable register determines whether a sensor pad touch or release (if enabled) causes
an interrupt (see Section 4.8, "Interrupts").
For all bits in this register:
0 - The ALERT# pin will not be asserted if a touch is detected on the specified sensor input.
1 (default) - The ALERT# pin will be asserted if a touch is detected on the specified sensor input.
Bit 7 - CS8_INT_EN - Enables the ALERT# pin to be asserted if a touch is detected on CS8
(associated with the CS8 status bit).
Bit 6 - CS7_INT_EN - Enables the ALERT# pin to be asserted if a touch is detected on CS7
(associated with the CS7 status bit).
Bit 5 - CS6_INT_EN - Enables the ALERT# pin to be asserted if a touch is detected on CS6
(associated with the CS6 status bit).
Bit 4 - CS5_INT_EN - Enables the ALERT# pin to be asserted if a touch is detected on CS5
(associated with the CS5 status bit).
Bit 3 - CS4_INT_EN - Enables the ALERT# pin to be asserted if a touch is detected on CS4
(associated with the CS4 status bit).
Bit 2 - CS3_INT_EN - Enables the ALERT# pin to be asserted if a touch is detected on CS3
(associated with the CS3 status bit).
Bit 1 - CS2_INT_EN - Enables the ALERT# pin to be asserted if a touch is detected on CS2
(associated with the CS2 status bit).
Bit 0 - CS1_INT_EN - Enables the ALERT# pin to be asserted if a touch is detected on CS1
(associated with the CS1 status bit).
5.13
ADDR
R/W
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT
28h
R/W
Repeat Rate
Enable
CS8_
RPT_EN
CS7_
RPT_EN
CS6_
RPT_EN
CS5_
RPT_EN
CS4_
RPT_EN
CS3_
RPT_EN
CS2_
RPT_EN
CS1_
RPT_EN
FFh
The Repeat Rate Enable register enables the repeat rate of the sensor inputs as described in Section
4.8.2, "Capacitive Sensor Input Interrupt Behavior".
DS00001570B-page 43
0 - The repeat rate for the specified sensor input is disabled. It will only generate an interrupt when
a touch is detected and when a release is detected (if enabled) no matter how long the touch is
held.
1 (default) - The repeat rate for the specified sensor input is enabled. In the case of a touch
event, it will generate an interrupt when a touch is detected and a release is detected (as
determined by the INT_REL_n bit - see Section 5.6, "Configuration Registers"). 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 7 - CS8_RPT_EN - Enables the repeat rate for capacitive touch sensor input 8.
Bit 6 - CS7_RPT_EN - Enables the repeat rate for capacitive touch sensor input 7.
Bit 5 - CS6_RPT_EN - Enables the repeat rate for capacitive touch sensor input 6.
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
ADDR
R/W
REGISTER
B7
B6
B5
B4
2Ah
R/W
Multiple Touch
Config
MULT_
BLK_
EN
B3
B2
B_MULT_T[1:0]
B1
B0
DEFAULT
80h
The Multiple Touch Configuration register controls the settings for the multiple touch 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 programmed multiple touch threshold and block all others. It will remember 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 sensing cycle order of CS1 - CS8)
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.24.
DS00001570B-page 44
5.15
1 (default)
ADDR
R/W
REGISTER
B7
B6
B5
B4
2Bh
R/W
Multiple Touch
Pattern Config
MTP_ EN
B3
B2
MTP_TH[1:0]
B1
B0
DEFAULT
COMP_
PTRN
MTP_
ALERT
00h
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 Touch 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
(see Section 5.16, "Multiple Touch Pattern Register"). 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 threshold 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.
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.
Bits 3 - 2 - MTP_TH[1:0] - Determine the MTP threshold, as shown in Table 5.26. This threshold is a
percentage of sensor input threshold (see Section 5.19, "Sensor Input Threshold Registers") for inputs
enabled in the Active state or of the standby threshold (see Section 5.24, "Standby Threshold
Register") for inputs enabled in the Standby state.
DS00001570B-page 45
12.5% (default)
25%
37.5%
100%
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 that 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.
5.16
ADDR
R/W
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT
2Dh
R/W
Multiple
Touch
Pattern
CS8_
PTRN
CS7_
PTRN
CS6_
PTRN
CS5_
PTRN
CS4_
PTRN
CS3_
PTRN
CS2_
PTRN
CS1_
PTRN
FFh
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
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 sensing 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 sensing 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.
DS00001570B-page 46
1 - The specified sensor input is considered a part of the pattern, or the absolute number of sensor
inputs that must have a delta count greater than the MTP threshold or have the Noise Flag Status
bit set is increased by 1.
Bit 7 - CS8_PTRN - Determines whether CS8 is considered as part of the Multiple Touch Pattern.
Bit 6 - CS7_PTRN - Determines whether CS7 is considered as part of the Multiple Touch Pattern.
Bit 5 - CS6_PTRN - Determines whether CS6 is considered as part of the Multiple Touch Pattern.
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
ADDR
R/W
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT
2Eh
Base Count
Out of Limit
BC_
OUT_
8
BC_
OUT_
7
BC_
OUT_
6
BC_
OUT_
5
BC_
OUT_
4
BC_
OUT_
3
BC_
OUT_
2
BC_
OUT_
1
00h
The Base Count Out of Limit Register indicates which sensor inputs have base counts out of limit (see
Section 4.4, "Sensor Input Calibration"). When these bits are set, the BC_OUT bit is set (see Section
5.2, "Status Registers").
For all bits in this register:
0 - The base count for the specified sensor input is in the operating range.
1 - The base count of the specified sensor input is not in the operating range.
Bit 7 - BC_OUT_8 - Indicates whether CS8 has a base count out of limit.
Bit 6 - BC_OUT_7 - Indicates whether CS7 has a base count out of limit.
Bit 5 - BC_OUT_6 - Indicates whether CS6 has a base count out of limit.
Bit 4 - BC_OUT_5 - Indicates whether CS6 has a base count out of limit.
Bit 3 - BC_OUT_4 - Indicates whether CS6 has a base count out of limit.
Bit 2 - BC_OUT_3 - Indicates whether CS3 has a base count out of limit.
Bit 1 - BC_OUT_2 - Indicates whether CS2 has a base count out of limit.
Bit 0 - BC_OUT_1 - Indicates whether CS1 has a base count out of limit.
DS00001570B-page 47
5.18
ADDR
R/W
REGISTER
B7
B6
B5
2Fh
R/W
Recalibration
Configuration
BUT_
LD_TH
NO_CLR
_INTD
NO_CLR
_NEG
B4
B3
B2
NEG_DELTA_
CNT[1:0]
B1
B0
DEFAULT
CAL_CFG[2:0]
8Ah
The Recalibration Configuration register controls some recalibration routine settings (see Section 4.4,
"Sensor Input Calibration") 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.
1 (default) - Writing the Sensor Input 1 Threshold register will automatically overwrite the Sensor
Input Threshold registers for all sensor inputs (Sensor Input Threshold 1 through Sensor Input
Threshold 8). The individual Sensor Input X Threshold registers (Sensor Input 2 Threshold through
Sensor Input 8 Threshold) can be individually updated at any time.
Bit 6 - NO_CLR_INTD - Controls whether the accumulation of intermediate data is cleared if the noise
status bit is set.
0 (default) - The accumulation of intermediate data is cleared if the noise status bit is set.
1 - The accumulation of intermediate data is not cleared if the noise status bit is set.
APPLICATION NOTE: Bits 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.
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.
16 (default)
32
None (disabled)
Bits 2 - 0 - CAL_CFG[2:0] - Determines the update time and number of samples of the automatic
recalibration routine (see Section 4.4.1, "Automatic Recalibration"). The settings apply to all sensor
DS00001570B-page 48
inputs universally (though individual sensor inputs can be configured to support recalibration - see
Section 5.11).
RECALIBRATION
SAMPLES (SEE
Note 5.1)
16
16
32
32
64
64 (default)
128
128
256
256
256
1024
256
2048
256
4096
5.19
Note 5.1
Recalibration Samples refers to the number of samples that are measured and averaged
before the Base Count is updated however does not control the base count update period.
Note 5.2
Update Time refers to the amount of time (in sensing cycle periods) that elapses before
the Base Count is updated. The time will depend upon the number of channels enabled,
the averaging setting, and the programmed sensing cycle time.
ADDR
R/W
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT
30h
R/W
Sensor Input 1
Threshold
64
32
16
40h
31h
R/W
Sensor Input 2
Threshold
64
32
16
40h
32h
R/W
Sensor Input 3
Threshold
64
32
16
40h
33h
R/W
Sensor Input 4
Threshold
64
32
16
40h
34h
R/W
Sensor Input 5
Threshold
64
32
16
40h
35h
R/W
Sensor Input 6
Threshold
64
32
16
40h
DS00001570B-page 49
R/W
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT
36h
R/W
Sensor Input 7
Threshold
64
32
16
40h
37h
R/W
Sensor Input 8
Threshold
64
32
16
40h
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 exceeds the threshold settings,
a touch is detected.
When the BUT_LD_TH bit is set (see Section 5.18 - bit 7), writing data to the Sensor Input 1 Threshold
register will update all of the Sensor Input Threshold registers (31h - 37h inclusive).
5.20
ADDR
R/W
REGISTER
B7
B6
B5
B4
B3
B2
38h
R/W
Sensor Input
Noise Threshold
B1
B0
DEFAULT
CS_BN_TH
[1:0]
01h
The Sensor Input Noise Threshold register controls the value of a secondary internal threshold to
detect noise and improve the automatic recalibration routine. If a capacitive touch sensor input 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 recalibration 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.
25%
37.5% (default)
50%
62.5%
DS00001570B-page 50
5.21
ADDR
R/W
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT
40h
R/W
Standby
Channel
CS8_
STBY
CS7_
STBY
CS6_
STBY
CS5_
STBY
CS4_
STBY
CS3_
STBY
CS2_
STBY
CS1_
STBY
00h
The Standby Channel register controls which (if any) capacitive touch sensor inputs are enabled in
Standby (see Section 4.3.1.2, "Standby State Sensing Settings").
For all bits in this register:
1 - The specified channel will be monitored in Standby. It will use the standby threshold setting,
and the standby averaging and sensitivity settings.
5.22
ADDR
R/W
REGISTER
B7
41h
R/W
Standby
Configuration
AVG_
SUM
B6
B5
STBY_AVG[2:0]
B4
B3
B2
STBY_SAMP_
TIME[1:0]
B1
B0
DEFAULT
STBY_CY_TIME
[1:0]
39h
The Standby Configuration register controls averaging and sensing cycle time for sensor inputs
enabled in Standby. This register allows the user to change averaging and sample times on a limited
number of sensor inputs in Standby and still maintain normal functionality in the Active state.
Bit 7 - AVG_SUM - Determines whether the sensor inputs enabled in Standby will average the
programmed number of samples or whether they will accumulate for the programmed number of
samples.
0 - (default) - The Standby enabled sensor input delta count values will be based on the average
of the programmed number of samples when compared against the threshold.
1 - The Standby enabled sensor input delta count values will be based on the summation of the
programmed number of samples when compared against the threshold. Caution should be used
with this setting as a touch may overflow the delta count registers and may result in false readings.
DS00001570B-page 51
Bits 6 - 4 - STBY_AVG[2:0] - Determines the number of samples that are taken for all Standby enabled
channels during the sensing 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.
8 (default)
16
32
64
128
Bit 3 - 2 - STBY_SAMP_TIME[1:0] - Determines the time to take a single sample for sensor inputs
enabled in Standby as shown in Table 5.38.
SAMPLING TIME
320us
640us
1.28ms (default)
2.56ms
Bits 1 - 0 - STBY_CY_TIME[2:0] - Determines the desired sensing cycle time for sensor inputs enabled
during Standby, as shown in Table 5.39. All enabled channels are sampled at the beginning of the
sensing cycle. If additional time is remaining, the device is placed into a lower power state for the
remainder of the sensing cycle.
35ms
70ms (default)
DS00001570B-page 52
105ms
140ms
APPLICATION NOTE: The programmed sensing cycle time (STDBY_CY_TIME[1:0] is only maintained if the actual
time to take the samples is less than the programmed cycle time. The STBY_AVG[2:0] bits
will take priority, so the sensing cycle time will be extended as necessary to accommodate
the number of samples to be measured.
5.23
ADDR
R/W
REGISTER
B7
B6
B5
B4
B3
42h
R/W
Standby
Sensitivity
B2
B1
B0
DEFAULT
STBY_SENSE[2:0]
02h
The Standby Sensitivity register controls the sensitivity for sensor inputs enabled in Standby.
Bits 2 - 0 - STBY_SENSE[2:0] - Controls the sensitivity for sensor inputs that are enabled 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 capacitance 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 represents 64 out of ~25,000 which corresponds to a touch
of approximately 0.25% of the base capacitance (or a C of 25fF from a 10pF base
capacitance). Conversely a value of 1x is the least sensitive setting available. At these
settings, the MSB of the Delta Count register corresponds to a delta count of 8192 counts
out of ~25,000 which corresponds to a touch of approximately 33% of the base capacitance
(or a C of 3.33pF from a 10pF base capacitance).
Table 5.41 STBY_SENSE Bit Decode
STBY_SENSE[2:0]
2
SENSITIVITY MULTIPLIER
64x
32x (default)
16x
8x
DS00001570B-page 53
5.24
SENSITIVITY MULTIPLIER
4x
2x
1x - (least sensitive)
ADDR
R/W
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT
43h
R/W
Standby
Threshold
64
32
16
40h
The Standby Threshold register stores 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 exceeds the threshold settings, a
touch is detected.
5.25
ADDR
R/W
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT
50h
Sensor Input 1
Base Count
128
64
32
16
C8h
51h
Sensor Input 2
Base Count
128
64
32
16
C8h
52h
Sensor Input 3
Base Count
128
64
32
16
C8h
53h
Sensor Input 4
Base Count
128
64
32
16
C8h
54h
Sensor Input 5
Base Count
128
64
32
16
C8h
55h
Sensor Input 6
Base Count
128
64
32
16
C8h
56h
Sensor Input 7
Base Count
128
64
32
16
C8h
57h
Sensor Input 8
Base Count
128
64
32
16
C8h
DS00001570B-page 54
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 calibration and
recalibration routines.
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 recalibration routine
continues.
The data presented is determined by the BASE_SHIFT[3:0] bits (see Section 5.5).
5.26
ADDR
R/W
REGISTER
B7
B6
B5
B4
B3
60h
R/W
Power Button
B2
B1
B0
DEFAULT
PWR_BTN[2:0]
00h
The Power Button Register indicates the sensor input that has been designated as the power button
(see Section 4.5, "Power Button").
Bits 2 - 0 - PWR_BTN[2:0] - When the power button feature is enabled, this control indicates the
sensor input to be used as the power button. The decode is shown in Table 5.45.
CS1
CS2
CS3
CS4
CS5
CS6
CS7
CS8
5.27
ADDR
R/W
REGISTER
B7
B6
61h
R/W
Power Button
Configuration
STBY_
PWR_
EN
B5
B4
STBY_PWR_
TIME [1:0]
B3
B2
PWR_
EN
B1
B0
PWR_TIME [1:0]
DEFAULT
22h
DS00001570B-page 55
The Power Button Configuration Register controls the length of time that the designated power button
must indicate a touch before an interrupt is generated and the power status indicator is set (see
Section 4.5, "Power Button").
Bit 6 - STBY_PWR_EN - Enables the power button feature in the Standby state.
Bits 5 - 4 - STBY_PWR_TIME[1:0] - Determines the overall time, as shown in Table 5.47, that the
power button must be held in the Standby state, in order for an interrupt to be generated and the PWR
bit to be set.
Bit 2 - PWR_EN - Enables the power button feature in the Active state.
Bits 1 - 0 - PWR_TIME[1:0] - Determines the overall time, as shown in Table 5.47, that the power
button must be held in the Active state, in order for an interrupt to be generated and the PWR bit to
be set.
5.28
280ms
560ms
2.24 sec
ADDR
REGISTER
R/W
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT
B1h
Sensor Input 1
Calibration
CAL1_9
CAL1_8
CAL1_7
CAL1_6
CAL1_5
CAL1_4
CAL1_3
CAL1_2
00h
B2h
Sensor Input 2
Calibration
CAL2_9
CAL2_8
CAL2_7
CAL2_6
CAL2_5
CAL2_4
CAL2_3
CAL2_2
00h
B3h
Sensor Input 3
Calibration
CAL3_9
CAL3_8
CAL3_7
CAL3_6
CAL3_5
CAL3_4
CAL3_3
CAL3_2
00h
B4h
Sensor Input 4
Calibration
CAL4_9
CAL4_8
CAL4_7
CAL4_6
CAL4_5
CAL4_4
CAL4_3
CAL4_2
00h
B5h
Sensor Input 5
Calibration
CAL5_9
CAL5_8
CAL5_7
CAL5_6
CAL5_5
CAL5_4
CAL5_3
CAL5_2
00h
B6h
Sensor Input 6
Calibration
CAL6_9
CAL6_8
CAL6_7
CAL6_6
CAL6_5
CAL6_4
CAL6_3
CAL6_2
00h
DS00001570B-page 56
REGISTER
R/W
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT
B7h
Sensor Input 7
Calibration
CAL7_9
CAL7_8
CAL7_7
CAL7_6
CAL7_5
CAL7_4
CAL7_3
CAL7_2
00h
B8h
Sensor Input 8
Calibration
CAL8_9
CAL8_8
CAL8_7
CAL8_6
CAL8_5
CAL8_4
CAL8_3
CAL8_2
00h
B9h
Sensor Input
Calibration
LSB 1
CAL4_1
CAL4_0
CAL3_1
CAL3_0
CAL2_1
CAL2_0
CAL1_1
CAL1_0
00h
BAh
Sensor Input
Calibration
LSB 2
CAL8_1
CAL8_0
CAL7_1
CAL7_0
CAL6_1
CAL6_0
CAL5_1
CAL5_0
00h
The Sensor Input Calibration registers hold the 10-bit value that represents the last calibration value.
The value represents the capacitance applied to the internal sensing circuits to balance the
capacitance of the sensor input pad. Minimum (000h) and maximum (3FFh) values indicate analog
calibration failure (see Section 4.4, "Sensor Input Calibration").
5.29
Product ID Register
Table 5.49 Product ID Register
ADDR
R/W
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT
FDh
Product ID
CAP1208
6Bh
The Product ID register stores a unique 8-bit value that identifies the device.
5.30
Manufacturer ID Register
Table 5.50 Vendor ID Register
ADDR
R/W
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT
FEh
Manufacturer ID
5Dh
5.31
Revision Register
Table 5.51 Revision Register
ADDR
R/W
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
DEFAULT
FFh
Revision
00h
The Revision register stores an 8-bit value that represents the part revision.
2014 Microchip Technology Inc.
DS00001570B-page 57
DS00001570B-page 58
DS00001570B-page 59
Figure 6.3 CAP1208 PCB Land Pattern and Stencil - 16-Pin QFN 3mm x 3mm
DS00001570B-page 60
6.2
Package Marking
TOP
LINE 1: Device code, first 2 of last 6
digits of lot number
L
e3
PIN 1
BOTTOM
BOTTOM MARKING IS NOT ALLOWED
Figure 6.4 CAP1208-1 Package Marking
TOP
LINE 1: Device code, first 2 of last 6
digits of lot number
LINE 2: Last 4 digits of lot number
H 2
e3
PIN 1
BOTTOM
BOTTOM MARKING IS NOT ALLOWED
DS00001570B-page 61
REGISTER DELTA
DELTA
DEFAULT
00h
Page 30
00h
02h
Page 31
00h
04h
removed register
n/a
20h
Page 35
20h
DS00001570B-page 62
REGISTER DELTA
DELTA
DEFAULT
26h
Page 42
Renamed Calibration
Activate and Status
Register and added
functionality
00h
2Eh
Page 47
00h
44h
Page 35
40h
60h
Page 55
00h
61h
Page 55
00h
71h
removed register
n/a
72h
Removed - Sensor
Input LED Linking
Register
removed register
n/a
73h
Removed - LED
Polarity Register
removed register
n/a
74h
removed register
n/a
77h
removed register
n/a
79h
removed register
n/a
81h
Removed - LED 1
Behavior Register
removed register
n/a
82h
Removed - LED
Behavior Register 2
removed register
n/a
84h
removed register
n/a
85h
removed register
n/a
86h
Removed - LED
Breathe Period
Register
removed register
n/a
88h
removed register
n/a
90h
removed register
n/a
DS00001570B-page 63
REGISTER DELTA
DELTA
DEFAULT
91h
removed register
n/a
92h
Removed - LED
Breathe Duty Cycle
Register
removed register
n/a
93h
removed register
n/a
94h
removed register
n/a
95h
removed register
n/a
FDh
Page 57
Changed - Product ID
6Bh
FFh
Page 57
Changed - Revision
Register
Revision changed.
00h
DS00001570B-page 64
SECTION/FIGURE/ENTRY
CORRECTION
Added CAP1208-2 information to the following
sections:
Ordering information
Section 3.2.2, "SMBus Address and RD / WR Bit"
Table 3.2, "Write Byte Protocol"
Table 3.3, "Read Byte Protocol"
Table 3.4, "Send Byte Protocol"
Table 3.5, "Receive Byte Protocol"
Table 3.6, "Block Read Protocol"
Table 3.7, "Block Write Protocol"
Added Figure 6.5, "CAP1208-2 Package Marking"
Updated Worldwide Sales and Service Listing
DS00001570B-page 65
Microchip products meet the specification contained in their particular Microchip Data Sheet.
Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the
intended manner and under normal conditions.
There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our
knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchips Data
Sheets. Most likely, the person doing so is engaged in theft of intellectual property.
Microchip is willing to work with the customer who is concerned about the integrity of their code.
Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not
mean that we are guaranteeing the product as unbreakable.
Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our
products. Attempts to break Microchips code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts
allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act.
Information contained in this publication regarding device applications and the like is provided only for your convenience and may be
superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO
REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR
OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE,
MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of
Microchip devices in life support and/or safety applications is entirely at the buyers risk, and the buyer agrees to defend, indemnify and
hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.
Trademarks
The Microchip name and logo, the Microchip logo, dsPIC, FlashFlex, KEELOQ, KEELOQ logo, MPLAB, PIC, PICmicro, PICSTART, PIC32
logo, rfPIC, SST, SST Logo, SuperFlash and UNI/O are registered trademarks of Microchip Technology Incorporated in the U.S.A. and
other countries.
FilterLab, Hampshire, HI-TECH C, Linear Active Thermistor, MTP, SEEVAL and The Embedded Control Solutions Company are
registered trademarks of Microchip Technology Incorporated in the U.S.A.
Silicon Storage Technology is a registered trademark of Microchip Technology Inc. in other countries.
Analog-for-the-Digital Age, Application Maestro, BodyCom, chipKIT, chipKIT logo, CodeGuard, dsPICDEM, dsPICDEM.net,
dsPICworks, dsSPEAK, ECAN, ECONOMONITOR, FanSense, HI-TIDE, In-Circuit Serial Programming, ICSP, Mindi, MiWi, MPASM,
MPF, MPLAB Certified logo, MPLIB, MPLINK, mTouch, Omniscient Code Generation, PICC, PICC-18, PICDEM, PICDEM.net, PICkit,
PICtail, REAL ICE, rfLAB, Select Mode, SQI, Serial Quad I/O, Total Endurance, TSHARC, UniWinDriver, WiperLock, ZENA and ZScale are trademarks of Microchip Technology Incorporated in the U.S.A. and other countries.
SQTP is a service mark of Microchip Technology Incorporated in the U.S.A.
GestIC and ULPP are registered trademarks of Microchip Technology Germany II GmbH & Co. KG, a subsidiary of Microchip
Technology Inc., in other countries.
A more complete list of registered trademarks and common law trademarks owned by Standard Microsystems Corporation (SMSC)
is available at: www.smsc.com. The absence of a trademark (name, logo, etc.) from the list does not constitute a waiver of any
intellectual property rights that SMSC has established in any of its trademarks.
All other trademarks mentioned herein are property of their respective companies.
2014, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved.
ISBN: 9781620779156
== ISO/TS 16949 ==
DS00001570B-page 66
ASIA/PACIFIC
ASIA/PACIFIC
EUROPE
Corporate Office
2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Tel: 480-792-7200
Fax: 480-792-7277
Technical Support:
http://www.microchip.com/
support
Web Address:
www.microchip.com
India - Bangalore
Tel: 91-80-3090-4444
Fax: 91-80-3090-4123
Austria - Wels
Tel: 43-7242-2244-39
Fax: 43-7242-2244-393
Denmark - Copenhagen
Tel: 45-4450-2828
Fax: 45-4485-2829
Australia - Sydney
Tel: 61-2-9868-6733
Fax: 61-2-9868-6755
Atlanta
Duluth, GA
Tel: 678-957-9614
Fax: 678-957-1455
China - Beijing
Tel: 86-10-8569-7000
Fax: 86-10-8528-2104
Austin, TX
Tel: 512-257-3370
China - Chengdu
Tel: 86-28-8665-5511
Fax: 86-28-8665-7889
Boston
Westborough, MA
Tel: 774-760-0087
Fax: 774-760-0088
Chicago
Itasca, IL
Tel: 630-285-0071
Fax: 630-285-0075
Cleveland
Independence, OH
Tel: 216-447-0464
Fax: 216-447-0643
Dallas
Addison, TX
Tel: 972-818-7423
Fax: 972-818-2924
Detroit
Novi, MI
Tel: 248-848-4000
Houston, TX
Tel: 281-894-5983
Indianapolis
Noblesville, IN
Tel: 317-773-8323
Fax: 317-773-5453
Los Angeles
Mission Viejo, CA
Tel: 949-462-9523
Fax: 949-462-9608
New York, NY
Tel: 631-435-6000
San Jose, CA
Tel: 408-735-9110
Canada - Toronto
Tel: 905-673-0699
Fax: 905-673-6509
DS00001570B-page 67
China - Chongqing
Tel: 86-23-8980-9588
Fax: 86-23-8980-9500
China - Hangzhou
Tel: 86-571-2819-3187
Fax: 86-571-2819-3189
China - Hong Kong SAR
Tel: 852-2943-5100
Fax: 852-2401-3431
China - Nanjing
Tel: 86-25-8473-2460
Fax: 86-25-8473-2470
China - Qingdao
Tel: 86-532-8502-7355
Fax: 86-532-8502-7205
China - Shanghai
Tel: 86-21-5407-5533
Fax: 86-21-5407-5066
China - Shenyang
Tel: 86-24-2334-2829
Fax: 86-24-2334-2393
China - Shenzhen
Tel: 86-755-8864-2200
Fax: 86-755-8203-1760
China - Wuhan
Tel: 86-27-5980-5300
Fax: 86-27-5980-5118
China - Xian
Tel: 86-29-8833-7252
Fax: 86-29-8833-7256
France - Paris
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79
Germany - Dusseldorf
Tel: 49-2129-3766400
Germany - Munich
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44
Germany - Pforzheim
Tel: 49-7231-424750
Italy - Milan
Tel: 39-0331-742611
Fax: 39-0331-466781
Italy - Venice
Tel: 39-049-7625286
Netherlands - Drunen
Tel: 31-416-690399
Fax: 31-416-690340
Malaysia - Penang
Tel: 60-4-227-8870
Fax: 60-4-227-4068
Poland - Warsaw
Tel: 48-22-3325737
Philippines - Manila
Tel: 63-2-634-9065
Fax: 63-2-634-9069
Singapore
Tel: 65-6334-8870
Fax: 65-6334-8850
Taiwan - Hsin Chu
Tel: 886-3-5778-366
Fax: 886-3-5770-955
Spain - Madrid
Tel: 34-91-708-08-90
Fax: 34-91-708-08-91
Sweden - Stockholm
Tel: 46-8-5090-4654
UK - Wokingham
Tel: 44-118-921-5800
Fax: 44-118-921-5820
Taiwan - Kaohsiung
Tel: 886-7-213-7830
Taiwan - Taipei
Tel: 886-2-2508-8600
Fax: 886-2-2508-0102
Thailand - Bangkok
Tel: 66-2-694-1351
Fax: 66-2-694-1350
China - Xiamen
Tel: 86-592-2388138
Fax: 86-592-2388130
China - Zhuhai
Tel: 86-756-3210040
Fax: 86-756-3210049
10/28/13