09-20-2007 01:40 PM
09-20-2007 01:48 PM
09-21-2007 03:06 PM
Hi jqhu,
The 6562 will not have any problems streaming data from the computer at a sustained sample rate. There is a fantastic HSDIO streaming example on this webpage. This example, however, requires an in depth understanding of LabVIEW, File I/O, and HSDIO. It also has maximum optimization in order to stream from disk. I would like to please ask for more detail on how fast and how much data you are looking to stream, as it is likely this example is very much overkill for your project.
Regards,
09-21-2007 04:01 PM
jqhu,
What rate are wanting to stream data to the PCI-6562? Although the PCI-6562 is capable of generating data at rates up 400 MB/s (200 MHz x 2 bytes (1 sample = 2 bytes for the 656x in signal data rate mode), PCI is not capable of supplying data at this rate. The theoretical maximum transfer rate of 32 bit-33 MHz-PCI is 132 MB/s. In reality, there is some overhead and in general, on a good computer, you will see ~100 MB/s. Keep in mind PCI is a shared bus so if you are using other cards, this value will be split among all the cards.
With the being said, the maximum frequency at which you can run the 6562 while streaming data from PC memory is ~50 MHz. If your application requires a faster rate, does your waveform repeat. If so, how large is the waveform?
Ryan
09-22-2007 09:49 AM
Davis & Ryan,
Thank you for the reply! The rate we want is the faster the better, but even 50MHz output frequency, it should be okay. Some more questions:
(1) The PCI bus only support 33MHz? not 66MHz? As I know the current PCI bus (regular PCI) is capable to handle 66MHz.
(2) Does the digital I/O card has internal data mux? We want to use for uni-directional data transmission -- as output. If we use all the 32-bit data width from the PCI bus, yet we only want to have 8-bit date output by the digital I/O, can we mux the 32-bit data to 8-bit? Do we still have the 50MHz output frequency constraint?
Also, do you have any idea (actually the same question) for PCI-5152 (ADC)? Otherwise I'll ask for help from that board.
Thanks again!
-J.
09-22-2007 09:58 AM - edited 09-22-2007 09:58 AM
One more question is, do we have the ability that, we write a certain amount of data into the buffer (work as a fifo), and then request the card to output the data, and have it stop automatically in case there's no more data to be transmitted (i.e., the fifo is empty)? Or, in an alternative way, is the card able to issue an indication telling that it has reached the transmission of a certain point (address) so that we can use the application software to stop the transmission? If we can, then can we use the 300MHz full bandwidth?
Thanks,
J.
Message Edited by jqhu on 09-22-2007 10:00 AM
09-24-2007 05:22 PM
Hi J,
The PCI-6562 is a 33MHz 32 bit PCI card. If you wish to output data faster than the rate 33MHz 32 bit PCI can sustain, I recommend using scripting. By loading waveform(s) into memory and using scripting, you can link and loop waveforms still running at the full rate of the card (PCI is not a factor).
Ryan
09-24-2007 05:46 PM
J.
The 6562 does not have a mux, but does have channel to channel skew. This specification can be found in the 6562 Specifications, P 7. Also, it will only bring the datawidth you specify across the bus. For example, if you do a fetch U16, than it will bring across 16 bits at a time.
The PXI-5152, although doing A to D conversion, is simultaneously sampled therefore does not have a mux between the two channels. Since it is an 8-bit digitizer, the samples will always be 1 Byte each.
If you would like to write a certain amount of data, and see when it is finished generating, you can use the ‘niHSDIO Wait Until Done.vi’. This will ensure that all of the samples have been written before continuing. A good shipping example which exhibits this is ‘Read HWS File and Generate.vi’ (Help >> Find Examples.. >> Hardware Input and Output >> Modular Instruments >> NI-HSDIO >> Dynamic Generation >> Non-scripted) You can also poll to see if a session is done by using the ‘niHSDIO Is Done.vi’.