I need to acquire several million 16 bit digital samples at a fairly fast rate (somewhat flexible on the rate, but ideally at 10 - 20 mega samples per second). The words are generated along with a sample clock from the external system - so the Arduino design would need to read the word on a clock edge, save it, and be ready to read the next word. Because of the sample rate I think the words would need to be saved in local storage on the Arduino system.
After a block of data is saved to local storage on the Arduino system it would need to be transfered to a PC for further processing.
Thanks in advance for any insight / advise / pointers you can give me.
"10 - 20 mega samples per second"
You need a faster processor for that. You could have one on a shield loading up an external memory chip, then use the Arduino to offload the data or something.
That will be hard even for an ARM-Cortex M3, maybe an M4, but that is a job that is suited for an FPGA and external RAM, and a fast transfer to a computer, because even ram is pretty costly.
Thanks for replies! That pretty much confirms what I suspected, but before diving into an FPGA solution wanted to make sure there wasn't an easier approach.