好问题!MCU 内置的 ADC 与专用 ADC 芯片哪个好?

 好问题!MCU 内置的 ADC 与专用 ADC 芯片哪个好?

在以单片机、处理器或数据采集系统处理现实世界信息时,现实中的物理量大多是连续变化的模拟量,例如温度、压力、声音、电压、电流、位移、心电信号等;而计算机系统只能直接处理离散的数字量。因此,必须使用一种电路把模拟信号转换为数字信号,这种电路就是 A-D 转换器,也常称为 ADC

A-D 中的 A 表示 Analog,即模拟;D 表示 Digital,即数字;Converter 表示转换器。从系统设计角度看,ADC 大致可以分为两类:

第一类是 A-D 转换器专用 IC。这类器件以模拟性能为核心目标,通常用于对精度、噪声、线性度、采样速度或通道特性有明确要求的场合。

第二类是 单片机内置 A-D 转换器。这类 ADC 是 MCU 的片上外设之一,优势是成本低、体积小、系统集成度高,适合精度和速度要求不太严苛的应用。

理解这两类 ADC 的差别,是进行嵌入式模拟采集系统设计的基础。

A-D 转换器专用 IC 的现状与发展趋势

采样率、分辨率与 ADC 架构的关系

评价 ADC 时,最基础的两个指标是 采样率分辨率

采样率通常以 sps 表示,即 samples per second,每秒采样次数。采样率决定了系统能够处理的信号频率上限。按照采样定理,采样率至少要达到信号最高频率的 2 倍;但在实际工程中,为了给模拟滤波器、相位裕量和抗混叠设计留出空间,通常希望采样率达到信号最高频率的 2.5 倍以上,甚至更高。

分辨率表示 ADC 能把输入电压范围划分成多少个离散等级。N 位 ADC 的理想量化级数为:

[ 2^N ]

因此,分辨率越高,理论上能分辨的电压变化越细。例如 8 位 ADC 有 256 个码,10 位 ADC 有 1024 个码,12 位 ADC 有 4096 个码。

不过,必须特别注意的是,高分辨率不等于高精度。分辨率只是说明输出码有多细,而精度还受到积分非线性、微分非线性、偏移误差、满量程误差、噪声、基准源稳定度、输入驱动能力、PCB 布局等因素影响。因此在选择高精度 ADC 时,不能只看位数,还必须查看 INL、DNL、offset error、gain error、SNR、THD 等参数。

从 ADC 的技术分布看,采样率和分辨率通常存在权衡关系: 高分辨率 ADC 多数采样率较低;高速 ADC 多数分辨率较低。不同转换架构在这一平面上分布不同。

常见 ADC 架构主要包括:

ADC 架构主要优势主要限制典型应用方向
ΔΣ 型,即 Delta-Sigma 型分辨率高,SNR 高,可实现 20 位以上分辨率;线性误差较容易校正;原理上不易出现 missing code;通常可简化抗混叠滤波器采样率较低;响应慢;不适合高速切换多路输入;高速型号功耗会增加精密测量、传感器、称重、音频、低速高精度采集
逐次毕竟型,即 SAR 型功耗低;采样率可在上限以下灵活设定;容易与多路复用器组合扩展通道数;通用性强18 位以上较难获得高精度;DNL 可能恶化;严重时可能出现 missing code通用数据采集、传感器、MCU 外接 ADC、低功耗系统
Flash 型速度最快;基本上不需要采样保持电路分辨率难以提高;高分辨率时代价高、功耗大;输入电容大,对前级驱动要求高高速示波器、通信、雷达、超高速数字化
流水线型(Pipeline 型)能在较高速度下实现比 Flash 型更高的分辨率从开始转换到输出数据之间存在较长延迟,即 latency中高速数据采集、视频、通信 IF 采样、仪器仪表

高分辨率 ADC:SAR 与 ΔΣ 是主流

在低速、高精度 ADC 领域,主流架构是 SAR 型ΔΣ 型。它们大致覆盖到 10 Msps 以内的采样率范围。

SAR 型 ADC 的特点是功耗较低、控制简单、采样率灵活,因此非常适合通用用途。市场上可以获得 8 位到 24 位左右的 SAR ADC,其中 10 位、12 位、16 位产品非常常见。SAR ADC 往往适合多通道扫描式采样,比如传感器阵列、工业监测、便携设备等。

ΔΣ 型 ADC 的优势在于高分辨率。常见产品可以达到 12 位到 24 位,甚至还有用于地震仪等特殊领域的 32 位产品。ΔΣ 型 ADC 通过过采样和数字滤波来提高有效分辨率。它并不是只以目标输出采样率工作,而是在内部以目标采样率数倍到数百倍的频率进行调制和运算,再经过数字滤波、抽取后输出数据。正因为内部实际运行速度较高,所以与 SAR ADC 相比,ΔΣ ADC 要进一步降低功耗并不容易。

从发展趋势看,SAR ADC 未来会继续朝着更高速、更高分辨率、低功耗方向发展;而 ΔΣ ADC 已经在分辨率上具有优势,未来的关键在于提高速度和降低功耗,尤其是低功耗化会成为重要竞争点。

高速 ADC:Flash 型与流水线型

在高速 ADC 领域,目前主流架构是 Flash 型 和流水线型。

Flash 型 ADC 最适合高速化。其基本思想是使用大量比较器同时判断输入电压所在的量化区间,因此转换速度极快。为了进一步提高采样率,还可以使用 时间交织 技术,即在同一芯片中放入两个或更多 ADC,让它们以错开的时刻轮流采样。通过这种方式,可以实现数 Gsps 的采样率。对于超高速采集领域,比如示波器上的应用,时间交织采样甚至使采样率超过 40 Gsps。

Flash 型 ADC 的问题是分辨率难以提高。因为每增加 1 位分辨率,比较器数量会大幅增加,电路面积、输入电容、功耗和成本都会迅速上升。因此 Flash ADC 通常用于 8 位左右的高速场合,市场上也有 12 位级产品,但代价较高。

流水线型 ADC 在速度上不如 Flash 型极致,但能在高速与较高分辨率之间取得平衡。

工程上评价 ADC 难度时,不能只看分辨率,也不能只看频率,而应同时考虑“分辨率 × 频率”的综合难度。比如 8 位、1 GHz 级示波器通道已经非常困难;而 14 位、100 MHz 级采集系统同样困难。一个方向追求时间轴速度,另一个方向追求电压轴精细程度,都会给模拟前端、时钟、PCB、基准源和电源完整性带来很大挑战。

未来无论是 Flash 型还是流水线型 ADC,除了继续提高速度和分辨率之外,低功耗会越来越重要。过去在高性能仪器中可能容忍较大功耗,但现代系统更重视能效、散热和便携性。降低电源电压是降低功耗的重要手段之一。

分辨率与精度的关系

分辨率表示 ADC 可以把输入电压范围划分得多细。例如输入范围为 0~10 V,如果用 10 个显示等级表示,那么每个等级约对应 1 V;如果用 4096 个等级表示,每个等级约对应 2.44 mV。分辨率越高,电压刻度越细。

但分辨率只是“刻度有多细”,并不保证“刻度有多准”。一个 ADC 可以有很高分辨率,但如果其实际转换曲线明显偏离理想直线,精度仍然很差。相反,也可能存在分辨率不高但精度较好的 ADC。

工程上常见误区是把“20 位分辨率”误解为“20 位精度”。例如音频 ADC 可能拥有很高分辨率,但它面向交流音频信号,通常会进行 DC 截止,直流精度不一定好。因此,如果用于精密直流测量,就不能只看音频 ADC 的位数。

精度通常用实际输入输出特性相对于理想直线的偏差来表示。误差来源包括偏移电压、寄生电容、残余阻抗、参考电压误差、增益误差、温度漂移、非线性等。

因此,选型时应坚持一个原则:

分辨率 ≠ 精度。

想要高精度时,必须同时确认分辨率、INL、DNL、offset error、gain/full-scale error、噪声和参考源条件。

非线性误差、INL 与 DNL

ADC 的非线性误差描述的是实际转换特性相对于理想线性关系的偏离。通常可以在实际特性曲线附近画一条参考直线,然后测量实际曲线与这条直线之间的偏差。

专用 ADC 中,非线性误差通常进一步分为两类:

积分非线性误差 INL INL 表示整个转换曲线相对于理想或拟合直线的偏差。它类似于放大器的非线性失真,通常难以通过简单偏移或增益校准完全消除。INL 大时,即使 ADC 位数很高,转换结果也不能代表真实输入。

微分非线性误差 DNL DNL 表示相邻两个数字码之间实际电压宽度与理想 1 LSB 宽度之间的误差。DNL 过差时,可能出现 missing code,即某些数字码永远不会输出。更严重时,当模拟输入增加,输出码反而局部下降,破坏单调性。

在反馈控制系统中,如果 ADC 输出不单调,可能会导致本应为负反馈的局部区域变成正反馈,造成控制异常。因此在控制、电源调节、伺服和闭环测量系统中,DNL 与单调性非常重要。

单片机内置 A-D 转换器的性能

MCU 内置 ADC 的基本定位

过去,A-D 转换器大多是独立专用 IC。后来,随着混合信号工艺发展,越来越多单片机把 ADC 集成到芯片内部,形成所谓单片单片机的数据采集能力。

这种集成方式在体积、成本和系统简化方面非常有利。但从模拟设计角度看,ADC 是高度依赖精密模拟技术的电路,而 MCU 内部存在大量数字逻辑,会产生开关噪声。过去在 PCB 设计中,模拟电路和数字电路通常要尽量隔离,而 MCU 内置 ADC 则把二者放在同一芯片上。因此,MCU 内置 ADC 的性能是否能满足要求,需要认真评估。

多数 MCU 内置 ADC 的分辨率集中在 8~12 位。对很多消费电子、简单传感器、按键电压检测、温度监测、电池电压监控等应用,这个等级已经足够。而且 MCU 的成本优势明显,尤其适合大批量生产。

普通 MCU 内置 ADC 的有效精度通常比标称位数低 1~2 位。

原因在于提高 ADC 性能会增加芯片面积、模拟隔离难度、测试成本和工艺要求,这会削弱单片 MCU 低成本的优势。因此 MCU 内置 ADC 通常追求“够用”,而不是追求专用 ADC 级性能。

如果 ADC 实际有效性能约为 8 位,则它仍可以满足许多应用。例如 8 位有 256 个码,理论 1 LSB 约为 0.4%,在温度显示到 1 ℃、电池电压粗略监测、简单传感器采集等场合可能足够。

0.1% 精度测量需要多少位 ADC?

假设希望用 ADC 进行 0.1% 精度的电压测量,首先要看量化误差是否允许。

不同分辨率下的 1 LSB 与量化误差如下:

分辨率1 LSB量化误差
8 位约 0.4%±0.2%
10 位约 0.1%±0.05%
12 位约 0.025%±0.0125%

8 位 ADC 不可能实现 0.1% 测量。 因为仅量化误差就已经达到 ±0.2%,超过目标精度。

10 位 ADC 理论上勉强可能,但余量极小。 10 位 ADC 的量化误差为 ±0.05%。如果希望总误差不超过 0.1%,那么非线性误差、偏移误差、满量程误差、参考源误差等总和必须控制在剩余的 ±0.05% 以内,也就是约 ±0.5 LSB 以内。对于普通 MCU 内置 10 位 ADC 来说,这通常很难实现。

以 ADC108S022 专用 ADC IC 为例,ADC108S022 是一款 10 位、8 通道 SAR ADC,采样率 50~200 ksps。其主要规格包括:

参数数值
分辨率10 位
采样频率50~200 ksps
模拟输入电容track 模式 33 pF,hold 模式 3 pF
非线性误差±0.3 LSB max
偏移误差±0.7 LSB max
满量程误差±0.4 LSB max
量化误差±0.5 LSB max
SNR61.4 dB min
THD-73.4 dB max
通道串扰-79.8 dB typ

从非线性误差 ±0.3 LSB max 来看,它已经具备接近 12 位级别的线性度。如果偏移误差和满量程误差能够通过校准消除,那么剩余主要误差可控制在 ±0.5 LSB 以内,理论上能够接近 0.1% 测量要求。

但这种设计余量很小。为了充分发挥 10 位专用 ADC 的性能,外围电阻、基准电压源、模拟前端、PCB 布局和温漂控制都需要高质量设计,反而可能增加系统成本。

因此,工程上更合理的做法是:

若目标是 0.1% 精度测量,建议选择 12 位 ADC。

12 位 ADC 的量化误差只有 ±0.0125%,给非线性、增益、偏移、参考源和模拟前端留下了更大误差预算。虽然 ADC 本身可能略贵,但外围电路不必极限设计,系统总成本和可靠性反而更好。

MCU 内置 ADC 的优势

MCU 内置 ADC 的最大优势是系统简单。设计者不需要额外增加 ADC 芯片,也不需要设计复杂的数字通信接口,只需把模拟信号接到 MCU 引脚,配置寄存器即可开始采样。

这会带来多个好处,包括成本低、PCB 面积小、功耗较低、软件控制方便、通道切换灵活,并且适合与定时器、DMA、中断和控制算法紧密配合。例如电池电压检测、旋钮位置读取、温度传感器采样、简单电流检测、按键电阻梯形网络识别等应用,通常都可以使用内置 ADC 完成。

内置 ADC 的典型限制

内置 ADC 虽然方便,但并不是高精度测量的万能方案。它通常与数字逻辑、CPU、存储器、时钟、通信外设共享同一颗芯片。CPU 开关噪声、数字 IO 翻转、电源纹波、内部基准误差和片上布线耦合,都可能影响 ADC 性能。

常见限制包括:

第一,有效分辨率低于标称位数。即使 MCU 手册写着 12 位 ADC,实际系统可能只能稳定获得 10 位甚至更低的有效位数。

第二,参考电压质量有限。ADC 的输出码值本质上是输入电压与参考电压的比值。如果参考电压波动,转换结果也会随之波动。使用 MCU 电源作为参考时,电源噪声会直接变成测量误差。

第三,输入阻抗和采样时间受限。SAR ADC 输入端的采样电容需要在采样窗口内充电完成。若外部信号源阻抗太大或前端滤波电阻过大,就会引入采样误差。

第四,多通道切换存在残留影响。当 ADC 多路复用器从一个通道切换到另一个通道时,前一通道的电荷可能影响后一通道,尤其在两个通道电压差较大、源阻抗较高时更明显。

第五,模拟与数字地线、电源、布线难以完全隔离。MCU 本身是混合信号器件,其内部数字噪声不可完全避免。

适合使用内置 ADC 的场景

当应用对精度和噪声要求不高,或者信号本身变化较慢且幅度较大时,内置 ADC 通常足够。例如:

电池电量监测中,电压分辨率要求可能只有几十毫伏;温度传感器监测中,系统允许通过软件平均提高稳定性;电机控制中,电流采样更关注控制环路实时性而不是绝对计量精度;人机接口中,电位器或电阻按键只需要区分不同状态。

在这些场景中,合理设置采样时间、使用简单 RC 低通滤波、采用软件平均、降低数字噪声、选择合适参考电压,就可以获得足够可靠的结果。

如何在 MCU 内置 ADC 与专用 ADC IC 之间取舍

ADC 选型的核心不是“位数越高越好”,而是要根据系统需求综合判断。

如果应用只需要粗略测量,例如电池电压、温度趋势、按键电阻分压、低成本传感器采集,那么 MCU 内置 ADC 通常已经足够。它的优势是低成本、小体积、软件控制方便、系统集成度高。

如果应用需要 0.1% 级精度、较高线性度、低噪声、高 SNR、多通道同步、高速采样、差动输入或明确的 AC 性能指标,则应优先考虑专用 ADC IC。

一般工程经验可以归纳为:

  • 8 位 ADC 适合 1% 量级的粗略测量;

  • 10 位 ADC 可用于一般传感器采集,但要实现 0.1% 精度非常吃紧;

  • 12 位 ADC 是 0.1% 级测量更合理的起点;

  • 16 位以上 ADC 更适合精密仪器、工业测量和低频高精度传感器;

  • ΔΣ ADC 适合低速高精度;

  • SAR ADC 适合通用、中低功耗、多通道应用;

  • 流水线型 ADC 适合中高速高分辨率应用;

  • Flash ADC 适合极高速低至中等分辨率应用。

最终,ADC 的好坏不能只由分辨率决定。真正决定系统性能的是 ADC 架构、采样率、分辨率、INL、DNL、噪声、基准源、模拟前端、滤波器、电源、PCB 布局、校准方法和软件处理的整体配合。

在嵌入式模拟采集系统中,正确的问题不是“这个 ADC 有多少位”,而是:

在我的信号带宽、误差预算、功耗、成本和体积约束下,它能否稳定地给出可信数据。

更多有关于 ADC 的参考资料和教程,请在吴川斌的博客网站内搜索关键字:ADC

或者访问这条搜索链接 ;

https://www.mr-wu.cn/?s=ADC

 

❤️ 如果这篇文章对您有帮助,欢迎打赏支持

微信打赏二维码

扫描上方二维码,用微信打赏

吴川斌

Leave a Reply