Electronic – Use Cases for an External ADC

adcanalogcomponentsmicrocontroller

Most Microcontrollers (uC) have an Analog to Digital Converter (ADC) as part of their peripheral set, which is phenomenal as this integrates two components into a single package. These ADCs are usually register mapped as well, which allows the data to be extracted quickly and easily.

In spite of this tight integration, you can still purchase external ADCs. I can see several cases for these:

  • The ADC needs to be isolated from the uC.
  • The bit depth of the ADC samples needs to be higher than the uC's ADC.
  • The voltage to sense is far from the microcontroller and long analog lines are not acceptable.
  • The voltage to sense is in a harsh environment not suited for the uC.
  • The external ADC samples much faster than the uC's ADC.
  • The reference voltage for some sample is different than for others, requiring multiple Vref pins (and thus multiple external ADCs).
  • The current uC doesn't have enough ADC channels and the cost of putting a new uC is prohibitive.
  • The external ADC consume less power than the uC's ADC (I would need an example to believe it).
  • The ADC channels must be sampled simultaneously (rare scenario).
  • The cost of programming firmware at manufacturing time outweighs the cost of the more expensive ADC part (unlikely).
  • The PCB has space constraint and no uC can fit (unlikely).

This is all well and good, but what strikes me as odd is that external ADCs are usually quite a bit pricier than their uC counterparts, yet provide equivalent functionality. For instance, you can purchase a EFM32Z part with a 12bit 1Msps ADC (with internal reference) for about $1, or you could purchase an equivalent 12bit 200ksps ADC for about $3.50 (same speeds(ish), relatively same power numbers, etc) and perform the same task (extracting ADC data).

The question then becomes: are there compelling reasons an engineer would favor an external ADC over a uC's ADC when the latter can perform the same functionality?

Best Answer

If the internal ADC of your microcontroller performs the job you need it to then no, there is no need for external ADCs. But then, that's not who they're aimed at.

You have covered most of the reasons for an external ADC, but there are a few more, and in my opinion, they are some of the most important reasons:

  1. You need a different sampling technology - for instance the internal ADC is SAR, but you need to do Delta Sigma.
  2. The internal ADC, because it is internal, and shares the same die as the main MCU, will never be 100% free from the noise of the rest of the MCU, so an external one would be possible to make ultra low-noise
  3. Your microcontroller / SoC / FPGA of choice has no ADC. The latter two are most likely - most common SoCs and FPGAs don't have any ADC at all. Yes, you can get ones that do, but many don't. So you add an external one.

For point 3, take the Raspberry Pi for example. That has no ADC available at all, you have to add an external one to do any analog work at all.