一、模数转换的一般步骤:

1)采样和保持

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

为了保证采样后的信号能恢复原来的模拟信号,要求采样的频率fs与被采样的模拟信号的最高频率fimax应满足下面关系:fs≥2fimax

2)量化和编码

数字信号不仅在时间上是离散的,而且数值大小的变化也是不连续的。

这就是说,任何一个数字量的大小只能是某个规定的最小数值的整数倍。

而采样-保持所得的电压信号虽成阶梯状,但电平仍是连续变化的,即不是数字量。

因此,必须将采样-保持后的信号的大小局限在这些规定的离散电平上,即在进行A/D转换时,必须将采样-保持后的电压化为某个规定的最小单位的整数倍,这一过程称为量化。

所取的最小数量单位叫做量化单位,用Δ表示。

显然,数字信号最低有效位的1代表的数值大小就等于Δ。

将量化幅值用二进制代码或二-十进制码等表示出来的过程称为编码。那些代表模拟信号各采样值的代码组就是A/D转换的结果。

由于模拟信号是连续的,所以它就不一定能被Δ整除,因此量化过程不可避免的会引入误差,我们称这种误差为量化误差。

/************************************************************************************************************************************************************************************/

二、模/数转换原理

1)逐次逼近式A/D转换器

逐次逼近式A/D转换器是一种反馈比较型A/D转换器。

它的基本构思是:取一个数字量加到D/A转换器,于是得到一个输出模拟量比较电压。将这个模拟电压与输入的模拟电压信号比较,如果两者不等,则调整所取的数字量,直到两个模拟电压相等为止,最后所取的数字量就是所求的转换结果。

逐次逼近式A/D转换器是目前反馈比较型A/D转换器中使用最多的一种。

e.g.举例:

这是一个4位二进制代码的逐次逼近式A/D转换器。

控制逻辑电路6个D触发器FF1~FF6和与门1~4构成,其中6个D触发器组成环形移位寄存器;

逐次逼近寄存器由4个RS钟控触发器FFA~FFD组成;

4位DAC用来产生反馈比较电压Uf

门5~8输出4位数字量D3D2D1D0;

C为电压比较器。

设ADC满量程可输入电压Um=100mV,下面分析将采样保持模拟信号Ui=65mV转换成数字信号的过程:

????????????????

2)并行比较型A/D转换器

上图为3位二进制输出的并行比较型A/D转换器的逻辑图。

这是一个直接A/D转换器,它由电压比较器、缓冲寄存器和编码器(代码转换器)及部分组成。

图中,UR为电压比较器的基准电压,输入的模拟电压幅值范围为0~UR

3)双积分A/D转换器.

这是一种间接A/D转换器。

间接A/D转换器是先将模拟信号电压变换为相应的某种形式的中间信号(如变为时间、频率等),然后再将这个中间信号变换为二进制代码输出。

目前用得最多的是电压-时间(V-T)变换型间接A/D转换器。

图14-13和14-14分别为双积分A/D转换组成框图和原理图。

它由积分器、过零比较器、脉冲信号源及控制逻辑电路组成。

双积分式A/D转换方法的基础是测量两个时间,一个是输入模拟电压向电容充电的固定时间,另一个是在已知参考电压下电容充分放电所需的时间。输入模拟电压与参考电压的比值就等于上述两个时间之比。

/************************************************************************************************************************************************************************************/

三、模/数转换器的主要技术参数

1)分辨率

2)转换速度

3)相对误差

硬件相关-ADC原理(未完成)的更多相关文章

  1. 嵌入式硬件之ADC/DAC

    嵌入式硬件之ADC/DAC 写在前面 这几天在做一个寒假练项目,其中涉及到了音频的处理,ADC.DAC再次进入到了我的视野,并引起了我新的思考. 1.初次相识 记得去年七月份,本科毕业刚离校,就到研究 ...

  2. Nvidia显卡怎样查看显存大小及硬件相关信息

    在电脑上安装Nvidia显卡驱动,平时也会通过Nvidia控制面板来查看显示显存位宽及宽带.显示显存容量和显示显存芯片信息等等,那么该如何查看Nvidia显存大小以及Nvidia硬件相关信息呢? 1. ...

  3. LoRaWAN_stack移植笔记(一)--RF硬件相关

    和硬件相关的问题 TCXO 的使用 根据SX1276数据手册, 如果使用TCXO,则需要配置RegTcxo寄存器为0x19,代码如下 ``` c void SX1276SetTcxoConfig(vo ...

  4. android BSP与硬件相关子系统读书笔记(1)android BSP移植综述

    从linux驱动转行至Android驱动开发大半年了,一开始就产生了一个很纠结目标和问题,就是不停的google如何porting android!这个问题得到的结果对于初出茅庐的我,感到迷惘.随着工 ...

  5. 在linux中查询硬件相关信息

    1.查询cpu的相关 a.查询CPU的统计信息 使用命令:lscpu 得到的结果如下: Architecture: x86_64 CPU op-mode(s): -bit, -bit Byte Ord ...

  6. TMS320C6657双核DSP的图像处理系统开发(1):硬件相关tips

             1.前言 新项目中打算对现有的TMS320C6455+Kintex7 FPGA平台进行升级,采用TMS320C6657作为新核心,主要考虑到几点点: 1)具备DDR3接口,可以更加方 ...

  7. 大数据相关技术原理资料整理(hdfs, spark, hbase, kafka, zookeeper, redis, hive, flink, k8s, OpenTSDB, InfluxDB, yarn)

    hdfs: hdfs官方文档 深入理解HDFS的架构和原理 https://blog.csdn.net/kezhong_wxl/article/details/76573901 HDFS原理解析(总体 ...

  8. Spring中Aware相关接口原理

    Spring中提供一些Aware相关接口,像是BeanFactoryAware. ApplicationContextAware.ResourceLoaderAware.ServletContextA ...

  9. 硬件相关-EMI & EMS & EMC

    EMI——Electro Magnetic Interference 电磁干扰 定义:是指电磁波与电子元件作用后而产生的干扰现象. 分类:有传导干扰和辐射干扰两种. 传导干扰: 是指通过导电介质把一个 ...

随机推荐

  1. LoadRunner脚本 《第二篇》

    一.基础函数简介 在VU左边导航栏中,有三个LoadRunner框架函数,分别是vuser_init().Action().vuser_end().这三个函数存在于任何Vuser类型的脚本中. vus ...

  2. nginx之keepalive

    一:设置 keepalive_timeout  0; 发curl: [xxx ~]$ curl -H "Keep-Alive: 60" -H "Connection: k ...

  3. ASP.NET(C#)--Repeater中生成“序号”列

    需求介绍:在Repeater(Table)中加入“序号”列,从1开始自增,步长为1. 思路:因为“序号”跟Repeater的行号有关,所以要在Repeater的ItemDataBound事件中输出“序 ...

  4. javaSE第二天

    第二天    7 1:关键字(掌握)    7 2:标识符(掌握)    7 (1)就是给类,接口,方法,变量等起名字的字符序列    7 (2)组成规则:    7 (3)注意事项:    8 (4 ...

  5. wp8.1 全球化解决办法

    最近在更新一个应用,在wp8.1里面重写整个应用,由于8.1版本的api.架构和windows8.1的接口高度相同,变化很大,在编码过程中,只能一边翻msdn资料一边摸索解决遇到的问题,其中程序标题和 ...

  6. 【风马一族_php】NO0_搭建web服务器

    原文来自:http://www.cnblogs.com/sows/p/5977996.html  (博客园的)风马一族 侵犯版本,后果自负 安装apache apache是一种B/S结构的软件,apa ...

  7. c#文本文件写入

      string err = "Hellod world";             FileStream fs = null;             string filePa ...

  8. SQL语句统计一段时间内的记录数

    实际应用中经常需要统计单位时间的记录数: 一个小时: SELECT ),createdate,) AS 日期 ,DATEPART(hh,createdate) AS 小时,COUNT(*)AS 记录 ...

  9. Silverlight取得Session

    首先Session是运行在服务器上的,而Silverlight运行在客户端.因此在Silverlight中使用SESSION的说法并不准确, 只因大家经常这样搜索才起这个名字. 有两种方法实现Silv ...

  10. sail.js学习 - 安装篇

    导言: 最近在学习sails.js(http://sailsjs.org/),因为用的人不多,资料较少,故写些自己的学习过程.因自己也是初学node.js,有问题大家指出. 介绍: sails.js的 ...