首页/文章/ 详情

ADC知多少?

1年前浏览1005

ADC 是什么?我们为什么需要 ADC?ADC 有哪些架构?他们的工作原理和特点是什么,分别适用于哪些场景?今天,我们就来逐一解密!  

一、ADC 是什么?

ADC 的英文全拼是 Analog to Digital Converter,中文为模数转换器,它可以将连续模拟输入信号转换为离散的数字信号,并以一序列 1 和 0 的形式进行传送。这些输入信号被量化为数字量后,再进行传输或进一步后续处理时,就不易受噪声干扰。

模拟信号:连续变化的物理量所表达的信息,如温度、湿度、压力、长度、电流、电压、光强、音色等。

数字信号:自变量和因变量都是离散的数据信息,通常容易被 MCU/DSP/CPU 进行后续处理的二进制数来表达。

从模拟到数字的变换就像从真实世界进入到像素世界,我们日常生活中常讲到的数码相机、手机上的摄像头模组内,就包含一个成像专用的 ADC,将图像中每个像素单元的模拟光强度值转换成数字量。

二、我们为什么需要 ADC?

现实世界中,我们被温度、湿度、光、声等物理量包围,作为有着感知能力的生物体,我们能够非常自然地获取模拟信号,并与这些物理量达成默契,但是对于 CPU、MCU 等各类电子设备来说,这些信号却很难被理解。
在数字化社会中,一切事物都被赋予了可量化的期待,对数据的读取、处理、传输和存储,成为了人类认识事物的基本逻辑。
因此,我们需要将现实世界中的模拟信号转换为机器能够理解的数字表达。现实世界和数字世界的“窗户纸”将由模数转换器(ADC)来捅破。

三、ADC 有哪些架构?工作原理是什么?

ADC 架构有:并行比较型(Flash),逐次逼近型(Successive Approximation Register),积分型(Integrating),增量型(Delta-Sigma),流水线型(Pipeline)等。
1.并行比较型(Flash)
下图是并行比较型 ADC 的拓扑原理图,采样输入信号和设置好的比较电平直接比较得到输出。
下图中假设有 n 个比较器,最下面的是第 1 个,满量程输入电平是Vfsr,作为参考电压,由 n+1 个等值电阻将其均分为 n 个阶梯,那么第 X 个比较器负向输入电压为 Vfsr·X/(n+1),如果从第 m 个比较器开始以上的比较器输出都是 0,以下的输出都是 1,那么输入信号电压为:
Vin= Vfsr · m/(n+1)

2.逐次逼近型(SAR)  

一个 n 位分辨率的 SAR 型 ADC,第一阶段,输入信号先和设定好的比较电平输入比较器作比较,比较电平设置为 ADC 满量程的一半 Vfsr·2-1,输出第一位二进制结果 B1,将 B1 存入寄存器,第二阶段,输入比较器的比较电平根据第一次的比较结果设置为 Vfsr·2-1+(2·B1-1)Vfsr·2-2,此处的 B1 及后面公式中的 B2, B3, Bn-1, Bn 均作为十进制数参与计算,比较后输出第二位结果 B2,同样存入寄存器,进入第三阶段,比较电平设置为 Vfsr·2-1+(2·B1-1)Vfsr·2-2+(2·B2-1)Vfsr·2-3,得到第三位结果 B3,直至第 n 阶段,比较电平设置为 Vfsr·2-1+(2·B1-1)Vfsr·2-2+(2·B2-1)Vfsr·2-3+…+(2·Bn-1-1)Vfsr·2-n,得到最后一位结果 Bn,由最高位 B1 至最低位 Bn 组成的 n 位二进制数即为该 n 位 ADC的输出结果,转化为 10 进制数 D,那输入信号的电平测量值等于 Vfsr·D·2-n。  

例如下图是一个 6bit 的 SAR型 ADC 的转化流程,输入信号先和 Vfsr/2 比较得到最高位 1,之后再和 Vfsr/2+Vfsr/4 比较得到第二位 1,继续下去,得到二进制结果 110101,根据上文的公式 Vfsr·D·2-n 得出输入电平为 53·Vfsr/64,理论误差小于 Vfsr/64。  

3.积分型(Integrating)  

下图是单斜率积分型 ADC 的拓扑原理图,通过积分器从 0 电平积分到达采样信号电平的时间计算得到采样电平。  

采样开始时,积分器开始积分,同时计数器开始对输入的时钟信号 Clk 计数,假设该时钟频率为 f,积分电流为 Vref/R,经过时间 t 后 A 点电压超过输入信号的电压值,比较器输出从 1 跳变至 0,计数器停止计数,得到计数值 k,通过下方公式计算得到输入电压。  

Vin= (Vref/R)·k/(C·f)  

另外还有双斜率积分型 ADC,分时将输入电平和参考电平分别做正向和反向积分,可以更好的消除积分电路带来的误差,但是会增加一次积分时间,转换速度会更慢。  

4.增量型(Delta-Sigma)  

增量型 ADC的拓扑原理图如下,先看积分器,如果输出小于 0,比较器输出 1,否则输出 -1,比较器输出 1 时,乘法器输出 Vref,否则输出 -Vref,所以当积分器输出大于 0 时,将有 Vin-Vref 输入到积分器中进行下一次比较,否则输入 Vin+Vref,记录每一次比较器的输出,统计输出 -1 的次数 X 和总比较次数 m,通过下方公式来计算输入电平,总的比较次数越高,分辨率越高。  

Vin= Vref·(2·X-m)/m  

5.流水线型(Pipeline)  

流水线型 ADC 通常由多个相同结构的子单元组成,每个子单元包含一个 ADC,一个反向DAC,一个减法器,一个固定增益的放大器构成,子单元中的 ADC 多为Flash 型,也有 SAR 型。  

如下图,假如一个 X 阶的理想化流水线 ADC,子单元中的 ADC 的精度为 n bit,该子单元满量程为 Vfsr,假设该子单元 m 输入信号 Vin 被该子单元内 ADC 量化的结果为 Am·Vfsr,那么该单元可输出的结果最小值 Amin=0,最大值  Amax=(2­n-1)/2n,将 Vin 和该量化结果通过 DAC 转化为模拟信号后送入减法器会得到一个小于等于 Vfsr·2­-n 的差值 Vin-Am·Vfsr,该差值通过子单元内增益为 2n 的放大器放大后得到电平为 2n·(Vin-Am·Vfsr)的模拟信号输出该单元,再作为输入进入下一级子单元 m+1,经过同样的流程得到量化结果 Am+1·Vfsr,每一级将输入信号和量化信号的差值放大后送至下一级再做量化,经过 X 阶最终会产生一个 X·n 位精度的量化结果,由以下公式计算,  

Vin= Vfsr·(A1+A2·2-n+A3·2-2n+…+AX·2-(X-1)n)  

以上是理想状态,而实际情况是前级 ADC 的失调误差会导致输入信号和 DAC 输出的差值超出 0 到 Vfsr·2­-n 的范围,此时 2­n 的增益会导致输入到下一级的信号超出量程范围,为解决这个问题一般的做法是将放大器的增益降为 2­n-1,利用后一级的冗余测量范围来校正上一级的误差。  

每一级在完成当前流程后新的信号便可以输入进行新的量化,因此平均转换时间仅相当于信号走完单个子单元的时间 t,所以平均转换速度会很快,但是每个信号需要通过所有级才可以得到最终结果,因此当一个信号输入到得到结果至少需要时间 Xt,因此流水线型 ADC 是一种转换快,但是高精度的会有较高的延迟。  

四、ADC五大架构对比  


来源:硬件工程师炼成之路
电路电子理论
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-05-31
最近编辑:1年前
获赞 24粉丝 59文章 186课程 0
点赞
收藏
作者推荐

PCB走线宽度与过流能力知多少?

今天聊个简单的事情:我们PCB走线,线宽与允许通过电流的大小是什么样的? 我估计很多人会说:40mil/1mm线宽能过1A的电流。 我们按照这个去设计,一般来说是没问题的,其实我自己也经常用按照这个原则去评估。但是,有时候空间实在有限,走不了对应的线宽,那怎么办呢?几个实际问题 除了上面的问题,我们可能还会想到或者遇到下面的几个问题: 1、1mm线宽走1A电流,裕量到底有多足? 2、1mm走线宽度对应1A电流,5mm就对应5A电流吗? 3、过流能力1mm对应1A,1A指的是电流的平均值/有效值不能超过,还是瞬间值也不能超过? 以上这些问题,有些兄弟可能也会有,但是可能没有深究。 IPC-2152 网上查了下,PCB走线过流能力评估的文章或者视频,基本是基于IPC标准里面的《Standard for Determining Current Carrying Capacity inPrinted Board Design》,翻译过来就是《印刷板设计中电流承载能力的确定标准》。不过需要了解的是,这个文件标准出了好几个版本,目前最新的版本是IPC-2152,我们按照这个来即可。 那么这个标准里面有写明多少线宽对应多少电流吗? 答案是没有,如果写明了就不会有上面那么多问题。不过我们翻开标准的第一章,就能知道多少线宽过多少电流 ,其实就是看温度。既然知道了主要具体能过多大电流主要还是评估温升,那么就算不看标准,也会大概知道有这几个点会影响过流。1、允许的温升:如果能够允许的铜线升高的温度越高,那么允许通过的电流自然也就越高2、走线的线宽:线越宽 ,导线横截面积越大,电阻越小,发热越小,自然温升越小,那么过流更大 3、走线的铜厚:铜厚越厚 ,导线横截面积越大,电阻越小,发热越小,自然温升越小,那么过流更大。 4、走线到铜平面的距离:比如4层板,表层走线下面会有地铜层或者是电源层,这也会影响散热,距离不同,导热快慢自然有差异,过流能力也会有差异。 除了上面的因素,其实还有很多因素,影响大小不一,比如板材材料,是否有绿油,板子厚度等等。 我们看下IPC-2152标准里面举的例子按照上面的步骤,可以知道5A电流,合适导体宽度是0.3英寸,也就是25.4*0.3=7.62mm宽度,这跟我们通常说的1mm过1A电流,5mm过5A电流是有出入的。并且按照1mm过1A这个规则来,是有些不够的。 不过,从曲线上面我们也可以看出,如果电流是1A,那么对应的横截面积是40Sq-mils,对应的导线宽度(假设铜厚还是1盎司)是0.023英寸,也就是0.023*25.4=0.58mm。这样看,1mm过1A电流又很充足。 那为什么会这样呢?这是因为,温升跟线宽并不是完全线性的关系,这个我们需要注意。 还有一个问题,如果实际电路设计中低于上面的值,就一定有问题吗? 当然不是,上面只是导线温升10℃的情况,你就算实际走线宽度窄一点,温度也只是高一点,比如温升到20℃,一般也不会有什么问题。没有标准说你必须将温升控制在10℃以内,就现在讨论的标准IPC-2152,也只是列出了不同宽度不同电流对应的导线的温升,至于你做的产品温升要控制到多少,这个得你自己定。不过,一般来说我们是按照10℃来评估的。 那实际设计中,除了1mm过1A电流的规则,有没有更实用的方法呢? 设计软件:Saturn PCB 给兄弟们推荐个软件:Saturn PCB(文末会附下载方法),这个软件应该是目前用得最多的。软件本身功能较多,不仅仅只是用来帮助评估走线电流。不过本节我们主要说明走线电流,那就只介绍这一部分功能。 使用的时候,首先需要设置好标准,建议选择最新的标准:IPC-2152 with modifiers(可以点击菜单tools-->Programs Options进行设置) 下面介绍下菜单的内容:我们设置好红色部分的参数,就可以知道导线可以通过的电流了。 下面列出常见的线宽对应的电流值(条件:板厚1.6mm,温升10℃,没有领近铜层)如下表: 这个表一出,可能细心的同学又发现了,不对呀,前面IPC-2152里面的曲线图,1A电流对应线宽是0.58mm,你这表格里面1A对应是0.375mm,要小很多,根本就对不上。 这里原因我估计是因为板厚,从标准里面看出,板厚从1.79mm减到1.02mm,温升会增加1.4倍,可见板厚影响也很大。不过标准里面的曲线,并未说明板厚是多少,我也只是猜测。 如果我们使用Saturn PCB将板厚设置为1mm,可以看到1A对应的线宽是0.65mm,与曲线对应的0.58也就相差不大了。 下面就把用软件计算的两种板厚(1.6mm和1mm)对应的线宽和电流重新列了个对应表如下,仅供参考:小结 以上就是我查阅了标准,对PCB走线宽度和过流能力的理解,过流能力主要是围绕导线温升来讲的。而温升又跟铜皮厚度,板厚,是否有临近铜层,铜层间距相关,所以说严格来讲,要具体情况具体分析,分析可以借助我上面的说的Saturn PCB软件。 资料下载: IPC-2152标准以及Saturn PCB软件下载方法:关注我的微 信公众 号“硬件工程师炼成之路”,在后台回复“炼成之路”,就可以下载了,放置在目录:炼成之路-->原理图和PCB-->线宽与电流参考资料: 1、如何快速评估PCB铜皮及过孔的通流能力: https://www.bilibili.com/video/av499414477/?vd_source=a559f135e6f1797789dd00a1ed110061 2、PCB导体载流能力计算https://www.bilibili.com/video/BV1ud4y1K7rX/?spm_id_from=333.788&vd_source=a559f135e6f1797789dd00a1ed110061 3、印制板的设计和使用-4588.3标准:https://www.doc88.com/p-49120406723.html 声明:以上内容仅是个人观点,不保证正确性,如有问题,请留言指出。 来源:硬件工程师炼成之路

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈