PS2205 trigger trouble?

Post general discussions on using our drivers to write your own software here
Post Reply
Guest

PS2205 trigger trouble?

Post by Guest »

I am using a PS2205 to capture a triggered waveform with a custom
program (VB6). Skipping to the end: I am not succeeding in, um, triggering
the trigger.

Background: Sample rate is 6.25MSps, range is +/-5V. The trigger pulse is
active low (4.5V->0V), roughly 12us wide. I am using PS2000.dll from 19
March 08.

Using the picoscope-6 application, I can capture using the trigger, and
both trigger and data look normal; I can even capture the trigger down to
to about 100kSps (trigger pulse is ~1 sample wide).

Calls are:
1) open_unit
2) set_channel(A, enabled, DC,5V) ' data channel
3) set_channel(B, disabled, DC,5V) ' trigger channel
4) set_trigger(B, threshold, falling,delay=0)
5) run_block(count=15000,timebase=5)

If I set the threshold to the obvious one (2.5V = 16383) I get no
triggers at all. If I stepwise reduce the threshold, at some point (~320,
i.e. near 8-bit 0) I appear to get constant triggers. This in itself seems a
bit odd, since it suggests that

A) The trigger is actually level-sensitive, not edge-sensitive.
B) The trigger channel is reading as 0.

But (B) doesn't appear to be what picoscope-6 sees -- it sees a constant
4.5V level then a 12us 0V pulse.

Evidently picoscope-6 is doing something that I am not.

Another tidbit: Before the real system was ready, I cobbled-up a trigger
using a board I had lying around, the big difference being that this board
issued multiple (16x5us) "trigger" pulses, which appeared to work fine.

I saw that the sample programs issued set_ets(disable) calls, but doing
that didn't seem to help. Do I need to explicitly turn Off the advanced
triggering mechanisms in the 2205? Is there something else obvious I'm
missing?

Guest

More

Post by Guest »

After some experiments, I found that a range of thresholds from about
-7000 to -3000 (-1.07V to -0.45V) results in a reliable trigger. While it's
useful to get past this stumbling block, it's a bit disturbing that I can't
explain why it works.

picoscope-6 agrees with our standalone scope (and our EE) that the pulse is
+4.5V->0V (single-digit mV of bounce).

When a channel is disabled with set_channel, is the range still set according
to the given range argument? (I suppose this could explain the magnitude,
though not the sign.)

Is there anything else I should be checking?

User avatar
markspencer
Site Admin
Site Admin
Posts: 598
Joined: Wed May 07, 2003 9:45 am

Post by markspencer »

Hi,

I am sorry to hear that you are experencing problems

2) set_channel(A, enabled, DC,5V) ' data channel
3) set_channel(B, disabled, DC,5V) ' trigger channel
4) set_trigger(B, threshold, falling,delay=0)
5) run_block(count=15000,timebase=5)

When switching the channel off it is set to 20V range, therefore you need to do your calculations using a 20V for the trigger channel threshold.

You will not be able to trigger off channel B with Channel A enabled if the timebase is 0.
Regards,

Mark Spencer

Post Reply