A/D转换器(Analog-to-Digital Converter)又叫模/数转换器,即使将模拟信(电压或是电流的形式)转换成数字信号。这种数字信号可让仪表,计算机外设接口或是微处理机来加以操作或是工作使用。A/D 转换器 (ADC)的型式有很多种,方式的不同会影响测量后的精准度。A/D 转换器的功能是把模拟量变换成数字量。由于实现这种转换的工作原理和采

用工艺技术不同,因此生产出种类繁多的A/D 转换芯片。
A/D 转换器按分辨率分为4 位、6 位、8 位、10 位、14 位、16 位和BCD码
的31/2 位、51/2 位等。按照转换速度可分为超高速(转换时间=330ns),次超
高速(330~3.3μS),高速(转换时间3.3~333μS),低速(转换时间>330μS)
等。
A/D 转换器按照转换原理可分为直接A/D 转换器和间接A/D 转换器。所谓
直接A/D 转换器,是把 模拟信号直接转换成数字信号,如逐次逼近型,并联比
较型等。其中逐次逼近型A/D 转换器,易于用集成工艺实现,且能达到较高的
分辨率和速度,故目前集成化A/D 芯片采用逐次逼近型者多;间接A/D 转换器
是先把模拟量转换成中间量,然后再转换成数字量,如电压/时间转换型(积分
型),电压/频率转换型,电压/脉宽转换型等。 其中积分型A/D 转换器电路简
单,抗干扰能力强,切能作到高分辨率,但转换速度较慢。 有些转换器还将多
路开关、基准电压源、时钟电路、译码器和转换电路集成在一个芯片内,已超出
了单纯A/D 转换功能,使用十分方便。
ADC 经常用于通讯、数字相机、仪器和测量以及计算机系统中,可方便数字
讯号处理和信息的储存。大多数情况下,ADC 的功能会与数字电路整合在同一
芯片上,但部份设备仍需使用独立的ADC。行动电话是数字芯片中整合ADC 功
能的例子,而具有更高要求的蜂巢式基地台则需依赖独立的ADC 以提供最佳性
能。
ADC 具备一些特性,包括:1. 模拟输入,可以是单信道或多信道模拟输入;
2. 参考输入电压,该电压可由外部提供,也可以在ADC 内部产生;3. 频率输
入,通常由外部提供,用于确定ADC 的转换速率;4. 电源输入,通常有模拟和
数字电源接脚;5. 数字输出,ADC 可以提供平行或串行的数字输出。
在输出位数越多(分辨率越好)以及转换时间越快的要求下,其制造成本与单价就越贵。
 一个完整的A/D转换过程中,必须包括取样、保持、量化与编码等几部分电路。
 AD转换器需注意的项目:
 取样与保持
 量化与编码
 分辨率
 转换误差
 转换时间
 绝对精准度、相对精准度
 取样与保持
 由于取样时间极短,取样输出为一串断续的窄脉冲。要把每个取样的窄脉冲信号数字化,是需要一定的时间。
 
 因此在两次取样之间,应将取样的模拟信号暂时储存到下个取样脉冲到来,这个动作称之为保持。
 
 在模拟电路设计上,因此需要增加一个取样-保持电路。为了保证有正确转换,模拟电路要保留着还未转换的数据。
 
 一个取样-保持电路可保证模拟电路中取样时,取样时间的稳定并储存,通常使用电容组件来储存电荷。
 根据数字信号处理的基本原理,Nyquist取样定理,若要能正确且忠实地呈现所撷取的模拟信号,必须取样频率至少高于最大频率的2倍。
 例如,若是输入一个100Hz的正弦波的话,最小的取样频率至少要2倍,即是200Hz。
 虽说理论值是如此,但真正在应用时,最好是接近10倍才会有不错的还原效果(因取样点越多)。若针对多信道的A/D转换器来说,就必须乘上信道数,这样平均下去,每一个通道才不会有失真的情况产生。
 量化与编码
 量化与编码 电路是A/D转换器的核心组成的部分,一般对取样值的量化方式有下列两种:
 只舍去不进位
 首先取一最小量化单位Δ=U/2n,U是输入模拟电压的最大值,n是输出数字数值的位数。
 当输入模拟电压U在0~Δ之间,则归入0Δ,当U在Δ~2Δ之间,则归入1Δ。透过这样的量化方法产生的最大量化误差为Δ/2,而且量化误差总是为正,+1/2LSB。
 
 有舍去有进位
 如果量化单位Δ=2U/(2 n+1–1),当输入电压U在0~Δ/2之间,归入0Δ,当U在Δ/2~3/2Δ之间的话,就要归入1Δ。这种量化方法产生的最大量化误差为Δ/2,而且量化误差有正,有负,为±1/2LSB。
 
 量化结果也造成了所谓的量化误差。
 解析度
 指A/D转换器所能分辨的最小模拟输入量。通常用转换成数字量的位数来表示,如8-bit,10-bit,12-bit与16-bit等。
 
 位数越高,分辨率越高。若小于最小变化量的输入模拟电压的任何变化,将不会引起输出数字值的变化。
 采用12-bit 的AD574,若是满刻度为10V的话,分辨率即为10V / 212 = 2.44mV。
 而常用的8-bit 的ADC0804,若是满刻度为5V的话,分辨率即为5V / 28 = 19.53mV。
 选择适用的A/D转换器是相当重要的,并不是分辨率越高越好。
 不需要分辨率高的场合,所撷取到的大多是噪声。
 分辨率太低,会有无法取样到所需的信号。
 转换误差
 通常以相对误差的形式输出,其表示A/D转换器实际输出数字值与理想输出数字值的差别,并用最低有效位LSB的倍数表示。
 
 转换时间
 转换时间是A/D转换完成一次所需的时间。
 从启动信号开始到转换结束并得到稳定的数字输出值为止的时间间隔。转换时间越短则转换速度就越快。
 精准度
 对于A/D转换器,精准度指的是在输出端产生所设定的数字数值,其实际需要的模拟输入值与理论上要求的模拟输入值之差。
 精确度依计算方式不同,可以区分为
 绝对精确度
 相对精确度;
 所谓的绝对精确度是指实际输出值与理想理论输出值的接近程度,其相关的关系是如下式子所列:
 
 绝对精确度=

相对精准度指的是满刻度值校准以后,任意数字输出所对应的实际模拟输入值(中间值)与理论值(中间值)之差。
 
 对于线性A/D转换器,相对精准度就是它的线性程度。由于电路制作上影响,会产生像是非线性误差,或是量化误差等减低相对精准度的因素。
 
 相对精确度是指实际输出值与一理想理论之满刻输出值之接近程度,其相关的关系是如下式子所列:
 相对精准度=
 

基本上,一个n-bit的转换器就有n个数字输出位。这种所产生的位数值是等效于在A/D转换器的输入端的模拟大小特性值。
 
 如果外部所要输入电压或是电流量较大的话,所转换后的的位数值也就较大。
 
 透过并列端口接口或是微处理机连接A/D转换器时,必须了解如何去控制或是驱动这颗A/D转换器的问题。因此需要了解到A/D转换器上的控制信号有哪些。

    

图1、A/D转换器的基本引脚配置电路图
 
 
 如图1所示,一个A/D转换器具备了:
 输出引线(D0~D7,以8-bit为例),
 一个开始转换(Start of Converter,SOC)
 结束转换(End of Conversion,EOC)信号。
 输出致能脚位

开发板A/D转换原理的更多相关文章

  1. TM4C123G红外触摸屏:开发板好不容易实现了原理,放到专家设计的板子上无法运行,于是专家跑路项目黄了

    使用TI的TM4C123G LaunchPad开发板,USB接口,来对同样的芯片进行烧写. 我们只用烧写那一块功能,不用另外一个芯片的开发功能,需要跳线   源码项目:   从官方网站TM4C123G ...

  2. 全志A33 lichee 开发板 Linux中断编程原理说明

    开发平台 * 芯灵思SinlinxA33开发板 淘宝店铺: https://sinlinx.taobao.com/ 嵌入式linux 开发板交流 QQ:641395230 本节实验目标实现按键触发中断 ...

  3. RGMII_PHY测试笔记1 基于开发板MiS603-X25

    RGMII_PHY测试笔记1 基于开发板MiS603-X25 作者:汤金元 日期:20150817 公司:南京米联电子科技有限公司 博客:http://blog.chinaaet.com/detail ...

  4. 基于uFUN开发板的心率计(二)动态阈值算法获取心率值

    前言 上一篇文章:基于uFUN开发板的心率计(一)DMA方式获取传感器数据,介绍了如何获取PulseSensor心率传感器的电压值,并对硬件电路进行了计算分析.心率计,重要的是要获取到心率值,本篇文章 ...

  5. NEXYS 3开发板练手--USB UART(一)

    接上一篇文章,今天来讲讲这个USB UART串口发送机. 我们知道,当我们的微处理器(单片机.FPGA.DSP等)要和电脑进行通信的时候一般会采用串行通信方式,而最常用的串行通信协议的物理层接口是RS ...

  6. NEXYS 3开发板练手--LED与数码管时钟

    做科研的时候从学校拿到一块基于Xilinx公司Spartan-6主芯片的FPGA开发板,因为之前一直在用Altera公司的FPGA,一开始接触它还真有点不太习惯.但毕竟核心的东西还是不会变的,于是按照 ...

  7. 基于Basys2开发板的简易电子琴和音乐播放器设计

    背景:华中科技大学 电测综合实验 主要功能:Basys2开发板外接一个扬声器(或无源蜂鸣器也可)实现电子琴和音乐播放器的功能.其中由于开发板上只有4个按键,所以电子琴功能只做了4个音调,分别对应于4个 ...

  8. 实践案例丨利用小熊派开发板获取土壤湿度传感器的ADC值

    摘要:一文带你用小熊派开发板动手做土壤湿度传感器. 一.实验准备 1.实验环境 一块stm32开发板(推荐使用小熊派),以及数据线 已经安装STM32CubeMX 已经安装KeilMDK,并导入stm ...

  9. 小白自制Linux开发板 九. 修改开机Logo

    许久不见啊,今天我们继续来修改我们的系统. 通过前面的几篇文章我们已经能轻松驾驭我们的开发板了,但是现在都是追求个性化的时代,我们在开发板上打上了自己的Logo,那我们是否可以改变开机启动的Logo呢 ...

随机推荐

  1. 在PHP与HTML混合输入的页面或者模板中就需要对PHP代码进行闭合

    PHP程序的时候会在文件的最后加上一个闭合标签,如下: <?phpclass MyClass{public function test(){//do something, etc.}}?> ...

  2. jquery send(data) 对data的处理

    // Convert data if not already a string if ( s.data && s.processData && typeof s.dat ...

  3. Empire C:Basic 1

    一.首先,从一个C程序开始: ///Name:Hello World ///Author:JA ///Date:2015-2-4 #include <stdio.h> //包含标准库的信息 ...

  4. CSS权威指南 - 基础视觉格式化 3

    行内替换元素 替换元素比如图片的高度比line-height大,并不会影响整个文字段落的line-height,会让有图片那一行框的高度可以容纳这个图片. 这个图片依然有一个line-height,和 ...

  5. controlling the variance of request response times and not just worrying about maximizing queries per second

    http://highscalability.com/blog/2010/11/4/facebook-at-13-million-queries-per-second-recommends-minim ...

  6. 一个关于Delphi XML处理单元的BUG

    使用delphi的XML处理单元 XMLDoc XMLIntf 在获取XML文本内容的时候, 高版本的Delphi会丢失编码描述....在D7上却是正常的, 下面是测试源码: procedure TF ...

  7. IHttpModule

    随便写一个类继承IHttpModule 实现IHttpModule中的两个方法 Init() Dispose() public void Init(HttpApplication context) { ...

  8. C语言 ---- 函数 结构体 iOS学习-----细碎知识点总结

    函数的定义     返回值类型 函数名(形式参数列表) {        函数的实现     } 函数不允许嵌套定义 如果函数的定义在主调函数之后,那么要进行提前声明才能使用. // 匿名结构体,结构 ...

  9. LeetCode Strobogrammatic Number II

    原题链接在这里:https://leetcode.com/problems/strobogrammatic-number-ii/ 题目: A strobogrammatic number is a n ...

  10. awk实现按照某个字段排序

    awk 'BEGIN{ FS="|"} { ary[$14,NR]=$0} END{ nrw=asorti(ary, newary) for(i=1;i<=nrw;i++) ...