Jump to content
  • 0

ADP3450 triggering in Record mode does not work as expected


linc

Question

Hello,

I'm trying to use the WaveForms SDK version 3.21.3 with an ADP3450 and seeing some really bizarre behavior. I'd appreciate if anyone can explain what's going on.

I'm trying to record a fixed length scope capture with a variable trigger offset, e.g. for a capture duration of 10ms, I might

  • set the trigger position to 0 to capture from the trigger to 10ms afterward
  • set the trigger position to -5ms to capture from 5ms before the trigger to 5ms afterward

My fixed settings are as follows:

  • acquisitionMode: 3 (Record)
  • AnalogInFrequency: 100000 (100kHz)
  • recordLength: 0.01 (10ms)
  • bufferSize: 33554432 (the maximum)
  • triggerSource: 2 (DetectorAnalogIn)
  • triggerChannel: 0
  • triggerPosition: 0
  • triggerType: 0 (Edge)
  • triggerCondition: 0 (Rise)
  • triggerHysteresis: 0.01

My test waveform is a 200Hz, 1V amplitude sine wave.

Expected results:

  • The scope records 1000 samples (10ms * 100kHz.)
  • The trigger occurs when the sine waveform rises through 0.
  • After the capture is complete, FDwfAnalogInTriggerPositionStatus returns the timestamp of the first sample relative to the trigger (roughly equal to the trigger offset.)
  • The above behavior does not depend on the trigger position or the voltage range.

Actual results:

When I use the fine voltage range (2V) and a trigger position of 0, the behavior is as expected.

image.png.07e7ee8f2e77177bd17f3809ea80a9e0.png

if I do the same with the coarse voltage range (50V), the scope does not trigger only on rising edges despite the setting, but on either rising or falling edges. Sometimes I get the sample above, sometimes the one below. Why is the trigger condition different in this range?

  • I have confirmed by looking at the raw samples that this is not a jitter issue, i.e. the first two samples are in fact positive then negative, forming a falling edge. There is only one sign change in the vicinity.
  • I have confirmed that the trigger condition is set correctly, i.e. FDwfAnalogInTriggerConditionGet just before the capture is 0 for rising edge.

image.png.de213c6b569da4023050653e482e0124.png

When I set a nonzero trigger position,

  • The number of samples taken increases and is not constant between captures, even with the same settings.
  • The trigger does not occur at a zero transition and does not occur at a constant place in the waveform, i.e. the waveform shifts left and right.

I do notice that the end of the capture always seems to occur at the correct place in the waveform, so it seems the scope is prepending a random number of samples to the start of the capture, and then FDwfAnalogInTriggerPositionStatus is not returning the correct timestamp of the first sample. Why is this happening? If I chop off the start and take only the last 1000 samples, is it guaranteed that I'll get a correctly lined up waveform with the starting point given by FDwfAnalogInTriggerPositionStatus?

Here are several captures in a row taken with exactly the same settings.

image.png.7157cec0b949ed8875a1593b2405aa1b.png

image.png.e6ac541f35ad4739b4fbc19400269e7e.png

image.png.cd11dd081d3f2ca45c549a1d409f10be.png

Edited by linc
Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Hi @linc

With the 50 V range, the resolution decreases, so a larger hysteresis may be required to reject noise.
Use the easier to use acqmodeSingle. The record is only required for streaming for captures longer than the device's buffer size.
Use newer software version which provides simple capture up to 128M samples for ADP3X50

 

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...