Glossary of Touch Terms in Atmel START QTouch® Library
Contents
- Sensor Definitions
- Sensor Technology
- Sensor Acquisition Parameters
- Sensor Configuration Parameters
- Slider/Wheel Configuration Parameters
- Sensor Node Parameters
- Sensor Touch Parameters
- Sensor Charge Time Auto-Tune
- Driven Shield
- Frequency Hop Parameters
- Surface Parameters
- Gesture Parameters
Sensor Definitions
- Buttons
Button reports ON/OFF state. - Slider
A group of 3 to N touch buttons can be combined to form a slider that reports a linear touch position. The resolution of the linear touch position can be set up to 12 bits. - Wheel
A group of 3 to N touch buttons can be combined to form a wheel that reports an angular touch position. The resolution of the angular touch position can be set up to 12 bits.
Sensor Technology
- Self-Capacitance Sensor
Requires one Y-line sense pin per button. - Mutual Capacitance Sensor
Requires one X-line drive pin and one Y-line sense pin per button. Can realize N x M number of sensors in a matrix form using N X-line and M Y-line.
Sensor Acquisition Parameters
- Scan Rate (ms)
Defines the touch measurement periodicity in milliseconds. The scan rate should be set higher than the total touch measurement time for all sensors. Shorter scan intervals provide the best touch response time while larger scan intervals reduce device power consumption. - Acquisition Frequency
Touch measurement is performed by bursting the sense lines in a specific way. This burst signal has its own frequency. You may be required to change the acquisition frequency if the system noise frequency is closer to the acquisition frequency. To vary the acquisition frequency, additional clock cycles are added during measurement for FREQ_SEL_0 through FREQ_SEL_15. FREQ_SEL_0 provides the fastest measurement time (no additional clock cycles are added) and FREQ_SEL_15 provides the slowest measurement time (15 additional clock cycles are added).
When the FREQ_SEL_SPREAD option is used, all 16 frequencies are used consecutively in a circular fashion. - PTC Interrupt Priority
Defines the interrupt priority for the PTC. The QTouch® library post-processing in an ISR (Interrupt Service Routine) could take considerable time. We recommend you configure the PTC interrupt to low priority.
This parameter is only applicable to SAM devices.
Sensor Configuration Parameters
- Sensor Detect Threshold
Defines the sensor's detect threshold. When a finger touches the sensor, the touch delta increases. The sensor will be reported as touched only if the sensor's touch delta value is more than the Sensor Threshold. We recommend you configure the Sensor Threshold as 50~70% of touch delta. You can start with the default value and adjust after monitoring the touch delta value. - Sensor Detect Hysteresis
Under noisy conditions, the delta value goes up and down over the sensor threshold. During these conditions, the sensor dithers in and out of touch. To avoid this, once a sensor goes into the detect state, the threshold for the sensor is reduced by the hysteresis value. Hysteresis values are derived from the "Sensor Threshold" value. - Adjacent Keys Suppression™ (AKS) Group
AKS can be used when touching multiple sensors is NOT allowed in a system. When sensors are physically close to each other, there is a possibility that touching one sensor will cause a rise in touch delta value on other adjacent sensors. At times the delta raise in other sensors may cross the threshold and could report false detection. When such sensors are configured in the same AKS group, only the first sensor (which goes in to detect) will be reported as touched. All other sensors' states will be suppressed, even if their delta crosses the Sensor Threshold.
Slider/Wheel Configuration Parameters
- Resolution
Defines the number of unique positions reported by the slider/wheel and determines how accurately you want to track the finger position. For example, if the resolution is 256, then the slider/wheel position will be reported from 0 through 255. - Dead Band
Dead band refers to the inactive area on both ends of the slider where no change in position is reported on touch. If the dead band is 10, then the inactive area is 10% on both ends. - Position Hysteresis
Position hysteresis defines the number of positions you have to move before the touch position is reported when the slider/wheel is touched for the first time. It also controls the number of positions you have to move BACK (before the touch position is reported) when the direction of touch is changed. - Threshold
Defines the slider/wheel detect threshold. When a finger touches the sensor, the touch delta increases. Slider/wheel will be reported as touched only if the touch delta value is more than the "Threshold".
Sensor Node Parameters
- Prescaler for PTC
The PTC clock is prescaled by PTC and then used for touch measurement. The PTC prescaling factor is defined by this parameter. We recommend configuring this parameter such that the PTC clock after prescaling is less than 4 MHz (8 MHz for ATtiny devices). - Series Resistor
Selection for the internal series resistor. A higher series resistor value provides higher noise immunity and requires a long time for charging. This could affect response time, so the series resistor value should be selected to optimize response time and noise immunity. For a self-capacitance sensor, PTC's internal series resistor is NOT effective in reducing noise - an external resistor must be used. - Digital/Analog Gain
Gain setting for touch delta value. A higher gain setting increases touch delta as well as noise. So, the optimum gain setting should be used. Gain should be tuned such that the touch delta is between 40-60 counts. - Filter Level
Defines the number of samples taken for each measurement. Higher filter level settings mean more samples for each measurement which helps to average out the noise. Higher filter level settings take a longer time to do a touch measurement which affects response time. So, start with the default value and increase depending on noise levels. - Charge Share Delay (CSD)
An increase in CSD increases sensor charging time and so the touch measurement time. It indicates the number of additional cycles that are inserted into a touch measurement cycle.
Sensor Touch Parameters
- Detect Integration (DI)
Defines the number of additional touch measurements to be performed to confirm a touch detection. - Away from Touch Detect Integration
Defines the number of additional touch measurements to be performed to confirm an out-of-touch detection. - Away from Touch Recalibration Threshold
If the touch delta is more than "Away from Touch Recall Threshold" on the negative side, then the sensor is recalibrated. - Towards Touch Drift Rate
When the signal value is greater than the reference, this value defines the rate at which the sensor reference value should be adjusted towards the change in signal value. The touch Drift Rate value is scaled by 200 ms. If the Touch Drift Rate is 10, then the drift period is 10 x 200 ms = 2 s. So, every two seconds, the reference value will be incremented by 1 until it is equal to the signal value. - Away from Touch Drift Rate
When the signal value is smaller than the reference, this value defines the rate at which the sensor reference value should be adjusted towards the change in signal value. Away from Touch Drift Rate value is scaled by 200 ms. If Away from Touch Drift Rate is 10, then the drift period is 10 x 200 ms = 2 s. Every two seconds, the reference value will be decremented by 1 until it is equal to the signal value. - Drift Hold Time
When a sensor is in the detect state, the drifting on all other sensors is stopped. When the finger is removed from the sensor drifting is started. "Drift Hold Time" defines the amount of time the drifting needs to be paused after removing the finger. This value is scaled by 200 ms. - Re-burst Mode
Under various conditions (like Calibration, Detect Integration, and Recalibration), additional touch measurements need to be performed to confirm activity. This parameter defines how the re-bursting (additional touch measurements) happens. We recommend you use the default value to get a faster response time.
If re-burst is disabled, then the additional measurements are done at the normal scan rate which may increase the response time. If re-burst all active sensors are used, all the active sensors are measured irrespective of their state which again affects the response time. If REBURST_UNRESOLVED is used, then additional measurements are performed only on sensors that are in the process of calibration/filter in / filter out and AKS groups. - Max on Duration (MOD)
Defines the maximum sensor ON time. For a system, if prolonged touch is not valid, then MOD can be configured. If a sensor is in detection for more than MOD, then the sensor is calibrated. If MOD is configured as zero, then MOD is infinite. Otherwise, this value is scaled by 200 ms.
Sensor Charge Time Auto-Tune
Defines the sensor calibration mode.
For AVR® devices and SAM devices with CSD support, enabling this setting will automatically set the number of additional charge cycles needed to ensure full charging of the touch sensor.
For SAM devices without CSD support, enabling this setting will automatically set the pre-scaler setting needed to ensure full charging of the touch sensor.
When the option is disabled, you need to manually set these parameters and ensure full charge transfer of the touch sensor.
Driven Shield
To improve noise performance and water tolerance, a driven shield can be enabled on self-capacitance sensors. A driven shield can be enabled either on adjacent sensors only or additionally using a dedicated shield sensor. Having a dedicated shield sensor improves both noise performance and water tolerance while enabling adjacent sensors improves water tolerance.
Frequency Hop Parameters
Touch measurement is performed by bursting the sense lines in a specific way. This burst signal has its own frequency. If the system's noise frequency is closer to burst frequency, then the touch signal values will be noisy. This can even lead to false detections.
Frequency Hop is a mechanism used in touch measurement to avoid noisy signal values.
In Frequency Hop, more than one bursting frequency (user configurable) is used. Touch measurement is performed using these bursting frequencies and a median filter is applied to the resulting signal value.
- Number of Frequency Steps
Defines the number of frequencies used in touch measurement. These frequencies will be used during acquisition consecutively in a circular fashion. If more frequencies are used, then the response time will be affected due to the median filter. If a higher number of frequencies are needed to tackle noise, consider enabling the 'Frequency Hop Auto-tune' option. - Frequency Hop Auto-Tune
Enabling the 'Frequency Hop Auto-tuning' feature allows the QTouch library to automatically change the burst frequency based on the noise levels on a particular frequency. - Frequency Hop Auto-Tune Maximum Variance
When the 'Frequency Hop Auto-tune' is enabled, the touch measurement frequencies are automatically changed based on noise levels. If the noise level is more than the threshold for the Tune in Count number of measurement cycles, then the noisy frequency will be replaced with another frequency. This value could be decided by analyzing the touch delta and should be set lesser than the touch delta. - Frequency Hop Auto-Tune Tune-In Counter
This parameter acts as an integrator to confirm the noise on a measurement frequency. The measurement frequency is changed ONLY if noise levels are more than the maximum variance for tune-in count measurement cycles. Configuring a higher value for the tune-in count might take longer to replace a bad frequency. Configuring a lower value for the tune-in count might unnecessarily replace a frequency.
Surface Parameters
- Horizontal Start Key
Defines the start key in the horizontal axis with a grid of sensor keys that are arrayed over the surface area. - Horizontal Number of Channel
Defines the total number of channels in the horizontal axis. - Vertical Start Key
Defines the start key in the vertical axis with a grid of sensor keys that are arrayed over the surface area. - Vertical Number of Channel
Defines the total number of channels in the vertical axis. - Position Resolution
Full-scale position resolution reported for the axis. Defines the number of unique positions reported and determines how accurately you want to track the finger position. For example, if the resolution is 256, then the position will be reported from 0 through 255. - Deadband Percentage
Refers to the percentage of inactive area on both ends of the sensor where no change in position is reported on touch. If the dead band is 10, then the inactive area is 10% on both ends. - Position Hysteresis
Refers to the minimum travel distance to be reported after contact or direction change. Applies to the horizontal and the vertical axis. - Median Filter
Used for position filtering. The value disables the median filter while the value 1 enables the median filter. - IIR
The following are the configurations for the IIR:
0 = None
1 = 25%
2 = 50%
3 = 75% - Minimum Contact
Defines the minimum contact size measurement for persistent contact tracking. Contact size is the sum of neighboring keys’ touch deltas forming the touch contact.
Gesture Parameters
- Tap Release Timeout
The Tap Release Timeout parameter limits the amount of time allowed between the initial finger press and the liftoff. Exceeding this value will cause the firmware not to consider the data as a tap gesture. Tap Release Timeout should be lesser than the Tap Hold Timeout and Swipe Timeout.
Unit: x10 ms
Example: if Tap Release Timeout is configured as 3, then the user should tap within 30 ms to confirm the gesture as a tap. - Tap Hold Timeout
If a finger stays within the bounds set by TAP_AREA and is not removed, the firmware will report a Tap Hold gesture once the Tap Hold Timeout timer expires. HOLD_TAP is a single finger gesture whereas HOLD_TAP_DUAL is a dual finger gesture. Ideally, the Tap Hold Timeout should be greater than the Tap Release Timeout and Swipe Timeout.
Unit: x10 ms
Example: if Tap Hold Timeout is configured as 6, then the user should tap and hold for 60 ms to confirm the event as tap and hold. - Swipe Timeout
Limits the amount of time allowed for the swipe gesture (initial finger press, moving in a particular direction crossing the distance threshold, and the liftoff). Ideally, Swipe Timeout should be greater than Tap Release Timeout but smaller than the Tap Hold Timeout.
Unit: x10 ms
Example: if Swipe Timeout is configured as 5, then the user should swipe in a particular direction within 50 ms to confirm the gesture as a swipe. - Horizontal Swipe Distance Threshold
Controls the distance traveled in the X-axis direction for detecting Left and Right Swipe gestures.
Unit: X-coordinate
Example: If the Horizontal Swipe Distance Threshold is configured as 50, and a user places their finger at x-coordinate 100, they must move to at least x-coordinate 50 to record a left swipe gesture. - Vertical Swipe Distance Threshold
Controls the distance traveled in the Y-axis direction for detecting Up and Down Swipe gestures.
Unit: Y-coordinate
Example: if Vertical Swipe Distance Threshold is configured as 30, and a user places their finger at y-coordinate 100, they must move to at least y-coordinate 70 to record a down swipe gesture. - Tap Area
Bounds the finger to an area it must stay within to be considered a tap gesture when the finger is removed.
Unit: coordinates
Example: if Tap Area is configured as 20, then you should tap within 20 coordinates to detect the tap gesture. - Seq Tap Dist Threshold
The Seq Tap Dist Threshold parameter limits the allowable distance of the current touch’s initial press from the lift-off position of the previous touch. It is used for multiple taps (double-tap, triple-tap, etc). If the taps following the first are within this threshold, then the tap counter will be incremented. If the following tap gestures exceed this threshold, the previous touch is sent as a single tap and the current touch will reset the tap counter.
Unit: coordinates
Example: if Seq Tap Dist Threshold is configured as 20, after the first tap, if the user taps again within 20 coordinates, it is considered as a double tap gesture. - Edge Boundary
The firmware can also be modified to define an edge region along the border of the touch sensor. With this defined, swipe gestures that start in an edge region will be reported as edge swipe gestures in place of normal swipe gestures.
To create an edge region, the Edge Boundary is set with the size (in touch coordinates) of the edge region.
Unit: coordinates
Example: Setting the Edge Boundary parameter to 100 will designate the area 100 units in from each edge as the edge region. - Wheel Post-Scaler
The clockwise wheel is performed with four swipes (right->down->left->up). Similarly, the anti-clockwise wheel is performed with four swipes (left->down->right->up). To detect a wheel, the minimum number of swipes required is wheel start quadrant count plus wheel post scaler.
Once the wheel is detected, for post scaler number of swipe detections, the wheel counter will be incremented by 1.
Example: if the wheel post-scaler is 2, then for each two-swipe detection, the wheel counter will be incremented by 1. - Wheel Start Quadrant Count
The wheel gesture movement can be broken down into 90° arcs. The firmware watches for a certain number of arcs to occur in a circular pattern before starting to report wheel gesture information. The number of arcs that must be first detected is determined by the Wheel Start Quadrant Count parameter. Lower values for this parameter make it faster to start a wheel gesture, but it also makes the firmware prone to prematurely reporting wheel gesture information.
Example: if Wheel Start Quadrant Count is configured as 2, then after 180°, the gesture is updated as Wheel. - Wheel Reverse Quadrant Count
The Wheel Reverse Quadrant Count performs a similar function as Wheel Start Quadrant Count except it is used when changing the direction of the wheel instead of starting it new. This is used to prevent quick toggling between directions.
Example: If the Wheel Reverse Quadrant Count is set as 4 and after some wheel gestures, if the user changes the direction of rotation, then only after 360°, it will be detected as one wheel gesture. - Pinch Zoom Threshold
This limits the allowable distance between the two fingers to detect the pinch and the zoom gestures. After crossing the Pinch Zoom Threshold, if the distance between the contacts is reduced, then the gesture is reported as “PINCH”. After crossing the Pinch Zoom Threshold, if the distance between the contacts is increasing, then the gesture is reported as “ZOOM”.
Unit: coordinates
For example: if Pinch Zoom Threshold is configured as 20, then after crossing 20 coordinates, it will be reported as the pinch gesture or the zoom gesture.