01-24-2006 03:50 PM
Hi,
I have developed a program to continuously run a buffered loopback which configures 1 port as TX, transmits 1Mb of pattern at 2.5Mhz and reads back the same on another port. The code works fine when I use Ports 0 and 2. But I get an error -10403 at DIO Config.vi when I use the ports 1 and 3.
Do we have to use different group numbers for different combination of ports?
Attached is the VI which I used for my loop back test. Please let me know if I have to use a specific group numbers or whether I have to change any of the configurations.
Here are the list of versions I have used,
- LabVIEW version 6.0.2
- Digital Input/Output device PCI-DIO-32HS Driver Version : 6.9.1
OS : Windows NT
Regards,
Siddu
01-25-2006 04:53 PM
01-25-2006 05:11 PM
01-25-2006 07:39 PM
Hello Siddu,
There are two groups of timing/handshaking lines on your PCI-6533, so at most
you can do two simultaneous operations. Because these timing signals need
to be divided up between your ports, there are only certain combinations of
ports you can use when configuring two operations to take place
simultaneously. If you are performing two 8-bit read or write operations,
the divide up of these timing signals dictates that you must perform these
two operations on ports 0 and 2. If you are performing two 16-bit
operations, the first operation must combine ports 0 and 1, while the second
operation must combine ports 2 and 3. Because of the limit on the number
of lines, you can only perform one 32-bit operation, which will only use one
set of timing/handshaking lines and ports 0,1,2, and 3. So, if you want
to perform two operations, one involving port 1 and the other involving port 3,
the only way to do it is to do 16-bit operations and ignore the data being
read/written to ports 0 and 2.
This separation of timing duties should not affect the performance of your
card, but for future reference, the PCI-6533 only has a 16 word FIFO (onboard
buffer), so your application it is actually quickly transferring data to and
from your PC's system memory (RAM). The PCI-6534 comes with two 32 MB
onboard memory buffers for applications that demand transfer rates of over 20
MHz.
I hope this is clear and let me know if you have any further questions.
Regards,
Travis G.
01-26-2006 03:06 PM
01-27-2006 02:07 PM
01-27-2006 04:02 PM
Hi Travis,
The modified code works fine at clock rates less than 1.4Mhz for 1 Mb buffer size. But when i set the clock rate greater than 1.4 Mhz i do not receive all the data on the RX ports. Also mainly, i do not receive the order that i transmit. So iny my test i have to compare the data transmitted with the data received and that always fails beacuse i operate at 2 Mhz clock rate. Why does this happen? Do we need to change the wait state or add any other synchronisation to achieve this.
Regards,
Siddu
01-30-2006 06:47 PM
Hi Siddu,
The rates for your application are going to be system dependant since the 6533 does not have much onboard memory so the driver has to continue to output samples from the buffer on the PC rather than memory on the card itself. However, I believe that you should still be able to achieve 2,000,000 Hz rates with this device since it is a HS device.
Have you tried running buffered digital input and output examples? There are some great examples in the LabVIEW example finder under Help >> Find Examples >> Hardware Input and Output >> Traditional DAQ >> Digital Input and Output.
Also, I strongly recommend that you upgrade to a newer version of LabVIEW. This way, you will be able to use the DAQmx driver which will make programming your application significantly simpler and easier to troubleshoot at the same time. Please try running the example programs and let me know what rates you can use and consider upgrading.
Regards,
Hal L.
01-31-2006 11:30 AM
Hi Hal,
I think i have 6534 card which is supposed to have onbaord memory. Also this particular card is released well before the latest versions of DAQ or LabVIEW. So when the card is supposed to work at high speeds like 20 Mhz i do not see any reason for a simple buffered loopback operation fail at 2 Mhz.
Regards,
Siddu
02-01-2006 05:41 PM
Hi Siddu,
The PCI-DIO-32HS is the equivalent to the PCI-6533, which does not have the 32 MB of onboard memory that the 6534 possesses. Still, the PCI-DIO-32HS will work at rates of 20 Mhz. However, to use this device at these rates, you will have to limit how much data you output. Due to the onboard memory limitations of the 6533, the driver has to continually write data from the PC, which will make your rates extremely system dependant. So, if you would like to output 2 MB of data, you will have to reduce your input and output rates.