Can someone here describe *exactly* how the slope triggering works? Because it looks to me like it's buggy.
Here's my setup:
The waveform is an asymmetric triangle wave with a period of about 17 milliseconds, and a voltage range of 3V to just over 5V, with the rising edge taking about 4ms and the falling edge taking about 13ms.
And the trigger definition I'm using is as follows:
Type: slope
Slope: rising
Voltage boundaries: 3.5V to 4.5V
Limit range type: [-- . --]
Limit range values: 1.2ms to 1.4ms
Noise reject: off
Now, if I'm not mistaken about how the trigger setup above is supposed to work, this should result it in triggering *only* if it finds that the signal first passes upwards through 3.5V and then, 1.2 to 1.4ms later, passes upwards through 4.5V, yielding a slope of between 714 and 833 V/s.
The problem is that it is triggering occasionally on the *falling* edge of the waveform. I can easily detect this by setting up a mask and telling it to stop upon violation of the mask. I'm performing the capture at a full 14 million points for maximum resolution. When I zoom in I can see that there's noise, but I'm unable to find noise such that there's a rising edge passing through 3.5V (I am able to see the second one passing through 4.5V some 1.2 to 1.4 ms later, which is that point at which the trigger fired). The latter should be, and is, visible at the trigger point, so the latter condition is being met. But I can't find the corresponding starting point. The voltage at -1.2ms is around 4.66V and at -1.4ms is around 4.70V, so the amount of noise that would be needed for it to see a rising edge passing through 3.5V is at least 1.16V. But the maximum amount of noise I'm able to see in the captured waveform looks to be about 250mV, far less than what would be needed to fire the starting condition of the trigger. As such, I cannot find any reason for the trigger to be firing here. The very definition of the trigger should be immune to false triggering on the downwards slope as long as there isn't a pair of rising edges separated by both the defined voltage difference *and* the defined time differences, something that should be impossible if the maximum noise excursion is well below the difference between the specified voltages. And yet, it *is* triggering in that fashion. The only way to prevent that from happening is to tell it to reject noise, but in light of the trigger definition, that shouldn't be necessary at all ... unless the triggering mechanism doesn't work the way I think it does.
And hence, my question: how *exactly* does the slope triggering mechanism work, and why would it be triggering on noise in the seeming absence of an initial rising edge that meets the defined criteria?
I realize that it's possible for the triggering mechanism to see something that isn't being captured, but this seems to be consistent: I *never* see the starting condition captured in the waveform. I even went to the trouble to export the entire 14M points worth of waveform to a CSV and ran a program to show the minimum voltage seen between -1.4ms and 0ms, and the value I get back is 4.33 volts at -6.432 us. That's well above the 3.5 volts that a rising edge would have to pass through to meet the starting condition requirement. I can attempt to attach the CSV if someone is interested in it, though it's 32 megabytes zipped (the forum might now allow an attachment that large).