LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

HS-DIO Logging Events to on-board memory of 6561

I'm using six 6561 cards to log 96 channles of LVDS data at 2MHz.  I have 16MB/Chan of on-board memory, allowing me to log 16,777,040 samples/chan.  Total acquisition time 8.35 seconds.  However, I'm only interested in rising edges and their Time of Arrival(TOA).  After acquisition, I move the data to disk in blocks using TDMS streaming,  then I search for rising edges to produce an output array of format:

 

TOA               Chan

0.0000005        2

0.0000005        4

0.0000005        23

0.0000005        91

0.0000035        3

0.0000035        5

0.0000105        14

 

etc.......

 

Looking through the HS-DIO shipped examples, I see I can use a match pattern trigger, e.g. IF pattern NOT= to 0000 0000 0000 0000 trigger and acquire x samples.   My question, is it possible to capture and store TOA for each channel on the card, therefore extending my maximum acquisition time to 1M+ rising edges ?   Can I trigger and capture 1-sample every time I see a rising edge, then stream each waveform of length 1-sample to the PC.

 

0 Kudos
Message 1 of 4
(2,483 Views)

Hey bmann2000,

 

I think that there is an example that will do something very close to what you want it to do. I suggest that you take a look at the example called: Dynamic Acquisition of Multiple Records.VI (or DynamicAcquisitionOfMultipleRecords.c). You are on the right track with using the pattern of all 0's and Trigger When the Pattern Does Not Match. Another option you can use is instead of all 0's you could use all "E's" which would trigger on any edge, or "R's" which would trigger on only rising edges. You can set the number of samples per record, and how many records to acquire. Also, this will give you timestamp information as well, which you can use to calculate your TOA. This will reduce the amount of data that you actually acquire, and then you can send your multiple records to the PC at once, with all of the extra timestamp info as well.

 

So check out that example and let us know if that is what you were looking for. Let us know if you have any further questions or concerns. Thanks, and have a great day.

 

Regards,

DJ L.

0 Kudos
Message 2 of 4
(2,461 Views)

Hey bmann2000,

 

One thing that I did want to point out about using multiple record type of acquisition is that there is some rearm time associated with rearming the trigger coming in. Here is a little exert from the NI Digital Waveform Generator/Analyzer Help documentation, specifically on the page called "Making Multirecord Acquisitions":

 

"NI-HSDIO supports multirecord acquisitions, which allow you to capture multiple, triggered waveforms without software intervention. NI-HSDIO stores each record in separate memory locations on the NI device.

The main benefit of multirecord acquisitions is that you can quickly acquire numerous triggered waveforms. Multirecord acquisitions allow hardware rearming of the NI device before the data is fetched. Therefore, the rearm time, or the time when the NI device is not ready for a trigger, is extremely small, often from 1 to 100 µs, depending on the record length and the device. This short rearm time allows you to capture data whether the triggers occur microseconds or many days apart."

 

Please let us know if this will work for you, or if you have any questions. Thanks, and have a great day.

 

Regards,

DJ L.

0 Kudos
Message 3 of 4
(2,445 Views)
many thanks for the pointers, I'll run some experiments to determine the actual rearm time.  I'm sampling 96 channels (6-cards), each pulse lasts 1mSec, so provided the rearm delay only effects the channel with rising edge event, I should be fine.
0 Kudos
Message 4 of 4
(2,428 Views)