Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

When using an external clock for pattern input on my 6533 I am missing data

Hello,

When using an external clock for pattern input on my 6533 I am missing the last 1 to 4 bytes of data.

I am using continuous input with an external clock that stops when the data stops. Therefore there is 1 to 4 bytes left of data in the onboard memory that I can't retrieve unless there is a continous external clock (or at least 4 more clock pulses).

I would use finite pattern input, but I have no idea how much data I will be receiving.

I have a PCI 6601 counter card that is counting the pulses (this is one of the reasons that I know that I am missing data, also I know what to expect for my results when reading data from a particular location).

Is the 6533 card fast en
ough to use interrupt driven transfers for my operations? My external clock signal is about 6us and I have a very speedy computer - 3 GHz, lots of ram and 800Mhz front side bus, 1GB of 400 MHz memory...(the works). I am using windows 2000 and LabVIEW 7.0.

Let me know of any ideas that you might have.

Thanks,
Nathan
0 Kudos
Message 1 of 3
(3,385 Views)
Hi Nathan,

It has to do with how data is transferred from the onboard memory to the PC memory. When you are using DMA transfers (which are much quicker than interrupts), data is transferred in blocks. For the NI 6533 it is transferred in 4-byte blocks. For the NI 6534 it is transferred in 32-byte blocks. The implications of this is if you have to transfer your data, it is possible that you could leave data stranded on the DMA fifo on the board itself if you don't have enough data points (less than 4 or 32 depending on your board). This is exactly what you are seeing. Here is the explanation in the manual...

NI 653x User Manual
http://www.ni.com/pdf/manuals/321464c.pdf (page 2-10)

The way around this is to use interrupt based transfer methods w
hich transfer on a point-by-point basis. Interrupts can transfer as quickly as 200kHz on my machine (5us period) and my machine is not nearly as stacked as your machine. I would definitely imagine you could achieve even faster than this. The way you can change the transfer mode is by using the Set DAQ Device Info function.

Anyway, hope that helps. Have a good day.

Ron
Applications Engineering
National Instruments
0 Kudos
Message 2 of 3
(3,385 Views)
Hi Ron,

Thanks for your input. I have already tried the interrupt driven transfer and I am still missing the last byte.

I tried to configure the "handshaking mode parameters" for the request polarity to be active high. Still, I am missing the last byte. Is there another parameter here that I need to "tweek?"

Thanks,
Nathan
0 Kudos
Message 3 of 3
(3,385 Views)