Is it hard to design an interface that uses PCI(Express)? I want to create a way to dump data(such as from a dac or just digital logic) into a pc's memory and I want it to be fast as possible. Would using a PCI card be the most direct and fastest way or are there comparable interfaces such as 1394 or even USB 2.0 that would be much easier? I recall a while back(several years) seeing a tutorial on creating ISA interfaces and if I remember correctly it wasn't to hard. Now that we have PCI and 1394 I'm wondering which rought I should go. Right now I'm working with the parallel port and its just going to be to slow for my eventual needs. I see that the PCI bus can run about 500MB/s while USB 2.0 is about 60MB/s. I'd rather use the PCI Bus if possible although firewire is about 100MB/s. I also see that PCI-Express is about 1GB/s and AGP is around 2GB/s. (these are ofcourse the maximum bandwidth available)
My pipe dream is to use some 1.5GS/s ADC's I got and try to use them to design a pc based scope and/or logic analyzer. Probably to many technical issues that will limit the performance and effectiveness but even if I could get it to only operate at 1/100 that ability I would be happy(then I could worry about redesigning it).
What I'm worried about is all the setup, initalization, and communication procedures will just be to complex to dump data. USB 2 is nice but it seems to limit real time transfers to about 60MHz for an 8-bit oscope which means your probably getting a scope with a resolution of about 6MHz.
From what I remember, AGP has direct access to the memory and if its not to difficult one could design a scope that uses the AGP slot and either get a dual AGP MB or use a PCI video card for the video interface. Then one could just dump the data to the memory directly.
Ofcourse I expect a lot of flames about the impossibility of this idea but whether its practical or not is not important to me. Its not that I expect to reach my goal but even if I get something that works decent would be nice. (Hell, even if it works at all would probably make me happy)
Basicaly what I want is a way to use PC memory has storage for sorta a digital storage oscope. The software side is not to diffcult but its getting the information into memory to actually to something useful with it and I want something a bit more than what the parallel port can do. USB 2.0 or firewire seems like an easy way to go but if I can get 10x more bandwidth from use a pci card then maybe its worth it if its not to much more complicated?
Anyways, Let the flames begin.... although it would be appreciated if someone actually has some useful comments. If you are going to say it is impossible or virtually impossible then atleast have the decency to state why. (If you think I cannot do it then that is a different store that I do not want to hear. I'm hear to learn and I can still learn by *trying*)