2. ADC采集原理:逐次逼近型(SAR)与Σ-Δ型ADC的采样、量化、编码过程
ADC,说白了就是把模拟电压翻译成数字码。但翻译的方式不同,结果天差地别。我这些年调试过的ADC,十有八九的问题都出在“没搞懂它内部怎么干活”。
这一节,咱们就掰开揉碎,看看两种最主流的ADC——逐次逼近型(SAR)和Σ-Δ型,它们到底是怎么把电压变成二进制数的。
2.1 ADC的三大基本步骤:采样、量化、编码
不管什么架构,ADC都得走这三步。你想想看,连续变化的电压,要变成离散的数字,中间肯定得有个“切一刀”的过程。
- 采样:在某个时刻,把模拟电压“拍个快照”并保持住。这个动作由采样保持电路完成。
- 量化:把保持住的电压,跟一系列基准电压比较,看它落在哪个区间。这一步会引入量化误差。
- 编码:把量化后的区间编号,翻译成二进制码输出。
核心指标:分辨率与量化误差
一个N位的ADC,能把满量程电压分成2^N份。比如12位ADC,满量程3.3V,那么1个LSB(最低有效位)就是3.3V / 4096 ≈ 0.8mV。量化误差理论上不超过±0.5 LSB。我见过有人拿12位ADC去测0.1mV的变化,那纯属为难硬件。
2.2 逐次逼近型(SAR)ADC:二分法查找
SAR ADC的工作原理,特别像咱们小时候玩的“猜数字”游戏。裁判心里想一个数,你每次报一个数,裁判告诉你“大了”还是“小了”。
SAR ADC内部有个核心部件:比较器和数模转换器(DAC)。它从最高位开始猜:
- 先把最高位置1,DAC输出对应的电压。
- 比较器比较输入电压和DAC电压。如果输入大,保留这一位;如果输入小,清零这一位。
- 然后移到下一位,重复这个过程。
- 直到所有位都确定,转换完成。
举个例子,一个4位SAR ADC,输入电压是满量程的60%。它的猜数过程是这样的:
| 步骤 | 猜测值(二进制) | DAC输出电压 | 比较结果 | 保留/清零 |
|---|---|---|---|---|
| 1 | 1000 | 50% | 输入 > DAC | 保留 |
| 2 | 1100 | 75% | 输入 < DAC | 清零 |
| 3 | 1010 | 62.5% | 输入 < DAC | 清零 |
| 4 | 1001 | 56.25% | 输入 > DAC | 保留 |
最终输出:1001。你看,只用了4个时钟周期就搞定了。对于N位SAR,只需要N个周期。
我的经验:SAR ADC最大的优点是“快”,而且功耗低。我在做高速数据采集卡时,用的就是20MHz采样率的16位SAR。但它有个致命弱点——对输入信号噪声敏感。因为它在每个比较周期只判断一次,如果采样时刻正好抓到毛刺,结果就错了。所以前端驱动电路必须稳,我吃过这个亏。
2.3 Σ-Δ型ADC:过采样与噪声整形
Σ-Δ型ADC的思路完全不同。它不追求一次猜准,而是用“粗量化+高速反馈”来换取高精度。
它的核心是一个积分器、一个1位ADC(比较器)和一个1位DAC组成的反馈环路。工作过程是这样的:
- 输入信号与反馈信号相减,得到误差信号。
- 误差信号被积分器累加。
- 积分器输出被1位ADC量化,输出一串0和1的比特流。
- 这个比特流同时反馈给1位DAC,产生反馈电压。
最终输出的比特流中,“1”的密度就代表了输入电压的大小。然后通过数字滤波器,把这串高速比特流“翻译”成高分辨率的数字码。
关键概念:过采样率(OSR)
Σ-Δ ADC的采样速度远高于信号带宽。比如信号带宽20kHz,ADC可能工作在5MHz,OSR = 5MHz / (2 × 20kHz) = 125。OSR越高,噪声整形效果越好,有效分辨率越高。我做过一个24位的Σ-Δ ADC项目,OSR设到256,出来的数据干净得像假的一样。
2.4 SAR与Σ-Δ的对比:选型指南
很多工程师问我:“到底该用SAR还是Σ-Δ?”我的回答是:看你的应用场景。
| 对比项 | SAR ADC | Σ-Δ ADC |
|---|---|---|
| 采样速率 | 高(可达数GSPS) | 低(通常 < 10MSPS) |
| 分辨率 | 中(12~18位) | 高(16~32位) |
| 功耗 | 低,与速率正比 | 较高,与OSR正比 |
| 延迟 | 低(N个周期) | 高(需要数字滤波器建立时间) |
| 抗噪能力 | 弱,需前端滤波 | 强,自带噪声整形 |
| 典型应用 | 示波器、高速数据采集 | 音频、精密测量、传感器 |
避坑指南:我曾经在一个多通道同步采集项目中,选了Σ-Δ ADC。结果发现每个通道的延迟不一样,导致相位失配。后来换成SAR,虽然分辨率降了2位,但同步性完美。记住:Σ-Δ ADC不适合需要严格同步的多通道系统。
2.5 采样定理与混叠效应
不管你用哪种ADC,奈奎斯特采样定理是绕不开的:采样频率必须大于信号最高频率的两倍。否则,高频信号会“伪装”成低频信号混进来,这就是混叠。
我调试过一个振动监测系统,采样率设成10kHz,信号里有个8kHz的振动。结果频谱图上在2kHz位置出现了一个尖峰。一开始我以为是机械共振,查了半天,最后发现是混叠。加上抗混叠滤波器后,问题消失。
实用建议:在ADC前端,一定要加抗混叠滤波器。对于SAR ADC,用二阶有源低通滤波器就够了。对于Σ-Δ ADC,因为OSR高,对滤波器要求可以放宽,但也不能省。
2.6 本章知识体系
下面这张图,把ADC的核心流程和两种架构的对比画清楚了。你可以把它当作选型时的快速参考。