The CAP1208 which incorporates RightTouch® technology,
is a multiple channel capacitive touch sensor. It contains
eight (8) individual capacitive touch sensor inputs with
programmable sensitivity for use in touch sensor
applications. Each sensor input is calibrated to compensate
for system parasitic capacitance and automatically
recalibrated to compensate for gradual environmental
changes.
The CAP1208 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, a status
bit is set and an interrupt is generated.
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 5µA (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
Mu ltiple Button Pattern Detection
Power Button Support
Press and Hold Feature for Volume-like Applications
3.3V or 5V Supply
Analog Filtering for System Noise Sources
RF Detection and Avoidance Filters
Digital EMI Blocker
8kV ESD Rating on All Pins (HBM)
Low Power Operation
— 5µA quiescent current in Deep Sleep
— 50µA quiescent current in Standby (1 sensor input
monitored)
— Samples one or more channels in Standby
SMBus / I
Available in a 16-pin 3mm x 3mm QFN RoHS compliant
ALERT# - Active low alert / interrupt output for SMBus
SMDATA - Bi-directional, open-drain SMBus or I
- requires pull-up resistor
SMCLK - SMBus or I
alert
2
C clock input - requires pull-up
resistor
2
C data
OD
DIODn/a
DIn/a
UNUSED
CONNECTION
Connect to
Ground
Connect to
Ground
Connect to
Ground
9CS8Capacitive Touch Sensor Input 8AIO
10CS7Capacitive Touch Sensor Input 7AIO
DS00001570B-page 8 2014 Microchip Technology Inc.
Connect to
Connect to
Ground
Ground
Page 9
8-Channel Capacitive Touch Sensor
Datasheet
Table 1.1 Pin Description for CAP1208 (continued)
PIN
NUMBERPIN NAMEPIN FUNCTIONPIN TYPE
11CS6Capacitive Touch Sensor Input 6AIO
12CS5Capacitive Touch Sensor Input 5AIO
13CS4Capacitive Touch Sensor Input 4AIO
14CS3Capacitive Touch Sensor Input 3AIO
15CS2Capacitive Touch Sensor Input 2AIO
16CS1Capacitive Touch Sensor Input 1AIO
UNUSED
CONNECTION
Connect to
Ground
Connect to
Ground
Connect to
Ground
Connect to
Ground
Connect to
Ground
Connect to
Ground
Bottom padExposed padNot internally connected, but recommend grounding--
APPLICATION NOTE: All digital pins are 5V tolerant pins.
The pin types are described in Table1.2.
Table 1.2 Pin Types
PIN TYPEDESCRIPTION
PowerThis pin is used to supply power or ground to th e device.
DIDigital Input - This pin is used as a digital input. This pin is 5V tolerant.
AIOAnalog Input / Output - This pin is used as an I/O for analog signals.
DIOD
OD
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.
Voltage on VDD pin -0.3 to 6.5V
Voltage on CS pins to GND-0.3 to 4.0V
Datasheet
Voltage on 5V tolerant pins (V
Voltage on 5V tolerant pins (|V
Input current to any pin except VDD+
)-0.3 to 5.5V
5VT_PIN
- VDD|) (see Note 2.2)0 to 3.6V
5VT_PIN
10mA
Output short circuit currentContinuousN/A
Package Power Dissipation up to TA = 85°C for 16-pin QFN
0.5W
(see Note 2.3)
Junction to Ambient (θ
) (see Note 2.4)70°C/W
JA
Operating Ambient Temperature Range-40 to 125°C
Storage Temperature Range-55 to 150°C
ESD Rating, All Pins, HBM8000V
Note 2.1Stresses 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.2For the 5V tolerant pins that have a pull-up resistor, the voltage difference between
V
and VDD must never exceed 3.6V.
5VT_PIN
Note 2.3The Package Power Dissipation specification assumes a recommended thermal via design
consisting of a 2x2 matrix of 0.3mm (12mil) vias at 1.0mm pitch conn ected to the ground
plane with a 1.6 x 1.6mm thermal landing.
Note 2.4Junction to Ambient (θ
) is dependent on the design of the thermal vias. Without thermal
JA
vias and a thermal landing, the θJA will be higher.
DS00001570B-page 10 2014 Microchip Technology Inc.
Page 11
8-Channel Capacitive Touch Sensor
Datasheet
Table 2.2 Electrical Specifications
VDD = 3V to 5.5V, TA = 0°C to 85°C, all Typical values at TA = 25°C unless otherwise noted.
CHARACTERISTICSYMBOLMINTYPMAXUNITCONDITIONS
DC POWER
Supply VoltageV
Supply Current
Maximum Base
Capacitance
Minimum Detectable
Capacitive Shift
DD
I
STBY_DEF
I
STBY_LP
I
DSLEEP_3V
I
DSLEEP_5V
I
DD
C
BASE
ΔC
TOUCH
3.05.5V
Standby state active
120170µA
1 sensor input monitored
Default conditions (8 avg, 70ms
cycle time)
Standby state active
50µA
1 sensor input monitored
1 avg, 140ms cycle time
Deep Sleep state active
5TBDµA
No communications
T
< 40°C
A
3.135 < V
< 3.465V
DD
Deep Sleep state active
TBDTBDµA
No communications
T
< 40°C
A
V
= 5V
DD
500750µACapacitive Sensing Active
CAPACITIVE TOUCH SENSOR INPUTS
50pFPad un touched
20fFPad touched - defaul t conditions
Recommended Cap
Shift
ΔC
TOUCH
0.12pFPad touched - Not tested
Untouched Current Counts
Power Supply
Rejection
PSR±3±10
counts
/ V
Base Capacitance 5pF - 50pF
Negative Delta Counts disabled
Maximum sensitivity
All other parameters default
POWER-ON AND BROWN-OUT RESET (SEE Section 4.2, "Reset")
The CAP1208 communicates using the SMBus or I2C protocol.
3.2 System Management Bus
The CAP1208 communicates with a host controller, such as an MCHP SIO, through the SMBus. The
SMBus is a two-wire serial communication protocol between a computer host and its peripheral
devices. A detailed timing diagram is shown in Figure 3.1. Stretching of the SMCLK signal is supported;
however, the CAP1208 will not stretch the clock signal.
8-Channel Capacitive Touch Sensor
Datasheet
Figure 3.1 SMBus Timing Diagram
3.2.1SMBus 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.2SMBus Address and RD / WR Bit
The SMBus Address Byte consists of the 7-bit client address followed by the RD / WR indicator bit. If
this RD / WR bit is a logic ‘0’, then the SMBus Host is writing data to the client device. If this RD / WR
bit is a logic ‘1’, then the SMBus Host is reading data from the client device.
The CAP1208-1 responds to SMBus address 0101_000(r/w). The CAP1208-2 responds to the SMBus
address 0101_001(r/w).
3.2.3SMBus Data Bytes
All SMBus Data bytes are sent most significant bit first and composed of 8-bits of information.
3.2.4SMBus ACK and NACK Bits
DS00001570B-page 14 2014 Microchip Technology Inc.
The SMBus client will acknowledge all data bytes that it receives. This is done by the cl ient 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.
Page 15
8-Channel Capacitive Touch Sensor
Datasheet
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.5SMBus Stop Bit
The SMBus Stop bit is defined as a transition of the SMBus Data line from a logic ‘0’ state to a logic
‘1’ state while the SMBus clock line is in a logic ‘1’ state. When the CAP1208 detects an SMBus Stop
bit and it has been communicating with the SMBus protocol, it will reset its client interface and prepare
to receive further communications.
3.2.6SMBus 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.7SMBus and I2C Compatibility
The major differences between SMBus and I2C devices are highlighted here. For more information,
refer to the SMBus 2.0 specification.
1. CAP1208 supports I
2
C 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 low longer than 30ms (timeout condition).
This can be enabled in the CAP1208 by setting the TIMEOUT bit in the Configuration register. I2C
does not have a timeout.
4. The SMBus client protocol will reset if both the clock and the data line are high for longer than
200us (idle condition). This can be enabled in the CAP1208 by setting the TIMEOUT bit in the
Configuration register. I
2
5. I
C devices do not support the Alert Response Address functionality (which is op tional for SMBus).
2
C devices support block read and write differently. I2C protocol allows for unlimited number of
6. I
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 CAP1208 supports I
2
C does not have an idle condition.
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.
The Write Byte is used to write one byte of data to a specific register as shown in Table 3.2.
8-Channel Capacitive Touch Sensor
Datasheet
Table 3.2 Write Byte Protocol
SLAVE
START
1 ->0
ADDRESSWRACK
0101_000
(Note 3.1)
Note 3.1CAP1208-1 only. For other addressing options, see Section 3.2.2.
3.3.2SMBus Read Byte
The Read Byte protocol is used to read one byte of data from the registers as show n in Table 3.3.
STARTSLAVE
ADDRESS
1->00101_000
WRACKREGISTER
00XXh01 ->00101_000
(Note 3.2)
Note 3.2CAP1208-1 only. For other addressing options, see Section 3.2.2.
3.3.3SMBus 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.4.
REGISTER
ADDRESSACK
REGISTER
DATAACKSTOP
00XXh0XXh00 -> 1
Table 3.3 Read Byte Protocol
ADDRESS
ACKSTARTCLIENT
ADDRESS
RDACKREGISTER
DATA
NACKSTOP
10 XXh1 0 -> 1
(Note 3.2)
APPLICATION NOTE: The Send Byte protocol is not functional in Deep Sleep (i.e., DSLEEP bit is set).
Table 3.4 Send Byte Protocol
START
1 -> 0
SLAVE
ADDRESSWR
0101_000
(Note 3.3)
00XXh00 -> 1
ACK
REGISTER
ADDRESSACKSTOP
Note 3.3CAP1208-1 only. For other addressing options, see Section 3.2.2.
3.3.4SMBus Receive Byte
The Receive Byte protocol is used to read data from a register when the internal register address
pointer is known to be at the right location (e.g. set via Send Byte). This is used for consecutive reads
of the same register as shown in Table 3.5.
APPLICATION NOTE: The Receive Byte protocol is not functional in Deep Sleep (i.e., DSLEEP bit is set).
DS00001570B-page 16 2014 Microchip Technology Inc.
Page 17
8-Channel Capacitive Touch Sensor
Datasheet
Table 3.5 Receive Byte Protocol
START
3.4I2C Protocols
3.4.1Block Read
APPLICATION NOTE: When using the Block Read protocol, the internal address pointer will be automatically
STARTSLAVE
ADDRESS
SLAVE
ADDRESSRD
1 -> 00101_000
(Note 3.4)
Note 3.4CAP1208-1 only. For other addressing options, see Section 3.2.2.
The CAP1208 supports I2C Block Read and Block Write.
The protocols listed below use the convention in Table 3.1.
The Block Read is used to read multiple data bytes from a group of contiguous registers as sh own in
Table 3.6.
incremented after every data byte is received. It will wrap from FFh to 00h.
WRACKREGISTER
ACKREGISTER DATANACKSTOP
10XXh10 -> 1
Table 3.6 Block Read Protocol
ADDRESS
ACKSTARTSLAVE
ADDRESS
RDACKREGISTER
DATA
1->0
ACKREGISTER
0101_000
(Note 3.5)
DATA
00XXh01 ->0
ACKREGISTER
DATA
ACKREGISTER
DATA
ACK. . . REGISTER
0101_000
(Note 3.5)
10XXh
NACKSTOP
DATA
0XXh0XXh0XXh0. . . XXh10 -> 1
Note 3.5CAP1208-1 only. For other addressing options, see Section 3.2.2..
3.4.2Block 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.
Note 3.6CAP1208-1 only. For other addressing options, see Section 3.2.2..
DS00001570B-page 18 2014 Microchip Technology Inc.
Page 19
8-Channel Capacitive Touch Sensor
CAP1208
CS6
SMDATA
SMCLK
Embedded
Controller
ALERT#
CS7
CS8
CS3
CS2
CS1
CS4
CS5
Touch
Button
Touch
Button
Touch
Button
Touch
Button
Touch
Button
Touch
Button
Touch
Button
Touch
Button
VDD
GND
3.0V to 5.5V
10kOhm
resistors
3.0V to 5.5V
1.0uF0.1uF
Datasheet
Chapter 4 General Description
The CAP1208 is a multiple channel capacitive touch sensor. It contains eight (8) individual capacitive
touch sensor inputs with programmable sensitivity for use in touch sensor applications. Each sensor
input is calibrated to compensate for system parasitic capacitance and automatically recalibrated to
compensate for gradual environmental changes.
The CAP1208 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, a status bit is set and an interrupt
is generated.
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
5µA (typical) of current. In this state, no sensor inputs are active, and communications will wake the
device.
The device communicates with a host controller using SMBus / I
device for updated information at any time or it may configure the device to flag an in terrupt whenever
a touch is detected on any sensor pad.
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 monitorin g 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 in puts 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.
8-Channel Capacitive Touch Sensor
Datasheet
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 (V
used to extend the start-up period until all device operation conditions have been met. Th e power-up
timer starts after V
The Brown-Out Reset (BOR) circuit holds the device in reset when V
for longer than the BOR reset delay (t
up timer is started again and must finish before reset is released, as shown in Figure 4.2.
Figure 4.2 POR and PORR With Slow Rising V
reaches V
DD
), for minimum operation. The power-up timer (PWRT) is
PORR
. POR and PORR with slow rising VDD is shown in Figure 4.2.
PORR
falls to a minimum level, V
). After a BOR, when VDD rises above V
BORDC
and BOR with Falling V
DD
DD
PORR
DD
, the power-
BOR
4.3 Capacitive Touch Sensing
The CAP1208 contains eight (8) 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 recalibrated.
DS00001570B-page 20 2014 Microchip Technology Inc.
Page 21
8-Channel Capacitive Touch Sensor
Datasheet
4.3.1Capacitive Touch Sensing Settings
Controls for managing capacitive touch sensor inp uts are determined by the power state.
4.3.1.1Active State Sensing Settings
The Active state is used for normal operation. Sensor inputs being monitored are determined by the
Sensor Input Enable Register (see Section 5.7, "Sensor Input Enable Register"). Sensitivity is
controlled by the Sensitivity Control Register (see Section 5.5, "Sensitivity Control Register").
Averaging, sample time, and cycle time are controlled by the Averaging and Sampling Configuration
Register (see Section 5.10, "Averaging and Sampling Configuration Register"). Each channel can have
a separate touch detection threshold, as defined in the Sensor Input Threshold registers (see Section
5.19, "Sensor Input Threshold Registers").
4.3.1.2Standby State Sensing Settings
The Standby state is used for standby operation. In general, fewer sensor inputs are enabled, and they
are programmed to have more sensitivity. Sensor inputs being monitored are determined by the
Standby Channel Register (see Section 5.21, "Standby Channel Register"). Sensitivity is controlled by
the Standby Sensitivity Register (see Section 5.23, "Standby Sensitivity Register"). Averaging, sample
time, and cycle time are controlled by the Averaging and Sampling Configuration Register (see Section
5.22, "Standby Configuration Register"). There is one touch detection threshold, which applies to all
sensors enabled in Standby, as defined in the Standby Threshold Register (see Section 5.24, "Standby
Threshold Register").
4.3.2Sensing 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 i nput is polled, its measurement is compared
against a baseline “not touched” measurement. If the delta measurement is large enou gh 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 sensi ng
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 Sensor Input Calibration
Calibration sets the Base Count Registers (Section 5.25, "Sensor Input Base Count Registers") which
contain the “not touched” values used for touch detection comparisons. Calibration automatically
occurs after a power-on reset (POR), when sample time is changed, and whenever a sensor input is
newly enabled (for example, when transitioning from a power state in which it was disabled to a po wer
state in which it is enabled). During calibration, the analog sensing circuits are tuned to the capacitance
of the untouched pad. Then, samples are taken from each sensor input so that a base count can be
established. After calibration, the untouched delta counts are zero.
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 Calibrati on
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.
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 calibrati on fails to generate base
counts for a sensor input in the operating range, which is +
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").
Table 4.1 Ideal Base Counts
IDEAL BASE COUNTSAMPLE TIME
3,200320us
6,400640us
12,8001.28ms
25,6002.56ms
12.5% from the ideal base count (see
During normal operation there are various options for reca librating 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 input’s base count has shifted +12.5% from the ideal base count, a full
calibration will be performed on the sensor input.
4.4.1Automatic 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.2Negative Delta Count Recalibration
It is possible that the device loses sensitivity to a touch. This may happen as a result of a noisy
environment, recalibration when the pad is touched but delta counts do not exceed the threshold, or
other environmental changes. When this occurs, the base untouched sensor input may generate
negative delta count values. The NEG_DELTA_CNT[1:0] bits (see Section 5.18, "Recalibration
Configuration Register") can be set to force a recalibration after a specified number of consecutive
negative delta readings. After a delayed recalibration (see Section 4.4.3, "Delayed Recalibration") the
negative delta count recalibration can correct after the touch is released.
APPLICATION NOTE: During this recalibration, the device will not respond to touches.
4.4.3Delayed Recalibration
It is possible that a “stuck button” occurs when some thing is placed on a butto n 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 2014 Microchip Technology Inc.
Page 23
8-Channel Capacitive Touch Sensor
Datasheet
Note 4.1Delayed 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.2For the power button, which requires that the button be held longer than a reg ular 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 butto n from being recalibrated during the time
it is supposed to be held.
4.5 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 “po wer 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 sel ected
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 Multiple Touch Pattern Detection
The multiple touch pattern (MTP) detection circuitry can be used to detect lid closure or oth er similar
events. An event can be flagged based on either a minimum number of sensor i nputs or on specific
sensor inputs simultaneously exceeding an MTP threshold or having their Noise Fla g Status Register
bits set. An interrupt can also be generated. During an MTP event, all touches are blocked (see
Each sensor input has a low frequency noise detector that will sense if low freque ncy noise is injected
onto the input with sufficient power to corrupt the readings. By default, if this occurs, the device will
reject the corrupted sample (see DIS_ANA_NOISE bit in Section 5.6.1, "Configuration - 20h") and the
corresponding bit is set to a logic ‘1’ in the Noise Flag Status register (see SHOW_RF_NOISE bit in
Section 5.6.2, "Configuration 2 - 44h").
4.7.2RF 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.3Noise Status and Configuration
The Noise Flag Status (see Section 5.3, "Noise Flag Status Registers") bits can be used to indicate
RF and/or other noise. If the SHOW_RF_NOISE bit in the Configuration Register (see Section 5.6,
"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 an d 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 o n 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
8-Channel Capacitive Touch Sensor
Datasheet
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.1ALERT# Pin
The ALERT# pin is an active low output that is driven when an interrupt event is de tected.
4.8.2Capacitive Sensor Input Interrupt Behavior
Each sensor input can be programmed to enable / disable interrupts (see Section 5.12, "Interrupt
Enable Register").
When enabled for a sensor input and the sensor input is not the designated power button, 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 INT_REL_n in Section 5.6.2, "Configuratio n 2 - 44h"). See Figure 4.4.
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.3).
When the repeat rate is enabled for a sensor inpu t (see Section 5.13, "Repeat Rate Enable Register"),
the device uses an additional control called MPRESS that determines whether a touch is flagged as
a simple “touch” or a “press and hold” (see Section 5.9, "Sensor Input Configuration 2 Register"). 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 (if enabled) 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 (see Section 5.8, "Sensor Input Configuration Register") and
upon release (if enabled).
If a sensor input is the designated power button, an interrupt is not generated as soon as a touch is
detected and repeat rate is not applicable. See Section 4.8.3, "Inte rrupts for the Power Button".
DS00001570B-page 24 2014 Microchip Technology Inc.
Page 25
8-Channel Capacitive Touch Sensor
Touch Detected
INT bit
Button Status
Write to INT bit
Sensing Cycle
(35ms)
Min Press Setting
(280ms)
Interrupt on
Touch
Button Repeat Rate
(175ms)
Button Repeat Rate
(175ms)
Interrupt on
Release
(optional)
ALERT# pin
Touch Detected
INT bit
Button Status
Write to INT bit
Sensing Cycle
(35ms)
Interrupt on
Touch
Interrupt on
Release
(optional)
ALERT# pin
Datasheet
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 dete rmine that a release has been detected.
4.8.4Interrupts for Multiple Touch Pattern Detection
An interrupt can be generated when the MTP pattern is matched (see Section 5.15, "Mul tiple Touch
Pattern Configuration Register").
4.8.5Interrupts for Sensor Input Calibration Failures
An interrupt can be generated when the ACAL_FAIL bit is set, indicating the failure to complete analog
calibration of one or more sensor inputs (see Section 5.2, "Status Registers"). This interrupt can be
enabled by setting the ACAL_FAIL_INT bit (see Section 5.6, "Configuration Registers").
An interrupt can be generated when the BC_OUT bit is set, indicating the base count is o ut of limit for
one or more sensor inputs (see Section 5.2, "Status Registers"). This interrupt can be enabled by
setting the BC_OUT_INT bit (see Section 5.6, "Configuration Registers").
4.8.6Interrupts for Reset
When the CAP1208 comes out of reset, an interru pt is generated, and the RESET bit is set.
8-Channel Capacitive Touch Sensor
Datasheet
DS00001570B-page 26 2014 Microchip Technology Inc.
Page 27
8-Channel Capacitive Touch Sensor
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
ADDRESSR/WREGISTER NAMEFUNCTION
00hR/WMain Con trol
02hR/WGeneral StatusStores general status bits00h Page 31
03hRSen sor Input Status
0AhRNoise Flag Status
10hR
11hR
12hR
13hR
14hR
15hR
Sensor Input 1 Delta
Count
Sensor Input 2 Delta
Count
Sensor Input 3 Delta
Count
Sensor Input 4 Delta
Count
Sensor Input 5 Delta
Count
Sensor Input 6 Delta
Count
Controls power states and indicates
an interrupt
Returns the state of the sampled
capacitive touch sensor inputs
Stores the noise flags for sensor
inputs
Stores the delta count for CS100h Page 33
Stores the delta count for CS200h Page 33
Stores the delta count for CS300h Page 33
Stores the delta count for CS400h Page 33
Stores the delta count for CS500h Page 33
Stores the delta count for CS600h Page 33
DEFAULT
VALUEPAGE
00h Page 30
00h Page 31
00h Page 32
16hR
17hR
1FhR/WSensitivity Control
20hR/WConfigurationControls general functionality 20h Page 35
Table 5.1 Register Set in Hexa decimal Order (continued)
Datasheet
REGISTER
ADDRESSR/WREGISTER NAMEFUNCTION
B7h
B8h
B9h
BAh
RSensor Input 7
Calibration
RSensor Input 8
Calibration
RSensor In put
Calibration LSB 1
RSensor In put
Calibration LSB 2
Stores the upper 8-bit calibration
value for CS7
Stores the upper 8-bit calibration
value for CS8
Stores the 2 LSBs of the calibration
value for CS1 - CS4
Stores the 2 LSBs of the calibration
value for CS5 - CS8
ID Registers
FDhRProduct ID
FEhRManufacturer ID
FFhRRevision
Stores a fixed value that identifies
the CAP1208
Stores a fixed value that identifies
MCHP
Stores a fixed value that represents
the revision number
During power-on reset (POR), the default values are stored in the registers. A POR is i nitiated 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.
DEFAULT
VALUEPAGE
00h Page 56
00h Page 56
00h Page 56
00h Page 56
6Bh Page 57
5Dh Page 57
00h Page 57
When a bit is “set”, this means it’s at a logic ‘1’. When a bit is “cleared”, this means it’s at a logic ‘0’.
5.1 Main Control Register
Ta b le 5.2 Main Control Register
ADDRR/WREGISTERB7B6B5B4B3B2B1B0DEFAULT
00hR/WMain Control--STBYDSLEEP---INT00h
The Main Control register controls the primary power state of the device (see Section 4.1, "Power
States").
Bit 5 - STBY - Enables Standby.
‘0’ (default) - The device is not in the Standby state.
‘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.
Bit 4 - DSLEEP - Enables Deep Sleep.
‘0’ (default) - The device is not in the De ep Sleep 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 2014 Microchip Technology Inc.
Page 31
8-Channel Capacitive Touch Sensor
Datasheet
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 a ction is taken. This bit is cleared by writing a logic
‘0’ to it. When this bit is cleared, the ALERT# pin will be deasserted, and all status registers will be
cleared if the condition has been removed.
‘0’ - No interrupt pending.
‘1’ - An interrupt conditi on occurred, and the ALERT# pin has been asserted.
5.2 Status Registers
Table 5.3 Status Registers
ADDRR/WREGISTERB7B6B5B4B3B2B1B0
02hRGenera l Status-
03hR
Sensor Input
Status
CS8CS7CS6CS5CS4CS3CS2CS100h
BC_
OUT
ACAL
_FAIL
PWRRESETMULTMTPTOUCH00h
All status bits are cleared when the device enters Deep Sleep (DSLEEP = ‘1’ - see Section 5.1, "Main
Control Register").
5.2.1General Status - 02h
Bit 6 - BC_OUT - Indicates that the base count is out of limit for one or more enabled sensor inputs
(see Section 4.4, "Sensor Input Calibration"). Thi s bit will not be cleared until all enabled sensor inpu ts
have base counts within the limit.
‘0’ - All enabled sensor inputs have base counts in the operating range.
‘1’ - One or more enabled sensor inputs has the ba se 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 unti l all enabled sensor inputs have
successfully completed analog calibration.
‘0’ - All enabled sensor inputs were successfully calibrated.
‘1’ - One or more enabled sensor inputs failed analo g calibration. A status bit is set in the
Calibration Active Register (see Section 5.11, "Calibration Activate and Status Register").
DEFAULT
Bit 4 - PWR - Indicates that the designated power button has been held for the de signated time (see
Section 4.5, "Power Button"). This bit will cause the INT bit to be set. This bit is cleare d 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 h eld 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
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.2Sensor 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 detecte d. A value of ‘1’ in any bit indicates that a
touch has been detected.
All bits are cleared when the INT bit is cleared and if a touch on the respe ctive capaciti ve touch sensor
input is no longer present. If a touch is still detected, the bits will not be cleared (but this will not cause
the interrupt to be asserted).
Bit 7 - CS8 - Indicates that a touch was detected on Sensor Input 8.
Bit 6 - CS7 - Indicates that a touch was detected on Sensor Input 7.
Bit 5 - CS6 - Indicates that a touch was detected on Sensor Input 6.
Bit 4 - CS5 - Indicates that a touch was detected on Sensor Input 5.
8-Channel Capacitive Touch Sensor
Datasheet
Bit 3 - CS4 - Indicates that a touch was detected on Sensor Input 4.
Bit 2 - CS3 - Indicates that a touch was detected on Sensor Input 3.
Bit 1 - CS2 - Indicates that a touch was detected on Sensor Input 2.
Bit 0 - CS1 - Indicates that a touch was detected on Sensor Input 1.
5.3 Noise Flag Status Registers
Table 5.4 Noise Flag Status Registers
ADDRR/WREGISTERB7B6B5B4B3B2B1B0DEFAULT
0AhR
Noise Flag
Status
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 d etector or th e R F noise de tector (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.
CS8_
NOISE
CS7_
NOISE
CS6_
NOISE
CS5_
NOISE
CS4_
NOISE
CS3_
NOISE
CS2_
NOISE
CS1_
NOISE
00h
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 2014 Microchip Technology Inc.
Page 33
8-Channel Capacitive Touch Sensor
Datasheet
5.4 Sensor Input Delta Count Registers
Table 5.5 Sensor Input Delta Count Registers
ADDRR/WREGISTERB7B6B5B4B3B2B1B0DEFAULT
10hR
11hR
12hR
13hR
14hR
15hR
16hR
17hR
Sensor Input 1
Delta Count
Sensor Input 2
Delta Count
Sensor Input 3
Delta Count
Sensor Input 4
Delta Count
Sensor Input 5
Delta Count
Sensor Input 6
Delta Count
Sensor Input 7
Delta Count
Sensor Input 8
Delta Count
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").
Sign643216842100h
Sign643216842100h
Sign643216842100h
Sign643216842100h
Sign643216842100h
Sign643216842100h
Sign643216842100h
Sign643216842100h
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 d elta counts which may result upon
a release.
5.5 Sensitivity Control Register
Ta b le 5.6 Sensitivity Control Register
ADDRR/WREGISTERB7B6B5B4B3B2B1B0DEFAULT
1FhR/W Sensitivity Control -DELTA_SENSE[2:0]BASE_SHIFT[3:0]2Fh
The Sensitivity Control register controls the sensitivity of a touch detecti on.
Bits 6-4 DELTA_SENSE[2:0] - Controls the sensitivity of a touch detection for sensor inputs enabled
in the Active state. 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, howeve r, 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 setti ngs, the
MSB of the Delta Count register represents 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
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.
‘0’ (default) - The maximum duratio n 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 e nabled. If a touch is held for long er than
the MAX_DUR bit settings (see Section 5.8), the recalibration ro utine will be restarted (see Section
4.4.3, "Delayed Recalibration").
5.6.2Configuration 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 fo r a sensor input, the out of limit base count will be used for
the sensor input.
‘1’ (default) - When the BC_OUTx bit i s set for a sensor input (see Sectio n 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 redu ce 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 p ower consumption during the time between the end of the last
conversion and the end of the sensing cycle.
8-Channel Capacitive Touch Sensor
Datasheet
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").
‘1’ - An interrupt is generated when the BC_OUT bit is 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 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. Se tting this bit disables
the feature.
‘0’ (default) - If RF noise is detected by the anal og block, the delta count on the corresponding
channel is set to 0. Note that this does not require that Noi se Status bits be set.
‘1’ - A touch is not blocked even if RF noise is d etected.
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").
‘1’ - An interrupt is generated when the ACAL_FAIL bit is set
Bit 0 - INT_REL_n - Controls the interrupt behavior when a release is detected on a button (see
The Sensor Input Enable register determines whether a capacitive touch sensor input is incl uded 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.
Table 5.11 Sensor Input Configuration Register
ADDRR/W REGISTER B7 B6 B5B4B3B2B1B0DEFAULT
22hR/W
Sensor Input
Configuration
MAX_DUR[3:0]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,
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.
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 Interru pt 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.
5.10 Averaging and Sampling Configuration Register
Datasheet
Table 5.16 Averaging and Sampling Configuration Register
ADDRR/WREGISTERB7B6B5B4B3B2B1B0DEFAULT
24hR/W
Averaging and
Sampling
Config
-AVG[2:0]SAMP_TIME[1:0]
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 ave raged 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.
Table 5.17 AVG Bit Decode
AVG[2:0]
NUMBER OF SAMPLES TAKEN
PER MEASUREMENT210
0001
0012
0104
0118 (default)
10016
10132
DS00001570B-page 40 2014 Microchip Technology Inc.
Page 41
8-Channel Capacitive Touch Sensor
Datasheet
11064
111128
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 Table4.1, "Ideal Base Counts".
SAMP_TIME[1:0]
00320us
01640us
Table 5.17 AVG Bit Decode (continued)
AVG[2:0]
NUMBER OF SAMPLES TAKEN
PER MEASUREMENT210
Table 5.18 SAMP_TIME Bit Decode
SAMPLE TIME10
101.28ms (default)
112.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 sampl ed at the b eginnin g 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.
Table 5.19 CYCLE_TIME Bit Decode
CYCLE_TIME[1:0]
PROGRAMMED SENSING CYCLE
TIME10
00 35ms
0170ms (default)
10105ms
11140ms
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.
Table 5.20 Calibration Activate and Status Register
ADDRR/WREGISTERB7B6B5B4B3B2B1B0DEFAULT
26hR/W
Calibration
Activate
and Status
CS8_
CAL
CS7_
CAL
CS6_
CAL
CS5_
CAL
CS4_
CAL
CS3_
CAL
CS2_
CAL
CS1_
CAL
00h
The Calibration Activate and Status Register serves a dual function:
1. It forces the selected sensor inputs to be calibrated, affecting both the analog and digital blocks
(see Section 4.4, "Senso r Input Calibration"). When one or more bits are set, the device performs
the calibration routine on the correspond ing sensor inputs. When the analog calibration routine is
finished, the CALX[9:0] bits are updated (see Section 5.28, "Sensor Input Calibration Registers").
If the analog calibration routine completed successfully for a sensor input, the corresponding bit is
automatically cleared.
APPLICATION NOTE: In the case above, bits can be set by host or are automatically set by the d evice whenever
a sensor input is newly enabled (such as coming out of Deep Sleep, after power-on reset,
when a bit is set in the Sensor Enable Channel Enable register (21h) and the device is in
the Active state, or when a bit is set in the Standby Channel Enable Register (40h) and the
device is in the Standby state).
2. It serves as an indicator of an analog calibration failure. If any of the bits could not be cleared, the
ACAL_FAIL bit is set (see Section 5.2, "Status Registers"). A bit will fail to clear if a noise bit is set
or if the calibration value is at the maximum or minimum value.
APPLICATION NOTE: In the case above, do not check the Calibration Activate and Status bits for failures unless
the ACAL_FAIL bit is set. In addition, if a sensor input is newly enabled, do not check the
Calibration Activate and Status bits until time has elapsed to complete calibration on the
sensor input. Otherwise, the ACAL_FAIL bit may be set for one sensor input, but the newly
enabled sensor input may still be set to ‘1’ in the Calibration Activate and Status, not because
it failed, but because it has not been calibrated yet.
For all bits in this register:
‘0’ - No action needed.
‘1’ - Writing a ‘1’, forces a calibration on the corresponding sensor inp ut. If the ACAL_FAIL flag is
set and this bit is set (see application note above), the sensor input cou ld not complete analog
calibration.
Bit 7 - CS8_CAL - Bit for CS8 input.
Bit 6 - CS7_CAL - Bit for CS7 input.
Bit 5 - CS6_CAL - Bit for CS6 input.
Bit 4 - CS5_CAL - Bit for CS5 input.
Bit 3 - CS4_CAL - Bit for CS4 input.
Bit 2 - CS3_CAL - Bit for CS3 input.
Bit 1 - CS2_CAL - Bit for CS2 input.
Bit 0 - CS1_CAL - Bit for CS1 input.
DS00001570B-page 42 2014 Microchip Technology Inc.
Page 43
8-Channel Capacitive Touch Sensor
Datasheet
APPLICATION NOTE: Writing a ‘0’ to clear a ‘1’ may cause a planned calibrati on to be skipped, if the calibration
routine had not reached the sensor input yet.
5.12 Interrupt Enable Register
Table 5.21 Interrupt Enable Register
ADDRR/WREGISTERB7B6B5B4B3B2B1B0DEFAULT
27hR/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
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 d etected 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).
FFh
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 Repeat Rate Enable Register
Table 5.22 Repeat Rate Enable Register
ADDRR/WREGISTERB7B6B5B4B3B2B1B0DEFAULT
28hR/W
Repeat Rate
Enable
The Repeat Rate Enable register enables the repeat rate of the sensor inpu ts as described in Section
‘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) n o matter how long the touch is
held.
‘1’ (default) - The repeat ra te 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 a n interrupt when a tou ch 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 Multiple Touch Configuration Register
Table 5.23 Multiple Touch Configuration
ADDRR/WREGISTERB7B6B5B4B3B2B1B0DEFAULT
MULT_
BLK_
EN
---B_MULT_T[1:0]--80h
2AhR/W
Multiple T ouc h
Config
The Multiple Touch Configuration register controls the settings for the multiple touch dete ction circuitry.
These settings determine the number of simultaneous buttons that may be pressed be fore 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 disable d. The device will not block multiple touches.
‘1’ (default) - The multiple touch circui try is enabled. The device will flag the number of touches
equal to programmed multiple touch threshold and block al l 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 sen sor inputs are blocked. The bit decode is given by
Table 5.24.
DS00001570B-page 44 2014 Microchip Technology Inc.
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.
‘0’ (default) - The MTP detection circuitry is disabled.
‘1’ - The MTP detection circuitry is enabled .
00h
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 In put 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.
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 recognitio n. 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.
‘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
Table 5.27 Multiple Touch Pattern Register
ADDRR/WREGISTERB7B6B5B4B3B2B1B0DEFAULT
2DhR/W
Multiple
Touch
Pattern
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.
CS8_
PTRN
CS7_
PTRN
CS6_
PTRN
CS5_
PTRN
CS4_
PTRN
CS3_
PTRN
CS2_
PTRN
CS1_
PTRN
FFh
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 2014 Microchip Technology Inc.
Page 47
8-Channel Capacitive Touch Sensor
Datasheet
For all bits in this register:
‘0’ - The specified sensor input is not co nsidered a part of the pattern.
‘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 Base Count Out of Limit Register
Table 5.28 Base Count Out of Limit Register
ADDRR/WREGISTERB7B6B5B4B3B2B1B0
2EhR
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
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 senso r input is in the operating range.
‘1’ - The base count of the specifie d 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.
DEFAULT
00h
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.
The Recalibration Configuration register con trols some recalibration routine settings (see Sectio n 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.
‘0’ - Each Sensor Input X Threshold register is updated individually.
‘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 Sen sor Input
Threshold 8). The individual Sensor Input X Threshold registers (Sensor Input 2 T hreshold 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 inte rmediate data is cleared if the noise status bit is set.
‘1’ - The accumulation of intermediate data is not cleared i f 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.
Bits 4 - 3 - NEG_DELTA_CNT[1:0] - Determines the number of negative delta counts necessary to
trigger a digital recalibration (see Section 4.4.2, "Negative Delta Count Recalibration"), as shown in
Table 5.30.
Table 5.30 NEG_DELTA_CNT Bit Decode
NEG_DELTA_CNT[1:0]
NUMBER OF CONSECUTIVE NEGATIVE DELTA
COUNT VALUES10
008
0116 (default)
1032
11None (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 2014 Microchip Technology Inc.
Page 49
8-Channel Capacitive Touch Sensor
Datasheet
inputs universally (though individual sensor inputs can be configured to support recalibration - see
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 chang es 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.18 - bit 7), writi ng data to the Sen sor Input 1 Threshold
register will update all of the Sensor Input Threshold registers (31h - 37h inclusive).
5.20 Sensor Input Noise Threshold Register
Table 5.33 Sensor Input Noise Threshold Register
ADDRR/WREGISTERB7B6B5B4B3B2B1B0DEFAULT
38hR/W
Sensor Input
Noise Threshold
------
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.
CS_BN_TH
[1:0]
01h
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 pro portional to the threshold setting.
Table 5.34 CSx_BN_TH Bit Decode
CS_BN_TH[1:0]
PERCENT THRESHOLD SETTING10
0025%
0137.5% (default)
1050%
1162.5%
DS00001570B-page 50 2014 Microchip Technology Inc.
Page 51
8-Channel Capacitive Touch Sensor
Datasheet
5.21 Standby Channel Register
T able 5.35 Standby Channel Register
ADDRR/WREGISTERB7B6B5B4B3B2B1B0DEFAULT
40hR/W
Standby
Channel
CS8_
STBY
CS7_
STBY
CS6_
STBY
CS5_
STBY
CS4_
STBY
CS3_
STBY
CS2_
STBY
CS1_
STBY
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:
‘0’ (default) - The specified chan nel will not be monitored in Standby.
‘1’ - The specified channel will be monitored in Standby. It will use the standby threshold setting,
and the standby averaging and sensitivity settings.
Bit 7 - CS8_STBY - Controls whether the CS8 channel is enabled in Standby.
Bit 6 - CS7_STBY - Controls whether the CS7 channel is enabled in Standby.
Bit 5 - CS6_STBY - Controls whether the CS6 channel is enabled in Standby.
Bit 4 - CS5_STBY - Controls whether the CS5 channel is enabled in Standby.
Bit 3 - CS4_STBY - Controls whether the CS4 channel is enabled in Standby.
Bit 2 - CS3_STBY - Controls whether the CS3 channel is enabled in Standby.
Bit 1 - CS2_STBY - Controls whether the CS2 channel is enabled in Standby.
Bit 0 - CS1_STBY - Controls whether the CS1 channel is enabled in Standby.
00h
5.22 Standby Configuration Register
Table 5.36 Standby Configuration Register
ADDRR/WREGISTERB7B6B5B4B3B2B1B0DEFAULT
41hR/W
Standby
Configuration
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 time s 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.
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.
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.
Table 5.38 STBY_SAMP_TIME Bit Decode
STBY_SAMP_TIME[1:0]
SAMPLING TIME10
00320us
01640us
101.28ms (default)
112.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.
Table 5.39 STBY_CY_TIME Bit Decode
STBY_CY_TIME[1:0]
PROGRAMMED SENSING CYCLE
TIME10
00 35ms
0170ms (default)
DS00001570B-page 52 2014 Microchip Technology Inc.
Page 53
8-Channel Capacitive Touch Sensor
Datasheet
Table 5.39 STBY_CY_TIME Bit Decode (continued)
STBY_CY_TIME[1:0]
PROGRAMMED SENSING CYCLE
10105ms
11140ms
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 p rogrammed 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.
TIME10
5.23 Standby Sensitivity Register
Table 5.40 Standby Sensitivity Register
ADDRR/WREGISTER B7 B6 B5B4B3B2B1B0DEFAULT
42hR/W
APPLICATION NOTE: A value of 128x is the most sensitive setting available. At the most sensitivity settings, the
Standby
Sensitivity
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 i s 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.
MSB of the Delta Count register represents 64 out of ~25,000 which co rresponds to a touch
of approximately 0.25% of the base capacitance (or a
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
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.
-6432168421 40h
5.25 Sensor Input Base Count Registers
Table 5.43 Sensor Input Base Count Registers
ADDRR/WREGISTERB7B6B5B4B3B2B1B0DEFAULT
50hR
51hR
52hR
53hR
Sensor Input 1
Base Count
Sensor Input 2
Base Count
Sensor Input 3
Base Count
Sensor Input 4
Base Count
1286432168421C8h
1286432168421C8h
1286432168421C8h
1286432168421C8h
54hR
55hR
56hR
57hR
DS00001570B-page 54 2014 Microchip Technology Inc.
Sensor Input 5
Base Count
Sensor Input 6
Base Count
Sensor Input 7
Base Count
Sensor Input 8
Base Count
1286432168421C8h
1286432168421C8h
1286432168421C8h
1286432168421C8h
Page 55
8-Channel Capacitive Touch Sensor
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 calibration and
recalibration routines.
The routine uses an internal adder to add the current count value for each readin g to the sum of the
previous readings until sample size has been reac hed. 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 reca libration routine
continues.
The data presented is determined by the BASE_SHIFT[3:0] bits (see Section 5.5).
5.26Power Button Register
Table 5.44 Power Button Register
ADDRR/WREGISTERB7B6B5B4B3B2B1B0DEFAULT
60hR/WPower Button-----PWR_BTN[2:0]00h
The Power Button Register indicates the sensor input that has been designated as the p ower 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.
The Power Button Configuration Register controls the length of time that the designate d 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.
‘0’ (default) - The Standby power button circuitry is disabled.
‘1’ - The Standby power button circuitry is enabled.
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 Acti ve state.
‘0’ (default) - The power button circui try is disabled in the Active state.
‘1’ -The power button circuitry is ena bled 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.
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
ADDRR/WREGISTERB7B6B5B4B3B2B1B0DEFAULT
FDhR
Product ID
CAP1208
01101011 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
ADDRR/WREGISTERB7B6B5B4B3B2B1B0DEFAULT
FEhRManufacturer ID01011101 5Dh
The Vendor ID register stores an 8-bit value that represents MCHP.
5.31 Revision Register
Table 5.51 Revision Register
ADDRR/WREGISTERB7B6B5B4B3B2B1B0DEFAULT
FFhR Revision 00000000 00h
The Revision register stores an 8-bit value that represen ts the part revision.
2. Pinout changed. RESET, WAKE, and ADDR_COMM pins removed. LED pins removed. SPI pins /
muxing also removed. Added GND pin as ground slug is no lon ger used for ground connection.
3. Reduced package size from a 20-pin 4mm x 4mm QFN to a 16-pin 3mm x 3mm QFN.
4. Added ACAL_FAIL bit to flag analog calibration failures (see Section 5.2, "Status Registers") and
ACAL_FAIL_INT bit to control analog calibration failure interrupts (see Section 5.6, "Configuration
Registers").
5. Added BC_OUT bit to flag calibration failures regarding base counts out of limit (see Se ction 5.2,
"Status Registers") and BC_OUT_RECAL and BC_OUT_INT bit to control base count out of limit
behavior and interrupts (see Section 5.6, "Configuration Registers"). Added Base Count Out of
Limit Register to indicate which sensor inputs have base counts outside the operating range (see
Section 5.17, "Base Count Out of Limit Register").
6. Added Power Button feature (see Section 4.5, "Power Button").
7. Increased supply voltage range for 5V operation.
8-Channel Capacitive Touch Sensor
Datasheet
8. Increased operating temperature range from 0°C - 85°C to -40°C to 125°C.
9. Removed proximity detection gain.
10. LEDs remove d.
11. SMBus address fixed at 0101_000(r/w).
12. Removed SPI communications protocol option.
13. Removed RESET pin function.
14. Removed WAKE pin function.
15. Remove d ALERT
16. Register set changes are shown in Table A.1, "Register Delta".
ADDRESSREGISTER DELTADELTADEFAULT
00h
Page 30
02h
Page 31
Removed bits - Main
Added bits - General
pin configuration.
Control Register
Status Register
Table A.1 Register Delta
Removed GAIN[1:0] bits.00h
Added bit 4 PWR for new Power Button
feature. Added bit 5 ACAL_FAIL to
indicate analog calibration failure. Added
bit 6 BC_OUT. Removed bit 4 LED
status.
00h
04h
20h
Page 35
DS00001570B-page 62 2014 Microchip Technology Inc.
Note the following details of the code protection feature on Microchip devices:
•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 Microchip’s 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 Microchip’s 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 meet s with y our specifications. MICROCHIP MA KES 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 buyer’s 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 prope rty rights.
Trademarks
The Microchip name and logo, the Microchip logo, dsPIC, FlashFlex, K
logo, rfPIC, SST , SST Logo, SuperFlash and UNI/O are registered trademarks of Microchip T echnology 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.
DS00001570B-page 66 2014 Microchip Technology Inc.
Microchip received ISO/TS-16949:2009 certification for its worldwide
headquarters, design and wafer fabrication facilities in Chandler and
T empe, Arizona; Gresham, Oregon and design centers in California
and India. The Company’s quality system processes and procedures
are for its PIC
devices, Serial EEPROMs, microperipherals, nonvolatile memory and
analog products. In addition, Microchip’s quality system for the desig n
and manufacture of development systems is ISO 9001:2000 certified.
®
MCUs and dsPIC® DSCs, KEELOQ
®
code hopping
Page 67
Worldwide Sales and Service
AMERICAS
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
Atlanta
Duluth, GA
Tel: 678-957-9614
Fax: 678-957-1455
Austin, TX
Tel: 512-257-3370
Boston
Westborough, MA
Tel: 774-760-0087
Fax: 774-760-0088