Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

Circular buffer error with DIO32HS

Hello,
I am using a DIO32HS in pattern buffered I/O with external clock in Labview and in Visual C.
I lose a sample when the circular buffer has wrapped the first time. It is always the 17th sample after a full buffer. If I change the buffer size, it moves along.

I tested it in Labview 6i and with Visual C. I can repeat the test and the error is always in the same spot. There are no error warnings, not in Labview or in C.

I tried it with another DIO32HS and it makes no difference.

Has anyone seen this before?
How can I solve the problem?
0 Kudos
Message 1 of 3
(3,380 Views)
Hello,

I am not sure where the problem lies in your application, but here is one test you can run to see if the card is working correctly and it may be something that we are missing in the programming of the card.

You can open the Pattern Input example and the Pattern Output example VIs in labview.
Next, tie all the data lines of port 0,1 to the data lines of port 2,3. Also tie REQ1 to REQ2 (clock line). Then you can start one example with the settings of external clock, then start the other program using the internal clock. This will insure that we start the slave ports first, then the master ports will start the transfer of data after the slave ports are ready.

Hope fully you do not see the same behavior, but if you do, you may wish to contact NI technical
support. For contact information visit www.ni.com.
0 Kudos
Message 2 of 3
(3,380 Views)
The 32HS has 16 Word deep Fifo.
The fact that you miss the 17th sample is very very suspicious!!!!
Perhaps the PCI bus is too busy in that moment and the fifo empties.....
To avoid this we placed an external fifo (16KWord!!!!!).
I understand that this is not an easy solution...
0 Kudos
Message 3 of 3
(3,380 Views)