ADC介绍
ADC,其全称是Analog-to-Digital Converter,即模/数转换器,是一种将模拟信号转换为数字信号的电子原件。那么ADC究竟有什么作用呢?
ADC转换的主要流程
ADC将模拟信号转换为数字量,一般都需要经过三个步骤:采样、量化和编码。
采样
首先要对模拟信号进行采样,采样的作用就是将时间上连续的模拟信号离散化。简单来说就是以固定的时间间隔采集连续信号,这样就可以得到一个在时间上离散的信号,而这个固定的时间间隔被称为采样周期,用T表示,那么采样频率Fs = 1 / T,单位是Hz,公式中的分母1表示1s,那么其含义就是1s有几个时间间隔,也就等价于1s时间可以采集多少个点。
采样一定会造成连续信号的损失,采样的频率越高,信号的损失越小。那么什么样的采样率才是合适的呢?如果一个系统以超过信号最高频率至少两倍的速率对模拟信号进行均匀采样,那么原始信号就能从采样产生的离散值中完全恢复(奈奎斯特采样定理Fs > 2fmax)。
经过采样离散化后的信号,还不是数字信号,因为这样的信号在幅值上还是连续的,可以称其为抽样信号。对应大部分ADC采集系统,采样频率都是比较高的,采集到的模拟信号的精度很高,而且,模拟信号其取值是无限的,如果能够用数字信号来表示这样精度的模拟信号,那么这两种信号之间就没有什么差别了。为了方便信号处理,就需要进行下一步的数字化步骤,量化。
量化
量化的作用其实就是将采样出来的模拟信号值进行分级,然后每一个级别对应一个数字值。
量化的两种方式:四舍五入和只舍不入
量化方式一:只舍不入法,量化中不足量化单位部分舍弃掉。如,数值在0 ~ 0.625之间的电压都被量化为0V,0.625 ~ 1.25之间的电压都被量化为0.625V,以此类推。
量化方式二:四舍五入,以量化间隔/ 2为分界,进行取舍。如,0 ~ 0.3125之间的电压都被量化为0V;0.3125 ~ 0.9375之间的电压都被量化为0.625V;以此类推。
量化间隔越小,量化误差的范围就越小,输入信号和输出信号就越像,也就是系统的精度越高。
ADC的分辨率和参考电压
分辨率:量化间隔越小,把规定范围的电压分成的份数就越多,这就代表它的分辨率越高,分辨率也就是系统能够测量的最小电压。在上面的例子中,我们将10V的电压分成16份,也就是2的四次方,所以它的分辨率就是4位,那如果我们将电压分成1024份,也就是2的10次方,所以它的分辨率就是10位,量化将直接从0.625V变成了0.0098V。常见的ADC分辨率一般有8位、10位、12位等等。
参考电压:要想得到量化的间隔,就需要两个参数,一个就是分辨率,确定划分的份数,另一个就是一个基准电压,例子中的10V,这个基准电压被称为参考电压(VREF)。STM32的ADC控制器,其参考电压一般是3.3V。
编码
经过量化之后,模拟信号已经成功数字化了,下一步就是编码,编码的含义就是用“1”和“0”的组合,为每个量化等级进行编号,从而代替相应区间的电压值。上面的量化例子中,将10V的电压分成16份,也就是2的四次方,它的分辨率就是4位,所以就需要使用4个“0”和“1”进行组合,组合成不同的4位二进制数,代替相应区间的电压值。
常见的ADC类型
逐次逼近型ADC、Flash ADC、并联比较型ADC、Sigma-Delta ADC。
并联比较型
并联ADC会用一堆电阻把参考电压分成很多小段(比如16段),然后用很多比较器同时比较输入的模拟电压和这些参考电压。
逐次逼近型
| ADC 类型 | 转换速度 | 分辨率 | 功耗 | 成本 | 适用场景 |
|---|---|---|---|---|---|
| 并联 ADC(闪速) | 最快(ns 级) | 低(≤10 位) | 极高 | 高 | 超高速采样(雷达、示波器) |
| 逐次逼近型(SAR) | 中速(μs 级) | 中高(8~16 位) | 低 | 低 | 低功耗场景(物联网、传感器) |
| 流水线 ADC | 高速(10~100ns) | 中高(10~16 位) | 中高 | 中高 | 高速高分辨率(通信、医疗) |
| 积分型 ADC | 最慢(ms 级) | 中(12~16 位) | 极低 | 低 | 高精度低速(仪表、称重) |