Electronic – Arduino Due ADC sampling

adcarduinomicrocontrollersampling

I am working on an Arduino board and I have no previous experience with it, unfortunately. I need to sense the voltage signal from a sensor using the ADC of the Arduino. I have an Arduino Due manual which says it has up to 12 useable pins for ADC input. I want to acquire 4 analog signals. However, I have two questions:

  1. I want to fetch the data at a high frequency. So let's say if the sampling time of Due is 60 μs,
    A. will it take all of 4 analog signals at T = 60 μs and then convert them to digital? Or
    B. will it take the first signal at 60 μs and fetch the second analog signal from pin 2 at 120 μs and so on from 4th pin at 240 μs?
    Which one of these is the correct scenario?

  2. It says that the Arduino Due can take 1M samples per second. Of course, this is an ideal figure. But, will these 4 analog signals count as 1 sample of the Due or 4 samples?

Best Answer

As far as I understand, this uC has single ADC harware with multiple channels (multiplexed inputs). This means that, for each conversion, it needs some acquisition time to charge its internal sample-and-hold capacitor and then some time to do actual conversion.

So, the ideal 1 M samples/second is for single channel only. If you use 4 channels, you can have 250 k samples/second max.

Sampling time is also specified for each channel. This device can't sample all the channels at the same time, it must sample them one by one.