There are up to four tamper detection interfaces. Each interface has its own independent configuration for all parameters (such as in/out pins, power off delay, active levels). Interfaces 0 and 1 can only be configured as digital detection and interfaces 2 and 3 can only be configured as analog detection.
Digi does not recommend that you configure two or more tamper interfaces on the same pin (i.e. two interfaces have the same input or output pin). Doing so can lead to unexpected behavior and Linux driver errors when loading.
Digital tamper detection
In a digital tamper interface, the event is triggered by the input change on the configured tamper input pin (IO_IN in the diagram). Immediately after the detection of a tamper event, the following actions take place:
The tamper event and its timestamp are saved in NVRAM memory.
If enabled, the tamper output (IO_OUT) is automatically set to its active level.
If enabled, the power off timer starts counting and will power off the system when it expires (PWR ON signal).
An IRQ is generated. This will wake the system from low-power modes such as suspend and power off.
When the event is acknowledged by the host system, the output pin is de-asserted.
The following diagram shows the sequence of events:
Analog tamper detection
|This feature is only available for MCA firmware v1.0 and higher. To update your device, see MCA management application.
In an analog tamper interface, the event is triggered by the change on the analog comparator output. This output depends on the thresholds configured and the analog value of IO_IN pin. If the value is between the low and high thresholds (inside the window), the comparator output is high. In the other case, the comparator output is low. In other words, if the tamper input has been configured as active high, the event is signaled when the input is inside the window; if it was configured as active low, the event is triggered when the input is outside the window.
|For more details on how the analog comparator works, see the Analog Comparator section.
The voltage reference for the comparator can be configured to use either:
MCA_VCC: this is an input voltage for the ConnectCore 6UL module. For the ConnectCore 6UL SBC Pro and ConnectCore 6UL SBC Express reference designs, it is 3.0 V.
Internal voltage reference: this requires an external 100 nF capacitor to be connected in MCA_IO2/VREF line, and also it implies that that line will have 1.2 V output enabled (see 1.2 V Voltage reference section).
Finally, all MCA ADCs and analog comparators will be forced to use this internal voltage reference.
|The internal voltage reference is only available if LGA pads are accessible. Therefore the internal voltage reference does not work in the ConnectCore 6UL SBC Express since the capacitor cannot be connected.
Another important difference in analog tamper detection is that the input is sampled every 10 MCA-ticks (1 MCA-tick = 1/1024 second or 0,9765625 millisecond) in run mode and every configurable period in sleep/power-off (--ticks parameter).
|Configuring the --ticks parameter affects power consumption in low-power mode.
Once the tamper event is triggered, the actions that take place are exactly the same as in the digital tamper detection interfaces. The following diagram shows the sequence of events: