为什么写这个?原因是看ADI的电路集看到了一个器件,点进去有篇七位半的DMM的文章:
出现了这个ADC
我们其实之前已经写过中间两个ADC了
在一些高位数的万用表里面早有耳闻,但是一直没看是啥?其擅长处理低频信号
在双斜率型 ADC 中,积分器生成两个不同的斜坡,一个斜坡具有已知的模拟输入电压 VA,另一个斜坡具有已知的参考电压 –Vref。因此,它被称为双斜率 A 到 D 转换器。其逻辑图如下所示:
这个是一个积分器
MT-027 ADI指南里面说的更好
- 将待转换的模拟信号Vin接入积分器,进行一段固定时间T1的积分。
- 积分器的输出电压与输入电压Vin成正比,即:Vout = Vin * T1 / RC,其中R和C是积分电路的时间常数。
- 将积分器输入端接上一个与输入信号极性相反的参考电压Vref,进行一段可变的时间T2的积分。
- 当积分器的输出电压变为零时,停止积分,此时的时间T2与输入电压Vin成正比。
最大的问题是转换速度慢: 由于需要进行两次积分(积分时间长),转换速度相对较慢。需要稳定的参考电压: 参考电压的稳定性直接影响转换精度。需要一个计数器: 用于测量积分时间,计数器的精度决定了转换的精度。- 先装满水: 我们先用一个水龙头往水桶里注水,注水的时间固定。注水量取决于水桶的大小和水龙头出水速度,也取决于原来容器里的水量。
- 水位代表电压: 水桶里水的高度就相当于输入的模拟电压。水位越高,表示电压越高。
- 打开排水口: 然后,我们用一个流量恒定的水管将水桶里的水放掉。
- 测量放水时间: 我们测量一下把水桶里的水完全放空需要多长时间。
时间就是答案: 放水的时间越长,说明原来水桶里的水越多,也就是输入的模拟电压越高。其实就使用已知的变量来计算未知的变量。多斜率积分ADC就像一个精确的水桶,通过测量注水和放水的时间来测量水的多少.因为在整个过程中,水位(也就是电压)的变化不是线性的,而是分阶段的:- 第一个阶段: 水位上升,斜率取决于输入电压的大小。
这个转换的图也是这样的
就好比一个精密的天平,通过比较未知物体的重量和已知重量的砝码来测量物体的重量。https://www.analog.com/media/cn/training-seminars/tutorials/mt-027_cn.pdf