Discussion:
High speed pattern generation from PXI-6534
(too old to reply)
Bob Shreve
2006-05-20 19:10:08 UTC
Permalink
Greetings,
 
I am using a PXI-6534 card to generate 16 bit output patterns at a 20 Mhz cycle time. If I use the standard DIO Config, DIO Write, & DIO Start VIs, I occasionally get a -10843 error from the Digital Buffer Write VI. Apparently, even though the 6534 card has 32 Mb of on-board memory, the system tries to write the data to the card through the PCI bus while it generates the pattern.
 
Will setting the "Scarabs Preload Enable" parameter on between the DIO Config and DIO Write VIs force the use of the on-board memory? The examples I have seen where the on-board memory is used are generating patterns continuously. I just want to run the pattern 1 time out of the on-board memory at a 20 Mhz rate, without having to worry about other activity on the PCI bus interferring with the pattern generation.
 
Thanks,
 
Bob
McKala[DE]
2006-05-22 21:10:10 UTC
Permalink
Hello Bob,

By default, the the on-board memory of the 6534 is used.  The
"Scarabs Preload Enable" parameter is normally used when filling the
memory will take too much time in a time constrained application. 
You could create a finite task for your pattern generation. 

Another suggestion would be to switch to the NI-DAQmx
driver, which offers greater flexibility and higher performance than
the Traditional NI-DAQ driver.  Then benefits of the NI-DAQmx
driver are described in this <a href="http://zone.ni.com/devzone/conceptd.nsf/webmain/EE47B125BB9E053686256FBC0014C384" target="_blank">article</a>.&nbsp; You can download the NI-DAQmx driver from the <a href="http://digital.ni.com/softlib.nsf/MainPage?ReadForm&amp;node=132010_US" target="_blank">Driver and Updates</a> page.&nbsp;

Here are a couple tutorials that should help get your going:
<a href="http://zone.ni.com/devzone/conceptd.nsf/webmain/82A34EA5258568D386256DE10058912A" target="_blank">Transitions from Traditional NI-DAQ to NI-DAQmx</a>
<a href="http://digital.ni.com/public.nsf/websearch/7759B0D2A8A392DF86256D21001B452E?OpenDocument" target="_blank">What are the Terminology Changes in NI-DAQmx?</a>

Most people find it MUCH easier to develop your program in NI-DAQmx!&nbsp; You'll be saving yourself a certain headache :smileywink:

Regards,


&nbsp;
Bob Shreve
2006-05-23 13:40:15 UTC
Permalink
Micaela,
If I &nbsp;use the standard DIO Config, DIO Write, &amp; DIO Start VIs, when does the pattern data get loaded into the on-board memory?
There is a Knowledge Base article titled "Performance Benchmarks For The High-Speed Digital I/O - NI-653x". This article states that "NIDAQ reports a -10843 error if the PCI bus does not transfer data into the onboard memory fast enough to maintain the predetermined output rate, resulting in an onboard memory underflow." This would seem to indicate that the data is being transfered into the on-board memory at the same time the pattern is being generated, using the memory as a FIFO buffer.
Do I need to use the Advanced Digital I/O VIs?
Thanks,
Bob
McKala[DE]
2006-05-25 00:40:10 UTC
Permalink
Hello Bob,

If you turn on Context Help (Ctrl-H) in LabVIEW and hover over the DIO
Write VI, it explains that the DIO Write VI calls the Digital Buffer
Write VI to write to the internal transfer buffer, and the internal
buffer is the memory of the 6534.

If you are preforming a finite DO task that the total samples can be
held within one buffer, NI-DAQ will not transfer data into the FIFO, on
board memory, while the task is generating data.&nbsp; The -10843 error
can occur if you are writing more data than the buffer can hold, in
either a finite or continuous task, and it is being generated faster
than it is written to the buffer.

Is your task finite or continuous?&nbsp; And how many samples are you writing to the buffer?

Regards,

Loading...