The

Advanced

tab provides advanced configuration parameters. In

SMARTSENSE

mode, most of the advanced parameters are tuned automatically. Select Manual tuning to control and configure the CAPSENSE™ middleware parameters.

The parameters in the Advanced tab are systematically arranged in the following subtabs.

Note:

Hover over the parameter value to display its description.

General subtab[various gen]

The

General

subtab contains the parameters common for all widgets irrespective of

Widget Sensing Method [all gen]

used for a widget.

5thgeneration LP CAPSENSE™



5 th generation CAPSENSE™


../figures/image12.png

4 thgeneration CAPSENSE™


../figures/image11.png

The

General

subtab contains the following sections:

Scan settings[5 thgenLP],[5thgen]

Parameter/Group name

Description

CAPSENSE™ generation

5

th

LP

5

th

Scan mode

Selects a sensor sequencing method.

INT driven (default)

– In Interrupt driven mode, the CPU extracts the results and programs the MSC HW for the next scan in the scope of the End of Scan interrupt servicing routine.

CS-DMA

– In Chained Scan DMA mode, the DMA functionality extracts the results and programs the MSC HW for the next scan. The CPU does not need to intervene between scans

Sensor connection method

Selects the method how to connect a sensor to the CAPSENSE™ HW block.

AMUXBUS

– In this mode, the CSD sensors, shield electrodes, and Rx electrodes are connected to the MSC HW using the analog bus and can be assigned to any GPIO which supports a connection with the analog bus for the particular device.

CTRLMUX

(default)– In this mode, the CSD sensors, shield electrodes, and Rx electrodes are connected to the MSC HW using the direct connection and can be assigned to the dedicated pads only.

CAPSENSE™ IMO clock frequency (MHz)

The frequency of the CAPSENSE™ IMO clock.

Modulator clock divider

Selects the Modulator clock divider used for the CSD, CSX, and ISX sensing methods (

Widget Sensing Method [all gen]

). This divider defines the operating frequency of the MSC block.

Actual modulator clock frequency (kHz)

This field shows the real ModClk, which depends on the PeriClk and selected

Modulator clock divider

.

Number of init sub-conversions

Selects the number of initialization sub-conversions at the start of the scan. This part of scan is intended to ensure proper initialization of CAPSENSE™ hardware and does not perform the raw count measurement.

Enable CIC2 hardware filter

The cascaded integrator-comb 2 (CIC2) filter is a second-order digital low-pass (decimation) filter for delta-sigma converters. It provides a higher resolution result for the equivalent scan time. MSCLP has a built-in CIC2, which improves the effective resolution and thereby the SNR for a given scan period.

Wake-on-Touch settings [5th gen LP]

Parameter/Group name

Description

Wake-on-Touch scan interval (us)

The desired scan interval in Wake-on-Touch mode. The real interval depends on ILO frequency which have a big tolerance (above +/- 50%), see device datasheets.

Number of frames in Wake-on-Touch

The maximum number of frames in Wake-on-Touch mode under no touch. The valid range is [1..65535].

Miscellaneous [various gen]

The miscellaneous settings are applicable to the whole CAPSENSE™ middleware behavior.

Parameter/Group name

Description

CAPSENSE™ generation

5

th

LP

5

th

4

th

Enable sensor auto-reset

When enabled, the baseline is always updated and when disabled, the baseline is updated only when the difference between the baseline and raw count is less than the noise threshold.

When enabled, the feature prevents the sensors from permanently turning on when the raw count accidentally rises due to a large power supply voltage fluctuation or other spurious conditions.

Enable self-test library

The CAPSENSE™ middleware provides the

B

uilt-

I

n

S

elf-

T

est (BIST) library to support the design compliant with the safety-integrity level of Class B (IEC-60730) white goods and automotive, and design for manufacturing testing. The library includes a set of tests for board validation, middleware configuration, and operation. The feature includes safety functions to reduce the risk, validate boards at manufacturing, and verify the middleware operation at run-time.

The BIST tests are classified into two categories:

Hardware tests

– To confirm the CAPSENSE™ HW block and sensor hardware (external to chip) function correctly:

Chip analog-routing verification

Pin faults checking

PCB-trace opens/shorts checking

Integration capacitors and sensors capacitance measurement

VDDA measurement.

FW tests

– To confirm the integrity of data used for decision-making on the sensor status:

Global and widget specific configuration verification

Sensor baseline duplication

Sensor raw count and baseline are in the specified range.

The application layer is responsible for running BIST tests.

Enable multi-frequency scan

The MFS provides superior immunity against external noises and is suitable for applications subjected to harsh environments.

MFS implementation for the 4th generation CAPSENSE™

When the MFS is enabled, each sensor is scanned three times with three different sensor frequencies. The base frequency F0 (zero channel) is the nominal sensor frequency. The second F1 and the third F2 frequencies are obtained by increasing the sense clock-divider by 1 and by 2 correspondingly.

SMARTSENSE

and the multi-frequency features are mutually exclusive. If SMARTSENSE is enabled, MFS cannot be enabled.

Note:

Enabling the MFS increases RAM usage by three times approximately.

Enabling the MFS increases the sensor scan duration by three times.

MFS implementation for the 5th generation and 5th generation LP CAPSENSE™

When MFS is enabled for a particular widget, the Configurator creates two supplementary widgets with the same properties but different CSD Sense clock divider or CSX Tx clock divider. The supplementary widgets have “_F1” and “_F2” suffixes in their names. Their sensors are ganged with the main widget sensors. The slot assignment should be performed manually on the

Scan Configuration tab [5th gen LP], [5th gen]

.

The

Enable multi-frequency scan

check box displays as checked when the MFS is enabled for all widgets, and partially checked when the MFS is enabled only for some widgets. You can enable or disable the MFS for a particular widget on the

Widget Details subtab [various gen]

.

SMARTSENSE

  • and the multi-frequency features are mutually exclusive. If the SMARTSENSE is enabled, MFS cannot be enabled for CSD widgets.

Note:

  • 5th generation LP allows you to combine MFS with SMARTSENSE – HW parameters mode.

Enable external frame start

Enables the external frame scan only under the rising edge of the signal on the dedicated pin (see

Scan Configuration tab [5th gen LP], [5th gen]

). The constraints for the external frame signal are as follows:

  • A period between the two subsequent EFS pulses is larger than the full scan duration including processing. An EFS signal that arises during the scan will be stored and the next scan will start immediately even if the processing has not completed yet.

  • The minimal pulse width is longer than 2 ILO cycles.

  • The maximal pulse width is shorter than frame duration.

Regular widget – raw count filter parameters [various gen]

The regular widget raw count filter applies to raw counts of sensors belonging to non-proximity widgets. These parameters can be enabled only when one or more non-proximity widgets are added to the

Basic tab [all gen]

. The filter algorithm is executed when any processing function is called by the application layer. When enabled, each filter consumes RAM to store a previous raw count (filter history). If multiple filters are enabled, the total filter history correspondingly increases so that the size of the total filter history is equal to a sum of all enabled filter histories.

Software filter [all gen]

Parameter/Group name

Description

Enable IIR filter (First order)

Enables the IIR filter (See equation below) with a step response similar to an RC low-pass filter, thereby passing the low-frequency signals (finger touch responses).

Output=NK×input+(K-N)K×previousOutput

where:

K is always 256.

N is the IIR filter raw count coefficient selectable from 1 to 128 in the Configurator.

A lower N (set in the

IIR filter raw count coefficient

parameter) results in lower noise, but slows down the response. This filter eliminates high-frequency noise.

Consumes 2 bytes of RAM per each sensor to store a previous raw count (filter history).

IIR filter raw count coefficient

The coefficient (N) of IIR filter for raw counts is explained in the

Enable IIR filter (First order)

parameter.

The range of valid values: 1-128.

Enable median filter (3-sample)

Enables a non-linear filter that takes three of most recent samples and computes the median value. This filter eliminates spike noise typically caused by motors and switching power supplies.

Consumes 4 bytes of RAM per each sensor to store a previous raw count (filter history).

Enable average filter (4-sample)

The finite-impulse response filter (no feedback) with equally weighted coefficients. It takes four of most recent samples and computes their average. Eliminates periodic noise (e.g. noise from AC mains).

Consumes 6 bytes of RAM per each sensor to store a previous raw count (filter history).

Note:

If multiple filters are enabled, the execution order is as follows:

  1. Median filter

  2. IIR filter

  3. Average filter

Hardware filter [5thgen LP]

Parameter/Group name

Description

Enable IIR filter (First order)

Enables the hardware IIR filter for Low Power widgets. The design of these parameters is different from the regular widget raw count filter parameters. These dedicated parameters allow for setting Low Power filter configuration and behavior differently compared to the other widgets.

RawCount=12iirRCcoefRawCountNew+(1-12iirRCcoef)RawCountPrevious

where,

iirRCcoef

– IIR filter raw count coefficient; valid range: 1 to 8. A low coefficient means lower filtering; a higher coefficient means a higher response time.

Note:

There is no filtering for coefficient value “0”.

IIR filter raw count coefficient

Proximity widget – raw count filter parameters [various gen]

The proximity widget raw count filter applies to raw counts of sensors belonging to the proximity widgets, these parameters can be enabled only when one or more proximity widgets are added on the

Basic tab [all gen]

.

Software filter

[all gen]

Parameter/Group name

Description

Enable IIR filter (First order)

The design of these parameters is the same as the Regular widget – raw count filter parameters. The Proximity (

Widget Type [all gen]

) sensors require high-noise reduction. These dedicated parameters allow for setting the proximity filter configuration and behavior differently compared to other widgets.

IIR filter raw count coefficient

Enable median filter (3-sample)

Enable average filter (4-sample)

Hardware filter

[5th gen LP]

Parameter/Group name

Description

Enable IIR filter (First order)

Enables the hardware IIR filter for Proximity widgets. The equation is the same as for hardware IIR filter for regular widgets.

IIR filter raw count coefficient

Low power widget – raw count filter parameters [5 thgen LP]

The Low Power widget raw count filter applies to raw counts of sensors belonging to Low Power widgets, these parameters can be enabled only when one or more Low Power widgets are added on the

Basic tab [all gen]

.

Parameter/Group name

Description

Enable IIR filter (First order)

Enables the hardware IIR filter for Low Power widgets. The design of these parameters is different from the regular widget raw count filter parameters. These dedicated parameters allow for setting Low Power filter configuration and behavior differently compared to the other widgets.

RawCount=12iirRCcoefRawCountNew+(1-12iirRCcoef)RawCountPrevious

where,

iirRCcoef –

IIR filter raw count coefficient; the valid range: 1 to 8. A low coefficient means lower filtering, a higher coefficient – a higher response time.

IIR filter raw count coefficient

Baseline coefficient (fast)

Baseline IIR filter coefficient (fast) selection for sensors in Low Power widgets only. The range of valid values: 1-15.

Baseline coefficient (slow)

Baseline IIR filter coefficient (slow) selection for sensors in Low Power widgets only. The range of valid values: 1-15.

Baseline filter settings / Active widget baseline filter settings [various gen]

The baseline filter settings are applied to all sensors’ baselines. But, filter coefficients for the proximity, regular, and Low Power widgets can be controlled independently from each other.

The design baseline IIR filter is the same as the

Enable IIR filter (First order)

parameter. But, filter coefficients can be separate for both baseline and raw count filters to produce a different roll-off. The baseline filter is applied to a filtered raw count (if the widget raw count filters are enabled).

Parameter/Group name

Description

CAPSENSE™ generation

5

th

LP

5

th

4

th

Regular widget baseline coefficient

Select the Baseline IIR filter coefficient for sensors in non-proximity widgets. The range of valid values: 1-255.

Proximity widget baseline coefficient

The design of these parameters is the same as the

Regular widget baseline coefficient

, but with a dedicated parameter allows controlling the baseline update-rate of the proximity sensors differently compared to other widgets.

CSD Settings subtab[various gen]

Contains the parameters common for widgets that use the CSD sensing method (

Widget Sensing Method [all gen]

). This subtab is relevant only if at least one widget uses the CSD sensing method.

5thgeneration LP CAPSENSE™



5thgeneration CAPSENSE™


../figures/image15.png

4thgeneration CAPSENSE™


../figures/image14.png

CSD Settings subtab parameters [various gen]

The

CSD Settings subtab

contains the following parameters:

Parameter name

Description

CAPSENSE™ generation

5

th

LP

5

th

4

th

Modulator clock divider

Selects the modulator clock divider used for the CSD sensing method (see

Widget Sensing Method [all gen]

). Defines the operating frequency of the CSD block.

Actual modulator clock frequency (kHz)

This field shows the real ModClk, which depends on the CSD peripheral clock and selected

Modulator clock divider

.

Inactive sensor connection

Selects the state of the sensor when it is not scanned.

Ground (default)

– Inactive sensors are connected to the ground.

High-Z

– Inactive sensors are floating (not connected to GND or Shield).

Shield

– Inactive sensors are connected to Shield.

Ground

is the recommended selection for this parameter when water tolerance is not required for the design. Select

Shield

when the design needs water tolerance or to reduce the sensor parasitic capacitance in the design.

IDAC sensing configuration

Selects the type of IDAC switching:

IDAC Sourcing

(default

)

– Sources current into the modulator capacitor (Cmod). The analog switches are configured to alternate between the Cmod and GND. IDAC Sourcing is recommended for most designs because of the better SNR.

IDAC sinking

– Sinks current from the modulator capacitor (Cmod). The analog switches are configured to alternate between V

DD

and Cmod.

Enable IDAC auto-calibration

When enabled, values of the CSD widget IDACs are automatically set by the middleware. Select this parameter for robust operation and to enable

SMARTSENSE

.

Enable compensation IDAC

Used to compensate for sensor parasitic capacitance to improve performance. Enable it unless one IDAC is required for general purpose (other than CAPSENSE™) in the application.

Enable CDAC auto-calibration

When enabled, the values of the CSD widget CDACs are automatically set by the middleware. Select this parameter for robust operation.

Enable compensation CDAC

Used to compensate for sensor parasitic capacitance to improve the system performance.

Raw count calibration level

The raw count calibration level.

Enable shield electrode

Used to reduce the sensor parasitic capacitance, enable water-tolerant CAPSENSE™ designs, and enhance the detection range for the Proximity (

Widget Type [all gen]

). When the shield electrode is disabled, configurable parameters associated with the shield electrode are hidden.

Enable shield tank (Csh) electrode

The shield tank capacitor is used to increase the drive capacity of the shield electrode driver. Enable it when the shield electrode capacitance is higher than 100 pF. The recommended value for a shield tank capacitor is 10nF/5V/X7R or an NP0 capacitor. The shield tank capacitor is not supported in configuration that includes both CSD and CSX sensing-based widgets.

Shield SW resistance

Select the resistance of switches to drive the shield electrode. The four options: Low; Medium (default); High; Low EMI.

Total shield count

Selects the number of shield electrodes required in the design.

Most designs work with one dedicated shield electrode but, some designs require multiple dedicated shield electrodes to ease the PCB layout routing or to minimize the PCB area used for the shield layer.

The minimum value is 0 (for example, shield signal could be routed to sensors using the

Inactive sensor connection

parameter) and the maximum value is equal to the total number of CAPSENSE™-enabled port pins available for the selected device.

Shield mode

Selects the shield drive. The options:

Disabled

(default) – No shield. In this mode the configurable parameters associated with it are not applicable.

Active

– A shield circuit drives the shield electrode with a replica of the sensor signal. The internal buffer operational amplifier (opamp) is used to drive the VDDA/2 voltage onto the shield pin during the corresponding phases. The Active shielding provides better capabilities in comparison to the Passive shielding.

For high-performance applications, recommended the shield electrode capacitance less than 1.2nF.


../figures/image17.png

Passive

– In this mode the buffer is not used, instead the shield is switched between VDDA and GND. The Passive shielding provides worse shielding capabilities in comparison to the Active shielding since it does not replicate the sensor signal. The Passive shielding is preferred for low power applications if high shielding performance is not critical.


../figures/image17.png

Commands:

  • Restore Defaults

    – Restores parameters values on the current tab to their default values.

CSX Settings subtab [various gen]

Contains the parameters common for widgets that use the CSX sensing method (see

Widget Sensing Method [all gen]

). This subtab is relevant only if at least one widget uses the CSX sensing method.

5th generation LP CAPSENSE™



5 thgeneration CAPSENSE™


../figures/image20.png

4 thgeneration CAPSENSE™


../figures/image19.png

CSX Settings subtab parameters [various gen]

The

CSX Settings

subtab contains the following parameters:

Parameter name

Description

CAPSENSE™ generation

5

th

LP

5

th

4

th

Modulator clock divider

Selects the modulator clock divider used for the CSX sensing method (see

Widget Sensing Method [all gen]

). Defines the operating frequency of the CSX block.

A higher modulator clock frequency reduces the sensor scan time, results in lower power, and reduces the noise in raw counts, so use the highest possible frequency.

Actual modulator clock frequency (kHz)

This field shows the real ModClk, which depends on the CSX peripheral clock and selected

Modulator clock divider

.

Inactive sensor connection

Selects the state of the sensor when it is not scanned.

Ground (default)

– Inactive sensors are connected to the ground.

High-Z

– Inactive sensors are floating (not connected to GND or Shield).

VDDA/2

– Inactive sensors are connected to the VDDA/2 voltage level source.

Number of reported fingers for Touchpad

Sets the number of reported fingers for CSX Touchpad widgets only. The available options are from 1 to 3.

Enable IDAC auto-calibration

When enabled, IDAC values are automatically set by the middleware. Recommended to select the Enable IDAC auto-calibration for robust operation.

Enable CDAC auto-calibration

When enabled, the values of the CSX widget CDACs are automatically set by the middleware. Select this parameter for robust operation.

Enable compensation CDAC

Used to compensate for sensor parasitic capacitance to improve the system performance.

Raw count calibration level

The raw count calibration level in percentage for CSX widgets.

Commands:

  • Restore Defaults

    – Restores parameters values on the current tab to their default values.

ISX Settings subtab[5th gen LP]

Contains the parameters common for widgets that use the ISX sensing method (see

Widget Sensing Method [all gen]

).This subtab is relevant only if at least one widget uses the ISX sensing method.



ISX Settings subtab parameters[5th gen LP]

The

ISX Settings

subtab contains the following parameters:

Parameter

Description

Raw count calibration level (%)

The raw count calibration level in percent.

Commands:

  • Restore Defaults

    – Restores parameters values on the current tab to their default values.

Widget Details subtab[various gen]

Contains parameters specific to each widget and sensor. These parameters are set manually when

SMARTSENSE

is not enabled. The parameters are unique for each widget type. When a parameter is selected, its description displays on the panel below the parameters list.



Commands:

  • Restore Defaults

    – Restores parameters values on the current tab to their default values.

The

Widget Details

subtab contains the following parameters:

Widget general parameters [various gen]

Parameter name

Description

CAPSENSE™ generation

5

th

LP

5

th

4

th

Diplexing

Enabling Diplexing allows doubling the linear slider physical touch sensing area by using the specific duplexing sensor pattern and without using additional port pins and sensors. Applicable for linear sliders only.

Maximum position

Represents the maximum Centroid position for the slider. A touch on the slider would produce a position value from 0 to the maximum position-value set. No Touch would produce 0x0000.

Maximum X-axis position

Represents the maximum column (X-axis) Centroid position and row (Y-axis) Centroid positions for a touchpad. A touch on the touchpad would produce a position value from 0 to the maximum position set. No Touch would produce 0x0000.

Enable multi-frequency scan

Enables the multi-frequency scan for the current widget. Refer to

Enable multi-frequency scan

for details.

Enable foam rejection

Set this parameter to true to create the

Liquid Level Foam Rejection (FR)

sub-widget, which calculates a liquid level excluding foam.

Liquid Level FR

sensors are ganged with the

Liquid Level

widget’s sensors. Assign slots manually on the tab.

Scan Configuration tab [5th gen LP], [5th gen]

Maximum level

Represents the maximum measurable capacity of the sensor. The sensor produces the measured liquid level starting from value 0 to the maximum level set. The value range is 1-16384.

Foam correction coefficient

Set this parameter to true to create the

Liquid Level Foam Rejection (FR)

sub-widget, which calculates a liquid level excluding foam.

Liquid Level FR

sensors are ganged with the

Liquid Level

widget’s sensors. Assign slots manually on the

Scan Configuration tab [5th gen LP], [5th gen]

tab.

Sets the foam correction (rejection) coefficient. Displays when the Liquid level foam rejection widget is enabled. The foam rejection coefficient:

RawCount=12iirRCcoefRawCountNew+(1-12iirRCcoef)RawCountPrevious

is the level reported by the Liquid Level foam rejection widget – to obtain the correct result, set the foam rejection coefficient to "0".

L

e

v

e

l

L

i

q

u

i

d

L

e

v

e

l

is the level reported by the Liquid Level widget.

L

e

v

e

l

k

n

o

w

n

is the real liquid level in the tank without foam.

Note:

To obtain better results, fill the tank with some liquid and create maximum foam.

The value range is 0-4095.

Widget hardware parameters[various gen]

Note:

All the Widget hardware parameters are set automatically when

SMARTSENSE

is enabled on

Basic tab [all gen]

.

Parameter/Group name

Description

CAPSENSE™ generation

5

th

LP

5

th

4

th

Touch sensitivity (pF/µH)

See

Touch Sensitivity [all gen]

for the description.

Sense clock divider

Sets the CSD Sense clock divider.

For the 5

th

generation CAPSENSE™, the value will be a multiple of 4.

When

SMARTSENSE

is selected in

Basic tab [all gen]

, the Sense Clock divider is automatically set by the middleware to an optimal value by following the 25R*C rule for the 4

th

generation CAPSENSE™ and 45RC for the 5 generation CAPSENSE™ (refer to

CAPSENSE™ design guide

for more information on this rule) and this control is not editable.

Row sense clock divider

Sets the CSD Sense clock divider for row and column sensors of the Matrix Buttons and Touchpad (

Widget Type [all gen]

).

For the 5

th

generation CAPSENSE™, the value will be a multiple of 4.

Column sense clock divider

Tx Clock divider

Sets the Tx Clock divider for the CSX widgets.

For the 5

th

generation CAPSENSE™, the value will be a multiple of 2.

Sense clock source

The Sense clock frequency is derived from the Modulator clock frequency using a clock-divider and is used to sample the sensor. Both the clock source and clock divider are configurable.

The Spread Spectrum Clock (SSC) provides a dithering clock source with a center frequency equal to the Sense clock frequency. The Pseudo-Random Sequencer (PRS) clock source spreads the clock using the pseudo-random sequence and the Direct source disables both SSC and PRS sources and uses a fixed-frequency clock.

Both PRS and SSC reduce the radiated noise by spreading the clock and improve the immunity against external noise. Using a higher number of bits of SSC and PRS lowers the radiation and increases the immunity against external noise.

The following sources are available:

  • Direct – PRS and SSC are disabled and a fixed clock is used.

  • PRS8 – The clock spreads using PRS to Modulator Clock / 256.

  • PRS12 – The clock spreads using PRS to Modulator Clock / 4096.

  • SSC6, SSC7, SSC9 and SSC10 – The clock spreads using from 6 to 10 bits of the sense-clock divider respectively.

  • Auto – The middleware automatically selects optimal SSC, PRS or Direct sources individually for each widget. The Auto is the recommended sense clock source selection.

The rules and recommendations for the SSC selection:

  • The ratio between the Modulator clock frequency and Sense clock frequency must be greater than or equal to 20.

  • 20% of the ratio between the Modulator clock frequency and Sense clock frequency will be greater or equal to the SSC frequency range = 32, which allows varying the ratio between the Modulator and Sense clock frequencies to 32 different clocks evenly spaced over +/- 10% from the center frequency:

160

S

n

s

C

l

k

D

i

v

where

SnsClkDiv

is Sense clock divider.

Recommended that at least one full-spread spectrum polynomial complete during the scan time:

(2N1)/SnsClkDiv2SSCN1

where N is the

Scan resolution

, SSCN is the number of bits used for SSC (6, 7, 9 and 10), and SnsClkDiv is Sense clock divider.

Recommended that the number of sub-conversions for the widget be an integer multiple of the SSC polynomial selected. For example, if SSC6 is selected, the number of the sub-conversion should be multiple of (2^SSC6-1) = 63.

The recommendation for the PRS selection:

At least one full PRS polynomial completes during the scan time:

(2N1)/SnsClkDiv2PRCN1

where N is the

Scan resolution

, PRSN is the number of bits used for PRS (8 and 12), ModClk is the Modulator clock frequency and SnsClk is the average Sense clock frequency.

Tx clock source

The Tx clock frequency derives from the Modulator clock frequency using a clock-divider and is used to sample the sensor. Both the clock source and clock divider are configurable.

The Spread Spectrum Clock (SSC) provides a dithering clock source with a center frequency equal to the Tx clock frequency and the Direct source disables the SSC source and uses a fixed frequency clock. The SSC reduces the radiated noise by spreading the clock and improves the immunity against external noise. Using a higher number of bits of SSC lowers the radiation and increases the immunity against external noise.

The following clock sources are available:

  • Direct – SSC is disabled and a fixed clock is used.

  • SSC6, SSC7, SSC9 and SSC10 – The clock spreads using from 6 to 10 bits of the sense-clock divider respectively.

  • Auto – The middleware automatically selects optimal SSC or Direct sources individually for each widget. Auto is the recommended Sense clock source selection.

The rules and recommendations for the SSC selection:

  • The ratio between the Modulator clock frequency and Tx clock frequency must be greater than or equal to 20.

  • 20% of the Tx clock divider should be greater or equal to the SSC frequency range = 32. It allows varying the ratio between the Modulator and Tx clock frequencies to 32 different clocks evenly spaced over +/- 10% from the center frequency.

T

x

C

l

k

D

i

v

160

where

TxClkDiv

is Tx clock divider.

Recommended that at least one full-spread spectrum polynomial complete during the scan time.

N_Sub2SSCN1

where

N_Sub

is the Number of sub-conversions, SSCN is the number of bits used for SSC (6, 7, 9 and 10).

Recommended that the Number of sub-conversions for the widget be an integer multiple of the SSC polynomial selected. For example, if SSC6 is selected, the number of sub-conversions should be multiple of (2SSC6-1) = 63.

Clock source

The clock frequency is used to sample the sensor. It is derived from the modulator clock frequency using a clock divider. Both the clock source and clock divider are configurable.

The Spread Spectrum Clock (SSC) provides a dithering clock source with a center frequency equal to the Sense clock frequency. The PRS clock source spreads the clock using the pseudo-random sequencer and the Direct source disables both SSC and PRS sources and uses a fixed-frequency clock.

Both PRS and SSC reduce the radiated noise by spreading the clock and improve the immunity against external noise. Using a higher number of bits of SSC and PRS lowers the radiation and increases the immunity against external noise.

The sources:

  • Direct – Disable PRS and SSC and use a fixed clock.

  • SSC – The clock spreads the by variation of sense-clock divider in the [-16,15] range.

  • PRS – The clock spreads using PRS to Sensor Clock.

  • SSC Auto – The middleware automatically selects optimal SSC or Direct sources individually for each widget.

  • PRS Auto – The middleware automatically selects optimal PRS or Direct sources individually for each widget.

    The rules and recommendations for the SSC selection:

    Sensing method

    LFSR range

    Sense clock divider Min

    Sense clock divider Max

    CSD

    [-2; 1]

    10

    4095

    CSD

    [-4; 3]

    12

    4094

    CSD

    [-8; 7]

    16

    4089

    CSD

    [-16; 15]

    24

    4081

    CSD

    Auto

    10

    4095

    CSX

    [-2; 1]

    6

    4094

    CSX

    [-4; 3]

    8

    4092

    CSX

    [-8; 7]

    12

    4088

    CSX

    [-16; 15]

    20

    4080

    CSX

    Auto

    6

    4094

LFSR range

The linear-feedback shift register (LFSR). For CSD widgets, sets the Sense Clock Divider deviation range. For CSX widgets, sets the TX Clock Divider deviation range.

For example, if the clock divider is set to 16 and the LFSR range is set to [-2; 1], the MSC HW block will vary the clock divider in the range from 14(16 – 2) to 17 (16 + 1) during a scan.

This parameter is editable when the Clock Source is SSC or SSC Auto.

Decimation rate mode

Decimation rate mode is set automatically by the middleware or manually depending on the mode.

Decimation rate

Sets the configurable decimation rate when

Enable CIC2 hardware filter

is enabled. The minimum recommended value considering two valid CIC2 samples (valid samples = Total CIC2 samples - 1):

D

e

c

i

m

a

t

i

o

n

r

a

t

e

(

N

)

S

n

s

_

C

l

k

_

D

i

v

×

N

s

u

b

3

CIC2 accumulator shift

The CIC2 and Row CIC2 accumulator shifts set the right shift value applied to the CIC2 accumulator to form raw counts when the

Enable CIC2 hardware filter

is enabled. Both parameters are configurable.

Row CIC2 accumulator shift

Scan resolution

Selects the scan resolution of the CSD widgets (the resolution of the capacitance-to-digital conversion). Acceptable values are from 6 to 16 bits.

Reference CDAC value

Sets the reference CDAC value for the Button, Slider or Proximity (under

Widget Type [all gen]

).

This parameter's value is set automatically when

Reference CDAC mode

is set to the AUTO value or

Enable CDAC auto-calibration

is selected in the

CSD Settings subtab

) is selected.

Row reference CDAC value

These parameters set separate CDAC values for the row and column sensors of the Matrix Buttons and Touchpad (under

Widget Type [all gen]

).

These parameters' values are set automatically when

Reference CDAC mode

is set to the AUTO value or

Enable CDAC auto-calibration

is selected in the

CSD Settings subtab

) is selected.

Column reference CDAC value

CDAC dither mode

Select CDAC dither mode used to reduce

Flat-spots

(or dead zones).

CDAC dither scale

CDAC dither value in bits. The parameter's value is set automatically when the parameter is set to the AUTO value.

Compensation CDAC divider

The ratio between the Modulator clock frequency and Compensation CDAC switching frequency. The ratio between the

Sense clock divider

and Compensation CDAC divider shows the number of times the Compensation CDAC switches in the sense clock period. The value range is [3 .. 4095].

Number of sub-conversions

Selects the number of sub-conversions.

For the CSD block, applicable to the CSX and ISX sensing methods (

)

.

Modulator IDAC

Sets the modulator IDAC value for the CSD Button, Slider, or Proximity (under

Widget Type [all gen]

).

The value of this parameter is automatically set when

Enable IDAC auto-calibration

is selected in the (

CSD Settings subtab

).

Row modulator IDAC

Sets a separate modulator IDAC value for the row and column sensors of the CSD Matrix Buttons and Touchpad (under

Widget Type [all gen]

).

These parameters values are automatically set when

Enable IDAC auto-calibration

is selected in the (

CSD Settings subtab [various gen]

).

Column modulator IDAC

IDAC gain index

Sets the IDAC gain index. Options include:

  • Index 0 – 37.5 nA

  • Index 1 – 75 nA

  • Index 2 – 300 nA (default for CSX widgets)

  • Index 3 – 600 nA

  • Index 4 – 2400 nA (default for CSD widgets)

  • Index 5 – 4800 nA

  • Index 6 – 1200 nA

The value of this parameter is automatically set when

Enable IDAC auto-calibration

is selected.

Enable coarse initialization bypass

Enables skipping the coarse initialization and thus, the scan refresh rate increases.

Multi-phase Tx order

The Multi-phase Tx technic is used for mutual capacitance sensing. The Tx driver is modulated with different patterns by the firmware and then the result is de-convoluted. The advantage is a higher SNR because MPTX performs spatial filtering of the result with sqrt(N) improvement in noise, where N is the number of driven lines and the scan is performed by N times longer than a single sensor scan. The parameter becomes visible if the Tx electrodes number is greater than 3.

Capacitive DAC parameters[5th gen LP]

These parameters belong to the Widget hardware parameters group for the 5th generation CAPSENSE™.

Parameter name

Description

Reference CDAC mode

Selects the Reference CDAC mode.

Reference CDAC value

Set the reference CDAC value for the Button, Slider or Proximity widget.

These parameter's value is set automatically when

Reference CDAC mode

is set to the AUTO value or

Enable CDAC auto-calibration

(

CSD Settings subtab [various gen]

) is selected.

Row reference CDAC value

These parameters set separate CDAC values for the row and column sensors of the Matrix Buttons and Touchpad (under

Widget Type [all gen]

).

These parameter's value is set automatically when

Reference CDAC mode

is set to the AUTO value or

Enable CDAC auto-calibration

(

CSD Settings subtab [various gen]

) is selected.

Column reference CDAC value

Reference CDAC boost

Increases the sensitivity by 2x, 3x, and 4x.

Achieved by dividing the actual Reference CDAC values by the factors of 2,3, and 4 for auto-calibration.

Fine CDAC mode

Select Fine CDAC mode. The Fine CDAC is a programmable CDAC used to achieve finer resolution for the Reference CDAC.

Fine CDAC value

These parameters are available when

Fine CDAC mode

is set to the MANUAL value. Sets Fine CDAC values separately for the row and column sensors of the Matrix Buttons and Touchpad (under

Widget Type [all gen]

).

These parameters values are set automatically when

Fine CDAC mode

is set to the AUTO value.

Row fine CDAC value

Compensation CDAC mode

Select Compensation CDAC mode used to compensate for sensor mutual capacitance in order to improve the system performance.

Compensation CDAC divider mode

Select Compensation CDAC divider mode. This parameter depends on Compensation CDAC mode.

Compensation CDAC divider

The ratio between the Modulator clock frequency and Compensation CDAC switching frequency. The ratio between the

Sense clock divider

and Compensation CDAC divider shows the number of times the Compensation CDAC switches in the sense clock period. The value range is [3..4095].

CDAC dither mode

Select CDAC dither mode used to reduce

Flat-spots

(or dead zones).

CDAC dither scale

CDAC dither value in bits. The parameter's value is set automatically when

CDAC dither mode

is set to the AUTO value.

Widget threshold parameters [all gen]

Note:

All threshold parameters for the CSD widgets are set automatically when

SMARTSENSE

is selected in

Basic tab [all gen]

.

Parameter name

Description

Finger threshold

The finger threshold parameter is used along with the hysteresis parameter to determine the sensor state as follows:

  • ON – Signal > (Finger Threshold + Hysteresis)

  • OFF – Signal ≤ (Finger Threshold – Hysteresis).

Note that "Signal" in the above equations refers to:

Signal = Raw Count – Baseline.

Recommended to set the Finger threshold parameter value equal to the 80% of the touch signal. The Finger Threshold parameter is not available for the Proximity widget (under

Widget Type [all gen]

). Instead, Proximity has two thresholds:

Noise threshold

Sets a signal limit, below which a signal is considered as noise. When a signal is above the Noise Threshold, a difference count is produced and the baseline is updated only if

Enable sensor auto-reset

is selected. If it is not selected, the baseline remains constant as long as the raw count is above the baseline + noise threshold. This prevents the baseline from following the raw counts during a finger touch detection event.

Recommended to set the noise threshold parameter value equal to 2x noise in the raw count or the 40% of the signal.

Negative noise threshold

Sets an absolute signal value limit below which the baseline is not updated for the number of samples specified by the

Low baseline reset

parameter.

The negative noise threshold ensures that the baseline does not fall low because of any high-amplitude repeated negative-noise spikes on a raw count caused by different noise sources such as ESD events.

Recommended to set the negative noise threshold parameter value equal to the

Noise threshold

parameter value.

Low baseline reset

This parameter is used along with the

Negative noise threshold

parameter. It counts the number of abnormally low raw counts required to reset the baseline.

If a finger is placed on the sensor during a device startup, the baseline gets initialized to a high raw count value at startup. When the finger is removed, the raw count falls to a lower value. In this case, the baseline should track low raw counts. The Low baseline reset parameter helps handle this event. It resets the baseline to a low raw count value when the number of low samples reaches the low-baseline reset number.

Note:

After a finger is removed from the sensor, the sensor will not respond to finger touches for low baseline-reset time.

The recommended value is 30, which works for most designs.

Hysteresis

The hysteresis parameter is used along with the

Finger threshold

parameter (

Proximity touch threshold

and

Proximity threshold

for Proximity sensor) to determine the sensor state. Hysteresis provides immunity against noisy transitions of the sensor state.

See the description of the

Finger threshold

parameter for details.

The recommend value for the hysteresis is the 10% the

Finger threshold

.

Hysteresis is not available for Low Power widgets.

ON debounce

Selects a number of consecutive CAPSENSE™ scans during which a sensor must be active to generate an ON state from the middleware. Debounce ensures that high-frequency, high-amplitude noise does not cause false detection.

  • Buttons/Matrix buttons/Proximity – An ON status is reported only when the sensor is touched for a consecutive debounce number of samples.

  • Sliders/Touchpads – The position status is reported only when any of the sensors is touched for a consecutive debounce number of samples.

The recommended value for the Debounce parameter is 3 for reliable sensor-status detection.

Proximity touch threshold

The design of the Proximity touch threshold and Proximity threshold parameters is the same as for the

Finger threshold

parameter. The proximity sensor requires a higher noise reduction, and supports two levels of detection:

The proximity level to detect an approaching hand or finger.

The touch level to detect a finger touch on the sensor similarly to other

Widget Type [all gen]

sensors.

Note that for valid operation, the

Proximity touch threshold

must be higher than the

Finger threshold

.

The threshold parameters such as

Hysteresis

and

ON debounce

are applicable to both detection levels.

Proximity threshold

Velocity

Defines the maximum speed of a finger movement in terms of the squared distance of the touchpad resolution. The parameter is applicable for the touchpad (CSX Touchpad) only. If the detected position of the next scan is further than the defined squared distance, then this touch is considered as a separate touch with a new touch ID.

Raw count filter parameters [all gen]

Common mode filter is a software filter that can be applied to all scanning methods (CSD, CSX, ISX). It is applicable to widgets with multiple identical sensor elements, such as matrix buttons, touchpads, and sliders). The larger the number of sensor elements, the better the performance. Common mode filter method minimizes common mode noises up to 75% of signal.

Parameter

Description

Common mode filter

Supported by all widgets except Proximity, Low Power, and Liquid Level. Available with the minimum sensor count 2 for the widget. Not supported with enabled:

Common mode filter threshold

Sets a threshold value. Sensors with smaller signals are used to calculate common mode noise. The recommended value is 75% of the touch. Calculated noise is applied to all sensors by correcting their raw counts.

The value range is 0-65535.

Position / Level filter parameters[all gen]

These parameters enable firmware filters on a centroid position to reduce noise. These filters are available for Slider and Touchpad widgets only. If multiple filters are enabled, the execution order corresponds to the listed below and the total RAM consumption increases so that the size of the total filter history is equal to a sum of all enabled filter histories.

Parameter name

Description

IIR filter

Enables the IIR filter (see equation below) with a step response.

Output = N/K × input + (K-N)/K × previousOutput

where:

  • K is always 256;

  • N is the IIR filter raw count coefficient selectable from 1 to 255 in the configurator.

A lower N (set in the

IIR filter coefficient

parameter) results in lower noise, but slows down the response. This filter eliminates high-frequency noise.

Consumes 2 bytes of RAM per each position (filter history).

IIR filter coefficient

The coefficient (N) of the

IIR filter

for a position as explained in the IIR filter parameter.

The range of valid values: 1-255.

Median filter

Enables a non-linear filter that takes three of most recent samples and computes the median value. This filter eliminates the spikes noise typically caused by motors and switching power supplies. Consumes 4 bytes of RAM per each position (filter history).

Average filter

Enables the finite-impulse response filter (no feedback) with equally weighted coefficients. It takes two of most recent samples and computes their average. Eliminates periodic noise (e.g. noise from AC mains). Consumes 2 bytes of RAM per each position (filter history).

Jitter filter

This filter eliminates the noise in the position data that toggles between the two most recent values. If the most recent position value is greater than the previous one, the current position is decremented by 1; if it is less, the current position is incremented by 1. The filter is most effective at low noise. Consumes 2 bytes of RAM per each position (filter history).

Adaptive IIR filter parameters [all gen]

The

Adaptive IIR filter

group parameters can be applied for the following widgets: Linear slider (CSD and CSX), Radial slider (CSD), Touchpad (CSD and CSX).



Parameter name

Description

Adaptive IIR filter

Enables the Adaptive IIR filter – an IIR filter that changes its own IIR coefficient according to the speed of the finger movement. This is done to smooth the fast movement of the finger and at the same time control properly the position movement. The filter coefficients are automatically adjusted by the adaptive algorithm with the speed of the finger movement. If the finger moves slowly, the IIR coefficient decreases; if the finger moves fast, the IIR coefficient increases from the existing value.

Consumes 3 bytes of RAM per each position (filter history).

Position movement threshold

Defines the position threshold below, whose position displacement is ignored or considered as no movement.

Position slow movement threshold

Defines the position threshold below (and the above Position movement threshold), whose position displacement (the difference between the current and previous position) is considered as a slow movement. If the position displacement is within the threshold limits, the IIR filter coefficient decreases during each new scan. So, the filter impact on the position becomes less intensive.

Position fast movement threshold

Defines the position threshold above, whose position displacement is considered as a fast movement. If the position displacement is above the threshold limit, the IIR filter impact on the position becomes more intensive during each new scan as the filter coefficient increases.

IIR coefficient maximum limit

Defines the maximum limit of the IIR coefficient when the finger moves fast. The fast movement event is defined by the position fast movement threshold.

IIR coefficient minimum limit

Defines the minimum limit of the IIR coefficient when the finger moves slowly. The slow movement event is defined by the position slow movement threshold.

IIR coefficient divisor

This parameter acts as the scale factor for the filter IIR coefficient.

Output =  Coeff/Divisor × input + (Divisor-Coeff)/Divisor × previousOutput

where:

  • Input, Output, and Previous Output are the touch positions;

  • Coeff is the automatically adjusted IIR filter coefficient;

  • Divisor is the IIR coefficient divisor (this parameter).

Centroid parameters [all gen]

These parameters are available for the CSD Touchpad widgets only.

Parameter name

Description

Centroid type

Selects a sensor matrix size for centroid calculation. The 5x5 centroid (also known as Advanced Centroid) provides benefits such as Two-finger detection, Edge correction and improved accuracy.

If Advanced Centroid is selected, the below parameters are configured as well.

Cross-coupling position threshold

Defines the cross-coupling threshold. This value is subtracted from the sensor signal used for centroid position calculation to improve the accuracy.

The threshold should be equal to a sensor signal when a finger is near the sensor but is not touching the sensor. This can be determined by slowly dragging the finger across the panel and finding the inflection point of the difference counts at the base of the curve. The difference value at this point is the Cross-coupling threshold. The default value is 5.

Edge correction

This feature is available if the Centroid Type is configured to 5x5.

When enabled, a matrix of centroid calculation is updated with virtual sensors on the edges of a touchpad. It improves the accuracy of the reported position on the edges. When enabled, two more parameters must be configured: Virtual Sensor threshold and Penultimate threshold.

Virtual sensor threshold

This parameter is applicable only if Edge correction is enabled and used to calculate a signal (difference count) for a virtual sensor used for the edge correction algorithm.

A touch position on a slider or touchpad is calculated using a signal from the local-maxima sensor and its neighboring sensors. A touch on the edge sensor of a slider or touchpad does not accurately report a position because the edge sensor lacks signal from one side of neighboring sensors of the local-maxima sensor.


../figures/image24.png

If the Edge correction is enabled, the algorithm adds a virtual neighbor sensor to correct the deviation in the reported position. The Virtual sensor signal is defined by the Virtual sensor threshold:

DiffCount

virtual

= (Threshold

virtual

  • DiffCount

sns0

) × 2

where:

  • DiffCount VIRTUAL is the virtual sensor difference count;

  • Threshold VIRTUAL is the virtual sensor threshold;

  • DiffCount SNS0 is the sensor 0 difference count.

The conditions for a virtual sensor (and Edge correction algorithm) to be applied:

  • Local-maxima is detected on the edge sensor

  • The difference count from the penultimate sensor is less than the Penultimate threshold.

Penultimate threshold

This parameter is applicable only if the Edge correction is enabled and it works along with the Virtual sensor threshold parameter.

This parameter defines the threshold of penultimate sensor signal. If the signal from penultimate sensor is below the Penultimate threshold, the edge correction algorithm is applied to the centroid calculation.

The conditions for the edge correction to be applied:

  • Local-maxima is detected on the edge sensor

  • The difference count from the penultimate sensor (SNS 1 in the image below) is less than the Penultimate threshold.


../figures/image25.png

Pseudo two-finger detection

Enables the detection of the second finger on a CSD touchpad.

In general, a CSD touchpad can detect only one true touch position. A CSD touchpad widget consists of two Linear Sliders and each slider reports the X and Y coordinates of a finger touch. If there are two touches on the touchpad, there are four possible touch positions as shown in the figure below. The two of these touches are real touches and two are known as "ghost" touches. There is no possibility to differentiate between ghost and real touches in a CSD widget (to get true multi-touch performance, use the CSX Touchpad widget).


image26.svg

But, if this feature is enabled, the CSD touchpad can report up to two touches, mainly to be used in conjunction with two-finger gestures where real and ghost touches do not need to be fully differentiated. It is available for the CSD touchpad only when the Centroid type is configured to 5x5.

The Advanced centroid (Centroid type is 5x5) uses the 3x3 centroid matrix when detects two touches.

Ballistic multiplier parameters [all gen]

These parameters are available for the CSD Touchpad widgets only.

Parameter name

Description

Ballistic multiplier

Enables the Ballistic multiplier filter used to provide better user experience of the pointer movement. Fast movement will increase the position more quickly. Consumes 16 bytes of RAM when enabled.

The simplified diagram of the Ballistic Multiplier filter operation:


../figures/image27.png

where,

  • dPos is an input position displacement either in the X axis or Y axis,

  • dPosFiltered is the filtered displacement;

  • SpeedThreshold is either the X-axis speed threshold or Y-axis speed threshold;

  • A is the Acceleration coefficient;

  • S is the Speed coefficient;

  • D is the Divisor value.

Acceleration coefficient

Defines the value at which the position movement needs to be interpolated when the movement is classified as fast movement. The reported position displacement is multiplied by this parameter.

Speed coefficient

Defines the value at which the position movement is interpolated when the movement is classified as slow movement. The reported position displacement is multiplied by this parameter.

Divisor value

Defines the divisor value used to create a fraction for the acceleration and speed coefficients. The interpolated position coordinates are divided by the value of this parameter.

X-axis speed threshold

Defines the threshold to distinguish fast and slow movement on the X axis. If the X-axis position displacement reported between two consecutive scans exceeds this threshold, then it is considered as fast movement, otherwise as slow movement.

Y-axis speed threshold

Defines the threshold to distinguish fast and slow movement on the Y axis. If the Y-axis position displacement reported between two consecutive scans exceeds this threshold, then it is considered as fast movement, otherwise as slow movement.

Gesture parameters[all gen]

The

Gesture

group parameters cannot be applied for the following widgets: Proximity (CSD, ISX), Low power (CSD, CSX, ISX), Liquid level (CSD).

Parameter name

Description

Enable gestures

Master enable for gestures feature. A gesture consists of a sequence of Touchdown and Lift Off events. A simple touch on a widget is reported as a Touchdown event. Removal of a finger from a widget is reported as a Lift Off event. If the Lift Off event triggers another higher-level Gesture, then the Lift Off event is not reported.

Enable one-finger single click gestures

The one-finger single click gesture is a combination of Touchdown and Lift Off events under specific conditions:

  • A Touchdown event is followed by a Lift Off event.

  • The touch duration (between Touchdown and Lift Off) is greater than the

    Minimum click timeout

    and less than the

    Maximum click timeout

    (displays as Minimum touch duration and Maximum touch duration on the image).

  • Position displacements between the Touchdown and Lift Off events must be within the Maximum click distance.


../figures/image28.png

Enable one-finger long press gestures

The one-finger long press gesture is a Touchdown event with the conditions to be met:

  • The touch duration must be greater than Minimum long press timeout.

  • Position displacements must be within the Maximum click distance.

Note:

This option is supported by CAPSENSE™ Middleware 4.0 and later.

Enable one-finger double click gestures

The one-finger double click gesture is a combination of two sequential one-finger single click gestures under specific conditions:

  • Both clicks in the sequence must meet one-finger single click conditions.

  • The touch duration between two Touchdown events must be within the

    Minimum second click interval

    and

    Maximum second click interval

    timeout limits (display as Minimum interval between touches and Maximum interval between touches on the image).

  • The distance between two clicks must not exceed the Maximum second click distance.


../figures/image29.png

Enable one-finger click & drag gestures

This gesture is a one-finger click and then a hold followed by a drag. A typical use case is while moving items on the screen from one point to another. It is triggered when the finger movement follows this sequence: Touchdown → Lift Off → Touchdown → Drag.

The gesture triggers under specific conditions:

A one-finger click gesture and a subsequent Touchdown were detected within the Minimum click timeout and Maximum click timeout limits and within Maximum second click distance. Then the finger exceeds the Maximum click distance from a drag touchdown.

Enable two-finger single click gestures

A two-finger single click gesture is a combination of Touchdown and Lift Off events under specific conditions:

  • Two simultaneous finger touches (Touchdown and Lift Off) are detected.

  • The duration between the second finger Touchdown and Lift Off events of both fingers must be within the

    Minimum second click interval

    and

    Maximum second click interval

    timeout limits (display as Two-finger minimum touch duration and Two-finger maximum touch duration on the image).

  • The duration counting starts when the settling time elapsed for the second finger Touchdown event.

  • A position displacement between the Touchdown and Lift Off events is less than the Maximum second click distance.


../figures/image30.png

Enable one-finger scroll gestures

The one-finger scroll gesture is a combination of a Touchdown followed by a displacement in a specific direction under specific conditions:

For a slider, the position displacement between two consecutive scans must exceed the

Minimum scroll distance

(displays as Position threshold N on the image).

The scroll debounce number of a scroll gesture in the same direction is already detected.


../figures/image31.png

Enable two-finger scroll gestures

The design of the two-finger scroll gesture is the same as of the one-finger scroll under specific conditions:

  • There must be two simultaneous finger touches detected on a widget for a scroll to be considered as a two-finger scroll.

  • The displacement of both finger touches must be on the same direction for a two-finger scroll to be valid.

Enable one-finger edge swipe gestures

The edge swipe gesture is a combination of a Touchdown on an edge followed by a displacement towards the center. This gesture works under specific conditions:

  • A Touchdown event must occur in the edge area defined by the

    Edge size

    (displays as Disambiguation region width on the image).

  • A finger displacement must occur from the edge towards the center within the

    Maximum edge angle

    (displays as Top angle threshold or Bottom angle threshold on the image).

  • The displacement must exceed the

    Minimum edge distance

    (displays as Position threshold on the image) within the

    Maximum edge timeout

    duration.


../figures/image32.png

Enable one-finger flick gestures

A flick gesture is a combination of a Touchdown followed by a high-speed displacement and a Lift Off event.

A flick gesture starts at a Touchdown and completes and reported at a Lift Off event. This gesture works under specific conditions:


../figures/image33.png

Note:

The flick gesture is detected in 8 directions: Up; Down; Left; Right; Up-Right; Down-Left; Up-Left; Down-Right

Enable one-finger rotate gestures

A one-finger rotate gesture is reported when a circular displacement is detected. The decoding algorithm uses four directions to identify a circular displacement. A displacement in all four directions must be in the succession order to report a rotate gesture. The rotation direction can be clockwise or counter-clockwise.

Enable two-finger zoom gestures

A two-finger zoom gesture is reported when two touches move towards each other (Zoom Out) or move away from each other (Zoom In). This gesture works under specific conditions:

  • An increase or decrease in distance between two-finger touch positions must exceed the

    Minimum zoom distance

    .

  • The zoom debounce number of a Zoom In or Zoom Out gesture must be sequentially detected to report a Zoom gesture.

  • A scroll to the zoom debounce number of a zoom gestures must be sequentially detected to report a Zoom gesture. If a Zoom gesture occurs after a scroll, the gesture is reported and there was no Lift Off event between the scroll and Zoom gestures.

Enable gesture filtering

Enables filtering of the detected gestures.

The gesture priority is defined as follows (starting from the most important):

Two-finger zoom; Two-finger scroll; One-finger rotate; One-finger edge swipe; One-finger flick; One-finger scroll; Two-finger single click; One-finger click and drag; One-finger double click; One-finger single click; Touchdown; Liftoff

Maximum click timeout

Defines the maximum duration between a Touchdown and Lift Off events of a click event. This parameter is used in all click-based gestures.

Minimum click timeout

Defines the minimum duration between a Touchdown and Lift Off events of a click event. This parameter is used in all click-based gestures.

Maximum click distance

Defines the maximum displacement between a Touchdown and Lift Off events of a click event. This parameter is used in all click-based gestures.

Maximum second click interval

Defines the maximum displacement between a Touchdown and Lift Off events of a click event. This parameter is used in all click-based gestures.

Minimum second click interval

This parameter defines the minimum duration between the first Lift Off and the second Touchdown events. If the second click occurs early this limit, the double-click and click&drag gestures are not reported.

Maximum second click distance

Defines the maximum distance between the first Lift Off event and the second Touchdown event. If the second click occurs outside this limit, the double-click and click&drag gestures are not reported.

Minimum long press timeout

Defines the minimum duration after a touchdown event and before a lift off event of a long press event.

Maximum long press distance

Defines the maximum displacement to be detected for a long press to be valid.

Scroll debounce

Defines the minimum number sequential scroll steps in the same direction to be detected prior to the scroll is considered valid. A widget must detect scroll steps, at the minimum of Debounce times in the same direction to be considered as a scroll in that direction.

Minimum scroll distance

Defines the minimum displacement to recognize a single scroll step. A scroll step is calculated between two consecutive scans.

Rotate debounce

Defines the maximum number of sequential rotate steps in the same direction to deem a rotate gesture invalid. For example, if the Debounce value is set to 5, then the touch cannot continue in the same direction for 5 rotate steps and still have a valid rotate gesture. After this threshold, the reported gesture stops being a rotate gesture. If this parameter is set to 0, then the Debounce is disabled.

Minimum rotate distance

Defines the minimum displacement to recognize a single rotate step.

Zoom debounce

Defines the minimum number of zoom steps in a particular direction (in or out) to report a zoom gesture.

Minimum zoom distance

Defines the minimum displacement to recognize a single zoom step.

Maximum flick timeout

Defines the maximum duration of how long a flick gesture is searched after a Touchdown event. A position displacement and Lift Off event must happen within the duration defined by this parameter for a flick to be valid.

Minimum flick distance

Defines the minimum displacement to be detected for a one-finger flick to be valid.

Edge size

Defines the maximum edge area where a Touchdown must be detected for an edge swipe to be reported.

Minimum edge distance

Defines the minimum displacement to be detected from an edge to the center for an edge swipe to be reported.

Maximum edge timeout

Defines the maximum duration, within which an edge swipe must occur to be reported. The displacement must exceed the displacement threshold within the duration defined by this parameter for the edge swipe to be reported.

Maximum edge angle

To report this gesture, a finger movement starts from an edge and moves in the center direction. This is the ideal line. These parameters define the maximum angle deviation (in degree) from this ideal line for the edge swipe to be valid. Degree 1 means that the user can do gestures only on a single ideal line.

Sensor parameters[various gen]

Parameter name

Description

CAPSENSE™ generation

5

th

LP

5

th

4

th

Compensation IDAC value(s)

Sets the Compensation IDAC value for each sensor/node when

Enable compensation IDAC

value is selected on the CSD Settings tab.

For CSD sensing method (see

Widget Sensing Method [all gen]

), a higher Compensation IDAC value without saturating raw counts provides better sensitivity for sensor/nodes.

Select the

Enable IDAC auto-calibration

for robust operation.

Compensation CDAC value(s)

Sets the Compensation CDAC value for each sensor/node when

Enable compensation CDAC

is selected on the CSX Settings tabs.

For CSX sensing method (see

Widget Sensing Method [all gen]

), a higher Compensation CDAC value without saturating raw counts provides better sensitivity for sensor/nodes.

Select the

Enable CDAC auto-calibration

for robust operation.

Selected pins

Selects a port pin for the sensor (CSD sensing) and electrode (CSX sensing). The available options use a dedicated pin for a sensor or re-use one or more pins from any other sensor. Re-using the pins of any other sensor from any widgets helps create a ganged sensor.

Widget/Sensor parameters table[various gen]

The following table shows which Widget/Sensor parameters belong to a given widget type:

  • B = Button

  • LS = Linear Slider

  • RS = Radial Slider

  • MB = Matrix Buttons

  • T = Touchpad

  • P = Proximity

  • LP = Low Power

  • LL = Liquid Level

Parameters

5

th

gen LP

5

th

gen

4

th

gen

CSD widget

CSX widget

ISX widget

B

LS

RS

MB

T

P

LP

LL

B

LS

MB

T

LP

B

LS

P

LP

Diplexing

Maximum position

Maximum X-axis position

Maximum Y-axis position

Enable multi-frequency scan

Enable foam rejection

Foam correction coefficient

Maximum level

Sense clock divider

Column sense clock divider

Row sense clock divider

Sense clock source

Tx clock divider

Tx clock source

LX clock divider

Clock source

LFSR range

Decimation rate mode

Decimation rate

CIC2 accumulator shift

Row CIC2 accumulator shift

Scan resolution

Number of sub-conversions

Modulator IDAC

Column modulator IDAC

Row modulator IDAC

IDAC gain index

Reference CDAC mode

Reference CDAC value

Column reference CDAC value

Row reference CDAC value

Reference CDAC boost

Fine CDAC mode

Fine CDAC value

Column fine CDAC value

CDAC dither mode

CDAC dither scale

Enable coarse initialization bypass

Compensation CDAC mode

Compensation CDAC divider mode

Compensation CDAC divider

Multi-phase Tx order

Proximity threshold

Proximity touch threshold

Finger threshold

Noise threshold

Negative noise threshold

Low baseline reset

Hysteresis

ON debounce

Velocity

Common mode filter

Common mode threshold

Compensation IDAC value(s)

Compensation CDAC value(s)

Selected pins

IIR filter

IIR filter coefficient

Median filter

Average filter

Jitter filter

Adaptive IIR filter

Position movement threshold

Position slow movement threshold

Position fast movement threshold

IIR coefficient maximum limit

IIR coefficient minimum limit

IIR coefficient divisor

Centroid type

Cross-coupling position threshold

Edge correction

Virtual sensor threshold

Penultimate threshold

Pseudo two-finger detection

Ballistic multiplier

Acceleration coefficient

Speed coefficient

Divisor value

X-axis speed threshold

Y-axis speed threshold

Enable gestures

Enable one-finger single click gestures

Enable one-finger long press gestures

Enable one-finger double click gestures

Enable one-finger click & drag gestures

Enable two-finger single click gestures

Enable one-finger scroll gestures

Enable two-finger scroll gestures

Enable one-finger edge swipe gestures

Enable one-finger flick gestures

Enable one-finger rotate gestures

Enable two-finger zoom gestures

Enable gesture filtering

Maximum click timeout

Minimum click timeout

Maximum click distance

Maximum second click interval

Minimum second click interval

Maximum second click distance

Minimum long press timeout

Maximum long press distance

Scroll debounce

Minimum scroll distance

Rotate debounce

Minimum rotate distance

Zoom debounce

Minimum zoom distance

Maximum flick timeout

Minimum flick distance

Edge size

Minimum edge distance

Maximum edge timeout

Maximum edge angle

1

[various gen]

means certain sections apply differently to various CAPSENSE™ generations.