I am using Arduino mega. I am also using SPI enabled DAC(MCP4921) and ADC(LT1857) along with Arduino. I am measuring data from 4 sensors at 1000Hz for 10 secs. I want to save the data from these sensors without effecting the sampling rate. Using Serial data transfer and Arduino Serial monitor introduces delay in the data acquisition loop.
What are the other ways with which I can store data and look at it once the 10 sec loop is over?
I guess I cannot use flash memory as it does not allow to store floating numbers. I would like to avoid using SPI transfer for saving this data to external RAM as I am already using SPI for ADC and DAC and I dont want to complicate the code.
You have to define the data rate you are assuming with your design. You say 4 sensors, floating point, 1000Hz sampling rate and 10seconds. That may leed to 16kB/sec or 50kB/sec based on the format stored.
I personally would go with MRAM (512kBytes per chip, 8pin, SPI) nonvolatile and w/ the above fat16lib's filesystem when talking 10sec recording at the guessed data rates above. For more demanding application you may consider the 8MB ramdisk.
The ADC can take measurements at even faster rate. I am controlling it to take 4 measurements per 1 ms(1000Hz). It will take 4 readings within 100us and then wait for 1ms to measure the next set of 4. I hope this is what you were asking.
I think I can store the data in 16 bit words also. It is better than using float. Correct?
Looks like I cannot store data in Flash memory in runtime.
I am trying to save the sensor data for 10sec at some location. But no been able to find a solution.
problems:
I have about 80kb of data to save. I cannot use flash memory as I cannot save runtime data in flash.
2)I cannot use RAM, less space