Very fast DIO synchronously

I'm trying to see if it's possible to do very fast digital I/O from a 
real-time loop synchronously (I might want to do control from within the 
loop, which is why synch. I/O is the way to go for me).

On my current hardware it seems a read/write to all 24 channels of my NI 
DaqCard DIO 24 takes 10 microseconds or so.  That would mean I can't very 
well achieve rates above 100KHz.

Any ideas if the 10us time for the comedi_insn is a limit of the PCI bus 
somehow or more likely a limit of the speed of the I/O card?

BTW: A look at the 8255 driver seems to indicate writing to all 24 
channels takes 6 outb instructions which presumably become 6 separate PCI 
Write operations -- each of which takes 4 PCI cycles minimum so that would 
mean 24 PCI cycles per DIO read/write... that should mean I could easily 
get over 1MHz transfer rates... but instead 1KHz is my limit...

Any thoughts would be appreciated..

-Calin

Received on 2005-08-31Z21:59:45