3.4.4 Drift Operation
Drifting aligns the Reference with the Signal value by adjusting the Reference value incrementally at the configured interval.
Touch Drift Rate
When the signal value is greater than the reference, the Touch Drift Rate defines the rate at which the reference value is adjusted towards the change in signal value, and the Touch Drift value is scales by 200 ms. For example, if the Touch Drift Rate is 10, the drift period is 5 x 200 ms = 1s.Every second, the reference value will increase by one until it matches the signal value. When Drift Gain is enabled, the reference value is incremented by Gain for every second.
Steps to Configure Touch Drift Rate
The Touch Drift value for Buttons can be updated by writing in the Sensor Touch Drift Rate (DCHDR) register. Refer to the Configuration Summary for more details.
Anti-Touch Drift Rate
This parameter works similarly to Touch Drift but in the opposite direction.
When the signal value is less than the reference, Anti-Touch Drift Rate defines the rate at which the reference value is adjusted towards the change in signal value, and the Anti-Touch Drift Rate value scales by 200 ms.
If the Anti-Touch Drift Rate is 10, the drift period is 10 x 200 ms = 2s. Every two seconds, the reference value will be decremented by 1 until it equals the signal value. When Drift Gain is enabled, the reference value is decremented by Gain for every two seconds. For example, if Gain is 2 for a particular channel, that channel's Reference will be adjusted by two counts every 2s.
Steps to Configure Anti-Touch Drift Rate
The Anti-Touch Drift value for Buttons can be updated by writing in Sensor Anti-Touch Drift Rate (ANTITCHDR) register. Refer to theConfiguration Summary for more details.
Drift Hold Time
When a button is in the detect state, the drifting on all other buttons is stopped. When removing the finger (when the button goes out of the detect state), drifting is restarted. It is essential to pause the drifting restart for a couple of seconds, as there is a possibility that the finger is still around the buttons, and an immediate resume of drifting might cause false drifting.
The Drift Hold Time defines the time the drifting pauses after removing the finger, by doing so, this value is scaled by 200 ms. E.g., if the Drift Hold time is 20, then for 20 x 200 ms = 4s, the drifting is not resumed after removing a finger. For example, if Gain is 2 for a particular channel, then that channel's Reference will be adjusted by two counts every 4s.
Steps to Configure Drift Hold Time
The Drift Hold Time value for Buttons can be updated by writing in Sensor Drift Hold Time (DHT) register. Refer to the Configuration Summary for more details.
Drift Gain
The Drift Gain feature is relevant for Touch Drift and Anti-Touch Drift modes. Drift Gain defines the speed at which the device follows environmental changes. By default, the Drift Gain is enabled, allowing the ability to track the environmental conditions per the Gain settings. For example, if Gain is 2 for a particular channel, then that channel's Reference will be adjusted by two counts.
Steps to set Drift Gain
Drift Gain can be set by writing a 1
to the Drift Gain
(DRIFTGAIN) bit in the Device Control (DEVCTRL) register.
Drift Low-Power Lump Buttons
This feature is applicable only when LUMP and Low-Power feature are enabled.
Drift settings apply to all buttons, including virtual buttons like a Lump. In this example, we save power, and two buttons are configured as a Lump and Lump as a low-power button. Since only the Lump is configured as a low-power button, measurement and drifting will be done only for the Lump buttons. The individual sensors that are part of the Lump will neither be measured nor drifted. When one of the two buttons (= the LUMP) is touched, the MTCH2120 will report via I2C the lump as touched. Lets further assume in this example that the low-power Lump was used to (re)activate a device - now all buttons individually need to be scanned.
The Drift Low-Power Lump Buttons feature allows drifting of the individual buttons which are configured as a part of the low-power Lump buttons. Thus, no calibration is required for the real buttons when the device exits low-power mode since the signal and reference values are balanced for the actual buttons.
This feature can be enabled or disabled by writing bit in DEVCTRL.DLPLB. It is recommended to enable this option when lump is configured as low-power button.
Button | Low-Power
Sensor (SENCTRL[n].LP) | Enable Low-Power (DEVCTRL.LP) | DRIFT (Buttons) | |
---|---|---|---|---|
DEVCTRL.DLPLB = 0 | DEVCTRL.DLPLB = 1 | |||
Button 0 | 1 | 1 | 0 | 0 |
Lump 1 | 1 | 1 | 12 | 12, 5, 6 |
Lump 0, Lump 1 | 1 | 1 | 12, 13 | 5, 6, 7, 8, 12, 13 |
Button 0, Lump 0 | 1 | 1 | 0, 12 | 0, 5, 6, 12 |
Note:
|
Steps to Enable Drift Low-Power Lump Buttons
- Configure Lump. Refer to the Steps to Configure Lump.
- Configure Lump as a low-power button and enable the low-power feature. Refer to the Steps to Configure Low-Power.
-
Saving the Settings (optional). Refer to the Save section for more information.