本文摘要(由ai生成):
这篇文档介绍了 ADC(模数转换器)的分类和工作原理,包括逐次逼近型、Σ-Δ 型和流水线型三种类型。逐次逼近型 ADC 是常用的类型,通过采样保持、转换电路、量化电路和结果存储四部分实现电压信号的采集和转换。Σ-Δ 型 ADC 具有高分辨率和低噪声的特点,但采样速率相对较低。流水线型 ADC 具有高速和高带宽的特性,适用于高速场合。文档还介绍了 ADC 的性能参数,包括分辨率、速度、精度、线性度、噪声等。
最近做了几个电压采集的项目,用到了几款ADC,为了方便学习和更好地使用ADC,所以本文对ADC的分类和工作原理做一个详细介绍!!
主要介绍最常用的三类ADC:逐次逼近型(单片机自带的ADC均属于这类,STM32F1、F4等系列ADC模块、DSP28335自带的ADC模块);Σ-Δ型ADC(例如TI的ADS1x系列的ADC芯片,这种芯片在工业控制中用的非常非常多,位数14/16/24位可供选择);流水线(Pipelined)型ADC,具有非常高的采集和转换速率,与FPGA联合使用。
采集电压的系统框图如下图所示:
传感器输出的电压信号经过运放做预处理,然后送给ADC芯片(模块),因为ADC对输入电压有要求,若高于ADC最大输入电压会烧坏ADC芯片,所以运放对传感器或者外部电压进行按一定倍数放大或者缩小。一般不要超过ADC最大输入电压的三分之二,因为越接近最大值ADC测量误差越大。
本文以首先以最常用的逐次逼近的ADC内部结构来讲述的原理。
本电路主要由四部分组成:1.采样保持电路;2.转换电路;3.量化电路;4.结果存储结果结存器。
当S1开关闭合VIN会给电容充电(Csh),所以一旦打开S1时间太短,充电时间没有到达电容通电的时间常数,转换电路就去采集该电压,导致电压测不准。所以一定要设置采样时间到一个合理的值(要大于下图的时间常数),一般至少7个ADC时钟,太少就会出现测量不准的情况。
量化电路就是一个DAC模块,将参考电压按照一定位数进行量化出许多的最小单元,然后把输入的电压跟量化后的电压逐次进行比较,然后得到一定的数值,也就是我们所要采集的ADC值。如下图所示:
假设我们的ADC是4位,满量程(FullScale Rang)电压是2V,最小分辨电压(LSB)=FSR/2^4=2/16=0.125V;这个单位对ADC来说非常重要,大家一定要记住,因为这个就是衡量ADC误差的单位。比如误差是几个LSB。
右上图就是对FSR进行了量化,理想状态下量化后纵坐标均匀地对应量化值(横坐标刻度),就是各个理想的梯子,现实中会有各种各样的误差(无法均匀对应)。我们下篇ADC参数中来说明。
输入进来的电压与量化后的小电压进行比较,如果输入VIN=1.5V,那么ADC模块会把经过逐次比较后的结果,1011放到结果寄存器中(N-Bit Regster)中,这样我们读出这个数字值,根据量化对应关系就可以计算出电压。这就是逐次比较(逼近)型的ADC工作原理。
注意:单片机中的多路ADC一定要让采用保持电路保持一定的时间,各个通道之间也要有几个ADC的时钟间隔。这样可以保证各个通道之间不相互干扰,采集的电压相对比较准确。当然硬件设计的过程中也要注意阻抗匹配问题,和参考电压稳定准确、PCB的布局布线的问题,因为 这些因素都会导致你的ADC采集电压的准确性。
SAR也就是逐次比较型ADC,可以看出它的分辨率比较高,位数有14-20位,量化后的线性度比较好、精度比较高,采样延时低,但是采样速率最快2-5M。单片机可以有12.5M、25M等,采样速度一高我们的信噪比就越高,采集的信号质量就越好。
Σ-Δ型ADC也是比较火热的一种ADC芯片,它的主要工作原理如下:
这种类型的ADC没有了采样保持电路,输入的信号经过高频信号的调制会变成方波信号(大学里的信号与系统和通信原理有讲哦!有兴趣的可以翻一翻,大学课程其实是有用的,只是我们不知道用在哪里而已),然后我们对高频信号进行降噪处理,也就是高通滤波器、低通滤波器、带通滤波器、陷波器等这些知识了。调制过程如下图所示:
上图就是具体的调制过程,量化噪声e(n)经过一个高通滤波器(HPF),输入有效信号VIN经过一个低通滤波器(LPF),后端再数字滤波器即低通滤波器去除掉噪声就行。
过处理后的数字信号解调处理,就会恢复出我们需要的真实信号了。将最终的结果放在我们的结果寄存器中,所以这种方法大大提高了我们信号的信噪比!!!但是也是由于加入滤波器(滤波器阶数越高幅频特性越好,但是也越耗时)、调制解调,导致我们采集的电压实时性不强!!!(相对其他两种ADC)
分辨率可以做很高,有的可以32位,噪声低,也就是信噪比高,信号质量比较好,数据稳定性可靠性高!典型的就是TI的ADS1X系列的ADC了。
流水线(Pipelined)型ADC是新型ADC,具有高速和高带宽的特性,但是位数低分辨率低,功耗比较大,主要用在高速场合与FPGA联合使用。
今天的知识点就分享到这里了,后面我们说一下ADC的性能参数!