Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

Something blocks access to the hardware

We are collecting and evaluating digital data using PXI6533 boards. The connected hardware contains an external buffer, which allows to store about 1000 DWORDS. I'm reading the buffer using the burst mode with one group containing all 4 ports an in single buffered mode. I could see on a oszilloscope, that we are reading about 10 times faster than the date are filled into the buffer (about 5 M Samples/s in burst mode). Nevertheless sometimes data are lost. The reason is, that for more than 30ms the reading thread is not called by the system and the external buffer gets an overflow. We are displaying the data with Measurement Studio. If we store data only to a buffer an overflow occur not so often. If we display the data on screen
it happen continously. Changing the priorities of the threads helped a little bit, but did not solved the bysic problem. Would a realtime extension for NT solve it? Can we 'tune' the Measurement Studio parts?
I've tried also the double buffring feature, but in this case data are lost internally.

Thanks
Willi
0 Kudos
Message 1 of 2
(3,121 Views)
Willi;

That is happening there probably because the 6533 has a small on board buffer of 16 words only, and due to that fact, the data transfer rely on the PCI DMA channels often. As the PCI bus has only 3 DMA channels available, those will be shared by all devices that need DMA data transfer, which may cause the external buffer to overflow, in case the DMAs are busy with other requests.

To have a hardware guarantee that you won't have that overflow problem, the best way to go is to start using the 6534 instead. That board has a 32M on board memory, and can store data on while the DMA channel is busy with other requests.

Hope this helps.
Filipe
0 Kudos
Message 2 of 2
(3,121 Views)