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

目录

一、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.mzph.cn/news/795643.shtml

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

相关文章

用于AGV物流机器人的爱普生陀螺仪传感器XV7000系列

适用于AGV物流机器人的爱普生陀螺仪传感器XV7000系列:XV7001BB,XV7011BB。以前我们都知道XV7001BB,XV7011BB适用于扫地机器人,其实对于AGV物流机器人来说,XV7000系列生陀螺仪传感器也是其中重要一环。AGV机器人又叫做AGV搬运机器人…

C#手术麻醉信息系统源码,技术框架:Vue,Ant-Design+百小僧开源框架

C#手术麻醉信息系统源码,技术框架:Vue,Ant-Design百小僧开源框架 手术麻醉系统主要用于在手术过程中监测和控制患者的状态,确保手术的顺利进行并保障患者的生命安全。该系统通过一系列先进的医疗设备和技术,为手术患者…

AopContext.currentProxy() 的代理对象错误(未被更新)问题

背景: 原来在springAOP的用法中,只有代理的类才会被切入,我们在controller层调用service的方法的时候,是可以被切入的,但是如果我们在service层 A方法中,调用B方法,切点切的是B方法,…

Java 元素排序(数组、List 集合)

数组元素排序 升序 int[] array {3, 1, 4, 5}; Arrays.sort(array);// 升序排序 System.out.println(Arrays.toString(array)); //输出:[1, 3, 4, 5]降序 可以先将数组元素存入 List 集合,然后集合元素逆序,最后将集合元素写回原数组。&a…

助力第十五届蓝桥杯单片机省一——模块之eeprom

蓝桥杯比赛倒计时第8天 今天写的是蓝桥杯模块————AT24C02,主要讲一下如何对一个整型的数据进行存储,相信各位省一选手对一个char型的数组读取已经了如指掌了,所以就不再这里进行讲解了。 一、eeprom写入函数 void write_myepprom(unsigned char a…

JavaScript 事件流

JavaScript与HTML之间的交互是通过事件实现的,而用户与浏览器页面的互动也是通过事件来实现的事件就是文档或浏览器窗口中发生的一些特定的交互瞬间,所以分为两种事件,一是发生在 浏览器对象(BOM)上的事件,…

【C++】STL--vector

目录 vector的使用 vector的定义 vector iterator的使用 vector空间增长问题 vector增删查改 vector深度剖析及模拟实现 vector核心接口模拟实现 使用memcpy拷贝问题 迭代器失效问题 vector的使用 vector的定义 C中,vector是一个模版,第一个参…

JavaScript实现跑马灯效果

一段简单的代码&#xff0c;实现类似公司大屏幕上“欢迎XX领导莅临指导”&#xff0c;在JavaScript中可以轻松实现 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head>…

2024.4.5-[作业记录]-day10-CSS 布局模型(层模型)

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; 文章目录 作业 2024.4.5-学习笔记1 CSS定位1.1 相对定位 relative1.2 绝对定位 absolut…

python 进度条如何控制

首先&#xff0c;我们需要创建一个新的python文件&#xff0c;点击工具栏上方的file按钮&#xff0c;然后在弹出的选项中选择新建&#xff0c;找到如图所示的新建python file&#xff0c;创建一个新文件。 按照提示给我们的新文件命名&#xff0c;然后在创建的文件中输入我们需…

C++——位图和布隆过滤器

在C中&#xff0c;哈希这种思想的应用场景有很多&#xff0c;位图就是其中的一种。 位图 位图&#xff1a;位图是一种哈希思想的产物&#xff0c;可以通过它来对数据进行快速的查找的方法&#xff0c;在位图中&#xff0c;有2种状态来表示在或者不在&#xff0c;即1/0。 位图…

刷题日记——由浅入深的大数加法(高精度加法)

例题 代码 #include <cstdio>int main(){long long a,b;scanf("%lld %lld",&a,&b);printf("%lld\n",ab);}例题——高精度加法 编程计算&#xff1a;12345678912345678912121211231212121212121212121222222111112121&#xff1f; 分析 加…

来个自定义的电子木鱼吧

<!DOCTYPE html> <html><head><meta charset"utf-8"><meta name"viewport" content"widthdevice-width, initial-scale1"><title>自定义木鱼</title> </head> <body style"background-…

题目:小怂爱水洼(蓝桥OJ 4234)

问题描述&#xff1a; 解题思路&#xff1a; 记录每个格子的水量&#xff0c;再比较找最大水量。计算水量使用dfs。 注意点&#xff1a;属于同一个水洼的每个格子&#xff0c;只需要计算一次dfs就好了&#xff0c;因为每个格子的dfs都相同 。 代码&#xff1a; #include <b…

VLAN间路由

部署了VLAN的传统交换机不能实现不同VLAN间的二层报文转发&#xff0c;因此必须引入路由技术来实现不同VLAN间的通信。VLAN路由可以通过二层交换机配合路由器来实现&#xff0c;也可以通过三层交换机来实现&#xff1b; VLAN间通讯限制 每个VLAN都是一个独立的广播域&#xff…

如何获取 Microsoft 365 Copilot

您已观看视频&#xff0c;也听到了相关讨论&#xff0c;您迫不及待地想要使用 Microsoft 365 Copilot。但在哪里可以找到它&#xff1f;何时可以使用它&#xff1f;本文提供详细信息。 可以执行哪些操作&#xff1f; Microsoft 365 Copilot 将无缝集成在用户每天使用的应用当…

rust 面向对象编程特性、模式与模式匹配、高级特征

面向对象编程OOP 学习了结构体、枚举&#xff0c;它们可以包含自定义数据字段&#xff0c;也可以定义内部方法&#xff0c;它们提供了与对象相同的功能。 面向对象的四大特征&#xff1a;封装、继承、多态 通过pub标记为公有的结构体&#xff0c;在其他模块中可以访问使用这…

红黑树平衡艺术:最大化与最小化红色结点比值的策略与实现

红黑树平衡艺术&#xff1a;最大化与最小化红色结点比值的策略与实现 一、 最大比值的红黑树构造1.1 伪代码示例&#xff1a;1.2 C代码示例&#xff1a; 三、最小比值的红黑树构造3.1 伪代码示例&#xff1a;3.2 C代码示例&#xff1a; 四、结论 红黑树是一种自平衡的二叉搜索树…

electron入门教程

Electron 快速上手教程 electron 简介 Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建在Windows上运行的跨平台应用macOS和Linux不需要本地开发经验 Elec…

云知识库真的对企业很重要,提高工作效率的利器!

在今天的信息化时代&#xff0c;大数据、人工智能和机器学习等科技概念席卷各行各业。而作为这些潮流中不可忽视的一环&#xff0c;云知识库也越来越受企业们的青睐。云知识库&#xff0c;简单来说&#xff0c;就是在云端存储、管理和检索企业数据资讯的一种服务。那么云知识库…