2. 嵌入式系统中的ADC:常见ADC类型(SAR、Sigma-Delta、Flash)及其应用场景对比

在嵌入式系统设计中,模数转换器(ADC)是连接模拟世界与数字处理核心的关键桥梁。不同的应用场景对采样率、分辨率、功耗和通道数有着截然不同的要求。本章将深入剖析三种最主流的ADC架构:逐次逼近型(SAR)、Σ-Δ(Sigma-Delta)型和Flash型,并通过结构图、性能对比表和应用场景分析,帮助开发者在实际项目中做出最优选型。

2.1 逐次逼近型ADC(SAR ADC)

SAR ADC是嵌入式微控制器(MCU)中最常见的集成ADC类型。它通过二分查找算法逐位逼近输入电压,在精度、速度和功耗之间取得了良好的平衡。

核心工作原理: 内部DAC从最高有效位(MSB)开始,逐次比较输入电压与内部参考电压,每次比较确定一个数据位,N位转换需要N个时钟周期。
SAR ADC 内部架构与逐次逼近流程 VIN 输入 比较器 (Comparator) SAR控制 (逐次逼近) N位DAC 输出 N位数据 关键特征: • 转换时间 = N × T_clk(N为分辨率位数) • 无流水线延迟 • 功耗与采样率成正比

SAR ADC 典型应用场景

  • 工业传感器采集: 温度、压力、流量等慢变信号,12~16位分辨率即可满足需求。
  • 电机控制电流检测: 需要同步采样和多通道切换,SAR的低延迟特性非常适合。
  • 电池管理系统(BMS): 多节电池电压监测,要求低功耗和中等精度。
  • 便携式医疗设备: 心电(ECG)、血氧等信号,采样率在1kSPS~100kSPS之间。

2.2 Σ-Δ 型ADC(Sigma-Delta ADC)

Σ-Δ ADC采用过采样和噪声整形技术,以较低的速度换取极高的分辨率(16~24位甚至更高)。它广泛应用于高精度测量和音频领域。

设计要点: Σ-Δ ADC的输出是1位高速比特流,需要通过数字滤波器(Sinc滤波器)进行抽取和降采样,才能得到最终的N位数据。这种架构对时钟抖动较为敏感,PCB布局时需要特别注意模拟电源的纯净度。
Σ-Δ ADC 调制器与数字滤波流程 差分放大器 积分器 1位ADC 1位DAC 数字滤波器 (Sinc滤波器) 输出 核心优势: • 过采样 + 噪声整形,将量化噪声推到高频段 • 分辨率可达24位 • 对模拟前端抗混叠滤波器要求低

Σ-Δ ADC 典型应用场景

  • 高精度工业测量: 称重传感器、压力变送器、温度变送器,需要16~24位分辨率。
  • 音频编解码: 音频ADC/DAC几乎全部采用Σ-Δ架构,采样率48kHz~192kHz。
  • 地震监测与振动分析: 超低频率信号,需要极高的动态范围和分辨率。
  • 电能计量芯片: 需要同时测量电压、电流并计算功率,Σ-Δ的多通道同步特性非常匹配。

2.3 Flash型ADC(全并行ADC)

Flash ADC是所有ADC架构中速度最快的类型。它使用2^N-1个比较器并行工作,在一个时钟周期内完成转换,但代价是极高的功耗和面积。

选型警告: Flash ADC的芯片面积和功耗随分辨率呈指数增长。8位Flash ADC需要255个比较器,而10位则需要1023个。在嵌入式MCU中几乎不会集成Flash ADC,它通常以独立芯片形式用于超高速场景。
3位Flash ADC 并行比较架构 参考电压分压网络 比较器1 比较器2 比较器3 比较器4 ... 比较器7 优先编码器 (温度计码→二进制) 3位输出 性能特征: • 转换时间 = 1个时钟周期 • 比较器数量 = 2^N - 1 • 适用于GHz级采样率

Flash ADC 典型应用场景

  • 高速示波器前端: 需要GSPS(每秒千兆采样点)级别的采样率。
  • 雷达与通信接收机: 中频(IF)信号的直接采样,要求极低的延迟。
  • 光通信链路: 高速数据恢复和时钟提取。
  • 粒子物理实验: 需要捕捉纳秒级瞬态信号。

2.4 三种ADC架构综合对比

对比维度 SAR ADC Σ-Δ ADC Flash ADC
分辨率 8~18位 16~24位(最高32位) 6~10位
采样率 100kSPS~10MSPS 10SPS~10MSPS(取决于分辨率) 100MSPS~10GSPS
延迟 N个时钟周期(无流水线) 多个采样周期(数字滤波器引入) 1个时钟周期
功耗 低(与采样率成正比) 中等(数字滤波器功耗占比较大) 极高(随分辨率指数增长)
芯片面积 小 中等(需要数字滤波器) 极大(2^N-1个比较器)
抗混叠要求 高(需要高阶抗混叠滤波器) 低(过采样降低要求) 高
MCU集成度 非常常见(STM32、ESP32等) 部分高端MCU集成 极少集成
典型成本 低 中等 极高

2.5 选型决策流程

在实际项目中选择ADC架构时,可以按照以下决策树进行快速判断:

  1. 确定采样率需求: 如果采样率 > 100MSPS,直接选择Flash ADC;如果采样率 < 10MSPS,进入下一步。
  2. 确定分辨率需求: 如果需要 > 16位分辨率,优先考虑Σ-Δ ADC;如果8~16位即可,进入下一步。
  3. 评估延迟敏感度: 如果对延迟敏感(如电机控制、电源环路),选择SAR ADC;如果延迟不敏感(如温度采集、音频),Σ-Δ ADC更合适。
  4. 考虑系统集成度: 优先选择MCU内部集成的ADC类型,以降低BOM成本和PCB面积。
实战建议: 在嵌入式Linux驱动开发中,90%以上的场景使用SAR ADC(MCU内置)或Σ-Δ ADC(外挂高精度芯片)。Flash ADC通常以独立器件形式存在,通过高速接口(如JESD204B)与FPGA或处理器连接,不在常规Linux ADC驱动框架(IIO子系统)的讨论范围内。

2.6 多通道采集架构示意

在实际嵌入式系统中,多通道ADC采集通常采用以下两种拓扑结构:

  • 单ADC + 模拟多路复用器(MUX): 成本低,但通道间存在切换延迟,不适合高速同步采样。
  • 多ADC并行采样: 每个通道独立ADC,可实现真正的同时采样,但成本和功耗较高。
多通道采集拓扑:单ADC + MUX vs 多ADC并行 方案A:单ADC + 模拟MUX CH0 CH1 CH2 MUX ADC 方案B:多ADC并行采样 CH0 CH1 CH2 ADC#0 ADC#1 ADC#2 数据总线