- From: Frank Mori Hess <fmhess_at_users.sourceforge.net>
- Date: Thu, 17 Feb 2005 18:52:46 -0500
On Saturday 12 February 2005 04:52 pm, pzoltowski_at_poczta.onet.pl wrote: > Hi all, > > I want to use comedi and NI AT-MIO-16E2 for data aquistion close to card > capabilities (500kS/s). Comedi(0.7.67)/comedilib(0.7.22) installation > went smoothly, I have written some testing code (basically modifications > to cmd.c demo). My problem is that above 200kS/s I'm starting to loose > frames of data. I use large (4MB) comedi buffer, this is always more > than data I want to acquire in one burst. It seems to me that 2048 > samples FIFO * 100 interrupts/s gives 200kS/s (I tested this with 2.4.18 > and 2.4.26). I also need to do comedi_poll as() frequently as possible. > If my program has a loop that runs only comedi_poll() after > comedi_command(), I went up to 350kS/s. The PC is old P133, but when the > card was put into Athlon 1200, the limits were the same. Using comedi 0.7.69 might help slightly, but when the driver is draining the fifo due to a poll, or when using TRIG_WAKE_EOS, it does two register reads (one is a read of a status reg) for every sample taken out of the fifo. It takes about a microsecond to do a read, so that puts an upper limit of 500k when the cpu is spending 100% of its time reading the board. > > My questions are: > Do I need RTAI/RTLinux to go to higher speeds? No, they help with latency not throughput. > My understanding is that my AT-MIO runs in interrupt mode, not DMA. > Is there any chance to get DMA mode with this card? NIDAQ 7.3 card If you're asking if someone is likely to do it for you, probably not, considering how obsolete ISA is. -- Frank
Attachments
- application/pgp-signature attachment: stored
Received on 2005-02-17Z23:52:46