Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

Difficulty in outputting data at 80 MS/secs with PCI-6534

I want to continuously output data in the continuous pattern I/O mode. I looked over the example program for continuous pattern output. The problem I am facing is that, when I use 4 ports, the maximum clock frequency I am able to use is 10 MHz. I am unable to use the 6534 clock frequency of 20 MHz with 4 ports (it works at 20 Mhz with 2 ports). The error which I get is "because of system/ bus-bandwidth limitations, the driver could not write data to the device fast enough to keep up with the devide throughput." I understand that the data is not being written to the buffer as fast as it is read.

My system configuration is 512 MB RAM, Pentium 4.0, I don't know why the program does not work for clock frequencie
s above 10 MHz even though my system configuration is high.

I would be grateful if anyone can provide some help/suggestions on this.

I also had a question regarding the buffer size specified in the DIO config. Does this indicate the single buffer size or the double buffered size?

Thanks,
Gautam

P.S.I am attaching the vi where I am generating 32MB x 4 = 128 MB data and outputting it continuously in chunks of 32 MB.
0 Kudos
Message 1 of 3
(3,311 Views)
Gautam

I do not see your attached vi.

When using the PCI-6534, you can only continually output data at 20MHz for a limited amount of time, depending on your PCI bandwidth.

One thing you may be able to do is to preload the data onto the onboard memory. You can load 32MB for each group. So if you are using two 16-bit groups, you can load 64MB. However, if you are using one 32-bit group, you can only preload 32MB. The 6534 can also loop through the data loaded on the onboard memory at the max 20MHz speed.

Brian
0 Kudos
Message 2 of 3
(3,311 Views)
Thanks for the reply. I am sorry for not attaching the
files, I have attached the files now.

In your reply you have mentioned that we can transfer the data at 20 Mhz after loading it to the onboard memory. However, for my application, I need to transfer data from the RAM to the onboard memory modules continuously. i.e. while the first memory module is transferring 32 MB data, I need to simultaneously write data from the RAM to the second 32KB memory module. When the second memory module outputs data to the I/O board, I need to write data from RAM to first memory module and so on. This goes on continuously. When the 256KB data in the RAM is finished, I need to restart the transmission from the first byte in RAM.

I was able to do this at 10MHz in
the attached files, but it does not work at 20 MHz. The PCI bus speed is 133 MHZ. I tried running the program at a higher priority level, but it still doesn't work at 20 MHz.
0 Kudos
Message 3 of 3
(3,311 Views)