This guide assumes you have basic knowledge of capacitive sensing and you are familiar with the SENSE environment. If you feel that you are missing any of the necessary concepts or you are a new SENSE user, you may want to read the following articles that will help you get started:
- How to make a self-capacitive touch button that works
- How to evaluate the touch sensitivity of a self-capacitive touch panel
The acquisition time of a capacitive touch sensor is a basic characteristic of the charge transfer acquisition principle that is followed by many microcontrollers specialized in touch sensing. The charge transfer acquisition principle is based on charging a sensor capacitance (Cx) and transferring a part of the accumulated charge into a sampling capacitor (Cs). This sequence is repeated until the voltage across Cs reaches a given threshold. Given the sampling capacitor is known, the number of charge transfer cycles required to reach this threshold is a direct representation of the size of the electrode capacitance and is called counts.
When the sensor is touched, the self -capacitance of the sensor is increased so the Cs voltage reaches the threshold with fewer charge transfer cycles and the required number of counts is lower. When the number of counts falls below a defined threshold, a touch detection is reported.
Fig. 1. A simplified demonstration of the Charge transfer acquisition principle..
So, the acquisition time is essentially the number of counts multiplied by the charge transfer cycle duration. Below, a typical example of such a charge transfer cycle is demonstrated.
Fig. 2. Typical charge transfer cycle demonstration. source
The acquisition time of a capacitive touch sensor affects the power consumption of the touch sensing application as well as the user experience. If the acquisition time is too long, power consumption increases and in some cases users may experience delays in the system's response.
In order to demonstrate how to simulate the acquisition time of a touch sensing application we will use a simple PCB-based self-capacitive touch button driven by an STM32F091 microcontroller from the controllers library of SENSE.
We can split our work process in two parts:
- Create an equivalent circuit of our touch sensor
- Run a system analysis and get the acquisition time
Results will show us if the touch button works or not. If not, we will need to redesign it and go back to part #1. This way we can try a revised design faster, without having to manufacture any new prototypes.
Create an equivalent circuit of our touch sensor
The creation of the equivalent circuit requires four simple steps:
- Build the touch sensor layout by creating a self-capacitive touch button through templates of SENSE.
- Build the touch sensor stackup and define the physical layers of the touch sensor.
- Set up the pointer placements and create no pointer and pointer scenarios.
- Set up and run the Equivalent Circuit Analysis which will provide an equivalent circuit in the form of a netlist for each scenario.
We have already demonstrated in detail the steps I-III in the article about How to evaluate the touch sensitivity of a self-capacitive touch panel. Step IV is explained in detail in the article about How to make a self-capacitive touch button that works.
Run a system analysis and get the acquisition time
To run a system analysis we need to:
- Select a Controller from the library to be connected with our touch sensor.
- Combine our Sensor with the Controller and set up the System Configuration.
- Run a Counts Analysis and get the acquisition time.
Again, we have analyzed this process inside the article about How to make a self-capacitive touch button that works.
💡 To accurately simulate a finger touch you must include the Human Body Model (HBM) in the circuit. You can do that by modifying the self capacitance of the pointer (100 pF suggested) and adding in series with this capacitance a resistance to the ground (1.5 kΩ suggested).
When the Counts Analysis is completed, the acquisition time results will be available in the Results section for both pointer scenarios. In this example, the acquisition time is about 3.351 ms and 3.537 ms respectively for the case where no pointer is present and for the case where a pointer touches the center of the button:
Fig. 3. Acquisition time results from Counts Analysis.
Based on the target specifications concerning power consumption and speed performance that we have set for our touch sensing device, we can now evaluate the acquisition time results that SENSE has provided. Since IC makers commonly set acquisition time values in the range of about 8 to 20ms, the values found for this case, as shown in Fig. 3, are regarded as acceptable.
Depending on the selected power consumption mode, a touch controller can be set to spend a portion of time being idle in order to conserve power, periodically perform the acquisition process and then go back again to idle status. Those interval periods, during which the touch controller is idle, allow an appropriate trade-off between the power consumption and the response time. In such a case, the total acquisition time equals the acquisition time as calculated by SENSE plus that interval period.
Following the process we described here, you can easily easily investigate multiple variations of layout and stackup of your touch sensor and/or variations of your touch controller settings and system configurations and evaluate their impact on acquisition time.
Besides acquisition time, the noise immunity of a PCB touch panel is also important in order to evaluate the performance of a touch sensor under noise conditions. You can read more here.