cancel
Showing results for 
Search instead for 
Did you mean: 

How to capture 8 bipolar analog inputs simultaneously using STM32MP157D device

Ma.2
Associate II

Since STM32MP157D requires positive analog input, I have added a fully differential amplifier to capture the negative inputs. STM32MP157D devices embed two analog-to-digital converters.

I have attached a diagram that explains my problem. I need to capture the 8 bipolar analog inputs simultaneously to get accurate phase information.

What is the best and optimal way of achieving this? 

4 REPLIES 4
PatrickF
ST Employee

Hi @Ma.2​ ,

there is only one single sample&hold in each ADC, so you can't capture 8 analog inputs 'simultaneously'.

Only sequential sample+conversion is possible.

Nevertheless, it depend on how much sampling time error 'simultaneously' allow in your application.

At 3MSPS sampling rate, there will be only about 3us between the 1st and the 8th channel data conversion.

(sampling rate depend on chosen ADC resolution as well as sampling time. Sampling time depend on channel and your source impedance. Please refer to product reference manual as well as product datasheet for details)

Otherwise, you should have to implement an external sample&hold controlled by e.g. a timer output.

Same timer (using another channel) could also start the ADC conversions on the 8 channels sequentially.

Additional reading: AN2834 and AN3116 (this latest is rather old, but still relevant for most aspects)

Regards.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

Thanks a lot. Like you said, a few microsec delay won't have a significant effect on the phase. 

I was thinking of starting from the sample design I attached and then go for other solutions like external sample and hold , ADC etc like you suggested. 

I am using the differential amplifier to increase the input signal capture range.

Is there any problem with my design? If so, how can I make it better? 

Any other simple and cost effective way to do this? Thank you again.

Or use an external multi-channel ADC?

What kind of sample rates are you looking for?

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Hi,

maybe check your required performances Vs datasheet (look at ENOB, SINAD, SNR, THD) to confirm that you really need to use differential inputs.

Note that as per Reference Manual: "When ADC is configured as differential mode, both input should be biased at VREF+ / 2 voltage"

If your signals are already single ended at their source, maybe simply scale by 2 and bias them by VREF+/2 before feeding it to the ADC inputs and keep them single-ended.

This should probably be done with a single basic 3.3V rail-to-rail op-amp.

I'm not expert and not done the exercise, but maybe much easier to remove the external mux and associated GPIO control (which will create a lot of headhache for real time control if you need to do 8x mux and acquisition in few us).

I think it is better to put 8 x time a simple bias+scale circuit connected to 8 x single-ended ADC inputs.

It might be slightly more electronics than a mux+diff-amp, but maybe not costly as good mux and differential amplifier are not cheap while simple dual 3.3V ADC are quite easy to get at cheap price.

If you expect to acquire +/-3.3V signals, I would recommend to scale a little bit more (to e.g. 0 - 3V if VREF+=3.3V) to get some headroom for noise/tolerance and avoid clipping in the chain which is usually not good for signal processing.

If needed by your signal processing, a 9th ADC input connected from your virtual '0' (VREF+/2) might allow to compensate static accuracy error if for instance the biasing is done using a simple 1% resistor bridge with decoupling capacitor.

Regards

In order to give better visibility on the answered topics, please click on 'Select as Best' on the reply which solved your issue or answered your question. See also 'Best Answers'

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.