第二章 工业MCU内置ADC架构:逐次逼近型(SAR)ADC原理、Σ-Δ型ADC原理、流水线型ADC原理、不同架构的优缺点对比
各位工程师朋友,咱们接着聊ADC。上一章我讲了ADC的基本参数,这一章咱们深入看看工业MCU里最常见的三种ADC架构。说实话,我刚入行那会儿,也被这些架构搞得晕头转向。后来在项目里一个个踩坑,才慢慢摸清了它们的脾气。
2.1 逐次逼近型(SAR)ADC原理
SAR ADC,全称Successive Approximation Register ADC。说白了,它就像个“猜数字”游戏。你心里想一个数,我每次猜一半,你告诉我高了还是低了,直到猜中为止。
具体怎么工作的呢?我画个简化的流程给你看:
- 采样保持:先把模拟电压值“冻结”在采样电容上
- 逐次比较:从最高位开始,DAC生成参考电压的一半,比较器判断输入电压比它高还是低
- 位判决:如果输入高,这一位保留为1;如果低,这一位置0
- 重复:继续下一位,直到所有位都确定
举个例子,一个10位的SAR ADC,需要10个时钟周期完成一次转换。每个周期确定一位。嗯,这里要注意,这个“逐次”的过程是串行的,所以转换时间跟位数成正比。
核心特点:SAR ADC是“一次比较,一位结果”。它的速度中等,精度中等,但功耗极低。
我在项目中遇到过一件事。有个温度采集系统,要求12位精度,采样率100kSPS。我一开始用了Σ-Δ型,结果功耗超标。后来换成SAR,功耗直接降了60%。这就是选型的重要性。
2.2 Σ-Δ型ADC原理
Σ-Δ型ADC,名字看着吓人,其实原理挺有意思。它不直接测量电压,而是“过采样+噪声整形+数字滤波”。
你想想看,SAR ADC是一次性猜出结果,而Σ-Δ是反复“猜”,然后把多次结果平均。它用很高的采样率(远高于奈奎斯特频率)对输入信号采样,然后用一个积分器(Σ)和比较器(Δ)组成的反馈环路,把量化噪声推到高频段,最后用数字低通滤波器把高频噪声滤掉。
我习惯把Σ-Δ ADC比作“慢工出细活”的工匠。它转换速度慢,但精度极高。工业上常见的24位Σ-Δ ADC,分辨率能做到微伏级别。
个人经验:Σ-Δ ADC特别适合低频信号测量,比如称重传感器、温度传感器、压力变送器。我做过一个电子秤项目,用的就是24位Σ-Δ ADC,分辨率达到0.1g,效果非常好。
不过,Σ-Δ ADC有个“坑”——它需要建立时间。每次切换通道后,数字滤波器需要一段时间才能输出稳定值。我曾经因为这个吃过亏,切换通道后直接读数,结果数据全是错的。后来加了100ms的延时,问题才解决。
2.3 流水线型ADC原理
流水线型ADC,名字很形象。它把转换过程分成多个“流水级”,每个级完成一部分转换。就像工厂流水线,每个工位只做一道工序,产品依次通过,最终完成全部加工。
具体结构是这样的:
- 每一级包含:采样保持电路、低分辨率ADC(比如3位)、DAC、减法器、放大器
- 第一级:粗量化,得到高几位结果,然后减去量化值,放大剩余误差
- 第二级:对放大后的误差继续量化,得到中间几位
- 以此类推,最后一级得到最低几位
- 所有级的结果通过数字校准电路对齐,输出最终转换值
流水线型ADC最大的优势是速度极快。每一级只需要几个时钟周期,而且各级可以并行工作。比如一个10级流水线,每级处理2位,整体转换时间可能只有几个时钟周期。
注意:流水线型ADC的功耗较高,而且对时钟抖动敏感。我在一个高速数据采集项目中用过它,采样率能做到100MSPS以上,但电源噪声必须控制在10mV以内,否则性能会严重下降。
2.4 三种架构的优缺点对比
好了,三种架构的原理都讲完了。咱们来做个对比,方便你选型时参考。
| 参数 | SAR ADC | Σ-Δ ADC | 流水线型ADC |
|---|---|---|---|
| 分辨率 | 8~16位 | 16~24位(甚至更高) | 8~16位 |
| 采样率 | 100kSPS~10MSPS | 10SPS~1MSPS | 10MSPS~1GSPS |
| 功耗 | 极低(μW级) | 中等(mW级) | 较高(几十mW~W级) |
| 延迟 | 无延迟(逐次比较) | 有延迟(数字滤波) | 有延迟(流水线级数) |
| 噪声性能 | 中等 | 极好(噪声整形) | 中等 |
| 面积 | 小 | 中等 | 大 |
| 典型应用 | 电池供电设备、数据采集 | 精密测量、音频、传感器 | 通信、雷达、高速采集 |
我个人选型的习惯是这样的:
- 电池供电、低功耗场景:首选SAR。比如手持式万用表、便携式数据记录仪。
- 高精度、低频测量:首选Σ-Δ。比如电子秤、温度变送器、应变片测量。
- 高速、中精度场景:选流水线型。比如示波器前端、软件无线电。
避坑指南:我曾经在一个项目中,为了追求高精度选了Σ-Δ ADC,但没注意它的建立时间。结果系统启动后前几秒的数据全是错的,差点把客户惹毛了。后来在软件里加了初始化延时,才解决问题。所以,选型时一定要把建立时间、延迟这些“隐性参数”考虑进去。
另外,现在很多工业MCU内部集成了SAR ADC,比如STM32、GD32、NXP的LPC系列。这些内置ADC虽然方便,但性能有限。如果你需要24位精度或者1MSPS以上的采样率,还是得外挂独立的ADC芯片。
好了,这一章就讲到这里。下一章咱们聊聊ADC的前端电路——信号调理。这部分在实际项目中特别容易出问题,我会把踩过的坑都告诉你。