Simultaneous multichannel Sampling

allanhurst:
Look through the major manufacturer's offerings

eg TI's ADS1158 - 16-Bit, 125kSPS, 16 channel.

There's a lot of choice.

Allan

Thank you for your response. I've been looking at TI and mouser for good components. And I certainly think
those devices are a good fit. I just want to weigh my options on the best way to progress. for example, I
would like to know if there are ADCs with a output buffer not unlike a fifo buffer that allows the connected
mcu to transfer the data in bulk and perform other tasks while the ADC is preparing the next batch.

jremington:
How much is your time worth, considering that you can buy such things off the shelf? Especially considering your admission that you have no experience with high throughput data collection.

For example, here is an 8 channel, 16 bit, 50 kS/s/channel ADC that plugs directly into a PC USB port.

Your choice is to start collecting data in a few days, or spend a few months getting something to work.

Thank you for your concern and I realize that this may take quite a while before I can get it working as
described, however I am very interested in learning how to do this.

MorganS:
Yes, I agree that you can spend months learning how to do this or just buy the thing. It's not a unique requirement.

I should think that if you care about the 1kHz sample rate then you should also care about the simultaneity of the samples. If you are looking for data at that high resolution then it becomes really significant if one channel at the end of the chain is 500us away from the first one.

The next question is how are you ensuring that the accelerometers don't give you signal frequencies higher than this? Aliasing of frequencies above the Nyquist frequency is a big problem with these kinds of measurements.

I've created a system using ADXL345 digital accelerometers to do 400Hz sampling on groups of 4. I guess that it could be ramped up to higher frequencies. My Arduino had a lot of other time-sensitive work to do at the same time, so I expect that my system could handle that frequency if it didn't have to do anything else. I just trusted the ADXL345 internal clocks to stay in sync for my measurement period by just starting them all in the same nanosecond. I would not expect the basic ADXL345s to stay acceptably in sync more than a few seconds at 1kHz.

I realize that simultaneous sampling in this application is critical and that there will be a delay between the samples. In my mind, I am trying to mitigate that problem by pairing 1x mcu and 1xADC per 6 analogue channels. Each mcu is then called by an external interrupt, at the same time, to trigger taking 1 sample
from each channel via the connected adc. Then that data needs to be paired with the other samples taken from the other mcus. Which will be done by a separate micro controller.

I believe the main problems that I will have with this are that the sampling/writing process needs to be complete before then next interrupt is called, limiting the maximum sampling frequency and that there would still be a delay between the initial and final sample between each of the 6 input channels.

I would be perfectly fine with reducing the number of channels per ADC to reduce the delay between the samples eve further. Also, I am not against using digital sensors instead of analogue sensors if that gives me a better temporal resolution. But in this case I think I would run into similar problems and sill need
to manage bundling of the data so that i can send it to my computer.
send it to my computer.

I have attached an image of the general layout that I had in mind :slight_smile: