A/D转换基本原理及实现方法

本文详细介绍了A/D转换的基本原理,包括采样保持、量化和编码过程,并探讨了不同类型的A/D转换器,如并行、反馈比较型和逐次比较型。还讨论了A/D转换的参数指标,如分辨率和转换时间,并提供了集成A/D转换器ADC0804的工作原理和应用实例。最后,提到了在单片机中实现A/D转换的编程注意事项和时序控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这篇大概介绍一下A/D转换的原理以及相应的电路连接方法。

模拟信号的幅度一般随时间变化而连续变化。以下就是不同性质模拟量的波形
在这里插入图片描述

而单片机中一般运算用的是数字量(0/1的组合),这就涉及到了外围电路需要有一个模数转换的过程。顾名思义是把输入的模拟信号尽可能无失真地转化为数字量。

如果把数字量形容成是一个个分块储存信息的模块,那模拟量这种连续的信息在转换过程中要尽可能避免信息的丧失。处不来讲转换的思路就是把数字量分块,以数字的形式转换至数字量中。如数字量为有六位(000000-111111),那么就可以把模拟量均等分为64份,每份中储存着转换过来的相应信息。

但是这个只是我们的初步思路,从原理上讲,一般的A/D转换分为采样保持,量化和编码三个过程。采样的量一般是电压(电流不好取),通过一定的采样保持时间过后把采样的电压量转换为数字量,并按一定形式的0/1编码顺序给出转换结果,这就是得到了相应的数字信号。框图如下:

在这里插入图片描述
下面分别介绍相应的理论知识。

1.采样定理:(信号里面基本接触过,还可以参考无失真系统需要具备的条件等知识)

采样定理反映了采样信号频率与输入信号频率之间的制约关系,可理解为采样信号的频谱(低通滤波器)一定要包含输入信号频谱的全部内容。
在这里插入图片描述因为每次将采样电压转化为数字量需要一定的时间,所以采样后也必须把采样电压保持一段时间,故在采样过程中最后反应出的Vi都是采样结束时候的值。

2.量化与编码

数字信号一定是在数值上离散的。且任何一个数字量都会是一个基础数字量的整数倍。

故选取一个最小的变量作为单位变量。将模拟电压与之相除后就能得出相应的数字二进制代码,经推算也可以得出对应的模拟电平。

在这里插入图片描述

上图的单位变量就为1/8V,量化误差(每两个单位间隔中可能出现的最大误差)也是1/8.

这其中有一个小知识点。怎么设计电路使其有采样和保持的功能。

简单的采样保持电路如下图所示,其将MOS管作为启动和停止的开关,将信号通过反相放大器后得出输出电压。

在这里插入图片描述
在这里插入图片描述

这里的场效应管也有反相截止的功能。即当输入由高转低时,电流无法通过场效应管。

对于这种采样速度低的电路,可以有以下改进

在这里插入图片描述

VL引脚控制着开关的闭合,当为高电平时开关打开。模拟电压可经过两级跟随器传至Vo

当VL由高变低时,还有电容Ch放电提供相应电压,电平得以维持。

当输入的电压比较大,超出了开关所能承受的最大电压时,引入一个二极管电路,通过单向导通的性质可以起到分压的作用,且当电压合适时该电路不起分压作用。

常用的A/D转换器有直接A/D转换器(并行型/反馈比较型)以及间接A/D(需要转成T,f等中间变量后再转换)

1.直接

(1)并行A/D:由电压比较器,寄存器以及编码器三部分组成

[
电压比较器是对输入电压进行分类,如图所示,运放的负极接模拟电平大小为2n-1/15(n=1,2,……7)的端口,分压电阻每两个电阻之间的节点都接在VI引出的这条总线上。进行电压比较后将比较结果数据传到寄存器。寄存器设置的目的是因为比较结果可能会有变化,待稳定后通过译码器部分对相应的结果转化为二进制数字变量。各种变量之间的对应关系如下

在这里插入图片描述
这种电路特点是传输速度较快,但缺点是随着二进制数字量位数的增加,需要比较器的数量呈指数型增长(2^n-1),且自带采样保持功能

(2)反馈比较型A/D

在这里插入图片描述

引入一个D/A转换器和一个计数器,计数器传送数字信号至D/A,转为模拟信号后在电压比较器这里与VI按位做比较,若一致就直接传送至计数器,不一致通过比较器后也会变为正确的那一项,按位比较重复多次后,计数器将数据传送至输出寄存器。因为在比较过程中数字不断变化,故设置了输出寄存器。这样就可以起到逐步逼近模拟量的功能。

(3)逐次比较器

为了进一步提升比较的速度,设计了逐次比较器。下图是三位逐次比较器的原理图
在这里插入图片描述

引入了具有锁存功能的d触发器,三位得出比较结果分别上接三个RS触发器,在比较器C的正极输入前又加入了累加器,减去了半个量化误差。当要输出的位数越小时,时钟端的频率就越高,处理速度就会越快

2.间接比较器

一般使用的是V-T比较和V-F比较两类

在这里插入图片描述

剩下一个问题是关于A/D转换的参数指标。

大致有分辨率(转换器对输入信号的分辨能力),转换误差(实际输出与理论输出之间的差别)转换精度及转换时间四类。主要介绍分辨率及转换时间

1.分辨率:输入位数越多,转换位数越多,分辨率就越高。

eg:5V是一个转换器的输入最大值,若要输入8位二进制数,则有分辨率5/2^8V=19.53mV

2.转换时间:

在这里插入图片描述
即在实际运用中,需要综合考虑选用哪一种转换器最为合适

eg:
在这里插入图片描述

每个热电偶平均1/16s的转换时间,上述比较器都能用。

从0.1°C可知该转换器要求的分辨率为1/4500 通过最大电压范围0.025/2^n<=1/4500就可得出位数。

接着介绍集成A/D转换器的工作原理及实现方法。

因为不同的集成方式下对接口可以有不同的处理方式,一般逐次性转换器用的比较多,常用型号是ADC0804,实物图如下

在这里插入图片描述

需要注意的端口如下:

A/D转换器,故DB0-DB7为数据输出端口。具有三态功能

CLKR为内部时钟发生的外接电阻端,可与CLK配合由芯片产生时钟

AGND和DGND是模拟和数字量的端口,通常都接地

V I N ( + ) V_{IN(+)} V

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值