【51单片机入门记录】A/D D/A转换器概述

news2024/11/20 7:17:59

目录

一、A/D D/A转换器简介

(1)模数转换器-ADC (analogue-to-digital conversion)

(2)数模转换器-DAC(digital-to-analogue conversion) 

(3)应用场景

二、ADC原理

(1)A/D转换原理

双积分型:

逐次逼近型:

并联比较型:

(2)A/D转换性能指标

三、DAC原理

(1)主要原理方法

权电阻网络:

R-2R倒T形电阻网络:

电流型DAC:

(2)D/A转换性能指标

四、A/D、D/A转换器PCF8591概述

(1)PCF8591简介

(2)PCF8591功能

(3)特征

(4)引脚图

(5)PCF8591器件寻址


一、A/D D/A转换器简介

(1)模数转换器-ADC (analogue-to-digital conversion)

模拟信号只有通过A/D转化为数字信号后才能用软件进行处理,这一切都是通过A/D转换器(ADC)来实现的。与模数转换相对应的是数模转换,数模转换是模数转换的逆过程。

(2)数模转换器-DAC(digital-to-analogue conversion) 

又称D/A转换器,简称DAC,它是把数字量转变成模拟的器件。D/A转换器基本上由4个部分组成,即权电阻网络、运算放大器、基准电源和模拟开关。

(3)应用场景

需要将检测到的连续变化的模拟量转换为数字量进行处理如:温度、压力、流量、速度、光强等;

智能手机触摸信号需要转换为数字信号才能分辨触摸位置、数字去抖;

打电话或者麦克风需要将模拟声信号转换为数字信号以便存储回放、语音识别;

手机和基站之间的通信是模拟电磁信号,同样需要高性能的ADC将其转化为数字信号,才能变成各位看到的电影、微博(当然没这么简单)。

二、ADC原理

(1)A/D转换原理

双积分型:

双积分型通过对模拟电压对电容充放电的积分时间的计数,得到输入模拟量在转换期间的平均值的数字量。

·转换分辨率和精度较高、抗干扰力强、价格便宜等优点

·转换的速度较慢,通常为数十到数百毫秒转换一次。

逐次逼近型:

逐次逼近型的ADC在片内将模拟量和由一个数字量对应的模拟量进行比较,根据比较结果,逐位调整原数字量,最终确定一个最接近原模拟量的数字量作为结果。

·优缺点介于双积分型和并联比较型之间,即速度较快(转换时间为微秒级)、分辨率中等、价格中等。

并联比较型:

并联比较型ADC在片内使用多个比较器,仅作一次比较就确定最接近原模拟量的数字量,因此转换速率极高(转换时间为纳秒级),又称为Flash(闪速

(2)A/D转换性能指标

  • 分辨率:指数字量变化一个最小量时对应的模拟信号的变化量,对于的模拟信号变化的范围,它代表了A/D 转换器对模拟输入量微小变化的分辨能力;
  • 转换时间:指A/D转换器完成一次A/D转换所需要的时间;
  • 精度:指的是A/D转换器转换的数字量理论上对应的模拟量,与实际输入模拟量的差别。精度代表的差别应该是排除了有限分辨率带来的量化误差而剩下的误差值;
  • 其他指标还有线性误差、偏移误差、满刻度误差、量程、电源灵敏度等

三、DAC原理

(1)主要原理方法

权电阻网络:

权电阻网络DAC的转换精度取决于基准电压VREF,以及模拟电子开关、运算放大器和各权电阻值的精度。转换分辨率和精度较高、抗干扰力强、价格便宜等优点;转换的速度较慢,通常为数十到数百毫秒转换一次。

R-2R倒T形电阻网络:

R-2R倒T形电阻网络由若干个相同的R、2R网络节组成,每节对应于一个输入位。节与节之间串接成倒T形网络。R-2R倒T形电阻网络DAC是工作速度较快、应用较多的一种。

电流型DAC:

电流型DAC则是将恒流源切换到电阻网络中,恒流源内阻极大,相当于开路,所以连同电子开关在内,对它的转换精度影响都比较小,又因电子开关大多采用非饱和型的ECL开关电路,使这种DAC 实现高速转换换精度较高;

(2)D/A转换性能指标

分辨率:DAC的分辨率是指最小输出电压与最大输出电压之比,也就是模拟满量程范围被2n-1分割所对应的模拟值。模拟满量程范围一般指的就是参考电压VREF;

转换速度:转换速度一般由建立时间决定。从输入由全0突变为全1时开始,到输出电压稳定在FSR±1/2LSB范围(或以FSR±x%FSR指明范围)内为止,这段时间称为建立时间,它是DAC的最大响应时间,所以用它衡量转换速度的快慢;

转换精度:D/A转换器的转换精度与D/A转换器的集成芯片的结构和接口电路配置有关。在D/A转换过程中,影响转换精度的主要因素有失调误差、增益误差、非线性误差和微分非线性误差;

其他指标:满量程范围、线性误差、满刻度误差、电源灵敏度等

四、A/D、D/A转换器PCF8591概述

(1)PCF8591简介

  • PCF8591是一个单片集成、单独供电、低功耗、8-bit CMOS数据获取器件。
  • PCF8591具有4个模拟输入、1个模拟输出和1个串行12C总线接口。
  • PCF8591的3个地址引脚A0,A1和A2可用于硬件地址编程,允许在同个12C总线上接入8个PCF8591器件,而无需额外的硬件。
  • 在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输。

(2)PCF8591功能

PCF8591的功能包括多路模拟输入、内置跟踪保持、8-bit模数转换和8-bit数模转换。PCF8591的最大转化速率由I2C总线的最大速率决定。

(3)特征

  • 单电源供电
  • 工作电压:2.5V~6V
  • 待机电流低
  • 12C总线串行输入/输出
  • 通过3个硬件地址引脚编址
  • 采样速率取决于12C总线速度
  • 4个模拟输入可编程为单端或差分输入
  • 自动增量通道选择
  • 模拟电压范围:VSS~VDD
  • 片上跟踪与保持电路
  • 8位逐次逼近式A/D转换
  • 带一个模拟输出的乘法DAC

(4)引脚图

AINO~AIN3:模拟信号输入端。

A0~A3:引脚地址端。

VDD、VSS:电源端。(2.5~6V)

SDA、SCL:12C总线的数据线、时钟线。

OSC:外部时钟输入端,内部时钟输出端。

EXT:内部、外部时钟选择线,使用内部时钟时EXT 接地。

AGND:模拟信号地。

(5)PCF8591器件寻址

  • PCF8591采用典型的I2C总线接口器件寻址方法,即总线地址由器件地址、引脚地址和方向位组成。
  • 由PHILIPS公司规定AD器件地址为1001,引脚地址为A2A1A0,其值由用户选择因此系统中最多可接8个具有I2C接口的器件,地址的最后一位为方向为R/W,当主控器对A/D器件进行读操作时为 1,进行写操作时为0,总线操作时,由器件地址、引脚地址和方向位组成的从地址为主控器发送的第一字节。

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

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

相关文章

ruoyi-nbcio-plus基于vue3的flowable流程元素选择区面板的升级修改

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 http://122.227.135.243:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a…

Web Component 组件库有什么优势

前言 前端目前比较主流的框架有 react,vuejs,angular 等。 我们通常去搭建组件库的时候都是基于某一种框架去搭建,比如 ant-design 是基于 react 搭建的UI组件库,而 element-plus 则是基于 vuejs 搭建的组件库。 可能你有这种体…

R语言数据操纵:如何构建子集

目录 向量的子集 矩阵的子集 数据框的子集 列表的子集 如何处理缺失值 向量化操作 构建子集的基本方法: 1.使用[]提取一个或多个类型相同的元素 2.使用[[]]从列表或者数据框中提取元素 3.使用$按名字从列表或数据框中提取元素 向量的子集 比如有一个向量…

ssm基于面向对象的学生事务处理系统分析与设计论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本学生事务处理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息…

java算法day44 | 动态规划part06 ● 完全背包 ● 518. 零钱兑换 II ● 377. 组合总和 Ⅳ

完全背包理论基础 完全背包和01背包问题唯一不同的地方就是,每种物品有无限件。 体现在代码中就是对背包的遍历顺序不同。01背包是逆序遍历背包,完全背包是顺序遍历背包。 518. 零钱兑换 II class Solution {public int change(int amount, int[] coin…

银行业架构网络BIAN (Banking IndustryArchitecture Network)详细介绍

BIAN ( The Banking Industry Architecture Network) 是一个业界多方协作的非营利性组织,由全球领先银行、技术提供商、顾问和学者组成,定义了一个用以简化和标准化核心银行体系结构的银行技术框架。这一框架基于面向服务的架构 (SOA) 原则,银…

Everything搭建http服务器

突然发现everything还可以搭建http服务器,给大家分享一下 打开everything,按图示填写或选择内容 在浏览器输入你的本地地址和端口 再输入刚才设置的账户密码,即可使用

产品推荐 | 中科亿海微推出亿迅®A8000金融FPGA加速卡

01、产品概述 亿迅A8000金融加速卡,是中科亿海微联合金融证券领域的战略合作伙伴北京睿智融科,将可编程逻辑芯片与金融行业深度结合,通过可编程逻辑芯片对交易行情加速解码,实现低至纳秒级的解码引擎,端到端的处理时延…

Integer.parseInt和Integer.valueOf区别

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 Integer.parseInt多…

传输层 --- TCP (下篇)

目录 1. 超时重传 1.1. 数据段丢包 1.2. 接收方发送的ACK丢包 1.3. 超时重传的超时时间如何设置 2. 流量控制 3. 滑动窗口 3.1. 初步理解滑动窗口 3.2. 滑动窗口的完善理解 3.3. 关于快重传的补充 3.4. 快重传和超时重传的区别 4. 拥塞控制 4.1. 拥塞控制的宏观认识…

Mysql安装(命令方式安装)

下载mysql压缩包 Mysql可以使用界面安装,也可以使用命令的方式安装,今天我们使用命令的方式安装mysql。首先下载mysql压缩包(下载地址:https://dev.mysql.com/downloads/mysql/),解压到你想要安装的目录。 …

C++相关概念和易错语法(3)(类的声明和定义、空指针分析、this指针)

1.类的声明和定义 注意类的声明和定义分离的时候,在定义处要使用域作用限定符,否则函数声明链接时的定位不到函数的定义。 这些成员变量、函数的作用于这个类域,将功能集成在一起,这体现出封装的思想。 在区分类的定义和声明时&…

C# WPF编程-元素绑定

C# WPF编程-元素绑定 将元素绑定到一起绑定表达式绑定错误绑定模式代码创建绑定移除绑定使用代码检索绑定多绑定绑定更新绑定延时 绑定到非元素对象Source属性RelativeSource属性DataContent属性 数据绑定是一种关系,该关系告诉WPF从源对象提取一下信息,…

深度学习pytorch实战第P2周:CIFAR10彩色图片识别

>- **🍨 本文为[🔗365天深度学习训练营](https://mp.weixin.qq.com/s/0dvHCaOoFnW8SCp3JpzKxg) 中的学习记录博客** >- **🍖 原作者:[K同学啊](https://mtyjkh.blog.csdn.net/)** 零、引言(温故而知新&#xff…

什么是ICMP协议,如何防护ICMP攻击

一.什么是ICMP ICMP(Internet Control Message Protocol)是互联网控制报文协议,是TCP/IP协议族的一个子协议。它主要用于在IP网络中传递控制信息和错误消息,是IP协议的补充。ICMP协议是一种无连接协议,它不需要建立…

SambaNova 芯片:深入解析其架构和高性能秘诀

SambaNova——一家总部位于帕洛阿尔托的公司已经筹集了超过10亿美元的风险投资,不会直接向公司出售芯片。相反,它出售其定制技术堆栈的访问权限,该堆栈具有专门为运行最大的人工智能模型而设计的专有硬件和软件。 最近,SambaNova…

MySQL - 基础三

11、事务管理 CURD不加控制,会有什么问题? 当客户端A检查还有一张票时,将票卖掉,还没有执行更新数据库时,客户端B检查了票数,发现大于0,于是又卖了一次票。然后A将票数更新回数据库。这是就出现…

面经分享(Flask,轻量级Web框架)

1. Flask的核心特点 a. 轻量级:核心简洁,只提供了基本的功能,其他高级功能可以通过插件或扩展来添加。 b. 灵活性:允许开发者选择适合自己项目的组件和工具,没有强制的项目结构和设计模式。 c. 易于扩展:提…

OPPO VPC 实践探索

01 概述 一年前(20年6月),OPPO云网络技术底座开始支持VPC方案,解决了用户担心的云上安全和虚拟实例的性能问题。我们称这个版本为VPC1.0,其采用了先进的智能网卡加速和VXLAN隧道隔离技术,实现了VPC从无到有的突破。 然而由于业务快…

FreeRtos入门-3 信号量(计数值、二进制、互斥量、递归锁)

信号量 计数量 二进制 互斥量 递归锁 创建 xSemCalc xSemaphoreCreateCounting(10, 0);//计数最大值10,初始值0 xSemUart xSemaphoreCreateBinary(); xSemUART xSemaphoreCreateMutex(); xSemUART xSemaphoreCreateRecursiveMutex(); 释放 xSemaphore…