SPI speed

I'm working on lab application with the following parameters: --adc converter 16Bits with 1MS/s (measureing time about 200s). --storing the data in SRAM, SIMM or equivalent and then write it to SD

I have some understanding problems of SPI (on DUE) 1. There are adc converters working with spi speed > 100MHz. Therefore the smaller SPI speed of the DUE is important. Which is the max. SPI speed of DUE? 2. Assuming this speed will be 16 MHz. Does this mean that I can read adc results by 16MHz/Bit :16Bit=1 MHz as desired? 3. If max. SPI speed is smaller, are there chances to use an external faster clock?

Storing data is a special problem as sram with desired amount are to expensive and to small and lead to a huge amount of chips. I'm working on that. Does anyone knows a solution with SIMMS?


1 MS/s for 200 seconds and with 16 bit ? That is 400 Mbyte. Perhaps you need dedicated hardware for that or buy a data aquisition device.

Yes, I know, but storage is my second problem. All dataloggers ( like https://www.sparkfun.com/products/12772 or https://www.sparkfun.com/products/9530 ) are wonderful but too slow. SIMMs seam to be the best way, but the only solution I know is http://hackaday.com/2014/04/09/using-simms-to-add-some-extra-ram-on-your-arduino-uno/, only possible for 256k because of missing i/o-lines of the arduino uno. Perhaps there are chances to extend this with fast shift registers........

You would have to add so much hardware, perhaps the Arduino is not the right platform for it. I read a few days ago that the Arduino Due does not have certain pins to the connecter, which makes it impossible to add extra memory.

You need a board with ARM processor and 512MB or 1GB ram. That brings us to the Raspberry Pi model B or B+, or the BeagleBone Black. I'm hearing good things about both products. There are example projects for data acquisition with the BeagleBone Black. http://beagleboard.org/black http://www.adafruit.com/category/75 http://www.raspberrypi.org/products/model-b/

Okay, I've taken a look on pcduino V3 https://www.sparkfun.com/products/12856.This bard has 1GB Ram, SATA ,can use Arduino IDE and has an Arduino socket.

If you look at the source for SPI library on the Due you will see there is a setClockDivider() call to set the factor by which the 84MHz clock is divided for SPI. Defaults to 21, hence 4MHz, but set it to 1 and you'll get 84MHz SPI. Simple.

Note its 1 byte so the lowest SPI clock is 84M/255 or about 330kHz,