cancel
Showing results for 
Search instead for 
Did you mean: 

ADC resolution can not reach to 16bits. ıs there any analogue reference design?

ayaki
Associate II

We are using ST32H743BI in an our project because of it having 3 of 16bits ADCs. But we can not reach resolution that project needed. I checked a simple project "STM32Cube_FW_H7_V1.3.0\Projects\STM32H743ZI-Nucleo\Examples\ADC\ADC_OverSampler" on NUCLEO demoboard. It gives good results for over-sampling value 1024. But we need 250 Ksmps for each channels so the best result I reached is;

for parameters;

AdcHandle.Init.Oversampling.Ratio         = 3;

AdcHandle.Init.Oversampling.RightBitShift     = ADC_RIGHTBITSHIFT_2;

sConfig.SamplingTime = ADC_SAMPLETIME_16CYCLES_5;

results;

Average value = 11

Minimum value = 0

Maximum value = 188

it means we can reach maximum 13bits resolution. I want to know do we have to accept these values normal or is there any better analogue design methods ? May be ST published some analogue reference design papers for ST32 family microcontrollers.

1 ACCEPTED SOLUTION

Accepted Solutions
Bob S
Principal

Are you familiar with the term ENOB (effective number of bits)? Look in the ST32H743BI data sheet: ENOB is 12 bits max for single-ended measurements, and 13.5 bits max for differential measurements. When working with ADCs you need to know more than just the resolution of the converter. System noise, internal noise, distortion all play a role and work against the ideal resolution. Those values in the data sheet are (I presume) measured in a test fixture with an "as ideal as possible" external drive circuitry, grounding scheme, etc.

View solution in original post

8 REPLIES 8
Uwe Bonnes
Principal III

Testing ADC with VIN near ground is not good idea. There is ADC offset and clipping. You need excellent grounf, Vref and a strong driver. Perhaps have a look at the ADC input of the STM32H7 eval boards fir some "reference" design.

The process used for high speed micro-controllers isn't super conducive to high quality/performance ADC, consider using external ADC or CODEC which meet your actual requirements, and interface those.

>>May be ST published some analogue reference design papers for ST32 family microcontrollers.

They might have FAE's too, try having the one responsible for your account provide some design assistance/review.

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

I got same results for high and mid values. There is no change. For other microcontroller brands we used like NXP and Microchip, we could always find analogue reference designs and PCB drawing suggestions.

There is 84 analogue channels over multiplexers to read and minimum 3 ADCs needed so using external ADCs will be very expensive solution. If ST32H743BI can not reach true 16bits resolution, why they declared as? does this fake advertising?

flyer31
Senior

Can you get "real" 16bit ADC resolution for Microchip or NXP controllers, if you use their reference designs?

13bit already sounds pretty nice for such an MCU device I think.

Do you get the 13bits for "single measurement point stability", or after arithmetic rounding over many measurements?

Bob S
Principal

Are you familiar with the term ENOB (effective number of bits)? Look in the ST32H743BI data sheet: ENOB is 12 bits max for single-ended measurements, and 13.5 bits max for differential measurements. When working with ADCs you need to know more than just the resolution of the converter. System noise, internal noise, distortion all play a role and work against the ideal resolution. Those values in the data sheet are (I presume) measured in a test fixture with an "as ideal as possible" external drive circuitry, grounding scheme, etc.

ayaki
Associate II

Thank you very much for your information. I did not read ENOB values. The given values for 2MSPS conversations but we are using 500 KSPS so the values must be better. However, we should not expect 16 bits resolutions.

They don't have microcontroller that has 16bits ADCs