一、A/D转换的基本原理
  在一系列选定的瞬间对模拟信号进行取样,然后再将这些取样值转换成输出的数字量,并按一定的编码形式给出转换结果。
  整个A/D转换过程大致可分为取样、量化、编码三个过程。
二、取样-保持电路

  取样-保持电路的基本形式如上图,图中T为N沟道增强型MOS管,作模拟开关使用。

  当取样控制信号Vi为高电平时T导通,输入信号Vi经电阻R1和T向电容CH充电。若取R1=RF,且视运算放大器为理想运算放大器,则充电结束后,Vo=Vch=-Vi

  当Vi返回低电平以后,MOS管T截止,由于CH上的电压在一段时间内基本保持不变,所以Vo也保持不变,取样结果被保存下来(CH的漏电流越小,运算放大器的输入阻抗越高,Vo保持的时间也越长)。

  该电路在取样过程中需要输入电压经R1和T向电容CH充电,这就限制了取样速度,而通过减少R1的办法提高取样速度又必将降低电路的输入阻抗。

三、并联比较型A/D转换器

  并联比较型A/D转换器电路结构图如下,它由电压比较器、寄存器和代码转换电路三部分组成。输入为0-Vref间的模拟电压,输出为3位二进制数码d2d1d0。

  

  电压比较器中量化电平的方式:采用电阻链将参考电压Vref分压,得到(1/15)Vref到(3/15)Vref之间7个比较电平,量化单位为(2/15)Vref,将这7个比较电平分别接到7个电压比较器C1-C7的输入端作为比较基准,同时将输入的模拟电压同时加到每个比较器的另一个输入端,与这7个比较基准进行比较。

  若Vi<(1/15)Vref,则所有比较器的输出全是低电平,CLK上升沿到来后寄存器中所有的触发器都被置为0状态

  若(1/15)Vref<Vi<(3/15)Vref,则只有C1输出为高电平,CLK上升沿到达后FF1被置1,其余触发器被置0

  以此类推,便可列出Vi为不同电压时寄存器的状态

  并联比较型A/D转换器的最大优点是转换速度快,其一次转换所需的时间只包括一级触发器的翻转时间和三级门电路的传输延迟时间。但,从电路可知,输出为n位二进制代码的转换器应当有(2^n)-1个电压比较器和(2^n)-1个触发器,电路的规模随着输出代码位数的增加而急剧膨胀,电路更加复杂。

四、反馈比较型A/D转换器

  反馈比较型A/D转换器经常采用的有计数型和逐次渐近型两种方案

1、计数型

如下图,转换器由比较器C、D/A转换器、计数器、脉冲源、控制门G以及输出寄存器等几部分组成。

步骤一:转换前先用复位信号将计数器置零,而且转换控制信号应停留在VL=0的状态。此时门G被封锁,计数器不工作。由于此时计数器加给D/A转换器的是全0的数字信号,故Vo=0。

步骤二:当VL变成高电平时开始转换,脉冲源发出的脉冲经过门G加到计数器的时钟信号输入端CLK,计数器开始做加法计数。

步骤三:随着计数的进行,D/A转换器输出的模拟电压Vo也不断增加。当Vo增加至Vo=Vi时,Vb=0,将门G封锁、计数器停止计数。此时计数器中所存的数字就是所求的输出数字信号。

  因为在转换过程中计数器中的数字不停地变化,所以不宜将计数器的状态直接作为输出信号,为此在输出端设置了输出寄存器,在每次转换完成以后,用转换控制信号VL的下降沿将计数器输出的数字置入输出寄存器中,以输出寄存器的状态作为最终的输出信号。

  这种方案的缺点是转换时间太长,当输出为n位二进制数码时,最初的转换时间可达(2^n)-1倍的时钟信号周期。该方案电路比较简单,适用于对转换速度要求不高的场合。

2、逐次渐进型

如下图,转换器由比较器C、D/A转换器、寄存器、时钟脉冲源、控制逻辑等5部分组成。

步骤一:转换前先将寄存器清零,所以加给D/A转换器的数字量也是全0;
步骤二:转换控制信号VL变成高电平时开始转换,时钟信号首先将寄存器的最高位置成1,使寄存器的输出为100...0;
步骤三:输出的数字量被D/A转换器转换成相应的模拟电压,并送到比较器与输入信号Vi进行比较。如果Vo>Vi,说明数字过大,则该1应去掉,如果Vo<Vi,说明数字还不够大,这个1应保留;
步骤四:按同样的方法将次高位置1,并比较Vo与Vi的大小以确定这一位的1是否应该保留,这样逐位比较下去,直到最低位比较完成为止。此时寄存器里所存的数码就是所求的数字量。
  逐次渐近型比较A/D转换器转换速度比计数型A/D转换器速度高很多,而且在输出位数时,电路规模要比并联比较型的小得多,因此逐次渐进型A/D转换器是目前集成A/D转换器产品中用的最多的一种电路。
五、双积分型A/D转换器
  如下图,转换器包括积分器、比较器、计数器、控制逻辑、时钟信号源等部分

  

  步骤一:转换开始前(转换控制信号VL=0),先将计数器清零,并接通开关S0,使积分电容C完全放电;

  步骤二:令开关S1合到输入信号电压Vi的一侧,积分器对Vi进行固定时间T1的积分,则

  

  故可得数字量:

  

  若取T1为Tc的整数倍,则

  

  双积分型A/D转换器的优点是工作性能比较稳定,抗干扰能力强,但由于先后进行了两次积分,因此其工作速度低,一般都在每次几十次以内。

  另,双积分型A/D转换器转换精度受计数器位数、比较器的灵敏度、运算放大器、比较器的零点漂移、积分电容的漏电、时钟频率的瞬时波动等多种因素的影响,因此为提高转换精度仅靠增加计数的位数是远不够的。实用电路中为消除运放、比较器的零点漂移,常增加零点漂移自动补偿电路,为防止时钟信号频率在转换过程中发生波动,可以使用石英晶体振荡器作为脉冲源。

模-数(A/D)转换器的更多相关文章

  1. 如何来看单片机外设A/D转换器ADC0804时序图

    如图,为单片机AD转换器的一种: ADC0804单片集成A/D转换器.它采用CMOS工艺20引脚集成芯片,分辩率为8位,转换时间为100µs,输入电压范围为0-5V.芯片内具有三态输出数据锁存器,可直 ...

  2. 【ARM】AD转换器

    A/D转换器 A/D转换器,又称模/数转换器,顾名思义,就是把模拟信号数字化. 由于系统的实际处理对象往往都是一些模拟量(如温度.压力.位移.图像等),要使计算机或数字仪表能识别和处理这些信号,必须首 ...

  3. 开发板A/D转换原理

    A/D转换器(Analog-to-Digital Converter)又叫模/数转换器,即使将模拟信(电压或是电流的形式)转换成数字信号.这种数字信号可让仪表,计算机外设接口或是微处理机来加以操作或是 ...

  4. VGA DVI HDMI区别

    VGA,DVI,HDMI是目前常用的3种不同显示接口的名称.在树莓派的边缘既有HDMI的接口,也有RCA的接口,而显示器上也是既有DVI,又有VGA.上个月买连接线,没有仔细检查买了一根HDMI对VG ...

  5. 硬件相关-ADC原理(未完成)

    一.模数转换的一般步骤: 1)采样和保持 为了把模拟信号转换成对应的数字信号,必须首先将模拟量每隔一定时间抽取一次样值,使时间上连续变化的模拟量变为一个时间上断续变化的模拟量,这个过程称为采样. 为了 ...

  6. Linux音频编程指南

    Linux音频编程指南 虽然目前Linux的优势主要体现在网络服务方面,但事实上同样也有着非常丰富的媒体功能,本文就是以多媒体应用中最基本的声音为对象,介绍如何在Linux平台下开发实际的音频应用程序 ...

  7. 【转】Alsa音频编程【精华】

    一.前序 这里了解一下各个参数的含义以及一些基本概念. 声音是连续模拟量,计算机将它离散化之后用数字表示,就有了以下几个名词术语. 样本长度(sample):样本是记录音频数据最基本的单位,计算机对每 ...

  8. Cortex-M3学习日志(六) -- ADC实验

    上一次简单的总结了一下DAC方面的知识,好吧,这次再来总结一下ADC方面的东东.ADC即Analog-to-Digital Converter的缩写,指模/数转换器或者模拟/数字转换器.现实世界是由模 ...

  9. stm32之ADC

    将模拟量转换为数字量的过程称为模式(A/D)转换,完成这一转换的期间成为模数转换器(简称ADC);将数字量转换为模拟量的过程为数模(D/A)转换,完成这一转换的器件称为数模转换器(简称DAC). 模拟 ...

随机推荐

  1. Web页面实现后台数据处理进度与剩余时间的显示

    1.页面后台代码添加如下属性: /// <summary> /// 总数 /// </summary> private double total { set { Session ...

  2. sessionPageState与视图状态存储

    这个配置节甚是简单,在MSDN中的介绍也甚是简单:为 ASP.NET 应用程序配置页的视图状态设置. historySize的作用是设置要存储在页历史记录中的项数. 但是这根本是看不明白他是干嘛的,百 ...

  3. 记安装EP时在指定BCP账户信息时提示AOS无法访问的解决方法

    因为卡在这个问题上好久,外加同事也有遇到,因此记下来! 环境:Windows Server 2012 R2 Standard + Dynamics AX 2012 R2 + SharePoint 20 ...

  4. ABySS非root权限安装

    本文转自  http://yangl.net/2015/11/12/abyss_install/ ABySS: ABySS is a de novo, parallel, paired-end seq ...

  5. PHP中抽象类,接口定义

    这里先介绍接口,因为在我最近看的好几本php工具书中都没有提到抽象类. 本人也觉得,在理解了接口后抽象类也非常好理解. 例子代码随便写了一下.例子代码是很ok的,测试过了不会报错,懒得看代码的筒靴们看 ...

  6. 【工匠大道】将项目同时托管到Github和Git@OSC

    原文地址 摘要: Github是最大的git代码托管平台,​GIT@OSC是国内最大的git代码托管平台,支持免费私有库,支持SVN操作,用户众多.很多用户需要同时将代码托管到两个平台,这篇文章的主要 ...

  7. 用好spring mvc validator可以简化代码

    表单的数据检验对一个程序来讲非常重要,因为对于客户端的数据不能完全信任,常规的检验类型有: 参数为空,根据不同的业务规定要求表单项是必填项 参数值的有效性,比如产品的价格,一定不能是负数 多个表单项组 ...

  8. Spring(6)—— AOP

    AOP(Aspect-OrientedProgramming)面向切面编程,与OOP完全不同,使用AOP编程系统被分为切面或关注点,而不是OOP中的对象. AOP的引入 在OOP面向对象的使用中,无可 ...

  9. ArcSDE解除图层锁定

    SDE数据库用来共享.交互数据,比较好用,但经常被B/S那边锁定图层 ,导致不能编辑图层. 查看锁定是谁锁定了用户的命令: sdemon -o info -I users -i esri_sde 解决 ...

  10. 用VSCode写python的正确姿势(转载)

    最近在学习python,之前一直用notepad++作为编辑器,偶然发现了VScode便被它的颜值吸引.用过之后发现它启动快速,插件丰富,下载安装后几乎不用怎么配置就可以直接使用,而且还支持markd ...