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,130 Views)
Willi;

The problem is probably happening because the 6533 board doesn't have a deep onboard memory. Its on board memory is only 16 Words deep. Due to that fact, the data transfer to the computer memory relies to much on DMA transfers, meaning that the DMA channels need to be almost dedicated to that data transfer. Sometimes, other devices of your machine are using the DMA channels (the PCI bus has only 3 DMA channels that are shared in between all devices), so all channels are busy, and as you board can't store much data, you will loose some data points.
The safe way to go about this is to use the 6534 board instead. That board has a 32M deep on board memory, which will store data when all DMA channels are busy handling other devices' requests.
Hope this helps.

Filipe
0 Kudos
Message 2 of 2
(3,130 Views)