09-18-2008 10:12 AM
I guess the main question is what should my "Timing Settings" for the Generate Step be? I get "Error - 200621 occurred at DAQ Assistant" when I try to set the "Timing Settings" to the following; N Samples, Samples to Write = 32, and Rate = 20MHz. If I change these setting around I do get up to 5kHz max out of the 6534. Am I approaching this the right way? Are the steps Im using the correct ones?
Thnx
09-19-2008 08:49 AM
09-19-2008 10:03 AM
LambdaMan,
The NI-HSDIO steps do not support the NI 6534 since it runs on the DAQmx driver. The error you are seeing is due to an onboard device memory overflow. Basically, this means that the computer is unable to write the data to the onboard memory of the 6534 fast enough. This is why you are seeing the error at rates above 5kHz, because the board is outputting the data faster than it is receiving it. You can try to run at higher rates by closing other running programs, and allowing SignalExpress to transfer the data faster. It sounds like you are approaching this the correct way. Do you mind posting the HWS file along with the SignalExpress project you are working with?
Also, are you continuously generating the samples, or are you doing a finite output? Usually you can get away with generating a finite number of samples at that rate, but if you run the project or the step continuously, it would be difficult for the bus bandwidth to keep up with the output rate of the device. If you think about it, you are streaming a unsigned 32 bit integer (4 bytes) at 20MHz, this is 80MB/s (the board's maximum) without any bus overhead. If you are using PCI/PXI, your maximum transfer rate may practially be somewhere near 120MB/s, but that is if this is the only card on the bus. If you are running a video card, network card, usb card, or anything else at the same time, it is going to have to share the bandwidth. I am unsure why you would be limited as low as 5kHz unless something is really eating up the bus and your PC's resources though.
Bottom line is that you may be better off using LabVIEW to do this, since you have more control over the device. I believe that using the DAQmx driver, you can download the waveform you want to write, and then have the board generate the signal, eliminating the problem of bus bandwidth.
I hope this helps.
09-19-2008 10:33 AM - edited 09-19-2008 10:41 AM
As a follow up, you may want to see this discussion thread discussing producing a 32bit serial signal with a 10MHz pulse.
http://forums.ni.com/ni/board/message?board.id=250&message.id=43124#M43124
There is also a Developer Zone article which discusses using the onboard memory to do generation.
http://zone.ni.com/devzone/cda/tut/p/id/3631
Enabling Onboard Looping in the PCI-6534
http://digital.ni.com/public.nsf/allkb/D41C98406383824286256FE8000F28FD?OpenDocument
NI-DAQmx: Continuous Pattern Generation with the 6534 Using Onboard Memory
http://zone.ni.com/devzone/cda/epd/p/id/1731