mTouch CVD 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:
- Simple configuration file allows for easy customization of the application
- Detailed warning and error messages guide the user in case of an incorrect configuration value
- Acquisition Module
- Differential CVD scanning method maximizes signal and reduces common mode noise concerns
- Sample rate jittering algorithm eliminates issues with resonant noise frequencies
- Generated assembly implementation maximizes noise immunity and minimizes execution time
- Decimate-filtered result register seeding an accumulator array provides impulse noise rejection and an increase in signal through oversampling
- Single sensor scanning uses a unique scanning method so there are no extra reference pin requirements
- Previous sensor scanning removes the need to have a dedicated reference sensor - freeing up a pin!
- Filtering Module
- 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
- 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
- Debouncing counters provided to further increase reliability, if desired.
- Communication
- Preconfigured UART implementation to report data to a PC
- Compile-time generated communication protocol allows for compatibility with any version of the CVD Framework GUI