• 微机原理与接口技术:数模转换和模数转换 详细笔记



    信号量的分类:

    • 数字量(Digit):计算机所处理的用二进制表示的信息,是离散的。
    • 模拟量(Analog):在时间和幅值上都是连续的信息,计算机无法直接处理。

    模拟量输入输出通道:

    通常把D/A转换和A/D转换的相关器件集中做在一块接口电路板上,称为模拟量输入输出通道。它主要由以下几个部件组成:

    1. 传感器(变送器):把外部的模拟量转换为电流或电压信号。
    2. 信号处理部件
      ①运算放大器:传感器输出的信号通常比较微弱,不能满足A/D转换的要求,需要经过放大,获得A/D转换所要求的输入电平。
      ②滤波电路:安装在现场的传感器及其传输线路容易受到干扰信号的影响,常常需要加接滤波电路,滤除干扰信号。
    3. 多路开关:需要检测或控制的模拟量往往多于一个,许多模拟量变化缓慢。这时,可以使用多路模拟开关,轮流接通其中的一路,使得多个模拟信号共用一个A/D转换器进行A/D转换。
    4. 采样/保持器:如果在一次转换期间输入的模拟量有较大的变化,那么转换得到的结果就会产生误差甚至发生错误。A/D转换期间保持输入信号不变的电路称为采样/保持电路。转换开始前,采样/保持电路采集输入信号(采样),转换进行的过程中,它向A/D转换器保持固定的输出(保持)。
    5. A/D转换器:A/D转换器是输入通道的核心环节,作用是将电压表示的模拟量转换为数字量,送到计算机中处理。
    6. D/A转换器:将数字量转换为模拟量输出,用于控制设备的工作。

    对于变化缓慢的模拟量,可以省略采样/保持电路。

    1.数模转换

    1.1.数模转换原理

    数模转换时间:数字量转换为模拟量所需要的时间一般是500ns左右。

    1.1.1.权电阻D/A转换器

    • 电路组成:位切换开关、权电阻、运算放大器、反馈电阻。权电阻的阻值按二进制的权值进行配置。

    • 输入输出关系:输出的模拟量与输入的二进制数据成正比。

    • 缺点:在输入的二进制位数比较多的情况下,权电阻的阻值差别很大,给制造带来困难,同时难以保证精度。因此权电阻数模转换器虽然简单,但是实际应用不多。
      练习题1:权电阻网络输出电压的计算

    在如图所示的电路中,UR=10v,R=10k,Rf=5k。试推导输出电压uo与输入数字量d3、d2、d1、d0的关系式,并求当d3d2d1d0为0110时输出模拟电压uo的值。
    在这里插入图片描述
    解答过程

    在这里插入图片描述

    1.1.2.R-2R T型电阻网络D/A转换器

    实际应用的D/A转换器,普遍采用R-2R型电阻网络。

    • 组成:切换开关、R-2R电阻网络、运算放大器、反馈电阻。
    • 输入输出关系:数字量经过该网络被转换成大小等比例的电流信号,运算放大器把电流信号进一步转换为电压信号。输出电压和基准电压的关系公式如下:
      在这里插入图片描述

    1.1.3.补充 D/A转换器的主要技术指标

    分辨率

    • 分辨率是D/A转换器的最低有效位(LSB)所对应的输出模拟量的大小。
    • 通常用数字量的位数来表示。
    • 对于一个分辨率为n位的转换器,能够分辨满量程电压2^-n输入信号。

    精度

    精度反映D/A转换的精确程度,可以分为绝对精度和相对精度。

    • 绝对精度:对应于给定的数字量,D/A输出端实际测得的模拟输出值与理论值之差。绝对精度由D/A转换的增益误差、线性误差和噪声等综合因素决定。
    • 相对精度:在零点和满量程值校准后,各种数字输入的模拟量输出与理论值之差最大值与满量程值的比值。

    建立时间

    • 建立时间也称为稳定时间,是指在D/A的数字输入端加上满量程的变化,其模拟输出稳定到最终值±1/2LSB时所需的时间。
    • 当输出的模拟量是电流时,建立时间较短;当输出的模拟量为电压时,建立时间较长。主要是输出运算放大器所需的时间。

    线性误差

    相邻两个数字量之间的差应该是1LSB。也就是理想的转换特性应该是线性的。在满量程范围内,偏离理想转换特性的最大值称为线性误差。

    温度系数

    在规定的范围内,相应于温度每变化1摄氏度,增益、线性度、零点及偏移等参数的变化量。温度系数直接影响转换精度。

    练习题2:数模转换

    一个8位D/A转换器的满量程(对应于数字量255)为10V。分别确定模拟量2.0V和8.0V所对应的数字量。

    解答:

    由于10V的量程对应8位二进制数,因此量化单位为10/256。
    因为2.0V中包含有51.2个量化单位,因此向下取整其对应第51个数字,即0011 0011B。
    同理因为8.0V中包含有204.8个量化单位,因此向下取整对应第204个数字,转换为二进制即可。

    1.2.D/A转换芯片——DAC0832

    DAC0832概述:DAC0832是由CMOS工艺制造的8位D/A转换器,使用R-2R T型电阻网络。可以采用直通输入、单缓冲和双缓冲三种工作方式。
    DAC0832组成:由两级8位寄存器(输入寄存器和DAC寄存器)和一个8位D/A转换器组成。

    1.2.1.引脚介绍

    • D0-D7:8位数字量输入。
    • ILE:数据锁存允许信号。当信号有效时可以使用寄存器锁存数据。
    • #CS:输入寄存器选择信号。当信号有效时表示选中第一级输入寄存器。
    • #WR1:输入寄存器的写选通信号。当信号有效时表示可以写输入寄存器。
    • #XFER:数据转移控制信号。当信号有效时表示允许数据从输入寄存器转移到DAC寄存器中。
    • #WR2:DAC寄存器的写选通信号。当信号有效时表示允许写DAC寄存器。
    • Vref:基准电压输入。电压范围为-10V-10V。
    • Rfb:反馈信号输入。
    • Iout1和Iout2:电流输出引脚。Iout1和Iout2的和为常数,Iout1随DAC寄存器的内容线性变化。

    DAC0832的电源:芯片有数字电源和模拟电源两套电源。

    注意事项

    1. 为了保证输出模拟量的稳定准确,应该采用高精度的基准电源。
    2. 为了避免数字信号对模拟信号的干扰,提高输出的稳定性和减小误差,应该把数字地和模拟地分开。
    3. DAC0832的输出信号功率较小,因此要接运算放大器。

    1.2.2.工作方式

    DAC0832具有直通输入、单缓冲、双缓冲三种工作方式。

    直通输入方式
    • 引脚连接:#CS、#WR1、#WR2、#XREF全部接地。
    • 工作特点:对输入的数字信号不进行锁存,直接将它转换为模拟信号输出。
    • 其他要求:必须由其他电路锁存数字信号向DAC0832输出。
    单缓冲方式
    • 锁存器使用:使用一级锁存器,占用一个端口地址。
    • 工作特点:执行一次输出指令可以将数据写入DAC0832输入锁存器并且转换输出。

    单缓冲方式下的编程实例:方波输出(地址300H)

    MOV DX,300H         ;首先将地址放入数据寄存器DX中(DX常用于存放端口的地址)
    START:MOV AL,00H    ;将方波的波谷输出值设置为0,放入寄存器AL中
           OUT DX,AL     ;将寄存器AL中的值输出到DX所指示的端口中进行输出操作
           CALL DELAYl   ;延迟一段时间,用于输出一条直线
           MOV AL,0FFH   ;将方波的波峰输出值设置为FF,放入寄存器AL中
           OUT DX,AL     ;将寄存器AL中的值输出到DX所指示的端口中进行输出操作
           CALL DELAY2   ;延迟一段时间,用于输出一条直线
           JMP START     ;循环执行程序段
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    双缓冲方式
    • 锁存器使用:使用二级锁存器,占用两个端口地址。
    • 工作特点:输出一个数据需要执行两条输出指令。第一条输出指令将数据写入DAC0832的输入寄存器,第二条输出指令将数据从输入寄存器送往DAC寄存器并生成新的模拟量。

    2.模数转换

    2.1.信号变换中的采样、量化和编码

    A/D转换的过程需要经过采样、量化、编码三个阶段。

    2.1.1.采样

    • 采样的定义: 对某一时刻的模拟量的瞬时值进行测量或者AD转换称为采样。
    • 奈奎斯特采样定理:采样频率一般要高于或至少等于输入信号最高频率的2倍。
    • 实际采样频率:实际应用中,采样频率可以达到信号最高频率的4-8倍。
    • 采样保持器的作用:使得转换期间A/D转换器输入的模拟信号的大小保持固定。

    2.1.2.量化

    • 量化的定义:用一个计量单位对模拟信号进行计量,称为量化。
    • 量化的作用与量化单位:量化的作用是把采样值取整为计量单位的整数倍。这个计量单位也称为量化单位,用符号▲表示。
    • 量化单位的大小:量化单位等于输入信号的最大范围/数字量的最大范围,对应于数字量1。
    • 均匀量化和非均匀量化:量化可以分为均匀量化和非均匀量化两种。均匀量化中量化间隔是一个常数;非均匀量化中,量化间隔随输入信号的幅度变化。

    2.1.3.编码

    • 编码的概念:量化得到的结果一般用二进制表示,0对应最小模拟信号输入,111…111对应最大模拟信号输入。
    • 双极性模拟量编码方式:对有正负极性的模拟量常采用偏移码表示。

    2.2.A/D转换原理

    2.2.1.双积分型A/D转换器

    • 名称由来:转换过程中需要两次进行积分运算:用模拟输入电压对电容积分(对电容充电)、让电容对参考电源反向积分(对电容放电)。

    • 基本原理:将输入电压变换成与其平均值成正比的时间间隔,再将此时间间隔转换为数字量,属于间接转换。

    • 优点:电路简单;具有低通滤波的作用,对常态干扰有很好的抑制作用,并且具有很高的精度。

    • 缺点:转换速度比较慢,通常为ms级别。

    • 适用情况:低频信号的测量。

    2.2.2.跟踪计数式A/D转换器

    • 基本原理:计数器对固定频率信号CLK进行计数,经过D/A转换后,Vo不断增加。当Vo>Vi时停止计数,此时计数值就是模拟量Vi对应的数字量。
    • 优点:结构简单且抗干扰能力强。
    • 缺点:转换速度比较慢,转换时间随输入信号的大小而不同。

    2.2.3.逐次逼近式A/D转换器

    • 基本原理:从最高位开始逐次设定寄存器中的数字量,经过D/A转换得到电压,与待转换的模拟电压进行比较,通过比较确定各个数位上是1还是0。
    • 转换结果的逼近程度:转换结果是否逼近模拟信号,取决于进行测试的位数。位数越多越能逼近模拟量,但是转换时间也会变长同时电路会更加复杂。
    • 优点:转换速度较快,转换时间为1-100ns;转换时间固定,不随输入信号大小发生变化。
    • 缺点:抗干扰能力较弱,需要采用适当的滤波措施。
    • 适用范围:适用于高精度高频率的A/D转换,是广泛应用的一种转换方式。

    2.3.A/D转换器的主要技术指标

    分辨率

    输入数字量变化一个相邻数码所需输入模拟电压的变化量,也就是芯片最低有效位相当的模拟电压值。

    精度

    • 精度的定义:A/D转换器输出数字量所对应的实际输入电压值与理论上产生该数字量应用的输入电压之差。
    • 精度的表示:精度反映了实际A/D转换器和理想A/D转换器的差别,常用误差表示。
    • 绝对精度和相对精度:绝对精度是指实际转换结果与理论转换结果之差,常以数量量的最低有效位的分数值表示,如1/2LSB;相对精度是指绝对误差占转换范围的百分比。

    转换时间

    • 转换时间的概念:完成一次A/D转换所需要的时间。
    • 转换速率的概念:转换时间的倒数称为转换速率。

    量程

    • 量程的定义:被转换的模拟输入电压的变化范围。
    • 量程的分类:按照电压范围可以分为单极性和双极性两种类型。

    工作温度范围

    3.ADC0809

    概述:ADC0809是逐次逼近型8位A/D转换芯片。输入模拟信号是单极性,量程0-5V,典型转换时间100ns。该芯片具有较高的性价比。

    3.1.ADC0809的组成

    ACD0809由三个部分组成。

    模拟输入部分

    • ADC0809模拟输入部分从8路模拟信号输入中根据ADDC ADDB ADDA引脚的信号选择一路输入。
    • 当ALE为高电平时,地址信号被锁存。

    A/D变换器部分

    由逐次逼近寄存器SAR、比较器、电阻网络等组成。

    基准电压输入Vref+和Vref-

    3.2.ADC0809的工作过程

    1. 信号选择:在ALE信号的作用下,地址引脚上的地址信号被锁存,随后又地址引脚选择的模拟信号被多路开关接通,进入AD转换部分。
    2. A/D转换:在启动脉冲START的作用下,A/D转换开始,EOC输出低电平。
    3. 转换完成:转换结束后EOC由低电平变为高电平,该信号可以作为状态信号由CPU查询,也可以作为中断请求信号通知CPU一次A/D转换已经完成。
    4. 数据传输:CPU在查询式I/O程序或中断服务程序中执行读ADC0809数据端口的指令,该指令经过地址译码电路产生高电平的OE有效信号,打开输出三态缓冲器,转换结果通过系统数据总线进入CPU。此后EOC恢复低电平。

    3.3.ADC0809芯片应用

    ADC0809与系统有3种常见的连接方法。

    1. 占用3个I/O端口:ADDC-ADDA连接数据总线。端口1选择信号连接ALE,用来向809输出模拟通道号并锁存;端口2选择信号连接START,用于启动转换;端口3选择信号连接OE,用于读取转换后的数据结果。
    2. 占用2个I/O端口:ADDC-ADDA连接数据总线。端口1选择信号连接ALE和START,用来向ADC0809输出模拟通道号并锁存,同时启动转换;端口2选择信号连接OE,读取转换后的数据结果。
    3. 不占用独立的I/O端口:通过并行接口芯片进行连接。
  • 相关阅读:
    【入门】求n个数中出现次数最多的数
    判断EditText键盘输入的是中文还是英文,如何监听
    oracle中创建自动增长列
    linux配置固定ip(两种方法)
    SpringBoot的作用
    CentOS7安装时直接跳过了安装信息摘要页面的解决方法
    外贸获客技巧整理
    从 1.5 开始搭建一个微服务框架——日志追踪 traceId
    Nginx搭建Rtmp流媒体服务,并使用Ffmpeg推流
    把ipa文件上传到App Store教程步骤
  • 原文地址:https://blog.csdn.net/hanmo22357/article/details/128172277