Hi Wan81,
We do have quite a few choices when it comes to FPGA. If you just want to more accurately synchronize your data acquisition, you might just look into an R series card. These have an FPGA, but still rely on windows to host them. You can create a VI that runs on the fpga that will provide syncronised samples from the different analog and digital IO on the card, and then return these samples to your windows host VI for processing. In this way, you dont garuntee that your processing is deterministic, but you do garuntee that all your IO is syncronized. You could also use an R series card for controlling an output based upon inputs. Assuming the control is simple enough to fit onthe FPGA, you could aquire data with the FPGA, process it, and then provide an output all with in the card, and not interface with your windows system except to start and stop the VI, or to simply monitor the inputs an outputs.
If your control is more complex then can fit in the largest 3 million gate R series card, then you may concider compactRIO, which includes a real time system in conjunction with the FPGA. This allows you to offload part or all of your controll to the real time system. The real time VI will be deterministic in its timing, but will not be as precices as the FPGA. If you just want to syncronize data aquazition across all the analog and digital I/0, then this may be overkill for you since in the end, you will probably just transport your samples from the FPGA, through the real time VI, and into a host machine connected VIA ethernet.
The final option that may make sense, is one of our new Single Board RIOs (they were just released this week.) They provide all the functionality of the cRIO, but without the ruggedization. It includes a processor running a real time operating system, an FPGA (of various sizes,) and it also includes analog and digital I/O on some models (versus buying C series Modules in addition to the cRIO.) But again, this is basically a cRIO, built into a single PCB, and so it may still be overkill for your application.
The real question you need to ask is "What type of control, if any, do I need to implement with my data?" If the answer is "none", then you should probably just stay with an R series card. If you need to do complex control and processing with the data, then a cRIO or a single board RIO may be the solution.
Asa Kirby
CompactRIO Product Marketing Manager
________________
Sail Fast!