[time-nuts] uC ADC resolution (was: Poor man's oven)

Attila Kinali attila at kinali.ch
Tue Jun 6 17:17:12 EDT 2017


On Tue, 6 Jun 2017 16:37:27 -0400
Bob kb8tq <kb8tq at n1k.org> wrote:

> Often when you dig into the details of MCU ADC’s they have a little note “optimized for audio” or 
> “not recommended for control loops”. It can be a bit of a head scratcher to work out what they are
> getting at. The big issues in this case seem to be DC leakage and 1/F noise. Yes, they do sort of go hand in hand :)
> You need to be willing to check out the ENOB at DC in order to use them effectively in a simple 
> OCXO setup. That or be willing to flip the bridge ends on demand and try to cancel out the issues. 
> Unfortunately that adds both complexity and a string of other fun and games.

uC ADCs are only good for low resolution, slow signals. For anything else
you need an external ADC. Even if your uC datasheet claims that you have
a 12bit ADC, the reality is quite different. For one, these ADCs are not
well specified, the surounding digital logic has a profound effect that
changes dramatically depending on what other periphery you use or not.

You can always just subtract two bits of the ADCs resolution and you
wouldn't be wrong. Losing 3 bits to internal noise isn't unehard of
either. Heck, the STM32F4xx have so much internal noise that the ENOB
of their ADC is below 6bit... so low that they even had to write an
appnote on how to do averaging to get back to the 12 bits the ADC is
spec'ed for. (but don't mention that to an ST sales person, they will
hate your guts afterwards). 

Rule of thumb: If you need your ADC DC stable, more than 8bit resolution,
or more than 10-1000 samples per second: use an external ADC.

			Attila Kinali

-- 
You know, the very powerful and the very stupid have one thing in common.
They don't alters their views to fit the facts, they alter the facts to
fit the views, which can be uncomfortable if you happen to be one of the
facts that needs altering.  -- The Doctor


More information about the time-nuts mailing list