Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

maximum sample size pxi 6561

Hi,

For the pxi 6561, the maximum number of samples that can be acquired set by the nihsdio configure acquisition size is depedent upon the number of records for multirecord acquisition. For 1 record, this maximum number of samples is 16777040. It 2 records, it is  8388432. These values do not divide evenly, 16777040/2 = 838520 which is greater than 8388432. I assume the extra space is taken because of the extra memory required to make an empty record. Is there a formula for determining the maximum sample size as a function of the records or is this information tabulated somewhere.

Thank you,

-Tim
0 Kudos
Message 1 of 6
(3,646 Views)

Greetings Tim,

I am wondering where you got those numbers from...the 16777040 and 8388432.  According to the specification sheet and using a property node in LabVIEW, the total acquisition memory size for the 6561 is 16777216 samples.  Also, most HSDIO devices have an acquisition record quantum and an acquisition minimum record size.  For this board the minimum size and quantum are both one sample, but HSDIO allocates at least 128 bytes per record.  Are you using this board in single data rate (SDR) or double data rate (DDR) mode?  SDR would mean 16 bits per sample and DDR would mean 8 bits per sample.  So the mode you are using would determine the record sizes.  Please let me know, and I will continue to look into your question. 

Regards,

Nicholas B, National Instruments

Message 2 of 6
(3,627 Views)

Hi Tim,

I believe I found out where you got those numbers from...about 10 minutes after my post!  Please take a look at the attached VI...the number of samples per record is determined by the number of records and your data width.  Please let me know what data width you are using.  You can use this VI and read from the data width property instead of writing to it.  The different data widths correspond to SDR and DDR.  Also please let me know what memory size card you have: 2, 16, or 128MB.  Thanks!

Message 3 of 6
(3,621 Views)
Hi,

Thanks for your reply. Could you please save the vi in Labview 7.1 or 8.0. 7.1 would work best. I have the 16 MB version and I am aquiring at SDR at 40MHz. My data width is also 2 bytes wide. I am also wondering if it is possible to configure a acquisition larger size than the maximum, and then fetch out from the device fast enough so that the on board memory wouldn't fill up.

By the way, what the advantages of fetching out the waveform before the acquisition is done when you cannot specify an acquisition size greater than a certain amount. It seems to me that it is slower to fetch out small amounts of the memory at a time than fetching it all at once when it is finished.

I also received the numbers in the previous message from an error message when I tried to configure an acquisition size larger than those amounts.

-Tim
0 Kudos
Message 4 of 6
(3,612 Views)

Hi Tim,

Attached you will find the VI saved for version 8.0.  I was unable to save for version 7.1.  Please run the VI and investigate the effects of changing the data width and number of records.  By inserting larger numbers in the "samples per record" control, you can get those error messages to show up.  The maximum value seems to rely on factors other than data width and number of records. One thing to notice is that by setting the data width to 2 bytes, the max number of samples per record actually doubles to 33,554,256 (for one record).  This is explained in the KB I link to in the next paragraph.

With a fixed data width, the maximum number of samples per record does not seem to follow a specific pattern or formula strictly based on the number of records.  There will be a certain amount of overhead used by the device, but that amount of overhead fluctuates by different amounts depending on the number of records.  It also does not seem to follow an even/odd pattern either.  I will continue to investigate to try and determine the formula/pattern. Feel free to take a look at this KB for more information on data width. 

With regard to your other question, it is not possible to configure an acquisition larger than the maximum, even if you are fetching fast enough to ensure the memory does not fill up.  The advantage of fetching the waveform before acquisition is complete is to (a) view the data quicker (ie not have to wait until the entire waveform has been acquired) and (b) to ensure no data is overwritten if you are acquiring within a loop. 

Message 5 of 6
(3,595 Views)
Hi,

Thank you for your reply. This was all very helpful.

-Tim
0 Kudos
Message 6 of 6
(3,590 Views)