High-Speed Digitizers

cancel
Showing results for 
Search instead for 
Did you mean: 

5112 triggring

I have a PCI-5112 card. I want to start continous acquisition on both the channel based on a rising edge of a trigger signal and stop the acquisition based on the falling edge of the trigger signal. The duration between the rising edge and falling edge is variable. Once the falling edge is detected acquisition should stop immediately and the 5112 should re-arm for the rising edge to start the acquisition. 5112 should acquire data continously between the rising and falling edge of the trigger signal. How to do this? Can anybody send an example?
0 Kudos
Message 1 of 4
(6,546 Views)
I am fairly sure you can do this using one of the synchronization signals (in the property node under Synchronization). I believe Start Trigger (Acq. Arm) Source will start the acquistion and a normal trigger will stop it. So, set the Start Trigger to one of the external PFI lines (make sure you use the VAL_RTSI... format for the string, see the online help). Set the "normal" trigger to external, falling edge, AC coupled, level=0 and the reference position to 100%. Wire the trigger pulse into both the Start Trigger source and external trigger inputs. To kick this off, initiate an acquisition. When done, set the Fetch Relative To to Start and fetch all the points. You will need to initiate again to rearm the system.

WARNING: I have not tr
ied this and there may be some errors in procedure. For example, you may need to use Arm Reference Trigger Source instead of Start Trigger (Acq. Arm) Source. However, you should be able to get there with a bit of playing around. If you run into an insurmountable problem, reply to this post and I will find time to help you out more.
0 Kudos
Message 2 of 4
(6,546 Views)
Hi DFGray,
Thanks for the answer. But before i try it out i would like to know one thing. i would be sampling at a rate of 10M/S and I have to read say 10000samples from the buffer at a time continously between the rising and falling edge of the trigger signal. The time between rising egde and falling edge is not known so the acquisition duration is variable. will the scheme suggested by you will support this?
0 Kudos
Message 3 of 4
(6,545 Views)
You should not have to fetch as you are acquiring unless you want to have the absolute fastest rearm time. Continuously fetching two channels at 10MS/sec is possible but challenging. The onboard memory of the 5112 is at least 16MBytes/channel, so 10,000 points is a drop in the bucket. Fetch with -1 as the number of points to get what is available. Alternately, query for what is available and fetch that number. There are a number of queries for number of points available. You may have to experiment to get the right one for what you want to do.

If you want minimum rearm times and a set number of acquisitions, try a multi-record acquisition. I have never done this, but I think it will work with the triggering scheme above. You could take ov
er 1500 10,000 point records before running out of memory, then fetch them all at the end. Be careful if you try to fetch 16MBytes of data at once or you may run into memory problems in LabVIEW. Once again, it is possible to do this, you just have to be careful. Search DevZone for "gigalabview" for some info on handling large data sets in LabVIEW.
0 Kudos
Message 4 of 4
(6,545 Views)