CPT212B SILABS | Alldatasheet

Document overview

  • Manufacturer or author: Provided By ALLDATASHEET.COM(FREE DATASHEET DOWNLOAD SITE)
  • PDF pages: 40

Technical content

Features

12 Inputs

Lowest power mode with feature operational: Active Optional Buzzer Output I2C Output I2C Event Buffer Interrupt Pin Low Power Sleep silabs.com | Building a more connected world. Rev. 1.1

  1. Feature List and Ordering Information R Tape and Reel (Optional) G M Temperature Grade — –40 to +85 °C (G) 12T –2 B A – 01CP Silicon Labs Xpress Product Line Firmware Revision Hardware Revision Interface Type — GPO (0), I2C (1), Configuration I2C (2) Number of Capacitive Sense Inputs TouchXpress Family Capacitive Sense Features — Button (B) Figure 1.1. CPT212B Part Numbering The CPT212B has the following features:
  • Capacitive sensing input engine with 12 inputs
  • Post-sample touch qualification engine
  • Configuration profile space in non-volatile memory
  • I2C event buffer with interrupt pin to signal when new touch events have been qualified
  • Configuration loading with both the dedicated configuration interface and through the I2C interface
  • Low power state machine to minimize current draw in all use cases
  • Capacitive proximity sensing input
  • Buzzer output
  • Mutually-exclusive touch qualifier Table 1.1. Product Selection Guide Ordering Part Number Configuration over I2C Pb-free (RoHS Compliant) Temperature Range Package CPT212B-A01-GM Yes Yes -40 to +85 °C QFN20 See http://www.silabs.com/products/interface/capacitive-touch-controllers for other devices available in the TouchXpress family. CPT212B Data Sheet Feature List and Ordering Information silabs.com | Building a more connected world. Rev. 1.1 | 2

silabs.com | Building a more connected world. Rev. 1.1 | 3

silabs.com | Building a more connected world. Rev. 1.1 | 4

  1. Typical Connection Diagrams

2.1 Signal, Analog, and Power Connections

Figure 2.1 Connection Diagram on page 5 shows a typical connection diagram for the power pins of CPT212B devices. 4.7 µF and 0.1 µF bypass capacitors required for the power pins placed as close to the pins as possible. Host Processor 1 kΩ 1-10 kΩ 1-10 kΩ CPT212B Device1.8-3.6 V (in) 1.8-3.6 V (in) ... 1.8-3.6 V (in) Electrode Electrode GND VDD EB_SCL EB_INT CS10 CS00 Config Data Config Clk / RSTb EB_SDA Figure 2.1. Connection Diagram Note: The I2C pull-up resistor values will vary depending on the speed requirements of the bus and the host processor requirements. CPT212B Data Sheet Typical Connection Diagrams silabs.com | Building a more connected world. Rev. 1.1 | 5

2.2 Configuration

There are two ways to configure the CPT212B: through the I2C interface, and through the dedicated configuration interface. The dia- gram below shows a typical connection diagram for the dedicated configuration interface pins. The ToolStick Base Adapter is available on the evaluation board. Note: The USB Debug Adapter does not support configuration for TouchXpress devices. Instead, the ToolStick Base Adapter must be used to configure these devices. CPT212B Device Config Clk 1 k VDD Config Data GND ToolStick Figure 2.2. Configuration Connection Diagram CPT212B Data Sheet Typical Connection Diagrams silabs.com | Building a more connected world. Rev. 1.1 | 6

  1. Electrical Specifications

3.1 Electrical Characteristics

All electrical parameters in all tables are specified under the conditions listed in 3.1.1 Recommended Operating Conditions, unless sta- ted otherwise.

3.1.1 Recommended Operating Conditions

Table 3.1. Recommended Operating Conditions Parameter Symbol Test Condition Min Typ Max Unit Operating Supply Voltage on VDD VDD 1.8 2.4 3.6 V Minimum RAM Data Retention Voltage on VDD1 VRAM Not in Sleep Mode — 1.4 — V Sleep Mode — 0.3 0.5 V Operating Ambient Temperature TA –40 — 85 °C Note: 1. All voltages with respect to GND. CPT212B Data Sheet Electrical Specifications silabs.com | Building a more connected world. Rev. 1.1 | 7

3.1.2 Power Consumption

See 3.4 Typical Performance Curves for power consumption plots. Table 3.2. Power Consumption Parameter Symbol Test Condition Min Typ Max Unit Active Mode Supply Current IDD Sensing Mode — 3.1 — mA Configuration Mode — 3.1 — mA Optimized Active Mode Supply Current IDD — 180 — µA Sleep Mode Current1, 2 IDD 3 sensors or fewer — 0.78 — µA 4 sensors — 0.79 — µA 5 sensors — 0.81 — µA 6 sensors — 0.82 — µA 7 sensors — 0.84 — µA 10 sensors — 0.88 — µA 12 sensors — 0.95 — µA System Current with Varying Scan Time — Base with One Sensor1 IDD Scan period = 10 ms — 154 — µA Scan period = 20 ms — 77 — µA Scan period = 50 ms — 31 — µA Scan period = 75 ms — 21 — µA Scan period = 100 ms — 16 — µA System Current with Varying Scan Time — Each Additional Sensor1 IDD Scan period = 10 ms — 47 — µA Scan period = 20 ms — 23 — µA Scan period = 50 ms — 9 — µA Scan period = 75 ms — 6 — µA Scan period = 100 ms — 5 — µA Note: 1. Measured with Free Run Mode disabled and sensors set to 4x accumulation, 8x gain. 2. Measured with scan period set to 250 ms. CPT212B Data Sheet Electrical Specifications silabs.com | Building a more connected world. Rev. 1.1 | 8

3.1.3 Reset and Supply Monitor

Table 3.3. Reset and Supply Monitor Parameter Symbol Test Condition Min Typ Max Unit VDD Supply Monitor Threshold VVDDM Reset Trigger 1.7 1.75 1.8 V VWARN Early Warning 1.8 1.85 1.9 V Power-On Reset (POR) Monitor Threshold VPOR Rising Voltage on VDD — 1.75 — V Falling Voltage on VDD 0.75 1.0 1.3 V VDD Ramp Time tRMP Time to VDD ≥ 1.8 V — — 3 ms RST Low Time to Generate Reset tRSTL 15 — — µs Boot Time1 tboot 1 sensor — 25 — ms 2 sensors — 40 — ms 3 sensors — 55 — ms 4 sensors — 70 — ms 5 sensors — 85 — ms 6 sensors — 100 — ms 7 sensors — 115 — ms 8 sensors — 130 — ms 9 sensors — 145 — ms 10 sensors — 160 — ms 11 sensors — 175 — ms 12 sensors — 200 — ms Note: 1. Boot time is defined as the time from when the device enters sensing mode until the first capacitive sensing scan occurs.

3.1.4 Configuration Memory

Table 3.4. Configuration Memory Parameter Symbol Test Condition Min Typ Max Units Endurance (Write/Erase Cycles) NWE 20 k 100 k — Cycles Note: 1. Data Retention Information is published in the Quarterly Quality and Reliability Report. CPT212B Data Sheet Electrical Specifications silabs.com | Building a more connected world. Rev. 1.1 | 9

3.1.5 I2C Configuration Interface

Table 3.5. I2C Configuration Interface Parameter Symbol Test Condition Min Typ Max Units I2C Configuration Interface Boot Time tI2C_boot Time after any reset until the I2C Configuration Interface is ready to receive commands — 200 — µs I2C Configuration Erase Delay terase — 45 — ms I2C Configuration Write Delay twrite — 1 — ms I2C Configuration CRC Delay tCRC — 45 — ms I2C Configuration Validity Check Delay tvalid — 200 — µs Interrupt Pin Low Time After Enter- ing Sensing Mode tINT_low — — 5 µs CPT212B Data Sheet Electrical Specifications silabs.com | Building a more connected world. Rev. 1.1 | 10

3.1.6 Capacitive Sense

Table 3.6. Capacitive Sense Parameter Symbol Test Condition Min Typ Max Unit Scan Time Per Sensor1 tSCAN Accumulation = 1x — 64 — µs Accumulation = 4x — 256 — µs Accumulation = 8x — 512 — µs Accumulation = 16x — 1.024 — ms Accumulation = 32x — 2.048 — ms Accumulation = 64x — 4.096 — ms Signal to Noise Ratio1, 2 SNR Accumulation = 1x — 90:1 — codes Accumulation = 4x — 180:1 — codes Accumulation = 8x — 182:1 — codes Accumulation = 16x — 210:1 — codes Accumulation = 32x — 230:1 — codes Accumulation = 64x — 270:1 — codes Conversion Time tCONV Gain = 1x — 205 — µs Gain = 2x — 123 — µs Gain = 3x — 98 — µs Gain = 4x — 85 — µs Gain = 5x — 76 — µs Gain = 6x — 72 — µs Gain = 7x — 67 — µs Gain = 8x — 64 — µs Total Processing Time3 tPROC 1 sensor — 576 — µs 2 sensors — 796 — µs 3 sensors — 1.0 — ms 4 sensors — 1.2 — ms 5 sensors — 1.4 — ms 6 sensors — 1.7 — ms 7 sensors — 1.9 — ms 8 sensors — 2.1 — ms 9 sensors — 2.3 — ms 10 sensors — 2.6 — ms 11 sensors — 2.8 — ms 12 sensors — 3.0 — ms Maximum External Capacitive Load CEXTMAX Gain = 8x — 45 — pF Gain = 1x — 500 — pF CPT212B Data Sheet Electrical Specifications silabs.com | Building a more connected world. Rev. 1.1 | 11

Parameter Symbol Test Condition Min Typ Max Unit Maximum External Series Impe- dance REXTMAX Gain = 8x — 50 — kΩ Note: 1. Measured with gain set to 8x. 2. Measured with an evaluation board with 1/16" overlay using Capacitive Sense Profiler. 3. Sensors configured to 8x gain, 1x accumulation with sensor sampling and system processing time included and mutually-exclu- sive buttons, buzzer, and touch time-outs disabled.

3.1.7 Buzzer Output

Table 3.7. Buzzer Output Parameter Symbol Test Condition Min Typ Max Unit Output High Voltage (High Drive) VOH IOH = –3 mA VDD – 0.7 — — V Output Low Voltage (High Drive) VOL IOL = 8.5 mA — — 0.6 V Output High Voltage (Low Drive) VOH IOH = –1 mA VDD – 0.7 — — V Output Low Voltage (Low Drive) VOL IOL = 1.4 mA — — 0.6 V Weak Pull-Up Current IPU VDD = 1.8 V VIN = 0 V — –4 — µA VDD = 3.6 V VIN = 0 V –35 –20 — µA

3.2 Thermal Conditions

Table 3.8. Thermal Conditions Parameter Symbol Test Condition Min Typ Max Unit Thermal Resistance* θJA QFN20 Packages — 60 — °C/W Note: 1. Thermal resistance assumes a multi-layer PCB with any exposed pad soldered to a PCB pad. CPT212B Data Sheet Electrical Specifications silabs.com | Building a more connected world. Rev. 1.1 | 12

3.3 Absolute Maximum Ratings

Stresses above those listed in Table 3.9 Absolute Maximum Ratings on page 13 may cause permanent damage to the device. This is a stress rating only and functional operation of the devices at those or any other conditions above those indicated in the operation list- ings of this specification is not implied. Exposure to maximum rating conditions for extended periods may affect device reliability. For more information on the available quality and reliability data, see the Quality and Reliability Monitor Report at http://www.silabs.com/ support/quality/pages/default.aspx. Table 3.9. Absolute Maximum Ratings Parameter Symbol Test Condition Min Max Unit Ambient Temperature Under Bias TBIAS –55 125 °C Storage Temperature TSTG –65 150 °C Voltage on VDD VDD GND–0.3 4.0 V Voltage on I/O pins or RSTb VIN GND–0.3 VDD + 0.3 V Total Current Sunk into Supply Pin IVDD — 400 mA Total Current Sourced out of Ground Pin IGND 400 — mA Current Sourced or Sunk by Any I/O Pin or RSTb IIO –100 100 mA Maximum Total Current through all Port Pins IIOTOT — 200 mA Operating Junction Temperature TJ –40 105 °C Exposure to maximum rating conditions for extended periods may affect device reliability. CPT212B Data Sheet Electrical Specifications silabs.com | Building a more connected world. Rev. 1.1 | 13

3.4 Typical Performance Curves

Figure 3.1. Active Mode Processing Time Per Sensor Note: Active mode processing time per sensor measured with sensors configured to 1x accumulation, 8x gain. Sensor sampling and system processing time is included with mutually-exclusive buttons, the buzzer, and touch time-outs disabled. Figure 3.2. Current vs. Active Mode Scan Period — Base Current Consumption CPT212B Data Sheet Electrical Specifications silabs.com | Building a more connected world. Rev. 1.1 | 14

Figure 3.5. Typical VOL Curves CPT212B Data Sheet Electrical Specifications silabs.com | Building a more connected world. Rev. 1.1 | 16

  1. Functional Description

4.1 Capacitive Sensing Input

4.1.1 Introduction

The capacitive to digital converter uses an iterative, charge-timing self-capacitance technique to measure capacitance on an input pin. Sampling is configured and controlled by settings in the non-volatile configuration profile, which can be changed through the 2-pin con- figuration interface. Baseline Active threshold Touch delta Inactive threshold Capacitance Time Figure 4.1. Capacitive Sense Data Types

4.1.2 Touch Qualification Criteria

The device detects a touch event when an inactive (untouched) input enabled by the input enable mask detects an sequence of meas- urements that cross the active threshold. The device detects a touch release event when an active (touched) input enabled by the input enable mask detects an sequence of measurements that cross the inactive threshold. The debounce configuration profile parameter defines how many measurements in a row must cross a threshold before a touch or re- lease is qualified. In electrically noisy environments more heavily filtered data is used for qualification.

4.1.3 Thresholds

Capacitive sensing inputs use input-specific thresholds for touch qualification. Each input uses two thresholds, one to detect inactive-to- active transitions on the input, and another to determine active-to-inactive transitions on the input. The inputs use two thresholds to add hysteresis and prevent active/inactive ringing on inputs. Each threshold can be set through Simplicity Studio tools and all thresholds are stored in non-volatile memory in the device's configuration profile. Thresholds are defined as percentages of a capacitive sensing input's touch delta. CPT212B Data Sheet Functional Description silabs.com | Building a more connected world. Rev. 1.1 | 17

4.1.4 Debounce Counter

Each capacitive sensing input maintains its own debounce counter. For an inactive sensor, this counter tracks the number of succes- sive samples which have crossed that input's active threshold. For an active sensor, this counter tracks the number of successive sam- ples which have crossed the inactive threshold. When the counter reaches a terminal value defined in the the configuration profile, the touch/release event is qualified.

4.1.5 Touch Deltas

Each capacitive sensing input uses a stored touch delta value that describes the expected difference between inactive and active ca- pacitive sensing output codes. This value is stored in the configuration profile for the system and is used by the touch qualification en- gine, which defines inactive and active thresholds relative to the touch delta. The touch deltas are stored in the configuration profile in a touch delta/16 format. For this reason, touch deltas must be configured as multiples of 16.

4.1.6 Auto-Accumulation and Averaging

Capacitive sensing inputs have an auto-accumulate and average post-sample filter that can be used to improve signal strength if nee- ded. Settings stored in the configuration profile can configure the engine to accumulate 1, 4, 8, 16, 32, or 64 samples. After the defined number of samples have been accumulated, the result is divided by either 1, 4, 8, 16, 32, or 64, depending on the accumulation setting. This auto-accumulated and averaged value is the sample output used for all touch qualification processing. Note that sample time per sensor increases as the level of accumulation increases. To reduce current consumption, the engine should not be set to auto-accumu- late unless it is required to achieve acceptable signal strength due to thick overlays or other system-level factors.

4.1.7 Drive Strength

The drive strength of the current source used to charge the electrode being measured by the capacitive sensing input can be adjusted in integer increments from 1x to 8x (8x is the default). High drive strength gives the best sensitivity and resolution for small capacitors, such as those typically implemented as touch-sensitive PCB features. To measure larger capacitance values, the drive strength should be lowered accordingly. The highest drive strength setting that yields capacitive sensing output which does not saturate the sensing engine when the electrode is active (touched) should always be used to maximize input sensitivity.

4.1.8 Active Mode Scan Enable

Active mode scanning of capacitive sensing inputs is controlled by an enable setting for each capacitive sensing input. This setting is stored in the configuration profile.

4.1.9 Active Mode Scan Period

The capacitive sensing input engine stays in active mode whenever one or more inputs have qualified as active. During this time, the sensors scan at a periodicity defined by the active mode scan period, which is stored in the configuration profile. Every active mode scan pushes new samples through the processing engine, which checks for new touch and release events on all enabled inputs. If free run mode is enabled, the engine will repeatedly scan all enabled inputs during the active mode scan period. In this mode of operation, the active mode scan period is used as a timer to determine how much time has passed since the last qualified active sensor has been seen. When a defined amount of time without a qualified touch event has occurred, the engine switches to a low power mode using the sleep mode scan period, and conserves current. If free run mode is disabled, the engine will enter a low power state after completing one scan of all enabled inputs and processing the resulting samples. The engine will remain in this low power state until it wakes, at a time defined by active mode scan period, to perform another scan. CPT212B Data Sheet Functional Description silabs.com | Building a more connected world. Rev. 1.1 | 18

4.1.10 Active Mode Scan Type

The active mode scan type, which is stored in the configuration profile, controls whether the capacitive sensing engine in active mode will scan only once during the active mode scan period before going to sleep, or whether the engine will continue scanning as quickly as possible during the active mode scan period, never entering a low power state. For optimal responsiveness, the engine should be configured to run with free run mode enabled. Setting the scan mode to 'free run' causes touch qualification on a new touch to occur as quickly as the scanning engine can convert and process samples on all sensors. In this mode, qualification time is not bounded by active mode scan period, and is only bounded by scanning configuration factors such as the debounce setting, the number of enabled sensors, the accumulation setting on each sensor, and the timing constraints of any enabled component. For optimal current draw when in active mode, the engine should be configured to use the 'one scan per period' mode setting. In this case, touch qualification is bound by the scan period and the debounce setting of the device. Touch Event (t = 0 ms) 10 ms 20 ms 30 ms 40 ms Optimized Active sample sample Active process additional processing process additional processing Sleep sleep sleep debounce count = 1 touch qualified Figure 4.2. Timing and Current — One Sample Per Period Mode Touch Event (t = 0 ms) 10 ms 20 ms 30 ms 40 ms Optimized Active sample Active process additional processing Sleep debounce count = 1 touch qualifiedsample process additional processing Figure 4.3. Timing and Current — Free Run Mode

4.1.11 Sleep Mode Scan Period

The sleep mode scan period defines the rate at which a scan of the inputs enabled as wake-up sources are sampled. Each enabled sensor can also be enabled as a wake-up source. After the sleep mode scan completes, the scan is processed for a qualified candidate touch. If a candidate touch is qualified, the system wakes form sleep mode and enters active mode scanning. The sleep mode scan period is stored in the configuration profile and is defined in units of ms. CPT212B Data Sheet Functional Description silabs.com | Building a more connected world. Rev. 1.1 | 19

4.1.12 Active Mode and Sleep Mode Transitions

Capacitive sensing inputs will stay in active mode until no inputs detect qualified touches for a span of time defined by the counts until sleep parameter stored in the configuration profile. The scan period of enabled inputs is defined by the active mode scan period, also found in the configuration profile. If free run mode is enabled, the active mode sensing engine will remain awake and scanning the sen- sors as fast as possible. If free run mode is disabled, the engine will put itself into a low power state for the remainder of the active mode scan period, after a scan has completed. When in sleep mode, the sensing engine will wake at a period defined by sleep mode scan period to do a scan on sensors that have been enabled as wakeup sources. If the engine finds a candidate touch in this state, the system reverts to active mode to continue scanning. Note that in systems where a proximity input is selected, the sleep mode scan engine uses conversions on the proximity input instead of sensors enabled as wakeup sources. Devices configured to wake on a touch will attempt to qualify the candidate touch that initiated the sleep-to-active transition. If qualifica- tion completes successfully, the device will signal this qualification to the external system. Touch qualification of this candidate touch uses the same active mode thresholds, debounce setting, and active mode scan period settings as any touch that occurs during active mode scanning. qualified touch release Touch Delta touch release new touch Device Execution no touch counter = 1 no touch counter = 2 ... no touch counter = counts before sleep device enters sleep sleep scan sees touch, wakes, qualifies touch no touch counter = 0 t Figure 4.4. Active and Sleep Transitions

4.2 I2C Event Buffer Interface

4.2.1 Introduction

The event buffer I2C interface provides an event-driven, packetized communication system describing newly qualified events generated by the capacitive sensing input engine. The interface runs in one of two mutually exclusive modes: sensing mode and configuration loading mode, where a new configuration profile can be downloaded to the device and stored in non-volatile memory. CPT212B Data Sheet Functional Description silabs.com | Building a more connected world. Rev. 1.1 | 20

In sensing mode, the interface provides access to a first-in-first-out buffer of data packets. When the sensing engine generates these packets and pushes them onto the buffer, the interface then signals the host to indicate that one or more packets are available in the buffer by activating the event buffer interrupt pin. In sensing mode, the interrupt pin is defined as active-low and operates as a push-pull digital output. In configuration loading mode, the interrupt pin is configured as a digital input and functions as a chip select. I2C transactions will be ignored by the device unless the host has pulled the interrupt pin low before sending the start condition. The host reads the packets through an I2C interface, with the host acting as an I2C master. Once all packets have been fully transmit- ted across the I2C interface, the event buffer interrupt pin is de-activated. The device will remain in active mode until no packets remain in the buffer, even if no sensors have been qualified as active for the period of time defined by the active mode scan period. In configuration loading mode, the interface enables an in-system programming initiated by the host. In this mode, the host can update the performance configuration space.

4.2.2 Startup Behavior

When the device exits a POR or hardware reset, it first enters configuration loading mode, discussed in detail 4.2.10 Configuration Loading Procedure . A host can command the device to enter sensing mode using the mode selection command discussed in 4.2.8 Entering Sensing Mode from Configuration Loading Mode . If the device has a valid configuration profile stored in non-volatile memory, the device will then enter sensing mode and remain in this mode until the next power cycle or reset.

4.2.3 Sensing Mode Event Packet Structure

Every qualified event detected by the capacitive sensing input engine generates a single packet that can be retrieved by the host pro- cessor through the event buffer I2C interface. The packet is an atomic data unit that fully describes the generated event. Note: The bytes in the packet are transmitted MSB first. Each packet has a standard structure that can be parsed by the host. Table 4.1. Standard Packet Structure Byte # Designator

0 I2C Slave Address + read bit

1 Packet counter and event type

2 Event description (byte 1)

3 Event description (byte 2)

silabs.com | Building a more connected world. Rev. 1.1 | 21

The packet counter is a 4-bit number stored in the upper bits of byte 1. Each new event will be assigned a counter value that is +1 from the last qualified event. After event 15, the counter wraps back to 0 for the next event. The counter captures the temporal nature of touch events so that a host can reconstruct a sequence of events over time. Also, the host can use the counter value to determine if a packet has been lost due to a buffer overflow. The event buffer counter is reset to 0 upon entrance to sensing mode. The event type is a 4-bit value describes the originator of the event. For instance, the source could be a capacitive sensing button. The event type is stored in the lower 4 bits of byte 1. The event description bytes define characteristics of the event that have been qualified. Event descriptions are defined relative to the event source. An event source that is a capacitive sensing input will have a defined set of valid event description values. Those same values will mean something different for a different type of event source. Event description values are defined relative to the event type field of byte 1. Touch Event I2C Slave Address + read bit CSxx index 0x00 byte 0 byte 2 byte 3 Touch Release Event I2C Slave Address + read bit CSxx index 0x00 byte 0 byte 2 byte 3 packet counter xxxx event type 0000 packet counter xxxx event type 0001 byte1 byte1 Proximity Event I2C Slave Address + read bit byte 0 byte 2 byte 3byte1 packet counter xxxx event type 0011 byte 3 0x00 0x00 Figure 4.5. I2C Event Buffer Packet Structure The CSxx index transmitted in byte 2 for Touch and Touch Release events enables the host processor to determine the sensor that caused the event.

4.2.4 Packet Retrieval in Sensing Mode

When the least significant byte of an event packet has been transferred during a master read transaction, that event is popped from the device's buffer. If only a part of the event is read, the event will stay in the buffer and will be transmitted again by the device during the next read. If the host initiates a master read when the device is in sensing mode but the interrupt pin is not active, signifying that the device has no events in its buffer to transmit, the device will NACK its slave address on the bus. If the I2C master sends a stop condition on the bus before the entire packet has been read, the device will not pop the packet from its internal buffer. Instead, the I2C state machine will reset, and the next transaction will begin with the first byte of the same event that was being read in the previous, prematurely-terminated transaction. The I2C event buffer has a depth of 22 events. If the host does not read events promptly after seeing the interrupt pin go active, there is the possibility of a buffer overflow. In the event of an overflow, the I2C engine will discard the oldest events first. New I2C packets will only be generated at the active mode sample rate, and so the buffer will fill a maximum of 12 packets (in the case simultaneous touch/releases) per sample period. If the host runs the I2C bus at 400 kHz and reads packets as soon as the interrupt pin activates, all packets can be read from the buffer in 1 to 2 ms, which is faster than the rate at which a new active mode scan sequence can complete. CPT212B Data Sheet Functional Description silabs.com | Building a more connected world. Rev. 1.1 | 22

4.2.5 Defined Event Types

The device assigns the following event types: Table 4.2. Event Type Mapping Event Type Value Mapping Sensing Mode 0 (0x0) Sensor activity - touch event 1 (0x1) Sensor activity - release event 3 (0x3) Proximity activity Configuration Loading Mode 8 (0x8) Mode selection 9 (0x9) Configuration unlock 10 (0xA) Configuration erase 11 (0xB) Write configuration 12 (0xC) Write CRC Note that this event type value is stored in the lower 4 bits of the first non-address byte of a packet. The upper 4 bits are a packet counter value.

4.2.6 Description Bytes for Touch Events

A touch or release event uses only one byte of the description field. That field identifies which sensor caused the touch or release event as shown below. Table 4.3. Touch or Release Event Sensor Mapping Value Mapping

0 Capacitive sensing input 0

1 Capacitive sensing input 1

2 Capacitive sensing input 2

3 Capacitive sensing input 3

4 Capacitive sensing input 4

5 Capacitive sensing input 5

6 Capacitive sensing input 6

7 Capacitive sensing input 7

8 Capacitive sensing input 8

9 Capacitive sensing input 9

10 Capacitive sensing input 10

11 Capacitive sensing input 11

silabs.com | Building a more connected world. Rev. 1.1 | 23

4.2.7 Slave Address

When the device comes out of reset and has not been commanded to enter sensing mode, the device responds to the slave address 0xC0. Additionally, the device will only respond to commands with address 0xC0 if the host drives the interrupt pin low, using the pin as a chip select. In sensing mode, the device responds to I2C transactions addressed to the slave address stored in the configuration profile.

4.2.8 Entering Sensing Mode from Configuration Loading Mode

Upon exiting reset, the device enters configuration loading mode. During this time, a host can re-write the configuration profile through a sequence of master write commands. The host can also command the device to enter sensing mode using the mode selection com- mand. The mode switch command is structured as shown in the following figure. Mode Selection byte 1 packet counter xxxx event type 1000 byte 2 0x010xC0 + write bit byte 0 Note: The INT pin must be driven low prior to the I2C start and high after the I2C stop. Figure 4.6. Mode Selection Command The device will only enter sensing mode if the configuration profile stored in non-volatile memory is valid. The validity of the configura- tion profile can be checked using the Configuration Profile Validity Check command. Note that this mode setting feature must be executed once per device, per reset. Until this command has been received by a device, the device will remain in its startup state and not performing any touch qualification.

4.2.9 Determining Configuration Validity

At any point when the device is in configuration loading mode, the host can issue a Configuration Profile Validity Check command. This command is issued when the host starts a master read command. This command is unique in that it does not include a byte containing the packet counter or event type. Configuration Profile Validity Check byte 1 Configuration Profile State 0xC0 + read bit byte 0 Note: The INT pin must be driven low prior to the I2C start and high after the I2C stop. Note: This is a read transaction where data is provided from the CPT device. Figure 4.7. Configuration Profile Validity Check Command CPT212B Data Sheet Functional Description silabs.com | Building a more connected world. Rev. 1.1 | 24

Table 4.4. Decoding the Configuration Profile State Value Description 0x80 Configuration profile valid 0x01 Configuration profile invalid The validity of the configuration profile is determined by comparing a CRC stored in non-volatile memory to a CRC generated at runtime by the device. The CRC is calculated using the algorithm described in 4.2.11 CRC Algorithm. Note: The CRC for the configuration profile spans 510 bytes, with 0xFF padding in addresses above any non-0xFF configuration profile bytes. CPT212B Data Sheet Functional Description silabs.com | Building a more connected world. Rev. 1.1 | 25

4.2.10 Configuration Loading Procedure

Once the device has been configured to configuration bootload mode, the I2C interface can accept and process the bootload command set. The bootloading procedure executes as follows in the steps below. Valid bootload mode commands are shown below. 1. Host sends the configuration loading unlock sequence. 2. Host sends config erase command, which erases the configuration profile. Packet should be resent until device ACKs reception. 3. Host sends bytes 0-7 of configuration profile in a write config command. Packet resent until device ACKs reception. 4. Host repeats process of the previous step, sending the next 8 bytes of the config profile in a write config command, resending until packet is ACKed. 5. After all 8-byte packets of the configuration profile have been transmitted to the device and ACKed by the device, host sends write CRC command. This CRC uses the algorithm described in 4.2.11 CRC Algorithm. 6. Host sends a mode switch command to enter sensing mode. Once the device has successfully entered sensing mode after a mode switch command, the device will remain in sensing mode until a hardware reset. Configuration Unlock 0xC0 + write bit byte 0 byte 2 packet counter xxxx event type 1001 byte 1 0xA5 byte 3 0xF1 Configuration Erase Write CRC Write Configuration Configuration Profile Validity Check 0xC0 + write bit byte 0 packet counter xxxx event type 1010 byte 1 0xC0 + write bit byte 0 packet counter xxxx event type 1011 byte 1 ... xx byte 8 xx byte 9 0xC0 + write bit byte 0 packet counter xxxx event type 1100 byte 1 Config Profile CRC MSB byte 3 Config Profile CRC LSB byte 4 byte 0 byte 1 Configuration Profile State 0xC0 + read bit byte 2 byte 3 xx xx Note: The INT pin must be driven low prior to the I2C start and high after the I2C stop for each of these commands. Figure 4.8. Configuration Loading Command Sequence CPT212B Data Sheet Functional Description silabs.com | Building a more connected world. Rev. 1.1 | 26

Note: The INT pin must be driven low prior to the I2C start and high after the I2C stop. Figure 4.9. Entering Sensing Mode See 4.2.5 Defined Event Types for a list of all sensing and configuration mode event types values. CPT212B Data Sheet Functional Description silabs.com | Building a more connected world. Rev. 1.1 | 27

4.2.11 CRC Algorithm

The CRC is generated using the standard CCITT-16 16-bit polynomial (0x1021) with an initial seed of 0xFFFF. The device generates a 16-bit CRC result equivalent to the following algorithm: 1. XOR the input with the most-significant bits of the current CRC result. If this is the first iteration of the CRC unit, the current CRC result will be the set initial value (0x0000 or 0xFFFF). 2. If the MSB of the CRC result is set, shift the CRC result and XOR the result with the polynomial. 3. If the MSB of the CRC result is not set, shift the CRC result. 4. Repeat steps 2 and 3 for all 8 bits. The algorithm is also described in the following example. unsigned short UpdateCRC (unsigned short CRC_acc, unsigned char CRC_input) unsigned char i; // loop counter #define POLY 0x1021 // Create the CRC "dividend" for polynomial arithmetic (binary arithmetic // with no carries) CRC_acc = CRC_acc ^ (CRC_input << 8); // "Divide" the poly into the dividend using CRC XOR subtraction // CRC_acc holds the "remainder" of each divide // Only complete this division for 8 bits since input is 1 byte for (i = 0; i < 8; i++) // Check if the MSB is set (if MSB is 1, then the POLY can "divide" // into the "dividend") if ((CRC_acc & 0x8000) == 0x8000) // if so, shift the CRC value, and XOR "subtract" the poly CRC_acc = CRC_acc << 1; CRC_acc ^= POLY; else // if not, just shift the CRC value CRC_acc = CRC_acc << 1; // Return the final remainder (CRC value) return CRC_acc; The following table lists several input values and the associated outputs using this 16-bit CRC algorithm: Table 4.5. Example 16-bit CRC Outputs Input Output 0x63 0xBD35 0x8C 0xB1F4 0x7D 0x4ECA 0xAA, 0xBB, 0xCC 0x6CF6 0x00, 0x00, 0xAA, 0xBB, 0xCC 0xB166 CPT212B Data Sheet Functional Description silabs.com | Building a more connected world. Rev. 1.1 | 28

4.3 Capacitive Proximity Sensing

4.3.1 Wake on Proximity

The wake on capacitive proximity detection engine monitors for the presence of a conductive object such as a hand to move within detectable range of the sensor. When the engine detects an object, the device wakes from sleep and can begin qualifying touch events on all sensors enabled for active mode sensing.

4.3.2 Proximity Configuration

The proximity sensing feature uses a single sensor input for proximity qualification. The configuration profile stores the pin chosen by the user. The sensor used for proximity qualification should also have a drive strength setting that is as high as possible without saturat- ing the input when no conductive object is in proximity to the proximity sensor. The accumulation setting of the input is also configura- ble. The proximity threshold controls the sensitivity of the input. A lower threshold setting increases sensitivity and increases the range of the sensor. A proximity sensing input cannot be used for touch qualification, and so the active and inactive thresholds are not used for proximity sensors. Additionally, the proximity input has no effect on other components of the device such as mutually exclusive button groups, buzzer output, and touch time out timers.

4.4 Buzzer Output

4.4.1 Introduction

The buzzer output engine produces a square wave of a configurable duration and frequency when a capacitive sensing input goes from inactive to active. The feature can be enabled and disabled through the configuration profile. The configuration profile also includes the settings for active duration and frequency. No Touch, Buzzer Inactive Device Execution Optimized Active sample sample Active process additional processing process additional processing Sleep sleep sleep Figure 4.10. Effects of the Buzzer on Current Draw — Active Mode, No Touch, Buzzer Inactive CPT212B Data Sheet Functional Description silabs.com | Building a more connected world. Rev. 1.1 | 29

Touch Detected, Buzzer Active Device Execution Optimized Active Active additional processing Sleep sleep (stall)sample process additional processing sleep (stall)sample process Figure 4.11. Effects of the Buzzer on Current Draw — Active Mode, Touch Detected, Buzzer Active

4.4.2 Buzzer Configuration

When enabled, buzzer output will appear on the CS11/buzzer pin (pin 10) of the device. When buzzer output is enabled, CS11 is not available for capactive input sensing. When activated, the buzzer will remain active for either the duration specified in the configuration profile, or until the last active sensor has qualified a touch release. The configuration profile supports configuration of output frequencies ranging from 1 kHz to 4 kHz. The configuration profile can configure the buzzer output pin to either push pull mode or open drain mode.

4.5 Mutually Exclusive Buttons

When enabled through the configuration profile, this system allows one and only one capacitive sensing input to be qualified as active at a time. The first sensor active will remain the only sensor active until released. The device will internally qualify multiple touch and release events but will not report them. CPT212B Data Sheet Functional Description silabs.com | Building a more connected world. Rev. 1.1 | 30

If multiple sensors have been internally qualified as active, the first sensor's touch event will be reported. If a touch event occurs simul- taneously on more than one sensor, the touch with the highest touch delta will be reported. If two sensors are qualified as active and the sensor being reported as active qualifies a touch release, the device will report that re- lease and then report a touch qualification on the still-active second sensor. In the case where a device has simultaneously qualified more than two active sensors and the reported active sensor qualifies and reports a release, the remaining qualified sensor with the highest sensor name will then be reported. For example, if sensors CS00, CS01, and CS02 are active with CS00 externally reported as active, after CS00's release, CS02 would be externally reported as an active sensor unless the device has already qualified a touch release on CS02. If both the touch timeout feature and the mutually exclusive button group feature are enabled, the timeout timer will only run on the touch that is externally reported as being active. CS00 Device Execution CS01 CS02 physical touch on pad touch reported by CPT device release reported by CPT device Figure 4.12. Mutually-Exclusive Button Operation

4.6 Configuration Profile

The configuration interface is used by the device to configure default values and performance characteristics that effect capacitive sensing. The configuration data can be programmed through the Configuration interface (Config Clk and Config Data pins) using [Xpress Configurator] in Simplicity Studio or through the I2C interface from the host processor. Several configuration profile templates are available in Simplicity Studio to provide a starting point for development. CPT212B Data Sheet Functional Description silabs.com | Building a more connected world. Rev. 1.1 | 31

  1. Pin Definitions

5.1 CPT212B QFN20 Pin Definitions

(Top View) CS01 CS00 GND VDD RSTb / Config Clk Config Data CS06 CS07 CS08 CS09 GND CS10 CS02 CS03 CS04 CS05 GND 6 11 EB_INT EB_SCL EB_SDA CS11 / BUZZER Figure 5.1. CPT212B QFN20 Pinout Table 5.1. Pin Definitions for CPT212B QFN20 Pin Number Pin Name Description

1 CS01 Analog input

2 CS00 Analog input

Capacitive sensing input 0

3 GND Ground

4 VDD Supply power input

5 RSTb /

6 Config Data Configuration data

silabs.com | Building a more connected world. Rev. 1.1 | 32

7 EB_INT Push-pull digital output

Event buffer interrupt pin

8 EB_SCL Open drain digital output

9 EB_SDA Open drain digital input

10 CS11 /

Analog input, capacitive sensing input 11 Digital output for buzzer

11 CS10 Analog input

Capacitive sensing input 10

12 GND Ground

13 CS09 Analog input

Capacitive sensing input 9

14 CS08 Analog input

Capacitive sensing input 9

15 CS07 Analog input

Capacitive sensing input 7

16 CS06 Analog input

Capacitive sensing input 6

17 CS05 Analog input

Capacitive sensing input 5

18 CS04 Analog input

Capacitive sensing input 4

19 CS03 Analog input

Capacitive sensing input 3

20 CS02 Analog input

Capacitive sensing input 2 CPT212B Data Sheet Pin Definitions silabs.com | Building a more connected world. Rev. 1.1 | 33

  1. QFN20 Package Specifications

6.1 QFN20 Package Dimensions

Figure 6.1. QFN20 Package Drawing Table 6.1. QFN20 Package Dimensions Dimension Min Typ Max A 0.50 0.55 0.60 A1 0.00 — 0.05 b 0.20 0.25 0.30 b1 0.275 0.325 0.375 D 3.00 BSC D2 1.6 1.70 1.80 e 0.50 BSC e1 0.513 BSC E 3.00 BSC E2 1.60 1.70 1.80 L 0.35 0.40 0.45 L1 0.00 — 0.10 CPT212B Data Sheet silabs.com | Building a more connected world. Rev. 1.1 | 34

aaa — 0.10 — bbb — 0.10 — ddd — 0.05 — eee — — 0.08 Note: 1. All dimensions shown are in millimeters (mm) unless otherwise noted. 2. Dimensioning and Tolerancing per ANSI Y14.5M-1994. 3. This drawing is based upon JEDEC Solid State Product Outline MO-248 but includes custom features which are toleranced per supplier designation. 4. Recommended card reflow profile is per the JEDEC/IPC J-STD-020 specification for Small Body Components. CPT212B Data Sheet silabs.com | Building a more connected world. Rev. 1.1 | 35

6.2 QFN20 PCB Land Pattern

Figure 6.2. QFN20 PCB Land Pattern Drawing Table 6.2. QFN20 PCB Land Pattern Dimensions Dimension Min Max C1 2.70 C2 2.70 C3 2.53 C4 2.53 E 0.50 REF X1 0.20 0.30 X2 0.24 0.34 X3 1.70 1.80 Y1 0.50 0.60 Y2 0.24 0.34 Y3 1.70 1.80 CPT212B Data Sheet silabs.com | Building a more connected world. Rev. 1.1 | 36

Note: 1. All dimensions shown are in millimeters (mm) unless otherwise noted. 2. Dimensioning and Tolerancing is per the ANSI Y14.5M-1994 specification. 3. This Land Pattern Design is based on the IPC-7351 guidelines. 4. All metal pads are to be non-solder mask defined (NSMD). Clearance between the solder mask and the metal pad is to be 60 µm minimum, all the way around the pad. 5. A stainless steel, laser-cut and electro-polished stencil with trapezoidal walls should be used to assure good solder paste release. 6. The stencil thickness should be 0.125 mm (5 mils). 7. The ratio of stencil aperture to land pad size should be 1:1 for the perimeter pads. 8. A 2x2 array of 0.75 mm openings on a 0.95 mm pitch should be used for the center pad to assure proper paste volume. 9. A No-Clean, Type-3 solder paste is recommended. 10. The recommended card reflow profile is per the JEDEC/IPC J-STD-020 specification for Small Body Components.

6.3 QFN20 Package Marking

Figure 6.3. QFN20 Package Marking The package marking consists of:

  • 212B – The part number designation.
  • TTTT – A trace or manufacturing code. The first letter of this code is the hardware revision.
  • Y – The last digit of the assembly year.
  • WW – The 2-digit workweek when the device was assembled.
  • + – Indicates the device is RoHS-compliant. CPT212B Data Sheet silabs.com | Building a more connected world. Rev. 1.1 | 37
  1. Relevant Application Notes The following Application Notes are applicable to the CPT212B devices:
  • AN957: TouchXpress™ Configuration and Profiling Guide — This application note guides developers through the evaluation and configuration process of TouchXpress devices using Simplicity Studio [Xpress Configurator] and [Capacitive Sense Profiler].
  • AN447: Printed Circuit Design Notes for Capacitive Sensing Performance — This document describes hardware design guidelines specifically for capacitive sensing applications, including button placement and other layout guidelines.
  • AN949: TouchXpress™ Programming Guide — This application note discusses the production programming options available for TouchXpress devices. Application Notes can be accessed on the Silicon Labs website (www.silabs.com/interface-appnotes) or in Simplicity Studio in the [Doc- umentation]>[Application Notes] area. CPT212B Data Sheet Relevant Application Notes silabs.com | Building a more connected world. Rev. 1.1 | 38
  1. Revision History 8.1 Revision 1.1 June 30th, 2017 Added 3.1.5 I2C Configuration Interface. 8.2 Revision 1.0 May 10th, 2017 Initial release. CPT212B Data Sheet

Revision History

silabs.com | Building a more connected world. Rev. 1.1 | 39

http://www.silabs.com Silicon Laboratories Inc.

400 West Cesar Chavez

Austin, TX 78701 USA Simplicity Studio One-click access to MCU and wireless tools, documentation, software, source code libraries & more. Available for Windows, Mac and Linux! IoT Portfolio www.silabs.com/IoT SW/HW www.silabs.com/simplicity Quality www.silabs.com/quality Support and Community community.silabs.com Disclaimer Silicon Labs intends to provide customers with the latest, accurate, and in-depth documentation of all peripherals and modules available for system and software implementers using or intending to use the Silicon Labs products. Characterization data, available modules and peripherals, memory sizes and memory addresses refer to each specific device, and "Typical" parameters provided can and do vary in different applications. Application examples described herein are for illustrative purposes only. Silicon Labs reserves the right to make changes without further notice and limitation to product information, specifications, and descriptions herein, and does not give warranties as to the accuracy or completeness of the included information. Silicon Labs shall have no liability for the consequences of use of the information supplied herein. This document does not imply or express copyright licenses granted hereunder to design or fabricate any integrated circuits. The products are not designed or authorized to be used within any Life Support System without the specific written consent of Silicon Labs. A "Life Support System" is any product or system intended to support or sustain life and/or health, which, if it fails, can be reasonably expected to result in significant personal injury or death. Silicon Labs products are not designed or authorized for military applications. Silicon Labs products shall under no circumstances be used in weapons of mass destruction including (but not limited to) nuclear, biological or chemical weapons, or missiles capable of delivering such weapons. Trademark Information Silicon Laboratories Inc.® , Silicon Laboratories®, Silicon Labs®, SiLabs® and the Silicon Labs logo®, Bluegiga®, Bluegiga Logo®, Clockbuilder®, CMEMS®, DSPLL®, EFM®, EFM32®, EFR, Ember®, Energy Micro, Energy Micro logo and combinations thereof, "the world’s most energy friendly microcontrollers", Ember®, EZLink®, EZRadio®, EZRadioPRO®, Gecko®, ISOmodem®, Micrium, Precision32®, ProSLIC®, Simplicity Studio®, SiPHY®, Telegesis, the Telegesis Logo®, USBXpress®, Zentri and others are trademarks or registered trademarks of Silicon Labs. ARM, CORTEX, Cortex-M3 and THUMB are trademarks or registered trademarks of ARM Holdings. Keil is a registered trademark of ARM Limited. All other products or brand names mentioned herein are trademarks of their respective holders.