What is the optimal setting for Cap Touch Framework implementations when using the Synergy Software Package?
Some details on implementing Cap Touch Framework based designs are available below. Refer to these points when creating a Cap Touch design for more robust implementations.
Understanding Scan Time Requirements
The scan time per channel is about 500 usec . If you are using mutual mode it will be double since two channels have to be scanned per button.
Thus if the user needs to scan 10 channels, the total time taken by the hardware to scan them is 5 milliseconds. The update_hz parameter is used to determine the rate at which the hardware scans are triggered. Since ThreadX is currently capped at a 10 millisecond tick rate, you cannot trigger scans faster than 10 milliseconds or 100Hz.
Since the scan is done in hardware, there is very little CPU utilization required. The scan is started and the function returns without waiting for it to complete.
If the user somehow updates the scan rate such that scans are attempted before the current one is complete, the process will simply return a BUSY status.
Thus, running the scans at the 100Hz maximum rate should not change CPU utilization by much.
Once a channel is scanned, the data has to be filtered. (In the currently released version, this filter depth is not configurable.
In the upcoming release, it will be.) If a filter depth of say 16 samples is used (can be lower for less noisy boards), then 16 scans will need to occur before decision data is available. At a 100 Hz rate, that gives you a time of 160 milliseconds. Then the decision software runs. Empirically we have found the software processing times to be very small ~5 milliseconds in the worst cases.
- CPU bandwidth utilization is not significantly increased by running scans at 100Hz.
- Your response time will depend on filter depth and number of channels being scanned.
- Your filter depth can be reduced if the board is laid out for noise immunity.