analogdevicesinc / scopy

A software oscilloscope and signal analysis toolset
http://wiki.analog.com/scopy
GNU General Public License v3.0
389 stars 161 forks source link

Add window triggering #530

Open AndreiGrozav opened 5 years ago

AndreiGrozav commented 5 years ago

A window trigger is defined by two adjustable amplitude thresholds and a time counter.

The possible new features adding some simple extra logic:

Transition time triggering, allows for triggers if the time interval from the low high to low thresholds(or vice versa) is slower, or faster than a specified time. rize fall time

Glitch or Duty cycle triggering. Accepting events whose pulse width are smaller or greater than a defined limit. The polarity can be positive, negative or either. trigger on puls width

Runt triggering (Window triggering). The idea is that a signal crosses the first threshold level but does not reach the second one, in the defined window time. This can happen when a logic driver does not have a sufficient slew rate to reach a valid logic level. There can also be a design error and the signal is forced to a middle(undefined) state, neither “0” or “1”. runt_trigger

Delay triggering. Triggering for delays between channel a and b. A pass-through or polarity can be selected. Phase difference trigger/measurement for signals with the same frequency… ? signal a and b difference

Timeout triggering. Triggering for a time window in which there are no pass-through or level “triggers”. dead_time

Measurements. Allows for precise measurements on signals that can exceed the maximum capture size and are impossible to perform in software or take a bigger toe on resources.

Feedback is highly appreciated?

rgetz commented 5 years ago

So, I think it is all of the above. It's more of a question of what is practical? If it is all - then add them all.

Just to clarify - this is for the scope and logic analyzer, or only the scope?

https://download.tek.com/document/55W_17291_6_0.pdf has a good description of things.

I think part of things is the ability to accept or reject conditions. For example - being able to trigger on a clock during the absence of a signal (Dead times) - I think you refer to as time out triggering - would be great.

-Robin