Measurement Studio for VC++

cancel
Showing results for 
Search instead for 
Did you mean: 

Looping Digital Output from binary data file

Hi Jerry,

It sounds like you are using timing controller 1 instead of 0.  What I said above holds true, except in my example you would use PFI3 and PFI7.  You can read more about these two groups in the 653X Help for NI-DAQmx in the Digital Lines and Ports and Signal Description sections.  By default, group 1 uses PFI3 for the Pause line and PFI7 for the Ready line.

Regards,
Laura 

0 Kudos
Message 21 of 26
(2,404 Views)

Hi Laura,

This seem to have solved most of the problems. My canned data (00 - FF) are mostly getting through. However, I do see that in the 12 M samples that I've collecting, about 13 single samples are dropped after examining the output file.

Is this normal?

Thanks,

~Jerry Wu

0 Kudos
Message 22 of 26
(2,398 Views)

Hi Jerry,

The 6533 uses DMA transfers and only transfers data in blocks.  This KnowledgeBase explains the concept for the 6534.  There is also more information in the 6533/6534 Help File.  You need to provide extra clock ticks for all of the data to be transferred. 

Regards,
Laura

0 Kudos
Message 23 of 26
(2,378 Views)

Hi Laura,

Those dropped samples are not at the end of the file. They are actually spread out through the captured data file. Once in a while, a single sample (16 bits) is dropped. This happened a total of 13 times in 12 megasamples.

 

Thanks,

~Jerry Wu

0 Kudos
Message 24 of 26
(2,375 Views)

Hi Jerry,

Do you have your program set up for continuous operation?  Do you ever stop and restart the acquisition task during the program?  I think that the answer is no, but I just wanted to check.

Can you manipulate some of the parameters in your configuration to see if they make a difference?  In particular, I would try different rates because your device has been benchmarked at 19.7 MHz for 16 bit input and 18.0 MHz for 16 bit output.  This is listed in the specifications.  Which device is exporting its sample clock?  I think it might be best to have the one doing the output export the sample clock. 

Are you logging the samples that are going into your DAQmxWrite function and comparing those to what you receive on the other device?

I can't think of much else to check right now.

Regards,
Laura

0 Kudos
Message 25 of 26
(2,356 Views)

My program is set up for continuous operation. A single task is used. The sender DAQ loops through DAQmxWriteRaw within that task, while the receiver DAQ runs only once and dumps data received to file once the buffer fills.

I will try different rates for the DAQ cards shortly.

The sender DAQ card is exporting the sample clock, while the receiver is importing it.

Because the data sent is a canned data file that loops the incrementing sequence "00" -> "FF", I verified and found the data glitches this way.

Thanks,

~Jerry Wu

0 Kudos
Message 26 of 26
(2,354 Views)