7.4 Noise Tuning

Unterstanding Type of the Nosie present in the system

  • Power Supply Noise
    1. Connect the touch MCU to a bench power supply and monitor touch delta values for each button.
    2. Note the peak-to-peak noise for each button.
    3. Connect the touch MCU to the system power supply and monitor touch delta values for each button.
    4. Note the peak-to-peak noise for each button.
    5. If there is no difference between the peak-to-peak noise between step 2 and step 4, then the noise introduced by the system power supply is NOT significant or NONE.
  • Common-mode Noise
    1. Connect the touch board's ground to the bench power supply's ground.
    2. Note the peak-to-peak noise for each button.
    3. Disconnect the touch board ground from bench power supply ground.
    4. Note the peak-to-peak noise for each button.
    5. If there is no difference between the peak-to-peak noise between step 2 and step 4, then there is no common-mode noise present in the system.
    Note: The noise is considered common-mode noise if the noise on touch sensors increases only when there is a finger touch.

Tuning the System For Common-mode Noise

Following stpes adjusting the three parameters that are used to tune a system for noise: Filter Level, Frequency Hop auto-tune and increasing the Series Resistor.

The effectiveness of each of these parameters varies depending on the type of noise. For example: Increasing the series resistor has little to no effect on power supply noise so it can be skipped if you are tuning for that. A quick guide for noise tuning is given below:
  • Power supply noise/differential noise: Filter Level, Frequency Hop.
  • Common-Mode noise: Filter Level, Series Resistor, Frequency Hop.
Note: Tuning is an iterative process. Sometimes adjusting noise tuning parameters might involve returning the charge time, sensitivity etc.
Increase the Filter Level (or Oversampling)
Increasing the filter level reduces noise and vice-versa. Filter level can be increased to a maximum FILTER_LEVEL_64. Sample Configuration in touch.h file with Filter Level set to FILTER_LEVEL_16:
#define NODE_0_PARAMS
{
X(1), Y(3), 0, NODE_RSEL_PRSC(RSEL_VAL_0, PRSC_DIV_SEL_1),
  NODE_GAIN(GAIN_1, GAIN_1), FILTER_LEVEL_16
}
Enable Frequency Hop Auto-tune
  1. Ensure that the project is generated with the Frequency Hop auto-tune option.
  2. Enable the Frequency Hop Auto-tune option.
    #define DEF_FREQ_AUTOTUNE_ENABLE 1
  3. Find the lowest threshold used among all buttons. Configure the FREQ_AUTOTUNE_MAX_VARIANCE parameter to 75% of the lowest threshold. For example, if the lowest threshold is 40, then configure FREQ_AUTOTUNE_MAX_VARIANCE as 30.
  4. With this configuration, check whether the noise decreases.
Note:
  • The frequency auto-tune module replaces the noisy frequency with a new frequency. The amount of allowed noise is defined by FREQ_AUTOTUNE_MAX_VARIANCE. Using too low of a value would result in replacing a good frequency with a bad one.
  • Since the FREQ_AUTOTUNE_MAX_VARIANCE is common for all the sensors, it is better to tune the sensor’s threshold with little differences. If one button is tuned for a threshold of 20 and another button for a threshold of 50, then the Frequency Hop auto-tune may not work. In this case, reduce the gain of the button with a threshold of 50 by half and reduce the threshold to 25.
Increase the Series Resistor
Note:
  • Self-cap: External series resistor should be increased (internal does not reduce noise). Maximum 200 KΩ.
  • Mutual cap: Internal series resistor can be used. Maximum 100 KΩ.
  1. Increase the series resistor by 10 KΩ.
  2. Ensure that the charge time is enough by following steps mentioned in section 3.3.
  3. Ensure that the sensitivity is optimum.
  4. Check whether the noise is reduced. If not, go to step 1.
Sample Configuration in touch.h file with internal Series Resistor controled by RSEL_VAL_0:
#define NODE_0_PARAMS
{
X(1), Y(3), 0, NODE_RSEL_PRSC(RSEL_VAL_0, PRSC_DIV_SEL_1), 
NODE_GAIN(GAIN_1, GAIN_1), FILTER_LEVEL_16
}