SAR ADC的采集原理
一阶Σ-Δ型ADC的动图演示
基础的电路知识点
概述
ADC有好几种类型,平时接触到的是逐次逼近型ADC、Sigma-Delta ADC,通用型MCU基本上集成的是SAR ADC,即逐次逼近型。关于ADC的术语:
www.analog.com/cn/technical-articles/types-of-adcs-and-dacs.html
特别要说的是:
SAR ADC
这里截取ST的AN2834应用笔记:
《如何在STM32微控制器中获得最佳ADC精度.pdf》
其结构如上图:
有一堆的开关阵列,对应ADC bit数
采样电容,采集VIN的电压
那么结合电容充放电曲线,可以想到:
电容精度、VREF影响ADC精度
开关时序未匹配电容充电曲线,即开关提前切换,也会影响ADC
待测信号很弱时,电压会被拉低
SAR ADC电压采集过程
采样阶段:
Sa切入VIN,S1~S11拨向左边,Sb闭合
VIN经线路流入这一堆的采样电容
充电过程持续3个ADC_CLK(ST手册描述)
保持状态:
Sa切向VREF,Sb断开
S1~S11拨向右边,即接地
电容原本带正电荷的一端,电压变为0
电容另一端的对地电压变为-VIN
SAR ADC转换过程
首先回顾电容的公式:
电容并联:C = C1 + C2
分压:Vc2 = (C1 // C2) / C2 * V
逐次逼近第一步:
S1切入VREF,此时构成一个电容分压电路
分压 = (C / 2) / C * VREF = VREF / 2
当 -VIN + VREF / 2 > 0,比较器输出1;反之输出0
逐次逼近第2步(MSB=0):
S1切入GND
S2切入VREF,引入参考电压
C1 = C / 2,C2 = 3C / 2
分压 = (3C / 8) / (3C / 2) * VREF = VREF / 4
逐次逼近第2步(MSB=1):
S1切入VREF
S2切入VREF
C1 = 3C / 2,C2 = C / 2
分压 = (3C / 8) / (C / 2) * VREF = 3 / 4 * VREF
其余bit,重复第2步操作即可,如此比较器以MSB方式,依此输出一串高低电平序列,即为ADC数据。
Σ-Δ型ADC
ADI亚诺德的关于一阶Σ-Δ型ADC的小工具演示网址:
www.analog.com/cn/design-center/interactive-design-tools/sigma-delta-adc-tutorial.html
如上:
待测电压与反馈DAC的输出相减,差值给到积分器
积分器的结果送到比较器,比较器输出决定反馈DAC输出的符号
3次比较的bit流为101
平均输出 = (2.5-2.5+2.5)V / 3 = 0.8333V
ADC精度特性
来自ST的数据手册:
12bit ADC采集标准源,假设bit0、bit1一直跳动:
实质上ADC的精度只有10个bit
若VREF=3.300V,待测0~30V缩小为0~3.3V,则1LSB = 30V / 0x3FF = 29.3mV
合理的待测电压放大倍率
实际的待测物理量可能是电压、电流、电阻、温度等等,需要通通转换为电压参数,往往第一手的电压信号总是超出ADC测量范围,比如几十V、uV级别。
这个时候把待测量放大(放大倍数 >1、<1):
电阻分压法
由运放构成的差分放大电路
仪表放大器
合理调制放大倍率,目的是尽可能吃满ADC的量程。若VREF=3.000V,0~60V信号放大后为0~1.000V,那么12bit ADC的量程只使用了1/3,0xFFF * 1 / 3 = 1365LSB,2^10 < 1365 < 2^11,即实际分辨率不到11bit,对应0~60V:1LSB = 43.956mV,如果ADC量程用满,1LSB = 60V / 0xFFF = 14.648mV
基准电压VREF的设计
如果待测信号只能放大至0~2.500V,那么VREF应该选择2.500V,单片机的VREF可以由外部提供:
如果VREF直接连到VDDA,VDDA与3.3VDC连接,那么ADC精度就限制在这里了:
VREF可由外部低温漂的精密基准电压源IC供应,如ADR03高精密的基准电压源:
www.analog.com/cn/products/adr03.html
常规的电压跟随器、RC滤波
ADC内部的采样电容,电容充电曲线如下:
如果待测信号微弱,这个充电电流将拉低电压。示波器抓ADC的采样引脚,可以发现待测电压周期性拉低,影响严重时就需要加电压跟随器:
如果前级未能有效处理噪声,或者信号走线过长等,在靠近ADC引脚处,加低通滤波器,滤掉高频噪声:
通过校准消除测量偏差
偏差来源:
VREF不可能刚好为1V、2V、2.5V、3.3V
电阻、运放、仪表放大器有误差,放大倍率也就存在误差
ADC本身也有误差
温漂问题
1. 若待测物理量转换成电压的关系是线性的
引入 y = kx + b消除测量偏差,可参考设备校准表格:
每个 x (ADC读值)对应一个 y(实际的电压)
实际测量两个标准电压,得到A、B两个坐标点,求出函数的表达式
标准电压可以由高精度的电源、源表提供。
2 .待测物理量是非线性,如测量电阻,可参考分压法量电阻
-END-