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

news2024/11/15 19:27:52

文章目录

  • 1.数模转换
    • 1.1.数模转换原理
      • 1.1.1.权电阻D/A转换器
      • 1.1.2.R-2R T型电阻网络D/A转换器
      • 1.1.3.补充 D/A转换器的主要技术指标
    • 1.2.D/A转换芯片——DAC0832
      • 1.2.1.引脚介绍
      • 1.2.2.工作方式
        • 直通输入方式
        • 单缓冲方式
        • 双缓冲方式
  • 2.模数转换
    • 2.1.信号变换中的采样、量化和编码
      • 2.1.1.采样
      • 2.1.2.量化
      • 2.1.3.编码
    • 2.2.A/D转换原理
      • 2.2.1.双积分型A/D转换器
      • 2.2.2.跟踪计数式A/D转换器
      • 2.2.3.逐次逼近式A/D转换器
    • 2.3.A/D转换器的主要技术指标
  • 3.ADC0809
    • 3.1.ADC0809的组成
    • 3.2.ADC0809的工作过程
    • 3.3.ADC0809芯片应用

信号量的分类:

  • 数字量(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     ;循环执行程序段

双缓冲方式

  • 锁存器使用:使用二级锁存器,占用两个端口地址。
  • 工作特点:输出一个数据需要执行两条输出指令。第一条输出指令将数据写入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端口:通过并行接口芯片进行连接。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/61464.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

『NLP学习笔记』TextCNN文本分类原理及Pytorch实现

TextCNN文本分类原理及Pytorch实现 文章目录一. TextCNN网络结构1.1. CNN在文本分类上得应用1.2. 回顾CNN以及Pytorch解析1.2.1. CNN特点1.2.2. 一维卷积Conv1d1.2.3. 二维卷积 Conv2d1.2.3. 三维卷积 Conv3d1.2.4. 池化(pooling)操作1.2.4. nn.BatchNorm操作1.3. nn.ModuleLi…

大数据之数据的压缩与存储

文章目录前言一、Hive的压缩方式(一) 概念(二) 简介(三) 数据分层的压缩方式选择(四)开启Map输出阶段压缩(五)开启Reduce输出阶段压缩二、 Hive的数据存储格式…

再有人问你kafka 把这篇扔给他(建议收藏)

前言 最近重新读起kafka的内容,看到kafka官网文档里,有专门一栏讲kafka的设计,觉得很受益。我们常常会知道这个中间件是什么,是什么机制,这次想换个角度来聊,它在设计消息系统的时候,都做了哪些…

火山引擎虚拟数字人技术与应用

导读:火山引擎正在打造完善的虚拟数字人技术和应用体系,那么火山引擎是如何定义虚拟数字人的呢?火山引擎 2D 虚拟数字人和 3D 数字人采用了怎样先进的技术?火山引擎数字人有哪些应用和前景展望?今天我们就来一起探秘火…

【Transformer】Transformer理论知识

Transformer目录Transformer介绍Seq2seq结构Encoder结构Decoder结构Autoregressive Decoder(AT):Encoder和Decoder对比和联系Cross attention:Non-autoregressive Decoder(NAT):训练Seq2seq Mod…

基于ssm高校档案管理系统源码

档案管理作为企事业单位管理工作的基础,档案是企事业单位建设信息系统的重要组成部分,档案是提高企事业单位工作质量和工作效率的必要条件,甚至是维护历史真实面貌的一项重要工作。 1、档案信息数字化能够提供档案信息方便快捷的服务方式。 数…

量化风控的贷前实操课—详解的规则调优

风控全流程涉及贷前风控、贷中监控、贷后催收,每个模块都环环相扣,互相关联。而作为其中最关键模块的贷前风控,几乎是整个风控模块中最重要的部分,现金贷等互金产品重贷前、信用卡重贷中。 贷前风控是可以说整个防控中的第一道防线…

简单的CNN实现——MNIST手写数字识别

0.概述 此文章不涉及复杂的理论知识,仅仅只是利用PyTorch组建一个简单的CNN去实现MNIST的手写数字识别,用好的效果去激发学习CNN的好奇心,并且以后以此为基础,去进行一些改造。(前提是把基础代码看明白) 本…

java计算机毕业设计ssm社团管理系统0gl2e(附源码、数据库)

java计算机毕业设计ssm社团管理系统0gl2e(附源码、数据库) 项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。…

Android Room的使用详解

Android Room的使用详解 一:Room的基本介绍 Room 是 Android 架构组件的一部分,Room 持久性库在 SQLite上提供了一个抽象层,以便在充分利用 SQLite 的强大功能的同时,能够流畅地访问数据库。具体来说,Room 具有以下优…

【Linux Kernel 6.1 代码剖析】- 进程管理概论

目录 进程与线程的概念(内核线程和用户线程) 进程的3种基本状态 引入挂起后的7种基本状态 Linux 内核6.1 - 进程的8种详细状态 进程控制块 PCB SMP 架构 进程与线程的概念(内核线程和用户线程) 进程是正在运行的程序实体&a…

基于java+ssm+vue+mysql的旅游管理系统

项目介绍 随着现在网络的快速发展,网上管理系统也逐渐快速发展起来,网上管理模式很快融入到了许多企业的之中,随之就产生了“旅游信息管理系统”,这样就让旅游信息管理系统更加方便简单。 对于本旅游信息管理系统的设计来说&…

QDir(目录)

QDir 类提供对目录结构及其内容的访问,QDir 用于操作路径名、访问有关路径和文件的信息以及操作底层文件系统,它也可以用来访问Qt的资源系统。 Qt使用“/”作为通用目录分隔符,就像URL中的“/”用作路径分隔符一样。如果您始终使用“/”作为…

2022年大一学生实训作业【基于HTML+CSS制作中华传统文化传统美德网站 (6页面)】

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

【YOLOv7/YOLOv5系列算法改进NO.47】改进激活函数为GELU

文章目录前言一、解决问题二、基本原理三、​添加方法四、总结前言 作为当前先进的深度学习目标检测算法YOLOv7,已经集合了大量的trick,但是还是有提高和改进的空间,针对具体应用场景下的检测难点,可以不同的改进方法。此后的系列…

SparkSQL - 介绍及使用 Scala、Java、Python 三种语言演示

一、SparkSQL 前面的文章中使用 RDD 进行数据的处理,优点是非常的灵活,但需要了解各个算子的场景,需要有一定的学习成本,而 SQL 语言是一个大家十分熟悉的语言,如果可以通过编写 SQL 而操作RDD,学习的成本…

ARM汇编之程序状态寄存器传输指令

ARM汇编之程序状态寄存器传输指令前言 首先,请问大家几个小小问题,你清楚: CLZ指令的常见使用场景;状态寄存器访问指令有哪些? 今天,我们来一起探索并回答这些问题。为了便于大家理解,以下是…

[附源码]Python计算机毕业设计SSM金牛社区疫情防控系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

[附源码]JAVA毕业设计老年人健康饮食管理系统(系统+LW)

[附源码]JAVA毕业设计老年人健康饮食管理系统(系统LW) 目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项…

LeetCode 0542. 01 矩阵

【LetMeFly】542.01 矩阵 力扣题目链接:https://leetcode.cn/problems/01-matrix/ 给定一个由 0 和 1 组成的矩阵 mat ,请输出一个大小相同的矩阵,其中每一个格子是 mat 中对应位置元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 示…