I have a task to do a quite fast data logging at sample rate of at least 1Msps with a 24-bit ADC. In my vision it's a device that takes analog signal, digitizes it and records onto a sd card.
I found this nice ADC which (hopefully) will do the digitizing job. It's got a parallel 16-bit interface, meaning it would take 2 reads of 16 pins to get data out of it. The clock rate for data output is 5MHz if I'm not mistaken.
I was wondering if any of Arduino family would be up to the task of reading that data and storing it onto SD card? At this stage I can see FPGAs would be ideal, and some people apparently use PRU on Beaglebone Black boards, but with my limited programming skills that sort of solution might take 5+ years to achieve what I want. Would something like DUE be powerfull and fast enough to do that?
The 16bit parallel interface will defeat you I think - even the Due doesn't bring out all the
pins of the SAM3X8 chip so you're unlikely to have a complete 16 bit chunk of a port
available to route those bits through (although the PIO controller will do DMA).
Also you need to checkout if the Due can drive SDcard native, offhand I can't recall.
Check out the DMA and PIO sections of the datasheet to see what rates they will achieve reading a
parallel bunch of signals - it sounds quite reasonable to expect this to work, but the details are quite
complex as you'll have to config DMA to pull from PIO and fill buffers and write an ISR to switch
buffers perhaps? So long as the DMA can pull at least twice per microsecond and you can get
a continuous section of 16 pins in one port it ought to work.
You may even be able to interrupt-drive this if you can read the two 16 bit words in quick
succession - but I'm not sure the interrupt overhead is low enough (84 cycles per microsecond...)