一、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. 使用VS Code开发调试.NET Core 多项目

    使用Visual Studio Code(VS Code)开发调试.NET Core和ASP.NET Core 多项目multiple project. 之前讲解过如果使用Visual Studio ...

  2. [moka同学转载]Yii2 中国省市区三级联动

    1.获取源码:https://github.com/chenkby/yii2-region 2.安装 添加到你的composer.json文件 "chenkby/yii2-region&qu ...

  3. Servlet转码问题

    HttpServletRequest获取页面数据 提交表单时,Servlet直接从页面通过HttpServletRequest对象的getParameter(String arg0)获取参数时 默认编 ...

  4. 能力素质模型咨询工具(Part 2)

    核心能力素质模型数据库 1. 工作态度 通用 (1)热爱本职工作,对工作充满信心 (2)在没有明确的规定或领导指示的情况下,能够积极主动地承担职责范围内的各项工作,并能够积极地配合其他同事/部门工作 ...

  5. IOS应用内存释放机制

    这是由iOS系统管理决定的,但APP退出在后台后,只有10秒的持续运行时间,然后暂停.但该APP还在内存中,当出现内存警告,也就是别的APP要运行,而此时内存又不足的情况下,系统会回收停在后台APP所 ...

  6. 第一个Java程序HelloWorld

    代码如下: // 一个文件中只能有一个共有的类,并且与文件名称一致,大小写注意 public class HelloWorld{// 程序的入口public static void main(Stri ...

  7. JS 预解释相关理解

    1.JS中的内存空间分为两种:栈内存.堆内存 栈内存:提供JS代码执行的环境;存储基本数据类型的值; ->全局作用域或者私有的作用域其实都是栈内存 堆内存:存储引用数据类型的值(对象是把属性名和 ...

  8. Pro HTML5 Programming(Second Edition)2.Canvas API(2)

    1.在页面中加入canvas元素 eg: <!DOCTYPE html> <html lang="en"> <head> <meta ch ...

  9. 一点惊喜 --- alert()函数

    在JavaScript代码中,可以使用window对象的alert()函数来显示一段文本,从而进行程序的调试,或者向用户警示相关信息: window.alert("sample text&q ...

  10. PHP魔术常量

    与J2E相比PHP没有九个内置对象,但他有八个魔术变量分别是: '__LINE__' 文件中的当前行号. '__FILE__ 文件的完整路径和文件名. '__DIR__' 文件所在的目录. '__FU ...