I have a problem, is Arduino the answer?

Good morning Arduino experts,

Could an Arduino based design do the following:

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.

Best regards,

Bob Smither

Because of the sample rate I think the words would need to be saved in local storage on the Arduino system.

The Arduino has either 2K or 8K of local storage, max. You won't be saving "several million 16 bit digital samples" in that space.

The Arduino has either 2K or 8K of local storage, max. You won't be saving "several million 16 bit digital samples" in that space.

Thanks for the reply.

I was hoping there might be a shield that could provide more local storage for the system. I have seen data logger shields with SD cards, for example.

SD is not the answer either. Too slow. Why don't you tell us how many samples you need?

"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.

Best regards.