mTouch Framework Implementation Features
We focused on creating a system that exhibits high signal sensitivity and noise immunity. To achieve these goals, we implemented the following features:
- Basic mTouch Sensor Configuration is fast and simple
- Built-in support for:
-
Proximity Sensors provide a higher level of signal-to-noise ratio by implementing an additional median filter
-
Sliders and Wheels decoding based on the relationship between sensor shift percentages
-
Matrix Designs support to help guarantee the reliability of 'node' press decisions
-
Most-Pressed Algorithm to limit the number of simultaneous 'pressed' sensors in high-crosstalk systems
-
Scanning Modes to support applications with multiple states and a desire to scan different sensors in each state
-
Guard Ring / Shield traces to actively reduce parasitic capacitance and increase sensitivity
-
Mutual Coupling Drives to scan for changes in the relative permitivity, or coupling, near the sensor
- Detailed warning and error messages guide the user in case of an incorrect configuration value
- Acquisition Module
- Differential CVD scanning method drastically attenuates low frequency noise (Including 50/60Hz, up to low KHz)
- Sample rate jittering algorithm eliminates issues with resonant noise frequencies
- Generated assembly implementation maximizes noise immunity and minimizes execution time
- Ability to force the scan sequence to use the DAC as the reference voltage to the ADC's hold capacitor.
- Filtering Module
- Decimate-filtered result register seeding an accumulator array provides impulse noise rejection and an increase in signal through oversampling
- Baseline average tracks environmental changes to maximize response time
- Enhanced filtering options allow for customizable filter behavior and update speed based on the application's requirements
- Median filter implemented for proximity sensors to further increase the SNR
- Decoding Module
- Individual thresholds provide the ability to adjust for different sensor sizes and types
- Threshold hysteresis reduces sensor flickering in noisy conditions as well as increasing the reliability of sensor state transitions
- Configurable press timer to implement a maximum press duration for the application
- Debounce counters provided to further increase reliability, if desired.
- Most Pressed Algorithm is implemented automatically for matrix applications on the rows and columns, separately.
- Toggle mode provided to quickly and efficiently implement a change-on-press-only button output behavior.
- Communication
- Preconfigured software or hardware UART implementation to report ASCII data one-way to a COM port
- UART, I2C, and SPI two-way communication protocol to read/write configuration and RAM values at run-time
- Store configuration values in EEPROM for run-time editing capability