12-22-2014 11:36 AM
Hi, I have used several times triggered acquisition, but this case is a bit different from the others.
I have a burst of digital pulses and an enable signal that is high on the first rising edge of the burst and and becomes low at the last falling edge of the burst. I must acquire just the burst, but I do not know how many pulses it contains.
It's easy start the acquisition triggering the enable signal, but I can't stop it when the signal becomes low. I tried using the "reference trigger" as stop trigger, but it needs a finite number of sample.
It should be a very common type of acquisition but I did not find anything on the web.
Thank you very much.
12-22-2014 12:32 PM
You could just capture both the enable and the data pulses. In post processing, you just find where the enable line goes low and truncate the data array based on that data point.
12-22-2014 12:37 PM
I have fast bursts, one after the other, and I do not know the lenght of these burst. I cannot use the approach you suggest me, I would not know where the burst ends approximately.
Stop acquisition must be HW triggered.
Thank you.
12-22-2014 12:48 PM
You may want to get away from a standard DAQ board then. This would be a simple thing to program up in a LabVIEW FPGA board. You would just need the two digital lines (data and enable) and clock in the data as it comes in. You could also do a lot of analysis on the data as it comes in inside of the FPGA. Just send the interpreted data to your host computer with a DMA FIFO.
12-23-2014 01:08 AM
Ok, you are right, but this is a different solution. Right now in my system I have just this DAQ board and I must to use it.
But it sounds very strange you can not do a triggered acquisition like this. You should just set start acquisition on rising edge and stop on falling edge, nothing more.
I continue my investigation.
Thank you.
12-23-2014 11:13 AM
What DAQ board do you have? How are you acquiring the data? At what data rates?
Specifically, are you acquiring your pulses using an A/D converter? At what rates? What do you do with the data as it comes in?
If you are acquiring using an A/D board at "reasonable" rates (say 100 KHz, perhaps), the suggestion of simply adding your Enable pulse as another (temporary) input would certainly work. I've done something like this myself -- you add a "temporary" channel with Save/Discard information, package it in a suitable-size array, stuff it into a Queue, and at the dequeing end, strip off the Save/Discard channel and use it to decide which points to save and which to discard. Just don't try to do it all in a single loop!
Bob Schor