My end goal is to develop a DAQ card. I am hoping to support ~10000Hz for several analog input and output channels, say, up to 100 inputs and 50 outputs with 100 DI/DO. With the end solution being integrated into a custom pcb. The input/output and DI/DO numbers are by no means set in stone.
I would like to start by doing something simple like echo a signal through the PCIe. I am thinking something like the following:
function generator out → ADC → fpga → pcie → RTOS → PC echo back → RTOS → pcie → fgps → DAC → probe signal out.
Alternatively instead of fpga I would convert to ethernet:
so, fpga would be replace with: microController → SPI → ethernet
I am trying to develop on a budget for the initial proof of concept so I can get buy in from others later on.
From the limited knowledge I have it seems that FPGA will likely the faster data transfer solution however I am only seeing dev boards that seem to be far too capable and others that do not have pcie.
Any direction that can get me towards the sample rate for something close to the input/outputs would be greatly appreciated.
On specific FPGA/PCIe matters I’d defer to my colleagues with greater familiarity in those areas, but I believe you’re probably on the right track in that sense; FPGAs are good at defined, highly parallel, I/O intensive tasks. Funneling 150 analog channels + 100 digital I/O into a few differential pairs would certainly qualify…
I’d suggest though, that it would be beneficial to better establish some of your other design goals in order to better inform your needs in terms of processing on the digital side of things. What sort of analog resolution do you want? Linearity? Noise? Crosstalk? Single-ended or differential? What about sequential vs. simultaneous sampling? Filtering? All that would influence the selection of ADCs and potential architectures available, and thus how wide your digital funnel needs to be.
And what sort of “card” precisely did you have in mind? There’s some fantastically dense ADCs available these days, but it’ll be a bit of a trick to get 250 signals through the back of a typical PC card slot without some noteworthy signal integrity problems, not to mention anything about connector selection.
If you don’t have good answers for such questions, I’d suggest looking to the intended end use for guidance; what are the requirements of the job this tool needs to do?