什么是ADC:
ADC(Analog to Digital Converter, 模数转换器), 用于实现模拟信号向数字信号的转换。A/D转换的作用是将时间连续、幅值也连续的模拟信号(电信号)转换为时间离散、幅值也离散的数字信号(二进制0和1信号)。需要ADC将模拟信号转换为数字信号,然后进一步处理。一般要经过取样、保持、量化及编码4个过程。因此ADC是模数之间的桥梁。
如上图是一个典型多路复用数据采集系统,在这个系统中,ADC通过多通道输入选择器对传感器采集的模拟信号进行模数转换,将转换结果的数字信号通过串口(常见的一般是SPI、IIC等接口)送给处理器(Processor)使用,这就是一个典型的ADC使用场景。下图是一个常见的ADC芯片常见的内部框图。
ADC采样过程:
上面我们说到ADC采样过程分为4步,即采样、保持、量化和编码。
采样和保持:采样,将随时间连续变化的模拟信号转化为在时间t上离散的模拟量,采样需满足采样定理(奈奎斯特定理)。即当采样频率大于模拟信号中最高频率成分的两倍时,采样值才能不失真的反映原来模拟信号。保持,采样脉冲宽度一般是很短暂的,在下一个采样脉冲到来之前,应暂时保持所取得的样值脉冲幅度,在采样电路后要求将所采样的模拟信号保持一段时间(模拟上通过电容实现)。下图是一个简单的采样保持电路:
图中S是一个模拟开关,一般由场效应晶体管构成。当控制信号为高电平时,开关闭合(即场效应晶体管导通),电路处于采样周期。这时ui对存储电容C充电,uo=uc=ui,即输出电压跟随输入电压的变化(运算放大器接成跟随器)。当控制电压变为低电平时,开关断开(即场效应晶体管截止),电路处于保持周期。因为电容无放电电路,故uo=uc。将采样到的数值保持一定时间。
量化和编码:
量化,由于模拟信号电压经过采样保持后,得到的是阶梯波(如下图)。而该阶梯波仍然是一个可以连续取值的模拟量。但n位(经常说ADC多少位)数字量只能保持 2的N次方个数值。因此,当用数字来表示连续变化的阶梯模拟量时就需要四舍五入。将采样后的样值脉冲电平归化到与之接近的离散电平之上,这个过程称为量化。
编码,量化后的数值还需通过编码用一个二进制代码表示出来,经过编码后得到的就是AD转换结果的数字量,二进制编码的位宽等于ADC的位宽。下图是一个3 bit ADC,只舍不入量化方式(量化中把不足一个单位的部分舍弃),量化位数用3 bit来表示连续信号的幅值。信号满量程为0~1V,因此最小量化单位Δ=1V/2^3=1/8V。量化位数越高,ADC的分辨率越高,量化误差越小。一般ADC的分辨率使用LSB标识。