7.3 Sensitivity Tuning
Optimum Sensitivity
The purpose of this step is to optimize sensitivity for a light finger touch as show
in following image.
Note: Battery Operated system. If the system is battery
operated (like hand-held device), you might notice a reduction in sensiviity as
comparted to that of mains power system. In this condition, to get consistent
senstivity, you may need to tune the sensitivity with isolated ground circuitry
(like optocouplers).
Note:
- It is recommended to use analog gain of 1 for best noise performance. Do not change if adequate sensitivity is achieved. Increasing analog gain reduces noise margin.
- There is no advantage to having delta values higher than 50 counts. Consider reducing the gain to keep it under 50 counts.
Sensitivity Tuning with Gain
- Keep the analog gain and digital
gain as
GAIN_1
.Note: It is always recommended to keep analog gain as 1. Increasing analog gain by one step, will reduce the noise margin to half. So, increasing Analog gain is recommended only for low-noise systems. - Observe the touch delta by gently touching the sensors. If the touch delta is >30 then use that gain settings. If not, go to step 3.
- Increase the digital gain by 1
step and go to step 1.
- Ensure that ratio
FILTER_LEVEL/D_GAIN >= 8. For example, if D_GAIN =
GAIN_4
, then the filter level should be at leastFILTER_LEVEL_32
). - Maximum digital gain
should be limited to
GAIN_8
. Using more than that will reduce the Signal-to-Noise Ratio (SNR).
Warning: If the required gain is greater than 4, then the touch sensor design is not at optimum. Reasons could be too small a sensor, front panel thickness, excessive ground loading, etc. In such cases, it is highly recommended to recheck the sensor hardware design with reference to the Capacitive Touch Sensor Design. In case tuning results in gain = 4 and system sensitivity is low or marginal, please consider applying above sensor layout optimization as well.Warning: The total gain in the system "analog gain * digital gain" should not exceed 8. - Ensure that ratio
FILTER_LEVEL/D_GAIN >= 8. For example, if D_GAIN =
Sample configuration in touch.h file with Digital Gain shown as
GAIN_2.
#define NODE_0_PARAMS { X(1), Y(3), 0, NODE_RSEL_PRSC(RSEL_VAL_0, PRSC_DIV_SEL_1), NODE_GAIN(GAIN_1, GAIN_2), FILTER_LEVEL_16 }
Sensitivity Tuning with Threshold
- Monitor the touch delta value for each sensor.
- Configure the threshold as 50~60% of the touch delta values.
- Ensure that for light finger touch, the sensor goes into detect.
- Adjust the sensitivity as required by performing a slight variation on the threshold.
#define KEY_0_PARAMS { 20, HYST_25, NO_AKS_GROUP }
Tuning Sensitivity for Slider/Wheel/Surface
- Monitor the touch delta value for each button on the slider/wheel/surface sensor.
- Configure the threshold as 50~60% of the touch delta values for each button.
- Ensure that for light finger touch, the sensor goes into detect.
- Adjust the sensitivity as required by performing a slight variation on the threshold.
- Move the finger throughout the sensor area and monitor the contact size on the Data Visualizer. Configure MIN_CONTACT value as 70% of the contact size observed on the Data Visualizer.
- Perform minor adjustments on MIN_CONTACT value and ensure that the position reported is smooth through the sensor.
#define SCROLLER_0_PARAMS { SCROLLER_TYPE_SLIDER, 1, 3, SCR_RESOL_DEADBAND(RESOL_8_BIT, DB_10_PERCENT), 8, 20 }