Hardware Triggered Capture

Post your LabVIEW discussions here
Post Reply
nlupugla
Newbie
Posts: 0
Joined: Thu Nov 17, 2016 2:42 am

Hardware Triggered Capture

Post by nlupugla »

I'm trying to write software to run some very time sensitive data acquisition. Roughly every 20 ms, I want to measure a 1.5 ms long train of 2.4 us pulses. To capture the signal of interest, I'll be using a sample rate of 62.5 MS/s. I could stream constantly to disk, but this would be very resources intensive, so I'd much rather only capture data for the 1.5 ms window of interest.

When this window of interest beings, I will send a rising edge to my scope to trigger it. Looking through the code for PicoScope3000aGetBlock.vi, I see that triggered acquisition is achieved by calling ps3000aIsReady every 5 ms in a while loop and only continuing when the function returns true. I'm worried that polling the scope only every 5 ms (or even ever 1 ms) will not allow for a precise enough start on my acquisition. Removing the wait altogether from the while loop would eat up CPU resources, which I am hesitant to do.

What I'd like is for the rising edge I send to the scope to generate an asynchronous event in my application. That way I can use one of LabVIEW's event structures to wait for the trigger without having to waste CPU time. Is this possible, and if so, how can I implement it in LabVIEW for my PicoScope 3403D oscilloscope?

Thanks in advance!

Martyn
Site Admin
Site Admin
Posts: 4491
Joined: Fri Jun 10, 2011 8:15 am
Location: St. Neots

Re: Hardware Triggered Capture

Post by Martyn »

Once you have set up the scope with the correct trigger conditions, and then started it running in a single block capture mode it will wait for the trigger event.

What your application does at this point is down to you, the 5ms polling loop is just there as an example. The important part will be to set up the trigger event correctly, so that it only fires when you want it to.
Martyn
Technical Support Manager

Post Reply